X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fuisupport%2Fqssparser.cpp;h=f6927e424a23185f4ec434e26677e13670e61ad3;hp=1262be7e3d40959a5fd68009323e1e8f12db9774;hb=a4251618e99c35f727c526f8480055d5a9c5e41f;hpb=c9057c565220fa7f5e264775fde4bf41c5eae308 diff --git a/src/uisupport/qssparser.cpp b/src/uisupport/qssparser.cpp index 1262be7e..f6927e42 100644 --- a/src/uisupport/qssparser.cpp +++ b/src/uisupport/qssparser.cpp @@ -160,7 +160,7 @@ void QssParser::parsePaletteBlock(const QString &decl, const QString &contents) /******** Determine format types from a block declaration ********/ quint64 QssParser::parseFormatType(const QString &decl) { - QRegExp rx("ChatLine(?:::(\\w+))?(?:#(\\w+))?(?:\\[([=-,\\\"\\w\\s]+)\\])?"); + QRegExp rx("ChatLine(?:::(\\w+))?(?:#([\\w\\-]+))?(?:\\[([=-,\\\"\\w\\s]+)\\])?"); // $1: subelement; $2: msgtype; $3: conditionals if(!rx.exactMatch(decl)) { qWarning() << Q_FUNC_INFO << tr("Invalid block declaration: %1").arg(decl); @@ -226,6 +226,12 @@ quint64 QssParser::parseFormatType(const QString &decl) { fmtType |= UiStyle::DayChangeMsg; else if(msgType == "topic") fmtType |= UiStyle::TopicMsg; + else if(msgType == "netsplit-join") + fmtType |= UiStyle::NetsplitJoinMsg; + else if(msgType == "netsplit-quit") + fmtType |= UiStyle::NetsplitQuitMsg; + else if(msgType == "invite") + fmtType |= UiStyle::InviteMsg; else { qWarning() << Q_FUNC_INFO << tr("Invalid message type in %1").arg(decl); } @@ -289,9 +295,9 @@ quint64 QssParser::parseFormatType(const QString &decl) { return UiStyle::Invalid; } if(condName == "fg-color") - fmtType |= 0x00400000 | (col << 24); + fmtType |= 0x00400000 | (quint32)(col << 24); else - fmtType |= 0x00800000 | (col << 28); + fmtType |= 0x00800000 | (quint32)(col << 28); } else { qWarning() << Q_FUNC_INFO << tr("Unhandled condition: %1").arg(condName); return UiStyle::Invalid; @@ -462,6 +468,7 @@ QBrush QssParser::parseBrush(const QString &str, bool *ok) { return QBrush(); } QLinearGradient gradient(x1, y1, x2, y2); + gradient.setCoordinateMode(QGradient::ObjectBoundingMode); gradient.setStops(stops); if(ok) *ok = true; @@ -483,6 +490,7 @@ QBrush QssParser::parseBrush(const QString &str, bool *ok) { return QBrush(); } QConicalGradient gradient(cx, cy, angle); + gradient.setCoordinateMode(QGradient::ObjectBoundingMode); gradient.setStops(stops); if(ok) *ok = true; @@ -506,6 +514,7 @@ QBrush QssParser::parseBrush(const QString &str, bool *ok) { return QBrush(); } QRadialGradient gradient(cx, cy, radius, fx, fy); + gradient.setCoordinateMode(QGradient::ObjectBoundingMode); gradient.setStops(stops); if(ok) *ok = true; @@ -658,7 +667,7 @@ void QssParser::parseFontWeight(const QString& value, QTextCharFormat* format) { } void QssParser::parseFontSize(const QString& value, QTextCharFormat* format) { - QRegExp rx("\\(d+)(pt|px)"); + QRegExp rx("(\\d+)(pt|px)"); if(!rx.exactMatch(value)) { qWarning() << Q_FUNC_INFO << tr("Invalid font size specification: %1").arg(value); return;