diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2020-05-29 15:10:08 +0200 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2020-07-27 08:36:47 +0200 |
commit | a5c056b78f3e118e23b963c6a727b54f555a9d29 (patch) | |
tree | 46bfa2b2381f8cd87d6330bf1b1337855ae0f3c3 /sc | |
parent | 7a988bc0cc6cffdca9982cb154a9de4fb1cbcf24 (diff) |
fix tree disabled in autofilter pulldown, tdf#76481 related
regression from
commit f71557e958a8a626dfc1eef646b84b3c8b72569a
Date: Thu May 21 15:05:08 2020 +0200
tdf#76481 speed up searching in autofilter pulldown
Change-Id: Iac7fba87e12ae68a040706694ef94655113a6491
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95142
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
(cherry picked from commit b81432a23c900329ece07854fd06a322225a97c1)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96173
Tested-by: Gabor Kelemen <kelemen.gabor2@nisz.hu>
Reviewed-by: Gabor Kelemen <kelemen.gabor2@nisz.hu>
Diffstat (limited to 'sc')
-rw-r--r-- | sc/source/ui/cctrl/checklistmenu.cxx | 6 | ||||
-rw-r--r-- | sc/source/ui/inc/checklistmenu.hxx | 2 |
2 files changed, 5 insertions, 3 deletions
diff --git a/sc/source/ui/cctrl/checklistmenu.cxx b/sc/source/ui/cctrl/checklistmenu.cxx index 664b63444748..0ddd31748958 100644 --- a/sc/source/ui/cctrl/checklistmenu.cxx +++ b/sc/source/ui/cctrl/checklistmenu.cxx @@ -1230,7 +1230,7 @@ IMPL_LINK_NOARG(ScCheckListMenuWindow, EdModifyHdl, Edit&, void) { // when there are a lot of rows, it is cheaper to simply clear the tree and re-initialise maChecks->Clear(); - initMembers(); + nSelCount = initMembers(); } else { @@ -1888,11 +1888,12 @@ void ScCheckListMenuWindow::setHasDates(bool bHasDates) maChecks->SetStyle(WB_HASBUTTONS); } -void ScCheckListMenuWindow::initMembers() +size_t ScCheckListMenuWindow::initMembers() { size_t n = maMembers.size(); size_t nVisMemCount = 0; + maChecks->SetUpdateMode(false); maChecks->GetModel()->EnableInvalidate(false); @@ -1944,6 +1945,7 @@ void ScCheckListMenuWindow::initMembers() maChecks->GetModel()->EnableInvalidate(true); maChecks->SetUpdateMode(true); + return nVisMemCount; } void ScCheckListMenuWindow::setConfig(const Config& rConfig) diff --git a/sc/source/ui/inc/checklistmenu.hxx b/sc/source/ui/inc/checklistmenu.hxx index 2ff574a15252..f9affb88f096 100644 --- a/sc/source/ui/inc/checklistmenu.hxx +++ b/sc/source/ui/inc/checklistmenu.hxx @@ -348,7 +348,7 @@ public: void setHasDates(bool bHasDates); void addDateMember(const OUString& rName, double nVal, bool bVisible); void addMember(const OUString& rName, bool bVisible); - void initMembers(); + size_t initMembers(); void setConfig(const Config& rConfig); bool isAllSelected() const; |