chore: improve settings handling and auto-start functionality

This commit is contained in:
Chenx Dust
2025-01-09 12:22:02 +08:00
parent ff4bfb11b6
commit 174841ace8
3 changed files with 13 additions and 31 deletions

View File

@@ -38,6 +38,9 @@ SettingWindow::SettingWindow(QWidget *parent, QSettings *inputSettings) :
auto applySettings = [&]()
{
if (settings->value("Common/AutoStart").toBool() != (ui->autoStartComboBox->currentText() == ""))
Utils::setAutoStart(ui->autoStartComboBox->currentText() == "");
settings->setValue("Common/Username", ui->usernameLineEdit->text());
settings->setValue("Common/Password", QString(ui->passwordLineEdit->text().toUtf8().toBase64()));
settings->setValue("Common/AutoStart", ui->autoStartComboBox->currentText() == "");
@@ -66,8 +69,6 @@ SettingWindow::SettingWindow(QWidget *parent, QSettings *inputSettings) :
settings->setValue("ZJUConnect/OutsideAccess", ui->outsideAccessCheckBox->isChecked());
settings->sync();
Utils::setAutoStart(settings->value("Common/AutoStart").toBool());
};
connect(ui->buttonBox, &QDialogButtonBox::accepted, applySettings);
@@ -106,32 +107,12 @@ void SettingWindow::loadSettings()
QByteArray::fromBase64(settings->value("Common/Password", "").toString().toUtf8())
);
if (settings->value("Common/AutoStart", false).toBool())
{
ui->autoStartComboBox->setCurrentText("");
}
else
{
ui->autoStartComboBox->setCurrentText("");
}
if (settings->value("Common/ConnectAfterStart", false).toBool())
{
ui->connectAfterStartComboBox->setCurrentText("");
}
else
{
ui->connectAfterStartComboBox->setCurrentText("");
}
if (settings->value("Common/checkUpdateAfterStart", true).toBool())
{
ui->checkUpdateAfterStartComboBox->setCurrentText("");
}
else
{
ui->checkUpdateAfterStartComboBox->setCurrentText("");
}
ui->autoStartComboBox->setCurrentText(
settings->value("Common/AutoStart", false).toBool() ? "" : "");
ui->connectAfterStartComboBox->setCurrentText(
settings->value("Common/ConnectAfterStart", false).toBool() ? "" : "");
ui->checkUpdateAfterStartComboBox->setCurrentText(
settings->value("Common/checkUpdateAfterStart", true).toBool() ? "" : "");
ui->serverAddressLineEdit->setText(settings->value("ZJUConnect/ServerAddress", "vpn.hitsz.edu.cn").toString());
ui->serverPortSpinBox->setValue(settings->value("ZJUConnect/ServerPort", 443).toInt());