+//virtual
+void AbstractGroupItem::dropEvent(QGraphicsSceneDragDropEvent * event)
+{
+ QString effects = QString(event->mimeData()->data("kdenlive/effectslist"));
+ QDomDocument doc;
+ doc.setContent(effects, true);
+ QDomElement e = doc.documentElement();
+ CustomTrackView *view = (CustomTrackView *) scene()->views()[0];
+ if (view) view->slotAddGroupEffect(e, this);
+}
+
+//virtual
+void AbstractGroupItem::dragEnterEvent(QGraphicsSceneDragDropEvent *event)
+{
+ event->setAccepted(event->mimeData()->hasFormat("kdenlive/effectslist"));
+}
+
+void AbstractGroupItem::dragLeaveEvent(QGraphicsSceneDragDropEvent *event)
+{
+ Q_UNUSED(event);
+}
+
+// virtual
+void AbstractGroupItem::mousePressEvent(QGraphicsSceneMouseEvent * event)
+{
+ if (event->modifiers() & Qt::ShiftModifier) {
+ // User want to do a rectangle selection, so ignore the event to pass it to the view
+ event->ignore();
+ } else QGraphicsItem::mousePressEvent(event);
+}