Fix a bug when you open the gc pad settings after fresh install of Dolphin

You will see an empty gc pad settings screen until you open any other
settings screen and change something, at that moment the Dolphin.ini will
be created and the gc pad settings will be loaded successfully the next
time you open the screen.

This fixes the bug by putting the default gc pad settings section even if
the Dolphin.ini file doesn't exist
This commit is contained in:
mahdihijazi 2017-12-23 10:51:39 +01:00
parent 8a9eff1404
commit 58ee9d2a78
1 changed files with 22 additions and 0 deletions

View File

@ -336,6 +336,11 @@ public final class SettingsFile
} }
} }
if (fileName.equals(SettingsFile.FILE_NAME_DOLPHIN))
{
addGcPadSettingsIfTheyDontExist(sections);
}
return sections; return sections;
} }
@ -398,6 +403,23 @@ public final class SettingsFile
return new SettingSection(sectionName); return new SettingSection(sectionName);
} }
private static void addGcPadSettingsIfTheyDontExist(HashMap<String, SettingSection> sections)
{
SettingSection coreSection = sections.get(SettingsFile.SECTION_CORE);
for (int i = 0; i < 4; i++)
{
String key = SettingsFile.KEY_GCPAD_TYPE + i;
if (coreSection.getSetting(key) == null)
{
Setting gcPadSetting = new IntSetting(key, SettingsFile.SECTION_CORE, SettingsFile.SETTINGS_DOLPHIN, 0);
coreSection.putSetting(gcPadSetting);
}
}
sections.put(SettingsFile.SECTION_CORE, coreSection);
}
/** /**
* For a line of text, determines what type of data is being represented, and returns * For a line of text, determines what type of data is being represented, and returns
* a Setting object containing this data. * a Setting object containing this data.