summaryrefslogtreecommitdiff
path: root/sdext/source/presenter/PresenterController.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sdext/source/presenter/PresenterController.cxx')
-rw-r--r--sdext/source/presenter/PresenterController.cxx60
1 files changed, 49 insertions, 11 deletions
diff --git a/sdext/source/presenter/PresenterController.cxx b/sdext/source/presenter/PresenterController.cxx
index f4d34c660738..bcf88fddfa95 100644
--- a/sdext/source/presenter/PresenterController.cxx
+++ b/sdext/source/presenter/PresenterController.cxx
@@ -481,14 +481,6 @@ Reference<presentation::XSlideShowController>
-Reference<awt::XWindow> PresenterController::GetParentWindow (void) const
-{
- return mxMainWindow;
-}
-
-
-
-
rtl::Reference<PresenterPaneContainer> PresenterController::GetPaneContainer (void) const
{
return mpPaneContainer;
@@ -982,9 +974,7 @@ void SAL_CALL PresenterController::keyReleased (const awt::KeyEvent& rEvent)
case awt::Key::NUM7:
case awt::Key::NUM8:
case awt::Key::NUM9:
- if (mnPendingSlideNumber == -1)
- mnPendingSlideNumber = 0;
- UpdatePendingSlideNumber(mnPendingSlideNumber * 10 + rEvent.KeyCode-awt::Key::NUM0);
+ HandleNumericKeyPress(rEvent.KeyCode-awt::Key::NUM0, rEvent.Modifiers);
break;
case awt::Key::RETURN:
@@ -1027,6 +1017,54 @@ void SAL_CALL PresenterController::keyReleased (const awt::KeyEvent& rEvent)
+void PresenterController::HandleNumericKeyPress (
+ const sal_Int32 nKey,
+ const sal_Int32 nModifiers)
+{
+ switch (nModifiers)
+ {
+ case 0:
+ if (mnPendingSlideNumber == -1)
+ mnPendingSlideNumber = 0;
+ UpdatePendingSlideNumber(mnPendingSlideNumber * 10 + nKey);
+ break;
+
+ case awt::KeyModifier::MOD1:
+ // Ctrl-1, Ctrl-2, and Ctrl-3 are used to switch between views
+ // (slide view, notes view, normal)
+ mnPendingSlideNumber = -1;
+ if (mpWindowManager.get() == NULL)
+ return;
+ switch(nKey)
+ {
+ case 1:
+ mpWindowManager->SetSlideSorterState(false);
+ mpWindowManager->SetHelpViewState(false);
+ mpWindowManager->SetLayoutMode(PresenterWindowManager::Standard);
+ break;
+ case 2:
+ mpWindowManager->SetSlideSorterState(false);
+ mpWindowManager->SetHelpViewState(false);
+ mpWindowManager->SetLayoutMode(PresenterWindowManager::Notes);
+ break;
+ case 3:
+ mpWindowManager->SetHelpViewState(false);
+ mpWindowManager->SetSlideSorterState(true);
+ break;
+ default:
+ // Ignore unsupported key.
+ break;
+ }
+
+ default:
+ // Ignore unsupported modifiers.
+ break;
+ }
+}
+
+
+
+
//----- XFocusListener --------------------------------------------------------
void SAL_CALL PresenterController::focusGained (const css::awt::FocusEvent& rEvent)