[Libreoffice-commits] core.git: Branch 'libreoffice-7-1' - vcl/inc vcl/source

Jan-Marek Glogowski (via logerrit) logerrit at kemper.freedesktop.org
Wed Apr 7 14:14:12 UTC 2021


 vcl/inc/salvtables.hxx        |    4 ++--
 vcl/source/control/button.cxx |    2 ++
 2 files changed, 4 insertions(+), 2 deletions(-)

New commits:
commit f73138a671d098dee96c11167ec390f209352d9e
Author:     Jan-Marek Glogowski <glogow at fbihome.de>
AuthorDate: Wed Apr 7 00:07:53 2021 +0200
Commit:     Adolfo Jayme Barrientos <fitojb at ubuntu.com>
CommitDate: Wed Apr 7 16:13:32 2021 +0200

    tdf#136918 restrict symbol size to button width
    
    ... and scale the button based on the DPI scaling factor.
    
    The symbol size is based on pDev->GetTextHeight(), but the button
    itself is fixed to 20px, which would break at some point. So this
    at least scales the button witdh based on DPI, just like commit
    1eba1c4597f8c2698aa91e2218d8452ad0fbc39c ("tdf#130991 Scale the
    drop-down arrow size-request") did for the toolbar buttons.
    
    OTOH this should probably just use the full button width ignoring
    the GetTextHeight()...
    
    Change-Id: I43010443265c10ad92f46cdecd1d7155a7a07a3e
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113710
    Tested-by: Jenkins
    Reviewed-by: Jan-Marek Glogowski <glogow at fbihome.de>
    (cherry picked from commit ea4fb1559f7b99a0bfaf18f26cb3b6972c9cde1c)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113648
    Reviewed-by: Adolfo Jayme Barrientos <fitojb at ubuntu.com>

diff --git a/vcl/inc/salvtables.hxx b/vcl/inc/salvtables.hxx
index 0702cb103a5f..d13a34875a99 100644
--- a/vcl/inc/salvtables.hxx
+++ b/vcl/inc/salvtables.hxx
@@ -828,8 +828,8 @@ public:
 
     int get_menu_button_width() const override
     {
-        const int nButtonWidth = 20;
-        return nButtonWidth;
+        OutputDevice* pDefault = Application::GetDefaultDevice();
+        return 20 * (pDefault ? pDefault->GetDPIScaleFactor() : 1.0);
     }
 
     void CallHandleEventListener(VclWindowEvent& rEvent)
diff --git a/vcl/source/control/button.cxx b/vcl/source/control/button.cxx
index 37586dae6bd5..91a4aa4543a3 100644
--- a/vcl/source/control/button.cxx
+++ b/vcl/source/control/button.cxx
@@ -821,6 +821,8 @@ void PushButton::ImplDrawPushButtonContent(OutputDevice *pDev, DrawFlags nDrawFl
 
         // calculate symbol size
         tools::Long nSymbolSize    = pDev->GetTextHeight() / 2 + 1;
+        if (nSymbolSize > aSize.Width() / 2)
+            nSymbolSize = aSize.Width() / 2;
 
         nSeparatorX = aInRect.Right() - 2*nSymbolSize;
         aSize.AdjustWidth( -(2*nSymbolSize) );


More information about the Libreoffice-commits mailing list