From 8b0a6940bc411c6c139c8a72442f1ba5c6a41c0c Mon Sep 17 00:00:00 2001 From: ThomasV Date: Sun, 19 Mar 2023 11:13:45 +0100 Subject: [PATCH] receive tab: disable widgets if request has expired, instead of applying red stylesheet --- electrum/gui/qt/qrcodewidget.py | 10 ++++++---- electrum/gui/qt/receive_tab.py | 17 +++++++---------- 2 files changed, 13 insertions(+), 14 deletions(-) diff --git a/electrum/gui/qt/qrcodewidget.py b/electrum/gui/qt/qrcodewidget.py index 01d865934..80c1f4364 100644 --- a/electrum/gui/qt/qrcodewidget.py +++ b/electrum/gui/qt/qrcodewidget.py @@ -60,8 +60,9 @@ class QRCodeWidget(QWidget): return black = QColor(0, 0, 0, 255) + grey = QColor(196, 196, 196, 255) white = QColor(255, 255, 255, 255) - black_pen = QPen(black) + black_pen = QPen(black) if self.isEnabled() else QPen(grey) black_pen.setJoinStyle(Qt.MiterJoin) if not self.qr: @@ -95,13 +96,14 @@ class QRCodeWidget(QWidget): qp.setPen(white) qp.drawRect(0, 0, framesize, framesize) # Draw qr code - qp.setBrush(black) + qp.setBrush(black if self.isEnabled() else grey) qp.setPen(black_pen) for r in range(k): for c in range(k): if matrix[r][c]: - qp.drawRect(int(left+c*boxsize), int(top+r*boxsize), - boxsize - 1, boxsize - 1) + qp.drawRect( + int(left+c*boxsize), int(top+r*boxsize), + boxsize - 1, boxsize - 1) qp.end() def grab(self) -> QtGui.QPixmap: diff --git a/electrum/gui/qt/receive_tab.py b/electrum/gui/qt/receive_tab.py index 82b19cef2..fc1b0b512 100644 --- a/electrum/gui/qt/receive_tab.py +++ b/electrum/gui/qt/receive_tab.py @@ -281,9 +281,13 @@ class ReceiveTab(QWidget, MessageBoxMixin, Logger): self.receive_lightning_e.setText(lnaddr) # TODO maybe prepend "lightning:" ?? self.receive_lightning_help_text.setText(ln_help) self.receive_lightning_qr.setData(lnaddr.upper()) - self.update_textedit_warning(text_e=self.receive_address_e, warning_text=address_help) - self.update_textedit_warning(text_e=self.receive_URI_e, warning_text=URI_help) - self.update_textedit_warning(text_e=self.receive_lightning_e, warning_text=ln_help) + def update_warnings(text_e, qr_e, warning_text): + for w in [text_e, qr_e]: + w.setEnabled(bool(text_e.toPlainText()) and not warning_text) + w.setToolTip(warning_text) + update_warnings(self.receive_address_e, self.receive_address_qr, address_help) + update_warnings(self.receive_URI_e, self.receive_URI_qr, URI_help) + update_warnings(self.receive_lightning_e, self.receive_lightning_qr, ln_help) # macOS hack (similar to #4777) self.receive_lightning_e.repaint() self.receive_URI_e.repaint() @@ -374,13 +378,6 @@ class ReceiveTab(QWidget, MessageBoxMixin, Logger): self.receive_amount_e.setAmount(None) self.request_list.clearSelection() - def update_textedit_warning(self, *, text_e: ButtonsTextEdit, warning_text: Optional[str]): - if bool(text_e.toPlainText()) and warning_text: - text_e.setStyleSheet(ColorScheme.RED.as_stylesheet(True)) - text_e.setToolTip(warning_text) - else: - text_e.setStyleSheet("") - text_e.setToolTip('') class ReceiveTabWidget(QWidget):