Krita Source Code Documentation
Loading...
Searching...
No Matches
KisDonationManagementWidget.cpp
Go to the documentation of this file.
1/*
2 * SPDX-License-Identifier: GPL-3.0-or-later
3 */
6#include <QPushButton>
7#include <kis_assert.h>
8
10 : QWidget(parent)
11 , m_product(product)
12{
13 setupUi(this);
14
15 if (m_product.icon.isNull()) {
16 m_lblPreview->hide();
17 } else {
18 m_lblPreview->setPixmap(m_product.icon);
19 }
20
21 m_lblTitle->setText(QStringLiteral("<strong>%1</strong>").arg(m_product.title.toHtmlEscaped()));
22 m_lblDescription->setText(m_product.description);
23
24 if (m_product.availability == KisSupporterProductAvailability::Owned) {
25 QPushButton *btnResources = new QPushButton(i18n("Download Resource Bundles"));
26 m_lytDetails->addWidget(btnResources);
27 connect(btnResources, &QPushButton::clicked, this, &KisDonationManagementWidget::sigShowSupporterBundles);
28
29 if (m_product.type == KisSupporterProductType::Subscription) {
30 QPushButton *btnManageSubscription = new QPushButton(i18n("Manage Subscription"));
31 m_lytDetails->addWidget(btnManageSubscription);
32 connect(btnManageSubscription,
33 &QPushButton::clicked,
34 this,
36 }
37 } else if (m_product.availability == KisSupporterProductAvailability::Available) {
38 QPushButton *btnPurchase = new QPushButton(product.buttonText);
39 m_lytDetails->addWidget(btnPurchase);
40 connect(btnPurchase, &QPushButton::clicked, this, &KisDonationManagementWidget::slotPurchase);
41 }
42}
43
50
static KisAndroidDonations * instance()
void startBillingFlowFor(const QString &productId, const QString &offerToken)
void slotManageSubscription(const QString &productId)
KisDonationManagementWidget(const KisSupporterProduct &product, QWidget *parent=nullptr)
#define KIS_SAFE_ASSERT_RECOVER_RETURN(cond)
Definition kis_assert.h:128
KisSupporterProductAvailability availability
KisSupporterProductType type