More busy work for PyQt's stupid enum backwards incompatibility change

This commit is contained in:
Kovid Goyal 2020-12-06 20:20:32 +05:30
parent 962e68ed19
commit 9d1cb5376d
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C
27 changed files with 59 additions and 55 deletions

View File

@ -15,7 +15,7 @@ from collections import defaultdict
from PyQt5.Qt import ( from PyQt5.Qt import (
QToolButton, QDialog, QGridLayout, QIcon, QLabel, QDialogButtonBox, QToolButton, QDialog, QGridLayout, QIcon, QLabel, QDialogButtonBox,
QApplication, QLineEdit, QHBoxLayout, QFormLayout, QCheckBox, QWidget, QApplication, QLineEdit, QHBoxLayout, QFormLayout, QCheckBox, QWidget,
QScrollArea, QVBoxLayout, Qt, QListWidgetItem, QListWidget, QSize) QScrollArea, QVBoxLayout, Qt, QListWidgetItem, QListWidget, QSize, QAbstractItemView)
from calibre import as_unicode from calibre import as_unicode
from calibre.constants import ismacos from calibre.constants import ismacos
@ -207,7 +207,7 @@ class ChooseLibrary(Dialog): # {{{
def setup_ui(self): def setup_ui(self):
self.l = l = QGridLayout(self) self.l = l = QGridLayout(self)
self.items = i = QListWidget(self) self.items = i = QListWidget(self)
i.setSelectionMode(i.SingleSelection) i.setSelectionMode(QAbstractItemView.SelectionMode.SingleSelection)
i.currentItemChanged.connect(self.current_changed) i.currentItemChanged.connect(self.current_changed)
l.addWidget(i) l.addWidget(i)
self.v = v = QVBoxLayout() self.v = v = QVBoxLayout()

View File

@ -7,7 +7,7 @@ __copyright__ = '2012, Kovid Goyal <kovid@kovidgoyal.net>'
__docformat__ = 'restructuredtext en' __docformat__ = 'restructuredtext en'
from PyQt5.Qt import ( from PyQt5.Qt import (
QLineEdit, QAbstractListModel, Qt, pyqtSignal, QObject, QKeySequence, QLineEdit, QAbstractListModel, Qt, pyqtSignal, QObject, QKeySequence, QAbstractItemView,
QApplication, QListView, QPoint, QModelIndex, QApplication, QListView, QPoint, QModelIndex,
QStyleOptionComboBox, QStyle, QComboBox, QTimer) QStyleOptionComboBox, QStyle, QComboBox, QTimer)
try: try:
@ -93,7 +93,7 @@ class Completer(QListView): # {{{
self.setEditTriggers(self.NoEditTriggers) self.setEditTriggers(self.NoEditTriggers)
self.setHorizontalScrollBarPolicy(Qt.ScrollBarPolicy.ScrollBarAlwaysOff) self.setHorizontalScrollBarPolicy(Qt.ScrollBarPolicy.ScrollBarAlwaysOff)
self.setSelectionBehavior(self.SelectRows) self.setSelectionBehavior(self.SelectRows)
self.setSelectionMode(self.SingleSelection) self.setSelectionMode(QAbstractItemView.SelectionMode.SingleSelection)
self.setUniformItemSizes(True) self.setUniformItemSizes(True)
self.setAlternatingRowColors(True) self.setAlternatingRowColors(True)
self.setModel(CompleteModel(self, sort_func=sort_func, strip_completion_entries=strip_completion_entries)) self.setModel(CompleteModel(self, sort_func=sort_func, strip_completion_entries=strip_completion_entries))

View File

@ -9,7 +9,7 @@ from collections import OrderedDict
from PyQt5.Qt import ( from PyQt5.Qt import (
QDialog, QGridLayout, QDialogButtonBox, QListWidget, QApplication, Qt, QDialog, QGridLayout, QDialogButtonBox, QListWidget, QApplication, Qt,
pyqtSignal, QSize, QPushButton, QIcon, QStyledItemDelegate, QLabel) pyqtSignal, QSize, QPushButton, QIcon, QStyledItemDelegate, QLabel, QAbstractItemView)
from calibre.utils.config_base import tweaks from calibre.utils.config_base import tweaks
from calibre.gui2 import gprefs from calibre.gui2 import gprefs
@ -51,7 +51,7 @@ class List(QListWidget):
def __init__(self, all_authors, parent): def __init__(self, all_authors, parent):
QListWidget.__init__(self, parent) QListWidget.__init__(self, parent)
self.setDragEnabled(True) self.setDragEnabled(True)
self.setSelectionMode(self.ExtendedSelection) self.setSelectionMode(QAbstractItemView.SelectionMode.ExtendedSelection)
self.setDropIndicatorShown(True) self.setDropIndicatorShown(True)
self.setDragDropMode(self.InternalMove) self.setDragDropMode(self.InternalMove)
self.setAlternatingRowColors(True) self.setAlternatingRowColors(True)

View File

