summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--filter/source/pdf/impdialog.cxx48
-rw-r--r--filter/source/pdf/impdialog.hrc4
-rw-r--r--filter/source/pdf/impdialog.hxx3
-rw-r--r--filter/source/pdf/impdialog.src16
-rw-r--r--filter/source/xsltdialog/xmlfiltersettingsdialog.cxx2
-rw-r--r--filter/source/xsltdialog/xmlfiltersettingsdialog.hrc2
-rw-r--r--filter/source/xsltdialog/xmlfiltersettingsdialog.src5
-rw-r--r--oox/inc/oox/drawingml/chart/converterbase.hxx5
-rw-r--r--oox/source/drawingml/chart/converterbase.cxx43
-rw-r--r--oox/source/drawingml/chart/titleconverter.cxx38
-rw-r--r--oox/source/token/properties.txt1
11 files changed, 124 insertions, 43 deletions
diff --git a/filter/source/pdf/impdialog.cxx b/filter/source/pdf/impdialog.cxx
index 030e64ceaa65..3c81dbd778b9 100644
--- a/filter/source/pdf/impdialog.cxx
+++ b/filter/source/pdf/impdialog.cxx
@@ -473,6 +473,10 @@ ImpPDFTabGeneralPage::ImpPDFTabGeneralPage( Window* pParent,
aNewPos.Y() -= nDelta;
maCbEmbedStandardFonts.SetPosPixel( aNewPos );
}
+
+ maEdPages.SetAccessibleName(maRbRange.GetText());
+ maEdPages.SetAccessibleRelationLabeledBy(&maRbRange);
+
maCbExportEmptyPages.SetStyle( maCbExportEmptyPages.GetStyle() | WB_VCENTER );
}
@@ -658,7 +662,8 @@ SfxTabPage* ImpPDFTabGeneralPage::Create( Window* pParent,
IMPL_LINK( ImpPDFTabGeneralPage, TogglePagesHdl, void*, EMPTYARG )
{
maEdPages.Enable( maRbRange.IsChecked() );
- maEdPages.SetReadOnly( !maRbRange.IsChecked() );
+ //Sym2_5805, When the control is disabled, it is also readonly. So here, it is not necessary to set it as readonly.
+ //maEdPages.SetReadOnly( !maRbRange.IsChecked() );
return 0;
}
@@ -695,7 +700,8 @@ IMPL_LINK( ImpPDFTabGeneralPage, ToggleAddStreamHdl, void*, EMPTYARG )
maRbRange.Enable( sal_False );
maRbSelection.Enable( sal_False );
maEdPages.Enable( sal_False );
- maEdPages.SetReadOnly( sal_True );
+ //Sym2_5805, When the control is disabled, it is also readonly. So here, it is not necessary to set it as readonly.
+ //maEdPages.SetReadOnly( sal_True );
maRbAll.Enable( sal_False );
}
else
@@ -711,9 +717,13 @@ IMPL_LINK( ImpPDFTabGeneralPage, ToggleAddStreamHdl, void*, EMPTYARG )
// -----------------------------------------------------------------------------
IMPL_LINK( ImpPDFTabGeneralPage, ToggleExportPDFAHdl, void*, EMPTYARG )
{
+ ImpPDFTabSecurityPage* pSecPage = NULL;
//set the security page status (and its controls as well)
if( mpaParent && mpaParent->GetTabPage( RID_PDF_TAB_SECURITY ) )
- ( ( ImpPDFTabSecurityPage* )mpaParent->GetTabPage( RID_PDF_TAB_SECURITY ) )->ImplPDFASecurityControl( !maCbPDFA1b.IsChecked() );
+ {
+ pSecPage = static_cast<ImpPDFTabSecurityPage*>(mpaParent->GetTabPage( RID_PDF_TAB_SECURITY ));
+ pSecPage->ImplPDFASecurityControl( !maCbPDFA1b.IsChecked() );
+ }
//PDF/A-1 needs tagged PDF, so force disable the control, will be forced in pdfexport.
sal_Bool bPDFA1Sel = maCbPDFA1b.IsChecked();
@@ -748,6 +758,13 @@ IMPL_LINK( ImpPDFTabGeneralPage, ToggleExportPDFAHdl, void*, EMPTYARG )
if( mpaParent && mpaParent->GetTabPage( RID_PDF_TAB_LINKS ) )
( ( ImpPDFTabLinksPage* )mpaParent->GetTabPage( RID_PDF_TAB_LINKS ) )->ImplPDFALinkControl( !maCbPDFA1b.IsChecked() );
+ // if a password was set, inform the user that this will not be used in PDF/A case
+ if( maCbPDFA1b.IsChecked() && pSecPage && pSecPage->hasPassword() )
+ {
+ WarningBox aBox( this, PDFFilterResId( RID_PDF_WARNPDFAPASSWORD ) );
+ aBox.Execute();
+ }
+
return 0;
}
@@ -788,6 +805,8 @@ ImpPDFTabOpnFtrPage::ImpPDFTabOpnFtrPage( Window* pParent,
maRbMagnFitWidth.SetToggleHdl( LINK( this, ImpPDFTabOpnFtrPage, ToggleRbMagnHdl ) );
maRbMagnFitVisible.SetToggleHdl( LINK( this, ImpPDFTabOpnFtrPage, ToggleRbMagnHdl ) );
maRbMagnZoom.SetToggleHdl( LINK( this, ImpPDFTabOpnFtrPage, ToggleRbMagnHdl ) );
+ maNumZoom.SetAccessibleName(maRbMagnZoom.GetText());
+ maNumZoom.SetAccessibleRelationLabeledBy(&maRbMagnZoom);
}
// -----------------------------------------------------------------------------
@@ -910,9 +929,8 @@ void ImpPDFTabOpnFtrPage::SetFilterConfigItem( const ImpPDFTabDialog* paParent
}
}
-IMPL_LINK( ImpPDFTabOpnFtrPage, ToggleRbPgLyContinueFacingHdl, void*, p )
+IMPL_LINK( ImpPDFTabOpnFtrPage, ToggleRbPgLyContinueFacingHdl, void*, EMPTYARG )
{
- p = p; //for compiler warning
maCbPgLyFirstOnLeft.Enable( maRbPgLyContinueFacing.IsChecked() );
return 0;
}
@@ -951,6 +969,8 @@ ImpPDFTabViewerPage::ImpPDFTabViewerPage( Window* pParent,
FreeResource();
maRbAllBookmarkLevels.SetToggleHdl( LINK( this, ImpPDFTabViewerPage, ToggleRbBookmarksHdl ) );
maRbVisibleBookmarkLevels.SetToggleHdl( LINK( this, ImpPDFTabViewerPage, ToggleRbBookmarksHdl ) );
+ maNumBookmarkLevels.SetAccessibleName(maRbVisibleBookmarkLevels.GetText());
+ maNumBookmarkLevels.SetAccessibleRelationLabeledBy(&maRbVisibleBookmarkLevels);
}
// -----------------------------------------------------------------------------
@@ -1024,10 +1044,13 @@ ImpPDFTabSecurityPage::ImpPDFTabSecurityPage( Window* i_pParent,
maFtUserPwd( this, PDFFilterResId( FT_USER_PWD ) ),
maUserPwdSet( PDFFilterResId( STR_USER_PWD_SET ) ),
maUserPwdUnset( PDFFilterResId( STR_USER_PWD_UNSET ) ),
+ maUserPwdPdfa( PDFFilterResId( STR_USER_PWD_PDFA ) ),
+
maStrSetPwd( PDFFilterResId( STR_SET_PWD ) ),
maFtOwnerPwd( this, PDFFilterResId( FT_OWNER_PWD ) ),
maOwnerPwdSet( PDFFilterResId( STR_OWNER_PWD_SET ) ),
maOwnerPwdUnset( PDFFilterResId( STR_OWNER_PWD_UNSET ) ),
+ maOwnerPwdPdfa( PDFFilterResId( STR_OWNER_PWD_PDFA ) ),
maFlPrintPermissions( this, PDFFilterResId( FL_PRINT_PERMISSIONS ) ),
maRbPrintNone( this, PDFFilterResId( RB_PRINT_NONE ) ),
@@ -1219,10 +1242,21 @@ IMPL_LINK( ImpPDFTabSecurityPage, ClickmaPbSetPwdHdl, void*, EMPTYARG )
void ImpPDFTabSecurityPage::enablePermissionControls()
{
- maFtUserPwd.SetText( (mbHaveUserPassword && IsEnabled()) ? maUserPwdSet : maUserPwdUnset );
+ sal_Bool bIsPDFASel = sal_False;
+ ImpPDFTabDialog* pParent = static_cast<ImpPDFTabDialog*>(GetTabDialog());
+ if( pParent && pParent->GetTabPage( RID_PDF_TAB_GENER ) )
+ bIsPDFASel = ( ( ImpPDFTabGeneralPage* )pParent->
+ GetTabPage( RID_PDF_TAB_GENER ) )->IsPdfaSelected();
+ if( bIsPDFASel )
+ maFtUserPwd.SetText( maUserPwdPdfa );
+ else
+ maFtUserPwd.SetText( (mbHaveUserPassword && IsEnabled()) ? maUserPwdSet : maUserPwdUnset );
sal_Bool bLocalEnable = mbHaveOwnerPassword && IsEnabled();
- maFtOwnerPwd.SetText( bLocalEnable ? maOwnerPwdSet : maOwnerPwdUnset );
+ if( bIsPDFASel )
+ maFtOwnerPwd.SetText( maOwnerPwdPdfa );
+ else
+ maFtOwnerPwd.SetText( bLocalEnable ? maOwnerPwdSet : maOwnerPwdUnset );
maFlPrintPermissions.Enable( bLocalEnable );
maRbPrintNone.Enable( bLocalEnable );
diff --git a/filter/source/pdf/impdialog.hrc b/filter/source/pdf/impdialog.hrc
index dccdc2cad11b..0946fe3197f8 100644
--- a/filter/source/pdf/impdialog.hrc
+++ b/filter/source/pdf/impdialog.hrc
@@ -33,6 +33,8 @@
#define RID_PDF_TAB_OPNFTR (RID_PDF_DIALOG_START + 3)
#define RID_PDF_TAB_SECURITY (RID_PDF_DIALOG_START + 4)
#define RID_PDF_TAB_LINKS (RID_PDF_DIALOG_START + 12)
+#define RID_PDF_WARNPDFAPASSWORD (RID_PDF_DIALOG_START + 6)
+
//strings
#define STR_PDF_EXPORT (RID_PDF_DIALOG_START + 5)
@@ -152,12 +154,14 @@
#define STR_USER_PWD_UNSET 124
#define STR_USER_PWD_UNENC 125
#define STR_SET_PWD 126
+#define STR_USER_PWD_PDFA 127
#define FT_OWNER_PWD 128
#define STR_OWNER_PWD_SET 129
#define STR_OWNER_PWD_REST 130
#define STR_OWNER_PWD_UNSET 131
#define STR_OWNER_PWD_UNREST 132
+#define STR_OWNER_PWD_PDFA 133
#define FL_PRINT_PERMISSIONS 133
#define RB_PRINT_NONE 134
diff --git a/filter/source/pdf/impdialog.hxx b/filter/source/pdf/impdialog.hxx
index fb13ac447587..9daa0391f6b7 100644
--- a/filter/source/pdf/impdialog.hxx
+++ b/filter/source/pdf/impdialog.hxx
@@ -321,11 +321,13 @@ class ImpPDFTabSecurityPage : public SfxTabPage
FixedText maFtUserPwd;
String maUserPwdSet;
String maUserPwdUnset;
+ String maUserPwdPdfa;
String maStrSetPwd;
FixedText maFtOwnerPwd;
String maOwnerPwdSet;
String maOwnerPwdUnset;
+ String maOwnerPwdPdfa;
FixedLine maFlPrintPermissions;
RadioButton maRbPrintNone;
@@ -370,6 +372,7 @@ public:
void GetFilterConfigItem( ImpPDFTabDialog* paParent);
void SetFilterConfigItem( const ImpPDFTabDialog* paParent );
void ImplPDFASecurityControl( sal_Bool bEnableSecurity );
+ bool hasPassword() const { return mbHaveOwnerPassword || mbHaveUserPassword; }
};
//class to implement the relative link stuff
diff --git a/filter/source/pdf/impdialog.src b/filter/source/pdf/impdialog.src
index 1c941d6a9972..35cfa93dd854 100644
--- a/filter/source/pdf/impdialog.src
+++ b/filter/source/pdf/impdialog.src
@@ -265,6 +265,12 @@ TabPage RID_PDF_TAB_GENER
};
};
+WarningBox RID_PDF_WARNPDFAPASSWORD
+{
+ Title[en-US] = "PDF/A Export";
+ Message[ en-US ] = "PDF/A does not allow encryption. The exported PDF file will not be password protected.";
+};
+
//----------------------------------------------------------
//tab page for PDF Export, opening features
TabPage RID_PDF_TAB_OPNFTR
@@ -607,6 +613,11 @@ TabPage RID_PDF_TAB_SECURITY
Text [ en-US ] = "PDF document will not be encrypted";
};
+ String STR_USER_PWD_PDFA
+ {
+ Text [en-US] = "PDF doument will not be encrypted due to PDF/A export.";
+ };
+
FixedText FT_OWNER_PWD
{
Pos = MAP_APPFONT( 12 , 65 );
@@ -633,6 +644,11 @@ TabPage RID_PDF_TAB_SECURITY
Text [ en-US ] = "PDF document will be unrestricted";
};
+ String STR_OWNER_PWD_PDFA
+ {
+ Text [en-US] = "PDF doument will not be restricted due to PDF/A export.";
+ };
+
//////////////////////////////
FixedLine FL_PRINT_PERMISSIONS
{
diff --git a/filter/source/xsltdialog/xmlfiltersettingsdialog.cxx b/filter/source/xsltdialog/xmlfiltersettingsdialog.cxx
index dd6498de4ab2..3b2a3806e1b6 100644
--- a/filter/source/xsltdialog/xmlfiltersettingsdialog.cxx
+++ b/filter/source/xsltdialog/xmlfiltersettingsdialog.cxx
@@ -91,6 +91,8 @@ XMLFilterSettingsDialog::XMLFilterSettingsDialog( Window* pParent, ResMgr& rResM
mpFilterListBox->SetSelectHdl( LINK( this, XMLFilterSettingsDialog, SelectionChangedHdl_Impl ) );
mpFilterListBox->SetDeselectHdl( LINK( this, XMLFilterSettingsDialog, SelectionChangedHdl_Impl ) );
mpFilterListBox->SetDoubleClickHdl( LINK( this, XMLFilterSettingsDialog, DoubleClickHdl_Impl ) );
+ mpFilterListBox->SetAccessibleName(String( RESID( STR_XML_FILTER_LISTBOX )));
+ maCtrlFilterList.SetAccessibleName(String( RESID( STR_XML_FILTER_LISTBOX )));
mpFilterListBox->SetHelpId( HID_XML_FILTER_LIST );
maPBNew.SetClickHdl(LINK( this, XMLFilterSettingsDialog, ClickHdl_Impl ) );
diff --git a/filter/source/xsltdialog/xmlfiltersettingsdialog.hrc b/filter/source/xsltdialog/xmlfiltersettingsdialog.hrc
index 48ed1a2a4ee7..d611e2d1a824 100644
--- a/filter/source/xsltdialog/xmlfiltersettingsdialog.hrc
+++ b/filter/source/xsltdialog/xmlfiltersettingsdialog.hrc
@@ -39,5 +39,5 @@
#define PB_XML_FILTER_OPEN 7
#define BTN_XML_FILTER_HELP 8
#define PB_XML_FILTER_CLOSE 9
-
+#define STR_XML_FILTER_LISTBOX 10
#endif
diff --git a/filter/source/xsltdialog/xmlfiltersettingsdialog.src b/filter/source/xsltdialog/xmlfiltersettingsdialog.src
index b80dff3bfe50..deb15d18627d 100644
--- a/filter/source/xsltdialog/xmlfiltersettingsdialog.src
+++ b/filter/source/xsltdialog/xmlfiltersettingsdialog.src
@@ -126,6 +126,11 @@ WorkWindow DLG_XML_FILTER_SETTINGS_DIALOG
};
+String STR_XML_FILTER_LISTBOX
+{
+ Text [ en-US ] = "XML Filter List";
+};
+
diff --git a/oox/inc/oox/drawingml/chart/converterbase.hxx b/oox/inc/oox/drawingml/chart/converterbase.hxx
index aec646d4c610..12c6c2294b32 100644
--- a/oox/inc/oox/drawingml/chart/converterbase.hxx
+++ b/oox/inc/oox/drawingml/chart/converterbase.hxx
@@ -138,9 +138,10 @@ public:
OOXML layout model. Returns true, if returned rectangle is valid. */
bool calcAbsRectangle( ::com::sun::star::awt::Rectangle& orRect ) const;
- /** Tries to set the position from the contained OOXML layout model.
- Returns true, if a manual position could be calculated. */
+ /** Tries to set the position and size from the contained OOXML layout model.
+ Returns true, if a manual position and size could be calculated. */
bool convertFromModel( PropertySet& rPropSet );
+
/** Tries to set the position from the contained OOXML layout model.
Returns true, if a manual position could be calculated. */
bool convertFromModel(
diff --git a/oox/source/drawingml/chart/converterbase.cxx b/oox/source/drawingml/chart/converterbase.cxx
index df4d40e952ac..7e601ff016af 100644
--- a/oox/source/drawingml/chart/converterbase.cxx
+++ b/oox/source/drawingml/chart/converterbase.cxx
@@ -33,6 +33,7 @@
#include <com/sun/star/chart/XChartDocument.hpp>
#include <com/sun/star/chart/XSecondAxisTitleSupplier.hpp>
#include <com/sun/star/chart2/RelativePosition.hpp>
+#include <com/sun/star/chart2/RelativeSize.hpp>
#include <com/sun/star/drawing/FillStyle.hpp>
#include <com/sun/star/drawing/LineStyle.hpp>
#include <com/sun/star/frame/XModel.hpp>
@@ -78,8 +79,7 @@ struct TitleLayoutInfo
{
typedef Reference< XShape > (*GetShapeFunc)( const Reference< cssc::XChartDocument >& );
- ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XTitle >
- mxTitle; /// The API title object.
+ Reference< XTitle > mxTitle; /// The API title object.
ModelRef< LayoutModel > mxLayout; /// The layout model, if existing.
GetShapeFunc mpGetShape; /// Helper function to receive the title shape.
@@ -323,9 +323,9 @@ sal_Int32 lclCalcSize( sal_Int32 nPos, sal_Int32 nChartSize, double fSize, sal_I
sal_Int32 nValue = getLimitedValue< sal_Int32, double >( nChartSize * fSize + 0.5, 0, nChartSize );
switch( nSizeMode )
{
- case XML_factor: // size as factor of chart size
+ case XML_factor: // passed value is width/height
return nValue;
- case XML_edge: // absolute end position as factor of chart size
+ case XML_edge: // passed value is right/bottom position
return nValue - nPos + 1;
};
@@ -333,6 +333,23 @@ sal_Int32 lclCalcSize( sal_Int32 nPos, sal_Int32 nChartSize, double fSize, sal_I
return -1;
}
+/** Returns a relative size value in the chart area. */
+double lclCalcRelSize( double fPos, double fSize, sal_Int32 nSizeMode )
+{
+ switch( nSizeMode )
+ {
+ case XML_factor: // passed value is width/height
+ break;
+ case XML_edge: // passed value is right/bottom position
+ fSize -= fPos;
+ break;
+ default:
+ OSL_ENSURE( false, "lclCalcRelSize - unknown size mode" );
+ fSize = 0.0;
+ };
+ return getLimitedValue< double, double >( fSize, 0.0, 1.0 - fPos );
+}
+
} // namespace
// ----------------------------------------------------------------------------
@@ -369,12 +386,20 @@ bool LayoutConverter::convertFromModel( PropertySet& rPropSet )
(mrModel.mnXMode == XML_edge) && (mrModel.mfX >= 0.0) &&
(mrModel.mnYMode == XML_edge) && (mrModel.mfY >= 0.0) )
{
- RelativePosition aPos;
- aPos.Primary = getLimitedValue< double, double >( mrModel.mfX, 0.0, 1.0 );
- aPos.Secondary = getLimitedValue< double, double >( mrModel.mfY, 0.0, 1.0 );
- aPos.Anchor = ::com::sun::star::drawing::Alignment_TOP_LEFT;
+ RelativePosition aPos(
+ getLimitedValue< double, double >( mrModel.mfX, 0.0, 1.0 ),
+ getLimitedValue< double, double >( mrModel.mfY, 0.0, 1.0 ),
+ Alignment_TOP_LEFT );
rPropSet.setProperty( PROP_RelativePosition, aPos );
- return true;
+
+ RelativeSize aSize(
+ lclCalcRelSize( aPos.Primary, mrModel.mfW, mrModel.mnWMode ),
+ lclCalcRelSize( aPos.Secondary, mrModel.mfH, mrModel.mnHMode ) );
+ if( (aSize.Primary > 0.0) && (aSize.Secondary > 0.0) )
+ {
+ rPropSet.setProperty( PROP_RelativeSize, aSize );
+ return true;
+ }
}
return false;
}
diff --git a/oox/source/drawingml/chart/titleconverter.cxx b/oox/source/drawingml/chart/titleconverter.cxx
index fdc4969f7c5e..8163241e5a31 100644
--- a/oox/source/drawingml/chart/titleconverter.cxx
+++ b/oox/source/drawingml/chart/titleconverter.cxx
@@ -27,7 +27,7 @@
#include "oox/drawingml/chart/titleconverter.hxx"
-#include <com/sun/star/chart2/LegendExpansion.hpp>
+#include <com/sun/star/chart/ChartLegendExpansion.hpp>
#include <com/sun/star/chart2/LegendPosition.hpp>
#include <com/sun/star/chart2/XDiagram.hpp>
#include <com/sun/star/chart2/XFormattedString.hpp>
@@ -198,6 +198,7 @@ void LegendConverter::convertFromModel( const Reference< XDiagram >& rxDiagram )
{
if( rxDiagram.is() ) try
{
+ namespace cssc = ::com::sun::star::chart;
namespace cssc2 = ::com::sun::star::chart2;
// create the legend
@@ -211,46 +212,35 @@ void LegendConverter::convertFromModel( const Reference< XDiagram >& rxDiagram )
// predefined legend position and expansion
cssc2::LegendPosition eLegendPos = cssc2::LegendPosition_CUSTOM;
- cssc2::LegendExpansion eLegendExpand = cssc2::LegendExpansion_HIGH;
+ cssc::ChartLegendExpansion eLegendExpand = cssc::ChartLegendExpansion_CUSTOM;
switch( mrModel.mnPosition )
{
case XML_l:
eLegendPos = cssc2::LegendPosition_LINE_START;
- eLegendExpand = cssc2::LegendExpansion_HIGH;
+ eLegendExpand = cssc::ChartLegendExpansion_HIGH;
break;
case XML_r:
+ case XML_tr: // top-right not supported
eLegendPos = cssc2::LegendPosition_LINE_END;
- eLegendExpand = cssc2::LegendExpansion_HIGH;
+ eLegendExpand = cssc::ChartLegendExpansion_HIGH;
break;
case XML_t:
eLegendPos = cssc2::LegendPosition_PAGE_START;
- eLegendExpand = cssc2::LegendExpansion_WIDE;
+ eLegendExpand = cssc::ChartLegendExpansion_WIDE;
break;
case XML_b:
eLegendPos = cssc2::LegendPosition_PAGE_END;
- eLegendExpand = cssc2::LegendExpansion_WIDE;
- break;
- case XML_tr:
- eLegendPos = cssc2::LegendPosition_LINE_END; // top-right not supported
- eLegendExpand = cssc2::LegendExpansion_HIGH;
+ eLegendExpand = cssc::ChartLegendExpansion_WIDE;
break;
}
- // manual positioning
- LayoutModel& rLayout = mrModel.mxLayout.getOrCreate();
- LayoutConverter aLayoutConv( *this, rLayout );
- aLayoutConv.convertFromModel( aPropSet );
- Rectangle aLegendRect;
- if( aLayoutConv.calcAbsRectangle( aLegendRect ) )
+ // manual positioning and size
+ if( mrModel.mxLayout.get() )
{
- // #i71697# it is not possible to set the size directly, do some magic here
- double fRatio = static_cast< double >( aLegendRect.Width ) / aLegendRect.Height;
- if( fRatio > 1.5 )
- eLegendExpand = cssc2::LegendExpansion_WIDE;
- else if( fRatio < 0.75 )
- eLegendExpand = cssc2::LegendExpansion_HIGH;
- else
- eLegendExpand = cssc2::LegendExpansion_BALANCED;
+ LayoutConverter aLayoutConv( *this, *mrModel.mxLayout );
+ // manual size needs ChartLegendExpansion_CUSTOM
+ if( aLayoutConv.convertFromModel( aPropSet ) )
+ eLegendExpand = cssc::ChartLegendExpansion_CUSTOM;
}
// set position and expansion properties
diff --git a/oox/source/token/properties.txt b/oox/source/token/properties.txt
index 016ffc28bac5..b0726f86657e 100644
--- a/oox/source/token/properties.txt
+++ b/oox/source/token/properties.txt
@@ -348,6 +348,7 @@ RegularExpressions
RelId
RelativeHorizontalTabbarWidth
RelativePosition
+RelativeSize
Repeat
RepeatDelay
Representation