URI: 
       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()