@ -10,7 +10,7 @@ import os, stat
from PyQt5.Qt import ( from PyQt5.Qt import (
QSize, QStackedLayout, QWidget, QVBoxLayout, QLabel, QPushButton, QSize, QStackedLayout, QWidget, QVBoxLayout, QLabel, QPushButton,
QListWidget, QListWidgetItem, QIcon, Qt, pyqtSignal, QGridLayout, QListWidget, QListWidgetItem, QIcon, Qt, pyqtSignal, QGridLayout,
QProgressBar, QDialog, QDialogButtonBox, QScrollArea, QLineEdit, QFrame QProgressBar, QDialog, QDialogButtonBox, QScrollArea, QLineEdit, QFrame, QAbstractItemView
) )
from calibre import human_readable, as_unicode from calibre import human_readable, as_unicode
@ -200,7 +200,7 @@ class EximDialog(Dialog):
la.setWordWrap(True), l.addWidget(la) la.setWordWrap(True), l.addWidget(la)
self.lib_list = ll = QListWidget(self) self.lib_list = ll = QListWidget(self)
l.addWidget(ll) l.addWidget(ll)
ll.setSelectionMode(ll.ExtendedSelection) ll.setSelectionMode(QAbstractItemView.SelectionMode.ExtendedSelection)
ll.setStyleSheet('QListView::item { padding: 5px }') ll.setStyleSheet('QListView::item { padding: 5px }')
ll.setAlternatingRowColors(True) ll.setAlternatingRowColors(True)
lpaths = all_known_libraries() lpaths = all_known_libraries()

View File

@ -8,7 +8,7 @@ __docformat__ = 'restructuredtext en'
from PyQt5.Qt import QVBoxLayout, QDialog, QLabel, QDialogButtonBox, Qt, \ from PyQt5.Qt import QVBoxLayout, QDialog, QLabel, QDialogButtonBox, Qt, \
QAbstractListModel, QListView, QSize, QApplication QAbstractListModel, QListView, QSize, QApplication, QAbstractItemView
from calibre.gui2 import file_icon_provider from calibre.gui2 import file_icon_provider
@ -70,8 +70,8 @@ class SelectFormats(QDialog):
self.fview.setStyleSheet('QListView { %s }' % sheet) self.fview.setStyleSheet('QListView { %s }' % sheet)
self._l.addWidget(self.fview) self._l.addWidget(self.fview)
self.fview.setModel(self.formats) self.fview.setModel(self.formats)
self.fview.setSelectionMode(self.fview.SingleSelection if single else self.fview.setSelectionMode(QAbstractItemView.SelectionMode.SingleSelection if single else
self.fview.MultiSelection) QAbstractItemView.SelectionMode.MultiSelection)
self.bbox = \ self.bbox = \
QDialogButtonBox(QDialogButtonBox.StandardButton.Ok|QDialogButtonBox.StandardButton.Cancel, QDialogButtonBox(QDialogButtonBox.StandardButton.Ok|QDialogButtonBox.StandardButton.Cancel,
Qt.Orientation.Horizontal, self) Qt.Orientation.Horizontal, self)

View File

@ -12,7 +12,7 @@ from PyQt5.Qt import (QFontInfo, QFontMetrics, Qt, QFont, QFontDatabase, QPen,
QStyledItemDelegate, QSize, QStyle, QStringListModel, pyqtSignal, QStyledItemDelegate, QSize, QStyle, QStringListModel, pyqtSignal,
QDialog, QVBoxLayout, QApplication, QFontComboBox, QPushButton, QDialog, QVBoxLayout, QApplication, QFontComboBox, QPushButton,
QToolButton, QGridLayout, QListView, QWidget, QDialogButtonBox, QIcon, QToolButton, QGridLayout, QListView, QWidget, QDialogButtonBox, QIcon,
QHBoxLayout, QLabel, QLineEdit, QSizePolicy) QHBoxLayout, QLabel, QLineEdit, QSizePolicy, QAbstractItemView)
from calibre.constants import config_dir from calibre.constants import config_dir
from calibre.gui2 import choose_files, error_dialog, info_dialog, empty_index from calibre.gui2 import choose_files, error_dialog, info_dialog, empty_index
@ -186,7 +186,7 @@ class FontsView(QListView):
def __init__(self, parent): def __init__(self, parent):
QListView.__init__(self, parent) QListView.__init__(self, parent)
self.setSelectionMode(self.SingleSelection) self.setSelectionMode(QAbstractItemView.SelectionMode.SingleSelection)
self.setAlternatingRowColors(True) self.setAlternatingRowColors(True)
self.d = FontFamilyDelegate(self) self.d = FontFamilyDelegate(self)
self.setItemDelegate(self.d) self.setItemDelegate(self.d)

View File

@ -16,7 +16,7 @@ from PyQt5.Qt import (
QLineEdit, QSpinBox, QTextEdit, QSize, QListWidgetItem, QIcon, QImage, QLineEdit, QSpinBox, QTextEdit, QSize, QListWidgetItem, QIcon, QImage,
pyqtSignal, QStackedLayout, QWidget, QLabel, Qt, QComboBox, QPixmap, pyqtSignal, QStackedLayout, QWidget, QLabel, Qt, QComboBox, QPixmap,
QGridLayout, QStyledItemDelegate, QApplication, QStaticText, QGridLayout, QStyledItemDelegate, QApplication, QStaticText,
QStyle, QPen, QProgressDialog QStyle, QPen, QProgressDialog, QAbstractItemView
) )
try: try:
from PyQt5 import sip from PyQt5 import sip
@ -217,7 +217,7 @@ class ThemeCreateDialog(Dialog):
l.setFieldGrowthPolicy(l.ExpandingFieldsGrow) l.setFieldGrowthPolicy(l.ExpandingFieldsGrow)
self.missing_icons_group = mg = QGroupBox(self) self.missing_icons_group = mg = QGroupBox(self)
self.mising_icons = mi = QListWidget(mg) self.mising_icons = mi = QListWidget(mg)
mi.setSelectionMode(mi.NoSelection) mi.setSelectionMode(QAbstractItemView.SelectionMode.NoSelection)
mg.l = QVBoxLayout(mg) mg.l = QVBoxLayout(mg)
mg.l.addWidget(mi) mg.l.addWidget(mi)
self.splitter.addWidget(mg) self.splitter.addWidget(mg)

