/***************************************************************************
- * Copyright (C) 2005-2016 by the Quassel Project *
+ * Copyright (C) 2005-2018 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
label |= MessageLabel::Highlight;
else if (condValue == "selected")
label |= MessageLabel::Selected;
+ else if (condValue == "hovered")
+ label |= MessageLabel::Hovered;
else {
qWarning() << Q_FUNC_INFO << tr("Invalid message label: %1").arg(condValue);
return invalid;
fmtType |= FormatType::Italic;
else if (condValue == "underline")
fmtType |= FormatType::Underline;
- else if (condValue == "reverse")
- fmtType |= FormatType::Reverse;
+ else if (condValue == "strikethrough")
+ fmtType |= FormatType::Strikethrough;
else {
qWarning() << Q_FUNC_INFO << tr("Invalid format name: %1").arg(condValue);
return invalid;
void QssParser::parseFont(const QString &value, QTextCharFormat *format)
{
- static const QRegExp rx("((?:(?:normal|italic|oblique|underline|bold|100|200|300|400|500|600|700|800|900) ){0,2}) ?(\\d+)(pt|px)? \"(.*)\"");
+ static const QRegExp rx("((?:(?:normal|italic|oblique|underline|strikethrough|bold|100|200|300|400|500|600|700|800|900) ){0,2}) ?(\\d+)(pt|px)? \"(.*)\"");
if (!rx.exactMatch(value)) {
qWarning() << Q_FUNC_INFO << tr("Invalid font specification: %1").arg(value);
return;
}
format->setFontItalic(false);
+ format->setFontUnderline(false);
+ format->setFontStrikeOut(false);
format->setFontWeight(QFont::Normal);
QStringList proplist = rx.cap(1).split(' ', QString::SkipEmptyParts);
foreach(QString prop, proplist) {
- if (prop == "italic")
+ if (prop == "normal")
+ ; // pass
+ else if (prop == "italic")
format->setFontItalic(true);
else if (prop == "underline")
format->setFontUnderline(true);
- //else if(prop == "oblique")
- // format->setStyle(QFont::StyleOblique);
+ else if (prop == "strikethrough")
+ format->setFontStrikeOut(true);
+ else if(prop == "oblique")
+ // Oblique is not a property supported by QTextCharFormat
+ format->setFontItalic(true);
else if (prop == "bold")
format->setFontWeight(QFont::Bold);
else { // number
format->setFontItalic(true);
else if (value == "underline")
format->setFontUnderline(true);
- //else if(value == "oblique")
- // format->setStyle(QFont::StyleOblique);
+ else if (value == "strikethrough")
+ format->setFontStrikeOut(true);
+ else if(value == "oblique")
+ // Oblique is not a property supported by QTextCharFormat
+ format->setFontItalic(true);
else {
qWarning() << Q_FUNC_INFO << tr("Invalid font style specification: %1").arg(value);
}