diff options
-rw-r--r-- | include/sfx2/sidebar/SidebarController.hxx | 1 | ||||
-rw-r--r-- | officecfg/registry/schema/org/openoffice/Office/UI/Sidebar.xcs | 7 | ||||
-rw-r--r-- | sfx2/source/sidebar/SidebarController.cxx | 5 |
3 files changed, 11 insertions, 2 deletions
diff --git a/include/sfx2/sidebar/SidebarController.hxx b/include/sfx2/sidebar/SidebarController.hxx index 7c0b4294ad18..48d595722717 100644 --- a/include/sfx2/sidebar/SidebarController.hxx +++ b/include/sfx2/sidebar/SidebarController.hxx @@ -190,6 +190,7 @@ private: /// Use a combination of SwitchFlag_* as value. sal_Int32 mnRequestedForceFlags; sal_Int32 mnMaximumSidebarWidth; + bool mbMinimumSidebarWidth; OUString msCurrentDeckId; AsynchronousCall maPropertyChangeForwarder; AsynchronousCall maContextChangeUpdate; diff --git a/officecfg/registry/schema/org/openoffice/Office/UI/Sidebar.xcs b/officecfg/registry/schema/org/openoffice/Office/UI/Sidebar.xcs index 9fbb0fbbcbee..e4aad7f551d2 100644 --- a/officecfg/registry/schema/org/openoffice/Office/UI/Sidebar.xcs +++ b/officecfg/registry/schema/org/openoffice/Office/UI/Sidebar.xcs @@ -250,6 +250,13 @@ </info> <value>500</value> </prop> + <prop oor:name="MinimumWidth" oor:type="xs:boolean" oor:nillable="false"> + <info> + <desc>Minimum width the sidebar can have. If true, the minumum width + is calculated from the largest deck.</desc> + </info> + <value>true</value> + </prop> </group> <group oor:name="Content"> <info> diff --git a/sfx2/source/sidebar/SidebarController.cxx b/sfx2/source/sidebar/SidebarController.cxx index c363e4980cb2..3ca7ca9655f1 100644 --- a/sfx2/source/sidebar/SidebarController.cxx +++ b/sfx2/source/sidebar/SidebarController.cxx @@ -125,6 +125,7 @@ SidebarController::SidebarController ( maRequestedContext(), mnRequestedForceFlags(SwitchFlag_NoForce), mnMaximumSidebarWidth(officecfg::Office::UI::Sidebar::General::MaximumWidth::get()), + mbMinimumSidebarWidth(officecfg::Office::UI::Sidebar::General::MinimumWidth::get()), msCurrentDeckId(gsDefaultDeckId), maPropertyChangeForwarder([this](){ return this->BroadcastPropertyChange(); }), maContextChangeUpdate([this](){ return this->UpdateConfigurations(); }), @@ -404,7 +405,7 @@ void SAL_CALL SidebarController::requestLayout() if (mpCurrentDeck && !mpCurrentDeck->isDisposed()) { mpCurrentDeck->RequestLayout(); - nMinimalWidth = mpCurrentDeck->GetMinimalWidth(); + nMinimalWidth = mbMinimumSidebarWidth ? mpCurrentDeck->GetMinimalWidth() : 0; } RestrictWidth(nMinimalWidth); } @@ -498,7 +499,7 @@ void SidebarController::NotifyResize() DeckTitleBar* pTitleBar = mpCurrentDeck->GetTitleBar(); if (pTitleBar && pTitleBar->GetVisible()) pTitleBar->SetCloserVisible(CanModifyChildWindowWidth()); - nMinimalWidth = mpCurrentDeck->GetMinimalWidth(); + nMinimalWidth = mbMinimumSidebarWidth ? mpCurrentDeck->GetMinimalWidth() : 0; } RestrictWidth(nMinimalWidth); |