diff options
Diffstat (limited to 'src/gui/text/qcssparser_p.h')
-rw-r--r-- | src/gui/text/qcssparser_p.h | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/src/gui/text/qcssparser_p.h b/src/gui/text/qcssparser_p.h index d50b87dcd5..b19fd8326e 100644 --- a/src/gui/text/qcssparser_p.h +++ b/src/gui/text/qcssparser_p.h @@ -411,6 +411,22 @@ struct BorderData { BrushData color; }; +struct Q_GUI_EXPORT IconValue +{ + enum Mode { Normal, Disabled, Active, Selected }; // In sync with QIcon. + enum State { On, Off }; + + struct Q_GUI_EXPORT IconEntry + { + IconEntry() : mode(Normal) , state(On) {} + + Mode mode; + State state; + QString uri; + }; + + QList<IconEntry> entries; +}; // 1. StyleRule - x:hover, y:clicked > z:checked { prop1: value1; prop2: value2; } // 2. QVector<Selector> - x:hover, y:clicked z:checked @@ -455,7 +471,7 @@ struct Q_GUI_EXPORT Declaration QSize sizeValue() const; QRect rectValue() const; QString uriValue() const; -// QIcon iconValue() const; + IconValue iconValue() const; void borderImageValue(QString *image, int *cuts, TileMode *h, TileMode *v) const; }; @@ -582,7 +598,7 @@ struct Q_GUI_EXPORT ValueExtractor bool extractOutline(int *borders, QBrush *colors, BorderStyle *Styles, QSize *radii, int *offsets); bool extractPalette(QBrush *fg, QBrush *sfg, QBrush *sbg, QBrush *abg); int extractStyleFeatures(); - bool extractImage(QIcon *icon, Qt::Alignment *a, QSize *size); + bool extractImage(QCss::IconValue *icon, Qt::Alignment *a, QSize *size); int lengthValue(const Declaration &decl); @@ -842,6 +858,7 @@ QT_END_NAMESPACE Q_DECLARE_METATYPE( QCss::BackgroundData ) Q_DECLARE_METATYPE( QCss::LengthData ) Q_DECLARE_METATYPE( QCss::BorderData ) +Q_DECLARE_METATYPE( QCss::IconValue ) #endif // QT_NO_CSSPARSER |