diff options
author | Noel Power <noel.power@suse.com> | 2013-06-11 17:41:51 +0100 |
---|---|---|
committer | Noel Power <noel.power@suse.com> | 2013-06-11 17:44:02 +0100 |
commit | 794352229145eeed32aca21682aef7172f0859db (patch) | |
tree | 4559bb15f109b54ffd29bef5180492123bfe0397 | |
parent | 58b8211f4aa0b227151890d541efa17d04058e05 (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
-rw-r--r-- | oox/source/ole/axcontrol.cxx | 45 |
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 ); } |