diff options
author | Christian Dywan <christian.dywan@lanedo.com> | 2011-04-14 19:41:41 +0200 |
---|---|---|
committer | Luboš Luňák <l.lunak@suse.cz> | 2011-04-20 17:06:37 +0200 |
commit | d248ff75bba436523b2e106d19032b63774f36c8 (patch) | |
tree | 13ffc033e32967290f8a6d60fe2a3fdb6c32be1b | |
parent | c2c8ac28a49fd26e01435e2c2714a7474c23f8a1 (diff) |
Only accelerators in Edit popup on Windows and KDE
The new style setting AcceleratorsInContextMenus defaults to True and
is disabled for GNOME and OSX.
Fixes: fdo#36239
-rw-r--r-- | vcl/aqua/source/window/salframe.cxx | 1 | ||||
-rw-r--r-- | vcl/inc/vcl/settings.hxx | 5 | ||||
-rw-r--r-- | vcl/source/app/settings.cxx | 3 | ||||
-rw-r--r-- | vcl/source/control/edit.cxx | 18 | ||||
-rw-r--r-- | vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx | 1 |
5 files changed, 21 insertions, 7 deletions
diff --git a/vcl/aqua/source/window/salframe.cxx b/vcl/aqua/source/window/salframe.cxx index 9c136fba262e..afe6ee6d0130 100644 --- a/vcl/aqua/source/window/salframe.cxx +++ b/vcl/aqua/source/window/salframe.cxx @@ -1320,6 +1320,7 @@ void AquaSalFrame::UpdateSettings( AllSettings& rSettings ) // images in menus false for MacOSX aStyleSettings.SetPreferredUseImagesInMenus( false ); + aStyleSettings.SetAcceleratorsInContextMenus( sal_False ); rSettings.SetStyleSettings( aStyleSettings ); diff --git a/vcl/inc/vcl/settings.hxx b/vcl/inc/vcl/settings.hxx index cc5b44169ff6..c35815506b98 100644 --- a/vcl/inc/vcl/settings.hxx +++ b/vcl/inc/vcl/settings.hxx @@ -434,6 +434,7 @@ private: sal_uLong mnSymbolsStyle; sal_uLong mnPreferredSymbolsStyle; sal_uInt16 mnSkipDisabledInMenus; + sal_Bool mnAcceleratorsInContextMenus; Wallpaper maWorkspaceGradient; const void* mpFontOptions; }; @@ -735,6 +736,10 @@ public: { CopyData(); mpData->mnSkipDisabledInMenus = bSkipDisabledInMenus; } sal_Bool GetSkipDisabledInMenus() const { return (sal_Bool) mpData->mnSkipDisabledInMenus; } + void SetAcceleratorsInContextMenus( sal_Bool bAcceleratorsInContextMenus ) + { CopyData(); mpData->mnAcceleratorsInContextMenus = bAcceleratorsInContextMenus; } + sal_Bool GetAcceleratorsInContextMenus() const + { return mpData->mnAcceleratorsInContextMenus; } void SetCairoFontOptions( const void *pOptions ) { CopyData(); mpData->mpFontOptions = pOptions; } diff --git a/vcl/source/app/settings.cxx b/vcl/source/app/settings.cxx index 75fd77bbaf73..a55fec63e8b1 100644 --- a/vcl/source/app/settings.cxx +++ b/vcl/source/app/settings.cxx @@ -529,6 +529,7 @@ ImplStyleData::ImplStyleData( const ImplStyleData& rData ) : mnUseImagesInMenus = rData.mnUseImagesInMenus; mbPreferredUseImagesInMenus = rData.mbPreferredUseImagesInMenus; mnSkipDisabledInMenus = rData.mnSkipDisabledInMenus; + mnAcceleratorsInContextMenus = rData.mnAcceleratorsInContextMenus; mnToolbarIconSize = rData.mnToolbarIconSize; mnSymbolsStyle = rData.mnSymbolsStyle; mnPreferredSymbolsStyle = rData.mnPreferredSymbolsStyle; @@ -617,6 +618,7 @@ void ImplStyleData::SetStandardStyles() mnUseFlatMenues = 0; mbPreferredUseImagesInMenus = sal_True; mnSkipDisabledInMenus = (sal_uInt16)sal_False; + mnAcceleratorsInContextMenus = sal_True; Gradient aGrad( GRADIENT_LINEAR, DEFAULT_WORKSPACE_GRADIENT_START_COLOR, DEFAULT_WORKSPACE_GRADIENT_END_COLOR ); maWorkspaceGradient = Wallpaper( aGrad ); @@ -1077,6 +1079,7 @@ sal_Bool StyleSettings::operator ==( const StyleSettings& rSet ) const (mpData->mnUseImagesInMenus == rSet.mpData->mnUseImagesInMenus) && (mpData->mbPreferredUseImagesInMenus == rSet.mpData->mbPreferredUseImagesInMenus) && (mpData->mnSkipDisabledInMenus == rSet.mpData->mnSkipDisabledInMenus) && + (mpData->mnAcceleratorsInContextMenus == rSet.mpData->mnAcceleratorsInContextMenus) && (mpData->maFontColor == rSet.mpData->maFontColor )) return sal_True; else diff --git a/vcl/source/control/edit.cxx b/vcl/source/control/edit.cxx index 41d5ca198cf2..a28c43346720 100644 --- a/vcl/source/control/edit.cxx +++ b/vcl/source/control/edit.cxx @@ -2933,13 +2933,17 @@ PopupMenu* Edit::CreatePopupMenu() return new PopupMenu(); PopupMenu* pPopup = new PopupMenu( ResId( SV_RESID_MENU_EDIT, *pResMgr ) ); - pPopup->SetAccelKey( SV_MENU_EDIT_UNDO, KeyCode( KEYFUNC_UNDO ) ); - pPopup->SetAccelKey( SV_MENU_EDIT_CUT, KeyCode( KEYFUNC_CUT ) ); - pPopup->SetAccelKey( SV_MENU_EDIT_COPY, KeyCode( KEYFUNC_COPY ) ); - pPopup->SetAccelKey( SV_MENU_EDIT_PASTE, KeyCode( KEYFUNC_PASTE ) ); - pPopup->SetAccelKey( SV_MENU_EDIT_DELETE, KeyCode( KEYFUNC_DELETE ) ); - pPopup->SetAccelKey( SV_MENU_EDIT_SELECTALL, KeyCode( KEY_A, sal_False, sal_True, sal_False, sal_False ) ); - pPopup->SetAccelKey( SV_MENU_EDIT_INSERTSYMBOL, KeyCode( KEY_S, sal_True, sal_True, sal_False, sal_False ) ); + const StyleSettings& rStyleSettings = Application::GetSettings().GetStyleSettings(); + if ( rStyleSettings.GetAcceleratorsInContextMenus() ) + { + pPopup->SetAccelKey( SV_MENU_EDIT_UNDO, KeyCode( KEYFUNC_UNDO ) ); + pPopup->SetAccelKey( SV_MENU_EDIT_CUT, KeyCode( KEYFUNC_CUT ) ); + pPopup->SetAccelKey( SV_MENU_EDIT_COPY, KeyCode( KEYFUNC_COPY ) ); + pPopup->SetAccelKey( SV_MENU_EDIT_PASTE, KeyCode( KEYFUNC_PASTE ) ); + pPopup->SetAccelKey( SV_MENU_EDIT_DELETE, KeyCode( KEYFUNC_DELETE ) ); + pPopup->SetAccelKey( SV_MENU_EDIT_SELECTALL, KeyCode( KEY_A, sal_False, sal_True, sal_False, sal_False ) ); + pPopup->SetAccelKey( SV_MENU_EDIT_INSERTSYMBOL, KeyCode( KEY_S, sal_True, sal_True, sal_False, sal_False ) ); + } return pPopup; } diff --git a/vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx b/vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx index 4b1f8813c4b0..3060146d5958 100644 --- a/vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx +++ b/vcl/unx/gtk/gdi/salnativewidgets-gtk.cxx @@ -3352,6 +3352,7 @@ void GtkSalGraphics::updateSettings( AllSettings& rSettings ) // menu disabled entries handling aStyleSet.SetSkipDisabledInMenus( sal_True ); + aStyleSet.SetAcceleratorsInContextMenus( sal_False ); // menu colors GtkStyle* pMenuStyle = gtk_widget_get_style( gWidgetData[m_nScreen].gMenuWidget ); GtkStyle* pMenuItemStyle = gtk_rc_get_style( gWidgetData[m_nScreen].gMenuItemMenuWidget ); |