]> git.sesse.net Git - kdenlive/blobdiff - src/customtrackview.h
* Fix several transition move problems
[kdenlive] / src / customtrackview.h
index a95a15b58a3e92c3c4e4b8599072f622ff3e3360..046ef36e38d1c6c8e08cbecb0d2ab06e396881ae 100644 (file)
@@ -50,9 +50,11 @@ public:
     virtual void mouseDoubleClickEvent(QMouseEvent *event);
     void addTrack(TrackInfo type, int ix = -1);
     void removeTrack(int ix);
+    void changeTrack(int ix, TrackInfo type);
     int cursorPos();
     void checkAutoScroll();
     void moveClip(const ItemInfo start, const ItemInfo end);
+    void moveGroup(QList <ItemInfo> startClip, QList <ItemInfo> startTransition, const GenTime offset, const int trackOffset, bool reverseMove = false);
     /** move transition, startPos = (old start, old end), endPos = (new start, new end) */
     void moveTransition(const ItemInfo start, const ItemInfo end);
     void resizeClip(const ItemInfo start, const ItemInfo end);
@@ -78,7 +80,7 @@ public:
     void cutSelectedClips();
     void setContextMenu(QMenu *timeline, QMenu *clip, QMenu *transition);
     void checkTrackHeight();
-    QList <TrackInfo> tracksList() const;
+    //QList <TrackInfo> tracksList() const;
     void setTool(PROJECTTOOL tool);
     void cutClip(ItemInfo info, GenTime cutTime, bool cut);
     void slotSeekToPreviousSnap();
@@ -98,10 +100,14 @@ public:
     void setOutPoint();
     void slotInsertSpace();
     void slotRemoveSpace();
-    void insertSpace(const GenTime &pos, int track, const GenTime duration, bool add);
+    void insertSpace(QList<ItemInfo> clipsToMove, QList<ItemInfo> transToMove, int track, const GenTime duration, const GenTime offset);
     ClipItem *getActiveClipUnderCursor(bool allowOutsideCursor = false) const;
-    void addTimelineTrack(int ix, TrackInfo trackinfo);
     void deleteTimelineTrack(int ix, TrackInfo trackinfo);
+    void changeTimelineTrack(int ix, TrackInfo trackinfo);
+    void saveThumbnails();
+    void autoTransition();
+    QStringList getLadspaParams(QDomElement effect) const;
+    void initCursorPos(int pos);
 
 public slots:
     void setCursorPos(int pos, bool seek = true);
@@ -135,6 +141,7 @@ public slots:
     void slotCheckPositionScrolling();
     void slotInsertTrack(int ix);
     void slotDeleteTrack(int ix);
+    void slotChangeTrack(int ix);
 
 protected:
     virtual void drawBackground(QPainter * painter, const QRectF & rect);
@@ -153,7 +160,6 @@ private:
     uint m_selectedTrack;
     int m_projectDuration;
     int m_cursorPos;
-    int m_spacerStart;
     KdenliveDoc *m_document;
     CustomTrackScene *m_scene;
     QGraphicsLineItem *m_cursorLine;
@@ -176,8 +182,12 @@ private:
     void updateSnapPoints(AbstractClipItem *selected);
     ClipItem *getClipItemAt(int pos, int track);
     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);
     void checkScrolling();
     /** Should we auto scroll while playing (keep in sync with KdenliveSettings::autoscroll() */
     bool m_autoScroll;
@@ -185,6 +195,7 @@ private:
     QMenu *m_timelineContextMenu;
     QMenu *m_timelineContextClipMenu;
     QMenu *m_timelineContextTransitionMenu;
+    QAction *m_autoTransition;
     QTimer m_scrollTimer;
     int m_scrollOffset;
 
@@ -209,7 +220,8 @@ private:
     ClipItem *getClipUnderCursor() const;
     ClipItem *getMainActiveClip() const;
     bool insertPossible(AbstractGroupItem *group, const QPoint &pos) const;
-    void resetSelectionGroup();
+    void resetSelectionGroup(bool selectItems = true);
+    void groupSelectedItems();
 
 private slots:
     void slotRefreshGuides();