setTimestampFormatString("[hh:mm:ss]");
// BufferView / NickView settings
- BufferSettings bufferSettings;
- _showBufferViewIcons = _showNickViewIcons = bufferSettings.showUserStateIcons();
- bufferSettings.notify("ShowUserStateIcons", this, SLOT(showUserStateIconsChanged()));
+ UiStyleSettings s;
+ _showBufferViewIcons = _showNickViewIcons = s.value("ShowItemViewIcons", true).toBool();
+ s.notify("ShowItemViewIcons", this, SLOT(showItemViewIconsChanged()));
loadStyleSheet();
}
QssParser parser;
parser.processStyleSheet(styleSheet);
QApplication::setPalette(parser.palette());
- _uiStylePalette = parser.uiStylePalette();
- QTextCharFormat baseFmt = parser.formats().value(Base);
- foreach(quint64 fmtType, parser.formats().keys()) {
- QTextCharFormat fmt = baseFmt;
- fmt.merge(parser.formats().value(fmtType));
- _formats[fmtType] = fmt;
- }
+ _uiStylePalette = parser.uiStylePalette();
+ _formats = parser.formats();
_listItemFormats = parser.listItemFormats();
- qApp->setStyleSheet(styleSheet); // pass the remaining sections to the application
+ styleSheet = styleSheet.trimmed();
+ if(!styleSheet.isEmpty())
+ qApp->setStyleSheet(styleSheet); // pass the remaining sections to the application
}
emit changed();
/******** ItemView Styling *******/
-void UiStyle::showUserStateIconsChanged() {
- BufferSettings bufferSettings;
- _showBufferViewIcons = _showNickViewIcons = bufferSettings.showUserStateIcons();
+void UiStyle::showItemViewIconsChanged() {
+ UiStyleSettings s;
+ _showBufferViewIcons = _showNickViewIcons = s.value("ShowItemViewIcons").toBool();
}
QVariant UiStyle::bufferViewItemData(const QModelIndex &index, int role) const {
// URL
if(ftype & Url)
- mergeSubElementFormat(fmt, ftype & Url, label);
+ mergeSubElementFormat(fmt, ftype & (Url | 0x000000ff), label);
}
// Merge a subelement format into an existing message format
return ErrorMsg;
case Message::DayChange:
return DayChangeMsg;
+ case Message::Topic:
+ return TopicMsg;
}
//Q_ASSERT(false); // we need to handle all message types
qWarning() << Q_FUNC_INFO << "Unknown message type:" << msgType;
color &= 0x0f;
if(s[pos+3] == 'f') {
curfmt &= 0xf0ffffff;
- curfmt |= (color << 24) | 0x00400000;
+ curfmt |= (quint32)(color << 24) | 0x00400000;
} else {
curfmt &= 0x0fffffff;
- curfmt |= (color << 28) | 0x00800000;
+ curfmt |= (quint32)(color << 28) | 0x00800000;
}
length = 6;
}
//: Day Change Message
t = tr("{Day changed to %1}").arg(timestamp().toString());
break;
+ case Message::Topic:
+ //: Topic Message
+ t = tr("%1").arg(txt); break;
default:
t = tr("[%1]").arg(txt);
}
return tr("*"); break;
case Message::DayChange:
return tr("-"); break;
+ case Message::Topic:
+ return tr("*"); break;
default:
return tr("%1").arg(plainSender());
}
QString nick = nickFromMask(sender()).toLower();
if(!nick.isEmpty()) {
int chopCount = 0;
- while(nick.at(nick.count() - 1 - chopCount) == '_')
+ while(chopCount < nick.size() && nick.at(nick.count() - 1 - chopCount) == '_')
chopCount++;
- nick.chop(chopCount);
+ if(chopCount < nick.size())
+ nick.chop(chopCount);
}
quint16 hash = qChecksum(nick.toAscii().data(), nick.toAscii().size());
return (_senderHash = (hash & 0xf) + 1);