From ca7e84d1b4ed03cbf89e325cdc1064091f9699eb Mon Sep 17 00:00:00 2001 From: Travis Abendshien <46939827+CyanVoxel@users.noreply.github.com> Date: Thu, 30 Jan 2025 22:10:06 -0800 Subject: [PATCH] fix(ui): use consistent dark mode colors for all systems (#752) --- tagstudio/src/qt/ts_qt.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/tagstudio/src/qt/ts_qt.py b/tagstudio/src/qt/ts_qt.py index 9d3f320c..0a0d7db6 100644 --- a/tagstudio/src/qt/ts_qt.py +++ b/tagstudio/src/qt/ts_qt.py @@ -25,6 +25,7 @@ from PySide6 import QtCore from PySide6.QtCore import QObject, QSettings, Qt, QThread, QThreadPool, QTimer, Signal from PySide6.QtGui import ( QAction, + QColor, QDragEnterEvent, QDragMoveEvent, QDropEvent, @@ -32,6 +33,7 @@ from PySide6.QtGui import ( QGuiApplication, QIcon, QMouseEvent, + QPalette, ) from PySide6.QtUiTools import QUiLoader from PySide6.QtWidgets import ( @@ -244,6 +246,18 @@ class QtDriver(DriverMixin, QObject): app.setStyle("Fusion") icon_path = Path(__file__).parents[2] / "resources/icon.png" + if QGuiApplication.styleHints().colorScheme() is Qt.ColorScheme.Dark: + pal: QPalette = app.palette() + pal.setColor(QPalette.ColorGroup.Normal, QPalette.ColorRole.Window, QColor("#1e1e1e")) + pal.setColor(QPalette.ColorGroup.Normal, QPalette.ColorRole.Button, QColor("#1e1e1e")) + pal.setColor(QPalette.ColorGroup.Inactive, QPalette.ColorRole.Window, QColor("#232323")) + pal.setColor(QPalette.ColorGroup.Inactive, QPalette.ColorRole.Button, QColor("#232323")) + pal.setColor( + QPalette.ColorGroup.Inactive, QPalette.ColorRole.ButtonText, QColor("#666666") + ) + + app.setPalette(pal) + # Handle OS signals self.setup_signals() # allow to process input from console, eg. SIGTERM