/******** 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);
fmtType |= UiStyle::Hostmask;
else if(subElement == "modeflags")
fmtType |= UiStyle::ModeFlags;
+ else if(subElement == "url")
+ fmtType |= UiStyle::Url;
else {
qWarning() << Q_FUNC_INFO << tr("Invalid subelement name in %1").arg(decl);
return UiStyle::Invalid;
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);
}
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;
return QBrush();
}
QLinearGradient gradient(x1, y1, x2, y2);
+ gradient.setCoordinateMode(QGradient::ObjectBoundingMode);
gradient.setStops(stops);
if(ok)
*ok = true;
return QBrush();
}
QConicalGradient gradient(cx, cy, angle);
+ gradient.setCoordinateMode(QGradient::ObjectBoundingMode);
gradient.setStops(stops);
if(ok)
*ok = true;
return QBrush();
}
QRadialGradient gradient(cx, cy, radius, fx, fy);
+ gradient.setCoordinateMode(QGradient::ObjectBoundingMode);
gradient.setStops(stops);
if(ok)
*ok = true;
}
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;