[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - oox/inc oox/source

Markus Mohrhard markus.mohrhard at collabora.co.uk
Tue Mar 17 06:32:44 PDT 2015


 oox/inc/drawingml/chart/chartspacemodel.hxx       |    2 +-
 oox/source/drawingml/chart/chartspacefragment.cxx |    7 ++++++-
 oox/source/drawingml/chart/chartspacemodel.cxx    |    4 ++--
 oox/source/drawingml/shape.cxx                    |    3 ++-
 4 files changed, 11 insertions(+), 5 deletions(-)

New commits:
commit 6dc4d5797ee2df8601fe4c70ee2e05e170cba748
Author: Markus Mohrhard <markus.mohrhard at collabora.co.uk>
Date:   Tue Mar 10 00:59:28 2015 +0100

    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 at redhat.com>
    Reviewed-by: David Tardon <dtardon at redhat.com>

diff --git a/oox/inc/drawingml/chart/chartspacemodel.hxx b/oox/inc/drawingml/chart/chartspacemodel.hxx
index e8ddb9c..4a98bbf 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 7117877..eb014ef 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 a1c107e..b91ed99 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 bff4f63..f8fdda6 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->


More information about the Libreoffice-commits mailing list