Browse Source

qml: remember user selected request type and pre-select on subsequent payment requests

Sander van Grieken 3 years ago
parent
commit
a8f1d1c326
  1. 10
      electrum/gui/qml/components/ReceiveDialog.qml
  2. 11
      electrum/gui/qml/qeconfig.py

10
electrum/gui/qml/components/ReceiveDialog.qml

@ -125,6 +125,7 @@ ElDialog {
else if (_bip21uri != '')
rootLayout.state = 'bip21uri'
}
Config.preferredRequestType = rootLayout.state
}
}
}
@ -348,7 +349,14 @@ ElDialog {
id: request
wallet: Daemon.currentWallet
onDetailsChanged: {
if (bolt11) {
var req_type = Config.preferredRequestType
if (bolt11 && req_type == 'bolt11') {
rootLayout.state = 'bolt11'
} else if (bip21 && req_type == 'bip21uri') {
rootLayout.state = 'bip21uri'
} else if (req_type == 'address') {
rootLayout.state = 'address'
} else if (bolt11) {
rootLayout.state = 'bolt11'
} else if (bip21) {
rootLayout.state = 'bip21uri'

11
electrum/gui/qml/qeconfig.py

@ -167,6 +167,17 @@ class QEConfig(AuthMixin, QObject):
self.config.set_key('trustedcoin_prepay', num_prepay)
self.trustedcoinPrepayChanged.emit()
preferredRequestTypeChanged = pyqtSignal()
@pyqtProperty(str, notify=preferredRequestTypeChanged)
def preferredRequestType(self):
return self.config.get('preferred_request_type', 'bolt11')
@preferredRequestType.setter
def preferredRequestType(self, preferred_request_type):
if preferred_request_type != self.config.get('preferred_request_type', 'bolt11'):
self.config.set_key('preferred_request_type', preferred_request_type)
self.preferredRequestTypeChanged.emit()
@pyqtSlot('qint64', result=str)
@pyqtSlot('qint64', bool, result=str)
@pyqtSlot(QEAmount, result=str)

Loading…
Cancel
Save