ChatLine[bg-color="0f"] { background: #c0c0c0; }
// mIRC formats
-ChatLine[format="bold"] { font-weight: bold; }
-ChatLine[format="italic"] { font-style: italic; }
-ChatLine[format="underline"] { font-style: underline; }
+ChatLine[format="bold"] { font-weight: bold; }
+ChatLine[format="italic"] { font-style: italic; }
+ChatLine[format="underline"] { font-style: underline; }
+ChatLine[format="strikethrough"] { font-style: strikethrough; }
// ChatView message colors
ChatLine#notice { foreground: #916409; }
fmtType |= FormatType::Italic;
else if (condValue == "underline")
fmtType |= FormatType::Underline;
+ 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(true);
else if (prop == "underline")
format->setFontUnderline(true);
+ // Oblique is not a property supported by QTextCharFormat
//else if(prop == "oblique")
// format->setStyle(QFont::StyleOblique);
else if (prop == "bold")
format->setFontItalic(true);
else if (value == "underline")
format->setFontUnderline(true);
+ else if (value == "strikethrough")
+ format->setFontStrikeOut(true);
+ // Oblique is not a property supported by QTextCharFormat
//else if(value == "oblique")
// format->setStyle(QFont::StyleOblique);
else {
// Now initialize the mapping between FormatCodes and FormatTypes...
_formatCodes["%O"] = FormatType::Base;
_formatCodes["%B"] = FormatType::Bold;
- _formatCodes["%S"] = FormatType::Italic;
+ _formatCodes["%I"] = FormatType::Italic;
_formatCodes["%U"] = FormatType::Underline;
+ _formatCodes["%S"] = FormatType::Strikethrough;
_formatCodes["%DN"] = FormatType::Nick;
_formatCodes["%DH"] = FormatType::Hostmask;
mirc += "%R";
break;
case '\x1d':
+ mirc += "%I";
+ break;
+ case '\x1e':
mirc += "%S";
break;
case '\x1f':