]> git.sesse.net Git - kdenlive/commitdiff
Make "Edit duration" in the transition context menu work
authorTill Theato <root@ttill.de>
Mon, 12 Apr 2010 16:18:59 +0000 (16:18 +0000)
committerTill Theato <root@ttill.de>
Mon, 12 Apr 2010 16:18:59 +0000 (16:18 +0000)
svn path=/trunk/kdenlive/; revision=4383

src/customtrackview.cpp
src/customtrackview.h
src/mainwindow.cpp
src/mainwindow.h

index 3054da721e50f29d27ecccb99e994c64c222b984..b5ea9f328589d54cfeda6dd19e11f792d133b3f3 100644 (file)
@@ -1285,7 +1285,7 @@ void CustomTrackView::mouseDoubleClickEvent(QMouseEvent *event)
             emit clipItemSelected(item, item->selectedEffectIndex());
         }
     } else if (m_dragItem && !m_dragItem->isItemLocked()) {
-        editClipDuration();
+        editItemDuration();
     } else {
         QList<QGraphicsItem *> collisionList = items(event->pos());
         if (collisionList.count() == 1 && collisionList.at(0)->type() == GUIDEITEM) {
@@ -1295,18 +1295,21 @@ void CustomTrackView::mouseDoubleClickEvent(QMouseEvent *event)
     }
 }
 
-void CustomTrackView::editClipDuration()
+void CustomTrackView::editItemDuration()
 {
     AbstractClipItem *item;
     if (m_dragItem) {
         item = m_dragItem;
     } else {
-        GenTime pos = GenTime((int)(mapToScene(m_menuPosition).x()), m_document->fps());
-        int track = (int)(mapToScene(m_menuPosition).y() / m_tracksHeight);
-        item = getClipItemAt(pos, track);
+        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);
+            return;
+        }
     }
 
-    if (item && !item->isItemLocked()) {
+    if (!item->isItemLocked()) {
         GenTime minimum;
         GenTime maximum;
         if (item->type() == TRANSITIONWIDGET) {
@@ -1357,7 +1360,7 @@ void CustomTrackView::editClipDuration()
                 m_commandStack->push(moveCommand);
             }
         }
-    }
+    } else emit displayMessage(i18n("Item is locked"), ErrorMessage);
 }
 
 void CustomTrackView::editKeyFrame(const GenTime pos, const int track, const int index, const QString keyframes)
index 654f8095193fc9f04e85315a1fa45c226f83bcba..a023f93a434aad41fa8ef09afb5a7fb29bd32112 100644 (file)
@@ -131,7 +131,7 @@ public:
     void setEditMode(EDITMODE mode);
     void insertClipCut(DocClipBase *clip, int in, int out);
     void clearSelection();
-    void editClipDuration();
+    void editItemDuration();
 
 public slots:
     void setCursorPos(int pos, bool seek = true);
index 8a61c88f3b8595778ec91e2ad0b3c8ca212c50fc..7459cbe48928697ff63696a9abbbe7222da7f2d5 100644 (file)
@@ -401,7 +401,7 @@ MainWindow::MainWindow(const QString &MltPath, const KUrl & Url, QWidget *parent
     m_timelineContextMenu->addAction(actionCollection()->action("delete_space"));
     m_timelineContextMenu->addAction(actionCollection()->action(KStandardAction::name(KStandardAction::Paste)));
 
-    m_timelineContextClipMenu->addAction(actionCollection()->action("edit_clip_duration"));
+    m_timelineContextClipMenu->addAction(actionCollection()->action("edit_item_duration"));
     m_timelineContextClipMenu->addAction(actionCollection()->action("delete_timeline_clip"));
     m_timelineContextClipMenu->addAction(actionCollection()->action("group_clip"));
     m_timelineContextClipMenu->addAction(actionCollection()->action("ungroup_clip"));
@@ -418,7 +418,7 @@ MainWindow::MainWindow(const QString &MltPath, const KUrl & Url, QWidget *parent
     //TODO: re-enable custom effects menu when it is implemented
     m_timelineContextClipMenu->addMenu(m_customEffectsMenu);
 
-    m_timelineContextTransitionMenu->addAction(actionCollection()->action("edit_clip_duration"));
+    m_timelineContextTransitionMenu->addAction(actionCollection()->action("edit_item_duration"));
     m_timelineContextTransitionMenu->addAction(actionCollection()->action("delete_timeline_clip"));
     m_timelineContextTransitionMenu->addAction(actionCollection()->action(KStandardAction::name(KStandardAction::Copy)));
 
@@ -1141,9 +1141,9 @@ void MainWindow::setupActions()
     ungroupClip->setData("ungroup_clip");
     connect(ungroupClip, SIGNAL(triggered(bool)), this, SLOT(slotUnGroupClips()));
 
-    KAction* editClipDuration = new KAction(KIcon("measure"), i18n("Edit Duration"), this);
-    collection->addAction("edit_clip_duration", editClipDuration);
-    connect(editClipDuration, SIGNAL(triggered(bool)), this, SLOT(slotEditClipDuration()));
+    KAction* editItemDuration = new KAction(KIcon("measure"), i18n("Edit Duration"), this);
+    collection->addAction("edit_item_duration", editItemDuration);
+    connect(editItemDuration, SIGNAL(triggered(bool)), this, SLOT(slotEditItemDuration()));
 
     KAction* insertOvertwrite = new KAction(KIcon(), i18n("Insert Clip Zone in Timeline (Overwrite)"), this);
     insertOvertwrite->setShortcut(Qt::Key_V);
@@ -2480,10 +2480,10 @@ void MainWindow::slotUnGroupClips()
     }
 }
 
-void MainWindow::slotEditClipDuration()
+void MainWindow::slotEditItemDuration()
 {
     if (m_activeTimeline) {
-        m_activeTimeline->projectView()->editClipDuration();
+        m_activeTimeline->projectView()->editItemDuration();
     }
 }
 
index 62b562e3164d553d95876177c305cbdadc9a295a..4307bd9aca0fb891511d35e4bcacf79ba43291c4 100644 (file)
@@ -320,7 +320,7 @@ private slots:
     void slotDvdWizard(const QString &url = QString(), const QString &profile = "dv_pal");
     void slotGroupClips();
     void slotUnGroupClips();
-    void slotEditClipDuration();
+    void slotEditItemDuration();
     void slotSplitAudio();
     void slotUpdateClipType(QAction *action);
     void slotShowTimeline(bool show);