vcl/source/control/imivctl1.cxx |   21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

New commits:
commit fedc32852981682df6919147ecf410d7a06964d6
Author:     Heiko Tietze <[email protected]>
AuthorDate: Tue Nov 11 14:46:11 2025 +0100
Commit:     Heiko Tietze <[email protected]>
CommitDate: Wed Nov 12 08:50:10 2025 +0100

    Resolves tdf#169383 - Accept ctrl+tab / shift+ctrl+tab on vertical tabs
    
    Change-Id: Ia7f7a8980129914c66e50fc5663afa7a0e0fdc7a
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193806
    Reviewed-by: Heiko Tietze <[email protected]>
    Tested-by: Jenkins

diff --git a/vcl/source/control/imivctl1.cxx b/vcl/source/control/imivctl1.cxx
index 8ad79de5ba9d..8cc63ecec625 100644
--- a/vcl/source/control/imivctl1.cxx
+++ b/vcl/source/control/imivctl1.cxx
@@ -531,6 +531,27 @@ bool SvxIconChoiceCtrl_Impl::KeyInput( const KeyEvent& 
rKEvt )
                 }
             }
             break;
+        case KEY_TAB:
+            if (!rKEvt.GetKeyCode().IsMod1())
+                bKeyUsed = false; // handle simple tab key without ctrl/cmd
+            else if( pCursor )
+            {
+                MakeEntryVisible( pCursor );
+                const bool bDown = !rKEvt.GetKeyCode().IsShift();
+                pNewCursor = pImpCursor->GoUpDown(pCursor, bDown);
+                SetCursor_Impl(pNewCursor);
+                if( !pNewCursor )
+                {
+                    tools::Rectangle aRect( GetEntryBoundRect( pCursor ) );
+                    if( aRect.Top())
+                    {
+                        aRect.AdjustBottom( -(aRect.Top()) );
+                        aRect.SetTop( 0 );
+                        MakeVisible( aRect );
+                    }
+                }
+            }
+            break;
 
         case KEY_DOWN:
         case KEY_PAGEDOWN:

Reply via email to