change the status widget on theme change

This commit is contained in:
dries.k
2022-11-04 11:38:45 +01:00
parent 689347b004
commit a6a3869371
3 changed files with 15 additions and 1 deletions

View File

@@ -341,9 +341,13 @@ class MainApplication(QtWidgets.QApplication):
self.refresh_applications() self.refresh_applications()
def theme_change_requested_callback(self, theme: str): def theme_change_requested_callback(self, theme: str):
# Set the theme, update the main window and message widget icons # Set the theme
set_theme(self, theme) set_theme(self, theme)
# Update the main window icons
self.main_window.set_icons() self.main_window.set_icons()
# Update the message widget icons
for r in range(self.messages_model.rowCount()): for r in range(self.messages_model.rowCount()):
message_widget: MessageWidget = self.main_window.listView_messages.indexWidget( message_widget: MessageWidget = self.main_window.listView_messages.indexWidget(
self.messages_model.index(r, 0) self.messages_model.index(r, 0)

View File

@@ -85,6 +85,9 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
size = settings.value("MainWindow/application/icon/size", type=int) size = settings.value("MainWindow/application/icon/size", type=int)
self.listView_applications.setIconSize(QtCore.QSize(size, size)) self.listView_applications.setIconSize(QtCore.QSize(size, size))
# Refresh the status widget
self.status_widget.refresh()
def set_active(self): def set_active(self):
self.status_widget.set_active() self.status_widget.set_active()

View File

@@ -13,8 +13,10 @@ class StatusWidget(QtWidgets.QLabel):
self.setFixedSize(QtCore.QSize(20, 20)) self.setFixedSize(QtCore.QSize(20, 20))
self.setScaledContents(True) self.setScaledContents(True)
self.set_connecting() self.set_connecting()
self.image = None
def set_status(self, image: str): def set_status(self, image: str):
self.image = image
self.setPixmap(QtGui.QPixmap(get_theme_file(image))) self.setPixmap(QtGui.QPixmap(get_theme_file(image)))
def set_active(self): def set_active(self):
@@ -32,3 +34,8 @@ class StatusWidget(QtWidgets.QLabel):
def set_error(self): def set_error(self):
self.setToolTip("Listener error") self.setToolTip("Listener error")
self.set_status("status_error.svg") self.set_status("status_error.svg")
def refresh(self):
# refresh on theme change
if self.image:
self.set_status(self.image)