Skip to content

Commit 77cc09b

Browse files
committed
Preferences dialog: add option to clear settings
1 parent 0b1e12d commit 77cc09b

File tree

3 files changed

+29
-16
lines changed

3 files changed

+29
-16
lines changed

QtPMbrowser/DlgPreferences.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ DlgPreferences::DlgPreferences(QWidget *parent)
2828
{
2929
QSettings settings;
3030
ui->setupUi(this);
31+
32+
bool zap_settings = settings.value("zap_settings", false).toBool();
3133
settings.beginGroup("Preferences");
3234

3335
int selection = settings.value("selectionButton", 0).toInt();
@@ -37,6 +39,7 @@ DlgPreferences::DlgPreferences(QWidget *parent)
3739
ui->lineEditVmon->setText(settings.value("Vmon", "Vmon").toString());
3840
ui->lineEditImon->setText(settings.value("Imon", "Imon").toString());
3941
ui->checkBoxSysLocale->setChecked(!settings.value("use_C_locale", false).toBool());
42+
ui->checkBoxZapSettings->setChecked(zap_settings);
4043

4144
settings.endGroup();
4245
}
@@ -49,6 +52,8 @@ DlgPreferences::~DlgPreferences()
4952
void DlgPreferences::accept()
5053
{
5154
QSettings settings;
55+
bool zap_settings = ui->checkBoxZapSettings->isChecked();
56+
settings.setValue("zap_settings", zap_settings);
5257
settings.beginGroup("Preferences");
5358
int selection{};
5459
if (ui->radioButtonDefaultExt->isChecked()) selection = 0;
@@ -72,6 +77,5 @@ void DlgPreferences::accept()
7277
hkLib::global_hkSettings.ext_Imon = ui->lineEditImon->text().toStdString();
7378
hkLib::global_hkSettings.ext_Vmon = ui->lineEditVmon->text().toStdString();
7479
}
75-
7680
QDialog::accept();
7781
}

QtPMbrowser/DlgPreferences.ui

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<rect>
77
<x>0</x>
88
<y>0</y>
9-
<width>453</width>
9+
<width>474</width>
1010
<height>360</height>
1111
</rect>
1212
</property>
@@ -17,6 +17,16 @@
1717
<locale language="English" country="UnitedStates"/>
1818
</property>
1919
<layout class="QGridLayout" name="gridLayout">
20+
<item row="0" column="2">
21+
<widget class="QDialogButtonBox" name="buttonBox">
22+
<property name="orientation">
23+
<enum>Qt::Orientation::Vertical</enum>
24+
</property>
25+
<property name="standardButtons">
26+
<set>QDialogButtonBox::StandardButton::Cancel|QDialogButtonBox::StandardButton::Ok</set>
27+
</property>
28+
</widget>
29+
</item>
2030
<item row="0" column="1">
2131
<widget class="QGroupBox" name="groupBox">
2232
<property name="title">
@@ -105,7 +115,14 @@
105115
</layout>
106116
</widget>
107117
</item>
108-
<item row="2" column="0" colspan="3">
118+
<item row="1" column="1">
119+
<widget class="QCheckBox" name="checkBoxSysLocale">
120+
<property name="text">
121+
<string>Use System Locale (takes effect only after re-start!)</string>
122+
</property>
123+
</widget>
124+
</item>
125+
<item row="3" column="0" colspan="3">
109126
<spacer name="verticalSpacer">
110127
<property name="orientation">
111128
<enum>Qt::Orientation::Vertical</enum>
@@ -118,20 +135,10 @@
118135
</property>
119136
</spacer>
120137
</item>
121-
<item row="0" column="2">
122-
<widget class="QDialogButtonBox" name="buttonBox">
123-
<property name="orientation">
124-
<enum>Qt::Orientation::Vertical</enum>
125-
</property>
126-
<property name="standardButtons">
127-
<set>QDialogButtonBox::StandardButton::Cancel|QDialogButtonBox::StandardButton::Ok</set>
128-
</property>
129-
</widget>
130-
</item>
131-
<item row="1" column="1">
132-
<widget class="QCheckBox" name="checkBoxSysLocale">
138+
<item row="2" column="1">
139+
<widget class="QCheckBox" name="checkBoxZapSettings">
133140
<property name="text">
134-
<string>Use System Locale (takes effect only after re-start!)</string>
141+
<string>Clear Settings (takes effect at next program start)</string>
135142
</property>
136143
</widget>
137144
</item>

QtPMbrowser/pmbrowserwindow.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1327,6 +1327,8 @@ void PMbrowserWindow::saveSettings()
13271327
void PMbrowserWindow::loadSettings()
13281328
{
13291329
QSettings settings;
1330+
bool zap_settings = settings.value("zap_settings", false).toBool();
1331+
if(zap_settings) settings.clear();
13301332
settings.beginGroup("pmbrowserwindow");
13311333
lastloadpath = settings.value("lastloadpath", lastloadpath).toString();
13321334
lastexportpath = settings.value("lastexportpath", lastexportpath).toString();

0 commit comments

Comments
 (0)