[Libreoffice-commits] core.git: Branch 'private/kohei/chart-bugs' - chart2/source
Kohei Yoshida
kohei.yoshida at collabora.com
Tue Jun 17 16:37:48 PDT 2014
chart2/source/tools/AxisHelper.cxx | 8 ++++++--
chart2/source/view/main/ChartView.cxx | 6 ++++--
2 files changed, 10 insertions(+), 4 deletions(-)
New commits:
commit 5761232368093e6b0a9a9b2860647be6470733cb
Author: Kohei Yoshida <kohei.yoshida at collabora.com>
Date: Tue Jun 17 19:37:20 2014 -0400
Set the number format code only when it changes.
Otherwise the chart view would keep updating itself endlessly.
Change-Id: I653ae396a48dd0fdcaa3ef308657509dac541594
diff --git a/chart2/source/tools/AxisHelper.cxx b/chart2/source/tools/AxisHelper.cxx
index c6ba570..acc7570 100644
--- a/chart2/source/tools/AxisHelper.cxx
+++ b/chart2/source/tools/AxisHelper.cxx
@@ -148,8 +148,11 @@ sal_Int32 AxisHelper::getExplicitNumberFormatKeyForAxis(
bool bLinkToSource = true;
xProp->getPropertyValue(CHART_UNONAME_LINK_TO_SRC_NUMFMT) >>= bLinkToSource;
+ xProp->getPropertyValue(CHART_UNONAME_NUMFMT) >>= nNumberFormatKey;
- if (bLinkToSource || !(xProp->getPropertyValue(CHART_UNONAME_NUMFMT) >>= nNumberFormatKey))
+ sal_Int32 nOldNumberFormat = nNumberFormatKey;
+
+ if (bLinkToSource)
{
bool bFormatSet = false;
//check whether we have a percent scale -> use percent format
@@ -323,7 +326,8 @@ sal_Int32 AxisHelper::getExplicitNumberFormatKeyForAxis(
}
}
- xProp->setPropertyValue(CHART_UNONAME_NUMFMT, uno::makeAny(nNumberFormatKey));
+ if (nOldNumberFormat != nNumberFormatKey)
+ xProp->setPropertyValue(CHART_UNONAME_NUMFMT, uno::makeAny(nNumberFormatKey));
}
return nNumberFormatKey;
diff --git a/chart2/source/view/main/ChartView.cxx b/chart2/source/view/main/ChartView.cxx
index a29c174..9142b3e 100644
--- a/chart2/source/view/main/ChartView.cxx
+++ b/chart2/source/view/main/ChartView.cxx
@@ -1877,7 +1877,9 @@ sal_Int32 ExplicitValueProvider::getExplicitNumberFormatKeyForDataLabel(
}
catch ( const beans::UnknownPropertyException& ) {}
- if (bLinkToSource || !(xSeriesOrPointProp->getPropertyValue(CHART_UNONAME_NUMFMT) >>= nFormat))
+ xSeriesOrPointProp->getPropertyValue(CHART_UNONAME_NUMFMT) >>= nFormat;
+ sal_Int32 nOldFormat = nFormat;
+ if (bLinkToSource)
{
uno::Reference< chart2::XChartType > xChartType( DataSeriesHelper::getChartTypeOfSeries( xSeries, xDiagram ) );
@@ -1903,7 +1905,7 @@ sal_Int32 ExplicitValueProvider::getExplicitNumberFormatKeyForDataLabel(
}
}
- if (nFormat >= 0)
+ if (nFormat >= 0 && nOldFormat != nFormat)
xSeriesOrPointProp->setPropertyValue(CHART_UNONAME_NUMFMT, uno::makeAny(nFormat));
}
More information about the Libreoffice-commits
mailing list