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 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);
+ int hasGuide(int pos, int offset);
public slots:
void setCursorPos(int pos, bool seek = true);
bool addGuide(const GenTime pos, const QString &comment);
void slotAddGuide();
void slotEditGuide(CommentedTime guide);
- void slotEditGuide();
- void slotDeleteGuide();
+ void slotEditGuide(int guidePos = -1);
+ void slotDeleteGuide(int guidePos = -1);
void slotDeleteAllGuides();
void editGuide(const GenTime oldPos, const GenTime pos, const QString &comment);
void copyClip();
virtual void wheelEvent(QWheelEvent * e);
virtual QStringList mimeTypes() const;
virtual Qt::DropActions supportedDropActions() const;
- virtual void resizeEvent(QResizeEvent * event);
private:
- uint m_tracksHeight;
- uint m_selectedTrack;
+ int m_tracksHeight;
int m_projectDuration;
int m_cursorPos;
KdenliveDoc *m_document;
QAction *m_changeSpeedAction;
QAction *m_pasteEffectsAction;
QAction *m_ungroupAction;
+ QAction *m_editGuide;
+ QAction *m_deleteGuide;
+ QActionGroup *m_clipTypeGroup;
QTimer m_scrollTimer;
int m_scrollOffset;
bool m_clipDrag;
- QList <CommentedTime> m_searchStrings;
int m_findIndex;
PROJECTTOOL m_tool;
QCursor m_razorCursor;
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);
-
+ void updateClipTypeActions(ClipItem *clip);
private slots:
void slotRefreshGuides();
void slotEnableRefresh();
void slotCheckMouseScrolling();
+ void slotEditTimeLineGuide();
+ void slotDeleteTimeLineGuide();
signals:
void cursorMoved(int, int);