class Transition;
class CustomTrackScene;
-class CustomTrackView : public QGraphicsView {
+class CustomTrackView : public QGraphicsView
+{
Q_OBJECT
public:
int duration() const;
void deleteSelectedClips();
void cutSelectedClips();
- void setContextMenu(QMenu *timeline, QMenu *clip, QMenu *transition);
+ void setContextMenu(QMenu *timeline, QMenu *clip, QMenu *transition, QActionGroup *clipTypeGroup);
void checkTrackHeight();
//QList <TrackInfo> tracksList() const;
void setTool(PROJECTTOOL tool);
void lockTrack(int ix, bool lock);
void groupClips(bool group = true);
void doGroupClips(QList <ItemInfo> clipInfos, QList <ItemInfo> transitionInfos, bool group);
+ void loadGroups(const QDomNodeList groups);
+ void splitAudio();
+ void doSplitAudio(const GenTime &pos, int track, bool split);
+ void setVideoOnly();
+ void setAudioOnly();
+ void setAudioAndVideo();
+ void doChangeClipType(const GenTime &pos, int track, bool videoOnly, bool audioOnly);
public slots:
void setCursorPos(int pos, bool seek = true);
ClipItem *getClipItemAt(GenTime pos, int track);
ClipItem *getClipItemAtEnd(GenTime pos, int track);
ClipItem *getClipItemAtStart(GenTime pos, int track);
+ Transition *getTransitionItemAt(int pos, int track);
Transition *getTransitionItemAt(GenTime pos, int track);
Transition *getTransitionItemAtEnd(GenTime pos, int track);
Transition *getTransitionItemAtStart(GenTime pos, int track);
QAction *m_changeSpeedAction;
QAction *m_pasteEffectsAction;
QAction *m_ungroupAction;
+ QActionGroup *m_clipTypeGroup;
QTimer m_scrollTimer;
int m_scrollOffset;
bool m_clipDrag;
void getClipAvailableSpace(AbstractClipItem *item, GenTime &minimum, GenTime &maximum);
/** Get available space for transition move (min and max free positions) */
void getTransitionAvailableSpace(AbstractClipItem *item, GenTime &minimum, GenTime &maximum);
- /** Send a list of all current groups to clipmanager */
- void syncGroups();
-
+ void updateClipTypeActions(ClipItem *clip);
private slots:
void slotRefreshGuides();