From: Manuel Nickschas Date: Tue, 22 Sep 2009 16:23:56 +0000 (+0200) Subject: Make the "Allow colored text" option work X-Git-Tag: 0.5-rc2~18 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=6953ab43dbebb5e656ecdc16993fd6321b5005ff Make the "Allow colored text" option work Fixes #801. --- diff --git a/src/qtui/settingspages/chatviewsettingspage.ui b/src/qtui/settingspages/chatviewsettingspage.ui index 95e009fe..3c30fcee 100644 --- a/src/qtui/settingspages/chatviewsettingspage.ui +++ b/src/qtui/settingspages/chatviewsettingspage.ui @@ -98,7 +98,7 @@ true - AllowMircColors + /UiStyle/AllowMircColors diff --git a/src/uisupport/uistyle.cpp b/src/uisupport/uistyle.cpp index b74e1b7c..7b629254 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(); } @@ -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) diff --git a/src/uisupport/uistyle.h b/src/uisupport/uistyle.h index c11db899..c1742308 100644 --- a/src/uisupport/uistyle.h +++ b/src/uisupport/uistyle.h @@ -170,7 +170,8 @@ protected: QVariant itemData(int role, const QTextCharFormat &format) const; private slots: - void showItemViewIconsChanged(); + void allowMircColorsChanged(const QVariant &); + void showItemViewIconsChanged(const QVariant &); private: QVector _uiStylePalette; @@ -193,6 +194,7 @@ private: int _voiceIconLimit; bool _showNickViewIcons; bool _showBufferViewIcons; + bool _allowMircColors; }; class UiStyle::StyledMessage : public Message {