diff --git a/kstyle/breeze.kcfg b/kstyle/breeze.kcfg
--- a/kstyle/breeze.kcfg
+++ b/kstyle/breeze.kcfg
@@ -134,6 +134,15 @@
true
+
+
+
+
+
+
+ OM_EXTEND
+
+
diff --git a/kstyle/breezestyle.cpp b/kstyle/breezestyle.cpp
--- a/kstyle/breezestyle.cpp
+++ b/kstyle/breezestyle.cpp
@@ -674,6 +674,7 @@
case SH_Menu_MouseTracking: return true;
case SH_Menu_SubMenuPopupDelay: return 150;
case SH_Menu_SloppySubMenus: return true;
+ case SH_Menu_Scrollable: return StyleConfigData::overflowingMenusMode() == StyleConfigData::OM_SCROLL;
#if QT_VERSION >= 0x050000
// TODO Qt6: drop deprecated SH_Widget_Animate
diff --git a/kstyle/config/breezestyleconfig.cpp b/kstyle/config/breezestyleconfig.cpp
--- a/kstyle/config/breezestyleconfig.cpp
+++ b/kstyle/config/breezestyleconfig.cpp
@@ -63,6 +63,7 @@
connect( _animationsDuration, SIGNAL(valueChanged(int)), SLOT(updateChanged()) );
connect( _scrollBarAddLineButtons, SIGNAL(currentIndexChanged(int)), SLOT(updateChanged()) );
connect( _scrollBarSubLineButtons, SIGNAL(currentIndexChanged(int)), SLOT(updateChanged()) );
+ connect( _overflowingMenusMode, SIGNAL(currentIndexChanged(int)), SLOT(updateChanged()) );
connect( _windowDragMode, SIGNAL(currentIndexChanged(int)), SLOT(updateChanged()) );
connect( _menuOpacity, SIGNAL(valueChanged(int)), SLOT(updateChanged()) );
@@ -85,6 +86,7 @@
StyleConfigData::setScrollBarSubLineButtons( _scrollBarSubLineButtons->currentIndex() );
StyleConfigData::setAnimationsEnabled( _animationsEnabled->isChecked() );
StyleConfigData::setAnimationsDuration( _animationsDuration->value() );
+ StyleConfigData::setOverflowingMenusMode( _overflowingMenusMode->currentIndex() );
StyleConfigData::setWindowDragMode( _windowDragMode->currentIndex() );
StyleConfigData::setMenuOpacity( _menuOpacity->value() );
@@ -148,6 +150,7 @@
else if( _splitterProxyEnabled->isChecked() != StyleConfigData::splitterProxyEnabled() ) modified = true;
else if( _animationsEnabled->isChecked() != StyleConfigData::animationsEnabled() ) modified = true;
else if( _animationsDuration->value() != StyleConfigData::animationsDuration() ) modified = true;
+ else if( _overflowingMenusMode->currentIndex() != StyleConfigData::overflowingMenusMode() ) modified = true;
else if( _windowDragMode->currentIndex() != StyleConfigData::windowDragMode() ) modified = true;
else if( _menuOpacity->value() != StyleConfigData::menuOpacity() ) modified = true;
@@ -173,6 +176,7 @@
_scrollBarSubLineButtons->setCurrentIndex( StyleConfigData::scrollBarSubLineButtons() );
_animationsEnabled->setChecked( StyleConfigData::animationsEnabled() );
_animationsDuration->setValue( StyleConfigData::animationsDuration() );
+ _overflowingMenusMode->setCurrentIndex( StyleConfigData::overflowingMenusMode() );
_windowDragMode->setCurrentIndex( StyleConfigData::windowDragMode() );
_menuOpacity->setValue( StyleConfigData::menuOpacity() );
diff --git a/kstyle/config/ui/breezestyleconfig.ui b/kstyle/config/ui/breezestyleconfig.ui
--- a/kstyle/config/ui/breezestyleconfig.ui
+++ b/kstyle/config/ui/breezestyleconfig.ui
@@ -39,7 +39,7 @@
General
- -
+
-
@@ -66,6 +66,33 @@
-
+
+
+ Overflowing menus:
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ _overflowingMenusMode
+
+
+
+ -
+
+
-
+
+ Extend Horizontally
+
+
+ -
+
+ Scroll
+
+
+
+
+ -
&Keyboard accelerators visibility:
@@ -78,7 +105,7 @@
- -
+
-
-
@@ -97,20 +124,7 @@
- -
-
-
- Qt::Horizontal
-
-
-
- 65
- 20
-
-
-
-
- -
+
-
-
@@ -129,7 +143,7 @@
- -
+
-
Qt::Vertical