summaryrefslogtreecommitdiff
path: root/sc/inc
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2018-07-13 19:29:12 +0200
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2018-07-19 01:45:41 +0200
commit4e5248f32d8fdfd4655bd15bd60d83e9a0c6e540 (patch)
treef6f75bb2f047d291660dc500d6eaf52d5866db05 /sc/inc
parentcc2c11c2e4a99adf00d184507d6925c9af37e1bd (diff)
Resolves: tdf#94925 proper recalc mode and dirty broadcast for OOXML import
This is a combination of 4 commits. Rework FormulaTokenArray ScRecalcMode in preparation for tdf#94925 Strictly order the exclusive bits by priority, let AddRecalcMode() handle all sets except forced ALWAYS or NORMAL. Introduce ONLOAD_LENIENT and ONLOAD_MUST splitting ONLOAD to be able to distinguish later during OOXML import. Reviewed-on: https://gerrit.libreoffice.org/57402 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins Resolves: tdf#94925 do not unset dirty if formula cell must be recalculated Reviewed-on: https://gerrit.libreoffice.org/57404 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins Broadcast formula cells marked for recalc, tdf#94925 related In fact the ScDocument::CalcFormulaTree() call in WorkbookFragment::recalcFormulaCells() never did anything because no formula cell was added to the tree. Only visible dirty cells were recalculated, but not their dependents. Reviewed-on: https://gerrit.libreoffice.org/57431 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins Remove the check for IsRecalcModeMustAfterImport(), tdf#94925 follow-up It's now superfluous as we set those cells dirty and broadcast in ScDocumentImport::broadcastRecalcAfterImport() Reviewed-on: https://gerrit.libreoffice.org/57439 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com> f70860b8babf1cce7fda2ae63412659e72dbb4c3 a9dd4ad16c20b23ee8a1d46b69a4702b1ad4c81f 188de2d53a2d54df32d24eeeb148c4f9e87e7cfc Change-Id: I11217fa19adb766f509d0d6854502112de547c59 Reviewed-on: https://gerrit.libreoffice.org/57438 Tested-by: Jenkins Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
Diffstat (limited to 'sc/inc')
-rw-r--r--sc/inc/documentimport.hxx7
1 files changed, 7 insertions, 0 deletions
diff --git a/sc/inc/documentimport.hxx b/sc/inc/documentimport.hxx
index f902e1858741..1a8b1cbd514f 100644
--- a/sc/inc/documentimport.hxx
+++ b/sc/inc/documentimport.hxx
@@ -125,8 +125,15 @@ public:
void finalize();
+ /** Broadcast all formula cells that are marked with
+ FormulaTokenArray::IsRecalcModeMustAfterImport() for a subsequent
+ ScDocument::CalcFormulaTree().
+ */
+ void broadcastRecalcAfterImport();
+
private:
void initColumn(ScColumn& rCol);
+ void broadcastRecalcAfterImportColumn(ScColumn& rCol);
};
#endif