View File

@ -704,7 +704,7 @@ class GridView(QListView):
# restore_vpos() # restore_vpos()
# self.setLayoutMode(self.Batched) # self.setLayoutMode(self.Batched)
self.setResizeMode(self.Adjust) self.setResizeMode(self.Adjust)
self.setSelectionMode(self.ExtendedSelection) self.setSelectionMode(QAbstractItemView.SelectionMode.ExtendedSelection)
self.setVerticalScrollMode(self.ScrollPerPixel) self.setVerticalScrollMode(self.ScrollPerPixel)
self.delegate = CoverDelegate(self) self.delegate = CoverDelegate(self)
self.delegate.animation.valueChanged.connect(self.animation_value_changed) self.delegate.animation.valueChanged.connect(self.animation_value_changed)

View File

@ -10,7 +10,7 @@ from PyQt5.Qt import (
QApplication, QCheckBox, QComboBox, QCursor, QDateTime, QFont, QFormLayout, QApplication, QCheckBox, QComboBox, QCursor, QDateTime, QFont, QFormLayout,
QHBoxLayout, QIcon, QKeySequence, QLabel, QMenu, QPalette, QPlainTextEdit, QSize, QHBoxLayout, QIcon, QKeySequence, QLabel, QMenu, QPalette, QPlainTextEdit, QSize,
QSplitter, Qt, QTextBrowser, QTimer, QToolButton, QTreeWidget, QTreeWidgetItem, QSplitter, Qt, QTextBrowser, QTimer, QToolButton, QTreeWidget, QTreeWidgetItem,
QVBoxLayout, QWidget, pyqtSignal QVBoxLayout, QWidget, pyqtSignal, QAbstractItemView
) )
from calibre import prepare_string_for_xml from calibre import prepare_string_for_xml
@ -204,7 +204,7 @@ class ResultsList(QTreeWidget):
def __init__(self, parent): def __init__(self, parent):
QTreeWidget.__init__(self, parent) QTreeWidget.__init__(self, parent)
self.setHeaderHidden(True) self.setHeaderHidden(True)
self.setSelectionMode(self.ExtendedSelection) self.setSelectionMode(QAbstractItemView.SelectionMode.ExtendedSelection)
self.setContextMenuPolicy(Qt.ContextMenuPolicy.CustomContextMenu) self.setContextMenuPolicy(Qt.ContextMenuPolicy.CustomContextMenu)
self.customContextMenuRequested.connect(self.show_context_menu) self.customContextMenuRequested.connect(self.show_context_menu)
self.delegate = AnnotsResultsDelegate(self) self.delegate = AnnotsResultsDelegate(self)

View File

@ -11,7 +11,7 @@ from threading import Thread
from glob import glob from glob import glob
from PyQt5.Qt import ( from PyQt5.Qt import (
QDialog, QApplication, QLabel, QVBoxLayout, QDialogButtonBox, Qt, QDialog, QApplication, QLabel, QVBoxLayout, QDialogButtonBox, Qt, QAbstractItemView,
pyqtSignal, QListWidget, QListWidgetItem, QSize, QPixmap, QStyledItemDelegate pyqtSignal, QListWidget, QListWidgetItem, QSize, QPixmap, QStyledItemDelegate
) )
try: try:
@ -59,7 +59,7 @@ class PDFCovers(QDialog):
self.item_delegate = CoverDelegate(self) self.item_delegate = CoverDelegate(self)
c.setItemDelegate(self.item_delegate) c.setItemDelegate(self.item_delegate)
c.setIconSize(QSize(120, 160)) c.setIconSize(QSize(120, 160))
c.setSelectionMode(c.SingleSelection) c.setSelectionMode(QAbstractItemView.SelectionMode.SingleSelection)
c.setViewMode(c.IconMode) c.setViewMode(c.IconMode)
c.setUniformItemSizes(True) c.setUniformItemSizes(True)
c.setResizeMode(c.Adjust) c.setResizeMode(c.Adjust)

View File

@ -20,7 +20,7 @@ from PyQt5.Qt import (
QWidget, QTableView, QGridLayout, QPalette, QTimer, pyqtSignal, QWidget, QTableView, QGridLayout, QPalette, QTimer, pyqtSignal,
QAbstractTableModel, QSize, QListView, QPixmap, QModelIndex, QAbstractTableModel, QSize, QListView, QPixmap, QModelIndex,
QAbstractListModel, QRect, QTextBrowser, QStringListModel, QMenu, QAbstractListModel, QRect, QTextBrowser, QStringListModel, QMenu,
QCursor, QHBoxLayout, QPushButton, QSizePolicy, QSplitter) QCursor, QHBoxLayout, QPushButton, QSizePolicy, QSplitter, QAbstractItemView)
from calibre.customize.ui import metadata_plugins from calibre.customize.ui import metadata_plugins
from calibre.ebooks.metadata import authors_to_string, rating_to_stars from calibre.ebooks.metadata import authors_to_string, rating_to_stars
@ -214,7 +214,7 @@ class ResultsView(QTableView): # {{{
def __init__(self, parent=None): def __init__(self, parent=None):
QTableView.__init__(self, parent) QTableView.__init__(self, parent)
self.rt_delegate = RichTextDelegate(self) self.rt_delegate = RichTextDelegate(self)
self.setSelectionMode(self.SingleSelection) self.setSelectionMode(QAbstractItemView.SelectionMode.SingleSelection)
self.setAlternatingRowColors(True) self.setAlternatingRowColors(True)
self.setSelectionBehavior(self.SelectRows) self.setSelectionBehavior(self.SelectRows)
self.setIconSize(QSize(24, 24)) self.setIconSize(QSize(24, 24))
@ -774,7 +774,7 @@ class CoversView(QListView): # {{{
self.setResizeMode(self.Adjust) self.setResizeMode(self.Adjust)
self.setGridSize(QSize(190, 260)) self.setGridSize(QSize(190, 260))
self.setIconSize(QSize(*CoverDelegate.ICON_SIZE)) self.setIconSize(QSize(*CoverDelegate.ICON_SIZE))
self.setSelectionMode(self.SingleSelection) self.setSelectionMode(QAbstractItemView.SelectionMode.SingleSelection)
self.setViewMode(self.IconMode) self.setViewMode(self.IconMode)
self.delegate = CoverDelegate(self) self.delegate = CoverDelegate(self)

