Files
kdusek 7b695d7b7f
Some checks failed
build / build-win64 (push) Waiting to run
build / build-macos (push) Waiting to run
build / build-pip (push) Failing after 11s
Fix compatibility issues with Qt/PyQt6 versions
- Add null check for message.message in search filter
- Handle missing colorScheme/colorSchemeChanged methods for older Qt versions
- Add display check to prevent hanging in headless environments
- Update build documentation with system package alternative
- Update PyInstaller spec for Python 3.12
- Improve run.sh script with venv management
2025-12-06 04:00:10 +01:00

42 lines
1.3 KiB
Python

from PyQt6 import QtCore, QtWidgets
from gotify_tray.utils import get_abs_path
themes = {
2: "dark", # Dark
1: "light", # Light
0: "light", # Unknown
}
def set_theme(app: QtWidgets.QApplication):
if hasattr(app.styleHints(), "colorScheme"):
color_scheme = app.styleHints().colorScheme()
theme = themes.get(
color_scheme.value if hasattr(color_scheme, "value") else color_scheme,
"light",
)
else:
theme = "light" # Default to light theme if colorScheme not available
stylesheet = ""
with open(get_abs_path(f"gotify_tray/gui/themes/base.qss"), "r") as f:
stylesheet += f.read()
with open(get_abs_path(f"gotify_tray/gui/themes/{theme}/style.qss"), "r") as f:
stylesheet += f.read()
app.setStyleSheet(stylesheet)
def get_theme_file(file: str) -> str:
app = QtCore.QCoreApplication.instance()
if hasattr(app.styleHints(), "colorScheme"):
color_scheme = app.styleHints().colorScheme()
theme = themes.get(
color_scheme.value if hasattr(color_scheme, "value") else color_scheme,
"light",
)
else:
theme = "light" # Default to light theme if colorScheme not available
return get_abs_path(f"gotify_tray/gui/themes/{theme}/{file}")