]> git.sesse.net Git - kdenlive/blobdiff - src/customtrackview.h
Various fixes to improve general stability in Qt 4.5.2
[kdenlive] / src / customtrackview.h
index 6ece8977ed6d3a54ffef7d4e66f7582262440cd9..9342d353bb84e03becbbdcf83bca07ee67c9205d 100644 (file)
@@ -59,12 +59,12 @@ public:
     /** 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);
-    void addClip(QDomElement xml, const QString &clipId, ItemInfo info, EffectsList list = EffectsList());
-    void deleteClip(ItemInfo info);
+    void addClip(QDomElement xml, const QString &clipId, ItemInfo info, EffectsList list = EffectsList(), bool refresh = true);
+    void deleteClip(ItemInfo info, bool refresh = true);
     void slotDeleteClipMarker(const QString &comment, const QString &id, const GenTime &position);
     void slotDeleteAllClipMarkers(const QString &id);
     void addMarker(const QString &id, const GenTime &pos, const QString comment);
-    void setScale(double scaleFactor);
+    void setScale(double scaleFactor, double verticalScale);
     void deleteClip(const QString &clipId);
     void slotAddEffect(QDomElement effect, GenTime pos, int track);
     void slotAddGroupEffect(QDomElement effect, AbstractGroupItem *group);
@@ -72,8 +72,8 @@ public:
     void deleteEffect(int track, GenTime pos, QDomElement effect);
     void updateEffect(int track, GenTime pos, QDomElement effect, int ix, bool triggeredByUser = true);
     void moveEffect(int track, GenTime pos, int oldPos, int newPos);
-    void addTransition(ItemInfo transitionInfo, int endTrack, QDomElement params);
-    void deleteTransition(ItemInfo transitionInfo, int endTrack, QDomElement params);
+    void addTransition(ItemInfo transitionInfo, int endTrack, QDomElement params, bool refresh);
+    void deleteTransition(ItemInfo transitionInfo, int endTrack, QDomElement params, bool refresh);
     void updateTransition(int track, GenTime pos,  QDomElement oldTransition, QDomElement transition, bool updateTransitionWidget);
     void moveTransition(GenTime oldpos, GenTime newpos);
     void activateMonitor();
@@ -96,7 +96,7 @@ public:
     void clipStart();
     void clipEnd();
     void changeClipSpeed();
-    void doChangeClipSpeed(ItemInfo info, const double speed, const double oldspeed, const QString &id);
+    void doChangeClipSpeed(ItemInfo info, const double speed, const double oldspeed, int strobe, const QString &id);
     void setDocumentModified();
     void setInPoint();
     void setOutPoint();
@@ -209,13 +209,13 @@ private:
     QMenu *m_timelineContextClipMenu;
     QMenu *m_timelineContextTransitionMenu;
     QAction *m_autoTransition;
-    QAction *m_changeSpeedAction;
     QAction *m_pasteEffectsAction;
     QAction *m_ungroupAction;
     QAction *m_editGuide;
     QAction *m_deleteGuide;
     QActionGroup *m_clipTypeGroup;
     QTimer m_scrollTimer;
+    QTimer m_thumbsTimer;
     int m_scrollOffset;
     bool m_clipDrag;
 
@@ -229,10 +229,11 @@ private:
     QPoint m_menuPosition;
     bool m_blockRefresh;
     AbstractGroupItem *m_selectionGroup;
+    QList <ClipItem *> m_waitingThumbs;
 
     /** Get the index of the video track that is just below current track */
     int getPreviousVideoTrack(int track);
-    void updateClipFade(ClipItem * item, bool updateFadeOut = false);
+    void updateClipFade(ClipItem * item);
     bool canBePastedTo(ItemInfo info, int type) const;
     bool canBePasted(QList<AbstractClipItem *> items, GenTime offset, int trackOffset) const;
     bool canBeMoved(QList<AbstractClipItem *> items, GenTime offset, int trackOffset) const;
@@ -246,6 +247,8 @@ private:
     /** Get available space for transition move (min and max free positions) */
     void getTransitionAvailableSpace(AbstractClipItem *item, GenTime &minimum, GenTime &maximum);
     void updateClipTypeActions(ClipItem *clip);
+    /** Whether an item can be moved to a new position without colliding with similar items */
+    bool itemCollision(AbstractClipItem *item, ItemInfo newPos);
 
 private slots:
     void slotRefreshGuides();
@@ -253,6 +256,7 @@ private slots:
     void slotCheckMouseScrolling();
     void slotEditTimeLineGuide();
     void slotDeleteTimeLineGuide();
+    void slotFetchNextThumbs();
 
 signals:
     void cursorMoved(int, int);