View File

@ -12,7 +12,7 @@ from PyQt5.Qt import (QWidget, QDialog, QLabel, QGridLayout, QComboBox, QSize,
QLineEdit, QIntValidator, QDoubleValidator, QFrame, Qt, QIcon, QHBoxLayout, QLineEdit, QIntValidator, QDoubleValidator, QFrame, Qt, QIcon, QHBoxLayout,
QScrollArea, QPushButton, QVBoxLayout, QDialogButtonBox, QToolButton, QScrollArea, QPushButton, QVBoxLayout, QDialogButtonBox, QToolButton,
QListView, QAbstractListModel, pyqtSignal, QSizePolicy, QSpacerItem, QListView, QAbstractListModel, pyqtSignal, QSizePolicy, QSpacerItem,
QApplication, QStandardItem, QStandardItemModel, QCheckBox, QMenu) QApplication, QStandardItem, QStandardItemModel, QCheckBox, QMenu, QAbstractItemView)
from calibre import prepare_string_for_xml, sanitize_file_name, as_unicode from calibre import prepare_string_for_xml, sanitize_file_name, as_unicode
from calibre.constants import config_dir from calibre.constants import config_dir
@ -911,7 +911,7 @@ class EditRules(QWidget): # {{{
self.g = g = QGridLayout() self.g = g = QGridLayout()
self.rules_view = QListView(self) self.rules_view = QListView(self)
self.rules_view.doubleClicked.connect(self.edit_rule) self.rules_view.doubleClicked.connect(self.edit_rule)
self.rules_view.setSelectionMode(self.rules_view.ExtendedSelection) self.rules_view.setSelectionMode(QAbstractItemView.SelectionMode.ExtendedSelection)
self.rules_view.setAlternatingRowColors(True) self.rules_view.setAlternatingRowColors(True)
self.rtfd = RichTextDelegate(parent=self.rules_view, max_width=400) self.rtfd = RichTextDelegate(parent=self.rules_view, max_width=400)
self.rules_view.setItemDelegate(self.rtfd) self.rules_view.setItemDelegate(self.rtfd)

View File

@ -9,7 +9,7 @@ import glob, os, shutil
from functools import partial from functools import partial
from PyQt5.Qt import ( from PyQt5.Qt import (
QDialog, QVBoxLayout, QListWidget, QListWidgetItem, Qt, QIcon, QDialog, QVBoxLayout, QListWidget, QListWidgetItem, Qt, QIcon,
QApplication, QSize, QDialogButtonBox, QTimer, QLabel) QApplication, QSize, QDialogButtonBox, QTimer, QLabel, QAbstractItemView)
from calibre.constants import config_dir from calibre.constants import config_dir
from calibre.gui2 import choose_files, error_dialog from calibre.gui2 import choose_files, error_dialog
@ -49,7 +49,7 @@ class TextureChooser(QDialog):
il.setViewMode(il.IconMode) il.setViewMode(il.IconMode)
il.setFlow(il.LeftToRight) il.setFlow(il.LeftToRight)
il.setSpacing(20) il.setSpacing(20)
il.setSelectionMode(il.SingleSelection) il.setSelectionMode(QAbstractItemView.SelectionMode.SingleSelection)
il.itemSelectionChanged.connect(self.update_remove_state) il.itemSelectionChanged.connect(self.update_remove_state)
l.addWidget(il) l.addWidget(il)

View File

@ -9,7 +9,7 @@ from functools import partial
from PyQt5.Qt import ( from PyQt5.Qt import (
Qt, QMenu, QIcon, QDialog, QGridLayout, QLabel, QLineEdit, QComboBox, Qt, QMenu, QIcon, QDialog, QGridLayout, QLabel, QLineEdit, QComboBox,
QDialogButtonBox, QSize, QVBoxLayout, QListWidget, QRadioButton, QAction, QTextBrowser) QDialogButtonBox, QSize, QVBoxLayout, QListWidget, QRadioButton, QAction, QTextBrowser, QAbstractItemView)
from calibre.gui2 import error_dialog, question_dialog, gprefs from calibre.gui2 import error_dialog, question_dialog, gprefs
from calibre.gui2.dialogs.confirm_delete import confirm from calibre.gui2.dialogs.confirm_delete import confirm
@ -32,7 +32,7 @@ class SelectNames(QDialog): # {{{
self._names = QListWidget(self) self._names = QListWidget(self)
self._names.addItems(sorted(names, key=sort_key)) self._names.addItems(sorted(names, key=sort_key))
self._names.setSelectionMode(self._names.MultiSelection) self._names.setSelectionMode(QAbstractItemView.SelectionMode.MultiSelection)
l.addWidget(self._names) l.addWidget(self._names)
self._or = QRadioButton(_('Match any of the selected %s')%txt) self._or = QRadioButton(_('Match any of the selected %s')%txt)

