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

Pranam Lashkari (via logerrit) logerrit at kemper.freedesktop.org
Thu Jun 25 06:10:50 UTC 2020


 sd/source/ui/view/drviews1.cxx |   29 +++++++++++++++++++++++++----
 1 file changed, 25 insertions(+), 4 deletions(-)

New commits:
commit ebdb73c17d884c463c3c1279678a36c2668fd8c2
Author:     Pranam Lashkari <lpranam at collabora.com>
AuthorDate: Tue May 26 10:17:40 2020 +0530
Commit:     Pranam Lashkari <lpranam at collabora.com>
CommitDate: Thu Jun 25 08:10:07 2020 +0200

    LOK: slide sorter: update the model on selecting multiple slides
    
    Change-Id: I17bdd8e39c960a81d4bef2a8cffd42103adb5341
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94715
    Tested-by: Jenkins
    Reviewed-by: Pranam Lashkari <lpranam at collabora.com>

diff --git a/sd/source/ui/view/drviews1.cxx b/sd/source/ui/view/drviews1.cxx
index c99163f62817..ab2339220574 100644
--- a/sd/source/ui/view/drviews1.cxx
+++ b/sd/source/ui/view/drviews1.cxx
@@ -758,15 +758,36 @@ bool DrawViewShell::ActivateObject(SdrOle2Obj* pObj, long nVerb)
 bool DrawViewShell::SelectPage(sal_uInt16 nPage, sal_uInt16 nSelect)
 {
     SdPage* pPage = GetDoc()->GetSdPage(nPage, PageKind::Standard);
+
+    //page selector marks pages to selected in view
+    auto &pageSelector = sd::slidesorter::SlideSorterViewShell::GetSlideSorter(GetViewShellBase())->GetSlideSorter().GetController().GetPageSelector();
+
     if (pPage)
     {
         if (nSelect == 0)
-            pPage->SetSelected(false); // Deselect.
+        {
+            GetDoc()->SetSelected(pPage, false);  // Deselect.
+            pageSelector.DeselectPage(nPage);
+        }
         else if (nSelect == 1)
-            pPage->SetSelected(true); // Select.
+        {
+            GetDoc()->SetSelected(pPage, true);    // Select.
+            pageSelector.SelectPage(nPage);
+        }
         else
-            pPage->SetSelected(!pPage->IsSelected()); // Toggle.
-
+        {
+            // Toggle.
+            if (pPage->IsSelected())
+            {
+                GetDoc()->SetSelected(pPage, false);
+                pageSelector.DeselectPage(nPage);
+            }
+            else
+            {
+                GetDoc()->SetSelected(pPage, true);
+                pageSelector.SelectPage(nPage);
+            }
+        }
         return true;
     }
 


More information about the Libreoffice-commits mailing list