disable MainWindow buttons while messages are being inserted

This commit is contained in:
dries.k
2023-05-30 21:21:57 +02:00
parent 4eceae5a40
commit b2718acf1b
2 changed files with 11 additions and 0 deletions

View File

@@ -184,17 +184,20 @@ class MainApplication(QtWidgets.QApplication):
task.wait() task.wait()
def application_selection_changed_callback(self, item: ApplicationModelItem | ApplicationAllMessagesItem): def application_selection_changed_callback(self, item: ApplicationModelItem | ApplicationAllMessagesItem):
self.main_window.disable_buttons()
self.abort_get_messages_task() self.abort_get_messages_task()
self.messages_model.clear() self.messages_model.clear()
if isinstance(item, ApplicationModelItem): if isinstance(item, ApplicationModelItem):
self.get_application_messages_task = GetApplicationMessagesTask(item.data(ApplicationItemDataRole.ApplicationRole).id, self.gotify_client) 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.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() self.get_application_messages_task.start()
elif isinstance(item, ApplicationAllMessagesItem): elif isinstance(item, ApplicationAllMessagesItem):
self.get_messages_task = GetMessagesTask(self.gotify_client) self.get_messages_task = GetMessagesTask(self.gotify_client)
self.get_messages_task.message.connect(self.messages_model.append_message) 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() self.get_messages_task.start()
def add_message_to_model(self, message: gotify.GotifyMessageModel, process: bool = True): def add_message_to_model(self, message: gotify.GotifyMessageModel, process: bool = True):

View File

@@ -153,6 +153,14 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
self.listView_applications.setEnabled(True) self.listView_applications.setEnabled(True)
self.listView_applications.setCurrentIndex(self.application_model.index(0, 0)) 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): def bring_to_front(self):
self.ensurePolished() self.ensurePolished()
self.setWindowState( self.setWindowState(