spark-store/gui/page/spkpagesettings.cpp

74 lines
2.2 KiB
C++

#include "spkutils.h"
#include "page/spkpagesettings.h"
namespace SpkUi
{
SpkPageSettings::SpkPageSettings(QWidget *parent) :
SpkPageBase(parent)
{
mMainArea = new QScrollArea();
mMainLay = new QVBoxLayout(this);
mSettingsWidget = new QWidget(this);
mSettingsUi = new Ui::SpkUiSettings;
mSettingsUi->setupUi(mSettingsWidget);
mMainLay->addWidget(mMainArea);
mMainArea->setWidget(mSettingsWidget);
mMainArea->setWidgetResizable(true);
SetupUi();
}
SpkPageSettings::~SpkPageSettings()
{
delete mSettingsWidget;
}
void SpkPageSettings::SetupUi()
{
auto ui = mSettingsUi;
ui->lblSettingsTitle->setObjectName("styConfTitle");
ui->lblCleanup->setObjectName("styConfTitle");
ui->lblAdvanced->setObjectName("styConfTitle");
connect(ui->btnSave, &QPushButton::clicked,
this, &SpkPageSettings::SaveConfiguration);
}
void SpkPageSettings::ReadConfiguration()
{
auto ui = mSettingsUi;
ui->spnConcurrentResDownloads->setValue(CFG->ReadField("resource/concurrent", 5).toInt());
ui->edtApiUrl->setText(CFG->ReadField("url/api", "").toString());
ui->edtResourceUrl->setText(CFG->ReadField("url/res", "").toString());
ui->edtResourceCachePath->setText(CFG->ReadField("dirs/cache", "").toString());
ui->edtDownloadPath->setText(CFG->ReadField("dirs/download", "").toString());
ui->edtDownloadServers->setPlainText(CFG->ReadField("download/servers", "").toString());
ui->edtQssPath->setText(CFG->ReadField("internal/qss_path", "").toString());
}
void SpkPageSettings::SaveConfiguration()
{
auto ui = mSettingsUi;
auto settings = CFG;
CFG->SetSettings("resource/concurrent", ui->spnConcurrentResDownloads->value());
assert(CFG->SetField("url/api", ui->edtApiUrl->text()));
assert(CFG->SetField("url/res", ui->edtResourceUrl->text()));
CFG->SetSettings("dirs/cache", ui->edtResourceCachePath->text());
assert(CFG->SetField("dirs/download", ui->edtDownloadPath->text()));
assert(CFG->SetField("download/servers", ui->edtDownloadServers->toPlainText()));
CFG->SetSettings("internal/qss_path", ui->edtQssPath->text());
}
void SpkPageSettings::Activated()
{
ReadConfiguration();
}
}