UI: Options: Improve "Reset to default"

This commit is contained in:
Nodir Temirkhodjaev 2024-09-26 10:53:48 +05:00
parent 7346376990
commit fbc1fc142a
10 changed files with 64 additions and 1 deletions

View File

@ -103,3 +103,17 @@ void AddressGroup::fromVariant(const QVariant &v)
m_includeText = map["includeText"].toString();
m_excludeText = map["excludeText"].toString();
}
void AddressGroup::resetToDefault()
{
setEdited(true);
m_includeAll = true;
m_excludeAll = false;
m_includeZones = 0;
m_excludeZones = 0;
m_includeText.clear();
m_excludeText.clear();
}

View File

@ -41,6 +41,8 @@ public:
QVariant toVariant() const;
void fromVariant(const QVariant &v);
void resetToDefault();
private:
bool m_edited : 1 = false;

View File

@ -49,6 +49,17 @@ void AddressesPage::setAddressGroupIndex(int v)
}
}
void AddressesPage::onResetToDefault()
{
for (auto addressGroup : addressGroups()) {
addressGroup->resetToDefault();
}
conf()->setupDefaultAddressGroups();
updateGroup();
}
void AddressesPage::onSaveWindowState(IniUser *ini)
{
ini->setOptWindowAddrSplit(m_splitter->saveState());

View File

@ -23,6 +23,9 @@ public:
signals:
void addressGroupChanged();
public slots:
void onResetToDefault() override;
protected slots:
void onSaveWindowState(IniUser *ini) override;
void onRestoreWindowState(IniUser *ini) override;

View File

@ -40,7 +40,9 @@ void IfacePage::onResetToDefault()
{
m_cbExcludeCapture->setChecked(false);
m_cbUseSystemLocale->setChecked(true);
m_comboLanguage->setCurrentIndex(0);
m_comboTheme->setCurrentIndex(0);
m_cbHotKeysEnabled->setChecked(false);
m_cbHotKeysGlobal->setChecked(true);

View File

@ -63,10 +63,19 @@ void OptionsPage::onResetToDefault()
{
m_cbFilterEnabled->setChecked(true);
m_comboBlockTraffic->setCurrentIndex(0);
m_comboFilterMode->setCurrentIndex(0);
m_cbBootFilter->setChecked(false);
m_cbNoServiceControl->setChecked(false);
m_cbCheckPasswordOnUninstall->setChecked(false);
m_cbPassword->setChecked(false);
m_cbLogBlocked->setChecked(true);
m_cbPurgeOnMounted->setChecked(false);
m_cbFilterLocals->setChecked(false);
m_cbFilterLocalNet->setChecked(false);
m_cbLogDebug->setChecked(false);
m_cbLogConsole->setChecked(false);
}

View File

@ -31,6 +31,22 @@ SchedulePage::SchedulePage(OptionsController *ctrl, QWidget *parent) :
setupUi();
}
void SchedulePage::onResetToDefault()
{
auto model = taskListModel();
const int n = model->rowCount();
for (int i = 0; i < n; ++i) {
const auto index = model->index(i, 0);
model->setData(index, false, TaskListModel::RoleEnabled);
model->setData(index, false, TaskListModel::RoleRunOnStartup);
model->setData(index, TaskDefaultIntervalHours, TaskListModel::RoleIntervalHours);
}
model->refresh();
}
void SchedulePage::onAboutToSave()
{
if (conf()->taskEdited()) {

View File

@ -19,6 +19,9 @@ public:
TaskListModel *taskListModel() const { return m_taskListModel; }
public slots:
void onResetToDefault() override;
protected slots:
void onAboutToSave() override;
void onEditResetted() override;

View File

@ -44,6 +44,7 @@ private:
QGroupBox *m_gbTraffic = nullptr;
QGroupBox *m_gbBlockedConn = nullptr;
QGroupBox *m_gbAllowedConn = nullptr;
QCheckBox *m_cbLogStat = nullptr;
QCheckBox *m_cbLogStatNoFilter = nullptr;
CheckTimePeriod *m_ctpActivePeriod = nullptr;

View File

@ -9,6 +9,8 @@
class TaskManager;
class TaskWorker;
constexpr int TaskDefaultIntervalHours = 24;
class TaskInfo : public QObject
{
Q_OBJECT
@ -108,7 +110,7 @@ private:
bool m_running : 1 = false;
bool m_aborted : 1 = false; // transient
quint16 m_intervalHours = 24;
quint16 m_intervalHours = TaskDefaultIntervalHours;
TaskType m_type = TypeNone;