X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fcustomtrackview.h;h=afa0b44912c8de691c94dcca7a81cc23347da628;hb=966ecf557c50a256f5991d1bba136a0dc51f850c;hp=fdfdc798c0053c119a600510d54228d4672e2c48;hpb=5cd08771831888003c9e27ec60ea7971721ff58a;p=kdenlive diff --git a/src/customtrackview.h b/src/customtrackview.h index fdfdc798..afa0b449 100644 --- a/src/customtrackview.h +++ b/src/customtrackview.h @@ -22,6 +22,7 @@ #define CUSTOMTRACKVIEW_H #include +#include #include #include @@ -42,6 +43,7 @@ class AbstractClipItem; class AbstractGroupItem; class Transition; + class CustomTrackView : public QGraphicsView { Q_OBJECT @@ -202,9 +204,17 @@ public slots: void slotSwitchTrackVideo(int ix); void slotSwitchTrackLock(int ix); void slotUpdateClip(const QString &clipId, bool reload = true); + + /** @brief Creates a AddClipCommand to add, edit or delete a marker. + * @param id Id of the marker's clip + * @param t Position of the marker + * @param c Comment of the marker */ void slotAddClipMarker(const QString &id, GenTime t, QString c); bool addGuide(const GenTime pos, const QString &comment); - void slotAddGuide(); + + /** @brief Shows a dialog for adding a guide. + * @param dialog (default = true) false = do not show the dialog but use current position as position and comment */ + void slotAddGuide(bool dialog = true); void slotEditGuide(CommentedTime guide); void slotEditGuide(int guidePos = -1); void slotDeleteGuide(int guidePos = -1); @@ -252,6 +262,12 @@ public slots: * @param ix The track index */ void slotAddTrackEffect(const QDomElement effect, int ix); + /** @brief Update the list of snap points (sticky timeline hotspots). + * @param selected The currently selected clip if any + * @param offsetList The list of points that should also snap (for example when movin a clip, start and end points should snap + * @param skipSelectedItems if true, the selected item start and end points will not be added to snap list */ + void updateSnapPoints(AbstractClipItem *selected, QList offsetList = QList (), bool skipSelectedItems = false); + protected: virtual void drawBackground(QPainter * painter, const QRectF & rect); //virtual void drawForeground ( QPainter * painter, const QRectF & rect ); @@ -288,7 +304,7 @@ private: QPoint m_clickEvent; QList m_searchPoints; QList m_guides; - void updateSnapPoints(AbstractClipItem *selected, QList offsetList = QList (), bool skipSelectedItems = false); + ClipItem *getClipItemAt(int pos, int track); ClipItem *getClipItemAt(GenTime pos, int track); ClipItem *getClipItemAtEnd(GenTime pos, int track); @@ -332,6 +348,7 @@ private: QMutex m_mutex; QWaitCondition m_producerNotReady; + KStatefulBrush m_activeTrackBrush; /** stores the state of the control modifier during mouse press. * Will then be used to identify whether we resize a group or only one item of it. */ @@ -398,11 +415,17 @@ private: /** @brief Updates @param item's pan and zoom effect after resize or cut. * @param item clip whose pan and zoom effect should be updated - * @param cutPos (optional) if clip was cut, cut position relative to the original's clip position - * - */ + * @param cutPos (optional) if clip was cut, cut position relative to the original's clip position */ void updatePanZoom(ClipItem *item, GenTime cutPos = GenTime()); + /** @brief Update Tracknames to fit again after track was added/deleted. + * @param track Number of track which was added/deleted + * @param added true = track added, false = track deleted + * + * The default track name consists of type + number. If we add/delete a track the number has to be adjusted + * if the name is still the default one. */ + void updateTrackNames(int track, bool added); + private slots: void slotRefreshGuides(); void slotEnableRefresh();