View File

@ -8,7 +8,7 @@ import textwrap
from PyQt5.Qt import ( from PyQt5.Qt import (
QWidget, QVBoxLayout, QHBoxLayout, QPushButton, QLabel, QListWidget, QIcon, QWidget, QVBoxLayout, QHBoxLayout, QPushButton, QLabel, QListWidget, QIcon,
QSize, QComboBox, QLineEdit, QListWidgetItem, QStyledItemDelegate, QSize, QComboBox, QLineEdit, QListWidgetItem, QStyledItemDelegate, QAbstractItemView,
QStaticText, Qt, QStyle, QToolButton, QInputDialog, QMenu, pyqtSignal QStaticText, Qt, QStyle, QToolButton, QInputDialog, QMenu, pyqtSignal
) )
@ -295,7 +295,7 @@ class Rules(QWidget):
l.addLayout(h) l.addLayout(h)
self.rule_list = r = QListWidget(self) self.rule_list = r = QListWidget(self)
self.delegate = Delegate(self) self.delegate = Delegate(self)
r.setSelectionMode(r.ExtendedSelection) r.setSelectionMode(QAbstractItemView.SelectionMode.ExtendedSelection)
r.setItemDelegate(self.delegate) r.setItemDelegate(self.delegate)
r.doubleClicked.connect(self.edit_rule) r.doubleClicked.connect(self.edit_rule)
h.addWidget(r) h.addWidget(r)

View File

@ -10,7 +10,7 @@ from functools import partial
from PyQt5.Qt import ( from PyQt5.Qt import (
QApplication, QCheckBox, QCursor, QDialog, QDialogButtonBox, QFrame, QGridLayout, QApplication, QCheckBox, QCursor, QDialog, QDialogButtonBox, QFrame, QGridLayout,
QIcon, QInputDialog, QItemSelectionModel, QKeySequence, QLabel, QMenu, QIcon, QInputDialog, QItemSelectionModel, QKeySequence, QLabel, QMenu,
QPushButton, QScrollArea, QSize, QSizePolicy, QStackedWidget, Qt, QPushButton, QScrollArea, QSize, QSizePolicy, QStackedWidget, Qt, QAbstractItemView,
QToolButton, QTreeWidget, QTreeWidgetItem, QVBoxLayout, QWidget, pyqtSignal QToolButton, QTreeWidget, QTreeWidgetItem, QVBoxLayout, QWidget, pyqtSignal
) )
from threading import Thread from threading import Thread
@ -386,7 +386,7 @@ class TreeWidget(QTreeWidget): # {{{
self.setHeaderLabel(_('Table of Contents')) self.setHeaderLabel(_('Table of Contents'))
self.setIconSize(QSize(ICON_SIZE, ICON_SIZE)) self.setIconSize(QSize(ICON_SIZE, ICON_SIZE))
self.setDragEnabled(True) self.setDragEnabled(True)
self.setSelectionMode(self.ExtendedSelection) self.setSelectionMode(QAbstractItemView.SelectionMode.ExtendedSelection)
self.viewport().setAcceptDrops(True) self.viewport().setAcceptDrops(True)
self.setDropIndicatorShown(True) self.setDropIndicatorShown(True)
self.setDragDropMode(self.InternalMove) self.setDragDropMode(self.InternalMove)

View File

@ -13,7 +13,7 @@ from PyQt5.Qt import (
QAbstractItemModel, QAbstractListModel, QApplication, QCheckBox, QGridLayout, QAbstractItemModel, QAbstractListModel, QApplication, QCheckBox, QGridLayout,
QHBoxLayout, QIcon, QInputMethodEvent, QLabel, QListView, QMenu, QMimeData, QHBoxLayout, QIcon, QInputMethodEvent, QLabel, QListView, QMenu, QMimeData,
QModelIndex, QPen, QPushButton, QSize, QSizePolicy, QSplitter, QModelIndex, QPen, QPushButton, QSize, QSizePolicy, QSplitter,
QStyledItemDelegate, Qt, QToolButton, QTreeView, pyqtSignal QStyledItemDelegate, Qt, QToolButton, QTreeView, pyqtSignal, QAbstractItemView
) )
from calibre.gui2.tweak_book import tprefs from calibre.gui2.tweak_book import tprefs
@ -618,7 +618,7 @@ class CharView(QListView):
self.setDropIndicatorShown(True) self.setDropIndicatorShown(True)
self._model.allow_dnd = False self._model.allow_dnd = False
else: else:
self.setSelectionMode(self.ExtendedSelection) self.setSelectionMode(QAbstractItemView.SelectionMode.ExtendedSelection)
self.viewport().setAcceptDrops(True) self.viewport().setAcceptDrops(True)
self.setDragEnabled(True) self.setDragEnabled(True)
self.setAcceptDrops(True) self.setAcceptDrops(True)

View File

