summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2023-05-22 11:05:35 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2023-05-23 10:18:07 +0000
commit00600432b7215a22e1e673c50992984f884f8b50 (patch)
treed608ebdf21ccb6e0af11cbbe41d1bbe8bbc906b3
parentac8fb652f22953022e70a367118ef75482bd98ad (diff)
Qt Designer: Add QFont::HintingPreference to .ui schema
Task-number: QTBUG-113670 Change-Id: Ib71ecbf72bc73dab2383e82fc1ca5259c13ca2b0 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io> (cherry picked from commit a2d1de9f9828fe791e71af53a250514055b91c4e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--src/designer/data/generate_shared.xsl1
-rw-r--r--src/designer/data/ui4.xsd1
-rw-r--r--src/designer/src/lib/uilib/ui4.cpp18
-rw-r--r--src/designer/src/lib/uilib/ui4_p.h9
4 files changed, 28 insertions, 1 deletions
diff --git a/src/designer/data/generate_shared.xsl b/src/designer/data/generate_shared.xsl
index 586f44ecb..674343666 100644
--- a/src/designer/data/generate_shared.xsl
+++ b/src/designer/data/generate_shared.xsl
@@ -48,6 +48,7 @@
<xsl:when test="$text='pointsize'">pointSize</xsl:when>
<xsl:when test="$text='strikeout'">strikeOut</xsl:when>
<xsl:when test="$text='stylestrategy'">styleStrategy</xsl:when>
+ <xsl:when test="$text='hintingpreference'">hintingPreference</xsl:when>
<xsl:when test="$text='hsizetype'">hSizeType</xsl:when>
<xsl:when test="$text='vsizetype'">vSizeType</xsl:when>
<xsl:when test="$text='horstretch'">horStretch</xsl:when>
diff --git a/src/designer/data/ui4.xsd b/src/designer/data/ui4.xsd
index e1dc35d49..6e5208cd6 100644
--- a/src/designer/data/ui4.xsd
+++ b/src/designer/data/ui4.xsd
@@ -309,6 +309,7 @@
<xs:element name="antialiasing" type="xs:boolean" minOccurs="0" />
<xs:element name="stylestrategy" type="xs:string" minOccurs="0" />
<xs:element name="kerning" type="xs:boolean" minOccurs="0" />
+ <xs:element name="hintingpreference" type="xs:string" minOccurs="0"/>
</xs:all>
</xs:complexType>
diff --git a/src/designer/src/lib/uilib/ui4.cpp b/src/designer/src/lib/uilib/ui4.cpp
index 4d1e6299d..b964d7062 100644
--- a/src/designer/src/lib/uilib/ui4.cpp
+++ b/src/designer/src/lib/uilib/ui4.cpp
@@ -3121,6 +3121,10 @@ void DomFont::read(QXmlStreamReader &reader)
setElementKerning(reader.readElementText() == u"true"_s);
continue;
}
+ if (!tag.compare(u"hintingpreference"_s, Qt::CaseInsensitive)) {
+ setElementHintingPreference(reader.readElementText());
+ continue;
+ }
reader.raiseError("Unexpected element "_L1 + tag);
}
break;
@@ -3166,6 +3170,9 @@ void DomFont::write(QXmlStreamWriter &writer, const QString &tagName) const
if (m_children & Kerning)
writer.writeTextElement(u"kerning"_s, (m_kerning ? u"true"_s : u"false"_s));
+ if (m_children & HintingPreference)
+ writer.writeTextElement(u"hintingpreference"_s, m_hintingPreference);
+
writer.writeEndElement();
}
@@ -3229,6 +3236,12 @@ void DomFont::setElementKerning(bool a)
m_kerning = a;
}
+void DomFont::setElementHintingPreference(const QString &a)
+{
+ m_children |= HintingPreference;
+ m_hintingPreference = a;
+}
+
void DomFont::clearElementFamily()
{
m_children &= ~Family;
@@ -3279,6 +3292,11 @@ void DomFont::clearElementKerning()
m_children &= ~Kerning;
}
+void DomFont::clearElementHintingPreference()
+{
+ m_children &= ~HintingPreference;
+}
+
DomPoint::~DomPoint() = default;
void DomPoint::read(QXmlStreamReader &reader)
diff --git a/src/designer/src/lib/uilib/ui4_p.h b/src/designer/src/lib/uilib/ui4_p.h
index 93f1ebe05..1e4a7f983 100644
--- a/src/designer/src/lib/uilib/ui4_p.h
+++ b/src/designer/src/lib/uilib/ui4_p.h
@@ -1645,6 +1645,11 @@ public:
inline bool hasElementKerning() const { return m_children & Kerning; }
void clearElementKerning();
+ inline QString elementHintingPreference() const { return m_hintingPreference; }
+ void setElementHintingPreference(const QString &a);
+ inline bool hasElementHintingPreference() const { return m_children & HintingPreference; }
+ void clearElementHintingPreference();
+
private:
// child element data
@@ -1659,6 +1664,7 @@ private:
bool m_antialiasing = false;
QString m_styleStrategy;
bool m_kerning = false;
+ QString m_hintingPreference;
enum Child {
Family = 1,
@@ -1670,7 +1676,8 @@ private:
StrikeOut = 64,
Antialiasing = 128,
StyleStrategy = 256,
- Kerning = 512
+ Kerning = 512,
+ HintingPreference = 1024
};
};