diff --git a/FlatCAMApp.py b/FlatCAMApp.py
index d4d0e16e..c4b70b40 100644
--- a/FlatCAMApp.py
+++ b/FlatCAMApp.py
@@ -1038,6 +1038,7 @@ class App(QtCore.QObject):
QtCore.QObject.__init__(self)
self.ui = FlatCAMGUI(self)
+ self.on_grid_snap_triggered(state=True)
theme_settings = QtCore.QSettings("Open Source", "FlatCAM")
if theme_settings.contains("theme"):
@@ -2153,6 +2154,8 @@ class App(QtCore.QObject):
# signal emitted when a tab is closed in the Plot Area
self.ui.plot_tab_area.tab_closed_signal.connect(self.on_plot_area_tab_closed)
+ self.ui.grid_snap_btn.triggered.connect(self.on_grid_snap_triggered)
+
# #####################################################################################
# ########### FINISHED CONNECTING SIGNALS #############################################
# #####################################################################################
@@ -6079,6 +6082,7 @@ class App(QtCore.QObject):
self.report_usage("on_toggle_grid()")
self.ui.grid_snap_btn.trigger()
+ self.on_grid_snap_triggered(state=True)
def on_toggle_grid_lines(self):
self.report_usage("on_toggle_grd_lines()")
@@ -7019,6 +7023,8 @@ class App(QtCore.QObject):
self.connect_toolbar_signals()
self.ui.grid_snap_btn.setChecked(True)
+ self.on_grid_snap_triggered(state=True)
+
self.ui.grid_gap_x_entry.setText(str(self.defaults["global_gridx"]))
self.ui.grid_gap_y_entry.setText(str(self.defaults["global_gridy"]))
self.ui.snap_max_dist_entry.setText(str(self.defaults["global_snap_max"]))
@@ -12350,6 +12356,12 @@ class App(QtCore.QObject):
# Clear pool to free memory
self.clear_pool()
+ def on_grid_snap_triggered(self, state):
+ if state:
+ self.ui.snap_infobar_label.setPixmap(QtGui.QPixmap(self.resource_location + '/snap_filled_16.png'))
+ else:
+ self.ui.snap_infobar_label.setPixmap(QtGui.QPixmap(self.resource_location + '/snap_16.png'))
+
def generate_cnc_job(self, objects):
self.report_usage("generate_cnc_job()")
diff --git a/README.md b/README.md
index d0e5efe1..c9c5da8f 100644
--- a/README.md
+++ b/README.md
@@ -13,6 +13,7 @@ CAD program, and create G-Code for Isolation routing.
- fixed a rare issue in the generation of non-copper-region geometry started from the Gerber Object UI (selected tab)
- Print function is now printing a PDF file for a selection of objects in the colors from canvas
+- added an icon in the infobar that will show more clearly the status of the grid snapping
19.12.2019
diff --git a/flatcamEditors/FlatCAMExcEditor.py b/flatcamEditors/FlatCAMExcEditor.py
index e62275a7..dfd14965 100644
--- a/flatcamEditors/FlatCAMExcEditor.py
+++ b/flatcamEditors/FlatCAMExcEditor.py
@@ -2744,6 +2744,7 @@ class FlatCAMExcEditor(QtCore.QObject):
# start with GRID toolbar activated
if self.app.ui.grid_snap_btn.isChecked() is False:
self.app.ui.grid_snap_btn.trigger()
+ self.app.on_grid_snap_triggered(state=True)
self.app.ui.popmenu_disable.setVisible(False)
self.app.ui.cmenu_newmenu.menuAction().setVisible(False)
diff --git a/flatcamEditors/FlatCAMGeoEditor.py b/flatcamEditors/FlatCAMGeoEditor.py
index d70828f8..0f14de33 100644
--- a/flatcamEditors/FlatCAMGeoEditor.py
+++ b/flatcamEditors/FlatCAMGeoEditor.py
@@ -3679,6 +3679,7 @@ class FlatCAMGeoEditor(QtCore.QObject):
# start with GRID toolbar activated
if self.app.ui.grid_snap_btn.isChecked() is False:
self.app.ui.grid_snap_btn.trigger()
+ self.app.on_grid_snap_triggered(state=True)
def on_buffer_tool(self):
buff_tool = BufferSelectionTool(self.app, self)
diff --git a/flatcamEditors/FlatCAMGrbEditor.py b/flatcamEditors/FlatCAMGrbEditor.py
index d05ae8fe..86c28795 100644
--- a/flatcamEditors/FlatCAMGrbEditor.py
+++ b/flatcamEditors/FlatCAMGrbEditor.py
@@ -3530,6 +3530,7 @@ class FlatCAMGrbEditor(QtCore.QObject):
# start with GRID toolbar activated
if self.app.ui.grid_snap_btn.isChecked() is False:
self.app.ui.grid_snap_btn.trigger()
+ self.app.on_grid_snap_triggered(state=True)
# adjust the visibility of some of the canvas context menu
self.app.ui.popmenu_edit.setVisible(False)
diff --git a/flatcamGUI/FlatCAMGUI.py b/flatcamGUI/FlatCAMGUI.py
index fc75f8a5..fbf61145 100644
--- a/flatcamGUI/FlatCAMGUI.py
+++ b/flatcamGUI/FlatCAMGUI.py
@@ -2149,6 +2149,10 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
self.fcinfo = FlatCAMInfoBar(app=self.app)
self.infobar.addWidget(self.fcinfo, stretch=1)
+ self.snap_infobar_label = QtWidgets.QLabel()
+ self.snap_infobar_label.setPixmap(QtGui.QPixmap(self.app.resource_location + '/snap_16.png'))
+ self.infobar.addWidget(self.snap_infobar_label)
+
self.rel_position_label = QtWidgets.QLabel(
"Dx: 0.0000 Dy: 0.0000 ")
self.rel_position_label.setMinimumWidth(110)
diff --git a/share/snap_16.png b/share/snap_16.png
new file mode 100644
index 00000000..25bf01dd
Binary files /dev/null and b/share/snap_16.png differ
diff --git a/share/snap_filled_16.png b/share/snap_filled_16.png
new file mode 100644
index 00000000..0db6956a
Binary files /dev/null and b/share/snap_filled_16.png differ