More stupid PyQt enums

This commit is contained in:
Kovid Goyal 2020-12-19 11:59:23 +05:30
parent 865a064dd3
commit c9f72d9560
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C
16 changed files with 40 additions and 40 deletions

View File

@ -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

View File

@ -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)

View File

@ -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),

View File

@ -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:

View File

@ -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())

View File

@ -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 '')

View File

@ -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('''
<span style="color: {c}; background-color: {bg1}">&nbsp;{st}&nbsp;</span>

View File

@ -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]

View File

@ -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'))

View File

@ -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()

View File

@ -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 = '<body>%s</body>' % make_highlighted_text(emphasis_style(), text, positions)

View File

@ -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')

View File

@ -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

View File

@ -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

View File

@ -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),

View File

@ -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 = ''