From c9f72d9560784f5bd4d32822608000b955bb6a75 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 19 Dec 2020 11:59:23 +0530 Subject: [PATCH] More stupid PyQt enums --- src/calibre/gui2/__init__.py | 8 ++++---- src/calibre/gui2/bars.py | 4 ++-- src/calibre/gui2/dialogs/template_dialog.py | 6 +++--- src/calibre/gui2/library/alternate_views.py | 4 ++-- src/calibre/gui2/library/delegates.py | 4 ++-- src/calibre/gui2/metadata/single_download.py | 6 +++--- src/calibre/gui2/preferences/coloring.py | 6 +++--- src/calibre/gui2/tweak_book/completion/popup.py | 2 +- src/calibre/gui2/tweak_book/editor/text.py | 4 ++-- src/calibre/gui2/tweak_book/polish.py | 4 ++-- src/calibre/gui2/tweak_book/widgets.py | 10 +++++----- src/calibre/gui2/viewer/highlights.py | 4 ++-- src/calibre/gui2/viewer/web_view.py | 2 +- src/calibre/gui2/viewer/widgets.py | 6 +++--- src/calibre/gui2/widgets.py | 8 ++++---- src/calibre/gui2/widgets2.py | 2 +- 16 files changed, 40 insertions(+), 40 deletions(-) diff --git a/src/calibre/gui2/__init__.py b/src/calibre/gui2/__init__.py index 67091bc79f..19f3bb5caf 100644 --- a/src/calibre/gui2/__init__.py +++ b/src/calibre/gui2/__init__.py @@ -970,8 +970,8 @@ class Application(QApplication): # same as non highlighted colors. This is a regression from Qt 4. # https://bugreports.qt-project.org/browse/QTBUG-41060 p = self.palette() - for role in (p.Highlight, p.HighlightedText, p.Base, p.AlternateBase): - p.setColor(p.Inactive, role, p.color(p.Active, role)) + for role in (QPalette.ColorRole.Highlight, QPalette.ColorRole.HighlightedText, QPalette.ColorRole.Base, QPalette.ColorRole.AlternateBase): + p.setColor(QPalette.ColorGroup.Inactive, role, p.color(QPalette.ColorGroup.Active, role)) self.setPalette(p) # Prevent text copied to the clipboard from being lost on quit due to @@ -1512,7 +1512,7 @@ def windows_is_system_dark_mode_enabled(): def make_view_use_window_background(view): p = view.palette() - p.setColor(p.Base, p.color(p.Window)) - p.setColor(p.AlternateBase, p.color(p.Window)) + p.setColor(QPalette.ColorRole.Base, p.color(QPalette.ColorRole.Window)) + p.setColor(QPalette.ColorRole.AlternateBase, p.color(QPalette.ColorRole.Window)) view.setPalette(p) return view diff --git a/src/calibre/gui2/bars.py b/src/calibre/gui2/bars.py index 42b992261c..6655bc0af8 100644 --- a/src/calibre/gui2/bars.py +++ b/src/calibre/gui2/bars.py @@ -9,7 +9,7 @@ __docformat__ = 'restructuredtext en' from functools import partial from PyQt5.Qt import ( Qt, QAction, QMenu, QObject, QToolBar, QToolButton, QSize, pyqtSignal, QKeySequence, - QTimer, QPropertyAnimation, QEasingCurve, pyqtProperty, QPainter, QWidget) + QTimer, QPropertyAnimation, QEasingCurve, pyqtProperty, QPainter, QWidget, QPalette) try: from PyQt5 import sip except ImportError: @@ -58,7 +58,7 @@ class RevealBar(QWidget): # {{{ rect = self.rect() painter = QPainter(self) pal = self.palette() - col = pal.color(pal.Button) + col = pal.color(QPalette.ColorRole.Button) rect.setLeft(rect.left() + (rect.width() * self._animated_size)) painter.setClipRect(rect) painter.fillRect(self.rect(), col) diff --git a/src/calibre/gui2/dialogs/template_dialog.py b/src/calibre/gui2/dialogs/template_dialog.py index f91c71bbe0..d48dd313c1 100644 --- a/src/calibre/gui2/dialogs/template_dialog.py +++ b/src/calibre/gui2/dialogs/template_dialog.py @@ -9,7 +9,7 @@ import json, os, traceback from PyQt5.Qt import (Qt, QDialog, QDialogButtonBox, QSyntaxHighlighter, QFont, QRegExp, QApplication, QTextCharFormat, QColor, QCursor, - QIcon, QSize) + QIcon, QSize, QPalette) from calibre import sanitize_file_name from calibre.constants import config_dir @@ -85,8 +85,8 @@ class TemplateHighlighter(QSyntaxHighlighter): pal = QApplication.instance().palette() for name, color, bold, italic in ( ("normal", None, False, False), - ("keyword", pal.color(pal.Link).name(), True, False), - ("builtin", pal.color(pal.Link).name(), False, False), + ("keyword", pal.color(QPalette.ColorRole.Link).name(), True, False), + ("builtin", pal.color(QPalette.ColorRole.Link).name(), False, False), ("comment", "#007F00", False, True), ("string", "#808000", False, False), ("number", "#924900", False, False), diff --git a/src/calibre/gui2/library/alternate_views.py b/src/calibre/gui2/library/alternate_views.py index 62d62442ad..34a600437b 100644 --- a/src/calibre/gui2/library/alternate_views.py +++ b/src/calibre/gui2/library/alternate_views.py @@ -14,7 +14,7 @@ from PyQt5.Qt import ( QAbstractItemView, QApplication, QBuffer, QByteArray, QColor, QDrag, QEasingCurve, QEvent, QFont, QHelpEvent, QIcon, QImage, QItemSelection, QItemSelectionModel, QListView, QMimeData, QModelIndex, QPainter, QPixmap, - QPoint, QPropertyAnimation, QRect, QSize, QStyledItemDelegate, + QPoint, QPropertyAnimation, QRect, QSize, QStyledItemDelegate, QPalette, QStyleOptionViewItem, Qt, QTableView, QTimer, QToolTip, QTreeView, QUrl, pyqtProperty, pyqtSignal, pyqtSlot, qBlue, qGreen, qRed, QIODevice ) @@ -799,7 +799,7 @@ class GridView(QListView): r, g, b = gprefs['cover_grid_color'] tex = gprefs['cover_grid_texture'] pal = self.palette() - pal.setColor(pal.Base, QColor(r, g, b)) + pal.setColor(QPalette.ColorRole.Base, QColor(r, g, b)) self.setPalette(pal) ss = '' if tex: diff --git a/src/calibre/gui2/library/delegates.py b/src/calibre/gui2/library/delegates.py index 0be684247e..7200197e44 100644 --- a/src/calibre/gui2/library/delegates.py +++ b/src/calibre/gui2/library/delegates.py @@ -11,7 +11,7 @@ import sys from PyQt5.Qt import (Qt, QApplication, QStyle, QIcon, QDoubleSpinBox, QStyleOptionViewItem, QSpinBox, QStyledItemDelegate, QComboBox, QTextDocument, QMenu, QKeySequence, QAbstractTextDocumentLayout, QFont, QFontInfo, QDate, QDateTimeEdit, QDateTime, QEvent, - QStyleOptionComboBox, QStyleOptionSpinBox, QLocale, QSize, QLineEdit, QDialog) + QStyleOptionComboBox, QStyleOptionSpinBox, QLocale, QSize, QLineEdit, QDialog, QPalette) from calibre.ebooks.metadata import rating_to_stars from calibre.gui2 import UNDEFINED_QDATETIME, rating_font @@ -650,7 +650,7 @@ class CcCommentsDelegate(QStyledItemDelegate): # {{{ ctx = QAbstractTextDocumentLayout.PaintContext() ctx.palette = option.palette if option.state & QStyle.StateFlag.State_Selected: - ctx.palette.setColor(ctx.palette.Text, ctx.palette.color(ctx.palette.HighlightedText)) + ctx.palette.setColor(QPalette.ColorRole.Text, ctx.palette.color(QPalette.ColorRole.HighlightedText)) textRect = style.subElementRect(QStyle.SubElement.SE_ItemViewItemText, option, self.parent()) painter.save() painter.translate(textRect.topLeft()) diff --git a/src/calibre/gui2/metadata/single_download.py b/src/calibre/gui2/metadata/single_download.py index 01cfaf0004..6f9bd1ac89 100644 --- a/src/calibre/gui2/metadata/single_download.py +++ b/src/calibre/gui2/metadata/single_download.py @@ -54,9 +54,9 @@ class RichTextDelegate(QStyledItemDelegate): # {{{ doc = QTextDocument() if option is not None and option.state & QStyle.StateFlag.State_Selected: p = option.palette - group = (p.Active if option.state & QStyle.StateFlag.State_Active else - p.Inactive) - c = p.color(group, p.HighlightedText) + group = (QPalette.ColorGroup.Active if option.state & QStyle.StateFlag.State_Active else + QPalette.ColorGroup.Inactive) + c = p.color(group, QPalette.ColorRole.HighlightedText) c = 'rgb(%d, %d, %d)'%c.getRgb()[:3] doc.setDefaultStyleSheet(' * { color: %s }'%c) doc.setHtml(index.data() or '') diff --git a/src/calibre/gui2/preferences/coloring.py b/src/calibre/gui2/preferences/coloring.py index 64261b11d9..a2cb7f35ef 100644 --- a/src/calibre/gui2/preferences/coloring.py +++ b/src/calibre/gui2/preferences/coloring.py @@ -11,7 +11,7 @@ import os, textwrap, json from PyQt5.Qt import (QWidget, QDialog, QLabel, QGridLayout, QComboBox, QSize, QLineEdit, QIntValidator, QDoubleValidator, QFrame, Qt, QIcon, QHBoxLayout, QScrollArea, QPushButton, QVBoxLayout, QDialogButtonBox, QToolButton, - QListView, QAbstractListModel, pyqtSignal, QSizePolicy, QSpacerItem, + QListView, QAbstractListModel, pyqtSignal, QSizePolicy, QSpacerItem, QPalette, QApplication, QStandardItem, QStandardItemModel, QCheckBox, QMenu, QAbstractItemView) from calibre import prepare_string_for_xml, sanitize_file_name, as_unicode @@ -500,8 +500,8 @@ class RuleEditor(QDialog): # {{{ def update_color_label(self): pal = QApplication.palette() - bg1 = unicode_type(pal.color(pal.Base).name()) - bg2 = unicode_type(pal.color(pal.AlternateBase).name()) + bg1 = unicode_type(pal.color(QPalette.ColorRole.Base).name()) + bg2 = unicode_type(pal.color(QPalette.ColorRole.AlternateBase).name()) c = self.color_box.color self.color_label.setText('''  {st}  diff --git a/src/calibre/gui2/tweak_book/completion/popup.py b/src/calibre/gui2/tweak_book/completion/popup.py index 338c59f88c..d45212537b 100644 --- a/src/calibre/gui2/tweak_book/completion/popup.py +++ b/src/calibre/gui2/tweak_book/completion/popup.py @@ -118,7 +118,7 @@ class ChoosePopupWidget(QWidget): for i, st, y, height in self.iter_visible_items(): painter.save() if i == self.current_index: - painter.fillRect(1, y, width, height, pal.color(pal.Highlight)) + painter.fillRect(1, y, width, height, pal.color(QPalette.ColorRole.Highlight)) color = pal.color(QPalette.ColorRole.HighlightedText).name() st = QStaticText(st) text = st.text().partition('>')[2] diff --git a/src/calibre/gui2/tweak_book/editor/text.py b/src/calibre/gui2/tweak_book/editor/text.py index f1e46b293f..7a1fbf6847 100644 --- a/src/calibre/gui2/tweak_book/editor/text.py +++ b/src/calibre/gui2/tweak_book/editor/text.py @@ -238,8 +238,8 @@ class TextEdit(PlainTextEdit): pal.setColor(QPalette.ColorRole.Base, theme_color(theme, 'Normal', 'bg')) pal.setColor(QPalette.ColorRole.AlternateBase, theme_color(theme, 'CursorLine', 'bg')) pal.setColor(QPalette.ColorRole.Text, theme_color(theme, 'Normal', 'fg')) - pal.setColor(pal.Highlight, theme_color(theme, 'Visual', 'bg')) - pal.setColor(pal.HighlightedText, theme_color(theme, 'Visual', 'fg')) + pal.setColor(QPalette.ColorRole.Highlight, theme_color(theme, 'Visual', 'bg')) + pal.setColor(QPalette.ColorRole.HighlightedText, theme_color(theme, 'Visual', 'fg')) self.setPalette(pal) self.tooltip_palette = pal = QPalette() pal.setColor(QPalette.ColorRole.ToolTipBase, theme_color(theme, 'Tooltip', 'bg')) diff --git a/src/calibre/gui2/tweak_book/polish.py b/src/calibre/gui2/tweak_book/polish.py index 79b45adcad..ca39c70992 100644 --- a/src/calibre/gui2/tweak_book/polish.py +++ b/src/calibre/gui2/tweak_book/polish.py @@ -11,7 +11,7 @@ from threading import Thread from PyQt5.Qt import ( QTextBrowser, QVBoxLayout, QDialog, QDialogButtonBox, QIcon, QLabel, QCheckBox, Qt, QListWidgetItem, QHBoxLayout, QListWidget, QPixmap, - QSpinBox, QStyledItemDelegate, QSize, QStyle, QPen, + QSpinBox, QStyledItemDelegate, QSize, QStyle, QPen, QPalette, QProgressBar, pyqtSignal, QApplication, QAbstractItemView ) @@ -163,7 +163,7 @@ class ImageItemDelegate(QStyledItemDelegate): trect.setRight(option.rect.right()) painter.save() if option.state & QStyle.StateFlag.State_Selected: - painter.setPen(QPen(option.palette.color(option.palette.HighlightedText))) + painter.setPen(QPen(option.palette.color(QPalette.ColorRole.HighlightedText))) painter.drawText(trect, Qt.AlignmentFlag.AlignVCenter | Qt.AlignmentFlag.AlignLeft, name + '\n' + sz) painter.restore() diff --git a/src/calibre/gui2/tweak_book/widgets.py b/src/calibre/gui2/tweak_book/widgets.py index cb5a02c877..c229b4d517 100644 --- a/src/calibre/gui2/tweak_book/widgets.py +++ b/src/calibre/gui2/tweak_book/widgets.py @@ -12,7 +12,7 @@ from PyQt5.Qt import ( QGridLayout, QLabel, QLineEdit, QVBoxLayout, QFormLayout, QHBoxLayout, QToolButton, QIcon, QApplication, Qt, QWidget, QPoint, QSizePolicy, QPainter, QStaticText, pyqtSignal, QTextOption, QAbstractListModel, - QModelIndex, QStyledItemDelegate, QStyle, QCheckBox, QListView, + QModelIndex, QStyledItemDelegate, QStyle, QCheckBox, QListView, QPalette, QTextDocument, QSize, QComboBox, QFrame, QCursor, QGroupBox, QSplitter, QPixmap, QRect, QPlainTextEdit, QMimeData, QDialog, QEvent, QDialogButtonBox) @@ -277,7 +277,7 @@ def make_highlighted_text(emph, text, positions): def emphasis_style(): pal = QApplication.instance().palette() - return 'color: {}; font-weight: bold'.format(pal.color(pal.Link).name()) + return 'color: {}; font-weight: bold'.format(pal.color(QPalette.ColorRole.Link).name()) class Results(QWidget): @@ -503,8 +503,8 @@ class NamesDelegate(QStyledItemDelegate): painter.save() painter.setFont(option.font) p = option.palette - c = p.HighlightedText if option.state & QStyle.StateFlag.State_Selected else p.Text - group = (p.Active if option.state & QStyle.StateFlag.State_Active else p.Inactive) + c = QPalette.ColorRole.HighlightedText if option.state & QStyle.StateFlag.State_Selected else QPalette.ColorRole.Text + group = (QPalette.ColorGroup.Active if option.state & QStyle.StateFlag.State_Active else QPalette.ColorGroup.Inactive) c = p.color(group, c) painter.setClipRect(option.rect) if positions is None or -1 in positions: @@ -512,7 +512,7 @@ class NamesDelegate(QStyledItemDelegate): painter.drawText(option.rect, Qt.AlignmentFlag.AlignLeft | Qt.AlignmentFlag.AlignVCenter | Qt.TextFlag.TextSingleLine, text) else: to = QTextOption() - to.setWrapMode(to.NoWrap) + to.setWrapMode(QTextOption.WrapMode.NoWrap) to.setAlignment(Qt.AlignmentFlag.AlignLeft | Qt.AlignmentFlag.AlignVCenter) positions = sorted(set(positions) - {-1}, reverse=True) text = '%s' % make_highlighted_text(emphasis_style(), text, positions) diff --git a/src/calibre/gui2/viewer/highlights.py b/src/calibre/gui2/viewer/highlights.py index 9c6bf388c7..a1ffb0f4ba 100644 --- a/src/calibre/gui2/viewer/highlights.py +++ b/src/calibre/gui2/viewer/highlights.py @@ -11,7 +11,7 @@ from PyQt5.Qt import ( QColor, QFont, QHBoxLayout, QIcon, QImage, QItemSelectionModel, QKeySequence, QLabel, QMenu, QPainter, QPainterPath, QPixmap, QPushButton, QRect, QSizePolicy, Qt, QTextEdit, QTreeWidget, QTreeWidgetItem, QVBoxLayout, QWidget, pyqtSignal, - QAbstractItemView, QDialog + QAbstractItemView, QDialog, QPalette ) from calibre.constants import ( @@ -82,7 +82,7 @@ def decoration_for_style(palette, style, icon_size, device_pixel_ratio, is_dark) canvas.setDevicePixelRatio(device_pixel_ratio) p = QPainter(canvas) p.setRenderHint(QPainter.RenderHint.Antialiasing, True) - p.setPen(palette.color(palette.WindowText)) + p.setPen(palette.color(QPalette.ColorRole.WindowText)) irect = QRect(0, 0, icon_size, icon_size) adjust = -2 text_rect = p.drawText(irect.adjusted(0, adjust, 0, adjust), Qt.AlignmentFlag.AlignHCenter| Qt.AlignmentFlag.AlignTop, 'a') diff --git a/src/calibre/gui2/viewer/web_view.py b/src/calibre/gui2/viewer/web_view.py index d393d46103..ca2a192076 100644 --- a/src/calibre/gui2/viewer/web_view.py +++ b/src/calibre/gui2/viewer/web_view.py @@ -430,7 +430,7 @@ def system_colors(): # only override link colors for dark themes # since if the book specifies its own link colors # they will likely work well with light themes - ans['link'] = pal.color(pal.Link).name() + ans['link'] = pal.color(QPalette.ColorRole.Link).name() return ans diff --git a/src/calibre/gui2/viewer/widgets.py b/src/calibre/gui2/viewer/widgets.py index 5a9838905b..576a2ae550 100644 --- a/src/calibre/gui2/viewer/widgets.py +++ b/src/calibre/gui2/viewer/widgets.py @@ -5,7 +5,7 @@ import re from PyQt5.Qt import ( - QAction, QFont, QFontMetrics, QStyle, QStyledItemDelegate, Qt, pyqtSignal + QAction, QFont, QFontMetrics, QStyle, QStyledItemDelegate, Qt, pyqtSignal, QPalette ) from calibre.gui2 import QT_HIDDEN_CLEAR_ACTION @@ -31,8 +31,8 @@ class ResultsDelegate(QStyledItemDelegate): # {{{ painter.save() try: p = option.palette - c = p.HighlightedText if option.state & QStyle.StateFlag.State_Selected else p.Text - group = (p.Active if option.state & QStyle.StateFlag.State_Active else p.Inactive) + c = QPalette.ColorRole.HighlightedText if option.state & QStyle.StateFlag.State_Selected else QPalette.ColorRole.Text + group = (QPalette.ColorGroup.Active if option.state & QStyle.StateFlag.State_Active else QPalette.ColorGroup.Inactive) c = p.color(group, c) painter.setPen(c) font = option.font diff --git a/src/calibre/gui2/widgets.py b/src/calibre/gui2/widgets.py index e5c7f1fbbd..9dc60911c2 100644 --- a/src/calibre/gui2/widgets.py +++ b/src/calibre/gui2/widgets.py @@ -12,7 +12,7 @@ from PyQt5.Qt import (QIcon, QFont, QLabel, QListWidget, QAction, QEvent, QCursor, QColor, QWidget, QPixmap, QSplitterHandle, QToolButton, Qt, pyqtSignal, QRegExp, QSize, QSplitter, QPainter, QPageSize, QPrinter, QLineEdit, QComboBox, QPen, QGraphicsScene, QMenu, QStringListModel, - QCompleter, QTimer, QRect, QGraphicsView, QPagedPaintDevice) + QCompleter, QTimer, QRect, QGraphicsView, QPagedPaintDevice, QPalette) from calibre.constants import iswindows, ismacos from calibre.gui2 import (error_dialog, pixmap_to_data, gprefs, @@ -868,9 +868,9 @@ class PythonHighlighter(QSyntaxHighlighter): # {{{ p = QApplication.instance().palette() for name, color, bold, italic in ( ("normal", None, False, False), - ("keyword", p.color(p.Link).name(), True, False), - ("builtin", p.color(p.Link).name(), False, False), - ("constant", p.color(p.Link).name(), False, False), + ("keyword", p.color(QPalette.ColorRole.Link).name(), True, False), + ("builtin", p.color(QPalette.ColorRole.Link).name(), False, False), + ("constant", p.color(QPalette.ColorRole.Link).name(), False, False), ("decorator", "#0000E0", False, False), ("comment", "#007F00", False, True), ("string", "#808000", False, False), diff --git a/src/calibre/gui2/widgets2.py b/src/calibre/gui2/widgets2.py index 9d6c123182..df13b9f252 100644 --- a/src/calibre/gui2/widgets2.py +++ b/src/calibre/gui2/widgets2.py @@ -479,7 +479,7 @@ class HTMLDisplay(QTextBrowser): app = QApplication.instance() if app.is_dark_theme: pal = app.palette() - col = pal.color(pal.Link) + col = pal.color(QPalette.ColorRole.Link) self.default_css = 'a { color: %s }\n\n' % col.name(col.HexRgb) else: self.default_css = ''