diff --git a/FlatCAMDraw.py b/FlatCAMDraw.py index 9d319ef1..7e5f13fe 100644 --- a/FlatCAMDraw.py +++ b/FlatCAMDraw.py @@ -481,7 +481,7 @@ class FCMove(FCShapeTool): dx = self.destination[0] - self.origin[0] dy = self.destination[1] - self.origin[1] self.geometry = [DrawToolShape(affinity.translate(geom.geo, xoff=dx, yoff=dy)) - for geom in self.draw_app.get_selected()] + for geom in self.draw_app.get_selected()] # Delete old self.draw_app.delete_selected() diff --git a/ObjectCollection.py b/ObjectCollection.py index f4f051a9..e5d100de 100644 --- a/ObjectCollection.py +++ b/ObjectCollection.py @@ -4,6 +4,15 @@ import inspect # TODO: Remove import FlatCAMApp from PyQt4 import Qt, QtGui, QtCore + +class KeySensitiveListView(QtGui.QListView): + keyPressed = QtCore.pyqtSignal(int) + + def keyPressEvent(self, event): + super(KeySensitiveListView, self).keyPressEvent(event) + self.keyPressed.emit(event.key()) + + class ObjectCollection(QtCore.QAbstractListModel): """ Object storage and management. @@ -35,7 +44,8 @@ class ObjectCollection(QtCore.QAbstractListModel): self.checked_indexes = [] ### View - self.view = QtGui.QListView() + #self.view = QtGui.QListView() + self.view = KeySensitiveListView() self.view.setSelectionMode(Qt.QAbstractItemView.ExtendedSelection) self.view.setModel(self) @@ -44,9 +54,11 @@ class ObjectCollection(QtCore.QAbstractListModel): ## GUI Events self.view.selectionModel().selectionChanged.connect(self.on_list_selection_change) self.view.activated.connect(self.on_item_activated) + self.view.keyPressed.connect(self.on_key) - def on_key(self, event): - print event + def on_key(self, key): + if key == QtCore.Qt.Key_Delete: + self.delete_active() def on_mouse_down(self, event): print "Mouse button pressed on list" diff --git a/camlib.py b/camlib.py index 8e5319b3..cc73dcea 100644 --- a/camlib.py +++ b/camlib.py @@ -436,7 +436,6 @@ class Geometry(object): self.solid_geometry = [cascaded_union(self.solid_geometry)] - class ApertureMacro: """ Syntax of aperture macros. @@ -547,7 +546,7 @@ class ApertureMacro: if match: ## Replace all variables for v in self.locvars: - part = re.sub(r'\$'+str(v)+r'(?![0-9a-zA-Z])', str(self.locvars[v]), part) + part = re.sub(r'\$' + str(v) + r'(?![0-9a-zA-Z])', str(self.locvars[v]), part) # Make all others 0 part = re.sub(r'\$[0-9a-zA-Z](?![0-9a-zA-Z])', "0", part) @@ -585,7 +584,7 @@ class ApertureMacro: :return: Zero-padded list. :rtype: list """ - x = [0.0]*n + x = [0.0] * n na = len(mods) x[0:na] = mods return x diff --git a/setup_ubuntu.sh b/setup_ubuntu.sh index f531968e..08f56c54 100755 --- a/setup_ubuntu.sh +++ b/setup_ubuntu.sh @@ -2,8 +2,6 @@ apt-get install libpng-dev apt-get install libfreetype6 libfreetype6-dev apt-get install python-dev -#apt-get install python-gi -#apt-get install libgtk-3-devel apt-get install python-qt4 apt-get install python-numpy python-scipy python-matplotlib apt-get install libgeos-dev