@@ -31,13 +31,19 @@ PreviewWidget {
3131 implicitHeight: paymentButton.implicitHeight
3232 implicitWidth: paymentButton.implicitWidth
3333
34+ property bool active: false
35+
3436 Button {
3537 id: paymentButton
3638 objectName: "paymentButton"
3739
3840 color: Theme.palette.selected.foreground
39− text: paymentClient.formattedPrice
40− onClicked: paymentClient.start()
41+ text: root.active ? i18n.tr("Purchasing…") : paymentClient.formattedPrice
42+ onClicked: {
43+ root.active = true;
44+ root.processing(root.active);
45+ paymentClient.start();
46+ }
4147 anchors.right: parent.right
4248 width: (root.width - units.gu(1)) / 2
4349
@@ -49,8 +55,16 @@ PreviewWidget {
4955 price: source["price"]
5056 currency: source["currency"]
5157 storeItemId: source["store_item_id"]
52− onPurchaseCompleted: root.triggered(widgetId, "purchaseCompleted", source)
53− onPurchaseError: root.triggered(widgetId, "purchaseError", source)
58+ onPurchaseCompleted: {
59+ root.active = false;
60+ root.processing(root.active);
61+ root.triggered(widgetId, "purchaseCompleted", source);
62+ }
63+ onPurchaseError: {
64+ root.active = false;
65+ root.processing(root.active);
66+ root.triggered(widgetId, "purchaseError", source);
67+ }
5468 }
5569 }
5670}