diff options
author | Markus Mohrhard <markus.mohrhard@collabora.co.uk> | 2016-02-09 04:26:49 +0100 |
---|---|---|
committer | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2016-02-15 02:59:23 +0000 |
commit | a8232b30687879f31768b89f4ff0bcf9457a7e77 (patch) | |
tree | eea598741d8b543303b861e2bb8f5f99f7823aca /sc/inc | |
parent | 8c125eca7f8a0dd2d59678cff2574bbccc70e536 (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.hxx | 2 | ||||
-rw-r--r-- | sc/inc/documentimport.hxx | 2 | ||||
-rw-r--r-- | sc/inc/olinetab.hxx | 2 | ||||
-rw-r--r-- | sc/inc/table.hxx | 2 |
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 |