tdf#90978 add exit button to impress presenter console

Change-Id: If8a5226d700eb7a4137218191b5abc85bbb36b4d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97041
Tested-by: Jenkins
Tested-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
This commit is contained in:
Srijan Bhatia
2020-06-27 12:01:23 +02:00
committed by Heiko Tietze
parent e318e4cea3
commit e13ba48c7f
10 changed files with 108 additions and 0 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 771 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 909 B

@@ -0,0 +1 @@
<svg height="33" viewBox="0 0 8.2020832 8.7312502" width="31" xmlns="http://www.w3.org/2000/svg"><path d="m15 3c-7.7319866 0-14 6.2680138-14 14 0 7.731986 6.2680134 14 14 14 7.731986 0 14-6.268014 14-14 0-7.7319862-6.268014-14-14-14zm0 2c6.627417 0 12 5.372583 12 12s-5.372583 12-12 12-12-5.372583-12-12 5.372583-12 12-12zm-6.5449219 4-1.4550781 1.455078 6.544922 6.544922-6.544922 6.544922 1.4550781 1.455078 6.5449219-6.544922 6.544922 6.544922 1.455078-1.455078-6.544922-6.544922 6.544922-6.544922-1.455078-1.455078-6.544922 6.544922z" fill="#fff" stroke-width=".999999" transform="scale(.26458333)"/></svg>

After

Width:  |  Height:  |  Size: 610 B

@@ -0,0 +1 @@
<svg height="33" viewBox="0 0 8.2020832 8.7312502" width="31" xmlns="http://www.w3.org/2000/svg"><path d="m15 3c-7.7319866 0-14 6.2680138-14 14 0 7.731986 6.2680134 14 14 14 7.731986 0 14-6.268014 14-14 0-7.7319862-6.268014-14-14-14zm0 2c6.627417 0 12 5.372583 12 12s-5.372583 12-12 12-12-5.372583-12-12 5.372583-12 12-12zm-6.5449219 4-1.4550781 1.455078 6.544922 6.544922-6.544922 6.544922 1.4550781 1.455078 6.5449219-6.544922 6.544922 6.544922 1.455078-1.455078-6.544922-6.544922 6.544922-6.544922-1.455078-1.455078-6.544922 6.544922z" fill="#b3b7bc" stroke-width=".999999" transform="scale(.26458333)"/></svg>

After

Width:  |  Height:  |  Size: 613 B

