[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.2' - sd/source

Pranam Lashkari (via logerrit) logerrit at kemper.freedesktop.org
Wed Jun 10 10:31:26 UTC 2020


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

New commits:
commit 95eb7561d7dbbfcb36460115712992172b93c13b
Author:     Pranam Lashkari <lpranam at collabora.com>
AuthorDate: Tue May 26 10:17:40 2020 +0530
Commit:     Andras Timar <andras.timar at collabora.com>
CommitDate: Wed Jun 10 12:30:55 2020 +0200

    LOK: slide sorter: update the model on selecting multiple slides
    
    Change-Id: I17bdd8e39c960a81d4bef2a8cffd42103adb5341
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94713
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
    Reviewed-by: Andras Timar <andras.timar at collabora.com>

diff --git a/sd/source/ui/view/drviews1.cxx b/sd/source/ui/view/drviews1.cxx
index cf8f73d21819..d853f8edb4ac 100644
--- a/sd/source/ui/view/drviews1.cxx
+++ b/sd/source/ui/view/drviews1.cxx
@@ -776,15 +776,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