linuxdcpp-team team mailing list archive
-
linuxdcpp-team team
-
Mailing list archive
-
Message #05640
[Branch ~dcplusplus-team/dcplusplus/trunk] Rev 2931: better default setting comparison
------------------------------------------------------------
revno: 2931
committer: poy <poy@xxxxxxxxxx>
branch nick: trunk
timestamp: Sun 2012-05-27 18:38:33 +0200
message:
better default setting comparison
modified:
dcpp/SettingsManager.h
win32/PropPage.cpp
win32/PropPage.h
--
lp:dcplusplus
https://code.launchpad.net/~dcplusplus-team/dcplusplus/trunk
Your team Dcplusplus-team is subscribed to branch lp:dcplusplus.
To unsubscribe from this branch go to https://code.launchpad.net/~dcplusplus-team/dcplusplus/trunk/+edit-subscription
=== modified file 'dcpp/SettingsManager.h'
--- dcpp/SettingsManager.h 2012-05-15 23:26:22 +0000
+++ dcpp/SettingsManager.h 2012-05-27 16:38:33 +0000
@@ -229,7 +229,9 @@
floatDefaults[key - FLOAT_FIRST] = value;
}
- bool isDefault(size_t key) { return !isSet[key]; }
+ template<typename KeyT> bool isDefault(KeyT key) {
+ return !isSet[key] || get(key, false) == getDefault(key);
+ }
void unset(size_t key) { isSet[key] = false; }
=== modified file 'win32/PropPage.cpp'
--- win32/PropPage.cpp 2012-03-03 19:33:45 +0000
+++ win32/PropPage.cpp 2012-05-27 16:38:33 +0000
@@ -61,23 +61,33 @@
for(auto& i: items) {
switch(i.type) {
case T_STR:
- if(!settings->isDefault(i.setting)) {
- static_cast<TextBoxPtr>(i.widget)->setText(Text::toT(settings->get((SettingsManager::StrSetting)i.setting)));
+ {
+ auto setting = static_cast<SettingsManager::StrSetting>(i.setting);
+ if(!settings->isDefault(setting)) {
+ static_cast<TextBoxPtr>(i.widget)->setText(Text::toT(settings->get(setting)));
+ }
+ break;
}
- break;
case T_INT:
- if(!settings->isDefault(i.setting)) {
- static_cast<TextBoxPtr>(i.widget)->setText(Text::toT(Util::toString(settings->get((SettingsManager::IntSetting)i.setting))));
+ {
+ auto setting = static_cast<SettingsManager::IntSetting>(i.setting);
+ if(!settings->isDefault(setting)) {
+ static_cast<TextBoxPtr>(i.widget)->setText(Text::toT(Util::toString(settings->get(setting))));
+ }
+ break;
}
- break;
case T_INT_WITH_SPIN:
- static_cast<TextBoxPtr>(i.widget)->setText(Text::toT(Util::toString(settings->get((SettingsManager::IntSetting)i.setting))));
- break;
+ {
+ auto setting = static_cast<SettingsManager::IntSetting>(i.setting);
+ static_cast<TextBoxPtr>(i.widget)->setText(Text::toT(Util::toString(settings->get(setting))));
+ break;
+ }
case T_BOOL:
- static_cast<CheckBoxPtr>(i.widget)->setChecked(settings->getBool((SettingsManager::IntSetting)i.setting));
- break;
- case T_END:
- dcassert(false); break;
+ {
+ auto setting = static_cast<SettingsManager::IntSetting>(i.setting);
+ static_cast<CheckBoxPtr>(i.widget)->setChecked(settings->getBool(setting));
+ break;
+ }
}
}
}
@@ -106,17 +116,24 @@
for(auto& i: items) {
switch(i.type) {
case T_STR:
- settings->set((SettingsManager::StrSetting)i.setting, Text::fromT(static_cast<TextBoxPtr>(i.widget)->getText()));
+ {
+ auto setting = static_cast<SettingsManager::StrSetting>(i.setting);
+ settings->set(setting, Text::fromT(static_cast<TextBoxPtr>(i.widget)->getText()));
break;
+ }
case T_INT:
case T_INT_WITH_SPIN:
- settings->set((SettingsManager::IntSetting)i.setting, Text::fromT(static_cast<TextBoxPtr>(i.widget)->getText()));
- break;
+ {
+ auto setting = static_cast<SettingsManager::IntSetting>(i.setting);
+ settings->set(setting, Text::fromT(static_cast<TextBoxPtr>(i.widget)->getText()));
+ break;
+ }
case T_BOOL:
- settings->set((SettingsManager::IntSetting)i.setting, static_cast<CheckBoxPtr>(i.widget)->getChecked());
- break;
- case T_END:
- dcassert(false); break;
+ {
+ auto setting = static_cast<SettingsManager::IntSetting>(i.setting);
+ settings->set(setting, static_cast<CheckBoxPtr>(i.widget)->getChecked());
+ break;
+ }
}
}
}
=== modified file 'win32/PropPage.h'
--- win32/PropPage.h 2012-01-13 20:55:20 +0000
+++ win32/PropPage.h 2012-05-27 16:38:33 +0000
@@ -40,8 +40,7 @@
T_STR,
T_INT,
T_INT_WITH_SPIN, // fill even when the current value is the same as the default value (for controls with a spin buddy)
- T_BOOL,
- T_END
+ T_BOOL
};
struct Item {