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

Caolán McNamara (via logerrit) logerrit at kemper.freedesktop.org
Sun Jun 6 19:33:25 UTC 2021


 vcl/unx/gtk4/convert3to4.cxx |   19 ++++++++++++++++---
 1 file changed, 16 insertions(+), 3 deletions(-)

New commits:
commit d125024874da5d22abf0d60b8a13c355effff495
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Sun Jun 6 16:18:22 2021 +0100
Commit:     Caolán McNamara <caolanm at redhat.com>
CommitDate: Sun Jun 6 21:32:47 2021 +0200

    gtk4: set same use-underline on inserted GtkLabel as parent GtkButton
    
    Change-Id: I6618433faf2379bfadf7a257e394785360d07526
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116760
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/vcl/unx/gtk4/convert3to4.cxx b/vcl/unx/gtk4/convert3to4.cxx
index da0ef100a6ef..88d3de723d39 100644
--- a/vcl/unx/gtk4/convert3to4.cxx
+++ b/vcl/unx/gtk4/convert3to4.cxx
@@ -257,15 +257,17 @@ struct ConvertResult
     bool m_bHasVisible;
     bool m_bHasSymbolicIconName;
     bool m_bAlwaysShowImage;
+    bool m_bUseUnderline;
     css::uno::Reference<css::xml::dom::XNode> m_xPropertyLabel;
 
     ConvertResult(bool bChildCanFocus, bool bHasVisible, bool bHasSymbolicIconName,
-                  bool bAlwaysShowImage,
+                  bool bAlwaysShowImage, bool bUseUnderline,
                   const css::uno::Reference<css::xml::dom::XNode>& rPropertyLabel)
         : m_bChildCanFocus(bChildCanFocus)
         , m_bHasVisible(bHasVisible)
         , m_bHasSymbolicIconName(bHasSymbolicIconName)
         , m_bAlwaysShowImage(bAlwaysShowImage)
+        , m_bUseUnderline(bUseUnderline)
         , m_xPropertyLabel(rPropertyLabel)
     {
     }
@@ -281,7 +283,7 @@ ConvertResult Convert3To4(const css::uno::Reference<css::xml::dom::XNode>& xNode
 {
     css::uno::Reference<css::xml::dom::XNodeList> xNodeList = xNode->getChildNodes();
     if (!xNodeList.is())
-        return ConvertResult(false, false, false, false, nullptr);
+        return ConvertResult(false, false, false, false, false, nullptr);
 
     std::vector<css::uno::Reference<css::xml::dom::XNode>> xRemoveList;
 
@@ -290,6 +292,7 @@ ConvertResult Convert3To4(const css::uno::Reference<css::xml::dom::XNode>& xNode
     bool bHasVisible = false;
     bool bHasSymbolicIconName = false;
     bool bAlwaysShowImage = false;
+    bool bUseUnderline = false;
     css::uno::Reference<css::xml::dom::XNode> xPropertyLabel;
     css::uno::Reference<css::xml::dom::XNode> xCantFocus;
 
@@ -487,6 +490,9 @@ ConvertResult Convert3To4(const css::uno::Reference<css::xml::dom::XNode>& xNode
                 }
             }
 
+            if (sName == "use-underline")
+                bUseUnderline = toBool(xChild->getFirstChild()->getNodeValue());
+
             if (sName == "relief")
             {
                 if (GetParentObjectType(xChild) == "GtkToggleButton"
@@ -759,6 +765,7 @@ ConvertResult Convert3To4(const css::uno::Reference<css::xml::dom::XNode>& xNode
         bool bChildHasSymbolicIconName = false;
         bool bChildHasVisible = false;
         bool bChildAlwaysShowImage = false;
+        bool bChildUseUnderline = false;
         css::uno::Reference<css::xml::dom::XNode> xChildPropertyLabel;
         if (xChild->hasChildNodes())
         {
@@ -774,6 +781,7 @@ ConvertResult Convert3To4(const css::uno::Reference<css::xml::dom::XNode>& xNode
                 bChildHasVisible = aChildRes.m_bHasVisible;
                 bChildHasSymbolicIconName = aChildRes.m_bHasSymbolicIconName;
                 bChildAlwaysShowImage = aChildRes.m_bAlwaysShowImage;
+                bChildUseUnderline = aChildRes.m_bUseUnderline;
                 xChildPropertyLabel = aChildRes.m_xPropertyLabel;
             }
         }
@@ -1030,6 +1038,11 @@ ConvertResult Convert3To4(const css::uno::Reference<css::xml::dom::XNode>& xNode
                 if (xChildPropertyLabel)
                     xNewChildObjectNode->appendChild(
                         xChildPropertyLabel->getParentNode()->removeChild(xChildPropertyLabel));
+                if (bChildUseUnderline)
+                {
+                    auto xUseUnderline = CreateProperty(xDoc, "use-underline", "True");
+                    xNewChildObjectNode->appendChild(xUseUnderline);
+                }
                 xNewLabelChildNode->appendChild(xNewChildObjectNode);
 
                 if (xImageCandidateNode)
@@ -1048,7 +1061,7 @@ ConvertResult Convert3To4(const css::uno::Reference<css::xml::dom::XNode>& xNode
         xNode->removeChild(xRemove);
 
     return ConvertResult(bChildCanFocus, bHasVisible, bHasSymbolicIconName, bAlwaysShowImage,
-                         xPropertyLabel);
+                         bUseUnderline, xPropertyLabel);
 }
 }
 


More information about the Libreoffice-commits mailing list