Roms List improvements
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
#include <QFileDialog>
|
||||
#include <QCoreApplication>
|
||||
#include <log.hpp>
|
||||
#include <QPushButton>
|
||||
|
||||
GeneralSettings::GeneralSettings() : settings(QSettings::UserScope) {
|
||||
selectedRomsFolderLabel = new QLabel(Options::GetRomsPath().c_str());
|
||||
@@ -19,6 +20,9 @@ GeneralSettings::GeneralSettings() : settings(QSettings::UserScope) {
|
||||
auto dir = QFileDialog::getExistingDirectory(this, tr("Open Directory"), QCoreApplication::applicationDirPath(),
|
||||
QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks);
|
||||
|
||||
if (dir.isEmpty())
|
||||
return;
|
||||
|
||||
selectedSavesFolderLabel->setText(dir);
|
||||
Options::SetSavesPath(dir.toStdString());
|
||||
settings.setValue("saves_path", dir);
|
||||
@@ -29,6 +33,9 @@ GeneralSettings::GeneralSettings() : settings(QSettings::UserScope) {
|
||||
auto dir = QFileDialog::getExistingDirectory(this, tr("Open Directory"), QCoreApplication::applicationDirPath(),
|
||||
QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks);
|
||||
|
||||
if (dir.isEmpty())
|
||||
return;
|
||||
|
||||
selectedRomsFolderLabel->setText(dir);
|
||||
Options::SetRomsPath(dir.toStdString());
|
||||
settings.setValue("roms_path", dir);
|
||||
@@ -38,12 +45,32 @@ GeneralSettings::GeneralSettings() : settings(QSettings::UserScope) {
|
||||
|
||||
gl = new QGridLayout();
|
||||
|
||||
QPushButton *clearRoms = new QPushButton("Clear");
|
||||
connect(clearRoms, &QPushButton::clicked, this, [&] {
|
||||
selectedRomsFolderLabel->clear();
|
||||
Options::SetRomsPath("");
|
||||
settings.setValue("roms_path", "");
|
||||
settings.sync();
|
||||
emit romFolderCleared();
|
||||
});
|
||||
|
||||
QPushButton *clearSaves = new QPushButton("Clear");
|
||||
connect(clearSaves, &QPushButton::clicked, this, [&] {
|
||||
selectedSavesFolderLabel->clear();
|
||||
Options::SetSavesPath("");
|
||||
settings.setValue("saves_path", "");
|
||||
settings.sync();
|
||||
});
|
||||
|
||||
gl->addWidget(new QLabel("ROMs path:"), 0, 0);
|
||||
gl->addWidget(selectedRomsFolderLabel, 0, 1);
|
||||
gl->addWidget(romsFolderSelectButton, 0, 2);
|
||||
gl->addWidget(clearRoms, 0, 3);
|
||||
|
||||
gl->addWidget(new QLabel("Saves path:"), 1, 0);
|
||||
gl->addWidget(selectedSavesFolderLabel, 1, 1);
|
||||
gl->addWidget(savesFolderSelectButton, 1, 2);
|
||||
gl->addWidget(clearSaves, 1, 3);
|
||||
|
||||
setLayout(gl);
|
||||
}
|
||||
|
||||
@@ -19,4 +19,5 @@ class GeneralSettings final : public QWidget {
|
||||
|
||||
signals:
|
||||
void romFolderSelected();
|
||||
void romFolderCleared();
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user