summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--offapi/com/sun/star/presentation/XSlideShowController.idl6
-rw-r--r--officecfg/registry/data/org/openoffice/Office/PresenterScreen.xcu12
-rw-r--r--sd/source/ui/slideshow/slideshowimpl.cxx13
-rw-r--r--sd/source/ui/slideshow/slideshowimpl.hxx2
-rw-r--r--sdext/source/presenter/PresenterController.cxx17
5 files changed, 38 insertions, 12 deletions
diff --git a/offapi/com/sun/star/presentation/XSlideShowController.idl b/offapi/com/sun/star/presentation/XSlideShowController.idl
index 3d8528dbb722..2d93e33c935a 100644
--- a/offapi/com/sun/star/presentation/XSlideShowController.idl
+++ b/offapi/com/sun/star/presentation/XSlideShowController.idl
@@ -245,6 +245,12 @@ interface XSlideShowController
[attribute] double PenWidth;
+ /** This method clears ink drawing from the slideshow being played
+
+ @since LibreOffice 7.2
+ */
+ void setEraseAllInk( [in] boolean EraseAllInk );
+
/** returns the actual XSlideShow instance that runs the
slide show.
<br>Normally all navigation should be done using this controller and
diff --git a/officecfg/registry/data/org/openoffice/Office/PresenterScreen.xcu b/officecfg/registry/data/org/openoffice/Office/PresenterScreen.xcu
index c60645af20d3..4f99dae763a8 100644
--- a/officecfg/registry/data/org/openoffice/Office/PresenterScreen.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/PresenterScreen.xcu
@@ -973,7 +973,7 @@
<node oor:name="HelpStrings">
<node oor:name="a" oor:op="replace">
<prop oor:name="Left">
- <value xml:lang="en-US">Left click, right or down arrow, spacebar, page down, enter, return, 'N'</value>
+ <value xml:lang="en-US">Left click, right or down arrow, spacebar, page down, enter, return</value>
</prop>
<prop oor:name="Right">
<value xml:lang="en-US">Next slide, or next effect</value>
@@ -981,7 +981,7 @@
</node>
<node oor:name="b" oor:op="replace">
<prop oor:name="Left">
- <value xml:lang="en-US">Right click, left or up arrow, page up, backspace, 'P'</value>
+ <value xml:lang="en-US">Right click, left or up arrow, page up, backspace</value>
</prop>
<prop oor:name="Right">
<value xml:lang="en-US">Previous slide, or previous effect</value>
@@ -989,10 +989,10 @@
</node>
<node oor:name="c" oor:op="replace">
<prop oor:name="Left">
- <value xml:lang="x-no-translate"> </value>
+ <value xml:lang="en-US">'P'</value>
</prop>
<prop oor:name="Right">
- <value xml:lang="x-no-translate"> </value>
+ <value xml:lang="en-US">Use mouse pointer as pen</value>
</prop>
</node>
<node oor:name="d" oor:op="replace">
@@ -1013,10 +1013,10 @@
</node>
<node oor:name="f" oor:op="replace">
<prop oor:name="Left">
- <value xml:lang="x-no-translate"> </value>
+ <value xml:lang="en-US">'E'</value>
</prop>
<prop oor:name="Right">
- <value xml:lang="x-no-translate"> </value>
+ <value xml:lang="en-US">Erase all ink on slide</value>
</prop>
</node>
<node oor:name="g" oor:op="replace">
diff --git a/sd/source/ui/slideshow/slideshowimpl.cxx b/sd/source/ui/slideshow/slideshowimpl.cxx
index b10d116218c4..41c331644ac2 100644
--- a/sd/source/ui/slideshow/slideshowimpl.cxx
+++ b/sd/source/ui/slideshow/slideshowimpl.cxx
@@ -1756,7 +1756,6 @@ bool SlideshowImpl::keyInput(const KeyEvent& rKEvt)
case KEY_SPACE:
case KEY_RIGHT:
case KEY_DOWN:
- case KEY_N:
gotoNextEffect();
break;
@@ -1801,11 +1800,19 @@ bool SlideshowImpl::keyInput(const KeyEvent& rKEvt)
[[fallthrough]];
case KEY_LEFT:
case KEY_UP:
- case KEY_P:
case KEY_BACKSPACE:
gotoPreviousEffect();
break;
+ case KEY_P:
+ setUsePen( !mbUsePen );
+ break;
+
+ case KEY_E:
+ setEraseAllInk( true );
+ updateSlideShow();
+ break;
+
case KEY_HOME:
gotoFirstSlide();
break;
@@ -2685,7 +2692,7 @@ void SAL_CALL SlideshowImpl::setPenColor( sal_Int32 nColor )
setUsePen( true ); // enable pen mode, update color
}
-void SlideshowImpl::setEraseAllInk(bool bEraseAllInk)
+void SAL_CALL SlideshowImpl::setEraseAllInk(sal_Bool bEraseAllInk)
{
if( !bEraseAllInk )
return;
diff --git a/sd/source/ui/slideshow/slideshowimpl.hxx b/sd/source/ui/slideshow/slideshowimpl.hxx
index 8f848a4f1aa9..5fbd564fc00f 100644
--- a/sd/source/ui/slideshow/slideshowimpl.hxx
+++ b/sd/source/ui/slideshow/slideshowimpl.hxx
@@ -146,7 +146,7 @@ public:
virtual double SAL_CALL getPenWidth() override;
virtual void SAL_CALL setPenWidth( double dStrokeWidth ) override;
/// @throws css::uno::RuntimeException
- void setEraseAllInk( bool bEraseAllInk );
+ virtual void SAL_CALL setEraseAllInk( sal_Bool bEraseAllInk ) override;
virtual sal_Bool SAL_CALL isRunning( ) override;
virtual ::sal_Int32 SAL_CALL getSlideCount( ) override;
virtual css::uno::Reference< css::drawing::XDrawPage > SAL_CALL getSlideByIndex( ::sal_Int32 Index ) override;
diff --git a/sdext/source/presenter/PresenterController.cxx b/sdext/source/presenter/PresenterController.cxx
index 050109ff7182..58f423def0aa 100644
--- a/sdext/source/presenter/PresenterController.cxx
+++ b/sdext/source/presenter/PresenterController.cxx
@@ -859,7 +859,6 @@ void SAL_CALL PresenterController::keyReleased (const awt::KeyEvent& rEvent)
case awt::Key::RIGHT:
case awt::Key::SPACE:
case awt::Key::DOWN:
- case awt::Key::N:
if (mxSlideShowController.is())
{
mxSlideShowController->gotoNextEffect();
@@ -878,7 +877,6 @@ void SAL_CALL PresenterController::keyReleased (const awt::KeyEvent& rEvent)
case awt::Key::LEFT:
case awt::Key::UP:
- case awt::Key::P:
case awt::Key::BACKSPACE:
if (mxSlideShowController.is())
{
@@ -886,6 +884,21 @@ void SAL_CALL PresenterController::keyReleased (const awt::KeyEvent& rEvent)
}
break;
+ case awt::Key::P:
+ if (mxSlideShowController.is())
+ {
+ bool bPenEnabled = mxSlideShowController->getUsePen();
+ mxSlideShowController->setUsePen( !bPenEnabled );
+ }
+ break;
+
+ case awt::Key::E:
+ if (mxSlideShowController.is())
+ {
+ mxSlideShowController->setEraseAllInk( true );
+ }
+ break;
+
case awt::Key::HOME:
if (mxSlideShowController.is())
{