From b81432a23c900329ece07854fd06a322225a97c1 Mon Sep 17 00:00:00 2001 From: Noel Grandin Date: Fri, 29 May 2020 15:10:08 +0200 Subject: 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 --- sc/source/ui/cctrl/checklistmenu.cxx | 6 ++++-- sc/source/ui/inc/checklistmenu.hxx | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) (limited to 'sc') 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; -- cgit