Skip to content

Commit 8e4d2c9

Browse files
committed
ref: minor cleanup
1 parent 6f736ed commit 8e4d2c9

File tree

7 files changed

+29
-10
lines changed

7 files changed

+29
-10
lines changed

dcoraid/gui/download/widget_download.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,12 @@ def download_resource(self, resource_id, condensed=False):
6767
dl_path = self.settings.value("downloads/default path", fallback)
6868
self.widget_jobs.jobs.new_job(resource_id, dl_path, condensed)
6969

70+
def stop_timers(self):
71+
"""Should be called before the application quits"""
72+
self.init_timer.stop()
73+
if self.widget_jobs.timer is not None:
74+
self.widget_jobs.timer.stop()
75+
7076

7177
class DownloadTableWidget(QtWidgets.QTableWidget):
7278
download_finished = QtCore.pyqtSignal()

dcoraid/gui/main.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -132,10 +132,13 @@ def __init__(self, *args, **kwargs):
132132
self.show()
133133
self.raise_()
134134

135-
def close(self):
136-
if self.panel_upload.widget_jobs.timer is not None:
137-
self.panel_upload.widget_jobs.timer.stop()
138-
super(DCORAid, self).close()
135+
def closeEvent(self, event):
136+
self.panel_upload.stop_timers()
137+
self.panel_download.stop_timers()
138+
self.status_widget.stop_timers()
139+
QtWidgets.QApplication.processEvents(QtCore.QEventLoop.AllEvents,
140+
300)
141+
event.accept()
139142

140143
@QtCore.pyqtSlot()
141144
def on_action_about(self):

dcoraid/gui/preferences/dlg_preferences.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ class PreferencesDialog(QtWidgets.QMainWindow):
1919
show_server = QtCore.pyqtSignal()
2020
show_user = QtCore.pyqtSignal()
2121

22-
def __init__(self, parent=None):
22+
def __init__(self, *args, **kwargs):
2323
"""Create a new window for preferences
2424
"""
25-
super(PreferencesDialog, self).__init__(parent)
25+
super(PreferencesDialog, self).__init__(*args, **kwargs)
2626
path_ui = pkg_resources.resource_filename(
2727
"dcoraid.gui.preferences", "dlg_preferences.ui")
2828
uic.loadUi(path_ui, self)

dcoraid/gui/status_widget.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,10 @@ def set_status(self, text, tooltip, icon, server):
9292
self.toolButton_user.setToolTip(tooltip)
9393
self.toolButton_user.setIcon(QtGui.QIcon.fromTheme(icon))
9494

95+
def stop_timers(self):
96+
if self.timer is not None:
97+
self.timer.stop()
98+
9599

96100
class StatusWidetUpdateWorker(QtCore.QRunnable):
97101
"""Worker for updating the current API situation

dcoraid/gui/upload/dlg_upload.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,10 @@ class UploadDialog(QtWidgets.QDialog):
2626
finished = QtCore.pyqtSignal(object)
2727
instance_counter = 1
2828

29-
def __init__(self, parent=None):
29+
def __init__(self, *args, **kwargs):
3030
"""Create a new window for setting up a file upload
3131
"""
32-
super(UploadDialog, self).__init__(parent)
32+
super(UploadDialog, self).__init__(*args, **kwargs)
3333
self.logger = logging.getLogger(__name__)
3434
path_ui = pkg_resources.resource_filename(
3535
"dcoraid.gui.upload", "dlg_upload.ui")

dcoraid/gui/upload/widget_upload.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -293,6 +293,12 @@ def on_upload_task(self, action):
293293
"\n\n".join(messages),
294294
)
295295

296+
def stop_timers(self):
297+
"""Should be called before the application quits"""
298+
self.init_timer.stop()
299+
if self.widget_jobs.timer is not None:
300+
self.widget_jobs.timer.stop()
301+
296302

297303
class UploadTableWidget(QtWidgets.QTableWidget):
298304
upload_finished = QtCore.pyqtSignal()

tests/test_gui.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,13 @@ def mw(qtbot):
3333
mw = DCORAid()
3434
qtbot.addWidget(mw)
3535
QtWidgets.QApplication.setActiveWindow(mw)
36-
QtTest.QTest.qWait(200)
36+
QtTest.QTest.qWait(100)
3737
QtWidgets.QApplication.processEvents(QtCore.QEventLoop.AllEvents, 5000)
3838
# Run test
3939
yield mw
4040
# Make sure that all daemons are gone
4141
mw.close()
42-
QtTest.QTest.qWait(500)
42+
QtTest.QTest.qWait(100)
4343
QtWidgets.QApplication.processEvents(QtCore.QEventLoop.AllEvents, 5000)
4444

4545

0 commit comments

Comments
 (0)