diff options
author | Maxim Monastirsky <momonasmon@gmail.com> | 2016-01-09 22:46:16 +0200 |
---|---|---|
committer | Maxim Monastirsky <momonasmon@gmail.com> | 2016-01-09 22:58:14 +0200 |
commit | ee3cd777e187669f2d9dec156854c00cab948a50 (patch) | |
tree | 2321b9df164ae86fe8a2fbe135641c5cb6f78bfa /framework/source/uielement/toolbarmerger.cxx | |
parent | 79af5b389b42284ddea3e486c17ace4776bd8e4c (diff) |
Fix Addons.xcu toolbar items width handling
This is useful for some complex controls (e.g. Combobox).
Regression of cb4177b5f6d2c63548fa544a19b36001c57193e4
Change-Id: I683cc20e9db72a4dd58d89063ec6bfcd05a1068e
Diffstat (limited to 'framework/source/uielement/toolbarmerger.cxx')
-rw-r--r-- | framework/source/uielement/toolbarmerger.cxx | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/framework/source/uielement/toolbarmerger.cxx b/framework/source/uielement/toolbarmerger.cxx index 8d12efb926b4..4f97ee2132c0 100644 --- a/framework/source/uielement/toolbarmerger.cxx +++ b/framework/source/uielement/toolbarmerger.cxx @@ -33,6 +33,7 @@ static const char MERGE_TOOLBAR_IMAGEID[] = "ImageIdentifier"; static const char MERGE_TOOLBAR_CONTEXT[] = "Context"; static const char MERGE_TOOLBAR_TARGET[] = "Target"; static const char MERGE_TOOLBAR_CONTROLTYPE[] = "ControlType"; +static const char MERGE_TOOLBAR_WIDTH[] = "Width"; static const char MERGECOMMAND_ADDAFTER[] = "AddAfter"; static const char MERGECOMMAND_ADDBEFORE[] = "AddBefore"; @@ -120,7 +121,8 @@ bool ToolBarMerger::ConvertSeqSeqToVector( aAddonToolbarItem.aImageIdentifier, aAddonToolbarItem.aTarget, aAddonToolbarItem.aContext, - aAddonToolbarItem.aControlType ); + aAddonToolbarItem.aControlType, + aAddonToolbarItem.nWidth ); rContainer.push_back( aAddonToolbarItem ); } @@ -184,7 +186,8 @@ void ToolBarMerger::ConvertSequenceToValues( OUString& rImageIdentifier, OUString& rTarget, OUString& rContext, - OUString& rControlType ) + OUString& rControlType, + sal_uInt16& rWidth ) { for ( sal_Int32 i = 0; i < rSequence.getLength(); i++ ) { @@ -200,6 +203,12 @@ void ToolBarMerger::ConvertSequenceToValues( rSequence[i].Value >>= rTarget; else if ( rSequence[i].Name == MERGE_TOOLBAR_CONTROLTYPE ) rSequence[i].Value >>= rControlType; + else if ( rSequence[i].Name == MERGE_TOOLBAR_WIDTH ) + { + sal_Int32 aValue = 0; + rSequence[i].Value >>= aValue; + rWidth = sal_uInt16( aValue ); + } } } @@ -622,6 +631,7 @@ bool ToolBarMerger::RemoveItems( ToolBox* pToolbar, const OUString& rCommandURL, sal_uInt16 nId, + sal_uInt16 nWidth, const OUString& rControlType ) { ::cppu::OWeakObject* pResult( nullptr ); @@ -629,15 +639,15 @@ bool ToolBarMerger::RemoveItems( if ( rControlType == TOOLBARCONTROLLER_BUTTON ) pResult = new ButtonToolbarController( rxContext, pToolbar, rCommandURL ); else if ( rControlType == TOOLBARCONTROLLER_COMBOBOX ) - pResult = new ComboboxToolbarController( rxContext, xFrame, pToolbar, nId, 0, rCommandURL ); + pResult = new ComboboxToolbarController( rxContext, xFrame, pToolbar, nId, nWidth, rCommandURL ); else if ( rControlType == TOOLBARCONTROLLER_EDIT ) - pResult = new EditToolbarController( rxContext, xFrame, pToolbar, nId, 0, rCommandURL ); + pResult = new EditToolbarController( rxContext, xFrame, pToolbar, nId, nWidth, rCommandURL ); else if ( rControlType == TOOLBARCONTROLLER_SPINFIELD ) - pResult = new SpinfieldToolbarController( rxContext, xFrame, pToolbar, nId, 0, rCommandURL ); + pResult = new SpinfieldToolbarController( rxContext, xFrame, pToolbar, nId, nWidth, rCommandURL ); else if ( rControlType == TOOLBARCONTROLLER_IMGBUTTON ) pResult = new ImageButtonToolbarController( rxContext, xFrame, pToolbar, nId, rCommandURL ); else if ( rControlType == TOOLBARCONTROLLER_DROPDOWNBOX ) - pResult = new DropdownToolbarController( rxContext, xFrame, pToolbar, nId, 0, rCommandURL ); + pResult = new DropdownToolbarController( rxContext, xFrame, pToolbar, nId, nWidth, rCommandURL ); else if ( rControlType == TOOLBARCONTROLLER_DROPDOWNBTN ) pResult = new ToggleButtonToolbarController( rxContext, xFrame, pToolbar, nId, ToggleButtonToolbarController::STYLE_DROPDOWNBUTTON, rCommandURL ); @@ -664,6 +674,7 @@ void ToolBarMerger::CreateToolbarItem( ToolBox* pToolbar, sal_uInt16 nPos, sal_u pAddonParams->aImageId = rItem.aImageIdentifier; pAddonParams->aTarget = rItem.aTarget; pAddonParams->aControlType = rItem.aControlType; + pAddonParams->nWidth = rItem.nWidth; pToolbar->SetItemData( nItemId, pAddonParams ); } |