+ } else if (mode == INSERTEDIT) {
+ // if we are in push mode, move clips accordingly
+ ItemInfo info;
+ if (item == NULL) info = posinfo;
+ else info = item->info();
+ QRectF rect(info.startPos.frames(m_document->fps()), info.track * m_tracksHeight + m_tracksHeight / 2, (info.endPos - info.startPos).frames(m_document->fps()) - 1, 5);
+ QList<QGraphicsItem *> selection = m_scene->items(rect);
+ if (item) selection.removeAll(item);
+ for (int i = 0; i < selection.count(); i++) {
+ if (selection.at(i)->type() == AVWIDGET) {
+ ClipItem *clip = static_cast<ClipItem *>(selection.at(i));
+ if (clip->startPos() < info.startPos) {
+ if (clip->endPos() > info.startPos) {
+ ItemInfo clipInfo = clip->info();
+ ItemInfo dupInfo = clipInfo;
+ GenTime diff = info.startPos - clipInfo.startPos;
+ dupInfo.startPos = info.startPos;
+ dupInfo.cropStart += diff;
+ dupInfo.cropDuration = clipInfo.endPos - info.startPos;
+ new RazorClipCommand(this, clipInfo, info.startPos, false, command);
+ // Commented out; variable dup unused. --granjow
+ //ClipItem *dup = cutClip(clipInfo, info.startPos, true, false);
+ cutClip(clipInfo, info.startPos, true, false);
+ }
+ }
+ // TODO: add insertspacecommand
+ }
+ }