summaryrefslogtreecommitdiff
path: root/chart2
diff options
context:
space:
mode:
authorKelemen Gábor <kelemeng@ubuntu.com>2019-11-12 15:03:04 +0100
committerLászló Németh <nemeth@numbertext.org>2020-09-28 09:18:06 +0200
commit41fa7244746819411f209110f13af43941f17ce8 (patch)
tree216c7b532e3cd38936396722c4a109e5d0ac6726 /chart2
parent050e95e50d44a5cbb74bb5de481cb30551f83136 (diff)
tdf#108059 Introduce compatibility key for pie chart orientation
There is no similar setting in MSO, it just always uses clockwise. LO on the other hand confuses users by using counterclockwise which turns to clockwise upon save to OOXML and reload. Eliminate this behavior by introducing a compatibility key for OOXML-heavy environments that: - sets the orientation to clockwise when pie chart type is selected - hides the checkbox that would have no effect after a save to OOXML Default value is false to keep current behavior Change-Id: I9e12ecad8e9978f960c921a521461aee023a5063 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/82524 Tested-by: Jenkins Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: Balazs Varga <balazs.varga991@gmail.com> Reviewed-by: László Németh <nemeth@numbertext.org>
Diffstat (limited to 'chart2')
-rw-r--r--chart2/Library_chartcontroller.mk4
-rw-r--r--chart2/source/controller/dialogs/tp_PolarOptions.cxx4
-rw-r--r--chart2/source/model/template/PieChartTypeTemplate.cxx11
3 files changed, 17 insertions, 2 deletions
diff --git a/chart2/Library_chartcontroller.mk b/chart2/Library_chartcontroller.mk
index 48115dd2a33b..05f031415213 100644
--- a/chart2/Library_chartcontroller.mk
+++ b/chart2/Library_chartcontroller.mk
@@ -22,6 +22,10 @@ $(eval $(call gb_Library_use_external,chartcontroller,boost_headers))
$(eval $(call gb_Library_use_sdk_api,chartcontroller))
+$(eval $(call gb_Library_use_custom_headers,chartcontroller,\
+ officecfg/registry \
+))
+
$(eval $(call gb_Library_use_libraries,chartcontroller,\
basegfx \
chartcore \
diff --git a/chart2/source/controller/dialogs/tp_PolarOptions.cxx b/chart2/source/controller/dialogs/tp_PolarOptions.cxx
index 804c4221247a..e858813bb39f 100644
--- a/chart2/source/controller/dialogs/tp_PolarOptions.cxx
+++ b/chart2/source/controller/dialogs/tp_PolarOptions.cxx
@@ -22,6 +22,7 @@
#include <svl/eitem.hxx>
#include <svl/intitem.hxx>
+#include <officecfg/Office/Compatibility.hxx>
namespace chart
{
@@ -80,7 +81,8 @@ void PolarOptionsTabPage::Reset(const SfxItemSet* rInAttrs)
{
m_xFL_StartingAngle->hide();
}
- if (rInAttrs->GetItemState(SCHATTR_CLOCKWISE, true, &pPoolItem) == SfxItemState::SET)
+ // tdf#108059 Hide clockwise orientation checkbox in OOXML-heavy environments it would be useless anyways
+ if (!officecfg::Office::Compatibility::View::ClockwisePieChartDirection::get() && rInAttrs->GetItemState(SCHATTR_CLOCKWISE, true, &pPoolItem) == SfxItemState::SET)
{
bool bCheck = static_cast< const SfxBoolItem * >( pPoolItem )->GetValue();
m_xCB_Clockwise->set_active(bCheck);
diff --git a/chart2/source/model/template/PieChartTypeTemplate.cxx b/chart2/source/model/template/PieChartTypeTemplate.cxx
index ec08764a7509..7f58b6e856e6 100644
--- a/chart2/source/model/template/PieChartTypeTemplate.cxx
+++ b/chart2/source/model/template/PieChartTypeTemplate.cxx
@@ -34,6 +34,7 @@
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <officecfg/Office/Compatibility.hxx>
#include <tools/diagnose_ex.h>
+#include <officecfg/Office/Compatibility.hxx>
#include <rtl/math.hxx>
@@ -237,7 +238,15 @@ void PieChartTypeTemplate::adaptScales(
{
chart2::ScaleData aScaleData( xAxis->getScaleData() );
AxisHelper::removeExplicitScaling( aScaleData );
- aScaleData.Orientation = chart2::AxisOrientation_MATHEMATICAL;
+ // tdf#108059 Create new pie/donut charts with clockwise orientation
+ if (!officecfg::Office::Compatibility::View::ClockwisePieChartDirection::get())
+ {
+ aScaleData.Orientation = chart2::AxisOrientation_MATHEMATICAL;
+ }
+ else
+ {
+ aScaleData.Orientation = chart2::AxisOrientation_REVERSE;
+ }
xAxis->setScaleData( aScaleData );
}