tqt: don't flash QWidgets on startup before main window is visible - electrum - Electrum Bitcoin wallet
HTML git clone https://git.parazyd.org/electrum
DIR Log
DIR Files
DIR Refs
DIR Submodules
---
DIR commit 9bbfd610be8457fb2911f963df3d0e8bca56a2c1
DIR parent 363dd12a2a6d52addf4bb099c2ef20fd36abb6ed
HTML Author: SomberNight <somber.night@protonmail.com>
Date: Wed, 12 Dec 2018 19:58:13 +0100
qt: don't flash QWidgets on startup before main window is visible
Consider wallet without password set. Using Qt GUI.
When starting the app, before the main window appears, small artefacts
("minimised" windows?) would appear very briefly and then disappear.
Diffstat:
M electrum/gui/qt/invoice_list.py | 6 ++++--
M electrum/gui/qt/request_list.py | 13 +++++++------
2 files changed, 11 insertions(+), 8 deletions(-)
---
DIR diff --git a/electrum/gui/qt/invoice_list.py b/electrum/gui/qt/invoice_list.py
t@@ -58,8 +58,10 @@ class InvoiceList(MyTreeView):
item[3].setFont(QFont(MONOSPACE_FONT))
self.addTopLevelItem(item)
self.selectionModel().select(self.model().index(0,0), QItemSelectionModel.SelectCurrent)
- self.setVisible(len(inv_list))
- self.parent.invoices_label.setVisible(len(inv_list))
+ if self.parent.isVisible():
+ b = len(inv_list) > 0
+ self.setVisible(b)
+ self.parent.invoices_label.setVisible(b)
def import_invoices(self):
import_meta_gui(self.parent, _('invoices'), self.parent.invoices.import_file, self.update)
DIR diff --git a/electrum/gui/qt/request_list.py b/electrum/gui/qt/request_list.py
t@@ -67,12 +67,13 @@ class RequestList(MyTreeView):
def update(self):
self.wallet = self.parent.wallet
# hide receive tab if no receive requests available
- b = len(self.wallet.receive_requests) > 0
- self.setVisible(b)
- self.parent.receive_requests_label.setVisible(b)
- if not b:
- self.parent.expires_label.hide()
- self.parent.expires_combo.show()
+ if self.parent.isVisible():
+ b = len(self.wallet.receive_requests) > 0
+ self.setVisible(b)
+ self.parent.receive_requests_label.setVisible(b)
+ if not b:
+ self.parent.expires_label.hide()
+ self.parent.expires_combo.show()
# update the receive address if necessary
current_address = self.parent.receive_address_e.text()