}
}
+
+void CustomTrackView::slotAddTransitionToSelectedClips(QDomElement transition) {
+ QList<QGraphicsItem *> itemList = scene()->selectedItems();
+ for (int i = 0; i < itemList.count(); i++) {
+ if (itemList.at(i)->type() == AVWIDGET) {
+ ClipItem *item = (ClipItem *) itemList.at(i);
+ ItemInfo info;
+ info.startPos = item->startPos();
+ info.endPos = info.startPos + GenTime(2.5);
+ info.track = item->track();
+ int transitiontrack = getPreviousVideoTrack(info.track);
+ slotAddTransition(item, info, transitiontrack, transition);
+ }
+ }
+}
+
void CustomTrackView::slotAddTransition(ClipItem* clip, ItemInfo transitionInfo, int endTrack, QDomElement transition) {
AddTransitionCommand* command = new AddTransitionCommand(this, transitionInfo, endTrack, transition, false, true);
m_commandStack->push(command);
void slotRefreshEffects(ClipItem *clip);
void setDuration(int duration);
void slotAddTransition(ClipItem* clip, ItemInfo transitionInfo, int endTrack, QDomElement transition = QDomElement());
+ void slotAddTransitionToSelectedClips(QDomElement transition);
void slotTransitionUpdated(Transition *, QDomElement);
void slotSwitchTrackAudio(int ix);
void slotSwitchTrackVideo(int ix);
m_timelineContextClipMenu = new QMenu(this);
m_timelineContextTransitionMenu = new QMenu(this);
+
+ QMenu *transitionsMenu = new QMenu(i18n("Add Transition"), this);
+ effects = transitions.effectNames();
+ foreach(const QString &name, effects) {
+ action = new QAction(name, this);
+ action->setData(name);
+ transitionsMenu->addAction(action);
+ }
+ connect(transitionsMenu, SIGNAL(triggered(QAction *)), this, SLOT(slotAddTransition(QAction *)));
+
m_timelineContextClipMenu->addAction(actionCollection()->action("delete_timeline_clip"));
m_timelineContextClipMenu->addAction(actionCollection()->action("cut_timeline_clip"));
QMenu *markersMenu = (QMenu*)(factory()->container("marker_menu", this));
m_timelineContextClipMenu->addMenu(markersMenu);
+ m_timelineContextClipMenu->addMenu(transitionsMenu);
m_timelineContextClipMenu->addMenu(videoEffectsMenu);
m_timelineContextClipMenu->addMenu(audioEffectsMenu);
m_timelineContextClipMenu->addMenu(customEffectsMenu);
- m_timelineContextTransitionMenu->addAction(action);
+ m_timelineContextTransitionMenu->addAction(actionCollection()->action("delete_timeline_clip"));
connect(projectMonitorDock, SIGNAL(visibilityChanged(bool)), m_projectMonitor, SLOT(refreshMonitor(bool)));
connect(clipMonitorDock, SIGNAL(visibilityChanged(bool)), m_clipMonitor, SLOT(refreshMonitor(bool)));
m_activeDocument->slotAddClipFile(url, QString());
}
+void MainWindow::slotAddTransition(QAction *result) {
+ if (!result) return;
+ QDomElement effect = transitions.getEffectByName(result->data().toString());
+ TrackView *currentTab = (TrackView *) m_timelineArea->currentWidget();
+ if (currentTab) {
+ currentTab->projectView()->slotAddTransitionToSelectedClips(effect);
+ }
+}
+
void MainWindow::slotAddVideoEffect(QAction *result) {
if (!result) return;
QDomElement effect = videoEffects.getEffectByName(result->data().toString());
void slotAddVideoEffect(QAction *result);
void slotAddAudioEffect(QAction *result);
void slotAddCustomEffect(QAction *result);
+ void slotAddTransition(QAction *result);
void slotAddProjectClip(KUrl url);
void slotShuttleButton(int code);
void slotShowClipProperties(DocClipBase *clip);