- fixed issue #87 and issue #88

This commit is contained in:
SoftCoder 2015-12-03 19:56:01 -08:00
parent b23ea6bfdd
commit 38cc0e5459
4 changed files with 17 additions and 3 deletions

@ -1 +1 @@
Subproject commit f0cbcec28548c1eaf968b7598de0410e23dd0a5a
Subproject commit bf04854ade7cd0fc51483c857e590acfef4fbc26

View File

@ -112,6 +112,7 @@ Config::Config() {
fileName.second = "";
fileNameParameter.first = "";
fileNameParameter.second = "";
custom_path_parameter = "";
}
bool Config::tryCustomPath(std::pair<ConfigType,ConfigType> &type, std::pair<string,string> &file, string custom_path) {
@ -159,6 +160,7 @@ Config::Config(std::pair<ConfigType,ConfigType> type, std::pair<string,string> f
cfgType = type;
fileName = file;
fileNameParameter = file;
custom_path_parameter = custom_path;
if(getGameReadWritePath(GameConstants::path_ini_CacheLookupKey) != "") {
fileName.first = getGameReadWritePath(GameConstants::path_ini_CacheLookupKey) + fileName.first;
@ -330,7 +332,7 @@ void Config::reload() {
if(SystemFlags::VERBOSE_MODE_ENABLED) if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
std::pair<ConfigType,ConfigType> type = std::make_pair(cfgType.first,cfgType.second);
Config newconfig(type, std::make_pair(fileNameParameter.first,fileNameParameter.second), std::make_pair(true,false));
Config newconfig(type, std::make_pair(fileNameParameter.first,fileNameParameter.second), std::make_pair(true,false), custom_path_parameter);
if(SystemFlags::VERBOSE_MODE_ENABLED) if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);

View File

@ -51,6 +51,7 @@ private:
std::pair<string,string> fileNameParameter;
std::pair<string,string> fileName;
std::pair<bool,bool> fileLoaded;
string custom_path_parameter;
static map<ConfigType,Config> configList;

View File

@ -322,7 +322,10 @@ void MenuStateKeysetup::mouseClick(int x, int y, MouseButton mouseButton){
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
if(userProperties.empty() == false) {
Config &configKeys = Config::getInstance(std::pair<ConfigType,ConfigType>(cfgMainKeys,cfgUserKeys));
Config &config = Config::getInstance();
Config &configKeys = Config::getInstance(std::pair<ConfigType,ConfigType>(cfgMainKeys,cfgUserKeys),
std::pair<string,string>(Config::glestkeys_ini_filename,Config::glestuserkeys_ini_filename),
std::pair<bool,bool>(true,false),config.getString("GlestKeysIniPath",""));
string userKeysFile = configKeys.getFileName(true);
if(SystemFlags::VERBOSE_MODE_ENABLED) printf("In [%s::%s Line: %d] save file [%s] userProperties.size() = " MG_SIZE_T_SPECIFIER "\n",__FILE__,__FUNCTION__,__LINE__,userKeysFile.c_str(),userProperties.size());
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] save file [%s] userProperties.size() = " MG_SIZE_T_SPECIFIER "\n",__FILE__,__FUNCTION__,__LINE__,userKeysFile.c_str(),userProperties.size());
@ -574,6 +577,13 @@ void MenuStateKeysetup::keyUp(SDL_KeyboardEvent key) {
label->setText(keyName);
pair<string,string> &nameValuePair = mergedProperties[hotkeyIndex];
// Need to distinguish numeric keys to be translated to real keys
// from these ACTUAL sdl keys so surround in quotes.
if(keyName.size() == 1 && keyName[0] >= '0' && keyName[0] <= '9') {
keyName = "'" + keyName + "'";
}
bool isNewUserKeyEntry = true;
for(int i = 0; i < (int)userProperties.size(); ++i) {
string hotKeyName = userProperties[i].first;
@ -618,4 +628,5 @@ void MenuStateKeysetup::keyUp(SDL_KeyboardEvent key) {
}
}
}}//end namespace