Browse Source

receive tab: disable widgets if request has expired, instead of applying red stylesheet

master
ThomasV 3 years ago
parent
commit
8b0a6940bc
  1. 10
      electrum/gui/qt/qrcodewidget.py
  2. 17
      electrum/gui/qt/receive_tab.py

10
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:

17
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):

Loading…
Cancel
Save