disable MainWindow buttons while messages are being inserted
This commit is contained in:
@@ -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):
|
||||||
|
|||||||
@@ -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(
|
||||||
|
|||||||
Reference in New Issue
Block a user