Skip to content
Snippets Groups Projects
Commit fd08616f authored by inso's avatar inso
Browse files

Handling new preferences

parent 97229c9b
No related branches found
No related tags found
No related merge requests found
......@@ -96,7 +96,7 @@
<item>
<widget class="QStackedWidget" name="stackedWidget">
<property name="currentIndex">
<number>1</number>
<number>0</number>
</property>
<widget class="QWidget" name="page">
<layout class="QVBoxLayout" name="verticalLayout_7">
......@@ -131,6 +131,13 @@
</item>
</layout>
</item>
<item>
<widget class="Line" name="line_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
......@@ -147,9 +154,9 @@
</spacer>
</item>
<item>
<widget class="QCheckBox" name="checkBox">
<widget class="QCheckBox" name="checkbox_expertmode">
<property name="text">
<string>Expert mode</string>
<string>Enable expert mode</string>
</property>
</widget>
</item>
......@@ -171,46 +178,22 @@
</layout>
<zorder></zorder>
<zorder></zorder>
<zorder></zorder>
<zorder>verticalSpacer</zorder>
<zorder>line_2</zorder>
</widget>
<widget class="QWidget" name="page_2">
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QCheckBox" name="checkBox_2">
<property name="text">
<string>Maximize Window at Startup</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_6">
<item>
<widget class="QLabel" name="label_4">
<property name="text">
<string>Numbers after commas </string>
<string>Digits after commas </string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="spinBox"/>
<widget class="QSpinBox" name="spinbox_digits_comma"/>
</item>
</layout>
</item>
......@@ -228,6 +211,37 @@
</item>
</layout>
</item>
<item>
<widget class="Line" name="line_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QCheckBox" name="checkbox_maximize">
<property name="text">
<string>Maximize Window at Startup</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<spacer name="verticalSpacer_2">
<property name="orientation">
......@@ -244,8 +258,8 @@
</layout>
<zorder></zorder>
<zorder></zorder>
<zorder></zorder>
<zorder>verticalSpacer_2</zorder>
<zorder>line_3</zorder>
</widget>
<widget class="QWidget" name="page_3"/>
</widget>
......
......@@ -51,7 +51,10 @@ class Application(QObject):
self._network_manager = network_manager
self.preferences = {'account': "",
'lang': 'en_GB',
'ref': 0
'ref': 0,
'expert_mode': False,
'digits_after_comma': 8,
'maximized': False
}
@classmethod
......@@ -268,7 +271,8 @@ class Application(QObject):
'preferences')
with open(preferences_path, 'r') as json_data:
data = json.load(json_data)
self.preferences = data
for key in data:
self.preferences[key] = data[key]
except FileNotFoundError:
pass
......
......@@ -74,6 +74,10 @@ class MainWindow(QMainWindow, Ui_MainWindow):
def startup(self):
self.update_time()
self.app.get_last_version()
if self.app.preferences['maximized']:
self.showMaximized()
else:
self.show()
self.refresh()
def open_add_account_dialog(self):
......
......@@ -38,6 +38,11 @@ class PreferencesDialog(QDialog, Ui_PreferencesDialog):
for lang in ('en_GB', 'fr_FR'):
self.combo_language.addItem(lang)
self.combo_language.setCurrentText(self.app.preferences['lang'])
self.checkbox_expertmode.setChecked(self.app.preferences['expert_mode'])
self.checkbox_maximize.setChecked(self.app.preferences['maximized'])
self.spinbox_digits_comma.setValue(self.app.preferences['digits_after_comma'])
self.spinbox_digits_comma.setMaximum(12)
self.spinbox_digits_comma.setMinimum(1)
self.button_app.clicked.connect(lambda: self.stackedWidget.setCurrentIndex(0))
self.button_display.clicked.connect(lambda: self.stackedWidget.setCurrentIndex(1))
self.button_network.clicked.connect(lambda: self.stackedWidget.setCurrentIndex(2))
......@@ -45,7 +50,10 @@ class PreferencesDialog(QDialog, Ui_PreferencesDialog):
def accept(self):
pref = {'account': self.combo_account.currentText(),
'lang': self.combo_language.currentText(),
'ref': self.combo_referential.currentIndex()}
'ref': self.combo_referential.currentIndex(),
'expert_mode': self.checkbox_expertmode.isChecked(),
'maximized': self.checkbox_maximize.isChecked(),
'digits_after_comma': self.spinbox_digits_comma.value()}
self.app.save_preferences(pref)
toast.display(self.tr("Preferences"),
self.tr("A restart is needed to apply your new preferences."))
......
......@@ -26,6 +26,5 @@ if __name__ == '__main__':
app = Application.startup(sys.argv, cutecoin, loop)
window = MainWindow(app)
window.startup()
window.showMaximized()
loop.run_forever()
sys.exit()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment