]> git.sesse.net Git - kdenlive/blobdiff - src/abstractgroupitem.cpp
- Fix split audio with locked audio tracks
[kdenlive] / src / abstractgroupitem.cpp
index cf5717a85d520a531a3404a4908e6f34a83b3595..7d2cc39a1b829bc20f65ad90e05ffd20f6d8b6bf 100644 (file)
@@ -79,40 +79,27 @@ CustomTrackScene* AbstractGroupItem::projectScene()
 
 QPainterPath AbstractGroupItem::clipGroupShape(QPointF offset) const
 {
-    QPainterPath path;
-    QList<QGraphicsItem *> children = childItems();
-    for (int i = 0; i < children.count(); i++) {
-        if (children.at(i)->type() == AVWIDGET) {
-            QRectF r(children.at(i)->sceneBoundingRect());
-            r.translate(offset);
-            path.addRect(r);
-        } else if (children.at(i)->type() == GROUPWIDGET) {
-            QList<QGraphicsItem *> subchildren = children.at(i)->childItems();
-            for (int j = 0; j < subchildren.count(); j++) {
-                if (subchildren.at(j)->type() == AVWIDGET) {
-                    QRectF r(subchildren.at(j)->sceneBoundingRect());
-                    r.translate(offset);
-                    path.addRect(r);
-                }
-            }
-        }
-    }
-    return path;
+    return groupShape(AVWIDGET, offset);
 }
 
 QPainterPath AbstractGroupItem::transitionGroupShape(QPointF offset) const
+{
+    return groupShape(TRANSITIONWIDGET, offset);
+}
+
+QPainterPath AbstractGroupItem::groupShape(GRAPHICSRECTITEM type, QPointF offset) const
 {
     QPainterPath path;
     QList<QGraphicsItem *> children = childItems();
     for (int i = 0; i < children.count(); i++) {
-        if (children.at(i)->type() == TRANSITIONWIDGET) {
+        if (children.at(i)->type() == (int)type) {
             QRectF r(children.at(i)->sceneBoundingRect());
             r.translate(offset);
             path.addRect(r);
         } else if (children.at(i)->type() == GROUPWIDGET) {
             QList<QGraphicsItem *> subchildren = children.at(i)->childItems();
             for (int j = 0; j < subchildren.count(); j++) {
-                if (subchildren.at(j)->type() == TRANSITIONWIDGET) {
+                if (subchildren.at(j)->type() == (int)type) {
                     QRectF r(subchildren.at(j)->sceneBoundingRect());
                     r.translate(offset);
                     path.addRect(r);