sc/source/ui/cctrl/checklistmenu.cxx | 5 ++++- sc/source/ui/inc/checklistmenu.hxx | 3 ++- sc/source/ui/view/gridwin.cxx | 9 ++++++--- 3 files changed, 12 insertions(+), 5 deletions(-)
New commits: commit 1106126f708945a605de6654eae6afb4416b8b90 Author: Szymon Kłos <szymon.k...@collabora.com> AuthorDate: Fri Nov 13 12:30:51 2020 +0100 Commit: Szymon Kłos <szymon.k...@collabora.com> CommitDate: Thu Nov 26 12:13:17 2020 +0100 autofilter: make working with multiple users in online Change-Id: Ib0255178112fae5d964cd6155d42848e7c7c51e8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106660 Tested-by: Jenkins Reviewed-by: Szymon Kłos <szymon.k...@collabora.com> diff --git a/sc/source/ui/cctrl/checklistmenu.cxx b/sc/source/ui/cctrl/checklistmenu.cxx index f6834aaff790..3c3b1752d5d8 100644 --- a/sc/source/ui/cctrl/checklistmenu.cxx +++ b/sc/source/ui/cctrl/checklistmenu.cxx @@ -554,11 +554,14 @@ ScCheckListMenuControl::~ScCheckListMenuControl() } ScCheckListMenuWindow::ScCheckListMenuWindow(vcl::Window* pParent, ScDocument* pDoc, bool bCanHaveSubMenu, - bool bTreeMode, int nWidth, ScCheckListMenuWindow* pParentMenu) + bool bTreeMode, int nWidth, ScCheckListMenuWindow* pParentMenu, + vcl::ILibreOfficeKitNotifier* pNotifier) : DockingWindow(pParent, "InterimDockParent", "svx/ui/interimdockparent.ui") , mxParentMenu(pParentMenu) , mxBox(get("box")) { + if (pNotifier) + SetLOKNotifier(pNotifier); setDeferredProperties(); mxControl.reset(new ScCheckListMenuControl(this, mxBox.get(), pDoc, bCanHaveSubMenu, bTreeMode, nWidth)); SetBackground(Application::GetSettings().GetStyleSettings().GetMenuColor()); diff --git a/sc/source/ui/inc/checklistmenu.hxx b/sc/source/ui/inc/checklistmenu.hxx index b4f7c9c2a8b4..247ff1c55c42 100644 --- a/sc/source/ui/inc/checklistmenu.hxx +++ b/sc/source/ui/inc/checklistmenu.hxx @@ -304,7 +304,8 @@ class ScCheckListMenuWindow : public DockingWindow public: explicit ScCheckListMenuWindow(vcl::Window* pParent, ScDocument* pDoc, bool bCanHaveSubMenu, bool bTreeMode, int nWidth = -1, - ScCheckListMenuWindow* pParentMenu = nullptr); + ScCheckListMenuWindow* pParentMenu = nullptr, + vcl::ILibreOfficeKitNotifier* pNotifier = nullptr); virtual void dispose() override; virtual ~ScCheckListMenuWindow() override; diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx index e817730ed97e..546d9cb9d8ac 100644 --- a/sc/source/ui/view/gridwin.cxx +++ b/sc/source/ui/view/gridwin.cxx @@ -607,9 +607,14 @@ void ScGridWindow::LaunchAutoFilterMenu(SCCOL nCol, SCROW nRow) ScFilterEntries aFilterEntries; rDoc.GetFilterEntries(nCol, nRow, nTab, aFilterEntries); + vcl::ILibreOfficeKitNotifier* pNotifier = nullptr; + if (bLOKActive) + pNotifier = SfxViewShell::Current(); + int nColWidth = ScViewData::ToPixel(rDoc.GetColWidth(nCol, nTab), mrViewData.GetPPTX()); mpAutoFilterPopup.reset(VclPtr<ScCheckListMenuWindow>::Create(this, &rDoc, false, - aFilterEntries.mbHasDates, nColWidth)); + aFilterEntries.mbHasDates, nColWidth, + nullptr, pNotifier)); ScCheckListMenuControl& rControl = mpAutoFilterPopup->get_widget(); int nMaxTextWidth = 0; @@ -645,8 +650,6 @@ void ScGridWindow::LaunchAutoFilterMenu(SCCOL nCol, SCROW nRow) nWindowWidth = rControl.IncreaseWindowWidthToFitText(nWindowWidth); nMaxTextWidth = std::max<int>(nMaxTextWidth, nWindowWidth - 70); - if (bLOKActive) - mpAutoFilterPopup->SetLOKNotifier(SfxViewShell::Current()); rControl.setOKAction(new AutoFilterAction(this, AutoFilterMode::Normal)); rControl.setPopupEndAction( new AutoFilterPopupEndAction(this, ScAddress(nCol, nRow, nTab))); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits