[Libreoffice-commits] core.git: Branch 'libreoffice-5-3' - framework/source include/vcl vcl/source

Tomaž Vajngerl tomaz.vajngerl at collabora.co.uk
Tue Dec 13 08:14:26 UTC 2016


 framework/source/fwe/classes/addonsoptions.cxx |    2 +-
 include/vcl/toolbox.hxx                        |    2 +-
 vcl/source/window/toolbox.cxx                  |    5 ++---
 vcl/source/window/toolbox2.cxx                 |   24 ++++++++++++++++--------
 4 files changed, 20 insertions(+), 13 deletions(-)

New commits:
commit 9c1d6f5e3549cf3c90d28f86b67db4af41dcbde8
Author: Tomaž Vajngerl <tomaz.vajngerl at collabora.co.uk>
Date:   Fri Dec 9 15:35:50 2016 +0100

    vcl: set toolbox size correctly when using 32px icons
    
    Change-Id: Ifacff75f80bc8401ccff2a4d4dc90e56e3b4aa84
    Reviewed-on: https://gerrit.libreoffice.org/31801
    Reviewed-by: Tomaž Vajngerl <quikee at gmail.com>
    Tested-by: Tomaž Vajngerl <quikee at gmail.com>
    (cherry picked from commit 99fd3b2a2759864caf519dfd89173e301b74c24e)
    Reviewed-on: https://gerrit.libreoffice.org/31802
    Tested-by: Jenkins <ci at libreoffice.org>

diff --git a/framework/source/fwe/classes/addonsoptions.cxx b/framework/source/fwe/classes/addonsoptions.cxx
index c3013e4..fc11b4e 100644
--- a/framework/source/fwe/classes/addonsoptions.cxx
+++ b/framework/source/fwe/classes/addonsoptions.cxx
@@ -475,7 +475,7 @@ bool AddonsOptions_Impl::GetMergeToolbarInstructions(
 
 static Image ScaleImage( const Image &rImage, bool bBig )
 {
-    Size aSize = ToolBox::GetDefaultImageSize(bBig);
+    Size aSize = ToolBox::GetDefaultImageSize(bBig ? ToolBoxButtonSize::Large : ToolBoxButtonSize::Small);
     BitmapEx aScaleBmp(rImage.GetBitmapEx());
     SAL_INFO("fwk", "Addons: expensive scale image from "
              << aScaleBmp.GetSizePixel() << " to " << aSize);
diff --git a/include/vcl/toolbox.hxx b/include/vcl/toolbox.hxx
index 66bd8cf..be81106 100644
--- a/include/vcl/toolbox.hxx
+++ b/include/vcl/toolbox.hxx
@@ -502,7 +502,7 @@ public:
     // if an index is found the corresponding item id is filled in (else 0)
     long GetIndexForPoint( const Point& rPoint, sal_uInt16& rItemID ) const;
 
-    static Size         GetDefaultImageSize(bool bLarge);
+    static Size         GetDefaultImageSize(ToolBoxButtonSize eToolBoxButtonSize);
     Size                GetDefaultImageSize() const;
     void                ChangeHighlight( sal_uInt16 nPos );
 
diff --git a/vcl/source/window/toolbox.cxx b/vcl/source/window/toolbox.cxx
index 2fe5869..14579fa 100644
--- a/vcl/source/window/toolbox.cxx
+++ b/vcl/source/window/toolbox.cxx
@@ -1671,9 +1671,8 @@ bool ToolBox::ImplCalcItem()
     long            nDropDownArrowWidth = TB_DROPDOWNARROWWIDTH;
 
     // set defaults if image or text is needed but empty
-    float fDPIScaleFactor = GetDPIScaleFactor();
-    nDefWidth  = GetDefaultImageSize().Width()  * fDPIScaleFactor;
-    nDefHeight = GetDefaultImageSize().Height() * fDPIScaleFactor;
+    nDefWidth  = GetDefaultImageSize().Width();
+    nDefHeight = GetDefaultImageSize().Height();
 
     mnWinHeight = 0;
     // determine minimum size necessary in NWF
diff --git a/vcl/source/window/toolbox2.cxx b/vcl/source/window/toolbox2.cxx
index 04ba01c..37f809c 100644
--- a/vcl/source/window/toolbox2.cxx
+++ b/vcl/source/window/toolbox2.cxx
@@ -633,20 +633,28 @@ ToolBoxButtonSize ToolBox::GetToolboxButtonSize() const
     return mpData->meButtonSize;
 }
 
-/*static*/ Size ToolBox::GetDefaultImageSize(bool bLarge)
+/*static*/ Size ToolBox::GetDefaultImageSize(ToolBoxButtonSize eToolBoxButtonSize)
 {
-    const long TB_SMALLIMAGESIZE = 16;
-    if (!bLarge) {
-        return Size(TB_SMALLIMAGESIZE, TB_SMALLIMAGESIZE);
-    }
+    float fScaleFactor = Application::GetDefaultDevice()->GetDPIScaleFactor();
+
+    Size aUnscaledSize = Size(16, 16);
 
-    OUString iconTheme = Application::GetSettings().GetStyleSettings().DetermineIconTheme();
-    return vcl::IconThemeInfo::SizeByThemeName(iconTheme);
+    if (eToolBoxButtonSize == ToolBoxButtonSize::Large)
+    {
+        OUString iconTheme = Application::GetSettings().GetStyleSettings().DetermineIconTheme();
+        aUnscaledSize = vcl::IconThemeInfo::SizeByThemeName(iconTheme);
+    }
+    else if (eToolBoxButtonSize == ToolBoxButtonSize::Size32)
+    {
+        aUnscaledSize = Size(32, 32);
+    }
+    return Size(aUnscaledSize.Width()  * fScaleFactor,
+                aUnscaledSize.Height() * fScaleFactor);
 }
 
 Size ToolBox::GetDefaultImageSize() const
 {
-    return GetDefaultImageSize( GetToolboxButtonSize() == ToolBoxButtonSize::Large );
+    return GetDefaultImageSize(GetToolboxButtonSize());
 }
 
 void ToolBox::SetAlign( WindowAlign eNewAlign )


More information about the Libreoffice-commits mailing list