]> git.sesse.net Git - kdenlive/blobdiff - src/customtrackview.cpp
- Find clip, selected in project tree, in timeline
[kdenlive] / src / customtrackview.cpp
index b5ea9f328589d54cfeda6dd19e11f792d133b3f3..f4cb35fca5c1d7fafd6c2a2799bf31f537f5c6f0 100644 (file)
@@ -1304,7 +1304,11 @@ void CustomTrackView::editItemDuration()
         if (m_scene->selectedItems().count() == 1) {
             item = static_cast <AbstractClipItem *> (m_scene->selectedItems().at(0));
         } else {
-            emit displayMessage(i18n("Cannot edit the duration of multiple items"), ErrorMessage);
+            if (m_scene->selectedItems().empty()) {
+                emit displayMessage(i18n("Cannot find clip to edit"), ErrorMessage);
+            } else {
+                emit displayMessage(i18n("Cannot edit the duration of multiple items"), ErrorMessage);
+            }
             return;
         }
     }
@@ -4708,6 +4712,16 @@ bool CustomTrackView::findString(const QString &text)
     return false;
 }
 
+void CustomTrackView::selectFound(QString track, QString pos)
+{
+    setCursorPos(m_document->timecode().getFrameCount(pos), true);
+    slotSelectTrack(track.toInt());
+    selectClip(true);
+    int vert = verticalScrollBar()->value();
+    int hor = cursorPos();
+    ensureVisible(hor, vert + 10, 2, 2, 50, 0);
+}
+
 bool CustomTrackView::findNextString(const QString &text)
 {
     QString marker;
@@ -4757,6 +4771,21 @@ void CustomTrackView::clearSearchStrings()
     m_findIndex = 0;
 }
 
+QList<ItemInfo> CustomTrackView::findId(const QString &clipId)
+{
+    QList<ItemInfo> matchingInfo;
+    QList<QGraphicsItem *> itemList = items();
+    for (int i = 0; i < itemList.count(); i++) {
+        if (itemList.at(i)->type() == AVWIDGET) {
+            ClipItem *item = (ClipItem *)itemList.at(i);
+            if (item->clipProducer() == clipId) {
+                matchingInfo << item->info();
+            }
+        }
+    }
+    return matchingInfo;
+}
+
 void CustomTrackView::copyClip()
 {
     qDeleteAll(m_copiedItems);