summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSzymon Kłos <eszkadev@gmail.com>2016-10-06 21:17:42 +0200
committerSzymon Kłos <eszkadev@gmail.com>2016-10-06 21:11:09 +0000
commit2796291bd84eeb71115f3d9fb3b8aec67c4f4214 (patch)
treeb8a20de62ffff207c653ac6ef590d523390dee04
parenta5442b696697e4a24566b1f5b7e5c9bc77a9fd03 (diff)
tdf#102776 : fixed Notebookbar hiding
Change-Id: I86cdf2aa9fd5167073da215f5baf50bb4f64f4dd Reviewed-on: https://gerrit.libreoffice.org/29579 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Szymon Kłos <eszkadev@gmail.com>
-rw-r--r--sfx2/source/notebookbar/SfxNotebookBar.cxx16
1 files changed, 10 insertions, 6 deletions
diff --git a/sfx2/source/notebookbar/SfxNotebookBar.cxx b/sfx2/source/notebookbar/SfxNotebookBar.cxx
index 282a168a3256..182b70aee2ae 100644
--- a/sfx2/source/notebookbar/SfxNotebookBar.cxx
+++ b/sfx2/source/notebookbar/SfxNotebookBar.cxx
@@ -258,8 +258,9 @@ bool SfxNotebookBar::StateMethod(SystemWindow* pSysWindow,
OUString sFile = lcl_getNotebookbarFileName( eApp );
OUString sNewFile = rUIFile + sFile;
OUString sCurrentFile;
- if ( pSysWindow->GetNotebookBar() )
- sCurrentFile = OStringToOUString( pSysWindow->GetNotebookBar()->getUIFile(), RTL_TEXTENCODING_ASCII_US );
+ NotebookBar* pNotebookBar = pSysWindow->GetNotebookBar();
+ if ( pNotebookBar )
+ sCurrentFile = OStringToOUString( pNotebookBar->getUIFile(), RTL_TEXTENCODING_ASCII_US );
bool bChangedFile = true;
if ( sCurrentFile.getLength() && sNewFile.getLength() )
@@ -272,7 +273,7 @@ bool SfxNotebookBar::StateMethod(SystemWindow* pSysWindow,
bChangedFile = ( sNewFile.compareTo( sCurrentFile ) != 0 );
}
- if ( ( !sFile.isEmpty() && bChangedFile ) || !pSysWindow->GetNotebookBar()->IsVisible() )
+ if ( ( !sFile.isEmpty() && bChangedFile ) || !pNotebookBar || !pNotebookBar->IsVisible() )
{
RemoveListeners(pSysWindow);
@@ -281,8 +282,10 @@ bool SfxNotebookBar::StateMethod(SystemWindow* pSysWindow,
// setup if necessary
pSysWindow->SetNotebookBar(aBuf.makeStringAndClear(), xFrame);
- pSysWindow->GetNotebookBar()->Show();
- pSysWindow->GetNotebookBar()->SetIconClickHdl(LINK(nullptr, SfxNotebookBar, OpenNotebookbarPopupMenu));
+ pNotebookBar = pSysWindow->GetNotebookBar();
+ pNotebookBar->Show();
+ pNotebookBar->GetParent()->Resize();
+ pNotebookBar->SetIconClickHdl( LINK( nullptr, SfxNotebookBar, OpenNotebookbarPopupMenu ) );
utl::OConfigurationTreeRoot aRoot;
const utl::OConfigurationNode aModeNode( lcl_getCurrentImplConfigNode( xFrame, aRoot ) );
@@ -299,7 +302,7 @@ bool SfxNotebookBar::StateMethod(SystemWindow* pSysWindow,
if(xFrame.is() && xMultiplexer.is())
{
xMultiplexer->addContextChangeEventListener(
- pSysWindow->GetNotebookBar()->getContextChangeEventListener(),
+ pNotebookBar->getContextChangeEventListener(),
xFrame->getController());
}
}
@@ -310,6 +313,7 @@ bool SfxNotebookBar::StateMethod(SystemWindow* pSysWindow,
else if (auto pNotebookBar = pSysWindow->GetNotebookBar())
{
pNotebookBar->Hide();
+ pNotebookBar->GetParent()->Resize();
SfxNotebookBar::ShowMenubar(true);
}