forked from IPKM/nmreval
103 lines
5.0 KiB
Python
103 lines
5.0 KiB
Python
|
from . import HAS_IMPORTLIB_RESOURCE
|
||
|
from ..Qt import QtGui, QtWidgets
|
||
|
|
||
|
|
||
|
class DarkPalette(QtGui.QPalette):
|
||
|
def __init__(self):
|
||
|
super().__init__()
|
||
|
|
||
|
self.setColor(QtGui.QPalette.Base, QtGui.QColor(42, 42, 42))
|
||
|
self.setColor(QtGui.QPalette.AlternateBase, QtGui.QColor(66, 66, 66))
|
||
|
self.setColor(QtGui.QPalette.Window, QtGui.QColor(93, 93, 93))
|
||
|
self.setColor(QtGui.QPalette.ToolTipBase, QtGui.QColor(93, 93, 93))
|
||
|
self.setColor(QtGui.QPalette.Button, QtGui.QColor(93, 93, 93))
|
||
|
|
||
|
self.setColor(QtGui.QPalette.WindowText, QtGui.QColor(220, 220, 220))
|
||
|
self.setColor(QtGui.QPalette.ToolTipText, QtGui.QColor(220, 220, 220))
|
||
|
self.setColor(QtGui.QPalette.Text, QtGui.QColor(220, 220, 220))
|
||
|
self.setColor(QtGui.QPalette.BrightText, QtGui.QColor(220, 220, 220))
|
||
|
self.setColor(QtGui.QPalette.ButtonText, QtGui.QColor(220, 220, 220))
|
||
|
self.setColor(QtGui.QPalette.HighlightedText, QtGui.QColor(220, 220, 220))
|
||
|
|
||
|
self.setColor(QtGui.QPalette.Shadow, QtGui.QColor(20, 20, 20))
|
||
|
self.setColor(QtGui.QPalette.Dark, QtGui.QColor(35, 35, 35))
|
||
|
|
||
|
self.setColor(QtGui.QPalette.Highlight, QtGui.QColor(42, 130, 218))
|
||
|
self.setColor(QtGui.QPalette.Link, QtGui.QColor(220, 220, 220))
|
||
|
self.setColor(QtGui.QPalette.LinkVisited, QtGui.QColor(108, 180, 218))
|
||
|
|
||
|
# disabled
|
||
|
self.setColor(QtGui.QPalette.Disabled, QtGui.QPalette.Base, QtGui.QColor(80, 80, 80))
|
||
|
self.setColor(QtGui.QPalette.Disabled, QtGui.QPalette.Window, QtGui.QColor(80, 80, 80))
|
||
|
|
||
|
self.setColor(QtGui.QPalette.Disabled, QtGui.QPalette.Text, QtGui.QColor(127, 127, 127))
|
||
|
self.setColor(QtGui.QPalette.Disabled, QtGui.QPalette.ButtonText, QtGui.QColor(127, 127, 127))
|
||
|
self.setColor(QtGui.QPalette.Disabled, QtGui.QPalette.HighlightedText, QtGui.QColor(127, 127, 127))
|
||
|
self.setColor(QtGui.QPalette.Disabled, QtGui.QPalette.WindowText, QtGui.QColor(127, 127, 127))
|
||
|
|
||
|
self.setColor(QtGui.QPalette.Disabled, QtGui.QPalette.Highlight, QtGui.QColor(80, 80, 80))
|
||
|
|
||
|
|
||
|
class LightPalette(QtGui.QPalette):
|
||
|
def __init__(self):
|
||
|
super().__init__()
|
||
|
|
||
|
self.setColor(QtGui.QPalette.Base, QtGui.QColor(237, 237, 237))
|
||
|
self.setColor(QtGui.QPalette.AlternateBase, QtGui.QColor(225, 225, 225))
|
||
|
self.setColor(QtGui.QPalette.Window, QtGui.QColor(240, 240, 240))
|
||
|
self.setColor(QtGui.QPalette.ToolTipBase, QtGui.QColor(240, 240, 240))
|
||
|
self.setColor(QtGui.QPalette.Button, QtGui.QColor(240, 240, 240))
|
||
|
|
||
|
self.setColor(QtGui.QPalette.WindowText, QtGui.QColor(0, 0, 0))
|
||
|
self.setColor(QtGui.QPalette.Text, QtGui.QColor(0, 0, 0))
|
||
|
self.setColor(QtGui.QPalette.BrightText, QtGui.QColor(0, 0, 0))
|
||
|
self.setColor(QtGui.QPalette.ButtonText, QtGui.QColor(0, 0, 0))
|
||
|
self.setColor(QtGui.QPalette.ToolTipText, QtGui.QColor(0, 0, 0))
|
||
|
self.setColor(QtGui.QPalette.HighlightedText, QtGui.QColor(0, 0, 0))
|
||
|
|
||
|
self.setColor(QtGui.QPalette.Shadow, QtGui.QColor(20, 20, 20))
|
||
|
self.setColor(QtGui.QPalette.Dark, QtGui.QColor(225, 225, 225))
|
||
|
|
||
|
self.setColor(QtGui.QPalette.Highlight, QtGui.QColor(218, 66, 42))
|
||
|
self.setColor(QtGui.QPalette.Link, QtGui.QColor(0, 162, 232))
|
||
|
self.setColor(QtGui.QPalette.LinkVisited, QtGui.QColor(222, 222, 222))
|
||
|
|
||
|
# disabled
|
||
|
self.setColor(QtGui.QPalette.Disabled, QtGui.QPalette.Base, QtGui.QColor(115, 115, 115))
|
||
|
self.setColor(QtGui.QPalette.Disabled, QtGui.QPalette.Window, QtGui.QColor(115, 115, 115))
|
||
|
|
||
|
self.setColor(QtGui.QPalette.Disabled, QtGui.QPalette.WindowText, QtGui.QColor(115, 115, 115))
|
||
|
self.setColor(QtGui.QPalette.Disabled, QtGui.QPalette.Text, QtGui.QColor(115, 115, 115))
|
||
|
self.setColor(QtGui.QPalette.Disabled, QtGui.QPalette.ButtonText, QtGui.QColor(115, 115, 115))
|
||
|
self.setColor(QtGui.QPalette.Disabled, QtGui.QPalette.HighlightedText, QtGui.QColor(115, 115, 115))
|
||
|
|
||
|
self.setColor(QtGui.QPalette.Disabled, QtGui.QPalette.Highlight, QtGui.QColor(190, 190, 190))
|
||
|
|
||
|
|
||
|
class MyProxyStyle(QtWidgets.QProxyStyle):
|
||
|
def __init__(self, color):
|
||
|
super().__init__()
|
||
|
|
||
|
if color == 'dark':
|
||
|
self._palette = DarkPalette()
|
||
|
else:
|
||
|
self._palette = LightPalette()
|
||
|
|
||
|
def polish(self, obj):
|
||
|
if isinstance(obj, QtGui.QPalette):
|
||
|
return self._palette
|
||
|
|
||
|
elif isinstance(obj, QtWidgets.QApplication):
|
||
|
if HAS_IMPORTLIB_RESOURCE:
|
||
|
from importlib.resources import path
|
||
|
with path('resources.icons', 'style.qss') as fp:
|
||
|
with fp.open('r') as f:
|
||
|
obj.setStyleSheet(f.read())
|
||
|
else:
|
||
|
from pkg_resources import resource_filename
|
||
|
with open(resource_filename('resources.icons', 'style.qss'), 'r') as f:
|
||
|
obj.setStyleSheet(f.read())
|
||
|
|
||
|
else:
|
||
|
return super().polish(obj)
|