summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sfx2/source/sidebar/SidebarController.cxx23
1 files changed, 11 insertions, 12 deletions
diff --git a/sfx2/source/sidebar/SidebarController.cxx b/sfx2/source/sidebar/SidebarController.cxx
index 4115e884e5c5..9afa3f5ae03d 100644
--- a/sfx2/source/sidebar/SidebarController.cxx
+++ b/sfx2/source/sidebar/SidebarController.cxx
@@ -455,20 +455,19 @@ void SidebarController::UpdateConfigurations()
void SidebarController::OpenThenSwitchToDeck (
const ::rtl::OUString& rsDeckId)
{
- // fdo#67627 Clicking a second time on a Deck icon will close the Deck
- if (IsDeckVisible(rsDeckId))
+ SfxSplitWindow* pSplitWindow = GetSplitWindow();
+ if ( pSplitWindow && !pSplitWindow->IsFadeIn() )
+ // tdf#83546 Collapsed sidebar should expand first
+ pSplitWindow->FadeIn();
+ else if ( IsDeckVisible( rsDeckId ) )
{
- // fdo#88241 Summoning an undocked sidebar a second time should close sidebar
- if (!GetSplitWindow())
- {
- mpParentWindow->Close();
- return;
- }
- else
- {
+ if ( pSplitWindow )
+ // tdf#67627 Clicking a second time on a Deck icon will close the Deck
RequestCloseDeck();
- return;
- }
+ else
+ // tdf#88241 Summoning an undocked sidebar a second time should close sidebar
+ mpParentWindow->Close();
+ return;
}
RequestOpenDeck();
SwitchToDeck(rsDeckId);