X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fuisupport%2Fuistyle.cpp;h=08190ed1a0cca73a24e84aee972536108e1aa94c;hb=1c0eb65f8545bb444f5fb9e792b8d9587ce8cefa;hp=72920ba13d01126c17d0bd994534a07ca1fe3450;hpb=fdf19b3936b50b7cecad97d19a0c50346693c98a;p=quassel.git diff --git a/src/uisupport/uistyle.cpp b/src/uisupport/uistyle.cpp index 72920ba1..08190ed1 100644 --- a/src/uisupport/uistyle.cpp +++ b/src/uisupport/uistyle.cpp @@ -19,10 +19,14 @@ ***************************************************************************/ #include +#include "quassel.h" #include "uistyle.h" -#include "uistylesettings.h" +#include "uisettings.h" #include "util.h" +// FIXME remove with migration code +#include + UiStyle::UiStyle(const QString &settingsKey) : _settingsKey(settingsKey) { // register FormatList if that hasn't happened yet // FIXME I don't think this actually avoids double registration... then again... does it hurt? @@ -32,6 +36,24 @@ UiStyle::UiStyle(const QString &settingsKey) : _settingsKey(settingsKey) { Q_ASSERT(QVariant::nameToType("UiStyle::FormatList") != QVariant::Invalid); } + // FIXME remove migration at some point + // We remove old settings if we find them, since they conflict +#ifdef Q_WS_MAC + QSettings mys(QCoreApplication::organizationDomain(), Quassel::buildInfo().clientApplicationName); +#else + QSettings mys(QCoreApplication::organizationName(), Quassel::buildInfo().clientApplicationName); +#endif + mys.beginGroup("QtUi"); + if(mys.childGroups().contains("Colors")) { + qDebug() << "Removing obsolete UiStyle settings!"; + mys.endGroup(); + mys.remove("Ui"); + mys.remove("QtUiStyle"); + mys.remove("QtUiStyleNew"); + mys.remove("QtUi/Colors"); + mys.sync(); + } + _defaultFont = QFont("Monospace", QApplication::font().pointSize()); // Default format @@ -208,10 +230,13 @@ UiStyle::StyledString UiStyle::styleString(const QString &s_) { int color = 10 * s[pos+4].digitValue() + s[pos+5].digitValue(); //TODO: use 99 as transparent color (re mirc color "standard") color &= 0x0f; - if(s[pos+3] == 'f') + if(s[pos+3] == 'f') { + curfmt &= 0xf0ffffff; curfmt |= (color << 24) | 0x00400000; - else + } else { + curfmt &= 0x0fffffff; curfmt |= (color << 28) | 0x00800000; + } length = 6; } } else if(s[pos+1] == 'O') { // reset formatting @@ -292,6 +317,7 @@ UiStyle::StyledMessage UiStyle::styleMessage(const Message &msg) { QString nick = nickFromMask(msg.sender()); QString txt = mircToInternal(msg.contents()); QString bufferName = msg.bufferInfo().bufferName(); + bufferName.replace('%', "%%"); // well, you _can_ have a % in a buffername apparently... -_- StyledMessage result; @@ -314,7 +340,7 @@ UiStyle::StyledMessage UiStyle::styleMessage(const Message &msg) { if(!txt.isEmpty()) t = QString("%1 (%2)").arg(t).arg(txt); break; case Message::Quit: - s = tr("%Dq<--"); t = tr("%Dq%DN%DU%1%DU%DN %DH(%2@%3)%DH has quit").arg(nick, user, host); + s = tr("%Dq<--"); t = tr("%Dq%DN%1%DN %DH(%2@%3)%DH has quit").arg(nick, user, host); if(!txt.isEmpty()) t = QString("%1 (%2)").arg(t).arg(txt); break; case Message::Kick: