X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fuisupport%2Fuistyle.cpp;h=0ebdf0616e8a8f7ab354a1727c557dfc9133a83c;hp=555f87707f577c8b5ad41254a8c53f1cb9af518b;hb=c9057c565220fa7f5e264775fde4bf41c5eae308;hpb=64bc0567e3fe373ab996a23ed690ec5631bb417f diff --git a/src/uisupport/uistyle.cpp b/src/uisupport/uistyle.cpp index 555f8770..0ebdf061 100644 --- a/src/uisupport/uistyle.cpp +++ b/src/uisupport/uistyle.cpp @@ -112,7 +112,9 @@ void UiStyle::loadStyleSheet() { } _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(); @@ -352,7 +354,7 @@ void UiStyle::mergeFormat(QTextCharFormat &fmt, quint32 ftype, quint64 label) { // URL if(ftype & Url) - mergeSubElementFormat(fmt, ftype & Url, label); + mergeSubElementFormat(fmt, ftype & (Url | 0x000000ff), label); } // Merge a subelement format into an existing message format @@ -394,6 +396,8 @@ UiStyle::FormatType UiStyle::formatType(Message::Type msgType) { 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; @@ -608,6 +612,9 @@ void UiStyle::StyledMessage::style() const { //: 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); } @@ -672,6 +679,8 @@ QString UiStyle::StyledMessage::decoratedSender() const { return tr("*"); break; case Message::DayChange: return tr("-"); break; + case Message::Topic: + return tr("*"); break; default: return tr("%1").arg(plainSender()); } @@ -685,9 +694,10 @@ quint8 UiStyle::StyledMessage::senderHash() const { 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);