diff options
author | Caolán McNamara <caolanm@redhat.com> | 2021-06-06 16:18:22 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2021-06-06 21:32:47 +0200 |
commit | d125024874da5d22abf0d60b8a13c355effff495 (patch) | |
tree | f0745f1b50e64f5aea255c0e634b9f37f1040ca2 /vcl | |
parent | 162f5a20095c6937030d23ee03fb8f72c51eefa1 (diff) |
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@redhat.com>
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/unx/gtk4/convert3to4.cxx | 19 |
1 files changed, 16 insertions, 3 deletions
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); } } |