connect(m_deleteGuide , SIGNAL(triggered()), this, SLOT(slotDeleteGuide()));
QAction *delAllGuides = m_contextMenu->addAction(KIcon("edit-delete"), i18n("Delete All Guides"));
connect(delAllGuides, SIGNAL(triggered()), m_view, SLOT(slotDeleteAllGuides()));
+ m_goMenu = m_contextMenu->addMenu(i18n("Go To"));
+ connect(m_goMenu, SIGNAL(triggered( QAction *)), this, SLOT(slotGoToGuide(QAction *)));
setMouseTracking(true);
setMinimumHeight(20);
}
m_view->slotDeleteGuide(m_clickedGuide);
}
+void CustomRuler::slotGoToGuide(QAction *act)
+{
+ m_view->initCursorPos(act->data().toInt());
+}
+
void CustomRuler::setZone(QPoint p)
{
m_zoneStart = p.x();
m_clickedGuide = m_view->hasGuide((int)(pos / m_factor), (int)(5 / m_factor + 1));
m_editGuide->setEnabled(m_clickedGuide > 0);
m_deleteGuide->setEnabled(m_clickedGuide > 0);
+ m_view->buildGuidesMenu(m_goMenu);
m_contextMenu->exec(event->globalPos());
return;
}
int m_rate;
int m_startRate;
MOUSE_MOVE m_mouseMove;
+ QMenu *m_goMenu;
public slots:
private slots:
void slotEditGuide();
void slotDeleteGuide();
+ void slotGoToGuide(QAction *act);
signals:
void zoneMoved(int, int);
return -1;
}
+void CustomTrackView::buildGuidesMenu(QMenu *goMenu) const
+{
+ QAction *act;
+ goMenu->clear();
+ double fps = m_document->fps();
+ for (int i = 0; i < m_guides.count(); i++) {
+ act = goMenu->addAction(m_guides.at(i)->label() + "/" + Timecode::getStringTimecode(m_guides.at(i)->position().frames(fps), fps));
+ act->setData(m_guides.at(i)->position().frames(m_document->fps()));
+ }
+ goMenu->setEnabled(!m_guides.isEmpty());
+}
+
void CustomTrackView::editGuide(const GenTime oldPos, const GenTime pos, const QString &comment)
{
if (oldPos > GenTime() && pos > GenTime()) {
return clipIds;
}
+QList<ClipItem *> CustomTrackView::selectedClipItems() const
+{
+ QList<ClipItem *> clips;
+ QList<QGraphicsItem *> selection = m_scene->selectedItems();
+ for (int i = 0; i < selection.count(); i++) {
+ if (selection.at(i)->type() == AVWIDGET) {
+ clips.append((ClipItem *)selection.at(i));
+ }
+ }
+ return clips;
+}
+
void CustomTrackView::slotSelectTrack(int ix)
{
m_selectedTrack = qMax(0, ix);
double fps() const;
int selectedTrack() const;
QStringList selectedClips() const;
+ QList<ClipItem *> selectedClipItems() const;
void selectClip(bool add, bool group = false);
void selectTransition(bool add, bool group = false);
QStringList extractTransitionsLumas();
void insertClipCut(DocClipBase *clip, int in, int out);
void clearSelection();
void editItemDuration();
+ void buildGuidesMenu(QMenu *goMenu) const;
public slots:
void setCursorPos(int pos, bool seek = true);