Customizable saves path
This commit is contained in:
@@ -2,10 +2,16 @@
|
||||
#include <QGroupBox>
|
||||
#include <QVBoxLayout>
|
||||
#include <QButtonGroup>
|
||||
#include <QFileDialog>
|
||||
#include <fmt/core.h>
|
||||
|
||||
std::string savePath = "";
|
||||
|
||||
SettingsWindow::SettingsWindow() : QWidget(nullptr) {
|
||||
settings = JSONOpenOrCreate("resources/settings.json");
|
||||
|
||||
savePath = JSONGetField<std::string>(settings, "general", "savePath");
|
||||
|
||||
if (objectName().isEmpty())
|
||||
setObjectName("Settings");
|
||||
|
||||
@@ -15,9 +21,31 @@ SettingsWindow::SettingsWindow() : QWidget(nullptr) {
|
||||
cpuSettings = new CPUSettings(settings);
|
||||
audioSettings = new AudioSettings(settings);
|
||||
inputSettings = new InputSettings(settings);
|
||||
generalSettings = new QWidget;
|
||||
keyMap = inputSettings->GetMappedKeys();
|
||||
|
||||
folderLabelPrefix = new QLabel("Save files' path: ");
|
||||
folderLabel = new QLabel(fmt::format("{}", savePath).c_str());
|
||||
|
||||
connect(folderBtn, &QPushButton::pressed, this, [&]() {
|
||||
savePath = QFileDialog::getExistingDirectory(this, tr("Select directory")).toStdString();
|
||||
folderLabel->setText(fmt::format("{}", savePath).c_str());
|
||||
JSONSetField(settings, "general", "savePath", savePath);
|
||||
apply->setEnabled(true);
|
||||
});
|
||||
|
||||
auto generalLayout = new QHBoxLayout;
|
||||
auto generalLayoutV = new QVBoxLayout;
|
||||
generalLayout->addWidget(folderLabelPrefix);
|
||||
generalLayout->addWidget(folderLabel);
|
||||
generalLayout->addStretch();
|
||||
generalLayout->addWidget(folderBtn);
|
||||
generalLayoutV->addLayout(generalLayout);
|
||||
generalLayoutV->addStretch();
|
||||
generalSettings->setLayout(generalLayoutV);
|
||||
|
||||
auto* tabs = new QTabWidget;
|
||||
tabs->addTab(generalSettings, tr("General"));
|
||||
tabs->addTab(cpuSettings, tr("CPU"));
|
||||
tabs->addTab(audioSettings, tr("Audio"));
|
||||
tabs->addTab(inputSettings, tr("Input"));
|
||||
|
||||
Reference in New Issue
Block a user