]> git.sesse.net Git - kdenlive/commitdiff
Select all should not select items in locked tracks: http://kdenlive.org/mantis/view...
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Mon, 31 Dec 2012 13:01:02 +0000 (14:01 +0100)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Mon, 31 Dec 2012 13:01:02 +0000 (14:01 +0100)
src/customtrackview.cpp

index 116332ae76dd24bb1624a7474b883120f3655e95..263db774fdc4ac80044384a0ebb5776cb15aa615 100644 (file)
@@ -1294,15 +1294,21 @@ void CustomTrackView::groupSelectedItems(QList <QGraphicsItem *> selection, bool
     for (int i = 0; i < selection.count(); i++) {
        if (selectNewGroup) selection.at(i)->setSelected(true);
        if (selection.at(i)->type() == GROUPWIDGET) {
-           groupsList.insert(static_cast<AbstractGroupItem*> (selection.at(i)));
+           AbstractGroupItem *it = static_cast <AbstractGroupItem *> (selection.at(i));
+           if (!it || it->isItemLocked()) continue;
+           groupsList.insert(it);
        }
     }
     for (int i = 0; i < selection.count(); i++) {
        if (selection.at(i)->type() == AVWIDGET || selection.at(i)->type() == TRANSITIONWIDGET) {
            if (selection.at(i)->parentItem() && selection.at(i)->parentItem()->type() == GROUPWIDGET) {
-               groupsList.insert(static_cast <QGraphicsItemGroup *> (selection.at(i)->parentItem()));
+               AbstractGroupItem *it = static_cast <AbstractGroupItem *> (selection.at(i)->parentItem());
+               if (!it || it->isItemLocked()) continue;
+               groupsList.insert(it);
            }
            else {
+               AbstractClipItem *it = static_cast<AbstractClipItem *> (selection.at(i));
+               if (!it || it->isItemLocked()) continue;
                itemsList.insert(selection.at(i));
            }
        }