summaryrefslogtreecommitdiff
path: root/oox
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@collabora.co.uk>2015-03-10 00:59:28 +0100
committerDavid Tardon <dtardon@redhat.com>2015-03-17 13:31:57 +0000
commit6dc4d5797ee2df8601fe4c70ee2e05e170cba748 (patch)
tree7b7d6f3c96c2a969a3dcc9093d8fe4ecdb754ce5 /oox
parent5c4cdeb021d6e4e80dc0833d9935320eda3e1261 (diff)
handle MSO 2007 vs OOXML in auto title chart import
Conflicts: oox/source/drawingml/chart/chartspacefragment.cxx oox/source/drawingml/chart/chartspacemodel.cxx Change-Id: Id884a4c90c24b38a1dd22a41d271dcc551b59adc Reviewed-on: https://gerrit.libreoffice.org/14878 Tested-by: David Tardon <dtardon@redhat.com> Reviewed-by: David Tardon <dtardon@redhat.com>
Diffstat (limited to 'oox')
-rw-r--r--oox/inc/drawingml/chart/chartspacemodel.hxx2
-rw-r--r--oox/source/drawingml/chart/chartspacefragment.cxx7
-rw-r--r--oox/source/drawingml/chart/chartspacemodel.cxx4
-rw-r--r--oox/source/drawingml/shape.cxx3
4 files changed, 11 insertions, 5 deletions
diff --git a/oox/inc/drawingml/chart/chartspacemodel.hxx b/oox/inc/drawingml/chart/chartspacemodel.hxx
index e8ddb9c41c93..4a98bbf487fc 100644
--- a/oox/inc/drawingml/chart/chartspacemodel.hxx
+++ b/oox/inc/drawingml/chart/chartspacemodel.hxx
@@ -58,7 +58,7 @@ struct ChartSpaceModel
bool mbShowLabelsOverMax;/// True = show labels over chart maximum.
bool mbPivotChart; /// True = pivot chart.
- explicit ChartSpaceModel();
+ explicit ChartSpaceModel(bool bMSO2007Doc);
~ChartSpaceModel();
};
diff --git a/oox/source/drawingml/chart/chartspacefragment.cxx b/oox/source/drawingml/chart/chartspacefragment.cxx
index 7117877618b4..eb014ef9002c 100644
--- a/oox/source/drawingml/chart/chartspacefragment.cxx
+++ b/oox/source/drawingml/chart/chartspacefragment.cxx
@@ -81,8 +81,13 @@ ContextHandlerRef ChartSpaceFragment::onCreateContext( sal_Int32 nElement, const
switch( nElement )
{
case C_TOKEN( autoTitleDeleted ):
- mrModel.mbAutoTitleDel = rAttribs.getBool( XML_val, true );
+ {
+ bool bMSO2007Document = getFilter().isMSO2007Document();
+
+ // default value is false for MSO 2007 and true in OOXML
+ mrModel.mbAutoTitleDel = rAttribs.getBool( XML_val, !bMSO2007Document );
return 0;
+ }
case C_TOKEN( backWall ):
return new WallFloorContext( *this, mrModel.mxBackWall.create() );
case C_TOKEN( dispBlanksAs ):
diff --git a/oox/source/drawingml/chart/chartspacemodel.cxx b/oox/source/drawingml/chart/chartspacemodel.cxx
index a1c107e28c48..b91ed993d2cb 100644
--- a/oox/source/drawingml/chart/chartspacemodel.cxx
+++ b/oox/source/drawingml/chart/chartspacemodel.cxx
@@ -24,10 +24,10 @@ namespace oox {
namespace drawingml {
namespace chart {
-ChartSpaceModel::ChartSpaceModel() :
+ChartSpaceModel::ChartSpaceModel(bool bMSO2007Doc) :
mnDispBlanksAs( XML_gap ), // not zero as specified
mnStyle( 2 ),
- mbAutoTitleDel( true ),
+ mbAutoTitleDel( !bMSO2007Doc ), // difference between OOXML spec and MSO 2007
mbPlotVisOnly( false ),
mbShowLabelsOverMax( false ),
mbPivotChart( false )
diff --git a/oox/source/drawingml/shape.cxx b/oox/source/drawingml/shape.cxx
index bff4f6396aa6..f8fdda6a6822 100644
--- a/oox/source/drawingml/shape.cxx
+++ b/oox/source/drawingml/shape.cxx
@@ -1265,7 +1265,8 @@ void Shape::finalizeXShape( XmlFilterBase& rFilter, const Reference< XShapes >&
Reference< chart2::XChartDocument > xChartDoc( xDocModel, UNO_QUERY_THROW );
// load the chart data from the XML fragment
- chart::ChartSpaceModel aModel;
+ bool bMSO2007Doc = rFilter.isMSO2007Document();
+ chart::ChartSpaceModel aModel(bMSO2007Doc);
chart::ChartSpaceFragment *pChartSpaceFragment = new chart::ChartSpaceFragment(
rFilter, mxChartShapeInfo->maFragmentPath, aModel );
const OUString aThemeOverrideFragmentPath( pChartSpaceFragment->