Просмотр исходного кода

- fixed some selection issues in the new tool Eraser in Geometry Editor
- updated the translation files

Marius Stanciu 6 лет назад
Родитель
Сommit
17a93b8c7d

+ 3 - 1
README.md

@@ -12,7 +12,9 @@ CAD program, and create G-Code for Isolation routing.
 22.05.2019
 
 - Geo Editor - added a new editor tool, Eraser
-- PEP8 cleanup of the Geo Editor
+- some PEP8 cleanup of the Geo Editor
+- fixed some selection issues in the new tool Eraser in Geometry Editor
+- updated the translation files
 
 21.05.2019
 

+ 4 - 1
camlib.py

@@ -7738,7 +7738,10 @@ class FlatCAMRTree(object):
     def remove_obj(self, objid, obj):
         # Use all ptids to delete from index
         for i, pt in enumerate(self.get_points(obj)):
-            self.rti.delete(self.obj2points[objid][i], (pt[0], pt[1], pt[0], pt[1]))
+            try:
+                self.rti.delete(self.obj2points[objid][i], (pt[0], pt[1], pt[0], pt[1]))
+            except IndexError:
+                pass
 
     def nearest(self, pt):
         """

+ 14 - 8
flatcamEditors/FlatCAMGeoEditor.py

@@ -2810,16 +2810,19 @@ class FCEraser(FCShapeTool):
 
     def click(self, point):
         if len(self.draw_app.get_selected()) == 0:
-
             for obj_shape in self.storage.get_objects():
                 try:
                     __, closest_shape = self.storage.nearest(point)
                     self.draw_app.selected.append(closest_shape)
                 except StopIteration:
+                    if len(self.draw_app.selected) > 0:
+                        self.draw_app.app.inform.emit(_("Click to pick-up the erase shape..."))
                     return ""
 
         if len(self.draw_app.get_selected()) == 0:
             return "Nothing to ersase."
+        else:
+            self.draw_app.app.inform.emit(_("Click to pick-up the erase shape..."))
 
         if self.origin is None:
             self.set_origin(point)
@@ -3594,13 +3597,15 @@ class FlatCAMGeoEditor(QtCore.QObject):
         self.app.ui.rel_position_label.setText("<b>Dx</b>: %.4f&nbsp;&nbsp;  <b>Dy</b>: "
                                            "%.4f&nbsp;&nbsp;&nbsp;&nbsp;" % (dx, dy))
 
-        # ## Utility geometry (animated)
-        geo = self.active_tool.utility_geometry(data=(x, y))
-
-        if isinstance(geo, DrawToolShape) and geo.geo is not None:
-            # Remove any previous utility shape
-            self.tool_shape.clear(update=True)
-            self.draw_utility_geometry(geo=geo)
+        if event.button == 1 and event.is_dragging == 1 and isinstance(self.active_tool, FCEraser):
+            pass
+        else:
+            # ## Utility geometry (animated)
+            geo = self.active_tool.utility_geometry(data=(x, y))
+            if isinstance(geo, DrawToolShape) and geo.geo is not None:
+                # Remove any previous utility shape
+                self.tool_shape.clear(update=True)
+                self.draw_utility_geometry(geo=geo)
 
         # ## Selection area on canvas section ###
         dx = pos[0] - self.pos[0]
@@ -3687,6 +3692,7 @@ class FlatCAMGeoEditor(QtCore.QObject):
                     self.active_tool.click_release((self.pos[0], self.pos[1]))
                     # self.app.inform.emit(msg)
                     self.replot()
+
         except Exception as e:
             log.warning("Error: %s" % str(e))
             return

BIN
locale/de/LC_MESSAGES/strings.mo


Разница между файлами не показана из-за своего большого размера
+ 202 - 202
locale/de/LC_MESSAGES/strings.po


BIN
locale/en/LC_MESSAGES/strings.mo


Разница между файлами не показана из-за своего большого размера
+ 190 - 202
locale/en/LC_MESSAGES/strings.po


BIN
locale/ro/LC_MESSAGES/strings.mo


Разница между файлами не показана из-за своего большого размера
+ 195 - 195
locale/ro/LC_MESSAGES/strings.po


Разница между файлами не показана из-за своего большого размера
+ 415 - 393
locale_template/strings.pot


Некоторые файлы не были показаны из-за большого количества измененных файлов