summaryrefslogtreecommitdiff
path: root/sfx2
diff options
context:
space:
mode:
Diffstat (limited to 'sfx2')
-rw-r--r--sfx2/source/sidebar/SidebarController.cxx14
1 files 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();