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