summaryrefslogtreecommitdiff
path: root/oox
diff options
context:
space:
mode:
authorNoel Power <noel.power@suse.com>2013-06-11 17:41:51 +0100
committerNoel Power <noel.power@suse.com>2013-06-11 17:44:02 +0100
commit794352229145eeed32aca21682aef7172f0859db (patch)
tree4559bb15f109b54ffd29bef5180492123bfe0397 /oox
parent58b8211f4aa0b227151890d541efa17d04058e05 (diff)
squash some excel fileformat warnings ( and protected mode opening )
some attributes should not be exported for some controls, their very presence triggers the dreaded nag dialog ( promising doom & death if you open the file ) Change-Id: I974ac94f75ee95ab54ca19bd5cd31952a66b20e5
Diffstat (limited to 'oox')
-rw-r--r--oox/source/ole/axcontrol.cxx45
1 files changed, 37 insertions, 8 deletions
diff --git a/oox/source/ole/axcontrol.cxx b/oox/source/ole/axcontrol.cxx
index 23f08e37bd4a..b65d38f250af 100644
--- a/oox/source/ole/axcontrol.cxx
+++ b/oox/source/ole/axcontrol.cxx
@@ -1499,13 +1499,27 @@ void AxMorphDataModelBase::exportBinaryModel( BinaryOutputStream& rOutStrm )
aWriter.writeIntProperty< sal_uInt32 >( mnFlags );
aWriter.writeIntProperty< sal_uInt32 >( mnBackColor );
aWriter.writeIntProperty< sal_uInt32 >( mnTextColor );
- aWriter.writeIntProperty< sal_Int32 >( mnMaxLength );
- aWriter.writeIntProperty< sal_uInt8 >( mnBorderStyle );
- aWriter.writeIntProperty< sal_uInt8 >( mnScrollBars );
+ if ( ( mnDisplayStyle == AX_DISPLAYSTYLE_LISTBOX ) || ( mnDisplayStyle == AX_DISPLAYSTYLE_COMBOBOX ) )
+ aWriter.writeIntProperty< sal_Int32 >( mnMaxLength );
+ else
+ aWriter.skipProperty(); //mnMaxLength
+ if ( ( mnDisplayStyle == AX_DISPLAYSTYLE_LISTBOX ) || ( mnDisplayStyle == AX_DISPLAYSTYLE_TEXT ) )
+ {
+ aWriter.writeIntProperty< sal_uInt8 >( mnBorderStyle );
+ aWriter.writeIntProperty< sal_uInt8 >( mnScrollBars );
+ }
+ else
+ {
+ aWriter.skipProperty(); //mnBorderStyle
+ aWriter.skipProperty(); //mnScrollBars
+ }
aWriter.writeIntProperty< sal_uInt8 >( mnDisplayStyle );
aWriter.skipProperty(); // mouse pointer
aWriter.writePairProperty( maSize );
- aWriter.writeIntProperty< sal_uInt16 >( mnPasswordChar );
+ if ( mnDisplayStyle == AX_DISPLAYSTYLE_TEXT )
+ aWriter.writeIntProperty< sal_uInt16 >( mnPasswordChar );
+ else
+ aWriter.skipProperty(); // mnPasswordChar
aWriter.skipProperty(); // list width
aWriter.skipProperty(); // bound column
aWriter.skipProperty(); // text column
@@ -1517,18 +1531,33 @@ void AxMorphDataModelBase::exportBinaryModel( BinaryOutputStream& rOutStrm )
aWriter.skipProperty(); // mnShowDropButton );
aWriter.skipProperty();
aWriter.skipProperty(); // drop down style
- aWriter.writeIntProperty< sal_uInt8 >( mnMultiSelect );
+ if ( mnDisplayStyle == AX_DISPLAYSTYLE_LISTBOX )
+ aWriter.writeIntProperty< sal_uInt8 >( mnMultiSelect );
+ // although CheckBox, ListBox, OptionButton, ToggleButton are also supported
+ // they can only have the fileformat default
+ else
+ aWriter.skipProperty(); //mnMultiSelect
aWriter.writeStringProperty( maValue );
- aWriter.writeStringProperty( maCaption );
+
+ if ( ( mnDisplayStyle == AX_DISPLAYSTYLE_CHECKBOX ) || ( mnDisplayStyle == AX_DISPLAYSTYLE_OPTBUTTON ) || ( mnDisplayStyle == AX_DISPLAYSTYLE_TOGGLE ) )
+ aWriter.writeStringProperty( maCaption );
+ else
+ aWriter.skipProperty(); // mnCaption
aWriter.skipProperty(); // mnPicturePos );
- aWriter.writeIntProperty< sal_uInt32 >( mnBorderColor );
+ if ( ( mnDisplayStyle == AX_DISPLAYSTYLE_COMBOBOX ) || ( mnDisplayStyle == AX_DISPLAYSTYLE_LISTBOX ) || ( mnDisplayStyle == AX_DISPLAYSTYLE_TEXT ) )
+ aWriter.writeIntProperty< sal_uInt32 >( mnBorderColor );
+ else
+ aWriter.skipProperty(); // mnBorderColor
aWriter.writeIntProperty< sal_uInt32 >( mnSpecialEffect );
aWriter.skipProperty(); // mouse icon
aWriter.skipProperty(); // maPictureData
aWriter.skipProperty(); // accelerator
aWriter.skipProperty(); // undefined
aWriter.writeBoolProperty(true); // must be 1 for morph
- aWriter.writeStringProperty( maGroupName );
+ if ( ( mnDisplayStyle == AX_DISPLAYSTYLE_CHECKBOX ) || ( mnDisplayStyle == AX_DISPLAYSTYLE_OPTBUTTON ) )
+ aWriter.writeStringProperty( maGroupName );
+ else
+ aWriter.skipProperty(); //maGroupName
aWriter.finalizeExport();
AxFontDataModel::exportBinaryModel( rOutStrm );
}