@ -9,7 +9,8 @@ import sys
from PyQt5.Qt import ( from PyQt5.Qt import (
QIcon, Qt, QSplitter, QListWidget, QTextBrowser, QPalette, QMenu, QIcon, Qt, QSplitter, QListWidget, QTextBrowser, QPalette, QMenu,
QListWidgetItem, pyqtSignal, QApplication, QStyledItemDelegate) QListWidgetItem, pyqtSignal, QApplication, QStyledItemDelegate,
QAbstractItemView)
from calibre.ebooks.oeb.polish.check.base import WARN, INFO, DEBUG, ERROR, CRITICAL from calibre.ebooks.oeb.polish.check.base import WARN, INFO, DEBUG, ERROR, CRITICAL
from calibre.ebooks.oeb.polish.check.main import run_checks, fix_errors from calibre.ebooks.oeb.polish.check.main import run_checks, fix_errors
@ -70,7 +71,7 @@ class Check(QSplitter):
self.items.setSpacing(3) self.items.setSpacing(3)
self.items.itemDoubleClicked.connect(self.current_item_activated) self.items.itemDoubleClicked.connect(self.current_item_activated)
self.items.currentItemChanged.connect(self.current_item_changed) self.items.currentItemChanged.connect(self.current_item_changed)
self.items.setSelectionMode(self.items.NoSelection) self.items.setSelectionMode(QAbstractItemView.SelectionMode.NoSelection)
self.delegate = Delegate(self.items) self.delegate = Delegate(self.items)
self.items.setItemDelegate(self.delegate) self.items.setItemDelegate(self.delegate)
self.addWidget(i) self.addWidget(i)

View File

@ -11,7 +11,7 @@ from collections import Counter, OrderedDict, defaultdict
from functools import partial from functools import partial
from PyQt5.Qt import ( from PyQt5.Qt import (
QApplication, QCheckBox, QDialog, QDialogButtonBox, QFont, QFormLayout, QApplication, QCheckBox, QDialog, QDialogButtonBox, QFont, QFormLayout,
QGridLayout, QIcon, QInputDialog, QLabel, QLineEdit, QListWidget, QGridLayout, QIcon, QInputDialog, QLabel, QLineEdit, QListWidget, QAbstractItemView,
QListWidgetItem, QMenu, QPainter, QPixmap, QRadioButton, QScrollArea, QSize, QListWidgetItem, QMenu, QPainter, QPixmap, QRadioButton, QScrollArea, QSize,
QSpinBox, QStyle, QStyledItemDelegate, Qt, QTimer, QTreeWidget, QTreeWidgetItem, QSpinBox, QStyle, QStyledItemDelegate, Qt, QTimer, QTreeWidget, QTreeWidgetItem,
QVBoxLayout, QWidget, pyqtSignal QVBoxLayout, QWidget, pyqtSignal
@ -252,7 +252,7 @@ class FileList(QTreeWidget, OpenWithHandler):
self.header().close() self.header().close()
self.setDragEnabled(True) self.setDragEnabled(True)
self.setEditTriggers(self.EditKeyPressed) self.setEditTriggers(self.EditKeyPressed)
self.setSelectionMode(self.ExtendedSelection) self.setSelectionMode(QAbstractItemView.SelectionMode.ExtendedSelection)
self.viewport().setAcceptDrops(True) self.viewport().setAcceptDrops(True)
self.setDropIndicatorShown(True) self.setDropIndicatorShown(True)
self.setDragDropMode(self.InternalMove) self.setDragDropMode(self.InternalMove)

View File

@ -11,7 +11,7 @@ from io import BytesIO
from PyQt5.Qt import ( from PyQt5.Qt import (
QSplitter, QVBoxLayout, QTableView, QWidget, QLabel, QAbstractTableModel, QSplitter, QVBoxLayout, QTableView, QWidget, QLabel, QAbstractTableModel,
Qt, QTimer, QPushButton, pyqtSignal, QFormLayout, QLineEdit, QIcon, QSize, Qt, QTimer, QPushButton, pyqtSignal, QFormLayout, QLineEdit, QIcon, QSize,
QHBoxLayout, QTextEdit, QApplication, QMessageBox) QHBoxLayout, QTextEdit, QApplication, QMessageBox, QAbstractItemView)
from calibre.ebooks.oeb.polish.container import get_container from calibre.ebooks.oeb.polish.container import get_container
from calibre.ebooks.oeb.polish.fonts import font_family_data, change_font from calibre.ebooks.oeb.polish.fonts import font_family_data, change_font
@ -253,7 +253,7 @@ class ManageFonts(Dialog):
fv.setSortingEnabled(True) fv.setSortingEnabled(True)
fv.setShowGrid(False) fv.setShowGrid(False)
fv.setAlternatingRowColors(True) fv.setAlternatingRowColors(True)
fv.setSelectionMode(fv.ExtendedSelection) fv.setSelectionMode(QAbstractItemView.SelectionMode.ExtendedSelection)
fv.setSelectionBehavior(fv.SelectRows) fv.setSelectionBehavior(fv.SelectRows)
fv.horizontalHeader().setSortIndicator(1, Qt.SortOrder.AscendingOrder) fv.horizontalHeader().setSortIndicator(1, Qt.SortOrder.AscendingOrder)
self.container = c = QWidget() self.container = c = QWidget()

View File

@ -12,7 +12,7 @@ from PyQt5.Qt import (
QTextBrowser, QVBoxLayout, QDialog, QDialogButtonBox, QIcon, QLabel, QTextBrowser, QVBoxLayout, QDialog, QDialogButtonBox, QIcon, QLabel,
QCheckBox, Qt, QListWidgetItem, QHBoxLayout, QListWidget, QPixmap, QCheckBox, Qt, QListWidgetItem, QHBoxLayout, QListWidget, QPixmap,
QSpinBox, QStyledItemDelegate, QSize, QStyle, QPen, QSpinBox, QStyledItemDelegate, QSize, QStyle, QPen,
QProgressBar, pyqtSignal, QApplication QProgressBar, pyqtSignal, QApplication, QAbstractItemView
) )
from calibre import human_readable, fit_image, force_unicode from calibre import human_readable, fit_image, force_unicode
@ -185,7 +185,7 @@ class CompressImages(Dialog):
for name in sorted(get_compressible_images(c), key=numeric_sort_key): for name in sorted(get_compressible_images(c), key=numeric_sort_key):
x = QListWidgetItem(name, i) x = QListWidgetItem(name, i)
x.setData(Qt.ItemDataRole.UserRole, c.filesize(name)) x.setData(Qt.ItemDataRole.UserRole, c.filesize(name))
i.setSelectionMode(i.ExtendedSelection) i.setSelectionMode(QAbstractItemView.SelectionMode.ExtendedSelection)
i.setMinimumHeight(350), i.setMinimumWidth(350) i.setMinimumHeight(350), i.setMinimumWidth(350)
i.selectAll(), i.setSpacing(5) i.selectAll(), i.setSpacing(5)
self.delegate = ImageItemDelegate(self) self.delegate = ImageItemDelegate(self)

View File

@ -18,7 +18,7 @@ from PyQt5.Qt import (
QDialog, QGridLayout, QStackedWidget, QDialogButtonBox, QListWidget, QDialog, QGridLayout, QStackedWidget, QDialogButtonBox, QListWidget,
QListWidgetItem, QIcon, QWidget, QSize, QFormLayout, Qt, QSpinBox, QListWidgetItem, QIcon, QWidget, QSize, QFormLayout, Qt, QSpinBox,
QCheckBox, pyqtSignal, QDoubleSpinBox, QComboBox, QLabel, QFont, QApplication, QCheckBox, pyqtSignal, QDoubleSpinBox, QComboBox, QLabel, QFont, QApplication,
QFontComboBox, QPushButton, QSizePolicy, QHBoxLayout, QGroupBox, QFontComboBox, QPushButton, QSizePolicy, QHBoxLayout, QGroupBox, QAbstractItemView,
QToolButton, QVBoxLayout, QSpacerItem, QTimer, QRadioButton) QToolButton, QVBoxLayout, QSpacerItem, QTimer, QRadioButton)
from calibre import prepare_string_for_xml from calibre import prepare_string_for_xml
@ -434,7 +434,7 @@ class ToolbarList(QListWidget):
def __init__(self, parent=None): def __init__(self, parent=None):
QListWidget.__init__(self, parent) QListWidget.__init__(self, parent)
self.setSelectionMode(self.ExtendedSelection) self.setSelectionMode(QAbstractItemView.SelectionMode.ExtendedSelection)
class ToolbarSettings(QWidget): class ToolbarSettings(QWidget):

