Kaydet (Commit) a995d10e authored tarafından Martin van Zijl's avatar Martin van Zijl Kaydeden (comit) Tamás Zolnai

tdf#119991 save checkbox tristate in oox format

Change-Id: I313bff6115d56c2567a4586daa43851a1db12b0b
Reviewed-on: https://gerrit.libreoffice.org/63670
Tested-by: Jenkins
Reviewed-by: 's avatarTamás Zolnai <tamas.zolnai@collabora.com>
üst 3c51ab75
...@@ -531,7 +531,7 @@ void ControlConverter::convertToAxState( PropertySet const & rPropSet, ...@@ -531,7 +531,7 @@ void ControlConverter::convertToAxState( PropertySet const & rPropSet,
sal_Int16 nState = API_STATE_DONTKNOW; sal_Int16 nState = API_STATE_DONTKNOW;
bool bTmp = false; bool bTriStateEnabled = false;
// need to use State for current state ( I think this is regardless of whether // need to use State for current state ( I think this is regardless of whether
// control is awt or not ) // control is awt or not )
rPropSet.getProperty( nState, PROP_State ); rPropSet.getProperty( nState, PROP_State );
...@@ -543,8 +543,12 @@ void ControlConverter::convertToAxState( PropertySet const & rPropSet, ...@@ -543,8 +543,12 @@ void ControlConverter::convertToAxState( PropertySet const & rPropSet,
rValue = "1"; rValue = "1";
// tristate // tristate
if( bSupportsTriState && rPropSet.getProperty( bTmp, PROP_TriState ) ) if( bSupportsTriState )
nMultiSelect = AX_SELECTION_MULTI; {
bool bPropertyExists = rPropSet.getProperty( bTriStateEnabled, PROP_TriState );
if( bPropertyExists && bTriStateEnabled )
nMultiSelect = AX_SELECTION_MULTI;
}
} }
void ControlConverter::convertAxOrientation( PropertyMap& rPropMap, void ControlConverter::convertAxOrientation( PropertyMap& rPropMap,
...@@ -1510,7 +1514,7 @@ void AxMorphDataModelBase::exportBinaryModel( BinaryOutputStream& rOutStrm ) ...@@ -1510,7 +1514,7 @@ void AxMorphDataModelBase::exportBinaryModel( BinaryOutputStream& rOutStrm )
aWriter.skipProperty(); // mnShowDropButton ); aWriter.skipProperty(); // mnShowDropButton );
aWriter.skipProperty(); aWriter.skipProperty();
aWriter.skipProperty(); // drop down style aWriter.skipProperty(); // drop down style
if ( mnDisplayStyle == AX_DISPLAYSTYLE_LISTBOX && mnMultiSelect != AX_SELECTION_SINGLE ) if ( (mnDisplayStyle == AX_DISPLAYSTYLE_LISTBOX || mnDisplayStyle == AX_DISPLAYSTYLE_CHECKBOX) && mnMultiSelect != AX_SELECTION_SINGLE )
aWriter.writeIntProperty< sal_uInt8 >( mnMultiSelect ); aWriter.writeIntProperty< sal_uInt8 >( mnMultiSelect );
// although CheckBox, ListBox, OptionButton, ToggleButton are also supported // although CheckBox, ListBox, OptionButton, ToggleButton are also supported
// they can only have the fileformat default // they can only have the fileformat default
...@@ -1663,7 +1667,7 @@ void AxCheckBoxModel::convertFromProperties( PropertySet& rPropSet, const Contro ...@@ -1663,7 +1667,7 @@ void AxCheckBoxModel::convertFromProperties( PropertySet& rPropSet, const Contro
ControlConverter::convertToMSColor( rPropSet, PROP_BackgroundColor, mnBackColor ); ControlConverter::convertToMSColor( rPropSet, PROP_BackgroundColor, mnBackColor );
ControlConverter::convertToMSColor( rPropSet, PROP_TextColor, mnTextColor ); ControlConverter::convertToMSColor( rPropSet, PROP_TextColor, mnTextColor );
// need to process the image if one exists // need to process the image if one exists
ControlConverter::convertToAxState( rPropSet, maValue, mnMultiSelect, API_DEFAULTSTATE_BOOLEAN ); ControlConverter::convertToAxState( rPropSet, maValue, mnMultiSelect, API_DEFAULTSTATE_TRISTATE );
AxMorphDataModelBase::convertFromProperties( rPropSet, rConv ); AxMorphDataModelBase::convertFromProperties( rPropSet, rConv );
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment