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

View File

@ -16,7 +16,7 @@ from calibre.ebooks import BOOK_EXTENSIONS
from calibre.ebooks.oeb.iterator import is_supported from calibre.ebooks.oeb.iterator import is_supported
from calibre.gui2 import config, dynamic, gprefs, info_dialog from calibre.gui2 import config, dynamic, gprefs, info_dialog
from calibre.gui2.actions.choose_library import get_change_library_action_plugin 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.gui2.preferences.behavior_ui import Ui_Form
from calibre.utils.config import prefs from calibre.utils.config import prefs
from calibre.utils.icu import sort_key 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 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.dialogs.template_dialog import TemplateDialog
from calibre.gui2.metadata.single_download import RichTextDelegate 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.gui2.widgets2 import ColorButton, FlowLayout, Separator
from calibre.library.coloring import Rule, color_row_key, conditionable_columns, displayable_columns, rule_from_template from calibre.library.coloring import Rule, color_row_key, conditionable_columns, displayable_columns, rule_from_template
from calibre.utils.icu import lower, sort_key from calibre.utils.icu import lower, sort_key

View File

@ -7,8 +7,8 @@ __docformat__ = 'restructuredtext en'
import copy import copy
import sys import sys
from functools import partial
from contextlib import suppress from contextlib import suppress
from functools import partial
from qt.core import QAbstractItemView, QIcon, Qt, QTableWidgetItem 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 import choose_files, choose_save_file, error_dialog
from calibre.gui2.book_details import get_field_list from calibre.gui2.book_details import get_field_list
from calibre.gui2.dialogs.template_dialog import TemplateDialog 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.preferences.coloring import EditRules
from calibre.gui2.ui import get_gui from calibre.gui2.ui import get_gui
from calibre.utils.formatter import EvalFormatter from calibre.utils.formatter import EvalFormatter

View File

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