Skip to content

Commit

Permalink
fix: #678 refresh the engine configuration if settings change
Browse files Browse the repository at this point in the history
  • Loading branch information
mathPi committed Aug 25, 2024
1 parent a03774e commit 8b436b0
Show file tree
Hide file tree
Showing 9 changed files with 64 additions and 2 deletions.
3 changes: 3 additions & 0 deletions .idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 17 additions & 0 deletions .idea/ayab-desktop.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/inspectionProfiles/profiles_settings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 7 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 7 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions src/main/python/main/ayab/ayab.py
Original file line number Diff line number Diff line change
Expand Up @@ -198,3 +198,6 @@ def notify(self, text: str, log: bool = True) -> None:
if log:
logging.info("Notification: " + text)
self.ui.label_notifications.setText(text)

def refresh_window_preferences_change(self) -> None:
self.engine.refresh_settings_change()
6 changes: 5 additions & 1 deletion src/main/python/main/ayab/engine/engine.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ def __init__(self, parent: GuiMain):
self.control = Control(parent, self)
self.__feedback = FeedbackHandler(parent)
self.__logger = logging.getLogger(type(self).__name__)
self.setWindowTitle("Machine: " + Machine(self.config.machine).name)
self.refresh_settings_change()

def __del__(self) -> None:
self.control.stop()
Expand All @@ -90,6 +90,10 @@ def setup_ui(self) -> None:
# activate UI elements
self.__activate_ui()

def refresh_settings_change(self) -> None:
self.config.refresh()
self.setWindowTitle("Machine: " + Machine(self.config.machine).name)

def __disable_status_tab(self) -> None:
self.ui.tab_widget.setTabEnabled(1, False)
self.status.ui.label_progress.setText("")
Expand Down
9 changes: 8 additions & 1 deletion src/main/python/main/ayab/preferences.py
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,7 @@ def __init__(self, parent: GuiMain):
for widget in self.__widget.values():
widget.connectChange()
self.__ui.reset.clicked.connect(self.__reset_and_refresh)
self.__ui.enter.clicked.connect(self.accept)
self.__ui.enter.clicked.connect(self.__validate_form)

# update buttons from settings
self.__refresh_form()
Expand Down Expand Up @@ -255,6 +255,13 @@ def __reset_and_refresh(self) -> None:
self.__prefs.reset()
self.__refresh_form()

def __validate_form(self) -> None:
self.accept()

# call the main GUI to trigger the necessary refresh
parent: GuiMain = self.parent()
parent.refresh_window_preferences_change()


class PrefsBoolWidget(QCheckBox):
"""Checkbox for Boolean preferences setting.
Expand Down

0 comments on commit 8b436b0

Please sign in to comment.