mirror of
https://github.com/wheremyfoodat/Panda3DS.git
synced 2025-04-07 22:55:40 +12:00
Qt configs: Add connectCheckbox
function
This commit is contained in:
parent
87878d3cba
commit
0f92364534
1 changed files with 27 additions and 77 deletions
|
@ -30,6 +30,13 @@ ConfigWindow::ConfigWindow(ConfigCallback callback, const EmulatorConfig& emuCon
|
||||||
helpText->setText(helpTexts[row]);
|
helpText->setText(helpTexts[row]);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
auto connectCheckbox = [&](QCheckBox* checkbox, bool& setting) {
|
||||||
|
connect(checkbox, &QCheckBox::toggled, this, [&](bool checked) {
|
||||||
|
setting = checked;
|
||||||
|
updateConfig();
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
QVBoxLayout* mainLayout = new QVBoxLayout;
|
QVBoxLayout* mainLayout = new QVBoxLayout;
|
||||||
QHBoxLayout* hLayout = new QHBoxLayout;
|
QHBoxLayout* hLayout = new QHBoxLayout;
|
||||||
|
|
||||||
|
@ -62,18 +69,12 @@ ConfigWindow::ConfigWindow(ConfigCallback callback, const EmulatorConfig& emuCon
|
||||||
|
|
||||||
QCheckBox* showAppVersion = new QCheckBox(tr("Show version on window title"));
|
QCheckBox* showAppVersion = new QCheckBox(tr("Show version on window title"));
|
||||||
showAppVersion->setChecked(config.windowSettings.showAppVersion);
|
showAppVersion->setChecked(config.windowSettings.showAppVersion);
|
||||||
connect(showAppVersion, &QCheckBox::toggled, this, [&](bool checked) {
|
connectCheckbox(showAppVersion, config.windowSettings.showAppVersion);
|
||||||
config.windowSettings.showAppVersion = checked;
|
|
||||||
updateConfig();
|
|
||||||
});
|
|
||||||
guiLayout->addRow(showAppVersion);
|
guiLayout->addRow(showAppVersion);
|
||||||
|
|
||||||
QCheckBox* rememberPosition = new QCheckBox(tr("Remember window position"));
|
QCheckBox* rememberPosition = new QCheckBox(tr("Remember window position"));
|
||||||
rememberPosition->setChecked(config.windowSettings.rememberPosition);
|
rememberPosition->setChecked(config.windowSettings.rememberPosition);
|
||||||
connect(rememberPosition, &QCheckBox::toggled, this, [&](bool checked) {
|
connectCheckbox(rememberPosition, config.windowSettings.rememberPosition);
|
||||||
config.windowSettings.rememberPosition = checked;
|
|
||||||
updateConfig();
|
|
||||||
});
|
|
||||||
guiLayout->addRow(rememberPosition);
|
guiLayout->addRow(rememberPosition);
|
||||||
|
|
||||||
// General settings
|
// General settings
|
||||||
|
@ -84,7 +85,7 @@ ConfigWindow::ConfigWindow(ConfigCallback callback, const EmulatorConfig& emuCon
|
||||||
|
|
||||||
QLineEdit* defaultRomPath = new QLineEdit;
|
QLineEdit* defaultRomPath = new QLineEdit;
|
||||||
defaultRomPath->setText(QString::fromStdU16String(config.defaultRomPath.u16string()));
|
defaultRomPath->setText(QString::fromStdU16String(config.defaultRomPath.u16string()));
|
||||||
connect(defaultRomPath, &QLineEdit::textChanged, this, [&](const QString &text) {
|
connect(defaultRomPath, &QLineEdit::textChanged, this, [&](const QString& text) {
|
||||||
config.defaultRomPath = text.toStdString();
|
config.defaultRomPath = text.toStdString();
|
||||||
updateConfig();
|
updateConfig();
|
||||||
});
|
});
|
||||||
|
@ -107,26 +108,17 @@ ConfigWindow::ConfigWindow(ConfigCallback callback, const EmulatorConfig& emuCon
|
||||||
|
|
||||||
QCheckBox* discordRpcEnabled = new QCheckBox(tr("Enable Discord RPC"));
|
QCheckBox* discordRpcEnabled = new QCheckBox(tr("Enable Discord RPC"));
|
||||||
discordRpcEnabled->setChecked(config.discordRpcEnabled);
|
discordRpcEnabled->setChecked(config.discordRpcEnabled);
|
||||||
connect(discordRpcEnabled, &QCheckBox::toggled, this, [&](bool checked) {
|
connectCheckbox(discordRpcEnabled, config.discordRpcEnabled);
|
||||||
config.discordRpcEnabled = checked;
|
|
||||||
updateConfig();
|
|
||||||
});
|
|
||||||
genLayout->addRow(discordRpcEnabled);
|
genLayout->addRow(discordRpcEnabled);
|
||||||
|
|
||||||
QCheckBox* usePortableBuild = new QCheckBox(tr("Use portable build"));
|
QCheckBox* usePortableBuild = new QCheckBox(tr("Use portable build"));
|
||||||
usePortableBuild->setChecked(config.usePortableBuild);
|
usePortableBuild->setChecked(config.usePortableBuild);
|
||||||
connect(usePortableBuild, &QCheckBox::toggled, this, [&](bool checked) {
|
connectCheckbox(usePortableBuild, config.usePortableBuild);
|
||||||
config.usePortableBuild = checked;
|
|
||||||
updateConfig();
|
|
||||||
});
|
|
||||||
genLayout->addRow(usePortableBuild);
|
genLayout->addRow(usePortableBuild);
|
||||||
|
|
||||||
QCheckBox* printAppVersion = new QCheckBox(tr("Print version in console output"));
|
QCheckBox* printAppVersion = new QCheckBox(tr("Print version in console output"));
|
||||||
printAppVersion->setChecked(config.printAppVersion);
|
printAppVersion->setChecked(config.printAppVersion);
|
||||||
connect(printAppVersion, &QCheckBox::toggled, this, [&](bool checked) {
|
connectCheckbox(printAppVersion, config.printAppVersion);
|
||||||
config.printAppVersion = checked;
|
|
||||||
updateConfig();
|
|
||||||
});
|
|
||||||
genLayout->addRow(printAppVersion);
|
genLayout->addRow(printAppVersion);
|
||||||
|
|
||||||
// Graphics settings
|
// Graphics settings
|
||||||
|
@ -148,57 +140,36 @@ ConfigWindow::ConfigWindow(ConfigCallback callback, const EmulatorConfig& emuCon
|
||||||
|
|
||||||
QCheckBox* enableRenderdoc = new QCheckBox(tr("Enable Renderdoc"));
|
QCheckBox* enableRenderdoc = new QCheckBox(tr("Enable Renderdoc"));
|
||||||
enableRenderdoc->setChecked(config.enableRenderdoc);
|
enableRenderdoc->setChecked(config.enableRenderdoc);
|
||||||
connect(enableRenderdoc, &QCheckBox::toggled, this, [&](bool checked) {
|
connectCheckbox(enableRenderdoc, config.enableRenderdoc);
|
||||||
config.enableRenderdoc = checked;
|
|
||||||
updateConfig();
|
|
||||||
});
|
|
||||||
gpuLayout->addRow(enableRenderdoc);
|
gpuLayout->addRow(enableRenderdoc);
|
||||||
|
|
||||||
QCheckBox* shaderJitEnabled = new QCheckBox(tr("Enable shader JIT"));
|
QCheckBox* shaderJitEnabled = new QCheckBox(tr("Enable shader JIT"));
|
||||||
shaderJitEnabled->setChecked(config.shaderJitEnabled);
|
shaderJitEnabled->setChecked(config.shaderJitEnabled);
|
||||||
connect(shaderJitEnabled, &QCheckBox::toggled, this, [&](bool checked) {
|
connectCheckbox(shaderJitEnabled, config.shaderJitEnabled);
|
||||||
config.shaderJitEnabled = checked;
|
|
||||||
updateConfig();
|
|
||||||
});
|
|
||||||
gpuLayout->addRow(shaderJitEnabled);
|
gpuLayout->addRow(shaderJitEnabled);
|
||||||
|
|
||||||
QCheckBox* vsyncEnabled = new QCheckBox(tr("Enable VSync"));
|
QCheckBox* vsyncEnabled = new QCheckBox(tr("Enable VSync"));
|
||||||
vsyncEnabled->setChecked(config.vsyncEnabled);
|
vsyncEnabled->setChecked(config.vsyncEnabled);
|
||||||
connect(vsyncEnabled, &QCheckBox::toggled, this, [&](bool checked) {
|
connectCheckbox(vsyncEnabled, config.vsyncEnabled);
|
||||||
config.vsyncEnabled = checked;
|
|
||||||
updateConfig();
|
|
||||||
});
|
|
||||||
gpuLayout->addRow(vsyncEnabled);
|
gpuLayout->addRow(vsyncEnabled);
|
||||||
|
|
||||||
QCheckBox* useUbershaders = new QCheckBox(tr("Use ubershaders (No stutter, maybe slower)"));
|
QCheckBox* useUbershaders = new QCheckBox(tr("Use ubershaders (No stutter, maybe slower)"));
|
||||||
useUbershaders->setChecked(config.useUbershaders);
|
useUbershaders->setChecked(config.useUbershaders);
|
||||||
connect(useUbershaders, &QCheckBox::toggled, this, [&](bool checked) {
|
connectCheckbox(useUbershaders, config.useUbershaders);
|
||||||
config.useUbershaders = checked;
|
|
||||||
updateConfig();
|
|
||||||
});
|
|
||||||
gpuLayout->addRow(useUbershaders);
|
gpuLayout->addRow(useUbershaders);
|
||||||
|
|
||||||
QCheckBox* accurateShaderMul = new QCheckBox(tr("Accurate shader multiplication"));
|
QCheckBox* accurateShaderMul = new QCheckBox(tr("Accurate shader multiplication"));
|
||||||
accurateShaderMul->setChecked(config.accurateShaderMul);
|
accurateShaderMul->setChecked(config.accurateShaderMul);
|
||||||
connect(accurateShaderMul, &QCheckBox::toggled, this, [&](bool checked) {
|
connectCheckbox(accurateShaderMul, config.accurateShaderMul);
|
||||||
config.accurateShaderMul = checked;
|
|
||||||
updateConfig();
|
|
||||||
});
|
|
||||||
gpuLayout->addRow(accurateShaderMul);
|
gpuLayout->addRow(accurateShaderMul);
|
||||||
|
|
||||||
QCheckBox* accelerateShaders = new QCheckBox(tr("Accelerate shaders"));
|
QCheckBox* accelerateShaders = new QCheckBox(tr("Accelerate shaders"));
|
||||||
accelerateShaders->setChecked(config.accelerateShaders);
|
accelerateShaders->setChecked(config.accelerateShaders);
|
||||||
connect(accelerateShaders, &QCheckBox::toggled, this, [&](bool checked) {
|
connectCheckbox(accelerateShaders, config.accelerateShaders);
|
||||||
config.accelerateShaders = checked;
|
|
||||||
updateConfig();
|
|
||||||
});
|
|
||||||
gpuLayout->addRow(accelerateShaders);
|
gpuLayout->addRow(accelerateShaders);
|
||||||
|
|
||||||
QCheckBox* forceShadergenForLights = new QCheckBox(tr("Force shadergen when rendering lights"));
|
QCheckBox* forceShadergenForLights = new QCheckBox(tr("Force shadergen when rendering lights"));
|
||||||
connect(forceShadergenForLights, &QCheckBox::toggled, this, [&](bool checked) {
|
connectCheckbox(forceShadergenForLights, config.forceShadergenForLights);
|
||||||
config.forceShadergenForLights = checked;
|
|
||||||
updateConfig();
|
|
||||||
});
|
|
||||||
gpuLayout->addRow(forceShadergenForLights);
|
gpuLayout->addRow(forceShadergenForLights);
|
||||||
|
|
||||||
QSpinBox* lightShadergenThreshold = new QSpinBox;
|
QSpinBox* lightShadergenThreshold = new QSpinBox;
|
||||||
|
@ -229,34 +200,22 @@ ConfigWindow::ConfigWindow(ConfigCallback callback, const EmulatorConfig& emuCon
|
||||||
|
|
||||||
QCheckBox* audioEnabled = new QCheckBox(tr("Enable audio"));
|
QCheckBox* audioEnabled = new QCheckBox(tr("Enable audio"));
|
||||||
audioEnabled->setChecked(config.audioEnabled);
|
audioEnabled->setChecked(config.audioEnabled);
|
||||||
connect(audioEnabled, &QCheckBox::toggled, this, [&](bool checked) {
|
connectCheckbox(audioEnabled, config.audioEnabled);
|
||||||
config.audioEnabled = checked;
|
|
||||||
updateConfig();
|
|
||||||
});
|
|
||||||
spuLayout->addRow(audioEnabled);
|
spuLayout->addRow(audioEnabled);
|
||||||
|
|
||||||
QCheckBox* aacEnabled = new QCheckBox(tr("Enable AAC audio"));
|
QCheckBox* aacEnabled = new QCheckBox(tr("Enable AAC audio"));
|
||||||
aacEnabled->setChecked(config.aacEnabled);
|
aacEnabled->setChecked(config.aacEnabled);
|
||||||
connect(aacEnabled, &QCheckBox::toggled, this, [&](bool checked) {
|
connectCheckbox(aacEnabled, config.aacEnabled);
|
||||||
config.aacEnabled = checked;
|
|
||||||
updateConfig();
|
|
||||||
});
|
|
||||||
spuLayout->addRow(aacEnabled);
|
spuLayout->addRow(aacEnabled);
|
||||||
|
|
||||||
QCheckBox* printDSPFirmware = new QCheckBox(tr("Print DSP firmware"));
|
QCheckBox* printDSPFirmware = new QCheckBox(tr("Print DSP firmware"));
|
||||||
printDSPFirmware->setChecked(config.printDSPFirmware);
|
printDSPFirmware->setChecked(config.printDSPFirmware);
|
||||||
connect(printDSPFirmware, &QCheckBox::toggled, this, [&](bool checked) {
|
connectCheckbox(printDSPFirmware, config.printDSPFirmware);
|
||||||
config.printDSPFirmware = checked;
|
|
||||||
updateConfig();
|
|
||||||
});
|
|
||||||
spuLayout->addRow(printDSPFirmware);
|
spuLayout->addRow(printDSPFirmware);
|
||||||
|
|
||||||
QCheckBox* muteAudio = new QCheckBox(tr("Mute audio device"));
|
QCheckBox* muteAudio = new QCheckBox(tr("Mute audio device"));
|
||||||
muteAudio->setChecked(config.audioDeviceConfig.muteAudio);
|
muteAudio->setChecked(config.audioDeviceConfig.muteAudio);
|
||||||
connect(muteAudio, &QCheckBox::toggled, this, [&](bool checked) {
|
connectCheckbox(muteAudio, config.audioDeviceConfig.muteAudio);
|
||||||
config.audioDeviceConfig.muteAudio = checked;
|
|
||||||
updateConfig();
|
|
||||||
});
|
|
||||||
spuLayout->addRow(muteAudio);
|
spuLayout->addRow(muteAudio);
|
||||||
|
|
||||||
QSpinBox* volumeRaw = new QSpinBox;
|
QSpinBox* volumeRaw = new QSpinBox;
|
||||||
|
@ -285,10 +244,7 @@ ConfigWindow::ConfigWindow(ConfigCallback callback, const EmulatorConfig& emuCon
|
||||||
|
|
||||||
QCheckBox* chargerPlugged = new QCheckBox(tr("Charger plugged"));
|
QCheckBox* chargerPlugged = new QCheckBox(tr("Charger plugged"));
|
||||||
chargerPlugged->setChecked(config.chargerPlugged);
|
chargerPlugged->setChecked(config.chargerPlugged);
|
||||||
connect(chargerPlugged, &QCheckBox::toggled, this, [&](bool checked) {
|
connectCheckbox(chargerPlugged, config.chargerPlugged);
|
||||||
config.chargerPlugged = checked;
|
|
||||||
updateConfig();
|
|
||||||
});
|
|
||||||
batLayout->addRow(chargerPlugged);
|
batLayout->addRow(chargerPlugged);
|
||||||
|
|
||||||
// SD Card settings
|
// SD Card settings
|
||||||
|
@ -299,18 +255,12 @@ ConfigWindow::ConfigWindow(ConfigCallback callback, const EmulatorConfig& emuCon
|
||||||
|
|
||||||
QCheckBox* sdCardInserted = new QCheckBox(tr("Enable virtual SD card"));
|
QCheckBox* sdCardInserted = new QCheckBox(tr("Enable virtual SD card"));
|
||||||
sdCardInserted->setChecked(config.sdCardInserted);
|
sdCardInserted->setChecked(config.sdCardInserted);
|
||||||
connect(sdCardInserted, &QCheckBox::toggled, this, [&](bool checked) {
|
connectCheckbox(sdCardInserted, config.sdCardInserted);
|
||||||
config.sdCardInserted = checked;
|
|
||||||
updateConfig();
|
|
||||||
});
|
|
||||||
sdcLayout->addRow(sdCardInserted);
|
sdcLayout->addRow(sdCardInserted);
|
||||||
|
|
||||||
QCheckBox* sdWriteProtected = new QCheckBox(tr("Write protect virtual SD card"));
|
QCheckBox* sdWriteProtected = new QCheckBox(tr("Write protect virtual SD card"));
|
||||||
sdWriteProtected->setChecked(config.sdWriteProtected);
|
sdWriteProtected->setChecked(config.sdWriteProtected);
|
||||||
connect(sdWriteProtected, &QCheckBox::toggled, this, [&](bool checked) {
|
connectCheckbox(sdWriteProtected, config.sdWriteProtected);
|
||||||
config.sdWriteProtected = checked;
|
|
||||||
updateConfig();
|
|
||||||
});
|
|
||||||
sdcLayout->addRow(sdWriteProtected);
|
sdcLayout->addRow(sdWriteProtected);
|
||||||
|
|
||||||
// Add all our settings widgets to our widget list
|
// Add all our settings widgets to our widget list
|
||||||
|
|
Loading…
Add table
Reference in a new issue