From 7fa564da07dd8def34ea3f3a763ffa13fdc854c7 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 9 Jan 2022 10:19:14 +0530 Subject: [PATCH] Use themes for modified.png --- imgsrc/generate.py | 2 + imgsrc/modified-for-dark-theme.svg | 144 ++++++++++++++++++ ...ified.svg => modified-for-light-theme.svg} | 0 .../calibre-default-dark/base/modified.png | Bin 0 -> 3727 bytes .../calibre-default-light/base}/modified.png | Bin src/calibre/gui2/tweak_book/ui.py | 14 +- 6 files changed, 150 insertions(+), 10 deletions(-) create mode 100644 imgsrc/modified-for-dark-theme.svg rename imgsrc/{modified.svg => modified-for-light-theme.svg} (100%) create mode 100644 resources/icon-themes/calibre-default-dark/base/modified.png rename resources/{images => icon-themes/calibre-default-light/base}/modified.png (100%) diff --git a/imgsrc/generate.py b/imgsrc/generate.py index f76894b1aa..8ed7d15e42 100755 --- a/imgsrc/generate.py +++ b/imgsrc/generate.py @@ -48,8 +48,10 @@ def iterfiles(only=()): obase = output_base if name.endswith('-for-dark-theme'): obase = dark_output_base + output_names = [x.replace('-for-dark-theme', '') for x in output_names] elif name.endswith('-for-light-theme'): obase = light_output_base + output_names = [x.replace('-for-light-theme', '') for x in output_names] output_files = [j(obase, n) + '.png' for n in output_names] if output_files: yield src, output_files diff --git a/imgsrc/modified-for-dark-theme.svg b/imgsrc/modified-for-dark-theme.svg new file mode 100644 index 0000000000..6dcb9e73cd --- /dev/null +++ b/imgsrc/modified-for-dark-theme.svg @@ -0,0 +1,144 @@ + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + Kovid Goyal + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/imgsrc/modified.svg b/imgsrc/modified-for-light-theme.svg similarity index 100% rename from imgsrc/modified.svg rename to imgsrc/modified-for-light-theme.svg diff --git a/resources/icon-themes/calibre-default-dark/base/modified.png b/resources/icon-themes/calibre-default-dark/base/modified.png new file mode 100644 index 0000000000000000000000000000000000000000..29f16788347ea8c512da3db5acb02333b6d14d8f GIT binary patch literal 3727 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 r|FVsLkgn@L+?cgrG;250>bFn^AY literal 0 HcmV?d00001 diff --git a/resources/images/modified.png b/resources/icon-themes/calibre-default-light/base/modified.png similarity index 100% rename from resources/images/modified.png rename to resources/icon-themes/calibre-default-light/base/modified.png diff --git a/src/calibre/gui2/tweak_book/ui.py b/src/calibre/gui2/tweak_book/ui.py index 006775d861..dd228f92ce 100644 --- a/src/calibre/gui2/tweak_book/ui.py +++ b/src/calibre/gui2/tweak_book/ui.py @@ -9,9 +9,9 @@ from functools import partial from gettext import pgettext from itertools import product from qt.core import ( - QAction, QApplication, QColor, QDockWidget, QEvent, QHBoxLayout, QIcon, QImage, - QLabel, QMenu, QPalette, QPixmap, QSize, QStackedWidget, Qt, QTabWidget, QTimer, - QUrl, QVBoxLayout, QWidget, pyqtSignal, QMenuBar + QAction, QApplication, QColor, QDockWidget, QEvent, QHBoxLayout, QIcon, QLabel, + QMenu, QMenuBar, QPalette, QSize, QStackedWidget, Qt, QTabWidget, QTimer, QUrl, + QVBoxLayout, QWidget, pyqtSignal ) from calibre import prepare_string_for_xml, prints @@ -85,13 +85,7 @@ class Central(QStackedWidget): # {{{ t.setDocumentMode(True) t.setTabsClosable(True) t.setMovable(True) - pal = self.palette() - if pal.color(QPalette.ColorRole.WindowText).lightness() > 128: - i = QImage(I('modified.png')) - i.invertPixels() - self.modified_icon = QIcon(QPixmap.fromImage(i)) - else: - self.modified_icon = QIcon.ic('modified.png') + self.modified_icon = QIcon.ic('modified.png') self.editor_tabs.currentChanged.connect(self.current_editor_changed) self.editor_tabs.tabCloseRequested.connect(self._close_requested) self.search_panel = SearchPanel(self)