diff options
author | Andrei Karas <akaras@inbox.ru> | 2011-09-18 17:49:18 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2011-09-18 17:49:18 +0300 |
commit | 70b520b1e876f9698bb95baa2d274ea289a0c6bd (patch) | |
tree | 152c7519b0d9b8fb424af2373ec48db823a85575 /src/configuration.cpp | |
parent | 62ec17f6e489ec50f17219444468aeb8969dc961 (diff) | |
parent | 3b999f51c740d0541c53d223518e5e4bb482d996 (diff) | |
download | manaverse-stripped1.1.9.18.tar.gz manaverse-stripped1.1.9.18.tar.bz2 manaverse-stripped1.1.9.18.tar.xz manaverse-stripped1.1.9.18.zip |
Merge branch 'master' into strippedstripped1.1.9.18
Conflicts:
src/guichan/cliprectangle.cpp
src/guichan/focushandler.cpp
src/guichan/gui.cpp
src/guichan/include/guichan/cliprectangle.hpp
src/guichan/include/guichan/inputevent.hpp
src/guichan/include/guichan/keyevent.hpp
src/guichan/include/guichan/mouseevent.hpp
src/guichan/include/guichan/widgets/button.hpp
src/guichan/include/guichan/widgets/checkbox.hpp
src/guichan/include/guichan/widgets/dropdown.hpp
src/guichan/include/guichan/widgets/radiobutton.hpp
src/guichan/include/guichan/widgets/slider.hpp
src/guichan/include/guichan/widgets/tab.hpp
src/guichan/include/guichan/widgets/tabbedarea.hpp
src/guichan/include/guichan/widgets/textfield.hpp
src/guichan/include/guichan/widgets/window.hpp
src/guichan/inputevent.cpp
src/guichan/keyevent.cpp
src/guichan/mouseevent.cpp
src/guichan/widget.cpp
src/guichan/widgets/button.cpp
src/guichan/widgets/checkbox.cpp
src/guichan/widgets/dropdown.cpp
src/guichan/widgets/radiobutton.cpp
src/guichan/widgets/slider.cpp
src/guichan/widgets/tab.cpp
src/guichan/widgets/tabbedarea.cpp
src/guichan/widgets/textfield.cpp
src/guichan/widgets/window.cpp
Diffstat (limited to 'src/configuration.cpp')
-rw-r--r-- | src/configuration.cpp | 99 |
1 files changed, 85 insertions, 14 deletions
diff --git a/src/configuration.cpp b/src/configuration.cpp index 2524d6b93..a0167b9b0 100644 --- a/src/configuration.cpp +++ b/src/configuration.cpp @@ -194,11 +194,32 @@ int Configuration::getIntValue(const std::string &key) const { DefaultsData::const_iterator itdef = mDefaultsData->find(key); - if (itdef != mDefaultsData->end() && itdef->second - && itdef->second->getType() == Mana::VariableData::DATA_INT) + if (itdef != mDefaultsData->end() && itdef->second) { - defaultValue = (static_cast<Mana::IntData*>( - itdef->second))->getData(); + if (itdef->second->getType() == Mana::VariableData::DATA_INT) + { + defaultValue = (static_cast<Mana::IntData*>( + itdef->second))->getData(); + } + else if (itdef->second->getType() + == Mana::VariableData::DATA_STRING) + { + defaultValue = atoi((static_cast<Mana::StringData*>( + itdef->second))->getData().c_str()); + } + else if (itdef->second->getType() + == Mana::VariableData::DATA_BOOL) + { + if ((static_cast<Mana::BoolData*>( + itdef->second))->getData()) + { + defaultValue = 1; + } + else + { + defaultValue = 0; + } + } } else { @@ -241,7 +262,7 @@ int Configuration::resetIntValue(const std::string &key) std::string Configuration::getStringValue(const std::string &key) const { GETLOG(); - std::string defaultValue = ""; + std::string defaultValue(""); Options::const_iterator iter = mOptions.find(key); if (iter == mOptions.end()) { @@ -249,11 +270,33 @@ std::string Configuration::getStringValue(const std::string &key) const { DefaultsData::const_iterator itdef = mDefaultsData->find(key); - if (itdef != mDefaultsData->end() && itdef->second - && itdef->second->getType() == Mana::VariableData::DATA_STRING) + if (itdef != mDefaultsData->end() && itdef->second) { - defaultValue = (static_cast<Mana::StringData*>( - itdef->second))->getData(); + if (itdef->second->getType() + == Mana::VariableData::DATA_STRING) + { + defaultValue = (static_cast<Mana::StringData*>( + itdef->second))->getData(); + } + else if (itdef->second->getType() + == Mana::VariableData::DATA_BOOL) + { + if ((static_cast<Mana::BoolData*>( + itdef->second))->getData()) + { + defaultValue = "1"; + } + else + { + defaultValue = "0"; + } + } + else if (itdef->second->getType() + == Mana::VariableData::DATA_INT) + { + defaultValue = toString((static_cast<Mana::IntData*>( + itdef->second))->getData()); + } } else { @@ -312,11 +355,39 @@ bool Configuration::getBoolValue(const std::string &key) const { DefaultsData::const_iterator itdef = mDefaultsData->find(key); - if (itdef != mDefaultsData->end() && itdef->second - && itdef->second->getType() == Mana::VariableData::DATA_BOOL) + if (itdef != mDefaultsData->end() && itdef->second) { - defaultValue = (static_cast<Mana::BoolData*>( - itdef->second))->getData(); + if (itdef->second->getType() == Mana::VariableData::DATA_BOOL) + { + defaultValue = (static_cast<Mana::BoolData*>( + itdef->second))->getData(); + } + else if (itdef->second->getType() + == Mana::VariableData::DATA_INT) + { + if ((static_cast<Mana::IntData*>( + itdef->second))->getData() != 0) + { + defaultValue = true; + } + else + { + defaultValue = false; + } + } + else if (itdef->second->getType() + == Mana::VariableData::DATA_STRING) + { + if ((static_cast<Mana::StringData*>( + itdef->second))->getData() != "0") + { + defaultValue = true; + } + else + { + defaultValue = false; + } + } } else { @@ -514,4 +585,4 @@ void Configuration::removeListener( const std::string &key, ConfigListener *listener) { mListenerMap[key].remove(listener); -}
\ No newline at end of file +} |