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

Ilhan Yesil (via logerrit) logerrit at kemper.freedesktop.org
Mon Apr 19 10:47:17 UTC 2021


 vcl/source/control/button.cxx |    8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

New commits:
commit f1d9648b5196eacac080a2a4db42c06829554107
Author:     Ilhan Yesil <ilhanyesil at gmx.de>
AuthorDate: Mon Dec 14 17:39:55 2020 +0100
Commit:     Thorsten Behrens <thorsten.behrens at allotropia.de>
CommitDate: Mon Apr 19 12:46:33 2021 +0200

    tdf#138901 Refresh button tooltip in sidebar created by extension
    
    The button's tooltip is refreshed after setting the button's text.
    
    Change-Id: I08f272c43c3312d462981d46ab961ef925eeccbf
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107718
    Tested-by: Jenkins
    Reviewed-by: Ilhan Yesil <ilhanyesil at gmx.de>

diff --git a/vcl/source/control/button.cxx b/vcl/source/control/button.cxx
index f26561cf0890..08ede8f8afbd 100644
--- a/vcl/source/control/button.cxx
+++ b/vcl/source/control/button.cxx
@@ -79,6 +79,7 @@ public:
     tools::Long            mnSeparatorX;
     DrawButtonFlags mnButtonState;
     bool            mbSmallSymbol;
+    bool            mbGeneratedTooltip;
 
     Image           maImage;
     ImageAlign      meImageAlign;
@@ -91,7 +92,7 @@ public:
 };
 
 ImplCommonButtonData::ImplCommonButtonData() : maFocusRect(), mnSeparatorX(0), mnButtonState(DrawButtonFlags::NONE),
-mbSmallSymbol(false), maImage(), meImageAlign(ImageAlign::Top), meSymbolAlign(SymbolAlign::LEFT), maCustomContentImage()
+mbSmallSymbol(false), mbGeneratedTooltip(false), maImage(), meImageAlign(ImageAlign::Top), meSymbolAlign(SymbolAlign::LEFT), maCustomContentImage()
 {
 }
 
@@ -237,8 +238,13 @@ void Button::ImplDrawAlignedImage(OutputDevice* pDev, Point& rPos,
         tools::Rectangle textRect = GetTextRect(
             tools::Rectangle(Point(), Size(0x7fffffff, 0x7fffffff)), aText, nTextStyle);
         // If the button text doesn't fit into it, put it into a tooltip (might happen in sidebar)
+        if (GetQuickHelpText()!= aText && mpButtonData->mbGeneratedTooltip)
+            SetQuickHelpText("");
         if (GetQuickHelpText().isEmpty() && textRect.getWidth() > rSize.getWidth())
+        {
             SetQuickHelpText(aText);
+            mpButtonData->mbGeneratedTooltip = true;
+        }
 
         ImplSetFocusRect(aOutRect);
         rSize = aOutRect.GetSize();


More information about the Libreoffice-commits mailing list