summaryrefslogtreecommitdiff
path: root/sd
diff options
context:
space:
mode:
authorAshod Nakashian <ashod.nakashian@collabora.co.uk>2018-09-16 17:25:01 -0400
committerMichael Meeks <michael.meeks@collabora.com>2019-08-02 16:30:29 -0400
commit3750186a09655a9eac2d742e2aadf290c2819a8c (patch)
tree52f34c599e678d7d6bfd4f7dbf342b5b46e59d5b /sd
parent5116ec373c0a7c65f8bf8ace182d0cb4151288c0 (diff)
LOK: getPartInfo now returns list of selected parts
For spreadsheets, selected parts are still unimplemented, so returns false for all. For presentations, visible parts seem to be always return false at load time. Change-Id: I90c79617f88deec98849bb374ca0ba177cd9c9af Reviewed-on: https://gerrit.libreoffice.org/69611 Reviewed-by: Ashod Nakashian <ashnakash@gmail.com> Tested-by: Ashod Nakashian <ashnakash@gmail.com> Reviewed-on: https://gerrit.libreoffice.org/73494 Tested-by: Jenkins Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Diffstat (limited to 'sd')
-rw-r--r--sd/source/ui/inc/DrawViewShell.hxx6
-rw-r--r--sd/source/ui/slidesorter/controller/SlsPageSelector.cxx11
-rw-r--r--sd/source/ui/slidesorter/inc/controller/SlsPageSelector.hxx13
-rw-r--r--sd/source/ui/view/drviews1.cxx32
4 files changed, 50 insertions, 12 deletions
diff --git a/sd/source/ui/inc/DrawViewShell.hxx b/sd/source/ui/inc/DrawViewShell.hxx
index 71f1ed4a397c..df118b58ef1f 100644
--- a/sd/source/ui/inc/DrawViewShell.hxx
+++ b/sd/source/ui/inc/DrawViewShell.hxx
@@ -247,7 +247,13 @@ public:
bool SwitchPage(sal_uInt16 nPage);
bool IsSwitchPageAllowed() const;
+ /**
+ * Mark the desired page as selected (1), deselected (0), toggle (2).
+ * nPage refers to the page in question.
+ */
bool SelectPage(sal_uInt16 nPage, sal_uInt16 nSelect);
+ bool IsSelected(sal_uInt16 nPage);
+ bool IsVisible(sal_uInt16 nPage);
void GotoBookmark(const OUString& rBookmark);
//Realize multi-selection of objects, If object is marked, the
diff --git a/sd/source/ui/slidesorter/controller/SlsPageSelector.cxx b/sd/source/ui/slidesorter/controller/SlsPageSelector.cxx
index 1115d05227a9..544068f151b6 100644
--- a/sd/source/ui/slidesorter/controller/SlsPageSelector.cxx
+++ b/sd/source/ui/slidesorter/controller/SlsPageSelector.cxx
@@ -216,7 +216,7 @@ void PageSelector::CheckConsistency() const
}
}
-bool PageSelector::IsPageSelected (int nPageIndex)
+bool PageSelector::IsPageSelected(int nPageIndex)
{
SharedPageDescriptor pDescriptor (mrModel.GetPageDescriptor(nPageIndex));
if (pDescriptor.get() != nullptr)
@@ -225,6 +225,15 @@ bool PageSelector::IsPageSelected (int nPageIndex)
return false;
}
+bool PageSelector::IsPageVisible(int nPageIndex)
+{
+ SharedPageDescriptor pDescriptor (mrModel.GetPageDescriptor(nPageIndex));
+ if (pDescriptor.get() != nullptr)
+ return pDescriptor->HasState(PageDescriptor::ST_Visible);
+ else
+ return false;
+}
+
int PageSelector::GetPageCount() const
{
return mrModel.GetPageCount();
diff --git a/sd/source/ui/slidesorter/inc/controller/SlsPageSelector.hxx b/sd/source/ui/slidesorter/inc/controller/SlsPageSelector.hxx
index cc994ced28af..c53c53519aaf 100644
--- a/sd/source/ui/slidesorter/inc/controller/SlsPageSelector.hxx
+++ b/sd/source/ui/slidesorter/inc/controller/SlsPageSelector.hxx
@@ -87,10 +87,17 @@ public:
/** Return whether the specified page is selected. This convenience
method is a substitute for
- SlideSorterModel::GetPageDescriptor(i)->IsSelected() is included
- here to make this class more self contained.
+ SlideSorterModel::GetPageDescriptor(i)->HasState(ST_Selected) is
+ included here to make this class more self contained.
*/
- bool IsPageSelected (int nPageIndex);
+ bool IsPageSelected(int nPageIndex);
+
+ /** Return whether the specified page is visible. This convenience
+ method is a substitute for
+ SlideSorterModel::GetPageDescriptor(i)->HasState(ST_Visible) is
+ included here to make this class more self contained.
+ */
+ bool IsPageVisible(int nPageIndex);
/** Deselect the descriptor that is associated with the given page.
The current page is updated to the first slide
diff --git a/sd/source/ui/view/drviews1.cxx b/sd/source/ui/view/drviews1.cxx
index d690e16121bb..5a18278f635a 100644
--- a/sd/source/ui/view/drviews1.cxx
+++ b/sd/source/ui/view/drviews1.cxx
@@ -771,10 +771,6 @@ bool DrawViewShell::ActivateObject(SdrOle2Obj* pObj, long nVerb)
*/
bool DrawViewShell::SelectPage(sal_uInt16 nPage, sal_uInt16 nSelect)
{
- bool bOK = false;
-
- // Tell the slide sorter about the name change (necessary for
- // accessibility.)
slidesorter::SlideSorterViewShell* pSlideSorterViewShell
= slidesorter::SlideSorterViewShell::GetSlideSorter(GetViewShellBase());
if (pSlideSorterViewShell != nullptr)
@@ -785,13 +781,12 @@ bool DrawViewShell::SelectPage(sal_uInt16 nPage, sal_uInt16 nSelect)
{
// Deselect.
aPageSelector.DeselectPage(nPage);
- bOK = true;
+
}
else if (nSelect == 1)
{
// Select.
aPageSelector.SelectPage(nPage);
- bOK = true;
}
else
{
@@ -800,11 +795,32 @@ bool DrawViewShell::SelectPage(sal_uInt16 nPage, sal_uInt16 nSelect)
aPageSelector.DeselectPage(nPage);
else
aPageSelector.SelectPage(nPage);
- bOK = true;
}
+
+ return true;
}
- return bOK;
+ return false;
+}
+
+bool DrawViewShell::IsSelected(sal_uInt16 nPage)
+{
+ slidesorter::SlideSorterViewShell* pVShell
+ = slidesorter::SlideSorterViewShell::GetSlideSorter(GetViewShellBase());
+ if (pVShell != nullptr)
+ return pVShell->GetSlideSorter().GetController().GetPageSelector().IsPageSelected(nPage);
+
+ return false;
+}
+
+bool DrawViewShell::IsVisible(sal_uInt16 nPage)
+{
+ slidesorter::SlideSorterViewShell* pVShell
+ = slidesorter::SlideSorterViewShell::GetSlideSorter(GetViewShellBase());
+ if (pVShell != nullptr)
+ return pVShell->GetSlideSorter().GetController().GetPageSelector().IsPageVisible(nPage);
+
+ return false;
}
/**