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

New commits:
commit 95eb7561d7dbbfcb36460115712992172b93c13b
Author:     Pranam Lashkari <[email protected]>
AuthorDate: Tue May 26 10:17:40 2020 +0530
Commit:     Andras Timar <[email protected]>
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 <[email protected]>
    Reviewed-by: Andras Timar <[email protected]>

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;
     }
 
_______________________________________________
Libreoffice-commits mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to