summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--framework/source/uielement/toolbarmanager.cxx29
1 files changed, 22 insertions, 7 deletions
diff --git a/framework/source/uielement/toolbarmanager.cxx b/framework/source/uielement/toolbarmanager.cxx
index 0feaabe3b5a5..752138447db6 100644
--- a/framework/source/uielement/toolbarmanager.cxx
+++ b/framework/source/uielement/toolbarmanager.cxx
@@ -910,6 +910,8 @@ void ToolBarManager::FillToolbar( const Reference< XIndexAccess >& rItemContaine
if ( m_bDisposed )
return;
+ sal_uInt16 nId( 1 );
+
Reference< XModuleManager2 > xModuleManager = ModuleManager::create( m_xContext );
if ( !m_xDocImageManager.is() )
{
@@ -1025,22 +1027,30 @@ void ToolBarManager::FillToolbar( const Reference< XIndexAccess >& rItemContaine
if (( nType == css::ui::ItemType::DEFAULT ) && !aCommandURL.isEmpty() )
{
- ToolBoxItemBits nItemBits = ConvertStyleToToolboxItemBits( nStyle );
-
- m_pToolBar->InsertItem(aCommandURL, m_xFrame, nItemBits);
- sal_Int16 nId = m_pToolBar->GetItemId(aCommandURL);
+ OUString aString(vcl::CommandInfoProvider::Instance().GetLabelForCommand(aCommandURL, m_xFrame));
+ ToolBoxItemBits nItemBits = ConvertStyleToToolboxItemBits( nStyle );
if ( aMenuDesc.is() )
{
m_aMenuMap[ nId ] = aMenuDesc;
nItemBits |= ToolBoxItemBits::DROPDOWNONLY;
}
-
+ m_pToolBar->InsertItem( nId, aString, nItemBits );
+ m_pToolBar->SetItemCommand( nId, aCommandURL );
+ OUString sTooltip = vcl::CommandInfoProvider::Instance().GetTooltipForCommand(aCommandURL, m_xFrame);
+ if (!sTooltip.isEmpty())
+ m_pToolBar->SetQuickHelpText( nId, sTooltip );
if ( !aLabel.isEmpty() )
+ {
m_pToolBar->SetItemText( nId, aLabel );
- if ( !bIsVisible )
- m_pToolBar->HideItem( nId );
+ }
+ else
+ {
+ m_pToolBar->SetItemText( nId, aString );
+ }
+ m_pToolBar->EnableItem( nId );
+ m_pToolBar->SetItemState( nId, TRISTATE_FALSE );
// Fill command map. It stores all our commands and from what
// image manager we got our image. So we can decide if we have to use an
@@ -1056,6 +1066,11 @@ void ToolBarManager::FillToolbar( const Reference< XIndexAccess >& rItemContaine
{
pIter->second.aIds.push_back( nId );
}
+
+ if ( !bIsVisible )
+ m_pToolBar->HideItem( nId );
+
+ ++nId;
}
else if ( nType == css::ui::ItemType::SEPARATOR_LINE )
{