X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fcustomtrackview.h;h=86c1b8b1a179275f0409b6fd5bb5653ea5bc49b4;hb=a632d81e9380955e48dde1a06f4eec357bd6bf10;hp=8fb5c2354b1e99068eec573eb596472a7ab8f131;hpb=b7e6954b0e02f444f9f41e722e75737176480218;p=kdenlive diff --git a/src/customtrackview.h b/src/customtrackview.h index 8fb5c235..86c1b8b1 100644 --- a/src/customtrackview.h +++ b/src/customtrackview.h @@ -64,7 +64,7 @@ public: 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); @@ -120,6 +120,8 @@ public: void setAudioOnly(); void setAudioAndVideo(); void doChangeClipType(const GenTime &pos, int track, bool videoOnly, bool audioOnly); + int hasGuide(int pos, int offset); + void reloadTransitionLumas(); public slots: void setCursorPos(int pos, bool seek = true); @@ -142,8 +144,8 @@ public slots: 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(); @@ -168,8 +170,7 @@ protected: virtual Qt::DropActions supportedDropActions() const; private: - uint m_tracksHeight; - uint m_selectedTrack; + int m_tracksHeight; int m_projectDuration; int m_cursorPos; KdenliveDoc *m_document; @@ -211,12 +212,14 @@ private: 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; - QList m_searchStrings; int m_findIndex; PROJECTTOOL m_tool; QCursor m_razorCursor; @@ -227,10 +230,11 @@ private: QPoint m_menuPosition; bool m_blockRefresh; AbstractGroupItem *m_selectionGroup; + QList 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 items, GenTime offset, int trackOffset) const; bool canBeMoved(QList items, GenTime offset, int trackOffset) const; @@ -244,11 +248,16 @@ 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(); void slotEnableRefresh(); void slotCheckMouseScrolling(); + void slotEditTimeLineGuide(); + void slotDeleteTimeLineGuide(); + void slotFetchNextThumbs(); signals: void cursorMoved(int, int); @@ -256,7 +265,7 @@ signals: void zoomOut(); void mousePosition(int); void clipItemSelected(ClipItem*, int ix = -1); - void transitionItemSelected(Transition*, bool update = false); + void transitionItemSelected(Transition*, int track = 0, QPoint p = QPoint(), bool update = false); void activateDocumentMonitor(); void trackHeightChanged(); void displayMessage(const QString, MessageType);