summaryrefslogtreecommitdiff
path: root/sc/inc
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@collabora.co.uk>2016-02-09 04:26:49 +0100
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2016-02-15 02:59:23 +0000
commita8232b30687879f31768b89f4ff0bcf9457a7e77 (patch)
treeeea598741d8b543303b861e2bb8f5f99f7823aca /sc/inc
parent8c125eca7f8a0dd2d59678cff2574bbccc70e536 (diff)
tdf#94858, avoid O(n^2) algorithm during outline import
The old code set called the outline visibility code for each row. Now we are just calling it once at the end of the import. Change-Id: Ie19f8bd538495cb50a7618156aed8de832885c2a Reviewed-on: https://gerrit.libreoffice.org/22239 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
Diffstat (limited to 'sc/inc')
-rw-r--r--sc/inc/document.hxx2
-rw-r--r--sc/inc/documentimport.hxx2
-rw-r--r--sc/inc/olinetab.hxx2
-rw-r--r--sc/inc/table.hxx2
4 files changed, 8 insertions, 0 deletions
diff --git a/sc/inc/document.hxx b/sc/inc/document.hxx
index ce1017e40729..9b8ab5e50f58 100644
--- a/sc/inc/document.hxx
+++ b/sc/inc/document.hxx
@@ -2164,6 +2164,8 @@ public:
void SwapNonEmpty( sc::TableValues& rValues );
+ void finalizeOutlineImport();
+
private:
/**
diff --git a/sc/inc/documentimport.hxx b/sc/inc/documentimport.hxx
index fc1c7c41a9a5..e90be0b331e6 100644
--- a/sc/inc/documentimport.hxx
+++ b/sc/inc/documentimport.hxx
@@ -103,6 +103,8 @@ public:
*/
void setAttrEntries( SCTAB nTab, SCCOL nCol, Attrs& rAttrs );
+ void setRowsVisible(SCTAB nTab, SCROW nRowStart, SCROW nRowEnd, bool bVisible);
+
void finalize();
private:
diff --git a/sc/inc/olinetab.hxx b/sc/inc/olinetab.hxx
index ec0a83f38d42..27ec0d365375 100644
--- a/sc/inc/olinetab.hxx
+++ b/sc/inc/olinetab.hxx
@@ -136,6 +136,8 @@ public:
bool ManualAction(
SCCOLROW nStartPos, SCCOLROW nEndPos, bool bShow, const ScTable& rTable, bool bCol);
+ void finalizeImport(ScTable& rTable, bool bCol);
+
void RemoveAll();
};
diff --git a/sc/inc/table.hxx b/sc/inc/table.hxx
index 43a4897f6ca3..e1b07061e688 100644
--- a/sc/inc/table.hxx
+++ b/sc/inc/table.hxx
@@ -954,6 +954,8 @@ public:
void SwapNonEmpty(
sc::TableValues& rValues, sc::StartListeningContext& rStartCxt, sc::EndListeningContext& rEndCxt );
+ void finalizeOutlineImport();
+
#if DEBUG_COLUMN_STORAGE
void DumpFormulaGroups( SCCOL nCol ) const;
#endif