[Libreoffice-commits] core.git: Branch 'libreoffice-7-1' - include/sfx2 officecfg/registry sfx2/source

Heiko Tietze (via logerrit) logerrit at kemper.freedesktop.org
Tue Jun 22 07:26:33 UTC 2021


 include/sfx2/sidebar/SidebarController.hxx                     |    1 +
 officecfg/registry/schema/org/openoffice/Office/UI/Sidebar.xcs |    7 +++++++
 sfx2/source/sidebar/SidebarController.cxx                      |    5 +++--
 3 files changed, 11 insertions(+), 2 deletions(-)

New commits:
commit b1d135484940db34bc84940c06a2df1740d19469
Author:     Heiko Tietze <tietze.heiko at gmail.com>
AuthorDate: Fri Jun 4 14:42:58 2021 +0200
Commit:     Xisco Fauli <xiscofauli at libreoffice.org>
CommitDate: Tue Jun 22 09:26:00 2021 +0200

    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 at gmail.com>
    (cherry picked from commit f43fdcad400b6ff51f0810d923fe75d5a2cfde0c)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117414
    Reviewed-by: Xisco Fauli <xiscofauli at libreoffice.org>

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);


More information about the Libreoffice-commits mailing list