From 26bcfbe48b30e0a525a0f25b73ddcacdd158256b Mon Sep 17 00:00:00 2001 From: Ashod Nakashian Date: Sun, 5 May 2019 11:51:30 -0400 Subject: [PATCH] Notify the client when we close the sidebar Reviewed-on: https://gerrit.libreoffice.org/71844 Reviewed-by: Jan Holesovsky Tested-by: Jan Holesovsky (cherry picked from commit 60c048e665c7e8dc32c378f0364931b6e26a9ca2) Change-Id: I4879d65285e01cf2fd99233d226f4201997b4dd7 Reviewed-on: https://gerrit.libreoffice.org/76784 Tested-by: Jenkins Reviewed-by: Noel Grandin --- sfx2/source/sidebar/SidebarController.cxx | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/sfx2/source/sidebar/SidebarController.cxx b/sfx2/source/sidebar/SidebarController.cxx index 55e1c3a5a29e..752c59387376 100644 --- a/sfx2/source/sidebar/SidebarController.cxx +++ b/sfx2/source/sidebar/SidebarController.cxx @@ -74,13 +74,13 @@ namespace const static sal_Int32 gnWidthCloseThreshold (70); const static sal_Int32 gnWidthOpenThreshold (40); - std::string UnoNameFromDeckId(const OUString& rsDeckId) + std::string UnoNameFromDeckId(const OUString& rsDeckId, bool isDraw=false) { if (rsDeckId == "SdCustomAnimationDeck") return ".uno:CustomAnimation"; if (rsDeckId == "PropertyDeck") - return ".uno:ModifyPage"; + return isDraw ? ".uno:ModifyPage" : ".uno:Sidebar"; if (rsDeckId == "SdLayoutsDeck") return ".uno:ModifyPage"; @@ -234,7 +234,17 @@ void SidebarController::disposeDecks() SolarMutexGuard aSolarMutexGuard; if (comphelper::LibreOfficeKit::isActive()) + { + if (const SfxViewShell* pViewShell = mpViewFrame->GetViewShell()) + { + const std::string hide = UnoNameFromDeckId(msCurrentDeckId); + if (!hide.empty()) + pViewShell->libreOfficeKitViewCallback(LOK_CALLBACK_STATE_CHANGED, + (hide + "=false").c_str()); + } + mpParentWindow->ReleaseLOKNotifier(); + } mpCurrentDeck.clear(); maFocusManager.Clear(); -- 2.11.4.GIT