From ae440a92ac79c3bfa724a9ae7126f35b81d4ab32 Mon Sep 17 00:00:00 2001 From: Megamouse Date: Sun, 6 Aug 2017 09:56:50 +0200 Subject: [PATCH] use new range for combobox, remove obsolete code --- rpcs3/rpcs3qt/emu_settings.cpp | 18 +++++++++++++++--- rpcs3/rpcs3qt/emu_settings.h | 2 +- rpcs3/rpcs3qt/settings_dialog.cpp | 22 ++-------------------- 3 files changed, 18 insertions(+), 24 deletions(-) diff --git a/rpcs3/rpcs3qt/emu_settings.cpp b/rpcs3/rpcs3qt/emu_settings.cpp index 33458b9eaf..9e15d038db 100644 --- a/rpcs3/rpcs3qt/emu_settings.cpp +++ b/rpcs3/rpcs3qt/emu_settings.cpp @@ -207,11 +207,23 @@ void emu_settings::SaveSettings() config.write(out.c_str(), out.size()); } -void emu_settings::EnhanceComboBox(QComboBox* combobox, SettingsType type) +void emu_settings::EnhanceComboBox(QComboBox* combobox, SettingsType type, bool is_ranged) { - for (QString setting : GetSettingOptions(type)) + if (is_ranged) { - combobox->addItem(tr(setting.toStdString().c_str()), QVariant(setting)); + QStringList range = GetSettingOptions(type); + + for (int i = range.first().toInt(); i <= range.last().toInt(); i++) + { + combobox->addItem(QString::number(i), QVariant(QString::number(i))); + } + } + else + { + for (QString setting : GetSettingOptions(type)) + { + combobox->addItem(tr(setting.toStdString().c_str()), QVariant(setting)); + } } QString selected = qstr(GetSetting(type)); diff --git a/rpcs3/rpcs3qt/emu_settings.h b/rpcs3/rpcs3qt/emu_settings.h index 98fa7f7c93..ab88faced0 100644 --- a/rpcs3/rpcs3qt/emu_settings.h +++ b/rpcs3/rpcs3qt/emu_settings.h @@ -112,7 +112,7 @@ public: ~emu_settings(); /** Connects a combo box with the target settings type*/ - void EnhanceComboBox(QComboBox* combobox, SettingsType type); + void EnhanceComboBox(QComboBox* combobox, SettingsType type, bool is_ranged = false); /** Connects a check box with the target settings type*/ void EnhanceCheckBox(QCheckBox* checkbox, SettingsType type); diff --git a/rpcs3/rpcs3qt/settings_dialog.cpp b/rpcs3/rpcs3qt/settings_dialog.cpp index c52a075785..374627eaf8 100644 --- a/rpcs3/rpcs3qt/settings_dialog.cpp +++ b/rpcs3/rpcs3qt/settings_dialog.cpp @@ -123,27 +123,9 @@ settings_dialog::settings_dialog(std::shared_ptr xSettings, const // Comboboxes - // TODO implement enhancement for combobox / spinbox with proper range - //xemu_settings->EnhanceComboBox(ui->preferredSPUThreads, emu_settings::PreferredSPUThreads); - const QString Auto = tr("Auto"); + xemu_settings->EnhanceComboBox(ui->preferredSPUThreads, emu_settings::PreferredSPUThreads, true); ui->preferredSPUThreads->setToolTip(json_cpu_cbo["preferredSPUThreads"].toString()); - for (int i = 0; i <= 6; i++) - { - ui->preferredSPUThreads->addItem( i == 0 ? Auto : QString::number(i), QVariant(i) ); - } - const QString valueOf_PreferredSPUThreads = qstr(xemu_settings->GetSetting(emu_settings::PreferredSPUThreads)); - int index = ui->preferredSPUThreads->findData(valueOf_PreferredSPUThreads == "0" ? Auto : valueOf_PreferredSPUThreads); - if (index == -1) - { - LOG_WARNING(GENERAL, "Current setting not found while creating preferredSPUThreads"); - } - else - { - ui->preferredSPUThreads->setCurrentIndex(index); - } - connect(ui->preferredSPUThreads, static_cast(&QComboBox::currentIndexChanged), [=](int index) { - xemu_settings->SetSetting(emu_settings::PreferredSPUThreads, std::to_string(ui->preferredSPUThreads->itemData(index).toInt())); - }); + ui->preferredSPUThreads->setItemText(ui->preferredSPUThreads->findData("0"), tr("Auto")); // PPU tool tips ui->ppu_precise->setToolTip(json_cpu_ppu["precise"].toString());