diff options
author | Balazs Varga <balazs.varga991@gmail.com> | 2020-02-12 16:37:08 +0100 |
---|---|---|
committer | László Németh <nemeth@numbertext.org> | 2020-02-27 14:44:16 +0100 |
commit | b5fa0fb35c362492a136ec56746e062bc800d7e7 (patch) | |
tree | 6201e2e78b8b3d17fcddc66bb2063fb6bce8758f /chart2/source | |
parent | ca72f51f99b75507c0721e175d551734ff4bb526 (diff) |
tdf#130621 OOXML chart export: fix lost label placement
of a newly created chart with default label placement settings.
For example, default top label placement of a line chart
changed to the right during the first OOXML export/import.
Note: "Insert data labels" of the local menu and
Insert->Data labels... of the main menu have been improved.
Change-Id: I27bb57a0ebb3a2b3132cf47c0ea3a92ac2806380
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88542
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
Diffstat (limited to 'chart2/source')
3 files changed, 6 insertions, 12 deletions
diff --git a/chart2/source/controller/itemsetwrapper/DataPointItemConverter.cxx b/chart2/source/controller/itemsetwrapper/DataPointItemConverter.cxx index aab6be665814..07defe8ebbeb 100644 --- a/chart2/source/controller/itemsetwrapper/DataPointItemConverter.cxx +++ b/chart2/source/controller/itemsetwrapper/DataPointItemConverter.cxx @@ -410,13 +410,9 @@ bool DataPointItemConverter::ApplySpecialItem( try { sal_Int32 nNew = static_cast< const SfxInt32Item & >( rItemSet.Get( nWhichId )).GetValue(); - sal_Int32 nOld =0; + sal_Int32 nOld = -1; RelativePosition aCustomLabelPosition; - if( !(GetPropertySet()->getPropertyValue( "LabelPlacement" ) >>= nOld) ) - { - if( m_aAvailableLabelPlacements.hasElements() ) - nOld = m_aAvailableLabelPlacements[0]; - } + GetPropertySet()->getPropertyValue("LabelPlacement") >>= nOld; if( m_bOverwriteLabelsForAttributedDataPointsAlso ) { Reference< chart2::XDataSeries > xSeries( GetPropertySet(), uno::UNO_QUERY); diff --git a/chart2/source/controller/itemsetwrapper/TextLabelItemConverter.cxx b/chart2/source/controller/itemsetwrapper/TextLabelItemConverter.cxx index f5c9d8a0ce4d..95b38ad02402 100644 --- a/chart2/source/controller/itemsetwrapper/TextLabelItemConverter.cxx +++ b/chart2/source/controller/itemsetwrapper/TextLabelItemConverter.cxx @@ -371,13 +371,9 @@ bool TextLabelItemConverter::ApplySpecialItem( sal_uInt16 nWhichId, const SfxIte try { sal_Int32 nNew = static_cast<const SfxInt32Item&>(rItemSet.Get(nWhichId)).GetValue(); - sal_Int32 nOld = 0; + sal_Int32 nOld = -1; RelativePosition aCustomLabelPosition; - if (!(GetPropertySet()->getPropertyValue("LabelPlacement") >>= nOld)) - { - if (maAvailableLabelPlacements.hasElements()) - nOld = maAvailableLabelPlacements[0]; - } + GetPropertySet()->getPropertyValue("LabelPlacement") >>= nOld; if (mbDataSeries) { Reference<chart2::XDataSeries> xSeries(GetPropertySet(), uno::UNO_QUERY); diff --git a/chart2/source/view/main/VDataSeries.cxx b/chart2/source/view/main/VDataSeries.cxx index f64cb151a2d8..d66d97a94482 100644 --- a/chart2/source/view/main/VDataSeries.cxx +++ b/chart2/source/view/main/VDataSeries.cxx @@ -616,6 +616,8 @@ sal_Int32 VDataSeries::getLabelPlacement( sal_Int32 nPointIndex, const uno::Refe if( aAvailablePlacements.hasElements() ) { nLabelPlacement = aAvailablePlacements[0]; + if( xPointProps.is() ) + xPointProps->setPropertyValue("LabelPlacement", uno::Any(nLabelPlacement)); return nLabelPlacement; } |