Cleanup previous PR

Keyboard modifiers can contain extra bits that we need to ignore.
Fixes #2120768 [[Enhancement]ctrl+ up/down arrows for setting metadata edit order](https://bugs.launchpad.net/calibre/+bug/2120768)
This commit is contained in:
Kovid Goyal 2025-08-17 21:14:31 +05:30
parent 86239a5fed
commit 59ffef4b47
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C
6 changed files with 9 additions and 16 deletions

View File

@ -5,8 +5,8 @@ __license__ = 'GPL v3'
__copyright__ = '2010, Kovid Goyal <kovid@kovidgoyal.net>'
__docformat__ = 'restructuredtext en'
from functools import partial
import textwrap
from functools import partial
from qt.core import (
QAbstractSpinBox,
@ -530,16 +530,10 @@ class TableWidgetWithMoveByKeyPress(QTableWidget):
def get_move_count(row_count):
mods = QApplication.keyboardModifiers()
if mods == Qt.KeyboardModifier.ShiftModifier:
count = 5
elif mods == Qt.KeyboardModifier.ControlModifier:
count = 10
elif mods == (Qt.KeyboardModifier.ShiftModifier | Qt.KeyboardModifier.ControlModifier):
count = row_count
else:
count = 1
return count
mods = QApplication.keyboardModifiers() & (
Qt.KeyboardModifier.ShiftModifier | Qt.KeyboardModifier.ControlModifier |Qt.KeyboardModifier.AltModifier | Qt.KeyboardModifier.MetaModifier)
return {Qt.KeyboardModifier.ShiftModifier | Qt.KeyboardModifier.ControlModifier: row_count,
Qt.KeyboardModifier.ShiftModifier: 5, Qt.KeyboardModifier.ControlModifier: 10}.get(mods, 1)
# Testing {{{

View File

@ -16,7 +16,7 @@ from calibre.ebooks import BOOK_EXTENSIONS
from calibre.ebooks.oeb.iterator import is_supported
from calibre.gui2 import config, dynamic, gprefs, info_dialog
from calibre.gui2.actions.choose_library import get_change_library_action_plugin
from calibre.gui2.preferences import ConfigWidgetBase, get_move_count, Setting, test_widget
from calibre.gui2.preferences import ConfigWidgetBase, Setting, get_move_count, test_widget
from calibre.gui2.preferences.behavior_ui import Ui_Form
from calibre.utils.config import prefs
from calibre.utils.icu import sort_key

View File

@ -51,7 +51,7 @@ from calibre.constants import config_dir
from calibre.gui2 import choose_files, choose_save_file, error_dialog, gprefs, info_dialog, open_local_file, pixmap_to_data, question_dialog
from calibre.gui2.dialogs.template_dialog import TemplateDialog
from calibre.gui2.metadata.single_download import RichTextDelegate
from calibre.gui2.preferences import get_move_count, ListViewWithMoveByKeyPress
from calibre.gui2.preferences import ListViewWithMoveByKeyPress, get_move_count
from calibre.gui2.widgets2 import ColorButton, FlowLayout, Separator
from calibre.library.coloring import Rule, color_row_key, conditionable_columns, displayable_columns, rule_from_template
from calibre.utils.icu import lower, sort_key

View File

@ -7,8 +7,8 @@ __docformat__ = 'restructuredtext en'
import copy
import sys
from functools import partial
from contextlib import suppress
from functools import partial
from qt.core import QAbstractItemView, QIcon, Qt, QTableWidgetItem

View File

@ -29,7 +29,7 @@ from calibre.ebooks.metadata.search_internet import qquote
from calibre.gui2 import choose_files, choose_save_file, error_dialog
from calibre.gui2.book_details import get_field_list
from calibre.gui2.dialogs.template_dialog import TemplateDialog
from calibre.gui2.preferences import get_move_count, LazyConfigWidgetBase
from calibre.gui2.preferences import LazyConfigWidgetBase, get_move_count
from calibre.gui2.preferences.coloring import EditRules
from calibre.gui2.ui import get_gui
from calibre.utils.formatter import EvalFormatter

View File

@ -7,7 +7,6 @@ __docformat__ = 'restructuredtext en'
from functools import partial
from calibre.db.categories import is_standard_category
from calibre.gui2 import config, gprefs
from calibre.gui2.preferences import LazyConfigWidgetBase
from calibre.gui2.preferences.look_feel_tabs import DisplayedFields, export_layout, import_layout, move_field_down, move_field_up, reset_layout