@@ -618,6 +618,65 @@
</node>
</node>
</node>
<node oor:name="q" oor:op="replace">
<prop oor:name="Type">
<value>VerticalSeparator</value>
</prop>
<node oor:name="Normal">
<node oor:name="Font">
<prop oor:name="Color">
<value>76797C</value>
</prop>
</node>
</node>
</node>
<node oor:name="r" oor:op="replace">
<prop oor:name="Name">
<value>ExitPresenter</value>
</prop>
<prop oor:name="Type">
<value>Button</value>
</prop>
<node oor:name="Normal">
<prop oor:name="Text">
<value xml:lang="en-US">Exit</value>
</prop>
<node oor:name="Icon">
<prop oor:name="NormalFileName">
<value>bitmaps/ButtonExitPresenterNormal.png</value>
</prop>
</node>
<prop oor:name="Action">
<value>vnd.org.libreoffice.presenterscreen:ExitPresenter</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/ButtonExitPresenterMouseOver.png</value>
</prop>
</node>
<node oor:name="Font">
<prop oor:name="Color">
<value>FFFFFF</value>
</prop>
</node>
</node>
</node>
</node>
</node>
<node oor:name="NotesToolBar" oor:op="replace">
+2
View File
@@ -103,6 +103,7 @@
#define BMP_PRESENTERSCREEN_BORDER_TOOLBAR_TOP "sd/res/presenterscreen-BorderToolbarTop.png"
#define BMP_PRESENTERSCREEN_BORDER_ACTIVE_LEFT "sd/res/presenterscreen-BorderActiveLeft.png"
#define BMP_PRESENTERSCREEN_BUTTON_HELP_NORMAL "sd/res/presenterscreen-ButtonHelpNormal.png"
#define BMP_PRESENTERSCREEN_BUTTON_EXIT_PRESENTER_NORMAL "sd/res/presenterscreen-ButtonExitPresenterNormal.png"
#define BMP_PRESENTERSCREEN_BORDER_ACTIVE_BOTTOM_CALLOUT "sd/res/presenterscreen-BorderActiveBottomCallout.png"
#define BMP_PRESENTERSCREEN_BORDER_TOOLBAR_LEFT "sd/res/presenterscreen-BorderToolbarLeft.png"
#define BMP_PRESENTERSCREEN_BUTTON_SLIDE_SORTER_NORMAL "sd/res/presenterscreen-ButtonSlideSorterNormal.png"
@@ -164,6 +165,7 @@
#define BMP_PRESENTERSCREEN_BORDER_CURRENT_SLIDE_BOTTOM_LEFT "sd/res/presenterscreen-BorderCurrentSlideBottomLeft.png"
#define BMP_PRESENTERSCREEN_BORDER_TOP_RIGHT "sd/res/presenterscreen-BorderTopRight.png"
#define BMP_PRESENTERSCREEN_BUTTON_HELP_MOUSE_OVER "sd/res/presenterscreen-ButtonHelpMouseOver.png"
#define BMP_PRESENTERSCREEN_BUTTON_EXIT_PRESENTER_MOUSE_OVER "sd/res/presenterscreen-ButtonExitPresenterMouseOver.png"
#define BMP_PRESENTERSCREEN_SCROLLBAR_THUMB_TOP_NORMAL "sd/res/presenterscreen-ScrollbarThumbTopNormal.png"
#define BMP_PRESENTERSCREEN_SCROLLBAR_ARROW_UP_SELECTED "sd/res/presenterscreen-ScrollbarArrowUpSelected.png"
#define BMP_PRESENTERSCREEN_SCROLLBAR_ARROW_UP_DISABLED "sd/res/presenterscreen-ScrollbarArrowUpDisabled.png"
@@ -276,6 +276,10 @@ Reference<rendering::XBitmap> SAL_CALL PresenterHelper::loadBitmap (
BMP_PRESENTERSCREEN_BUTTON_HELP_NORMAL },
{ "bitmaps/ButtonHelpSelected.png",
BMP_PRESENTERSCREEN_BUTTON_HELP_SELECTED },
{ "bitmaps/ButtonExitPresenterMouseOver.png",
BMP_PRESENTERSCREEN_BUTTON_EXIT_PRESENTER_MOUSE_OVER },
{ "bitmaps/ButtonExitPresenterNormal.png",
BMP_PRESENTERSCREEN_BUTTON_EXIT_PRESENTER_NORMAL },
{ "bitmaps/ButtonMinusDisabled.png",
BMP_PRESENTERSCREEN_BUTTON_MINUS_DISABLED },
{ "bitmaps/ButtonMinusMouseOver.png",
@@ -1157,6 +1157,20 @@ void PresenterController::SwitchMonitors()
pScreen->SwitchMonitors();
}
void PresenterController::ExitPresenter()
{
if( mxController.is() )
{
Reference< XPresentationSupplier > xPS( mxController->getModel(), UNO_QUERY );
if( xPS.is() )
{
Reference< XPresentation > xP( xPS->getPresentation() );
if( xP.is() )
xP->end();
}
}
}
} // end of namespace ::sdext::presenter
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
@@ -110,6 +110,7 @@ public:
void ShowView (const OUString& rsViewURL);
void HideView (const OUString& rsViewURL);
void SwitchMonitors();
void ExitPresenter();
void DispatchUnoCommand (const OUString& rsCommand) const;
css::uno::Reference<css::frame::XDispatch> GetDispatch (
const css::util::URL& rURL) const;
@@ -164,6 +164,15 @@ namespace {
const sal_Int32 mnSizeChange;
};
class ExitPresenterCommand : public Command
{
public:
explicit ExitPresenterCommand(const rtl::Reference<PresenterController>& rpPresenterController);
virtual void Execute() override;
private:
rtl::Reference<PresenterController> mpPresenterController;
};
} // end of anonymous namespace
namespace {
@@ -398,6 +407,8 @@ Command* PresenterProtocolHandler::Dispatch::CreateCommand (
return new SetHelpViewCommand(true, rpPresenterController);
if (rsURLPath == "ShrinkNotesFont")
return new NotesFontSizeCommand(rpPresenterController, -1);
if (rsURLPath == "ExitPresenter")
return new ExitPresenterCommand(rpPresenterController);
return nullptr;
}
@@ -805,6 +816,21 @@ Any NotesFontSizeCommand::GetState() const
return Any();
}
//===== ExitPresenterCommand ==================================================
ExitPresenterCommand::ExitPresenterCommand (const rtl::Reference<PresenterController>& rpPresenterController)
: mpPresenterController(rpPresenterController)
{
}
void ExitPresenterCommand::Execute()
{
if ( ! mpPresenterController.is())
return;
mpPresenterController->ExitPresenter();
}
} // end of namespace ::sdext::presenter
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */