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

Reply via email to