summaryrefslogtreecommitdiff
path: root/src/editorui
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/editorui/editormain.py28
-rw-r--r--src/editorui/objects.py2
2 files changed, 22 insertions, 8 deletions
diff --git a/src/editorui/editormain.py b/src/editorui/editormain.py
index 11df8dd..1ff08ee 100644
--- a/src/editorui/editormain.py
+++ b/src/editorui/editormain.py
@@ -741,19 +741,33 @@ class KPEditorWidget(QtGui.QGraphicsView):
def mousePressEvent(self, event):
- # itemsUnder = self.scene().items(self.mapToScene(event.pos()), Qt.IntersectsItemShape, Qt.AscendingOrder)
if event.button() == Qt.RightButton:
self._tryToPaint(event)
event.accept()
- # elif itemsUnder:
- # QtGui.QGraphicsView.mousePressEvent(self, event)
+ elif event.modifiers() & Qt.ControlModifier:
+ if isinstance(self.scene().currentLayer, KPPathLayer):
+ QtGui.QGraphicsView.mousePressEvent(self, event)
+ return
+
+ itemsUnder = self.scene().items(self.mapToScene(event.pos()), Qt.IntersectsItemShape, Qt.AscendingOrder)
+
+ if itemsUnder:
+
+ self.scene().clearSelection()
+
+ kLayer = itemsUnder[0]._layerRef()
+ if isinstance(kLayer, (KPPathTileLayer, KPPathLayer)):
+ QtGui.QGraphicsView.mousePressEvent(self, event)
+ return
+
+ KP.mainWindow.handleSelectedLayerChanged(kLayer)
+ index = KP.map.refLayer(kLayer)
+ print 'selecting row {0}'.format(index)
+ KP.mainWindow.layerList.selectLayer(index)
- # if len(self.scene().selectedItems()) < 2:
- # self.scene().clearSelection()
- # itemsUnder[0].setSelected(True)
- # itemsUnder[0].grabMouse()
+ itemsUnder[0].setSelected(True)
else:
QtGui.QGraphicsView.mousePressEvent(self, event)
diff --git a/src/editorui/objects.py b/src/editorui/objects.py
index 872e289..af5c664 100644
--- a/src/editorui/objects.py
+++ b/src/editorui/objects.py
@@ -18,7 +18,7 @@ class KPEditorObject(KPEditorItem):
self.resizing = None
if not hasattr(KPEditorObject, 'SELECTION_PEN'):
- KPEditorObject.SELECTION_PEN = QtGui.QPen(Qt.white, 1, Qt.DotLine)
+ KPEditorObject.SELECTION_PEN = QtGui.QPen(Qt.green, 1, Qt.DotLine)
# I don't bother setting the ZValue because it doesn't quite matter:
# only one layer's objects are ever clickable, and drawBackground takes