summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--officecfg/registry/data/org/openoffice/Office/PresenterScreen.xcu88
-rw-r--r--officecfg/registry/schema/org/openoffice/Office/PresenterScreen.xcs5
-rw-r--r--sd/inc/bitmaps.hlst4
-rw-r--r--sd/source/ui/presenter/PresenterHelper.cxx8
-rw-r--r--sdext/source/presenter/PresenterController.hxx2
-rw-r--r--sdext/source/presenter/PresenterProtocolHandler.cxx75
-rw-r--r--sdext/source/presenter/PresenterToolBar.cxx105
-rw-r--r--sdext/source/presenter/PresenterWindowManager.cxx11
-rw-r--r--sdext/source/presenter/PresenterWindowManager.hxx2
9 files changed, 286 insertions, 14 deletions
diff --git a/officecfg/registry/data/org/openoffice/Office/PresenterScreen.xcu b/officecfg/registry/data/org/openoffice/Office/PresenterScreen.xcu
index 513da5440bb0..d5d3bc2e10eb 100644
--- a/officecfg/registry/data/org/openoffice/Office/PresenterScreen.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/PresenterScreen.xcu
@@ -346,6 +346,86 @@
</node>
<node oor:name="k" oor:op="replace">
<prop oor:name="Name">
+ <value>PauseResumeTimer</value>
+ </prop>
+ <prop oor:name="Type">
+ <value>Button</value>
+ </prop>
+ <node oor:name="Normal">
+ <prop oor:name="Text">
+ <value xml:lang="en-US">Pause</value>
+ </prop>
+ <node oor:name="Icon">
+ <prop oor:name="NormalFileName">
+ <value>bitmaps/ButtonPauseTimerNormal.png</value>
+ </prop>
+ </node>
+ <prop oor:name="Action">
+ <value>vnd.org.libreoffice.presenterscreen:PauseResumeTimer</value>
+ </prop>
+ <node oor:name="Font">
+ <prop oor:name="Size">
+ <value>12</value>
+ </prop>
+ <prop oor:name="Style">
+ <value>Bold</value>
+ </prop>
+ <prop oor:name="Color">
+ <value>B3B7BC</value>
+ </prop>
+ <prop oor:name="Anchor">
+ <value>Center</value>
+ </prop>
+ </node>
+ </node>
+ <node oor:name="MouseOver">
+ <node oor:name="Icon">
+ <prop oor:name="NormalFileName">
+ <value>bitmaps/ButtonPauseTimerMouseOver.png</value>
+ </prop>
+ </node>
+ <node oor:name="Font">
+ <prop oor:name="Color">
+ <value>FFFFFF</value>
+ </prop>
+ </node>
+ </node>
+ <node oor:name="Selected">
+ <prop oor:name="Text">
+ <value xml:lang="en-US">Resume</value>
+ </prop>
+ <node oor:name="Icon">
+ <prop oor:name="NormalFileName">
+ <value>bitmaps/ButtonResumeTimerNormal.png</value>
+ </prop>
+ </node>
+ <node oor:name="Font">
+ <prop oor:name="Color">
+ <value>B3B7BC</value>
+ </prop>
+ </node>
+ <prop oor:name="Action">
+ <value>vnd.org.libreoffice.presenterscreen:PauseResumeTimer</value>
+ </prop>
+ </node>
+ <node oor:name="MouseOverSelected">
+ <prop oor:name="Text">
+ <value xml:lang="en-US">Resume</value>
+ </prop>
+ <node oor:name="Icon">
+ <prop oor:name="NormalFileName">
+ <value>bitmaps/ButtonResumeTimerMouseOver.png</value>
+ </prop>
+ </node>
+ <node oor:name="Font">
+ <prop oor:name="Color">
+ <value>FFFFFF</value>
+ </prop>
+ </node>
+ </node>
+ </node>
+ <node oor:name="l" oor:op="replace">
+ <prop oor:name="Name">
<value>RestartTimer</value>
</prop>
<prop oor:name="Type">
@@ -391,7 +471,7 @@
</node>
</node>
</node>
- <node oor:name="l" oor:op="replace">
+ <node oor:name="m" oor:op="replace">
<prop oor:name="Type">
<value>VerticalSeparator</value>
</prop>
@@ -403,7 +483,7 @@
</node>
</node>
</node>
- <node oor:name="m" oor:op="replace">
+ <node oor:name="n" oor:op="replace">
<prop oor:name="Name">
<value>SwitchMonitor</value>
</prop>
@@ -457,7 +537,7 @@
</node>
</node>
</node>
- <node oor:name="n" oor:op="replace">
+ <node oor:name="o" oor:op="replace">
<prop oor:name="Type">
<value>VerticalSeparator</value>
</prop>
@@ -469,7 +549,7 @@
</node>
</node>
</node>
- <node oor:name="o" oor:op="replace">
+ <node oor:name="p" oor:op="replace">
<prop oor:name="Name">
<value>Help</value>
</prop>
diff --git a/officecfg/registry/schema/org/openoffice/Office/PresenterScreen.xcs b/officecfg/registry/schema/org/openoffice/Office/PresenterScreen.xcs
index 01bb5a68b103..1dde3f5f35e1 100644
--- a/officecfg/registry/schema/org/openoffice/Office/PresenterScreen.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/PresenterScreen.xcs
@@ -282,6 +282,11 @@
<desc>Description of a tool bar entry when it is selected.</desc>
</info>
</node-ref>
+ <node-ref oor:name="MouseOverSelected" oor:node-type="ToolBarDescription">
+ <info>
+ <desc>Description of a tool bar entry when it is selected and the mouse is over it.</desc>
+ </info>
+ </node-ref>
<node-ref oor:name="Disabled" oor:node-type="ToolBarDescription">
<info>
<desc>Description of a tool bar entry when it is disabled.</desc>
diff --git a/sd/inc/bitmaps.hlst b/sd/inc/bitmaps.hlst
index 36a8b67720b2..69248b4759ba 100644
--- a/sd/inc/bitmaps.hlst
+++ b/sd/inc/bitmaps.hlst
@@ -122,6 +122,8 @@
#define BMP_PRESENTERSCREEN_LABEL_MOUSE_OVER_RIGHT "sd/res/presenterscreen-LabelMouseOverRight.png"
#define BMP_PRESENTERSCREEN_BUTTON_SWITCH_MONITOR_NORMAL "sd/res/presenterscreen-ButtonSwitchMonitorNormal.png"
#define BMP_PRESENTERSCREEN_BUTTON_RESTART_TIMER_NORMAL "sd/res/presenterscreen-ButtonRestartTimerNormal.png"
+#define BMP_PRESENTERSCREEN_BUTTON_PAUSE_TIMER_NORMAL "sd/res/presenterscreen-ButtonPauseTimerNormal.png"
+#define BMP_PRESENTERSCREEN_BUTTON_RESUME_TIMER_NORMAL "sd/res/presenterscreen-ButtonResumeTimerNormal.png"
#define BMP_PRESENTERSCREEN_BORDER_TOOLBAR_RIGHT "sd/res/presenterscreen-BorderToolbarRight.png"
#define BMP_PRESENTERSCREEN_SCROLLBAR_THUMB_MIDDLE_NORMAL "sd/res/presenterscreen-ScrollbarThumbMiddleNormal.png"
#define BMP_PRESENTERSCREEN_BUTTON_EFFECT_NEXT_SELECTED "sd/res/presenterscreen-ButtonEffectNextSelected.png"
@@ -134,6 +136,8 @@
#define BMP_PRESENTERSCREEN_BUTTON_FRAME_RIGHT_MOUSE_OVER "sd/res/presenterscreen-ButtonFrameRightMouseOver.png"
#define BMP_PRESENTERSCREEN_BUTTON_SWITCH_MONITOR_MOUSE_OVER "sd/res/presenterscreen-ButtonSwitchMonitorMouseOver.png"
#define BMP_PRESENTERSCREEN_BUTTON_RESTART_TIMER_MOUSE_OVER "sd/res/presenterscreen-ButtonRestartTimerMouseOver.png"
+#define BMP_PRESENTERSCREEN_BUTTON_PAUSE_TIMER_MOUSE_OVER "sd/res/presenterscreen-ButtonPauseTimerMouseOver.png"
+#define BMP_PRESENTERSCREEN_BUTTON_RESUME_TIMER_MOUSE_OVER "sd/res/presenterscreen-ButtonResumeTimerMouseOver.png"
#define BMP_PRESENTERSCREEN_BUTTON_SLIDE_PREVIOUS_DISABLED "sd/res/presenterscreen-ButtonSlidePreviousDisabled.png"
#define BMP_PRESENTERSCREEN_BUTTON_MINUS_SELECTED "sd/res/presenterscreen-ButtonMinusSelected.png"
#define BMP_PRESENTERSCREEN_LABEL_MOUSE_OVER_CENTER "sd/res/presenterscreen-LabelMouseOverCenter.png"
diff --git a/sd/source/ui/presenter/PresenterHelper.cxx b/sd/source/ui/presenter/PresenterHelper.cxx
index 912821982a97..0ce0a02f424f 100644
--- a/sd/source/ui/presenter/PresenterHelper.cxx
+++ b/sd/source/ui/presenter/PresenterHelper.cxx
@@ -330,6 +330,14 @@ Reference<rendering::XBitmap> SAL_CALL PresenterHelper::loadBitmap (
BMP_PRESENTERSCREEN_BUTTON_RESTART_TIMER_MOUSE_OVER },
{ "bitmaps/ButtonRestartTimerNormal.png",
BMP_PRESENTERSCREEN_BUTTON_RESTART_TIMER_NORMAL },
+ { "bitmaps/ButtonPauseTimerMouseOver.png",
+ BMP_PRESENTERSCREEN_BUTTON_PAUSE_TIMER_MOUSE_OVER },
+ { "bitmaps/ButtonPauseTimerNormal.png",
+ BMP_PRESENTERSCREEN_BUTTON_PAUSE_TIMER_NORMAL },
+ { "bitmaps/ButtonResumeTimerMouseOver.png",
+ BMP_PRESENTERSCREEN_BUTTON_RESUME_TIMER_MOUSE_OVER },
+ { "bitmaps/ButtonResumeTimerNormal.png",
+ BMP_PRESENTERSCREEN_BUTTON_RESUME_TIMER_NORMAL },
{ "bitmaps/LabelMouseOverCenter.png",
BMP_PRESENTERSCREEN_LABEL_MOUSE_OVER_CENTER },
{ "bitmaps/LabelMouseOverLeft.png",
diff --git a/sdext/source/presenter/PresenterController.hxx b/sdext/source/presenter/PresenterController.hxx
index e860ce747fa3..400fb9174f11 100644
--- a/sdext/source/presenter/PresenterController.hxx
+++ b/sdext/source/presenter/PresenterController.hxx
@@ -63,6 +63,8 @@ class IPresentationTime
{
public:
virtual void restart() = 0;
+ virtual bool isPaused() = 0;
+ virtual void setPauseStatus(const bool pauseStatus) = 0;
virtual ~IPresentationTime();
};
diff --git a/sdext/source/presenter/PresenterProtocolHandler.cxx b/sdext/source/presenter/PresenterProtocolHandler.cxx
index cb8cb6db2d27..029365e3b21d 100644
--- a/sdext/source/presenter/PresenterProtocolHandler.cxx
+++ b/sdext/source/presenter/PresenterProtocolHandler.cxx
@@ -90,6 +90,16 @@ namespace {
rtl::Reference<PresenterController> mpPresenterController;
};
+ class PauseResumeCommand : public Command
+ {
+ public:
+ explicit PauseResumeCommand(const rtl::Reference<PresenterController>& rpPresenterController);
+ virtual void Execute() override;
+ virtual Any GetState() const override;
+ private:
+ rtl::Reference<PresenterController> mpPresenterController;
+ };
+
/// This command restarts the presentation timer.
class RestartTimerCommand : public Command
{
@@ -376,6 +386,8 @@ Command* PresenterProtocolHandler::Dispatch::CreateCommand (
return new GotoPreviousSlideCommand(rpPresenterController);
if (rsURLPath == "SwitchMonitor")
return new SwitchMonitorCommand(rpPresenterController);
+ if (rsURLPath == "PauseResumeTimer")
+ return new PauseResumeCommand(rpPresenterController);
if (rsURLPath == "RestartTimer")
return new RestartTimerCommand(rpPresenterController);
if (rsURLPath == "ShowNotes")
@@ -572,6 +584,56 @@ void SwitchMonitorCommand::Execute()
mpPresenterController->SwitchMonitors();
}
+//===== PauseResumeCommand ==============================================
+
+PauseResumeCommand::PauseResumeCommand (const rtl::Reference<PresenterController>& rpPresenterController)
+: mpPresenterController(rpPresenterController)
+{
+}
+
+void PauseResumeCommand::Execute()
+{
+ if ( ! mpPresenterController.is())
+ return;
+
+ ::rtl::Reference<PresenterWindowManager> pWindowManager (
+ mpPresenterController->GetWindowManager());
+ if ( ! pWindowManager.is())
+ return;
+
+ if (IPresentationTime* pPresentationTime = mpPresenterController->GetPresentationTime())
+ {
+ if(pPresentationTime->isPaused())
+ {
+ pPresentationTime->setPauseStatus(false);
+ pWindowManager->SetPauseState(false);
+ }
+ else
+ {
+ pPresentationTime->setPauseStatus(true);
+ pWindowManager->SetPauseState(true);
+ }
+ }
+}
+
+Any PauseResumeCommand::GetState() const
+{
+ if ( ! mpPresenterController.is())
+ return Any(false);
+
+ ::rtl::Reference<PresenterWindowManager> pWindowManager (
+ mpPresenterController->GetWindowManager());
+ if ( ! pWindowManager.is())
+ return Any(false);
+
+ if (IPresentationTime* pPresentationTime = mpPresenterController->GetPresentationTime())
+ {
+ return Any(pPresentationTime->isPaused());
+ }
+ else
+ return Any(false);
+}
+
RestartTimerCommand::RestartTimerCommand (const rtl::Reference<PresenterController>& rpPresenterController)
: mpPresenterController(rpPresenterController)
{
@@ -579,8 +641,21 @@ RestartTimerCommand::RestartTimerCommand (const rtl::Reference<PresenterControll
void RestartTimerCommand::Execute()
{
+ if ( ! mpPresenterController.is())
+ return;
+
+ ::rtl::Reference<PresenterWindowManager> pWindowManager (
+ mpPresenterController->GetWindowManager());
+ if ( ! pWindowManager.is())
+ return;
+
if (IPresentationTime* pPresentationTime = mpPresenterController->GetPresentationTime())
+ {
+ //Resets the pause status and restarts the timer
+ pPresentationTime->setPauseStatus(false);
+ pWindowManager->SetPauseState(false);
pPresentationTime->restart();
+ }
}
//===== SetNotesViewCommand ===================================================
diff --git a/sdext/source/presenter/PresenterToolBar.cxx b/sdext/source/presenter/PresenterToolBar.cxx
index a21cf2a1c5cb..a0a57c6d8b44 100644
--- a/sdext/source/presenter/PresenterToolBar.cxx
+++ b/sdext/source/presenter/PresenterToolBar.cxx
@@ -130,7 +130,8 @@ namespace {
const SharedElementMode& rpNormalMode,
const SharedElementMode& rpMouseOverMode,
const SharedElementMode& rpSelectedMode,
- const SharedElementMode& rpDisabledMode);
+ const SharedElementMode& rpDisabledMode,
+ const SharedElementMode& rpMouseOverSelectedMode);
void CurrentSlideHasChanged();
void SetLocation (const awt::Point& rLocation);
void SetSize (const geometry::RealSize2D& rSize);
@@ -166,6 +167,7 @@ namespace {
SharedElementMode mpMouseOver;
SharedElementMode mpSelected;
SharedElementMode mpDisabled;
+ SharedElementMode mpMouseOverSelected;
SharedElementMode mpMode;
bool mbIsOver;
bool mbIsPressed;
@@ -281,7 +283,8 @@ namespace {
const SharedElementMode& rpNormalMode,
const SharedElementMode& rpMouseOverMode,
const SharedElementMode& rpSelectedMode,
- const SharedElementMode& rpDisabledMode) override;
+ const SharedElementMode& rpDisabledMode,
+ const SharedElementMode& rpMouseOverSelectedMode) override;
private:
CurrentTimeLabel (const ::rtl::Reference<PresenterToolBar>& rpToolBar);
virtual ~CurrentTimeLabel() override;
@@ -297,11 +300,18 @@ namespace {
const SharedElementMode& rpNormalMode,
const SharedElementMode& rpMouseOverMode,
const SharedElementMode& rpSelectedMode,
- const SharedElementMode& rpDisabledMode) override;
+ const SharedElementMode& rpDisabledMode,
+ const SharedElementMode& rpMouseOverSelectedMode) override;
virtual void restart() override;
+ virtual bool isPaused() override;
+ virtual void setPauseStatus(const bool pauseStatus) override;
+ virtual TimeValue getPauseTimeValue();
+ virtual void setPauseTimeValue(const TimeValue pauseTime);
private:
TimeValue maStartTimeValue;
+ TimeValue pauseTimeValue;
PresentationTimeLabel (const ::rtl::Reference<PresenterToolBar>& rpToolBar);
+ bool paused;
virtual ~PresentationTimeLabel() override;
virtual void TimeHasChanged (const oslDateTime& rCurrentTime) override;
};
@@ -628,10 +638,12 @@ void PresenterToolBar::ProcessEntry (
SharedElementMode pMouseOverMode = std::make_shared<ElementMode>();
SharedElementMode pSelectedMode = std::make_shared<ElementMode>();
SharedElementMode pDisabledMode = std::make_shared<ElementMode>();
+ SharedElementMode pMouseOverSelectedMode = std::make_shared<ElementMode>();
pNormalMode->ReadElementMode(rxProperties, "Normal", pNormalMode, rContext);
pMouseOverMode->ReadElementMode(rxProperties, "MouseOver", pNormalMode, rContext);
pSelectedMode->ReadElementMode(rxProperties, "Selected", pNormalMode, rContext);
pDisabledMode->ReadElementMode(rxProperties, "Disabled", pNormalMode, rContext);
+ pMouseOverSelectedMode->ReadElementMode(rxProperties, "MouseOverSelected", pSelectedMode, rContext);
// Create new element.
::rtl::Reference<Element> pElement;
@@ -655,7 +667,7 @@ void PresenterToolBar::ProcessEntry (
}
if (pElement.is())
{
- pElement->SetModes( pNormalMode, pMouseOverMode, pSelectedMode, pDisabledMode);
+ pElement->SetModes( pNormalMode, pMouseOverMode, pSelectedMode, pDisabledMode, pMouseOverSelectedMode);
pElement->UpdateState();
if (mpCurrentContainerPart)
mpCurrentContainerPart->push_back(pElement);
@@ -1130,6 +1142,7 @@ Element::Element (
mpMouseOver(),
mpSelected(),
mpDisabled(),
+ mpMouseOverSelected(),
mpMode(),
mbIsOver(false),
mbIsPressed(false),
@@ -1147,12 +1160,14 @@ void Element::SetModes (
const SharedElementMode& rpNormalMode,
const SharedElementMode& rpMouseOverMode,
const SharedElementMode& rpSelectedMode,
- const SharedElementMode& rpDisabledMode)
+ const SharedElementMode& rpDisabledMode,
+ const SharedElementMode& rpMouseOverSelectedMode)
{
mpNormal = rpNormalMode;
mpMouseOver = rpMouseOverMode;
mpSelected = rpSelectedMode;
mpDisabled = rpDisabledMode;
+ mpMouseOverSelected = rpMouseOverSelectedMode;
mpMode = rpNormalMode;
}
@@ -1201,6 +1216,8 @@ bool Element::SetState (
// When the element is selected then ignore mouse over.
if ( ! mbIsEnabled)
mpMode = mpDisabled;
+ else if (mbIsSelected && mbIsOver)
+ mpMode = mpMouseOverSelected;
else if (mbIsSelected)
mpMode = mpSelected;
else if (mbIsOver)
@@ -1751,9 +1768,10 @@ void CurrentTimeLabel::SetModes (
const SharedElementMode& rpNormalMode,
const SharedElementMode& rpMouseOverMode,
const SharedElementMode& rpSelectedMode,
- const SharedElementMode& rpDisabledMode)
+ const SharedElementMode& rpDisabledMode,
+ const SharedElementMode& rpMouseOverSelectedMode)
{
- TimeLabel::SetModes(rpNormalMode, rpMouseOverMode, rpSelectedMode, rpDisabledMode);
+ TimeLabel::SetModes(rpNormalMode, rpMouseOverMode, rpSelectedMode, rpDisabledMode, rpMouseOverSelectedMode);
SetText(TimeFormatter::FormatTime(PresenterClockTimer::GetCurrentTime()));
}
@@ -1778,15 +1796,41 @@ PresentationTimeLabel::PresentationTimeLabel (
maStartTimeValue()
{
restart();
+ setPauseStatus(false);
+ TimeValue pauseTime(0,0);
+ setPauseTimeValue(pauseTime);
mpToolBar->GetPresenterController()->SetPresentationTime(this);
}
void PresentationTimeLabel::restart()
{
+ TimeValue pauseTime(0, 0);
+ setPauseTimeValue(pauseTime);
maStartTimeValue.Seconds = 0;
maStartTimeValue.Nanosec = 0;
}
+bool PresentationTimeLabel::isPaused()
+{
+ return paused;
+}
+
+void PresentationTimeLabel::setPauseStatus(const bool pauseStatus)
+{
+ paused = pauseStatus;
+}
+
+TimeValue PresentationTimeLabel::getPauseTimeValue()
+{
+ return pauseTimeValue;
+}
+
+void PresentationTimeLabel::setPauseTimeValue(const TimeValue pauseTime)
+{
+ //store the time at which the presentation was paused
+ pauseTimeValue = pauseTime;
+}
+
void PresentationTimeLabel::TimeHasChanged (const oslDateTime& rCurrentTime)
{
TimeValue aCurrentTimeValue;
@@ -1804,12 +1848,52 @@ void PresentationTimeLabel::TimeHasChanged (const oslDateTime& rCurrentTime)
maStartTimeValue.Nanosec = 0;
}
+ //The start time value is incremented by the amount of time
+ //the presentation was paused for in order to continue the
+ //timer from the same position
+ if(!isPaused())
+ {
+ TimeValue pauseTime = getPauseTimeValue();
+ if(pauseTime.Seconds != 0 || pauseTime.Nanosec != 0)
+ {
+ TimeValue incrementValue(0, 0);
+ incrementValue.Seconds = aCurrentTimeValue.Seconds - pauseTime.Seconds;
+ if(pauseTime.Nanosec > aCurrentTimeValue.Nanosec)
+ {
+ incrementValue.Nanosec = 1000000000 + aCurrentTimeValue.Nanosec - pauseTime.Nanosec;
+ }
+ else
+ {
+ incrementValue.Nanosec = aCurrentTimeValue.Nanosec - pauseTime.Nanosec;
+ }
+
+ maStartTimeValue.Seconds += incrementValue.Seconds;
+ maStartTimeValue.Nanosec += incrementValue.Nanosec;
+ if(maStartTimeValue.Nanosec >= 1000000000)
+ {
+ maStartTimeValue.Seconds += 1;
+ maStartTimeValue.Nanosec -= 1000000000;
+ }
+
+ TimeValue pauseTime_(0, 0);
+ setPauseTimeValue(pauseTime_);
+ }
+ }
+ else
+ {
+ TimeValue pauseTime = getPauseTimeValue();
+ if(pauseTime.Seconds == 0 && pauseTime.Nanosec == 0)
+ {
+ setPauseTimeValue(aCurrentTimeValue);
+ }
+ }
+
TimeValue aElapsedTimeValue;
aElapsedTimeValue.Seconds = aCurrentTimeValue.Seconds - maStartTimeValue.Seconds;
aElapsedTimeValue.Nanosec = aCurrentTimeValue.Nanosec - maStartTimeValue.Nanosec;
oslDateTime aElapsedDateTime;
- if (osl_getDateTimeFromTimeValue(&aElapsedTimeValue, &aElapsedDateTime))
+ if (osl_getDateTimeFromTimeValue(&aElapsedTimeValue, &aElapsedDateTime) && !isPaused())
{
SetText(TimeFormatter::FormatTime(aElapsedDateTime));
Invalidate(false);
@@ -1820,9 +1904,10 @@ void PresentationTimeLabel::SetModes (
const SharedElementMode& rpNormalMode,
const SharedElementMode& rpMouseOverMode,
const SharedElementMode& rpSelectedMode,
- const SharedElementMode& rpDisabledMode)
+ const SharedElementMode& rpDisabledMode,
+ const SharedElementMode& rpMouseOverSelectedMode)
{
- TimeLabel::SetModes(rpNormalMode, rpMouseOverMode, rpSelectedMode, rpDisabledMode);
+ TimeLabel::SetModes(rpNormalMode, rpMouseOverMode, rpSelectedMode, rpDisabledMode, rpMouseOverSelectedMode);
oslDateTime aStartDateTime;
if (osl_getDateTimeFromTimeValue(&maStartTimeValue, &aStartDateTime))
diff --git a/sdext/source/presenter/PresenterWindowManager.cxx b/sdext/source/presenter/PresenterWindowManager.cxx
index 713a14e15959..5f89cdfccc29 100644
--- a/sdext/source/presenter/PresenterWindowManager.cxx
+++ b/sdext/source/presenter/PresenterWindowManager.cxx
@@ -67,6 +67,7 @@ PresenterWindowManager::PresenterWindowManager (
meLayoutMode(LM_Generic),
mbIsSlideSorterActive(false),
mbIsHelpViewActive(false),
+ mbisPaused(false),
maLayoutListeners(),
mbIsMouseClickPending(false)
{
@@ -412,6 +413,16 @@ void PresenterWindowManager::SetHelpViewState (bool bIsActive)
NotifyLayoutModeChange();
}
+void PresenterWindowManager::SetPauseState (bool bIsPaused)
+{
+ if (mbisPaused == bIsPaused)
+ return;
+
+ mbisPaused = bIsPaused;
+
+ NotifyLayoutModeChange();
+}
+
void PresenterWindowManager::SetViewMode (const ViewMode eMode)
{
switch (eMode)
diff --git a/sdext/source/presenter/PresenterWindowManager.hxx b/sdext/source/presenter/PresenterWindowManager.hxx
index 0886f3538e81..9c032e6df433 100644
--- a/sdext/source/presenter/PresenterWindowManager.hxx
+++ b/sdext/source/presenter/PresenterWindowManager.hxx
@@ -83,6 +83,7 @@ public:
void SetSlideSorterState (bool bIsActive);
void SetHelpViewState (bool bIsActive);
+ void SetPauseState (bool bIsPaused);
enum LayoutMode { LM_Standard, LM_Notes, LM_Generic };
private:
@@ -163,6 +164,7 @@ private:
LayoutMode meLayoutMode;
bool mbIsSlideSorterActive;
bool mbIsHelpViewActive;
+ bool mbisPaused;
typedef ::std::vector<css::uno::Reference<css::document::XEventListener> >
LayoutListenerContainer;
LayoutListenerContainer maLayoutListeners;