diff options
-rw-r--r-- | browser/src/control/Control.Sidebar.js | 12 | ||||
-rw-r--r-- | browser/src/control/Control.Toolbar.js | 2 | ||||
-rw-r--r-- | browser/src/control/Control.UIManager.js | 9 |
3 files changed, 23 insertions, 0 deletions
diff --git a/browser/src/control/Control.Sidebar.js b/browser/src/control/Control.Sidebar.js index bceb212983..322d0e9480 100644 --- a/browser/src/control/Control.Sidebar.js +++ b/browser/src/control/Control.Sidebar.js @@ -116,6 +116,13 @@ L.Control.Sidebar = L.Control.extend({ wrapper.style.maxHeight = document.getElementById('document-container').getBoundingClientRect().height + 'px'; }, + unsetSelectedSidebar: function() { + this.map.uiManager.setSavedState('PropertyDeck', false); + this.map.uiManager.setSavedState('SdSlideTransitionDeck', false); + this.map.uiManager.setSavedState('SdCustomAnimationDeck', false); + this.map.uiManager.setSavedState('SdMasterPagesDeck', false); + }, + onSidebar: function(data) { var sidebarData = data.data; this.builder.setWindowId(sidebarData.id); @@ -134,6 +141,11 @@ L.Control.Sidebar = L.Control.extend({ this.onResize(); + if (this.map.getDocType() === 'presentation' && sidebarData.children && sidebarData.children[0] && sidebarData.children[0].id) { + this.unsetSelectedSidebar(); + this.map.uiManager.setSavedState(sidebarData.children[0].id, true); + } + this.builder.build(this.container, [sidebarData]); if (wrapper.style.display === 'none') $('#sidebar-dock-wrapper').show(this.options.animSpeed); diff --git a/browser/src/control/Control.Toolbar.js b/browser/src/control/Control.Toolbar.js index 915d88282d..f57720f4cb 100644 --- a/browser/src/control/Control.Toolbar.js +++ b/browser/src/control/Control.Toolbar.js @@ -78,6 +78,8 @@ function onClick(e, id, item) { item = item || getToolbarItemById(id); if (id === 'sidebar' || id === 'modifypage' || id === 'slidechangewindow' || id === 'customanimation' || id === 'masterslidespanel') { + if (!map.uiManager.getSavedStateOrDefault('ShowSidebar', false)) + map.sendUnoCommand('.uno:SidebarShow'); window.initSidebarState = true; } diff --git a/browser/src/control/Control.UIManager.js b/browser/src/control/Control.UIManager.js index 88ad980349..8e8371ba6e 100644 --- a/browser/src/control/Control.UIManager.js +++ b/browser/src/control/Control.UIManager.js @@ -221,6 +221,15 @@ L.Control.UIManager = L.Control.extend({ if (window.mode.isDesktop() && !window.ThisIsAMobileApp) { var showSidebar = this.getSavedStateOrDefault('ShowSidebar'); + if (this.map.getDocType() === 'presentation') { + if (this.getSavedStateOrDefault('SdSlideTransitionDeck')) + app.socket.sendMessage('uno .uno:SlideChangeWindow'); + else if (this.getSavedStateOrDefault('SdCustomAnimationDeck')) + app.socket.sendMessage('uno .uno:CustomAnimation'); + else if (this.getSavedStateOrDefault('SdMasterPagesDeck')) + app.socket.sendMessage('uno .uno:MasterSlidesPanel'); + } + if (showSidebar === false) app.socket.sendMessage('uno .uno:SidebarHide'); } |