mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-06 06:51:26 +12:00
Qt: refactor settings_dialog and add EnhanceSlider
This commit is contained in:
parent
da5385686c
commit
c9d8cd3613
2 changed files with 40 additions and 40 deletions
|
@ -358,7 +358,9 @@ settings_dialog::settings_dialog(std::shared_ptr<gui_settings> guiSettings, std:
|
||||||
{
|
{
|
||||||
// List found unselected modules
|
// List found unselected modules
|
||||||
if (prxf.is_directory || (prxf.name.substr(std::max<size_t>(size_t(3), prxf.name.length()) - 4)) != "sprx")
|
if (prxf.is_directory || (prxf.name.substr(std::max<size_t>(size_t(3), prxf.name.length()) - 4)) != "sprx")
|
||||||
|
{
|
||||||
continue;
|
continue;
|
||||||
|
}
|
||||||
if (verify_npdrm_self_headers(fs::file(lle_dir + prxf.name)) && !set.count(prxf.name))
|
if (verify_npdrm_self_headers(fs::file(lle_dir + prxf.name)) && !set.count(prxf.name))
|
||||||
{
|
{
|
||||||
lle_module_list_unselected.push_back(prxf.name);
|
lle_module_list_unselected.push_back(prxf.name);
|
||||||
|
@ -535,7 +537,10 @@ settings_dialog::settings_dialog(std::shared_ptr<gui_settings> guiSettings, std:
|
||||||
int resolutionScaleDef = stoi(xemu_settings->GetSettingDefault(emu_settings::ResolutionScale));
|
int resolutionScaleDef = stoi(xemu_settings->GetSettingDefault(emu_settings::ResolutionScale));
|
||||||
auto ScaledResolution = [resolutionScaleDef](int percentage)
|
auto ScaledResolution = [resolutionScaleDef](int percentage)
|
||||||
{
|
{
|
||||||
if (percentage == resolutionScaleDef) return QString(tr("100% (Default)"));
|
if (percentage == resolutionScaleDef)
|
||||||
|
{
|
||||||
|
return QString(tr("100% (Default)"));
|
||||||
|
}
|
||||||
return QString("%1% (%2x%3)").arg(percentage).arg(1280 * percentage / 100).arg(720 * percentage / 100);
|
return QString("%1% (%2x%3)").arg(percentage).arg(1280 * percentage / 100).arg(720 * percentage / 100);
|
||||||
};
|
};
|
||||||
ui->resolutionScale->setPageStep(50);
|
ui->resolutionScale->setPageStep(50);
|
||||||
|
@ -560,7 +565,10 @@ settings_dialog::settings_dialog(std::shared_ptr<gui_settings> guiSettings, std:
|
||||||
int minimumScalableDimensionDef = stoi(xemu_settings->GetSettingDefault(emu_settings::MinimumScalableDimension));
|
int minimumScalableDimensionDef = stoi(xemu_settings->GetSettingDefault(emu_settings::MinimumScalableDimension));
|
||||||
auto MinScalableDimension = [minimumScalableDimensionDef](int dim)
|
auto MinScalableDimension = [minimumScalableDimensionDef](int dim)
|
||||||
{
|
{
|
||||||
if (dim == minimumScalableDimensionDef) return tr("%1x%1 (Default)").arg(dim);
|
if (dim == minimumScalableDimensionDef)
|
||||||
|
{
|
||||||
|
return tr("%1x%1 (Default)").arg(dim);
|
||||||
|
}
|
||||||
return QString("%1x%1").arg(dim);
|
return QString("%1x%1").arg(dim);
|
||||||
};
|
};
|
||||||
ui->minimumScalableDimension->setPageStep(64);
|
ui->minimumScalableDimension->setPageStep(64);
|
||||||
|
@ -604,7 +612,10 @@ settings_dialog::settings_dialog(std::shared_ptr<gui_settings> guiSettings, std:
|
||||||
|
|
||||||
auto setRenderer = [=](QString text)
|
auto setRenderer = [=](QString text)
|
||||||
{
|
{
|
||||||
if (text.isEmpty()) return;
|
if (text.isEmpty())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
auto switchTo = [=](emu_settings::Render_Info renderer)
|
auto switchTo = [=](emu_settings::Render_Info renderer)
|
||||||
{
|
{
|
||||||
|
@ -659,7 +670,10 @@ settings_dialog::settings_dialog(std::shared_ptr<gui_settings> guiSettings, std:
|
||||||
|
|
||||||
auto setAdapter = [=](QString text)
|
auto setAdapter = [=](QString text)
|
||||||
{
|
{
|
||||||
if (text.isEmpty()) return;
|
if (text.isEmpty())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// don't set adapter if signal was created by switching render
|
// don't set adapter if signal was created by switching render
|
||||||
QString newRender = ui->renderBox->currentText();
|
QString newRender = ui->renderBox->currentText();
|
||||||
|
@ -724,13 +738,8 @@ settings_dialog::settings_dialog(std::shared_ptr<gui_settings> guiSettings, std:
|
||||||
|
|
||||||
// Sliders
|
// Sliders
|
||||||
|
|
||||||
xemu_settings->EnhanceSlider(ui->masterVolume, emu_settings::MasterVolume);
|
EnhanceSlider(emu_settings::MasterVolume, ui->masterVolume, ui->masterVolumeLabel, tr("Master: %0 %"));
|
||||||
SubscribeTooltip(ui->masterVolume, json_audio["masterVolume"].toString());
|
SubscribeTooltip(ui->masterVolume, json_audio["masterVolume"].toString());
|
||||||
ui->masterVolumeLabel->setText(tr("Master: %0%").arg(ui->masterVolume->value()));
|
|
||||||
connect(ui->masterVolume, &QSlider::valueChanged, [this](int value)
|
|
||||||
{
|
|
||||||
ui->masterVolumeLabel->setText(tr("Master: %0%").arg(value));
|
|
||||||
});
|
|
||||||
|
|
||||||
// _____ __ ____ _______ _
|
// _____ __ ____ _______ _
|
||||||
// |_ _| / / / __ \ |__ __| | |
|
// |_ _| / / / __ \ |__ __| | |
|
||||||
|
@ -914,45 +923,20 @@ settings_dialog::settings_dialog(std::shared_ptr<gui_settings> guiSettings, std:
|
||||||
|
|
||||||
// Sliders
|
// Sliders
|
||||||
|
|
||||||
xemu_settings->EnhanceSlider(ui->perfOverlayUpdateInterval, emu_settings::PerfOverlayUpdateInterval);
|
EnhanceSlider(emu_settings::PerfOverlayUpdateInterval, ui->perfOverlayUpdateInterval, ui->label_update_interval, tr("Update Interval: %0 ms"));
|
||||||
SubscribeTooltip(ui->perfOverlayUpdateInterval, json_emu_overlay["perfOverlayUpdateInterval"].toString());
|
SubscribeTooltip(ui->perfOverlayUpdateInterval, json_emu_overlay["perfOverlayUpdateInterval"].toString());
|
||||||
ui->label_update_interval->setText(tr("Update Interval: %0 ms").arg(ui->perfOverlayUpdateInterval->value()));
|
|
||||||
connect(ui->perfOverlayUpdateInterval, &QSlider::valueChanged, [this](int value)
|
|
||||||
{
|
|
||||||
ui->label_update_interval->setText(tr("Update Interval: %0 ms").arg(value));
|
|
||||||
});
|
|
||||||
|
|
||||||
xemu_settings->EnhanceSlider(ui->perfOverlayFontSize, emu_settings::PerfOverlayFontSize);
|
EnhanceSlider(emu_settings::PerfOverlayFontSize, ui->perfOverlayFontSize, ui->label_font_size, tr("Font Size: %0 px"));
|
||||||
SubscribeTooltip(ui->perfOverlayFontSize, json_emu_overlay["perfOverlayFontSize"].toString());
|
SubscribeTooltip(ui->perfOverlayFontSize, json_emu_overlay["perfOverlayFontSize"].toString());
|
||||||
ui->label_font_size->setText(tr("Font Size: %0 px").arg(ui->perfOverlayFontSize->value()));
|
|
||||||
connect(ui->perfOverlayFontSize, &QSlider::valueChanged, [this](int value)
|
|
||||||
{
|
|
||||||
ui->label_font_size->setText(tr("Font Size: %0 px").arg(value));
|
|
||||||
});
|
|
||||||
|
|
||||||
xemu_settings->EnhanceSlider(ui->perfOverlayOpacity, emu_settings::PerfOverlayOpacity);
|
EnhanceSlider(emu_settings::PerfOverlayOpacity, ui->perfOverlayOpacity, ui->label_opacity, tr("Opacity: %0 %"));
|
||||||
SubscribeTooltip(ui->perfOverlayOpacity, json_emu_overlay["perfOverlayOpacity"].toString());
|
SubscribeTooltip(ui->perfOverlayOpacity, json_emu_overlay["perfOverlayOpacity"].toString());
|
||||||
ui->label_opacity->setText(tr("Opacity: %0 %").arg(ui->perfOverlayOpacity->value()));
|
|
||||||
connect(ui->perfOverlayOpacity, &QSlider::valueChanged, [this](int value)
|
|
||||||
{
|
|
||||||
ui->label_opacity->setText(tr("Opacity: %0 %").arg(value));
|
|
||||||
});
|
|
||||||
|
|
||||||
xemu_settings->EnhanceSlider(ui->shaderLoadBgDarkening, emu_settings::ShaderLoadBgDarkening);
|
EnhanceSlider(emu_settings::ShaderLoadBgDarkening, ui->shaderLoadBgDarkening, ui->label_shaderLoadBgDarkening, tr("Background darkening: %0 %"));
|
||||||
SubscribeTooltip(ui->shaderLoadBgDarkening, json_emu_shaders["shaderLoadBgDarkening"].toString());
|
SubscribeTooltip(ui->shaderLoadBgDarkening, json_emu_shaders["shaderLoadBgDarkening"].toString());
|
||||||
ui->label_shaderLoadBgDarkening->setText(tr("Background darkening: %0 %").arg(ui->shaderLoadBgDarkening->value()));
|
|
||||||
connect(ui->shaderLoadBgDarkening, &QSlider::valueChanged, [this](int value)
|
|
||||||
{
|
|
||||||
ui->label_shaderLoadBgDarkening->setText(tr("Background darkening: %0 %").arg(value));
|
|
||||||
});
|
|
||||||
|
|
||||||
xemu_settings->EnhanceSlider(ui->shaderLoadBgBlur, emu_settings::ShaderLoadBgBlur);
|
EnhanceSlider(emu_settings::ShaderLoadBgBlur, ui->shaderLoadBgBlur, ui->label_shaderLoadBgBlur, tr("Background blur: %0 %"));
|
||||||
SubscribeTooltip(ui->shaderLoadBgBlur, json_emu_shaders["shaderLoadBgBlur"].toString());
|
SubscribeTooltip(ui->shaderLoadBgBlur, json_emu_shaders["shaderLoadBgBlur"].toString());
|
||||||
ui->label_shaderLoadBgBlur->setText(tr("Background blur: %0 %").arg(ui->shaderLoadBgBlur->value()));
|
|
||||||
connect(ui->shaderLoadBgBlur, &QSlider::valueChanged, [this](int value)
|
|
||||||
{
|
|
||||||
ui->label_shaderLoadBgBlur->setText(tr("Background blur: %0 %").arg(value));
|
|
||||||
});
|
|
||||||
|
|
||||||
// SpinBoxes
|
// SpinBoxes
|
||||||
|
|
||||||
|
@ -1250,6 +1234,20 @@ settings_dialog::~settings_dialog()
|
||||||
delete ui;
|
delete ui;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void settings_dialog::EnhanceSlider(emu_settings::SettingsType settings_type, QSlider* slider, QLabel* label, const QString& label_text)
|
||||||
|
{
|
||||||
|
xemu_settings->EnhanceSlider(slider, settings_type);
|
||||||
|
|
||||||
|
if (slider && label)
|
||||||
|
{
|
||||||
|
label->setText(label_text.arg(slider->value()));
|
||||||
|
connect(slider, &QSlider::valueChanged, [label, label_text](int value)
|
||||||
|
{
|
||||||
|
label->setText(label_text.arg(value));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void settings_dialog::AddConfigs()
|
void settings_dialog::AddConfigs()
|
||||||
{
|
{
|
||||||
ui->combo_configs->clear();
|
ui->combo_configs->clear();
|
||||||
|
|
|
@ -34,6 +34,8 @@ private Q_SLOTS:
|
||||||
void OnApplyConfig();
|
void OnApplyConfig();
|
||||||
void OnApplyStylesheet();
|
void OnApplyStylesheet();
|
||||||
private:
|
private:
|
||||||
|
void EnhanceSlider(emu_settings::SettingsType settings_type, QSlider* slider, QLabel* label, const QString& label_text);
|
||||||
|
|
||||||
//emulator tab
|
//emulator tab
|
||||||
void AddConfigs();
|
void AddConfigs();
|
||||||
void AddStylesheets();
|
void AddStylesheets();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue