Follow the system theme and set the icons accordingly, no more handcrafted theming
@@ -1,59 +1,28 @@
|
||||
import logging
|
||||
from PyQt6 import QtCore, QtGui, QtWidgets
|
||||
from gotify_tray.utils import get_abs_path
|
||||
from . import default, dark_purple, light_purple
|
||||
from gotify_tray.database import Settings
|
||||
|
||||
|
||||
settings = Settings("gotify-tray")
|
||||
logger = logging.getLogger("gotify-tray")
|
||||
|
||||
|
||||
themes = {
|
||||
"default": default,
|
||||
"automatic": None,
|
||||
"dark purple": dark_purple,
|
||||
"light purple": light_purple,
|
||||
QtCore.Qt.ColorScheme.Dark: "dark",
|
||||
QtCore.Qt.ColorScheme.Light: "light",
|
||||
QtCore.Qt.ColorScheme.Unknown: "light",
|
||||
}
|
||||
|
||||
|
||||
def get_themes():
|
||||
return themes.keys()
|
||||
|
||||
|
||||
def is_dark_mode(app: QtWidgets.QApplication) -> bool:
|
||||
return app.styleHints().colorScheme() == QtCore.Qt.ColorScheme.Dark
|
||||
|
||||
|
||||
def is_valid_theme(theme: str) -> bool:
|
||||
return theme in get_themes()
|
||||
|
||||
|
||||
def set_theme(app: QtWidgets.QApplication, theme: str = "automatic"):
|
||||
if not is_valid_theme(theme):
|
||||
logger.warning(f"set_theme: theme {theme} is unsupported.")
|
||||
theme = "automatic"
|
||||
|
||||
if theme == "automatic":
|
||||
theme = "dark purple" if is_dark_mode(app) else "light purple"
|
||||
def set_theme(app: QtWidgets.QApplication):
|
||||
theme = themes.get(app.styleHints().colorScheme(), "light")
|
||||
|
||||
stylesheet = ""
|
||||
with open(get_abs_path(f"gotify_tray/gui/themes/{theme.replace(' ', '_')}/style.qss"), "r") as f:
|
||||
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.setPalette(themes[theme].get_palette())
|
||||
app.setPalette(QtGui.QPalette())
|
||||
app.setStyleSheet(stylesheet)
|
||||
|
||||
|
||||
def get_theme_file(file: str, theme: str | None = None) -> str:
|
||||
theme = settings.value("theme", type=str) if not theme else theme
|
||||
|
||||
if not is_valid_theme(theme):
|
||||
logger.warning(f"set_theme: theme {theme} is unsupported.")
|
||||
theme = "automatic"
|
||||
|
||||
if theme in ("automatic", "default"):
|
||||
app = QtCore.QCoreApplication.instance()
|
||||
theme = "dark purple" if is_dark_mode(app) else "light purple"
|
||||
|
||||
return get_abs_path(f"gotify_tray/gui/themes/{theme.replace(' ', '_')}/{file}")
|
||||
def get_theme_file(file: str) -> str:
|
||||
app = QtCore.QCoreApplication.instance()
|
||||
theme = themes.get(app.styleHints().colorScheme(), "light")
|
||||
return get_abs_path(f"gotify_tray/gui/themes/{theme}/{file}")
|
||||
|
||||
7
gotify_tray/gui/themes/base.qss
Normal file
@@ -0,0 +1,7 @@
|
||||
MessageWidget QPushButton[objectName^="pb_delete"] {
|
||||
qproperty-iconSize: 24px;
|
||||
}
|
||||
|
||||
MessageWidget QLabel[objectName^="label_date"] {
|
||||
margin-right: 1px;
|
||||
}
|
||||
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
23
gotify_tray/gui/themes/dark/style.qss
Normal file
@@ -0,0 +1,23 @@
|
||||
ServerInfoDialog QPushButton[state="success"] {
|
||||
background-color: #960b7a0b;
|
||||
color: white;
|
||||
}
|
||||
|
||||
ServerInfoDialog QPushButton[state="success"]:!default:hover {
|
||||
background: #960b7a0b;
|
||||
}
|
||||
|
||||
ServerInfoDialog QPushButton[state="failed"] {
|
||||
background-color: #8ebb2929;
|
||||
color: white;
|
||||
}
|
||||
|
||||
ServerInfoDialog QPushButton[state="failed"]:!default:hover {
|
||||
background: #8ebb2929;
|
||||
}
|
||||
|
||||
ServerInfoDialog QLineEdit[state="success"] {}
|
||||
|
||||
ServerInfoDialog QLineEdit[state="failed"] {
|
||||
border: 1px solid red;
|
||||
}
|
||||
|
Before Width: | Height: | Size: 170 B After Width: | Height: | Size: 170 B |
@@ -1 +0,0 @@
|
||||
from .palette import get_palette
|
||||
@@ -1,65 +0,0 @@
|
||||
from PyQt6 import QtGui
|
||||
|
||||
|
||||
def get_palette() -> QtGui.QPalette:
|
||||
palette = QtGui.QPalette()
|
||||
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, QtGui.QColor(0x2E2E30))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, QtGui.QColor(0x2E2E30))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, QtGui.QColor(0x424242))
|
||||
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, QtGui.QColor(0xCACBCE))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, QtGui.QColor(0xC8C8C6))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, QtGui.QColor(0x707070))
|
||||
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, QtGui.QColor(0xCACBCE))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, QtGui.QColor(0xC8C8C6))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, QtGui.QColor(0x707070))
|
||||
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.PlaceholderText, QtGui.QColor(0x7D7D82))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.PlaceholderText, QtGui.QColor(0x87888C))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.PlaceholderText, QtGui.QColor(0x737373))
|
||||
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, QtGui.QColor(0x252627))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, QtGui.QColor(0x2E2E30))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, QtGui.QColor(0x333333))
|
||||
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, QtGui.QColor(0x27272A))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, QtGui.QColor(0x27272A))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, QtGui.QColor(0x343437))
|
||||
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, QtGui.QColor(0x2C2C30))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, QtGui.QColor(0x2B2B2F))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, QtGui.QColor(0x36363A))
|
||||
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.All, QtGui.QPalette.ColorRole.ToolTipBase, QtGui.QColor(0x5522a8))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.All, QtGui.QPalette.ColorRole.ToolTipText, QtGui.QColor(0xBFBFBF))
|
||||
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Button, QtGui.QColor(0x222223))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Button, QtGui.QColor(0x222223))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Button, QtGui.QColor(0x2B2A2A))
|
||||
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, QtGui.QColor(0xB9B9BE))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, QtGui.QColor(0x9E9FA5))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, QtGui.QColor(0x73747E))
|
||||
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Highlight, QtGui.QColor(0x6D29DC))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Highlight, QtGui.QColor(0x5522a8))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Highlight, QtGui.QColor(0x5522a8))
|
||||
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.HighlightedText, QtGui.QColor(0xCCCCCC))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.HighlightedText, QtGui.QColor(0xCECECE))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.HighlightedText, QtGui.QColor(0x707070))
|
||||
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.All, QtGui.QPalette.ColorRole.Light, QtGui.QColor(0x414145))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.All, QtGui.QPalette.ColorRole.Midlight, QtGui.QColor(0x39393C))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.All, QtGui.QPalette.ColorRole.Mid, QtGui.QColor(0x2F2F32))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.All, QtGui.QPalette.ColorRole.Dark, QtGui.QColor(0x202022))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.All, QtGui.QPalette.ColorRole.Shadow, QtGui.QColor(0x19191A))
|
||||
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.All, QtGui.QPalette.ColorRole.Link, QtGui.QColor(0xAE7AFF))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Link, QtGui.QColor(0xAE7AFF))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.All, QtGui.QPalette.ColorRole.LinkVisited, QtGui.QColor(0x5522a8))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.LinkVisited, QtGui.QColor(0x6D29DC))
|
||||
|
||||
return palette
|
||||
@@ -1,60 +0,0 @@
|
||||
QPushButton:!default:hover {
|
||||
background: #441b85;
|
||||
}
|
||||
|
||||
QPushButton:default:hover, QPushButton:checked:hover {
|
||||
background: #441b85;
|
||||
}
|
||||
|
||||
ServerInfoDialog QPushButton[state="success"] {
|
||||
background-color: #960b7a0b;
|
||||
color: white;
|
||||
}
|
||||
|
||||
ServerInfoDialog QPushButton[state="success"]:!default:hover {
|
||||
background: #960b7a0b;
|
||||
}
|
||||
|
||||
ServerInfoDialog QPushButton[state="failed"] {
|
||||
background-color: #8ebb2929;
|
||||
color: white;
|
||||
}
|
||||
|
||||
ServerInfoDialog QPushButton[state="failed"]:!default:hover {
|
||||
background: #8ebb2929;
|
||||
}
|
||||
|
||||
ServerInfoDialog QLineEdit[state="success"] {}
|
||||
|
||||
ServerInfoDialog QLineEdit[state="failed"] {
|
||||
border: 1px solid red;
|
||||
}
|
||||
|
||||
QToolTip {
|
||||
color: #BFBFBF;
|
||||
background-color: #5522a8;
|
||||
}
|
||||
|
||||
QListView[objectName^="listView_applications"] {
|
||||
background-color: #2E2E30;
|
||||
}
|
||||
|
||||
MessageWidget QFrame {
|
||||
background-color: #2E2E30;
|
||||
}
|
||||
|
||||
MessageWidget QPushButton {
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
MessageWidget QPushButton:!default:hover {
|
||||
background: #7249b5;
|
||||
}
|
||||
|
||||
MessageWidget QPushButton:!default:pressed {
|
||||
background: #5c3b91;
|
||||
}
|
||||
|
||||
QCheckBox::indicator:unchecked {
|
||||
border: 2px solid #4A4A4A;
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
from .palette import get_palette
|
||||
@@ -1,7 +0,0 @@
|
||||
from PyQt6 import QtGui
|
||||
|
||||
|
||||
def get_palette() -> QtGui.QPalette:
|
||||
palette = QtGui.QPalette()
|
||||
|
||||
return palette
|
||||
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
@@ -1,11 +1,3 @@
|
||||
QPushButton:!default:hover {
|
||||
background: #5c24b6;
|
||||
}
|
||||
|
||||
QPushButton:default:hover, QPushButton:checked:hover {
|
||||
background: #5c24b6;
|
||||
}
|
||||
|
||||
ServerInfoDialog QPushButton[state="success"] {
|
||||
background-color: #6400FF00;
|
||||
color: black;
|
||||
@@ -29,20 +21,3 @@ ServerInfoDialog QLineEdit[state="success"] {}
|
||||
ServerInfoDialog QLineEdit[state="failed"] {
|
||||
border: 1px solid red;
|
||||
}
|
||||
|
||||
QToolTip {
|
||||
color: #BFBFBF;
|
||||
background-color: #5522a8;
|
||||
}
|
||||
|
||||
MessageWidget QPushButton {
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
MessageWidget QPushButton:!default:hover {
|
||||
background: #9662ea;
|
||||
}
|
||||
|
||||
MessageWidget QPushButton:!default:pressed {
|
||||
background: #7a4dc2;
|
||||
}
|
||||
|
Before Width: | Height: | Size: 155 B After Width: | Height: | Size: 155 B |
@@ -1 +0,0 @@
|
||||
from .palette import get_palette
|
||||
@@ -1,61 +0,0 @@
|
||||
from PyQt6 import QtGui
|
||||
|
||||
|
||||
def get_palette() -> QtGui.QPalette:
|
||||
palette = QtGui.QPalette()
|
||||
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Window, QtGui.QColor(0xF7F7F7))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Window, QtGui.QColor(0xFCFCFC))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Window, QtGui.QColor(0xEDEDED))
|
||||
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.WindowText, QtGui.QColor(0x1D1D20))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.WindowText, QtGui.QColor(0x252528))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.WindowText, QtGui.QColor(0x8C8C92))
|
||||
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Text, QtGui.QColor(0x1D1D20))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Text, QtGui.QColor(0x252528))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Text, QtGui.QColor(0x8C8C92))
|
||||
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.PlaceholderText, QtGui.QColor(0x71727D))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.PlaceholderText, QtGui.QColor(0x878893))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.PlaceholderText, QtGui.QColor(0xA3A4AC))
|
||||
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.BrightText, QtGui.QColor(0xF3F3F4))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.BrightText, QtGui.QColor(0xEAEAEB))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.BrightText, QtGui.QColor(0xE4E5E7))
|
||||
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Base, QtGui.QColor(0xF9F9F9))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Base, QtGui.QColor(0xFCFCFC))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Base, QtGui.QColor(0xEFEFF2))
|
||||
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.AlternateBase, QtGui.QColor(0xECF3E8))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.AlternateBase, QtGui.QColor(0xF1F6EE))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.AlternateBase, QtGui.QColor(0xE1E9DD))
|
||||
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.All, QtGui.QPalette.ColorRole.ToolTipBase, QtGui.QColor(0x5522a8))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.All, QtGui.QPalette.ColorRole.ToolTipText, QtGui.QColor(0xBFBFBF))
|
||||
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.ButtonText, QtGui.QColor(0x181A18))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.ButtonText, QtGui.QColor(0x454A54))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.ButtonText, QtGui.QColor(0x97979B))
|
||||
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.Highlight, QtGui.QColor(0x6D29DC))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.Highlight, QtGui.QColor(0x5522a8))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Highlight, QtGui.QColor(0x5522a8))
|
||||
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Active, QtGui.QPalette.ColorRole.HighlightedText, QtGui.QColor(0xCCCCCC))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Inactive, QtGui.QPalette.ColorRole.HighlightedText, QtGui.QColor(0xCECECE))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.HighlightedText, QtGui.QColor(0x707070))
|
||||
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.All, QtGui.QPalette.ColorRole.Light, QtGui.QColor(0xF9F9F9))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.All, QtGui.QPalette.ColorRole.Midlight, QtGui.QColor(0xE9E9EB))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.All, QtGui.QPalette.ColorRole.Mid, QtGui.QColor(0xC9C9CF))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.All, QtGui.QPalette.ColorRole.Dark, QtGui.QColor(0xBBBBC2))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.All, QtGui.QPalette.ColorRole.Shadow, QtGui.QColor(0x6C6D79))
|
||||
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.All, QtGui.QPalette.ColorRole.Link, QtGui.QColor(0x723BC4))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.Link, QtGui.QColor(0x723BC4))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.All, QtGui.QPalette.ColorRole.LinkVisited, QtGui.QColor(0x5522a8))
|
||||
palette.setColor(QtGui.QPalette.ColorGroup.Disabled, QtGui.QPalette.ColorRole.LinkVisited, QtGui.QColor(0x6D29DC))
|
||||
|
||||
return palette
|
||||