diff --git a/src/calibre/gui2/tweak_book/editor/smarts/css.py b/src/calibre/gui2/tweak_book/editor/smarts/css.py index de70107470..ddaae069db 100644 --- a/src/calibre/gui2/tweak_book/editor/smarts/css.py +++ b/src/calibre/gui2/tweak_book/editor/smarts/css.py @@ -67,8 +67,10 @@ class Smarts(NullSmarts): if key == Qt.Key.Key_Home and smart_home(editor, ev): return True - if key == Qt.Key.Key_Tab and smart_tab(editor, ev): - return True + if key == Qt.Key.Key_Tab: + mods = ev.modifiers() + if not mods & Qt.KeyboardModifier.ControlModifier and smart_tab(editor, ev): + return True if key == Qt.Key.Key_Backspace and smart_backspace(editor, ev): return True diff --git a/src/calibre/gui2/tweak_book/editor/smarts/html.py b/src/calibre/gui2/tweak_book/editor/smarts/html.py index 8273129ef4..3def640b09 100644 --- a/src/calibre/gui2/tweak_book/editor/smarts/html.py +++ b/src/calibre/gui2/tweak_book/editor/smarts/html.py @@ -723,8 +723,10 @@ class Smarts(NullSmarts): if key == Qt.Key.Key_Home and smart_home(editor, ev): return True - if key == Qt.Key.Key_Tab and smart_tab(editor, ev): - return True + if key == Qt.Key.Key_Tab: + mods = ev.modifiers() + if not mods & Qt.KeyboardModifier.ControlModifier and smart_tab(editor, ev): + return True if key == Qt.Key.Key_Backspace and smart_backspace(editor, ev): return True diff --git a/src/calibre/gui2/tweak_book/editor/smarts/python.py b/src/calibre/gui2/tweak_book/editor/smarts/python.py index cecb4c7703..dd2de15cb7 100644 --- a/src/calibre/gui2/tweak_book/editor/smarts/python.py +++ b/src/calibre/gui2/tweak_book/editor/smarts/python.py @@ -36,8 +36,10 @@ class Smarts(NullSmarts): def handle_key_press(self, ev, editor): key = ev.key() - if key == Qt.Key.Key_Tab and smart_tab(editor, ev): - return True + if key == Qt.Key.Key_Tab: + mods = ev.modifiers() + if not mods & Qt.KeyboardModifier.ControlModifier and smart_tab(editor, ev): + return True elif key == Qt.Key.Key_Backspace and smart_backspace(editor, ev): return True