Add Dark Mode support for Windows
This commit is contained in:
parent
e2605577f5
commit
731de07804
@ -514,13 +514,15 @@ class ConfigurationGetter(object):
|
|||||||
self._overrideConfigWithArgs(args)
|
self._overrideConfigWithArgs(args)
|
||||||
if not self._config['noGui']:
|
if not self._config['noGui']:
|
||||||
try:
|
try:
|
||||||
from syncplay.vendor.Qt import QtWidgets, IsPySide, IsPySide2
|
from syncplay.vendor.Qt import QtWidgets, IsPySide, IsPySide2, QtGui
|
||||||
from syncplay.vendor.Qt.QtCore import QCoreApplication
|
from syncplay.vendor.Qt.QtCore import QCoreApplication
|
||||||
from syncplay.vendor import qt5reactor
|
from syncplay.vendor import qt5reactor
|
||||||
if not (IsPySide2 or IsPySide):
|
if not (IsPySide2 or IsPySide):
|
||||||
raise ImportError
|
raise ImportError
|
||||||
if QCoreApplication.instance() is None:
|
if QCoreApplication.instance() is None:
|
||||||
self.app = QtWidgets.QApplication(sys.argv)
|
self.app = QtWidgets.QApplication(sys.argv)
|
||||||
|
self.app.setStyle(QtWidgets.QStyleFactory.create("fusion"))
|
||||||
|
self.app.setPalette(self.getDarkPalette(QtGui))
|
||||||
qt5reactor.install()
|
qt5reactor.install()
|
||||||
if isMacOS():
|
if isMacOS():
|
||||||
import appnope
|
import appnope
|
||||||
@ -550,6 +552,29 @@ class ConfigurationGetter(object):
|
|||||||
setLanguage(self._config['language'])
|
setLanguage(self._config['language'])
|
||||||
return self._config
|
return self._config
|
||||||
|
|
||||||
|
def getDarkPalette(self, QtGui):
|
||||||
|
# Based on https://gist.github.com/lschmierer/443b8e21ad93e2a2d7eb#gistcomment-3503395
|
||||||
|
darkPalette = QtGui.QPalette()
|
||||||
|
darkPalette.setColor(QtGui.QPalette.Window, QtGui.QColor(53, 53, 53))
|
||||||
|
darkPalette.setColor(QtGui.QPalette.WindowText, QtGui.QColor(255, 255, 255))
|
||||||
|
darkPalette.setColor(QtGui.QPalette.Base, QtGui.QColor(35, 35, 35))
|
||||||
|
darkPalette.setColor(QtGui.QPalette.AlternateBase, QtGui.QColor(53, 53, 53))
|
||||||
|
darkPalette.setColor(QtGui.QPalette.ToolTipBase, QtGui.QColor(25, 25, 25))
|
||||||
|
darkPalette.setColor(QtGui.QPalette.ToolTipText, QtGui.QColor(255, 255, 255))
|
||||||
|
darkPalette.setColor(QtGui.QPalette.Text, QtGui.QColor(255, 255, 255))
|
||||||
|
darkPalette.setColor(QtGui.QPalette.Button, QtGui.QColor(53, 53, 53))
|
||||||
|
darkPalette.setColor(QtGui.QPalette.ButtonText, QtGui.QColor(255, 255, 255))
|
||||||
|
darkPalette.setColor(QtGui.QPalette.BrightText, QtGui.QColor(255, 0, 0))
|
||||||
|
darkPalette.setColor(QtGui.QPalette.Link, QtGui.QColor(42, 130, 218))
|
||||||
|
darkPalette.setColor(QtGui.QPalette.Highlight, QtGui.QColor(42, 130, 218))
|
||||||
|
darkPalette.setColor(QtGui.QPalette.HighlightedText, QtGui.QColor(35, 35, 35))
|
||||||
|
darkPalette.setColor(QtGui.QPalette.Active, QtGui.QPalette.Button, QtGui.QColor(53, 53, 53))
|
||||||
|
darkPalette.setColor(QtGui.QPalette.Disabled, QtGui.QPalette.ButtonText, QtGui.QColor(128, 128, 128))
|
||||||
|
darkPalette.setColor(QtGui.QPalette.Disabled, QtGui.QPalette.WindowText, QtGui.QColor(128, 128, 128))
|
||||||
|
darkPalette.setColor(QtGui.QPalette.Disabled, QtGui.QPalette.Text, QtGui.QColor(128, 128, 128))
|
||||||
|
darkPalette.setColor(QtGui.QPalette.Disabled, QtGui.QPalette.Light, QtGui.QColor(53, 53, 53))
|
||||||
|
return darkPalette
|
||||||
|
|
||||||
def setConfigOption(self, option, value):
|
def setConfigOption(self, option, value):
|
||||||
path = self._getConfigurationFilePath()
|
path = self._getConfigurationFilePath()
|
||||||
backup = self._config.copy()
|
backup = self._config.copy()
|
||||||
|
|||||||
@ -40,7 +40,7 @@ if isMacOS() and IsPySide:
|
|||||||
from Cocoa import NSString, NSUTF8StringEncoding
|
from Cocoa import NSString, NSUTF8StringEncoding
|
||||||
lastCheckedForUpdates = None
|
lastCheckedForUpdates = None
|
||||||
from syncplay.vendor import darkdetect
|
from syncplay.vendor import darkdetect
|
||||||
if isMacOS():
|
if isMacOS() or isWindows():
|
||||||
isDarkMode = darkdetect.isDark()
|
isDarkMode = darkdetect.isDark()
|
||||||
else:
|
else:
|
||||||
isDarkMode = None
|
isDarkMode = None
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user