summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHeiko Tietze <tietze.heiko@gmail.com>2021-06-04 14:42:58 +0200
committerXisco Fauli <xiscofauli@libreoffice.org>2021-06-22 09:26:00 +0200
commitb1d135484940db34bc84940c06a2df1740d19469 (patch)
treed01afeeecf6b2240289a9706583c426b5a886765
parent5a15f6dc15449fd83949fbff296fe2f72c20639f (diff)
Resolves tdf#140360 - Provide option to turn off sidebar's minimum width
Boolean option Sidebar:General:MinimumWidth introduced defaulting to true; if false the sidebar width is under full user control Change-Id: Iab1413a83adf90461feb5d6416aad174439392ca Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116715 Tested-by: Jenkins Reviewed-by: Jim Raykowski <raykowj@gmail.com> (cherry picked from commit f43fdcad400b6ff51f0810d923fe75d5a2cfde0c) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117414 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
-rw-r--r--include/sfx2/sidebar/SidebarController.hxx1
-rw-r--r--officecfg/registry/schema/org/openoffice/Office/UI/Sidebar.xcs7
-rw-r--r--sfx2/source/sidebar/SidebarController.cxx5
3 files changed, 11 insertions, 2 deletions
diff --git a/include/sfx2/sidebar/SidebarController.hxx b/include/sfx2/sidebar/SidebarController.hxx
index cd4f329e99d9..0ff5985a0a52 100644
--- a/include/sfx2/sidebar/SidebarController.hxx
+++ b/include/sfx2/sidebar/SidebarController.hxx
@@ -185,6 +185,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 6ed1d79d80cf..c54c3d6076c0 100644
--- a/officecfg/registry/schema/org/openoffice/Office/UI/Sidebar.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/UI/Sidebar.xcs
@@ -242,6 +242,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 98c8acbc6c67..c91381d01db9 100644
--- a/sfx2/source/sidebar/SidebarController.cxx
+++ b/sfx2/source/sidebar/SidebarController.cxx
@@ -136,6 +136,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(); }),
@@ -376,7 +377,7 @@ void SAL_CALL SidebarController::requestLayout()
if (mpCurrentDeck && !mpCurrentDeck->isDisposed())
{
mpCurrentDeck->RequestLayout();
- nMinimalWidth = mpCurrentDeck->GetMinimalWidth();
+ nMinimalWidth = mbMinimumSidebarWidth ? mpCurrentDeck->GetMinimalWidth() : 0;
}
RestrictWidth(nMinimalWidth);
}
@@ -471,7 +472,7 @@ void SidebarController::NotifyResize()
VclPtr<DeckTitleBar> pTitleBar = mpCurrentDeck->GetTitleBar();
if (pTitleBar && pTitleBar->IsVisible())
pTitleBar->SetCloserVisible(CanModifyChildWindowWidth());
- nMinimalWidth = mpCurrentDeck->GetMinimalWidth();
+ nMinimalWidth = mbMinimumSidebarWidth ? mpCurrentDeck->GetMinimalWidth() : 0;
}
RestrictWidth(nMinimalWidth);