Added a 'use default file' button on preferences.

Added a 'Use default file' button on preferences in a way
that doesn't clutters the interface.

Fixes #630

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Tomaz Canabrava 2014-07-16 18:40:49 -03:00 committed by Dirk Hohndel
parent bf7fc97b50
commit 1b6144350d
4 changed files with 64 additions and 22 deletions

1
pref.h
View file

@ -64,6 +64,7 @@ struct preferences {
bool doo2breaks;
bool drop_stone_mode;
bool show_pictures_in_profile;
bool use_default_file;
};
enum unit_system_values {
METRIC,

View file

@ -132,6 +132,7 @@ void PreferencesDialog::setUiFromPrefs()
ui.proxyUsername->setText(prefs.proxy_user);
ui.proxyPassword->setText(prefs.proxy_pass);
ui.proxyType->setCurrentIndex(ui.proxyType->findData(prefs.proxy_type));
ui.btnUseDefaultFile->setChecked(prefs.use_default_file);
}
void PreferencesDialog::restorePrefs()
@ -227,6 +228,7 @@ void PreferencesDialog::syncSettings()
s.beginGroup("GeneralSettings");
s.setValue("default_filename", ui.defaultfilename->text());
s.setValue("default_cylinder", ui.default_cylinder->currentText());
s.setValue("use_default_file", ui.btnUseDefaultFile->isChecked());
s.endGroup();
s.beginGroup("Display");
@ -326,6 +328,7 @@ void PreferencesDialog::loadSettings()
s.beginGroup("GeneralSettings");
GET_TXT("default_filename", default_filename);
GET_TXT("default_cylinder", default_cylinder);
GET_BOOL("use_default_file", use_default_file);
s.endGroup();
s.beginGroup("Display");
@ -427,3 +430,13 @@ void PreferencesDialog::proxyType_changed(int idx)
ui.proxyPassword->setEnabled(hpEnabled & ui.proxyAuthRequired->isChecked());
ui.proxyAuthRequired->setChecked(ui.proxyAuthRequired->isChecked());
}
void PreferencesDialog::on_btnUseDefaultFile_toggled(bool toggle)
{
if (toggle) {
ui.defaultfilename->setText(system_default_filename());
ui.defaultfilename->setEnabled(false);
} else {
ui.defaultfilename->setEnabled(true);
}
}

View file

@ -14,6 +14,7 @@ public:
static PreferencesDialog *instance();
void showEvent(QShowEvent *);
void emitSettingsChanged();
signals:
void settingsChanged();
public
@ -28,6 +29,7 @@ slots:
void gflowChanged(int gf);
void gfhighChanged(int gf);
void proxyType_changed(int idx);
void on_btnUseDefaultFile_toggled(bool toggle);
private:
explicit PreferencesDialog(QWidget *parent = 0, Qt::WindowFlags f = 0);

View file

@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>872</width>
<height>648</height>
<height>830</height>
</rect>
</property>
<property name="windowTitle">
@ -192,6 +192,16 @@
<item>
<widget class="QLineEdit" name="defaultfilename"/>
</item>
<item>
<widget class="QToolButton" name="btnUseDefaultFile">
<property name="text">
<string>Use default</string>
</property>
<property name="checkable">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="chooseFile">
<property name="text">
@ -969,8 +979,8 @@
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
<x>247</x>
<y>635</y>
<x>259</x>
<y>817</y>
</hint>
<hint type="destinationlabel">
<x>157</x>
@ -985,8 +995,8 @@
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>315</x>
<y>635</y>
<x>327</x>
<y>817</y>
</hint>
<hint type="destinationlabel">
<x>286</x>
@ -1225,12 +1235,12 @@
<slot>setValue(int)</slot>
<hints>
<hint type="sourcelabel">
<x>181</x>
<y>319</y>
<x>361</x>
<y>439</y>
</hint>
<hint type="destinationlabel">
<x>798</x>
<y>314</y>
<x>831</x>
<y>447</y>
</hint>
</hints>
</connection>
@ -1241,12 +1251,12 @@
<slot>setValue(int)</slot>
<hints>
<hint type="sourcelabel">
<x>798</x>
<y>314</y>
<x>831</x>
<y>447</y>
</hint>
<hint type="destinationlabel">
<x>181</x>
<y>319</y>
<x>361</x>
<y>439</y>
</hint>
</hints>
</connection>
@ -1257,12 +1267,12 @@
<slot>setEnabled(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>211</x>
<y>122</y>
<x>200</x>
<y>42</y>
</hint>
<hint type="destinationlabel">
<x>257</x>
<y>151</y>
<x>200</x>
<y>42</y>
</hint>
</hints>
</connection>
@ -1273,23 +1283,39 @@
<slot>setEnabled(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>230</x>
<y>124</y>
<x>200</x>
<y>42</y>
</hint>
<hint type="destinationlabel">
<x>319</x>
<y>187</y>
<x>200</x>
<y>42</y>
</hint>
</hints>
</connection>
<connection>
<sender>btnUseDefaultFile</sender>
<signal>toggled(bool)</signal>
<receiver>chooseFile</receiver>
<slot>setHidden(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>754</x>
<y>216</y>
</hint>
<hint type="destinationlabel">
<x>801</x>
<y>213</y>
</hint>
</hints>
</connection>
</connections>
<buttongroups>
<buttongroup name="verticalSpeed"/>
<buttongroup name="buttonGroup_2"/>
<buttongroup name="buttonGroup_3"/>
<buttongroup name="buttonGroup_4"/>
<buttongroup name="buttonGroup_5"/>
<buttongroup name="buttonGroup_6"/>
<buttongroup name="verticalSpeed"/>
<buttongroup name="buttonGroup"/>
</buttongroups>
</ui>