mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Allow using an env var on linux for dark mode
This commit is contained in:
parent
9d50e774b9
commit
537fcd9021
@ -1009,27 +1009,8 @@ class Application(QApplication):
|
||||
load_builtin_fonts()
|
||||
|
||||
def set_dark_mode_palette(self):
|
||||
p = self.palette()
|
||||
dark_color = QColor(45,45,45)
|
||||
disabled_color = QColor(127,127,127)
|
||||
p.setColor(p.Window, dark_color)
|
||||
p.setColor(p.WindowText, Qt.white)
|
||||
p.setColor(p.Base, QColor(18,18,18))
|
||||
p.setColor(p.AlternateBase, dark_color)
|
||||
p.setColor(p.ToolTipBase, Qt.white)
|
||||
p.setColor(p.ToolTipText, Qt.white)
|
||||
p.setColor(p.Text, Qt.white)
|
||||
p.setColor(p.Disabled, p.Text, disabled_color)
|
||||
p.setColor(p.Button, dark_color)
|
||||
p.setColor(p.ButtonText, Qt.white)
|
||||
p.setColor(p.Disabled, p.ButtonText, disabled_color)
|
||||
p.setColor(p.BrightText, Qt.red)
|
||||
p.setColor(p.Link, QColor(42, 130, 218))
|
||||
|
||||
p.setColor(p.Highlight, QColor(42, 130, 218))
|
||||
p.setColor(p.HighlightedText, Qt.black)
|
||||
p.setColor(p.Disabled, p.HighlightedText, disabled_color)
|
||||
self.set_palette(p)
|
||||
from calibre.gui2.palette import dark_palette
|
||||
self.set_palette(dark_palette())
|
||||
|
||||
def setup_styles(self, force_calibre_style):
|
||||
if iswindows or isosx:
|
||||
@ -1038,7 +1019,13 @@ class Application(QApplication):
|
||||
using_calibre_style = os.environ.get('CALIBRE_USE_SYSTEM_THEME', '0') == '0'
|
||||
if force_calibre_style:
|
||||
using_calibre_style = True
|
||||
if iswindows and windows_is_system_dark_mode_enabled() and using_calibre_style:
|
||||
if using_calibre_style:
|
||||
use_dark_palette = False
|
||||
if iswindows:
|
||||
use_dark_palette = windows_is_system_dark_mode_enabled()
|
||||
elif not isosx:
|
||||
use_dark_palette = os.environ.get('CALIBRE_USE_DARK_PALETTE') == '1'
|
||||
if use_dark_palette:
|
||||
self.set_dark_mode_palette()
|
||||
|
||||
self.using_calibre_style = using_calibre_style
|
||||
|
31
src/calibre/gui2/palette.py
Normal file
31
src/calibre/gui2/palette.py
Normal file
@ -0,0 +1,31 @@
|
||||
#!/usr/bin/env python2
|
||||
# vim:fileencoding=utf-8
|
||||
# License: GPL v3 Copyright: 2019, Kovid Goyal <kovid at kovidgoyal.net>
|
||||
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
from PyQt5.Qt import QColor, QPalette, Qt
|
||||
|
||||
|
||||
def dark_palette():
|
||||
p = QPalette()
|
||||
dark_color = QColor(45,45,45)
|
||||
disabled_color = QColor(127,127,127)
|
||||
p.setColor(p.Window, dark_color)
|
||||
p.setColor(p.WindowText, Qt.white)
|
||||
p.setColor(p.Base, QColor(18,18,18))
|
||||
p.setColor(p.AlternateBase, dark_color)
|
||||
p.setColor(p.ToolTipBase, Qt.white)
|
||||
p.setColor(p.ToolTipText, Qt.white)
|
||||
p.setColor(p.Text, Qt.white)
|
||||
p.setColor(p.Disabled, p.Text, disabled_color)
|
||||
p.setColor(p.Button, dark_color)
|
||||
p.setColor(p.ButtonText, Qt.white)
|
||||
p.setColor(p.Disabled, p.ButtonText, disabled_color)
|
||||
p.setColor(p.BrightText, Qt.red)
|
||||
p.setColor(p.Link, QColor(42, 130, 218))
|
||||
|
||||
p.setColor(p.Highlight, QColor(42, 130, 218))
|
||||
p.setColor(p.HighlightedText, Qt.black)
|
||||
p.setColor(p.Disabled, p.HighlightedText, disabled_color)
|
||||
return p
|
Loading…
x
Reference in New Issue
Block a user