diff --git a/gotify_tray/gui/MainApplication.py b/gotify_tray/gui/MainApplication.py index b24e656..b74076a 100644 --- a/gotify_tray/gui/MainApplication.py +++ b/gotify_tray/gui/MainApplication.py @@ -184,17 +184,20 @@ class MainApplication(QtWidgets.QApplication): task.wait() def application_selection_changed_callback(self, item: ApplicationModelItem | ApplicationAllMessagesItem): + self.main_window.disable_buttons() self.abort_get_messages_task() self.messages_model.clear() if isinstance(item, ApplicationModelItem): self.get_application_messages_task = GetApplicationMessagesTask(item.data(ApplicationItemDataRole.ApplicationRole).id, self.gotify_client) self.get_application_messages_task.message.connect(self.messages_model.append_message) + self.get_application_messages_task.finished.connect(self.main_window.enable_buttons) self.get_application_messages_task.start() elif isinstance(item, ApplicationAllMessagesItem): self.get_messages_task = GetMessagesTask(self.gotify_client) self.get_messages_task.message.connect(self.messages_model.append_message) + self.get_messages_task.finished.connect(self.main_window.enable_buttons) self.get_messages_task.start() def add_message_to_model(self, message: gotify.GotifyMessageModel, process: bool = True): diff --git a/gotify_tray/gui/widgets/MainWindow.py b/gotify_tray/gui/widgets/MainWindow.py index 1bc2985..a8db0ba 100644 --- a/gotify_tray/gui/widgets/MainWindow.py +++ b/gotify_tray/gui/widgets/MainWindow.py @@ -153,6 +153,14 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow): self.listView_applications.setEnabled(True) self.listView_applications.setCurrentIndex(self.application_model.index(0, 0)) + def disable_buttons(self): + self.pb_delete_all.setDisabled(True) + self.pb_refresh.setDisabled(True) + + def enable_buttons(self): + self.pb_delete_all.setEnabled(True) + self.pb_refresh.setEnabled(True) + def bring_to_front(self): self.ensurePolished() self.setWindowState(