sfx2/source/sidebar/SidebarController.cxx |    9 ++++++++-
 test/source/sheet/xviewsplitable.cxx      |    4 ++--
 2 files changed, 10 insertions(+), 3 deletions(-)

New commits:
commit a58391b1f61db702a5246c5a33717cbba68c5252
Author:     Samuel Mehrbrodt <samuel.mehrbr...@cib.de>
AuthorDate: Fri Mar 22 16:17:11 2019 +0100
Commit:     Samuel Mehrbrodt <samuel.mehrbr...@cib.de>
CommitDate: Mon Mar 25 16:19:13 2019 +0100

    Related tdf#124263 Make sure sidebar is wide enough for content
    
    If panel's requested minimal size is smaller than current sidebar width,
    enlarge the sidebar to fit the content.
    
    Change-Id: I9baa4ef6c01d5563951d4df0d939883fce02e87b
    Reviewed-on: https://gerrit.libreoffice.org/69561
    Tested-by: Jenkins
    Reviewed-by: Samuel Mehrbrodt <samuel.mehrbr...@cib.de>

diff --git a/sfx2/source/sidebar/SidebarController.cxx 
b/sfx2/source/sidebar/SidebarController.cxx
index e4bd01b03d1e..f2fa554fb52c 100644
--- a/sfx2/source/sidebar/SidebarController.cxx
+++ b/sfx2/source/sidebar/SidebarController.cxx
@@ -1216,9 +1216,16 @@ void SidebarController::RestrictWidth (sal_Int32 nWidth)
     {
         const sal_uInt16 nId (pSplitWindow->GetItemId(mpParentWindow.get()));
         const sal_uInt16 nSetId (pSplitWindow->GetSet(nId));
+        const sal_Int32 nRequestedWidth
+            = (TabBar::GetDefaultWidth() + nWidth) * 
mpTabBar->GetDPIScaleFactor();
+
+        // Make sure the sidebar is wide enough to fit the requested content
+        if (pSplitWindow->GetSizePixel().Width() < nRequestedWidth)
+            SetChildWindowWidth(nRequestedWidth);
+
         pSplitWindow->SetItemSizeRange(
             nSetId,
-            Range(TabBar::GetDefaultWidth() * mpTabBar->GetDPIScaleFactor() + 
nWidth,
+            Range(nRequestedWidth,
                   getMaximumWidth() * mpTabBar->GetDPIScaleFactor()));
     }
 }
diff --git a/test/source/sheet/xviewsplitable.cxx 
b/test/source/sheet/xviewsplitable.cxx
index 7dd18aed2ebb..d88122f584f6 100644
--- a/test/source/sheet/xviewsplitable.cxx
+++ b/test/source/sheet/xviewsplitable.cxx
@@ -23,12 +23,12 @@ void XViewSplitable::testSplit()
     uno::Reference< sheet::XViewSplitable > xViewSplitable(init(), 
UNO_QUERY_THROW);
     CPPUNIT_ASSERT_MESSAGE("View is already split", 
!xViewSplitable->getIsWindowSplit());
 
-    xViewSplitable->splitAtPosition(101, 51);
+    xViewSplitable->splitAtPosition(90, 51);
 
     CPPUNIT_ASSERT_MESSAGE("View wasn't split", 
xViewSplitable->getIsWindowSplit());
 
     CPPUNIT_ASSERT_EQUAL_MESSAGE("Wrong horizontal pixel position",
-                                 sal_Int32(101), 
xViewSplitable->getSplitHorizontal());
+                                 sal_Int32(90), 
xViewSplitable->getSplitHorizontal());
     CPPUNIT_ASSERT_EQUAL_MESSAGE("Wrong vertical pixel position",
                                  sal_Int32(51), 
xViewSplitable->getSplitVertical());
 
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to