# # # patch "src/model/ContentDiff.cpp" # from [7d5168924ebf7cc688089dbb71e5464608e991ae] # to [bada10adf7a568d973c1d80cd5ddfb432e979a83] # # patch "src/model/GetFile.cpp" # from [2f57e09ce0224ab42b9d907cd5ace3bd35ebe999] # to [91ee4ba6d8884bd32e7d817562c4781a18fdf735] # # patch "src/util/Settings.cpp" # from [6ae8dc50c2d2a70c5467149d5311180dbad82221] # to [e9d0102390177c32467ec17f11562f5a6c890396] # # patch "src/util/Settings.h" # from [82ecbfc330968be9bd7974ed450ada6e81327dbb] # to [43df1d196eaaa6be7496e3c1611ba5d4a8e7cc16] # # patch "src/view/dialogs/Preferences.cpp" # from [965a695baebe0fe9f6c4330e90b657cacc772145] # to [222bec00d87b8dc18bdd11d2a54398ecb9476c64] # ============================================================ --- src/model/ContentDiff.cpp 7d5168924ebf7cc688089dbb71e5464608e991ae +++ src/model/ContentDiff.cpp bada10adf7a568d973c1d80cd5ddfb432e979a83 @@ -283,13 +283,13 @@ QVariant ContentDiff::data(const QModelI if (line->lineMarker.startsWith("+")) { - QColor added(Settings::getString("DiffColorAddedLines", "green")); + QColor added(Settings::getString("DiffColorAddedLines")); return QVariant(QBrush(added)); } if (line->lineMarker.startsWith("-")) { - QColor removed(Settings::getString("DiffColorRemovedLines", "red")); + QColor removed(Settings::getString("DiffColorRemovedLines")); return QVariant(QBrush(removed)); } ============================================================ --- src/model/GetFile.cpp 2f57e09ce0224ab42b9d907cd5ace3bd35ebe999 +++ src/model/GetFile.cpp 91ee4ba6d8884bd32e7d817562c4781a18fdf735 @@ -308,8 +308,8 @@ QVariant GetFile::data(const QModelIndex else if (role == Qt::BackgroundRole) { - QColor added(Settings::getString("DiffColorAddedLines", "green")); - QColor removed(Settings::getString("DiffColorRemovedLines", "red")); + QColor added(Settings::getString("DiffColorAddedLines")); + QColor removed(Settings::getString("DiffColorRemovedLines")); switch (line->state) { ============================================================ --- src/util/Settings.cpp 6ae8dc50c2d2a70c5467149d5311180dbad82221 +++ src/util/Settings.cpp e9d0102390177c32467ec17f11562f5a6c890396 @@ -36,7 +36,12 @@ Settings * Settings::singleton() return instance; } -Settings::Settings() : QSettings() {} +Settings::Settings() : QSettings() +{ + // set a couple of system-wide defaults + stringDefaults.insert("DiffColorAddedLines", "#90EE90"); + stringDefaults.insert("DiffColorRemovedLines", "#FFCC99"); +} Settings::~Settings() {} @@ -46,10 +51,10 @@ void Settings::setBool(const QString & n singleton()->setValue(name, value); } -bool Settings::getBool(const QString & name, bool defaultVal) +bool Settings::getBool(const QString & name, bool defaultValue) { I(!name.isEmpty()); - return singleton()->value(name, defaultVal).toBool(); + return singleton()->value(name, defaultValue).toBool(); } void Settings::setString(const QString & name, const QString & value) @@ -58,10 +63,16 @@ void Settings::setString(const QString & singleton()->setValue(name, value); } -QString Settings::getString(const QString & name, const QString & defaultVal) +QString Settings::getString(const QString & name, const QString & defaultValue) { I(!name.isEmpty()); - return singleton()->value(name, defaultVal).toString(); + Settings * settings = singleton(); + QString value = defaultValue; + if (defaultValue.isNull() && settings->stringDefaults.contains(name)) + { + value = settings->stringDefaults.value(name); + } + return settings->value(name, value).toString(); } void Settings::setWindowGeometry(const QString & windowClass, const QByteArray & data) ============================================================ --- src/util/Settings.h 82ecbfc330968be9bd7974ed450ada6e81327dbb +++ src/util/Settings.h 43df1d196eaaa6be7496e3c1611ba5d4a8e7cc16 @@ -31,7 +31,7 @@ public: static bool getBool(const QString &, bool); static void setString(const QString &, const QString &); - static QString getString(const QString &, const QString &); + static QString getString(const QString &, const QString & defaultValue = QString()); static void setWindowGeometry(const QString &, const QByteArray &); static QByteArray getWindowGeometry(const QString &); @@ -61,7 +61,8 @@ private: ~Settings(void); static Settings * singleton(); static Settings * instance; -}; + QMap stringDefaults; +}; #endif ============================================================ --- src/view/dialogs/Preferences.cpp 965a695baebe0fe9f6c4330e90b657cacc772145 +++ src/view/dialogs/Preferences.cpp 222bec00d87b8dc18bdd11d2a54398ecb9476c64 @@ -111,11 +111,11 @@ void Preferences::init() ); colorPickerAddedLines->setSelectedColor( - QColor(Settings::getString("DiffColorAddedLines", "green")) + QColor(Settings::getString("DiffColorAddedLines")) ); colorPickerRemovedLines->setSelectedColor( - QColor(Settings::getString("DiffColorRemovedLines", "red")) + QColor(Settings::getString("DiffColorRemovedLines")) ); relaxedVersionCheck->setCheckState( Settings::getBool("RelaxedVersionCheck", false) ?