summaryrefslogtreecommitdiff
path: root/sc/source/ui/StatisticsDialogs/MovingAverageDialog.cxx
diff options
context:
space:
mode:
authorDennis Francis <dennis.francis@collabora.com>2019-05-04 21:49:44 +0530
committerEike Rathke <erack@redhat.com>2019-05-20 15:43:41 +0200
commit1bfbe2a44021ca4ae6716caa39fc8a375914be5c (patch)
treea6a633e7a4f19c437442492e378002bd545f8a67 /sc/source/ui/StatisticsDialogs/MovingAverageDialog.cxx
parent6b2cff82957e8b2c2ca729f076e6d798a74830e6 (diff)
tdf#99938 : Allow batch of formula-cells to be written...
using a single undo document from ScMovingAverageDialog rather than write tons of formula-cells to the document one by one thus creating that many number of undo docs unnecessarily. Change-Id: I2528e0ab47f83e0c5ea40c73d00db5af14f656e0 Reviewed-on: https://gerrit.libreoffice.org/71823 Tested-by: Jenkins Reviewed-by: Eike Rathke <erack@redhat.com>
Diffstat (limited to 'sc/source/ui/StatisticsDialogs/MovingAverageDialog.cxx')
-rw-r--r--sc/source/ui/StatisticsDialogs/MovingAverageDialog.cxx8
1 files changed, 5 insertions, 3 deletions
diff --git a/sc/source/ui/StatisticsDialogs/MovingAverageDialog.cxx b/sc/source/ui/StatisticsDialogs/MovingAverageDialog.cxx
index 4f4d5960e199..4d59e28336c7 100644
--- a/sc/source/ui/StatisticsDialogs/MovingAverageDialog.cxx
+++ b/sc/source/ui/StatisticsDialogs/MovingAverageDialog.cxx
@@ -75,6 +75,7 @@ ScRange ScMovingAverageDialog::ApplyOutput(ScDocShell* pDocShell)
output.nextRow();
DataCellIterator aDataCellIterator = pIterator->iterateCells();
+ std::vector<OUString> aFormulas;
for (; aDataCellIterator.hasNext(); aDataCellIterator.next())
{
@@ -98,14 +99,15 @@ ScRange ScMovingAverageDialog::ApplyOutput(ScDocShell* pDocShell)
{
aTemplate.setTemplate("=AVERAGE(%RANGE%)");
aTemplate.applyRange("%RANGE%", ScRange(aIntervalStart, aIntervalEnd));
- output.writeFormula(aTemplate.getTemplate());
+ aFormulas.push_back(aTemplate.getTemplate());
}
else
{
- output.writeFormula("=#N/A");
+ aFormulas.push_back("=#N/A");
}
- output.nextRow();
}
+
+ output.writeFormulas(aFormulas);
output.nextColumn();
}
return ScRange(output.mMinimumAddress, output.mMaximumAddress);