diff --git a/resources/dark_mode.css b/resources/dark_mode.css deleted file mode 100644 index 00a8290a86..0000000000 --- a/resources/dark_mode.css +++ /dev/null @@ -1,64 +0,0 @@ -/* - * dark_mode.css - * Copyright (C) 2020 Kovid Goyal - * - * Distributed under terms of the MIT license. - */ - -::-webkit-scrollbar { - background: #2B2B2B; - width: 14px; -} - -::-webkit-scrollbar-button { - background: #4B4B4B; - border: 1px solid #4B4B4B; - border-radius: 0; - height: 14px; - width: 14px; -} - -::-webkit-scrollbar-thumb { - background: #666666; - border: 1px solid #959595; - border-radius: 2px; -} -::-webkit-scrollbar-thumb:hover { - background: #929292; -} -::-webkit-scrollbar-thumb:active { - background: #929292; -} -::-webkit-scrollbar-thumb:vertical { - min-height: 40px; -} -::-webkit-scrollbar-track { - background: #4B4B4B; - border: 2px solid #4B4B4B; - border-radius: 0; -} -::-webkit-scrollbar-track:hover { - background: #666666; -} -::-webkit-scrollbar-track:active { - background: #333333; -} -::-webkit-scrollbar-corner { - background: #999999; -} - -::-webkit-scrollbar-button:vertical:start { - width: 14px; - height: 14px; - background-repeat: no-repeat; - background-position: center; - background-image: url(data:image/png;base64,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) -} - -::-webkit-scrollbar-button:vertical:end { - width: 14px; - height: 14px; - background-repeat: no-repeat; - background-position: center; - background-image: url(data:image/png;base64,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) -} diff --git a/resources/toc.js b/resources/toc.js index f8a81d0d0d..03e68baa1a 100644 --- a/resources/toc.js +++ b/resources/toc.js @@ -9,7 +9,6 @@ "use strict"; var com_id = "COM_ID"; var com_counter = 0; - var dark_css = CSS; var settings = SETTINGS; function onclick(event) { @@ -65,7 +64,7 @@ var css = ''; css += '.calibre_toc_hover:hover { cursor: pointer !important; border-top: solid 5px green !important }\n\n'; if (settings.link) css += 'html > body :link, html > body :link * { color: ' + settings.link + ' !important; }\n\n'; - if (settings.is_dark_theme) { css += dark_css; } + if (settings.is_dark_theme) { css = ':root { color-scheme: dark; }' + css; } var style = document.createElement('style'); style.textContent = css; document.documentElement.appendChild(style); diff --git a/src/calibre/gui2/toc/location.py b/src/calibre/gui2/toc/location.py index 5e7739b5a3..85d5e6f00d 100644 --- a/src/calibre/gui2/toc/location.py +++ b/src/calibre/gui2/toc/location.py @@ -49,8 +49,6 @@ class Page(QWebEnginePage): # {{{ else: settings = {} js = js.replace('SETTINGS', json.dumps(settings), 1) - dark_mode_css = P('dark_mode.css', data=True, allow_user_override=False).decode('utf-8') - js = js.replace('CSS', json.dumps(dark_mode_css), 1) s.setSourceCode(js) self.scripts().insert(s) diff --git a/src/calibre/gui2/tweak_book/preview.py b/src/calibre/gui2/tweak_book/preview.py index 49f6897b25..2123e020c1 100644 --- a/src/calibre/gui2/tweak_book/preview.py +++ b/src/calibre/gui2/tweak_book/preview.py @@ -258,11 +258,9 @@ def get_editor_settings(tprefs): def create_dark_mode_script(): - dark_mode_css = P('dark_mode.css', data=True, allow_user_override=False).decode('utf-8') return create_script('dark-mode.js', ''' (function() { var settings = JSON.parse(navigator.userAgent.split('|')[1]); - var dark_css = CSS; function apply_body_colors(event) { if (document.documentElement) { @@ -278,7 +276,7 @@ def create_dark_mode_script(): function apply_css() { var css = ''; if (settings.link) css += 'html > body :link, html > body :link * { color: ' + settings.link + ' !important; }'; - if (settings.is_dark_theme) { css += dark_css; } + if (settings.is_dark_theme) { css = ':root { color-scheme: dark; }' + css; } var style = document.createElement('style'); style.textContent = css; document.documentElement.appendChild(style); @@ -288,7 +286,7 @@ def create_dark_mode_script(): apply_body_colors(); document.addEventListener("DOMContentLoaded", apply_css); })(); - '''.replace('CSS', json.dumps(dark_mode_css), 1), + ''', injection_point=QWebEngineScript.InjectionPoint.DocumentCreation)