desktop/source/lib/init.cxx | 12 ++++----- include/sfx2/sfxsids.hrc | 2 + include/svx/svxids.hrc | 5 +++ sfx2/sdi/frmslots.sdi | 10 +++++++ sfx2/sdi/sfx.sdi | 36 +++++++++++++++++++++++++++ sfx2/source/sidebar/SidebarController.cxx | 2 - sfx2/source/sidebar/SidebarDockingWindow.cxx | 4 ++- sfx2/source/view/viewfrm.cxx | 19 +++++++++++--- 8 files changed, 77 insertions(+), 13 deletions(-)
New commits: commit bc2181cfc7280716c48d8bd0a07db849a32a97aa Author: Ashod Nakashian <ashod.nakash...@collabora.co.uk> AuthorDate: Sun Dec 15 21:12:17 2019 -0500 Commit: Michael Meeks <michael.me...@collabora.com> CommitDate: Mon Dec 16 10:25:35 2019 +0100 sfx2: sidebar: new .uno commands to show and hide sidebars Change-Id: I9afba5eec855d6de590086736177b543d52d3b20 Reviewed-on: https://gerrit.libreoffice.org/85192 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Michael Meeks <michael.me...@collabora.com> diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx index 5597f5be9bb4..f97cd6707187 100644 --- a/desktop/source/lib/init.cxx +++ b/desktop/source/lib/init.cxx @@ -3307,12 +3307,12 @@ static void doc_sendDialogEvent(LibreOfficeKitDocument* /*pThis*/, unsigned nWin } else if (aMap.find("id") != aMap.end()) { - const OUString sClickAction("CLICK"); - const OUString sSelectAction("SELECT"); - const OUString sClearAction("CLEAR"); - const OUString sTypeAction("TYPE"); - const OUString sUpAction("UP"); - const OUString sDownAction("DOWN"); + static const OUString sClickAction("CLICK"); + static const OUString sSelectAction("SELECT"); + static const OUString sClearAction("CLEAR"); + static const OUString sTypeAction("TYPE"); + static const OUString sUpAction("UP"); + static const OUString sDownAction("DOWN"); try { diff --git a/include/sfx2/sfxsids.hrc b/include/sfx2/sfxsids.hrc index 558a303fb573..b1200ecc2f57 100644 --- a/include/sfx2/sfxsids.hrc +++ b/include/sfx2/sfxsids.hrc @@ -565,6 +565,8 @@ class SfxDocumentInfoItem; #define SID_TABLE_BORDER_TYPE (SID_SVX_START + 1065) #define SID_TABLE_BORDER_INDEX (SID_SVX_START + 1066) #define SID_TABLE_BORDER_OFFSET (SID_SVX_START + 1067) +#define SID_SHOW_SIDEBAR (SID_SVX_START + 1190) +#define SID_HIDE_SIDEBAR (SID_SVX_START + 1191) #define FID_SVX_START (SID_LIB_START + 500) #define FID_SEARCH_NOW (FID_SVX_START + 2) diff --git a/include/svx/svxids.hrc b/include/svx/svxids.hrc index 2924a1bec218..d429b17f2af0 100644 --- a/include/svx/svxids.hrc +++ b/include/svx/svxids.hrc @@ -986,8 +986,11 @@ class SfxStringItem; #define SID_TOGGLE_RESOLVED_NOTES ( SID_SVX_START + 1189 ) +// #define SID_SHOW_SIDEBAR ( SID_SVX_START + 1190 ) -> sfxsids.hrc +// #define SID_HIDE_SIDEBAR ( SID_SVX_START + 1191 ) -> sfxsids.hrc + // IMPORTANT NOTE: adjust SID_SVX_FIRSTFREE, when adding new slot id -#define SID_SVX_FIRSTFREE ( SID_TOGGLE_RESOLVED_NOTES + 1 ) +#define SID_SVX_FIRSTFREE ( SID_HIDE_SIDEBAR + 1 ) // Overflow check for slot IDs #if SID_SVX_FIRSTFREE > SID_SVX_END diff --git a/sfx2/sdi/frmslots.sdi b/sfx2/sdi/frmslots.sdi index 09aafef95b7d..53a13b479a7c 100644 --- a/sfx2/sdi/frmslots.sdi +++ b/sfx2/sdi/frmslots.sdi @@ -43,6 +43,16 @@ interface Window ExecMethod = ChildWindowExecute ; StateMethod = ChildWindowState ; ] + SID_SHOW_SIDEBAR // status(final|play) + [ + ExecMethod = ChildWindowExecute ; + StateMethod = ChildWindowState ; + ] + SID_HIDE_SIDEBAR // status(final|play) + [ + ExecMethod = ChildWindowExecute ; + StateMethod = ChildWindowState ; + ] SID_BROWSER // ole(no) api() [ ExecMethod = ChildWindowExecute ; diff --git a/sfx2/sdi/sfx.sdi b/sfx2/sdi/sfx.sdi index 2540782a7427..fcda39ddae2b 100644 --- a/sfx2/sdi/sfx.sdi +++ b/sfx2/sdi/sfx.sdi @@ -2577,6 +2577,42 @@ SfxBoolItem Sidebar SID_SIDEBAR GroupId = SfxGroupId::View; ] +SfxBoolItem SidebarShow SID_SHOW_SIDEBAR +[ + AutoUpdate = TRUE, + FastCall = FALSE, + ReadOnlyDoc = TRUE, + Toggle = FALSE, + Container = FALSE, + RecordAbsolute = FALSE, + RecordPerSet; + Asynchron; + + + AccelConfig = TRUE, + MenuConfig = TRUE, + ToolBoxConfig = TRUE, + GroupId = SfxGroupId::View; +] + +SfxBoolItem SidebarHide SID_HIDE_SIDEBAR +[ + AutoUpdate = TRUE, + FastCall = FALSE, + ReadOnlyDoc = TRUE, + Toggle = FALSE, + Container = FALSE, + RecordAbsolute = FALSE, + RecordPerSet; + Asynchron; + + + AccelConfig = TRUE, + MenuConfig = TRUE, + ToolBoxConfig = TRUE, + GroupId = SfxGroupId::View; +] + SfxBoolItem Menubar SID_MENUBAR [ AutoUpdate = TRUE, diff --git a/sfx2/source/sidebar/SidebarController.cxx b/sfx2/source/sidebar/SidebarController.cxx index 561bc1e18ce5..72d6d216c5a2 100644 --- a/sfx2/source/sidebar/SidebarController.cxx +++ b/sfx2/source/sidebar/SidebarController.cxx @@ -1217,7 +1217,7 @@ void SidebarController::RequestCloseDeck() // Mobile. std::stringstream aStream; boost::property_tree::ptree aTree; - aTree.put("id", mpParentWindow->get_id()); // TODO could be missing - sort out + aTree.put("id", mpCurrentDeck->GetLOKWindowId()); aTree.put("type", "dockingwindow"); aTree.put("text", mpParentWindow->GetText()); aTree.put("enabled", false); diff --git a/sfx2/source/sidebar/SidebarDockingWindow.cxx b/sfx2/source/sidebar/SidebarDockingWindow.cxx index cba9e50fb2b4..5facecb2deb3 100644 --- a/sfx2/source/sidebar/SidebarDockingWindow.cxx +++ b/sfx2/source/sidebar/SidebarDockingWindow.cxx @@ -66,7 +66,9 @@ public: { // Mobile. std::stringstream aStream; - boost::property_tree::write_json(aStream, m_rSidebarDockingWin.DumpAsPropertyTree()); + boost::property_tree::ptree aTree = m_rSidebarDockingWin.DumpAsPropertyTree(); + aTree.put("id", m_rSidebarDockingWin.GetLOKWindowId()); + boost::property_tree::write_json(aStream, aTree); const std::string message = aStream.str(); if (message != m_LastNotificationMessage) { diff --git a/sfx2/source/view/viewfrm.cxx b/sfx2/source/view/viewfrm.cxx index 25d8a5c4bf76..21a34eb85215 100644 --- a/sfx2/source/view/viewfrm.cxx +++ b/sfx2/source/view/viewfrm.cxx @@ -3089,17 +3089,28 @@ void SfxViewFrame::ChildWindowState( SfxItemSet& rState ) else if ( KnowsChildWindow(nSID) ) rState.Put( SfxBoolItem( nSID, HasChildWindow(nSID) ) ); } - else if ( nSID == SID_SIDEBAR ) + else if ( nSID == SID_SIDEBAR || nSID == SID_SHOW_SIDEBAR || nSID == SID_HIDE_SIDEBAR ) { - if ( !KnowsChildWindow( nSID ) ) + if ( !KnowsChildWindow( SID_SIDEBAR ) ) { SAL_WARN("sfx.view", "SID_SIDEBAR state requested, but no task pane child window exists for this ID!"); - rState.DisableItem( nSID ); + rState.DisableItem( SID_SIDEBAR ); } - else + else if ( nSID == SID_SIDEBAR ) { + // Toggle. rState.Put( SfxBoolItem( nSID, HasChildWindow( nSID ) ) ); } + else if ( nSID == SID_SHOW_SIDEBAR ) + { + // Show. + rState.Put( SfxBoolItem( nSID, false ) ); + } + else if ( nSID == SID_HIDE_SIDEBAR ) + { + // Hide. + rState.Put( SfxBoolItem( nSID, true ) ); + } } else if ( KnowsChildWindow(nSID) ) rState.Put( SfxBoolItem( nSID, HasChildWindow(nSID) ) ); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits