Skip to content
This repository was archived by the owner on Aug 28, 2020. It is now read-only.

Commit 010660d

Browse files
committed
create a reusable method to save settings
1 parent a08ae63 commit 010660d

File tree

2 files changed

+17
-6
lines changed

2 files changed

+17
-6
lines changed

pugdebug/gui/settings.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313
from PyQt5.QtWidgets import QDialog, QPushButton, QVBoxLayout, QHBoxLayout
1414

1515
from pugdebug.gui.forms import PugdebugSettingsForm
16-
from pugdebug.models.settings import (get_setting, has_setting, set_setting,
17-
get_default_setting)
16+
from pugdebug.models.settings import (get_setting, has_setting,
17+
get_default_setting, save_settings)
1818

1919

2020
class PugdebugSettingsWindow(QDialog):
@@ -81,14 +81,13 @@ def load_settings(self):
8181

8282
def save_settings(self):
8383
"""Saves all settings from the form to QSettings"""
84-
changed_settings = set()
84+
new_settings = {}
8585

8686
for name, widget in self.form.widgets.items():
8787
value = self.form.get_widget_value(widget)
88+
new_settings[name] = value
8889

89-
if not has_setting(name) or get_setting(name) != value:
90-
set_setting(name, value)
91-
changed_settings.add(name)
90+
changed_settings = save_settings(new_settings)
9291

9392
if len(changed_settings) > 0:
9493
self.settings_changed_signal.emit(changed_settings)

pugdebug/models/settings.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,18 @@ def set_setting(key, value):
121121
settings.set(key, value)
122122

123123

124+
def save_settings(new_settings):
125+
changed_settings = set()
126+
127+
for key in new_settings:
128+
value = new_settings[key]
129+
if not has_setting(key) or get_setting(key) != value:
130+
set_setting(key, value)
131+
changed_settings.add(key)
132+
133+
return changed_settings
134+
135+
124136
def add_project(project):
125137
settings.add_project(project)
126138

0 commit comments

Comments
 (0)