[Libreoffice-commits] core.git: sc/source

Szymon KÅ‚os (via logerrit) logerrit at kemper.freedesktop.org
Thu Nov 26 11:14:13 UTC 2020


 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.klos at collabora.com>
AuthorDate: Fri Nov 13 12:30:51 2020 +0100
Commit:     Szymon Kłos <szymon.klos at 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.klos at 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)));


More information about the Libreoffice-commits mailing list