X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fuisupport%2Fuistyle.cpp;h=627ba5e863ff4a9077c4c16ac4ba30c683a5734c;hb=cb1b16fce88b240c735b942aad44a61a1dd3f28d;hp=b0db2ab28778329279fe1429a7cd138c7d24b5dc;hpb=2e955358a6f3ca2a125ddcfa2a089576662611e3;p=quassel.git diff --git a/src/uisupport/uistyle.cpp b/src/uisupport/uistyle.cpp index b0db2ab2..627ba5e8 100644 --- a/src/uisupport/uistyle.cpp +++ b/src/uisupport/uistyle.cpp @@ -20,9 +20,13 @@ #include #include "uistyle.h" -#include "uistylesettings.h" +#include "uisettings.h" #include "util.h" +// FIXME remove with migration code +#include +#include "global.h" + 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(), Global::clientApplicationName); +#else + QSettings mys(QCoreApplication::organizationName(), Global::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 @@ -117,7 +139,7 @@ void UiStyle::setFormat(FormatType ftype, QTextCharFormat fmt, Settings::Mode mo _customFormats[ftype] = fmt; s.setCustomFormat(ftype, fmt); } else { - _customFormats[ftype] = QTextFormat().toCharFormat(); + _customFormats.remove(ftype); s.removeCustomFormat(ftype); } } @@ -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