View File

@ -20,7 +20,7 @@ from PyQt5.Qt import (
QListWidgetItem, QLineEdit, QStackedWidget, QSplitter, QByteArray, QPixmap, QListWidgetItem, QLineEdit, QStackedWidget, QSplitter, QByteArray, QPixmap,
QStyledItemDelegate, QModelIndex, QRect, QStyle, QPalette, QTimer, QMenu, QStyledItemDelegate, QModelIndex, QRect, QStyle, QPalette, QTimer, QMenu,
QAbstractItemModel, QTreeView, QFont, QRadioButton, QHBoxLayout, QAbstractItemModel, QTreeView, QFont, QRadioButton, QHBoxLayout,
QFontDatabase, QComboBox, QUrl) QFontDatabase, QComboBox, QUrl, QAbstractItemView)
from calibre import human_readable, fit_image from calibre import human_readable, fit_image
from calibre.constants import DEBUG from calibre.constants import DEBUG
@ -130,7 +130,8 @@ class FilesView(QTableView):
def __init__(self, model, parent=None): def __init__(self, model, parent=None):
QTableView.__init__(self, parent) QTableView.__init__(self, parent)
self.setSelectionBehavior(self.SelectRows), self.setSelectionMode(self.ExtendedSelection) self.setSelectionBehavior(self.SelectRows)
self.setSelectionMode(QAbstractItemView.SelectionMode.ExtendedSelection)
self.setAlternatingRowColors(True) self.setAlternatingRowColors(True)
self.setSortingEnabled(True) self.setSortingEnabled(True)
self.proxy = p = ProxyModel(self) self.proxy = p = ProxyModel(self)

View File

