citra_qt: Add Game List configuration

This adds a Game List configuration group box which is similar to yuzu's, with features including icon size setting, row 1/2 text, and ability to hide invalid titles (those without a valid SMDH). I also added a UI tab and moved the language and theme settings there.
This commit is contained in:
zhupengfei 2018-09-23 11:22:44 +08:00 committed by zhupengfei
parent f405134913
commit 90f9d32f13
No known key found for this signature in database
GPG key ID: DD129E108BD09378
15 changed files with 405 additions and 120 deletions

View file

@ -219,6 +219,31 @@ void Config::ReadValues() {
ReadSetting("microProfileDialogVisible", false).toBool();
qt_config->endGroup();
qt_config->beginGroup("GameList");
UISettings::values.game_list_icon_size = ReadSetting("iconSize", 2).toInt();
if (UISettings::values.game_list_icon_size < 0 || UISettings::values.game_list_icon_size > 2) {
LOG_ERROR(Config, "Invalid value for game_list_icon_size: {}",
UISettings::values.game_list_icon_size);
UISettings::values.game_list_icon_size = 2;
}
UISettings::values.game_list_row_1 = ReadSetting("row1", 2).toInt();
if (UISettings::values.game_list_row_1 < 0 || UISettings::values.game_list_row_1 > 3) {
LOG_ERROR(Config, "Invalid value for game_list_row_1: {}",
UISettings::values.game_list_row_1);
UISettings::values.game_list_row_1 = 2;
}
UISettings::values.game_list_row_2 = ReadSetting("row2", 0).toInt();
if (UISettings::values.game_list_row_2 < -1 || UISettings::values.game_list_row_2 > 3) {
LOG_ERROR(Config, "Invalid value for game_list_row_2: {}",
UISettings::values.game_list_row_2);
UISettings::values.game_list_row_2 = 0;
}
UISettings::values.game_list_hide_no_icon = ReadSetting("hideNoIcon", false).toBool();
qt_config->endGroup();
qt_config->beginGroup("Paths");
UISettings::values.roms_path = ReadSetting("romsPath").toString();
UISettings::values.symbols_path = ReadSetting("symbolsPath").toString();
@ -448,6 +473,13 @@ void Config::SaveValues() {
WriteSetting("microProfileDialogVisible", UISettings::values.microprofile_visible, false);
qt_config->endGroup();
qt_config->beginGroup("GameList");
WriteSetting("iconSize", UISettings::values.game_list_icon_size, 2);
WriteSetting("row1", UISettings::values.game_list_row_1, 2);
WriteSetting("row2", UISettings::values.game_list_row_2, 0);
WriteSetting("hideNoIcon", UISettings::values.game_list_hide_no_icon, false);
qt_config->endGroup();
qt_config->beginGroup("Paths");
WriteSetting("romsPath", UISettings::values.roms_path);
WriteSetting("symbolsPath", UISettings::values.symbols_path);