Skip to content

Commit 1b17fe2

Browse files
ui: better errors when saving the preferences
Don't overwrite errors if any, to avoid shadowing possible problems.
1 parent 8ec86c6 commit 1b17fe2

File tree

1 file changed

+16
-8
lines changed

1 file changed

+16
-8
lines changed

ui/opensnitch/dialogs/preferences.py

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -728,12 +728,12 @@ def _reset_node_settings(self):
728728

729729
def _save_settings(self):
730730
self._reset_status_message()
731-
self._save_ui_config()
732-
if not self._save_db_config():
733-
return
734-
self._save_nodes_config()
731+
ui_saved = self._save_ui_config()
732+
db_saved = self._save_db_config()
733+
nodes_saved = self._save_nodes_config()
735734

736-
self._set_status_successful(QC.translate("preferences", "Configuration applied."))
735+
if ui_saved and db_saved and nodes_saved:
736+
self._set_status_successful(QC.translate("preferences", "Configuration applied."))
737737
self.saved.emit()
738738
self._settingsSaved = True
739739
self._needs_restart()
@@ -785,7 +785,7 @@ def _save_ui_config(self):
785785
cert = self._cfg.getSettings(Config.AUTH_CERT)
786786
certkey = self._cfg.getSettings(Config.AUTH_CERTKEY)
787787
if not self._validate_certs():
788-
return
788+
return False
789789

790790
server_addr = self._cfg.getSettings(Config.DEFAULT_SERVER_ADDR)
791791
if self.comboServerAddr.currentText() != server_addr:
@@ -854,8 +854,11 @@ def _save_ui_config(self):
854854

855855
self._autostart.enable(self.checkAutostart.isChecked())
856856

857+
return True
858+
857859
except Exception as e:
858860
self._set_status_error(str(e))
861+
return False
859862

860863
def _save_ui_columns_config(self):
861864
cols=list()
@@ -905,20 +908,25 @@ def _save_nodes_config(self):
905908
error = self._save_node_config(notif, addr)
906909
if error != None:
907910
self._set_status_error(error)
908-
return
911+
return False
909912
else:
910913
error = self._save_node_config(notif, addr)
911914
if error != None:
912915
self._set_status_error(error)
913-
return
916+
return False
914917
except Exception as e:
915918
print(self.LOG_TAG + "exception saving config: ", e)
916919
self._set_status_error(QC.translate("preferences", "Exception saving config: {0}").format(str(e)))
920+
return False
921+
917922
elif addr == "":
918923
self._set_status_message(QC.translate("preferences", "There're no nodes connected"))
924+
return False
919925

920926
self._node_needs_update = False
921927

928+
return True
929+
922930
def _save_node_config(self, notifObject, addr):
923931
try:
924932
if self._nodes.count() == 0:

0 commit comments

Comments
 (0)