tdf#126006 sc SID_RELOAD: restart notebookbar
Change-Id: Icca41461d203615be58f9cf1214b82d70ee55ccb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153818
Tested-by: Jenkins
Reviewed-by: Justin Luth <jluth@mail.com>
diff --git a/sfx2/source/view/viewfrm.cxx b/sfx2/source/view/viewfrm.cxx
index 196a18d..0766eec 100644
--- a/sfx2/source/view/viewfrm.cxx
+++ b/sfx2/source/view/viewfrm.cxx
@@ -838,8 +838,18 @@ void SfxViewFrame::ExecReload_Impl( SfxRequest& rReq )
UpdateDocument_Impl();
if (vcl::CommandInfoProvider::GetModuleIdentifier(GetFrame().GetFrameInterface()) == "com.sun.star.text.TextDocument")
sfx2::SfxNotebookBar::ReloadNotebookBar(u"modules/swriter/ui/");
auto sModule = vcl::CommandInfoProvider::GetModuleIdentifier(GetFrame().GetFrameInterface());
OUString sReloadNotebookBar;
if (sModule == "com.sun.star.text.TextDocument")
sReloadNotebookBar = u"modules/swriter/ui/";
else if (sModule == "com.sun.star.sheet.SpreadsheetDocument")
sReloadNotebookBar = u"modules/scalc/ui/";
else if (sfx2::SfxNotebookBar::IsActive()
&& sModule != "presentation.PresentationDocument"
&& sModule != "com.sun.star.drawing.DrawingDocument")
{
assert(false && "SID_RELOAD Notebookbar active, but not refreshed here");
}
try
{
@@ -878,6 +888,10 @@ void SfxViewFrame::ExecReload_Impl( SfxRequest& rReq )
// Propagate document closure.
SfxGetpApp()->NotifyEvent( SfxEventHint( SfxEventHintId::CloseDoc, GlobalEventConfig::GetEventName( GlobalEventId::CLOSEDOC ), xOldObj ) );
// tdf#126006 Calc needs to reload the notebookbar after closing the document
if (!sReloadNotebookBar.isEmpty())
sfx2::SfxNotebookBar::ReloadNotebookBar(sReloadNotebookBar);
}
// Record as done