@ -14,7 +14,7 @@ from PyQt5.Qt import (
QGridLayout, QHBoxLayout, QIcon, QItemSelection, QKeySequence, QLabel, QLineEdit, QGridLayout, QHBoxLayout, QIcon, QItemSelection, QKeySequence, QLabel, QLineEdit,
QListView, QMenu, QMimeData, QModelIndex, QPushButton, QScrollArea, QSize, QListView, QMenu, QMimeData, QModelIndex, QPushButton, QScrollArea, QSize,
QSizePolicy, QStackedLayout, QStyledItemDelegate, Qt, QTimer, QToolBar, QSizePolicy, QStackedLayout, QStyledItemDelegate, Qt, QTimer, QToolBar,
QToolButton, QVBoxLayout, QWidget, pyqtSignal QToolButton, QVBoxLayout, QWidget, pyqtSignal, QAbstractItemView
) )
from calibre import prepare_string_for_xml from calibre import prepare_string_for_xml
@ -912,7 +912,7 @@ class SavedSearches(QWidget):
self.model.dataChanged.connect(self.show_details) self.model.dataChanged.connect(self.show_details)
searches.setModel(self.model) searches.setModel(self.model)
searches.selectionModel().currentChanged.connect(self.show_details) searches.selectionModel().currentChanged.connect(self.show_details)
searches.setSelectionMode(searches.ExtendedSelection) searches.setSelectionMode(QAbstractItemView.SelectionMode.ExtendedSelection)
self.delegate = SearchDelegate(searches) self.delegate = SearchDelegate(searches)
searches.setItemDelegate(self.delegate) searches.setItemDelegate(self.delegate)
searches.setAlternatingRowColors(True) searches.setAlternatingRowColors(True)

View File

@ -16,7 +16,7 @@ from PyQt5.Qt import (
QInputDialog, QKeySequence, QLabel, QLineEdit, QListWidget, QListWidgetItem, QInputDialog, QKeySequence, QLabel, QLineEdit, QListWidget, QListWidgetItem,
QMenu, QModelIndex, QPlainTextEdit, QPushButton, QSize, QStackedLayout, Qt, QMenu, QModelIndex, QPlainTextEdit, QPushButton, QSize, QStackedLayout, Qt,
QTableView, QTimer, QToolButton, QTreeWidget, QTreeWidgetItem, QVBoxLayout, QTableView, QTimer, QToolButton, QTreeWidget, QTreeWidgetItem, QVBoxLayout,
QWidget, pyqtSignal QWidget, pyqtSignal, QAbstractItemView
) )
from threading import Thread from threading import Thread
@ -216,7 +216,7 @@ class ManageUserDictionaries(Dialog):
self.la = la = QLabel(_('Words in this dictionary:')) self.la = la = QLabel(_('Words in this dictionary:'))
l.addWidget(la) l.addWidget(la)
self.words = w = UserWordList(self) self.words = w = UserWordList(self)
w.setSelectionMode(w.ExtendedSelection) w.setSelectionMode(QAbstractItemView.SelectionMode.ExtendedSelection)
l.addWidget(w) l.addWidget(w)
self.add_word_button = b = QPushButton(_('&Add word'), self) self.add_word_button = b = QPushButton(_('&Add word'), self)
b.clicked.connect(self.add_word) b.clicked.connect(self.add_word)

View File

@ -10,7 +10,8 @@ from itertools import chain
from PyQt5.Qt import ( from PyQt5.Qt import (
QColor, QFont, QHBoxLayout, QIcon, QImage, QItemSelectionModel, QKeySequence, QColor, QFont, QHBoxLayout, QIcon, QImage, QItemSelectionModel, QKeySequence,
QLabel, QMenu, QPainter, QPainterPath, QPixmap, QPushButton, QRect, QSizePolicy, QLabel, QMenu, QPainter, QPainterPath, QPixmap, QPushButton, QRect, QSizePolicy,
Qt, QTextEdit, QTreeWidget, QTreeWidgetItem, QVBoxLayout, QWidget, pyqtSignal Qt, QTextEdit, QTreeWidget, QTreeWidgetItem, QVBoxLayout, QWidget, pyqtSignal,
QAbstractItemView
) )
from calibre.constants import ( from calibre.constants import (
@ -156,7 +157,7 @@ class Highlights(QTreeWidget):
self.default_decoration = QIcon(I('blank.png')) self.default_decoration = QIcon(I('blank.png'))
self.setHeaderHidden(True) self.setHeaderHidden(True)
self.num_of_items = 0 self.num_of_items = 0
self.setSelectionMode(self.ExtendedSelection) self.setSelectionMode(QAbstractItemView.SelectionMode.ExtendedSelection)
set_no_activate_on_click(self) set_no_activate_on_click(self)
self.itemActivated.connect(self.item_activated) self.itemActivated.connect(self.item_activated)
self.currentItemChanged.connect(self.current_item_changed) self.currentItemChanged.connect(self.current_item_changed)

View File

@ -8,7 +8,8 @@ from functools import partial
from PyQt5.Qt import ( from PyQt5.Qt import (
QAction, QGroupBox, QHBoxLayout, QIcon, QKeySequence, QLabel, QListWidget, QAction, QGroupBox, QHBoxLayout, QIcon, QKeySequence, QLabel, QListWidget,
QListWidgetItem, QMenu, Qt, QToolBar, QToolButton, QVBoxLayout, pyqtSignal QListWidgetItem, QMenu, Qt, QToolBar, QToolButton, QVBoxLayout, pyqtSignal,
QAbstractItemView
) )
from PyQt5.QtWebEngineWidgets import QWebEnginePage from PyQt5.QtWebEngineWidgets import QWebEnginePage
@ -305,7 +306,7 @@ class ActionsList(QListWidget):
def __init__(self, actions, parent=None, is_source=True): def __init__(self, actions, parent=None, is_source=True):
QListWidget.__init__(self, parent) QListWidget.__init__(self, parent)
self.setSelectionMode(self.ExtendedSelection) self.setSelectionMode(QAbstractItemView.SelectionMode.ExtendedSelection)
self.setDragEnabled(True) self.setDragEnabled(True)
self.viewport().setAcceptDrops(True) self.viewport().setAcceptDrops(True)
self.setDropIndicatorShown(True) self.setDropIndicatorShown(True)