summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@kdab.com>2014-10-05 21:42:05 +0200
committerMarc Mutz <marc.mutz@kdab.com>2014-10-08 13:58:40 +0200
commit9b80ed9d5662069351f42330f0521db866545c22 (patch)
tree5a18c28002d5fd3cf1d7dd24eae17a2eef836e4e /src
parent9a5e4ada9c729281470d30c6d32f1e9792b756ef (diff)
QCss: mark many classes as movable
Most of these are held in QVectors, so let QVector use the optimized reallocation strategy. Change-Id: I6c2182465c283705bd5ec761e3d2d3d072bc6207 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Diffstat (limited to 'src')
-rw-r--r--src/gui/text/qcssparser_p.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/gui/text/qcssparser_p.h b/src/gui/text/qcssparser_p.h
index 65e9b5a0ba..5e853c40d0 100644
--- a/src/gui/text/qcssparser_p.h
+++ b/src/gui/text/qcssparser_p.h
@@ -69,6 +69,11 @@ QT_END_NAMESPACE
# undef Value
#endif
+#define QT_CSS_DECLARE_TYPEINFO(Class, Type) \
+ } /* namespace QCss */ \
+ Q_DECLARE_TYPEINFO(QCss:: Class, Type); \
+ namespace QCss {
+
QT_BEGIN_NAMESPACE
namespace QCss
@@ -367,6 +372,7 @@ struct Value
Q_GUI_EXPORT QString toString() const;
};
+QT_CSS_DECLARE_TYPEINFO(Value, Q_MOVABLE_TYPE)
struct ColorData {
ColorData() : role(QPalette::NoRole), type(Invalid) {}
@@ -376,6 +382,7 @@ struct ColorData {
QPalette::ColorRole role;
enum { Invalid, Color, Role} type;
};
+QT_CSS_DECLARE_TYPEINFO(ColorData, Q_MOVABLE_TYPE)
struct BrushData {
BrushData() : role(QPalette::NoRole), type(Invalid) {}
@@ -385,6 +392,7 @@ struct BrushData {
QPalette::ColorRole role;
enum { Invalid, Brush, Role, DependsOnThePalette } type;
};
+QT_CSS_DECLARE_TYPEINFO(BrushData, Q_MOVABLE_TYPE)
struct BackgroundData {
BrushData brush;
@@ -392,17 +400,20 @@ struct BackgroundData {
Repeat repeat;
Qt::Alignment alignment;
};
+QT_CSS_DECLARE_TYPEINFO(BackgroundData, Q_MOVABLE_TYPE)
struct LengthData {
qreal number;
enum { None, Px, Ex, Em } unit;
};
+QT_CSS_DECLARE_TYPEINFO(LengthData, Q_PRIMITIVE_TYPE)
struct BorderData {
LengthData width;
BorderStyle style;
BrushData color;
};
+QT_CSS_DECLARE_TYPEINFO(BorderData, Q_MOVABLE_TYPE)
// 1. StyleRule - x:hover, y:clicked > z:checked { prop1: value1; prop2: value2; }
@@ -452,6 +463,7 @@ struct Q_GUI_EXPORT Declaration
void borderImageValue(QString *image, int *cuts, TileMode *h, TileMode *v) const;
};
+QT_CSS_DECLARE_TYPEINFO(Declaration, Q_MOVABLE_TYPE)
const quint64 PseudoClass_Unknown = Q_UINT64_C(0x0000000000000000);
const quint64 PseudoClass_Enabled = Q_UINT64_C(0x0000000000000001);
@@ -511,6 +523,7 @@ struct Pseudo
QString function;
bool negated;
};
+QT_CSS_DECLARE_TYPEINFO(Pseudo, Q_MOVABLE_TYPE)
struct AttributeSelector
{
@@ -526,6 +539,7 @@ struct AttributeSelector
QString value;
ValueMatchType valueMatchCriterium;
};
+QT_CSS_DECLARE_TYPEINFO(AttributeSelector, Q_MOVABLE_TYPE)
struct BasicSelector
{
@@ -546,6 +560,7 @@ struct BasicSelector
Relation relationToNext;
};
+QT_CSS_DECLARE_TYPEINFO(BasicSelector, Q_MOVABLE_TYPE)
struct Q_GUI_EXPORT Selector
{
@@ -554,6 +569,7 @@ struct Q_GUI_EXPORT Selector
quint64 pseudoClass(quint64 *negated = 0) const;
QString pseudoElement() const;
};
+QT_CSS_DECLARE_TYPEINFO(Selector, Q_MOVABLE_TYPE)
struct StyleRule
{
@@ -562,24 +578,28 @@ struct StyleRule
QVector<Declaration> declarations;
int order;
};
+QT_CSS_DECLARE_TYPEINFO(StyleRule, Q_MOVABLE_TYPE)
struct MediaRule
{
QStringList media;
QVector<StyleRule> styleRules;
};
+QT_CSS_DECLARE_TYPEINFO(MediaRule, Q_MOVABLE_TYPE)
struct PageRule
{
QString selector;
QVector<Declaration> declarations;
};
+QT_CSS_DECLARE_TYPEINFO(PageRule, Q_MOVABLE_TYPE)
struct ImportRule
{
QString href;
QStringList media;
};
+QT_CSS_DECLARE_TYPEINFO(ImportRule, Q_MOVABLE_TYPE)
enum StyleSheetOrigin {
StyleSheetOrigin_Unspecified,
@@ -603,6 +623,8 @@ struct StyleSheet
Q_GUI_EXPORT void buildIndexes(Qt::CaseSensitivity nameCaseSensitivity = Qt::CaseSensitive);
};
+QT_CSS_DECLARE_TYPEINFO(StyleSheet, Q_MOVABLE_TYPE)
+
class Q_GUI_EXPORT StyleSelector
{
@@ -695,6 +717,7 @@ struct Symbol
int start, len;
Q_GUI_EXPORT QString lexem() const;
};
+QT_CSS_DECLARE_TYPEINFO(Symbol, Q_MOVABLE_TYPE)
class Q_GUI_EXPORT Scanner
{
@@ -832,6 +855,7 @@ Q_DECLARE_METATYPE( QCss::BackgroundData )
Q_DECLARE_METATYPE( QCss::LengthData )
Q_DECLARE_METATYPE( QCss::BorderData )
+#undef QT_CSS_DECLARE_TYPEINFO
#endif // QT_NO_CSSPARSER