X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fuisupport%2Fuistyle.cpp;h=05895cd154fd6b1003339602a89402a63533dca7;hp=281ec76c15003984429d41ce8a8f1c348b99b249;hb=86bd6b1ffb870e65af6d830a2ea16471c348ed5a;hpb=02ed3d0a95051e55ecaf66561f379041ae111cca diff --git a/src/uisupport/uistyle.cpp b/src/uisupport/uistyle.cpp index 281ec76c..05895cd1 100644 --- a/src/uisupport/uistyle.cpp +++ b/src/uisupport/uistyle.cpp @@ -70,7 +70,10 @@ UiStyle::UiStyle(QObject *parent) // BufferView / NickView settings UiStyleSettings s; _showBufferViewIcons = _showNickViewIcons = s.value("ShowItemViewIcons", true).toBool(); - s.notify("ShowItemViewIcons", this, SLOT(showItemViewIconsChanged())); + s.notify("ShowItemViewIcons", this, SLOT(showItemViewIconsChanged(QVariant))); + + _allowMircColors = s.value("AllowMircColors", true).toBool(); + s.notify("AllowMircColors", this, SLOT(allowMircColorsChanged(QVariant))); loadStyleSheet(); } @@ -92,7 +95,7 @@ void UiStyle::loadStyleSheet() { UiStyleSettings s; QString styleSheet; - styleSheet += loadStyleSheet("file:///" + Quassel::findDataFilePath("default.qss")); + styleSheet += loadStyleSheet("file:///" + Quassel::findDataFilePath("stylesheets/default.qss")); styleSheet += loadStyleSheet("file:///" + Quassel::configDirPath() + "settings.qss"); if(s.value("UseCustomStyleSheet", false).toBool()) styleSheet += loadStyleSheet("file:///" + s.value("CustomStyleSheetPath").toString(), true); @@ -143,11 +146,15 @@ void UiStyle::setTimestampFormatString(const QString &format) { } } +void UiStyle::allowMircColorsChanged(const QVariant &v) { + _allowMircColors = v.toBool(); + emit changed(); +} + /******** ItemView Styling *******/ -void UiStyle::showItemViewIconsChanged() { - UiStyleSettings s; - _showBufferViewIcons = _showNickViewIcons = s.value("ShowItemViewIcons").toBool(); +void UiStyle::showItemViewIconsChanged(const QVariant &v) { + _showBufferViewIcons = _showNickViewIcons = v.toBool(); } QVariant UiStyle::bufferViewItemData(const QModelIndex &index, int role) const { @@ -340,12 +347,14 @@ void UiStyle::mergeFormat(QTextCharFormat &fmt, quint32 ftype, quint64 label) { // Now we handle color codes // We assume that those can't be combined with subelement and message types. - if(ftype & 0x00400000) - mergeSubElementFormat(fmt, ftype & 0x0f400000, label); // foreground - if(ftype & 0x00800000) - mergeSubElementFormat(fmt, ftype & 0xf0800000, label); // background - if((ftype & 0x00c00000) == 0x00c00000) - mergeSubElementFormat(fmt, ftype & 0xffc00000, label); // combination + if(_allowMircColors) { + if(ftype & 0x00400000) + mergeSubElementFormat(fmt, ftype & 0x0f400000, label); // foreground + if(ftype & 0x00800000) + mergeSubElementFormat(fmt, ftype & 0xf0800000, label); // background + if((ftype & 0x00c00000) == 0x00c00000) + mergeSubElementFormat(fmt, ftype & 0xffc00000, label); // combination + } // URL if(ftype & Url) @@ -552,6 +561,8 @@ void UiStyle::StyledMessage::style() const { QString txt = UiStyle::mircToInternal(contents()); QString bufferName = bufferInfo().bufferName(); bufferName.replace('%', "%%"); // well, you _can_ have a % in a buffername apparently... -_- + host.replace('%', "%%"); // hostnames too... + user.replace('%', "%%"); // and the username. const int maxNetsplitNicks = 15; QString t; @@ -616,7 +627,7 @@ void UiStyle::StyledMessage::style() const { //: Topic Message t = tr("%1").arg(txt); break; case Message::NetsplitJoin: { - QStringList users = txt.split(":"); + QStringList users = txt.split("#:#"); QStringList servers = users.takeLast().split(" "); for(int i = 0; i < users.count() && i < maxNetsplitNicks; i++) @@ -630,7 +641,7 @@ void UiStyle::StyledMessage::style() const { } break; case Message::NetsplitQuit: { - QStringList users = txt.split(":"); + QStringList users = txt.split("#:#"); QStringList servers = users.takeLast().split(" "); for(int i = 0; i < users.count() && i < maxNetsplitNicks; i++)