diff options
author | Philippe Jung <phil.jung@free.fr> | 2015-06-18 15:19:14 +0200 |
---|---|---|
committer | Philippe Jung <phil.jung@free.fr> | 2015-06-18 13:32:56 +0000 |
commit | 3090550b5297c86b63ba09ed1aa13bce4c0e5b70 (patch) | |
tree | 62238e980907e0c04001baeb70250edb3f8d4a0a /framework | |
parent | 79be3a5e3856593bb759b6e521f06dc99c69c0ae (diff) |
tdf#91953 Mixture of icon sizes
Now, whatever the size of toolbar icons, the toolbar
context menu always shows small icons.
Change-Id: Id17df15278d74ae75a3e82d54ecf7af310e0ceb4
Reviewed-on: https://gerrit.libreoffice.org/16361
Reviewed-by: Philippe Jung <phil.jung@free.fr>
Tested-by: Philippe Jung <phil.jung@free.fr>
Diffstat (limited to 'framework')
-rw-r--r-- | framework/source/uielement/toolbarmanager.cxx | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/framework/source/uielement/toolbarmanager.cxx b/framework/source/uielement/toolbarmanager.cxx index ac34a544ace6..fbb13018278f 100644 --- a/framework/source/uielement/toolbarmanager.cxx +++ b/framework/source/uielement/toolbarmanager.cxx @@ -1713,6 +1713,11 @@ bool ToolBarManager::MenuItemAllowed( sal_uInt16 ) const if( !(pToolBar->GetFloatStyle() & WB_CLOSEABLE) ) aQuickCustomizationMenu.EnableItem(MENUITEM_TOOLBAR_CLOSE, false); + // Temporary stores a Command --> Url map to update contextual menu with the + // correct icons. The popup icons are by default the same as those in the + // toolbar. They are not correct for contextual popup menu. + std::map< OUString, Image > commandToImage; + // Go through all toolbar items and add them to the context menu for ( nPos = 0; nPos < m_pToolBar->GetItemCount(); ++nPos ) { @@ -1724,6 +1729,7 @@ bool ToolBarManager::MenuItemAllowed( sal_uInt16 ) const pVisibleItemsPopupMenu->CheckItem( STARTID_CUSTOMIZE_POPUPMENU+nPos, m_pToolBar->IsItemVisible( nId ) ); pVisibleItemsPopupMenu->SetItemCommand( STARTID_CUSTOMIZE_POPUPMENU+nPos, aCommandURL ); Image aImage( GetImageFromURL( m_xFrame, aCommandURL, false ) ); + commandToImage[aCommandURL] = aImage; pVisibleItemsPopupMenu->SetItemImage( STARTID_CUSTOMIZE_POPUPMENU+nPos, aImage ); } else @@ -1731,6 +1737,18 @@ bool ToolBarManager::MenuItemAllowed( sal_uInt16 ) const pVisibleItemsPopupMenu->InsertSeparator(); } } + + // Now we go through all the contextual menu to update the icons + std::map< OUString, Image >::iterator it; + for ( nPos = 0; nPos < pMenu->GetItemCount(); ++nPos ) + { + sal_uInt16 nId = pMenu->GetItemId( nPos ); + OUString cmdUrl = pMenu->GetItemCommand( nId ); + it = commandToImage.find( cmdUrl ); + if (it != commandToImage.end()) { + pMenu->SetItemImage( nId, it->second ); + } + } } else { |