vcl/source/edit/vclmedit.cxx |   15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

New commits:
commit 0f348ba55db9eabe990b5bbeb42d1d94b3b70e79
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Mon Jan 9 10:32:37 2023 +0000
Commit:     Caolán McNamara <caol...@redhat.com>
CommitDate: Thu Jan 12 08:48:26 2023 +0000

    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 <caol...@redhat.com>

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
     {

Reply via email to