20#ifndef QT_NO_TEXTHTMLPARSER
47 {
"Epsilon", 0x0395 },
68 {
"Omicron", 0x039f },
86 {
"Upsilon", 0x03a5 },
97 {
"alefsym", 0x2135 },
105 {
"atilde", 0x00e3 },
109 {
"brvbar", 0x00a6 },
112 {
"ccedil", 0x00e7 },
122 {
"curren", 0x00a4 },
124 {
"dagger", 0x2020 },
129 {
"divide", 0x00f7 },
130 {
"eacute", 0x00e9 },
132 {
"egrave", 0x00e8 },
136 {
"epsilon", 0x03b5 },
144 {
"forall", 0x2200 },
145 {
"frac12", 0x00bd },
146 {
"frac14", 0x00bc },
147 {
"frac34", 0x00be },
154 {
"hearts", 0x2665 },
155 {
"hellip", 0x2026 },
156 {
"iacute", 0x00ed },
159 {
"igrave", 0x00ec },
164 {
"iquest", 0x00bf },
169 {
"lambda", 0x03bb },
176 {
"lfloor", 0x230a },
177 {
"lowast", 0x2217 },
180 {
"lsaquo", 0x2039 },
186 {
"middot", 0x00b7 },
197 {
"ntilde", 0x00f1 },
199 {
"oacute", 0x00f3 },
202 {
"ograve", 0x00f2 },
205 {
"omicron", 0x03bf },
210 {
"oslash", 0x00f8 },
211 {
"otilde", 0x00f5 },
212 {
"otimes", 0x2297 },
216 {
"percnt", 0x0025 },
217 {
"permil", 0x2030 },
222 {
"plusmn", 0x00b1 },
238 {
"rfloor", 0x230b },
241 {
"rsaquo", 0x203a },
244 {
"scaron", 0x0161 },
249 {
"sigmaf", 0x03c2 },
251 {
"spades", 0x2660 },
262 {
"there4", 0x2234 },
264 {
"thetasym", 0x03d1 },
265 {
"thinsp", 0x2009 },
271 {
"uacute", 0x00fa },
274 {
"ugrave", 0x00f9 },
277 {
"upsilon", 0x03c5 },
279 {
"weierp", 0x2118 },
281 {
"yacute", 0x00fd },
290#if defined(Q_CC_MSVC_ONLY) && _MSC_VER < 1600
312 if (e ==
end || (entity < *e))
431 if ((e ==
end) || (element < *e))
457 listStyle(
QTextListFormat::ListStyleUndefined), imageWidth(-1), imageHeight(-1), tableBorder(0),
458 tableCellRowSpan(1), tableCellColSpan(1), tableCellSpacing(2), tableCellPadding(0),
460 borderCollapse(
false),
461 userState(-1), cssListIndent(0), wsm(WhiteSpaceModeUndefined)
468 for (
int i = 0;
i < 4; ++
i) {
489 bool reuseLastNode =
true;
492 reuseLastNode =
false;
493 }
else if (lastNode->tag.isEmpty()) {
495 if (lastNode->text.isEmpty()) {
496 reuseLastNode =
true;
499 if (lastNode->text.size() == 1 && lastNode->text.at(0).isSpace()) {
501 int lastSibling =
count() - 2;
503 &&
at(lastSibling).parent != lastNode->
parent
505 lastSibling =
at(lastSibling).
parent;
509 reuseLastNode =
false;
511 reuseLastNode =
true;
515 reuseLastNode =
false;
522 reuseLastNode =
false;
607 }
else if (
c == u
'&') {
633#ifndef QT_NO_CSSPARSER
638 inlineStyleSheets.append(sheet);
639 resolveStyleSheetImports(sheet);
647 while (
p &&
at(
p).
tag.size() == 0)
674#ifndef QT_NO_CSSPARSER
676 node->applyCssDeclarations(declarationsForNode(nodeIndex),
resourceProvider);
681 bool tagClosed =
false;
721 &&
at(
p - 1).mayNotHaveChildren())
740 &&
at(
p).isBlock()) {
771 if (!resolved.isNull())
774 if (entity.size() > 1 && entity.at(0) == u
'#') {
775 entity = entity.mid(1);
780 if (entity.at(0).toLower() == u
'x') {
781 entity = entity.mid(1);
798 const int recover =
pos;
802 if (
c.isSpace() ||
pos - recover > 9) {
812 if (!parsedEntity.isNull()) {
850 ||
c == u
'<' ||
c == u
'=' ||
c.isSpace()) {
885 table->tag =
"table"_L1;
908 table->tag =
"table"_L1;
934 while (
p && !
at(
p).isBlock())
942 if (node->
id ==
at(
p).
id
949 ||
at(
p).mayNotHaveChildren()
1026 for (
int i = 0;
i < 4; ++
i)
1117#ifndef QT_NO_CSSPARSER
1118void QTextHtmlParserNode::setListStyle(
const QList<QCss::Value> &cssValues)
1120 for (
int i = 0;
i < cssValues.size(); ++
i) {
1179void QTextHtmlParserNode::applyCssDeclarations(
const QList<QCss::Declaration> &declarations,
const QTextDocument *resourceProvider)
1188 for (
int i = 0;
i < 4; ++
i) {
1197 for (
int i = 0;
i < 4; ++
i) {
1199 borderWidth[
i] =
static_cast<qreal>(cssBorder[
i]);
1207 for (
int i = 0;
i < declarations.size(); ++
i) {
1209 if (decl.
d->values.isEmpty())
continue;
1213 identifier =
static_cast<QCss::KnownValue>(decl.
d->values.constFirst().variant.toInt());
1215 switch (decl.
d->propertyId) {
1229 QBrush tblBorderBrush[4];
1231 if (getBorderValues(tblBorder, tblBorderBrush, tblBorderStyle)) {
1233 if (tblBorderBrush[0].
color().isValid())
1246 switch (identifier) {
1256 QString lineHeightTypeName = decl.
d->values.constFirst().variant.toString();
1281 if (decl.
realValue(&lineHeight,
"px")) {
1290 lineHeight *= 100.0;
1317 if (decl.
d->values.constFirst().variant.toString().compare(
"empty"_L1,
Qt::CaseInsensitive) == 0)
1321 if (decl.
d->values.constFirst().variant.toString().compare(
"frame"_L1,
Qt::CaseInsensitive) == 0)
1323 else if (decl.
d->values.constFirst().variant.toString().compare(
"root"_L1,
Qt::CaseInsensitive) == 0) {
1329 userState = decl.
d->values.constFirst().variant.toInt();
1332 switch (identifier) {
1342 switch (identifier) {
1352 switch (identifier) {
1359 switch (identifier) {
1366 switch (identifier) {
1380 setListStyle(decl.
d->values);
1389 switch (identifier) {
1401 qint64 searchKey = decl.
d->values.constFirst().variant.toLongLong(&
ok);
1428 switch (identifier) {
1440 switch (identifier) {
1463 if (!dashes.empty()) {
1498 int adjustment = -255;
1500 if (
f.pixelSize() > INT32_MAX / 2)
1501 f.setPixelSize(INT32_MAX / 2);
1504 if (adjustment >= -1)
1508 Qt::Alignment ignoredAlignment;
1514 extractor.extractBackground(&bgBrush, &bgImage, &ignoredRepeat, &ignoredAlignment,
1515 &ignoredOrigin, &ignoredAttachment, &ignoredClip);
1517 if (!bgImage.isEmpty() && resourceProvider) {
1532 for (
int i = 0;
i <
priv->formats.numFormats(); ++
i) {
1540 qWarning(
"Can't apply QPixmap outside of GUI thread");
1550 b.setTextureImage(
brush.textureImage());
1567 if (val.userType() == QMetaType::QImage) {
1570 }
else if (val.userType() == QMetaType::QByteArray) {
1572 if (
image.loadFromData(val.toByteArray())) {
1577 if (val.userType() == QMetaType::QImage || val.userType() == QMetaType::QPixmap) {
1579 }
else if (val.userType() == QMetaType::QByteArray) {
1627 if (!
value.isEmpty() &&
value.endsWith(u
'%')) {
1629 realVal =
value.toDouble(&
ok);
1636#ifndef QT_NO_CSSPARSER
1643 if (sheet.styleRules.size() != 1)
return;
1644 applyCssDeclarations(sheet.styleRules.at(0).declarations, resourceProvider);
1658 if (
key.size() == 0)
1666 if (
value.size() == 0)
1677 bool seenQt3Richtext =
false;
1681 if (attributes.size() % 2 == 1)
1686 for (
int i = 0;
i < attributes.size();
i += 2) {
1693 if (
key ==
"size"_L1 &&
value.size()) {
1695 if (
value.at(0) != u
'+' &&
value.at(0) != u
'-')
1698 }
else if (
key ==
"face"_L1) {
1699 if (
value.contains(u
',')) {
1701 for (
auto family :
value.tokenize(u
','))
1702 families << family.trimmed().toString();
1707 }
else if (
key ==
"color"_L1) {
1710 qWarning(
"QTextHtmlParser::applyAttributes: Unknown color name '%s'",
value.toLatin1().constData());
1716 if (
key ==
"type"_L1) {
1718 if (
value ==
"1"_L1) {
1720 }
else if (
value ==
"a"_L1) {
1722 }
else if (
value ==
"A"_L1) {
1724 }
else if (
value ==
"i"_L1) {
1726 }
else if (
value ==
"I"_L1) {
1730 if (
value ==
"square"_L1)
1732 else if (
value ==
"disc"_L1)
1734 else if (
value ==
"circle"_L1)
1736 else if (
value ==
"none"_L1)
1739 }
else if (
key ==
"start"_L1) {
1744 if (
key ==
"class"_L1) {
1745 if (
value ==
"unchecked"_L1)
1747 else if (
value ==
"checked"_L1)
1752 if (
key ==
"href"_L1)
1754 else if (
key ==
"name"_L1)
1758 if (
key ==
"src"_L1 ||
key ==
"source"_L1) {
1760 }
else if (
key ==
"width"_L1) {
1763 }
else if (
key ==
"height"_L1) {
1766 }
else if (
key ==
"alt"_L1) {
1768 }
else if (
key ==
"title"_L1) {
1774 if (
key ==
"bgcolor"_L1) {
1777 qWarning(
"QTextHtmlParser::applyAttributes: Unknown color name '%s'",
value.toLatin1().constData());
1779 }
else if (
key ==
"background"_L1) {
1785 if (
key ==
"width"_L1) {
1787 }
else if (
key ==
"bgcolor"_L1) {
1790 qWarning(
"QTextHtmlParser::applyAttributes: Unknown color name '%s'",
value.toLatin1().constData());
1792 }
else if (
key ==
"background"_L1) {
1794 }
else if (
key ==
"rowspan"_L1) {
1797 }
else if (
key ==
"colspan"_L1) {
1806 }
else if (
key ==
"bgcolor"_L1) {
1809 qWarning(
"QTextHtmlParser::applyAttributes: Unknown color name '%s'",
value.toLatin1().constData());
1811 }
else if (
key ==
"bordercolor"_L1) {
1814 qWarning(
"QTextHtmlParser::applyAttributes: Unknown color name '%s'",
value.toLatin1().constData());
1816 }
else if (
key ==
"background"_L1) {
1818 }
else if (
key ==
"cellspacing"_L1) {
1820 }
else if (
key ==
"cellpadding"_L1) {
1822 }
else if (
key ==
"width"_L1) {
1824 }
else if (
key ==
"height"_L1) {
1829 if (
key ==
"name"_L1 &&
value ==
"qrichtext"_L1)
1830 seenQt3Richtext =
true;
1832 if (
key ==
"content"_L1 &&
value ==
"1"_L1 && seenQt3Richtext)
1836 if (
key ==
"width"_L1)
1840 if (
key ==
"href"_L1)
1842 else if (
key ==
"type"_L1)
1846 if (
key ==
"class"_L1 &&
value.startsWith(
"language-"_L1))
1853 if (
key ==
"style"_L1) {
1854#ifndef QT_NO_CSSPARSER
1857 }
else if (
key ==
"align"_L1) {
1859 bool alignmentSet =
true;
1861 if (
value ==
"left"_L1)
1863 else if (
value ==
"right"_L1)
1865 else if (
value ==
"center"_L1)
1867 else if (
value ==
"justify"_L1)
1870 alignmentSet =
false;
1879 }
else if (
value ==
"middle"_L1) {
1881 }
else if (
value ==
"top"_L1) {
1885 }
else if (
key ==
"valign"_L1) {
1887 if (
value ==
"top"_L1)
1889 else if (
value ==
"middle"_L1)
1891 else if (
value ==
"bottom"_L1)
1893 }
else if (
key ==
"dir"_L1) {
1895 if (
value ==
"ltr"_L1)
1897 else if (
value ==
"rtl"_L1)
1899 }
else if (
key ==
"title"_L1) {
1901 }
else if (
key ==
"id"_L1) {
1907#ifndef QT_NO_CSSPARSER
1909 importStyleSheet(linkHref);
1913#ifndef QT_NO_CSSPARSER
1923 bool isNullNode(NodePtr node)
const override;
1924 NodePtr
parentNode(NodePtr node)
const override;
1927 void freeNode(NodePtr node)
const override;
1940#ifndef QT_NO_CSSPARSER
1946 idx = attributes.indexOf(
name, idx + 1);
1947 }
while (idx != -1 && (idx % 2 == 1));
1957 return attributes.at(idx + 1);
1963 return !attributes.isEmpty();
1968 return node.
id == 0;
2006void QTextHtmlParser::resolveStyleSheetImports(
const QCss::StyleSheet &sheet)
2008 for (
int i = 0;
i < sheet.importRules.size(); ++
i) {
2011 importStyleSheet(
rule.href);
2015void QTextHtmlParser::importStyleSheet(
const QString &href)
2019 for (
int i = 0;
i < externalStyleSheets.size(); ++
i)
2020 if (externalStyleSheets.at(
i).url == href)
2025 if (
res.userType() == QMetaType::QString) {
2026 css =
res.toString();
2027 }
else if (
res.userType() == QMetaType::QByteArray) {
2031 if (!css.isEmpty()) {
2035 externalStyleSheets.append(ExternalStyleSheet(href, sheet));
2036 resolveStyleSheetImports(sheet);
2042 QList<QCss::Declaration> decls;
2048 bool needsUnderline = (node.
id ==
Html_u) ?
true :
false;
2054 needsUnderline =
true;
2055 decl.
d->property =
"color"_L1;
2059 decl.
d->values = QList<QCss::Value> {
val };
2060 decl.
d->inheritable =
true;
2066 if (needsUnderline) {
2068 decl.
d->property =
"text-decoration"_L1;
2072 decl.
d->values = QList<QCss::Value> {
val };
2073 decl.
d->inheritable =
true;
2087 decl.
d->property =
"font-weight"_L1;
2091 decl.
d->values = QList<QCss::Value> {
val };
2092 decl.
d->inheritable =
true;
2101 decl.d->property =
"font-size"_L1;
2103 decl.d->inheritable =
false;
2113 decl.d->values = QList<QCss::Value> {
val };
2121 decl.d->property =
"text-align"_L1;
2125 decl.d->values = QList<QCss::Value> {
val };
2126 decl.d->inheritable =
true;
2131 decl.d->property =
"text-decoration"_L1;
2135 decl.d->values = QList<QCss::Value> {
val };
2136 decl.d->inheritable =
true;
2146 decl.d->property =
"font-style"_L1;
2150 decl.d->values = QList<QCss::Value> {
val };
2151 decl.d->inheritable =
true;
2157 decl.d->property =
"vertical-align"_L1;
2161 decl.d->values = QList<QCss::Value> {
val };
2162 decl.d->inheritable =
true;
2168 decl.d->property =
"list-style"_L1;
2172 decl.d->values = QList<QCss::Value> {
val };
2173 decl.d->inheritable =
true;
2182 decl.d->property =
"font-family"_L1;
2184 QList<QCss::Value>
values;
2189 decl.d->inheritable =
true;
2198 decl.d->property =
"whitespace"_L1;
2207 decl.d->values = QList<QCss::Value> {
val };
2208 decl.d->inheritable =
true;
2217QList<QCss::Declaration> QTextHtmlParser::declarationsForNode(
int node)
const
2219 QList<QCss::Declaration> decls;
2225 + externalStyleSheets.
size()
2226 + inlineStyleSheets.
size());
2230 for (
int i = 0;
i < externalStyleSheets.size(); ++
i, ++idx)
2231 selector.styleSheets[idx] = externalStyleSheets.at(
i).sheet;
2233 for (
int i = 0;
i < inlineStyleSheets.size(); ++
i, ++idx)
2234 selector.styleSheets[idx] = inlineStyleSheets.at(
i);
2241 const char *extraPseudo =
nullptr;
2243 extraPseudo =
"link";
2246 decls +=
selector.declarationsForNode(
n, extraPseudo);
2249 QList<QCss::Declaration> inheritedDecls;
2250 inheritedDecls =
selector.declarationsForNode(
n, extraPseudo);
2251 for (
int i = 0;
i < inheritedDecls.size(); ++
i) {
2253 if (decl.
d->inheritable)
2254 decls.prepend(decl);
void setTexture(const QPixmap &pixmap)
Sets the brush pixmap to pixmap.
Qt::BrushStyle style() const
Returns the brush style.
The QColor class provides colors based on RGB, HSV or CMYK values.
static QColor fromString(QAnyStringView name) noexcept
static QCoreApplication * instance() noexcept
Returns a pointer to the application's QCoreApplication (or QGuiApplication/QApplication) instance.
bool parse(StyleSheet *styleSheet, Qt::CaseSensitivity nameCaseSensitivity=Qt::CaseSensitive)
Qt::CaseSensitivity nameCaseSensitivity
static QFont systemFont(SystemFont type)
qsizetype size() const noexcept
const T & constLast() const noexcept
iterator insert(qsizetype i, parameter_type t)
const_reference at(qsizetype i) const noexcept
void append(parameter_type t)
QObject * parent() const
Returns a pointer to the parent object.
void setCapStyle(Qt::PenCapStyle pcs)
Sets the pen's cap style to the given style.
void setStyle(Qt::PenStyle)
[0]
void setWidthF(qreal width)
Sets the pen width to the given width in pixels with floating point precision.
void setColor(const QColor &color)
Sets the color of this pen's brush to the given color.
void setJoinStyle(Qt::PenJoinStyle pcs)
Sets the pen's join style to the given style.
void setDashOffset(qreal doffset)
Sets the dash offset (the starting point on the dash pattern) for this pen to the offset specified.
void setMiterLimit(qreal limit)
Sets the miter limit of this pen to the given limit.
void setDashPattern(const QList< qreal > &pattern)
Sets the dash pattern for this pen to the given pattern.
Returns a copy of the pixmap that is transformed using the given transformation transform and transfo...
bool loadFromData(const uchar *buf, uint len, const char *format=nullptr, Qt::ImageConversionFlags flags=Qt::AutoColor)
Loads a pixmap from the len first bytes of the given binary data.
constexpr void truncate(qsizetype n) noexcept
Truncates this string view to length length.
QString toString() const
Returns a deep copy of this string view's data as a QString.
constexpr QStringView mid(qsizetype pos, qsizetype n=-1) const noexcept
Returns the substring of length length starting at position start in this object.
QStringView trimmed() const noexcept
Strips leading and trailing whitespace and returns the result.
\macro QT_RESTRICTED_CAST_FROM_ASCII
double toDouble(bool *ok=nullptr) const
Returns the string converted to a double value.
qsizetype indexOf(QLatin1StringView s, qsizetype from=0, Qt::CaseSensitivity cs=Qt::CaseSensitive) const
QString & replace(qsizetype i, qsizetype len, QChar after)
void clear()
Clears the contents of the string and makes it null.
qsizetype size() const noexcept
Returns the number of characters in this string.
static QString fromUtf8(QByteArrayView utf8)
This is an overloaded member function, provided for convenience. It differs from the above function o...
const QChar at(qsizetype i) const
Returns the character at the given index position in the string.
bool endsWith(const QString &s, Qt::CaseSensitivity cs=Qt::CaseSensitive) const
Returns true if the string ends with s; otherwise returns false.
QString toLower() const &
QString trimmed() const &
Qt::Alignment alignment() const
Returns the paragraph's alignment.
void setPageBreakPolicy(PageBreakFlags flags)
void setAlignment(Qt::Alignment alignment)
Sets the paragraph's alignment.
void setMarker(MarkerType marker)
void setLineHeight(qreal height, int heightType)
PageBreakFlags pageBreakPolicy() const
void setIndent(int indent)
Sets the paragraph's indentation.
qreal lineHeight(qreal scriptLineHeight, qreal scaling) const
int lineHeightType() const
void setTextIndent(qreal aindent)
Sets the indent for the first line in the block.
@ FontPropertiesSpecifiedOnly
void setFontFamilies(const QStringList &families)
void setUnderlineStyle(UnderlineStyle style)
void setTextOutline(const QPen &pen)
Sets the pen used to draw the outlines of characters to the given pen.
void setVerticalAlignment(VerticalAlignment alignment)
Sets the vertical alignment used for the characters with this format to the alignment specified.
void setAnchor(bool anchor)
If anchor is true, text with this format represents an anchor, and is formatted in the appropriate wa...
void setAnchorNames(const QStringList &names)
void setToolTip(const QString &tip)
void setUnderlineColor(const QColor &color)
Sets the color used to draw underlines, overlines and strikeouts on the characters with this format t...
void setAnchorHref(const QString &value)
Sets the hypertext link for the text format to the given value.
QPen textOutline() const
Returns the pen used to draw the outlines of characters in this format.
void setFont(const QFont &font, FontPropertiesInheritanceBehavior behavior=FontPropertiesAll)
static const QTextDocumentPrivate * get(const QTextDocument *document)
\reentrant \inmodule QtGui
bool isEmpty() const
Returns true if the document is empty; otherwise returns false.
QVariant resource(int type, const QUrl &name) const
Returns data of the specified type from the resource with the given name.
QString metaInformation(MetaInformation info) const
Returns meta information about the document of the type specified by info.
void setForeground(const QBrush &brush)
Sets the foreground brush to the specified brush.
void setBackground(const QBrush &brush)
Sets the brush use to paint the document's background to the brush specified.
void setProperty(int propertyId, const QVariant &value)
Sets the property specified by the propertyId to the given value.
void setLayoutDirection(Qt::LayoutDirection direction)
Sets the document's layout direction to the specified direction.
QTextImageFormat toImageFormat() const
Returns this format as an image format.
void clearProperty(int propertyId)
Clears the value of the property given by propertyId.
bool hasPrefix(QChar c, int lookahead=0) const
void parseExclamationTag()
bool nodeIsChildOf(int i, QTextHTMLElements id) const
QList< QTextHtmlParserNode * > nodes
QTextHtmlParserNode * resolveParent()
void applyAttributes(const QStringList &attributes)
int margin(int i, int mar) const
static int lookupElement(QStringView element)
int topMargin(int i) const
const QTextHtmlParserNode & at(int i) const
QStringList parseAttributes()
int bottomMargin(int i) const
const QTextDocument * resourceProvider
QTextHtmlParserNode * newNode(int parent)
NodePtr previousSiblingNode(NodePtr node) const override
bool isNullNode(NodePtr node) const override
QString attributeValue(NodePtr node, const QCss::AttributeSelector &aSelector) const override
bool hasAttributes(NodePtr node) const override
NodePtr duplicateNode(NodePtr node) const override
QTextHtmlStyleSelector(const QTextHtmlParser *parser)
void freeNode(NodePtr node) const override
NodePtr parentNode(NodePtr node) const override
QStringList nodeNames(NodePtr node) const override
void setMaximumWidth(QTextLength maxWidth)
Sets the maximumWidth of the rectangle occupied by the image.
static QThread * currentThread()
bool isEmpty() const
Returns true if the URL has no data; otherwise returns false.
qDeleteAll(list.begin(), list.end())
@ QtForegroundTextureCacheKey
@ StyleSheetOrigin_Author
Combined button and popup list for selecting options.
bool Q_GUI_EXPORT qHasPixmapTexture(const QBrush &brush)
QList< QString > QStringList
Constructs a string list that contains the given string, str.
AudioChannelLayoutTag tag
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char const char return DBusMessage return DBusMessage const char * destination
DBusConnection const char * rule
DBusConnection const char DBusError * error
static struct AttrInfo attrs[]
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
static QByteArray cacheKey(Args &&...args)
constexpr const T & qBound(const T &min, const T &val, const T &max)
constexpr const T & qMax(const T &a, const T &b)
GLenum GLsizei GLsizei GLint * values
[15]
GLboolean GLboolean GLboolean b
GLint GLenum GLsizei GLsizei GLsizei depth
GLenum GLuint GLintptr GLsizeiptr size
[1]
GLint GLsizei GLsizei GLenum format
GLenum GLenum GLsizei void * row
GLenum GLenum GLsizei void * table
#define qPrintable(string)
static int findAttribute(const QStringList &attributes, const QString &name)
static bool operator<(QStringView entityStr, const QTextHtmlEntity &entity)
static const struct QTextHtmlEntity entities[]
QList< QCss::Declaration > standardDeclarationForNode(const QTextHtmlParserNode &node)
static bool setFloatAttribute(qreal *destination, const QString &value)
static const QTextHtmlElement * lookupElementHelper(QStringView element)
static QTextFrameFormat::BorderStyle toQTextFrameFormat(QCss::BorderStyle cssStyle)
static const QTextHtmlElement elements[Html_NumElements]
static void setWidthAttribute(QTextLength *width, const QString &valueStr)
static const ushort windowsLatin1ExtendedCharacters[0xA0 - 0x80]
static bool setIntAttribute(int *destination, const QString &value)
static QChar resolveEntity(QStringView entity)
static QString quoteNewline(const QString &s)
QFileSelector selector
[1]
QUrl url("example.com")
[constructor-url-reference]
bool realValue(qreal *r, const char *unit=nullptr) const
QExplicitlySharedDataPointer< DeclarationData > d
QColor colorValue(const QPalette &=QPalette()) const
bool intValue(int *i, const char *unit=nullptr) const
QList< qreal > dashArray() const
BorderStyle styleValue() const
bool borderCollapseValue() const
QBrush brushValue(const QPalette &=QPalette()) const
qsizetype indexOf(const AT &t, qsizetype from=0) const noexcept
QString textListNumberSuffix
bool isNotSelfNesting() const
void initializeProperties(const QTextHtmlParserNode *parent, const QTextHtmlParser *parser)
void parseStyleAttribute(const QString &value, const QTextDocument *resourceProvider)
QTextListFormat::Style listStyle
QTextFrameFormat::BorderStyle borderStyle
bool hasOnlyWhitespace() const
QTextCharFormat charFormat
QBrush tableCellBorderBrush[4]
bool isNestedList(const QTextHtmlParser *parser) const
uint hasOwnLineHeightType
bool allowedInContext(int parentId) const
void applyBackgroundImage(const QString &url, const QTextDocument *resourceProvider)
uint hasLineHeightMultiplier
void applyForegroundImage(qint64 cacheKey, const QTextDocument *resourceProvider)
QTextFrameFormat::BorderStyle tableCellBorderStyle[4]
QTextBlockFormat blockFormat
QString textListNumberPrefix
bool mayNotHaveChildren() const