qml: fix bug with lingering info text from previous shown invoice
This commit is contained in:
@@ -296,6 +296,7 @@ ElDialog {
|
|||||||
InfoTextArea {
|
InfoTextArea {
|
||||||
Layout.columnSpan: 2
|
Layout.columnSpan: 2
|
||||||
Layout.alignment: Qt.AlignHCenter
|
Layout.alignment: Qt.AlignHCenter
|
||||||
|
Layout.preferredWidth: parent.width * 3/4
|
||||||
visible: invoice.userinfo
|
visible: invoice.userinfo
|
||||||
text: invoice.userinfo
|
text: invoice.userinfo
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -265,8 +265,10 @@ class QEInvoiceParser(QEInvoice):
|
|||||||
self.statusChanged.emit()
|
self.statusChanged.emit()
|
||||||
|
|
||||||
def determine_can_pay(self):
|
def determine_can_pay(self):
|
||||||
if self.amount.satsInt == 0:
|
self.canPay = False
|
||||||
self.canPay = False
|
self.userinfo = ''
|
||||||
|
|
||||||
|
if self.amount.isEmpty: # unspecified amount
|
||||||
return
|
return
|
||||||
|
|
||||||
if self.invoiceType == QEInvoice.Type.LightningInvoice:
|
if self.invoiceType == QEInvoice.Type.LightningInvoice:
|
||||||
@@ -274,7 +276,7 @@ class QEInvoiceParser(QEInvoice):
|
|||||||
if self.get_max_spendable_lightning() >= self.amount.satsInt:
|
if self.get_max_spendable_lightning() >= self.amount.satsInt:
|
||||||
self.canPay = True
|
self.canPay = True
|
||||||
else:
|
else:
|
||||||
self.userinfo = _('Can\'t pay, insufficient balance')
|
self.userinfo = _('Insufficient balance')
|
||||||
else:
|
else:
|
||||||
self.userinfo = {
|
self.userinfo = {
|
||||||
PR_EXPIRED: _('Invoice is expired'),
|
PR_EXPIRED: _('Invoice is expired'),
|
||||||
@@ -285,7 +287,11 @@ class QEInvoiceParser(QEInvoice):
|
|||||||
}[self.status]
|
}[self.status]
|
||||||
elif self.invoiceType == QEInvoice.Type.OnchainInvoice:
|
elif self.invoiceType == QEInvoice.Type.OnchainInvoice:
|
||||||
if self.status in [PR_UNPAID, PR_FAILED]:
|
if self.status in [PR_UNPAID, PR_FAILED]:
|
||||||
if self.get_max_spendable_onchain() >= self.amount.satsInt:
|
if self.amount.isMax and self.get_max_spendable_onchain() > 0:
|
||||||
|
# TODO: dust limit?
|
||||||
|
self.canPay = True
|
||||||
|
elif self.get_max_spendable_onchain() >= self.amount.satsInt:
|
||||||
|
# TODO: dust limit?
|
||||||
self.canPay = True
|
self.canPay = True
|
||||||
else:
|
else:
|
||||||
self.userinfo = _('Insufficient balance')
|
self.userinfo = _('Insufficient balance')
|
||||||
@@ -297,16 +303,9 @@ class QEInvoiceParser(QEInvoice):
|
|||||||
PR_UNKNOWN: _('Invoice has unknown status'),
|
PR_UNKNOWN: _('Invoice has unknown status'),
|
||||||
}[self.status]
|
}[self.status]
|
||||||
|
|
||||||
|
|
||||||
def get_max_spendable_lightning(self):
|
def get_max_spendable_lightning(self):
|
||||||
return self._wallet.wallet.lnworker.num_sats_can_send()
|
return self._wallet.wallet.lnworker.num_sats_can_send()
|
||||||
|
|
||||||
# def setValidAddressOnly(self):
|
|
||||||
# self._logger.debug('setValidAddressOnly')
|
|
||||||
# self.setInvoiceType(QEInvoice.Type.OnchainOnlyAddress)
|
|
||||||
# self._effectiveInvoice = None
|
|
||||||
# self.invoiceChanged.emit()
|
|
||||||
|
|
||||||
def setValidOnchainInvoice(self, invoice: Invoice):
|
def setValidOnchainInvoice(self, invoice: Invoice):
|
||||||
self._logger.debug('setValidOnchainInvoice')
|
self._logger.debug('setValidOnchainInvoice')
|
||||||
if invoice.is_lightning():
|
if invoice.is_lightning():
|
||||||
|
|||||||
Reference in New Issue
Block a user