* Set Qt.WA_DeleteOnClose on dialogs, replacing ugly deleteLater() hack.
authorUrban Wallasch <urban.wallasch@freenet.de>
Tue, 25 May 2021 09:27:58 +0000 (11:27 +0200)
committerUrban Wallasch <urban.wallasch@freenet.de>
Tue, 25 May 2021 09:27:58 +0000 (11:27 +0200)
ffpreview.py

index 629c2516907b27adf0a2027eb1b3b7b2b92b86b8..1bb5d6050650e7993963e7b240086e69f239a652 100755 (executable)
@@ -671,6 +671,7 @@ class tmDialog(QDialog):
     def __init__(self, *args, odir='', **kwargs):
         super().__init__(*args, **kwargs)
         self.outdir = odir
+        self.setAttribute(Qt.WA_DeleteOnClose)
         self.setWindowTitle("Thumbnail Manager")
         self.resize(800, 700)
         self.dlg_layout = QVBoxLayout(self)
@@ -757,13 +758,8 @@ class tmDialog(QDialog):
                 self.loadfile = item.vfile
                 eprint(1, "load file ", item.vfile)
                 break
-        self.deleteLater()
         super().accept()
 
-    def reject(self):
-        self.deleteLater()
-        super().reject()
-
     def refresh_list(self):
         self.ilist = get_indexfiles(self.outdir)
         self.redraw_list()
@@ -852,6 +848,7 @@ class tmDialog(QDialog):
 class aboutDialog(QDialog):
     def __init__(self, *args, **kwargs):
         super().__init__(*args, **kwargs)
+        self.setAttribute(Qt.WA_DeleteOnClose)
         self.setWindowTitle('Help & About')
         self.setFixedSize(600, 600)
         self.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
@@ -882,14 +879,6 @@ class aboutDialog(QDialog):
         self.dlg_layout.addWidget(self.help_pane)
         self.dlg_layout.addLayout(self.btn_layout)
 
-    def accept(self):
-        self.deleteLater()
-        super().accept()
-
-    def reject(self):
-        self.deleteLater()
-        super().reject()
-
 
 class cfgDialog(QDialog):
     ilist = []
@@ -917,6 +906,7 @@ class cfgDialog(QDialog):
 
     def __init__(self, *args, **kwargs):
         super().__init__(*args, **kwargs)
+        self.setAttribute(Qt.WA_DeleteOnClose)
         self.setWindowTitle('Preferences')
         self.table_widget = QTableWidget()
         self.table_widget.setSelectionMode(QAbstractItemView.NoSelection)
@@ -967,13 +957,8 @@ class cfgDialog(QDialog):
         self.dlg_layout.addLayout(self.btn_layout)
         self.refresh()
 
-    def reject(self):
-        self.deleteLater()
-        super().reject()
-
     def accept(self):
         self.apply()
-        self.deleteLater()
         super().accept()
 
     def reset(self):