summaryrefslogtreecommitdiff
path: root/framework/source/uielement/toolbarmerger.cxx
diff options
context:
space:
mode:
authorMaxim Monastirsky <momonasmon@gmail.com>2016-01-09 22:46:16 +0200
committerMaxim Monastirsky <momonasmon@gmail.com>2016-01-09 22:58:14 +0200
commitee3cd777e187669f2d9dec156854c00cab948a50 (patch)
tree2321b9df164ae86fe8a2fbe135641c5cb6f78bfa /framework/source/uielement/toolbarmerger.cxx
parent79af5b389b42284ddea3e486c17ace4776bd8e4c (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.cxx23
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 );
}