Automatic theme (#29)
* add "automatic" theme set the theme and icons based on the system theme * update the default icons based on system theme * update pyqt to 6.5.0 to get the colorSchemeChanged callback * rename style to theme * remove unused svg files for default theme * ServerInfoDialog: update feedback colors in dark mode
This commit is contained in:
@@ -47,10 +47,18 @@ class ServerInfoDialog(QtWidgets.QDialog, Ui_Dialog):
|
||||
self.task.incorrect_url.connect(self.incorrect_url_callback)
|
||||
self.task.start()
|
||||
|
||||
def update_widget_state(self, widget: QtWidgets.QWidget, state: str):
|
||||
widget.setProperty("state", state)
|
||||
widget.style().unpolish(widget)
|
||||
widget.style().polish(widget)
|
||||
widget.update()
|
||||
|
||||
def server_info_success(self, version: GotifyVersionModel):
|
||||
self.pb_test.setEnabled(True)
|
||||
self.label_server_info.setText(f"Version: {version.version}")
|
||||
self.pb_test.setStyleSheet("background-color: rgba(0, 255, 0, 100);")
|
||||
self.update_widget_state(self.pb_test, "success")
|
||||
self.update_widget_state(self.line_token, "success")
|
||||
self.update_widget_state(self.line_url, "success")
|
||||
self.buttonBox.button(QtWidgets.QDialogButtonBox.StandardButton.Ok).setEnabled(
|
||||
True
|
||||
)
|
||||
@@ -59,15 +67,17 @@ class ServerInfoDialog(QtWidgets.QDialog, Ui_Dialog):
|
||||
def incorrect_token_callback(self, version: GotifyVersionModel):
|
||||
self.pb_test.setEnabled(True)
|
||||
self.label_server_info.setText(f"Version: {version.version}")
|
||||
self.pb_test.setStyleSheet("background-color: rgba(255, 0, 0, 100);")
|
||||
self.line_token.setStyleSheet("border: 1px solid red;")
|
||||
self.update_widget_state(self.pb_test, "failed")
|
||||
self.update_widget_state(self.line_token, "failed")
|
||||
self.update_widget_state(self.line_url, "success")
|
||||
self.line_token.setFocus()
|
||||
|
||||
def incorrect_url_callback(self):
|
||||
self.pb_test.setEnabled(True)
|
||||
self.label_server_info.clear()
|
||||
self.pb_test.setStyleSheet("background-color: rgba(255, 0, 0, 100);")
|
||||
self.line_url.setStyleSheet("border: 1px solid red;")
|
||||
self.update_widget_state(self.pb_test, "failed")
|
||||
self.update_widget_state(self.line_token, "success")
|
||||
self.update_widget_state(self.line_url, "failed")
|
||||
self.line_url.setFocus()
|
||||
|
||||
def import_success_callback(self):
|
||||
|
||||
Reference in New Issue
Block a user