summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2023-01-09 10:32:37 +0000
committerCaolán McNamara <caolanm@redhat.com>2023-01-12 08:48:26 +0000
commit0f348ba55db9eabe990b5bbeb42d1d94b3b70e79 (patch)
treec4a266a13f3f9c7911f16b307dcf0175f7537f58 /vcl
parent743713648e1abc124fc5783f3ea6a20b7d73701d (diff)
Resolves: tdf#107625 make ctrl+tab act like tab when tab is an input char
Change-Id: Ic3d698920fc94df1adf142e4cbab9725ae45273c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145193 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'vcl')
-rw-r--r--vcl/source/edit/vclmedit.cxx15
1 files changed, 13 insertions, 2 deletions
diff --git a/vcl/source/edit/vclmedit.cxx b/vcl/source/edit/vclmedit.cxx
index d24e118b4f7e..3008a7e887d0 100644
--- a/vcl/source/edit/vclmedit.cxx
+++ b/vcl/source/edit/vclmedit.cxx
@@ -724,8 +724,19 @@ void TextWindow::KeyInput( const KeyEvent& rKEvent )
}
else if ( nCode == KEY_TAB )
{
- if ( !mbIgnoreTab || rKEvent.GetKeyCode().IsMod1() )
- bDone = mpExtTextView->KeyInput( rKEvent );
+ if (!mbIgnoreTab)
+ {
+ if (!rKEvent.GetKeyCode().IsMod1())
+ bDone = mpExtTextView->KeyInput(rKEvent);
+ else
+ {
+ // tdf#107625 make ctrl+tab act like tab when MultiLine Edit normally accepts tab as an input char
+ vcl::KeyCode aKeyCode(rKEvent.GetKeyCode().GetCode(), rKEvent.GetKeyCode().GetModifier() & ~KEY_MOD1);
+ KeyEvent aKEventWithoutMod1(rKEvent.GetCharCode(), aKeyCode, rKEvent.GetRepeat());
+ Window::KeyInput(aKEventWithoutMod1);
+ bDone = true;
+ }
+ }
}
else
{