summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2020-05-29 15:10:08 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2020-05-30 13:23:45 +0200
commit98aced3625168e454679d3a14ebcdf55a67cbc18 (patch)
tree46ff45f2c6da0e68b15e55da7568b23d8a33f810 /sc
parent59c2a8f3ceacabb3132ba1c02ab5e76e510572e9 (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/+/95191
Diffstat (limited to 'sc')
-rw-r--r--sc/source/ui/cctrl/checklistmenu.cxx6
-rw-r--r--sc/source/ui/inc/checklistmenu.hxx2
2 files changed, 5 insertions, 3 deletions
diff --git a/sc/source/ui/cctrl/checklistmenu.cxx b/sc/source/ui/cctrl/checklistmenu.cxx
index 2a3d272f2397..02ed5ed049cb 100644
--- a/sc/source/ui/cctrl/checklistmenu.cxx
+++ b/sc/source/ui/cctrl/checklistmenu.cxx
@@ -1231,7 +1231,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
{
@@ -1889,11 +1889,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);
@@ -1945,6 +1946,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 f66e204b6b76..d0ce25136f8a 100644
--- a/sc/source/ui/inc/checklistmenu.hxx
+++ b/sc/source/ui/inc/checklistmenu.hxx
@@ -346,7 +346,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;