From b690f2e5cd2ea2614c2552c009d2144dedf22d63 Mon Sep 17 00:00:00 2001 From: ThomasV Date: Mon, 13 Mar 2023 14:23:36 +0100 Subject: [PATCH] qr_window: keep menu in sync with actual visibility --- electrum/gui/qt/main_window.py | 1 + electrum/gui/qt/qrwindow.py | 5 ++++- electrum/gui/qt/receive_tab.py | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/electrum/gui/qt/main_window.py b/electrum/gui/qt/main_window.py index 2e8dbf69f..f22adc065 100644 --- a/electrum/gui/qt/main_window.py +++ b/electrum/gui/qt/main_window.py @@ -1084,6 +1084,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, Logger, QtEventListener): else: self.qr_window_geometry = self.qr_window.geometry() self.qr_window.setVisible(False) + self.receive_tab.update_receive_qr_window() def show_send_tab(self): self.tabs.setCurrentIndex(self.tabs.indexOf(self.send_tab)) diff --git a/electrum/gui/qt/qrwindow.py b/electrum/gui/qt/qrwindow.py index eca450eb3..d70d694f5 100644 --- a/electrum/gui/qt/qrwindow.py +++ b/electrum/gui/qt/qrwindow.py @@ -35,7 +35,7 @@ class QR_Window(QWidget): def __init__(self, win): QWidget.__init__(self) - self.win = win + self.main_window = win self.setWindowTitle('Electrum - '+_('Payment Request')) self.setMinimumSize(800, 800) self.setFocusPolicy(Qt.NoFocus) @@ -43,3 +43,6 @@ class QR_Window(QWidget): self.qrw = QRCodeWidget() main_box.addWidget(self.qrw, 1) self.setLayout(main_box) + + def closeEvent(self, event): + self.main_window.receive_tab.qr_menu_action.setChecked(False) diff --git a/electrum/gui/qt/receive_tab.py b/electrum/gui/qt/receive_tab.py index 73ee71564..f45d8d8fb 100644 --- a/electrum/gui/qt/receive_tab.py +++ b/electrum/gui/qt/receive_tab.py @@ -182,7 +182,7 @@ class ReceiveTab(QWidget, MessageBoxMixin, Logger): _('Add lightning requests to bitcoin URIs'), 'bip21_lightning', False, tooltip=_('This may result in large QR codes'), callback=self.update_current_request) - menu.addToggle(_("Show QR code window"), self.window.toggle_qr_window) + self.qr_menu_action = menu.addToggle(_("Show QR code window"), self.window.toggle_qr_window) menu.addAction(_("Import requests"), self.window.import_requests) menu.addAction(_("Export requests"), self.window.export_requests) # layout