diff --git a/CHANGELOG.md b/CHANGELOG.md index 7cfef1c3..a0e7a99b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ CHANGELOG for FlatCAM beta - in CNCJob UI Autolevelling - Probing GCode has now a header - in CNCJob UI Autolevelling - Added entries in Preferences - in CNCJob UI Autolevelling - finished the Import Height Map method +- in CNCJob UI Autolevelling - made autolevelling checkbox state persistent between app restarts 14.08.2020 diff --git a/appGUI/ObjectUI.py b/appGUI/ObjectUI.py index 95fa6f5b..618b96ea 100644 --- a/appGUI/ObjectUI.py +++ b/appGUI/ObjectUI.py @@ -2389,9 +2389,6 @@ class CNCObjectUI(ObjectUI): self.al_probe_points_table.setMinimumHeight(self.al_probe_points_table.getHeight()) self.al_probe_points_table.setMaximumHeight(self.al_probe_points_table.getHeight()) - # Signals - self.sal_cb.stateChanged.connect(lambda state: self.al_frame.show() if state else self.al_frame.hide()) - # Set initial UI self.al_frame.hide() # self.on_mode_radio(val='grid') diff --git a/appObjects/FlatCAMCNCJob.py b/appObjects/FlatCAMCNCJob.py index 4af20771..29ddcfea 100644 --- a/appObjects/FlatCAMCNCJob.py +++ b/appObjects/FlatCAMCNCJob.py @@ -544,25 +544,13 @@ class CNCJobObject(FlatCAMObj, CNCjob): # set if to display text annotations self.ui.annotation_cb.set_value(self.app.defaults["cncjob_annotation"]) - # Show/Hide Advanced Options - if self.app.defaults["global_app_level"] == 'b': - self.ui.level.setText(_( - 'Basic' - )) - - self.ui.sal_cb.hide() - else: - self.ui.level.setText(_( - 'Advanced' - )) - self.ui.sal_cb.show() - self.ui.updateplot_button.clicked.connect(self.on_updateplot_button_click) self.ui.export_gcode_button.clicked.connect(self.on_exportgcode_button_click) self.ui.review_gcode_button.clicked.connect(self.on_edit_code_click) self.ui.editor_button.clicked.connect(lambda: self.app.object2editor()) # autolevelling signals + self.ui.sal_cb.stateChanged.connect(self.on_autolevelling) self.ui.al_mode_radio.activated_custom.connect(self.on_mode_radio) self.ui.al_controller_combo.currentIndexChanged.connect(self.on_controller_change) self.ui.com_search_button.clicked.connect(self.on_search_ports) @@ -578,6 +566,21 @@ class CNCJobObject(FlatCAMObj, CNCjob): self.ui.cncplot_method_combo.activated_custom.connect(self.on_plot_kind_change) + # Show/Hide Advanced Options + if self.app.defaults["global_app_level"] == 'b': + self.ui.level.setText(_( + 'Basic' + )) + + self.ui.sal_cb.hide() + self.ui.sal_cb.set_value(False) + else: + self.ui.level.setText(_( + 'Advanced' + )) + self.ui.sal_cb.show() + self.ui.sal_cb.set_value(self.app.defaults["cncjob_al_status"]) + preamble = self.append_snippet postamble = self.prepend_snippet gc = self.export_gcode(preamble=preamble, postamble=postamble, to_file=True) @@ -829,6 +832,10 @@ class CNCJobObject(FlatCAMObj, CNCjob): if key == QtCore.Qt.Key_J or key == 'J': l_x, l_y = self.app.on_jump_to() + def on_autolevelling(self, state): + self.ui.al_frame.show() if state else self.ui.al_frame.hide() + self.app.defaults["cncjob_al_status"] = True if state else False + def on_show_al_table(self, state): self.ui.al_probe_points_table.show() if state else self.ui.al_probe_points_table.hide() @@ -992,7 +999,7 @@ class CNCJobObject(FlatCAMObj, CNCjob): header += '(Type: ' + "Autolevelling Probing GCode " + ')\n' header += '(Units: ' + self.units.upper() + ')\n' - header += '(Created on ' + time_str + ')\n\n' + header += '(Created on ' + time_str + ')\n' # commands if controller == 'MACH3': @@ -1019,7 +1026,7 @@ class CNCJobObject(FlatCAMObj, CNCjob): # ############################################################################################################# # header - p_gcode += header + '\n\n' + p_gcode += header + '\n' # supplementary message for LinuxCNC if controller == 'LinuxCNC': probing_var += "The file with the stored probing points can be found\n" \ diff --git a/defaults.py b/defaults.py index 297839f8..dfb93eda 100644 --- a/defaults.py +++ b/defaults.py @@ -376,6 +376,7 @@ class FlatCAMDefaults: "cncjob_annotation_fontsize": 9, "cncjob_annotation_fontcolor": '#990000', # Autolevelling + "cncjob_al_status": False, "cncjob_al_mode": 'grid', "cncjob_al_rows": 4, "cncjob_al_columns": 4,