loleaflet/src/control/Control.Menubar.js   |    5 ++++-
 loleaflet/src/map/handler/Map.SlideShow.js |   16 ++++++++++++++--
 2 files changed, 18 insertions(+), 3 deletions(-)

New commits:
commit d660146ee3c16dfad80faf24ac8d20410a02f65f
Author:     nienzu <tommy...@ossii.com.tw>
AuthorDate: Fri Jul 3 09:57:14 2020 +0800
Commit:     Marco Cecchetti <marco.cecche...@collabora.com>
CommitDate: Wed Jul 29 18:27:06 2020 +0200

    tdf#134546 Implement presentation from current page
    
    Change-Id: Idad5bbc33e9382148aa5fe04ca475fb4989ed75d
    Reviewed-on: https://gerrit.libreoffice.org/c/online/+/97786
    Tested-by: Jenkins
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com>
    Tested-by: Marco Cecchetti <marco.cecche...@collabora.com>
    Reviewed-by: Marco Cecchetti <marco.cecche...@collabora.com>

diff --git a/loleaflet/src/control/Control.Menubar.js 
b/loleaflet/src/control/Control.Menubar.js
index bbe8e3132..b33039bc3 100644
--- a/loleaflet/src/control/Control.Menubar.js
+++ b/loleaflet/src/control/Control.Menubar.js
@@ -350,7 +350,8 @@ L.Control.Menubar = L.Control.extend({
                                {name: _UNO('.uno:DuplicateSlide', 
'presentation'), id: 'duplicatepage', type: 'action'},
                                {name: _UNO('.uno:DeleteSlide', 
'presentation'), id: 'deletepage', type: 'action'},
                                {type: 'separator', id: 
'fullscreen-presentation-separator'},
-                               {name: _('Fullscreen presentation'), id: 
'fullscreen-presentation', type: 'action'}]
+                               {name: _('Fullscreen presentation'), id: 
'fullscreen-presentation', type: 'action'},
+                               {name: _('Present current slide'), id: 
'presentation-currentslide', type: 'action'}]
                        },
                        {name: _UNO('.uno:ToolsMenu', 'presentation'), id: 
'tools', type: 'menu', menu: [
                                {uno: '.uno:SpellDialog'},
@@ -1189,6 +1190,8 @@ L.Control.Menubar = L.Control.extend({
                        this._map.uiManager.toggleRuler();
                } else if (id === 'fullscreen-presentation' && 
this._map.getDocType() === 'presentation') {
                        this._map.fire('fullscreen');
+               } else if (id === 'presentation-currentslide' && 
this._map.getDocType() === 'presentation') {
+                       this._map.fire('fullscreen', {startSlideNumber: 
this._map.getCurrentPartNumber()});
                } else if (id === 'insertpage') {
                        this._map.insertPage();
                } else if (id === 'insertshape') {
diff --git a/loleaflet/src/map/handler/Map.SlideShow.js 
b/loleaflet/src/map/handler/Map.SlideShow.js
index 0a1987707..f9b361a5e 100644
--- a/loleaflet/src/map/handler/Map.SlideShow.js
+++ b/loleaflet/src/map/handler/Map.SlideShow.js
@@ -9,6 +9,8 @@ L.Map.mergeOptions({
 
 L.Map.SlideShow = L.Handler.extend({
 
+       _slideURL: '', // store the URL for svg
+
        initialize: function (map) {
                this._map = map;
        },
@@ -23,7 +25,7 @@ L.Map.SlideShow = L.Handler.extend({
                this._map.off('slidedownloadready', this._onSlideDownloadReady, 
this);
        },
 
-       _onFullScreen: function () {
+       _onFullScreen: function (e) {
                if (window.ThisIsTheiOSApp || window.ThisIsTheAndroidApp) {
                        window.postMobileMessage('SLIDESHOW');
                        return;
@@ -48,6 +50,10 @@ L.Map.SlideShow = L.Handler.extend({
                                this._onFullScreenChange, this);
                }
 
+               this._startSlideNumber = 0; // Default: start from page 0
+               if (e.startSlideNumber !== undefined) {
+                       this._startSlideNumber = e.startSlideNumber;
+               }
                this.fullscreen = true;
                this._map.downloadAs('slideshow.svg', 'svg', null, 'slideshow');
        },
@@ -67,7 +73,13 @@ L.Map.SlideShow = L.Handler.extend({
        },
 
        _onSlideDownloadReady: function (e) {
-               this._slideShow.src = e.url;
+               this._slideURL = e.url;
+               console.debug('slide file url : ', this._slideURL);
+               this._startPlaying();
+       },
+
+       _startPlaying: function() {
+               this._slideShow.src = this._slideURL + '?StartSlideNumber=' + 
this._startSlideNumber;
                this._slideShow.contentWindow.focus();
        }
 });
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to