[Libreoffice-commits] core.git: sfx2/source vcl/source

Miklos Vajna vmiklos at collabora.co.uk
Tue Jul 12 09:27:59 UTC 2016


 sfx2/source/view/classificationcontroller.cxx |    4 +++-
 vcl/source/window/toolbox2.cxx                |    6 ++++++
 2 files changed, 9 insertions(+), 1 deletion(-)

New commits:
commit 8192da8e4de7a058ef95253f992f4143f83fa0f1
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date:   Tue Jul 12 10:13:22 2016 +0200

    tdf#100600 sfx2 classification: never replace the control with label
    
    Thanks to Caolán McNamara for pointing out where is the condition of the
    replacement in VCL.
    
    Change-Id: I7e1ef4a016a37b25e084c4c6467a42ca557069a4
    Reviewed-on: https://gerrit.libreoffice.org/27133
    Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>
    Tested-by: Jenkins <ci at libreoffice.org>

diff --git a/sfx2/source/view/classificationcontroller.cxx b/sfx2/source/view/classificationcontroller.cxx
index caa6ef4..b905cd6 100644
--- a/sfx2/source/view/classificationcontroller.cxx
+++ b/sfx2/source/view/classificationcontroller.cxx
@@ -234,7 +234,9 @@ void ClassificationCategoriesController::removeEntries()
 }
 
 ClassificationControl::ClassificationControl(vcl::Window* pParent)
-    : Window(pParent, WB_DIALOGCONTROL)
+    // WB_NOLABEL means here that the control won't be replaced with a label
+    // when it wouldn't fit the available space.
+    : Window(pParent, WB_DIALOGCONTROL | WB_NOLABEL)
 {
     m_pLabels[SfxClassificationPolicyType::IntellectualProperty] = VclPtr<FixedText>::Create(this, WB_CENTER);
     m_pLabels[SfxClassificationPolicyType::NationalSecurity] = VclPtr<FixedText>::Create(this, WB_CENTER);
diff --git a/vcl/source/window/toolbox2.cxx b/vcl/source/window/toolbox2.cxx
index e6d3af2..307b387 100644
--- a/vcl/source/window/toolbox2.cxx
+++ b/vcl/source/window/toolbox2.cxx
@@ -213,6 +213,12 @@ Size ImplToolItem::GetSize( bool bHorz, bool bCheckMaxWidth, long maxWidth, cons
             // get size of item window and check if it fits
             // no windows in vertical toolbars (the default is mbShowWindow=false)
             Size aWinSize = mpWindow->GetSizePixel();
+
+            if (mpWindow->GetStyle() & WB_NOLABEL)
+                // Window wants no label? Then don't check width, it'll be just
+                // clipped.
+                bCheckMaxWidth = false;
+
             if ( !bCheckMaxWidth || (aWinSize.Width() <= maxWidth) )
             {
                 aSize.Width()   = aWinSize.Width();


More information about the Libreoffice-commits mailing list