Merge pull request #3911 from BreadFish64/fix-setting-change-freeze

citra-qt: optimize settings application
This commit is contained in:
Weiyi Wang 2018-07-03 11:08:42 +03:00 committed by GitHub
commit 9c1c899243
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 3 additions and 9 deletions

View file

@ -61,7 +61,6 @@ void ConfigureAudio::applyConfiguration() {
Settings::values.audio_device_id =
ui->audio_device_combo_box->itemText(ui->audio_device_combo_box->currentIndex())
.toStdString();
Settings::Apply();
}
void ConfigureAudio::updateAudioDevices(int sink_index) {

View file

@ -285,7 +285,6 @@ void ConfigureCamera::applyConfiguration() {
Settings::values.camera_name = camera_name;
Settings::values.camera_config = camera_config;
Settings::values.camera_flip = camera_flip;
Settings::Apply();
}
ConfigureCamera::CameraPosition ConfigureCamera::getCameraSelection() {

View file

@ -44,7 +44,6 @@ void ConfigureDebug::applyConfiguration() {
Log::Filter filter;
filter.ParseFilterString(Settings::values.log_filter);
Log::SetGlobalFilter(filter);
Settings::Apply();
}
void ConfigureDebug::retranslateUi() {

View file

@ -68,7 +68,6 @@ void ConfigureGeneral::applyConfiguration() {
Settings::values.region_value = ui->region_combobox->currentIndex() - 1;
Settings::values.use_cpu_jit = ui->toggle_cpu_jit->isChecked();
Settings::Apply();
}
void ConfigureGeneral::onLanguageChanged(int index) {

View file

@ -62,7 +62,6 @@ void ConfigureGraphics::applyConfiguration() {
Settings::values.layout_option =
static_cast<Settings::LayoutOption>(ui->layout_combobox->currentIndex());
Settings::values.swap_screen = ui->swap_screen->isChecked();
Settings::Apply();
}
void ConfigureGraphics::retranslateUi() {

View file

@ -186,8 +186,6 @@ void ConfigureInput::applyConfiguration() {
[](const Common::ParamPackage& param) { return param.Serialize(); });
std::transform(analogs_param.begin(), analogs_param.end(), Settings::values.analogs.begin(),
[](const Common::ParamPackage& param) { return param.Serialize(); });
Settings::Apply();
}
void ConfigureInput::loadConfiguration() {

View file

@ -61,7 +61,6 @@ void ConfigureWeb::applyConfiguration() {
tr("Username and token were not verified. The changes to your "
"username and/or token have not been saved."));
}
Settings::Apply();
}
void ConfigureWeb::RefreshTelemetryID() {

View file

@ -1153,10 +1153,12 @@ void GMainWindow::OnConfigure() {
ConfigureDialog configureDialog(this);
connect(&configureDialog, &ConfigureDialog::languageChanged, this,
&GMainWindow::OnLanguageChanged);
auto old_theme = UISettings::values.theme;
auto result = configureDialog.exec();
if (result == QDialog::Accepted) {
configureDialog.applyConfiguration();
UpdateUITheme();
if (UISettings::values.theme != old_theme)
UpdateUITheme();
emit UpdateThemedIcons();
SyncMenuUISettings();
config->Save();