added refresh button to projects too

This commit is contained in:
iLLiCiTiT 2020-09-15 13:27:02 +02:00
parent 72ae67af19
commit acc2e3db0b

View file

@ -111,6 +111,8 @@ class SystemWidget(QtWidgets.QWidget):
input_field.hierarchical_style_update()
def reset(self):
reset_default_settings()
if self.content_layout.count() != 0:
for widget in self.input_fields:
self.content_layout.removeWidget(widget)
@ -211,9 +213,7 @@ class SystemWidget(QtWidgets.QWidget):
with open(output_path, "w") as file_stream:
json.dump(new_values, file_stream, indent=4)
reset_default_settings()
self._update_values()
self.reset()
def _update_values(self):
self.ignore_value_changes = True
@ -401,9 +401,16 @@ class ProjectWidget(QtWidgets.QWidget):
if self.develop_mode:
save_as_default_btn = QtWidgets.QPushButton("Save as Default")
footer_layout.addWidget(save_as_default_btn, 0)
save_as_default_btn.clicked.connect(self._save_as_defaults)
refresh_icon = qtawesome.icon("fa.refresh", color="white")
refresh_button = QtWidgets.QPushButton()
refresh_button.setIcon(refresh_icon)
refresh_button.clicked.connect(self._on_refresh)
footer_layout.addWidget(save_as_default_btn, 0)
footer_layout.addWidget(refresh_button, 0)
save_btn = QtWidgets.QPushButton("Save")
spacer_widget = QtWidgets.QWidget()
footer_layout.addWidget(spacer_widget, 1)
@ -453,6 +460,8 @@ class ProjectWidget(QtWidgets.QWidget):
input_field.hierarchical_style_update()
def reset(self):
reset_default_settings()
self.schema = lib.gui_schema("projects_schema", "0_project_gui_schema")
self.keys = self.schema.get("keys", [])
self.add_children_gui(self.schema)
@ -530,9 +539,7 @@ class ProjectWidget(QtWidgets.QWidget):
with open(output_path, "w") as file_stream:
json.dump(new_values, file_stream, indent=4)
reset_default_settings()
self._update_values()
self.reset()
def _save(self):
has_invalid = False
@ -564,6 +571,9 @@ class ProjectWidget(QtWidgets.QWidget):
else:
self._save_overrides()
def _on_refresh(self):
self.reset()
def _save_overrides(self):
data = {}
for item in self.input_fields: