X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Ftrackview.h;h=2defee005c97dff256b5daf8c9832b90d8f85829;hb=d4048b5cfa6fa527f5f77f1b8b4203673a6427eb;hp=23be1684b9aa54e7ecea5e59a5eb47c642720c52;hpb=40d8c63ec12c38560be338806ca1ccd9a01ddc0d;p=kdenlive diff --git a/src/trackview.h b/src/trackview.h index 23be1684..2defee00 100644 --- a/src/trackview.h +++ b/src/trackview.h @@ -22,14 +22,12 @@ #define TRACKVIEW_H #include -#include #include #include #include #include #include -#define FRAME_SIZE 90 #include "customtrackscene.h" #include "ui_timeline_ui.h" @@ -39,15 +37,15 @@ class Transition; class CustomTrackView; class KdenliveDoc; class CustomRuler; +class DocClipBase; -class TrackView : public QWidget { +class TrackView : public QWidget, public Ui::TimeLine_UI +{ Q_OBJECT public: - TrackView(KdenliveDoc *doc, QWidget *parent = 0); - - const double zoomFactor() const; - const int mapLocalToValue(int x) const; + explicit TrackView(KdenliveDoc *doc, bool *ok, QWidget *parent = 0); + virtual ~ TrackView(); void setEditMode(const QString & editMode); const QString & editMode() const; QGraphicsScene *projectScene(); @@ -56,49 +54,59 @@ public: int tracksNumber() const; KdenliveDoc *document(); void refresh() ; + void updateProjectFps(); int outPoint() const; int inPoint() const; int fitZoom() const; +protected: + virtual void keyPressEvent(QKeyEvent * event); + public slots: void slotDeleteClip(const QString &clipId); - void slotChangeZoom(int factor); + void slotChangeZoom(int horizontal, int vertical = -1); void setDuration(int dur); void slotSetZone(QPoint p); private: - Ui::TimeLine_UI *view; CustomRuler *m_ruler; CustomTrackView *m_trackview; + QList m_invalidProducers; double m_scale; int m_projectTracks; QString m_editMode; CustomTrackScene *m_scene; KdenliveDoc *m_doc; - QVBoxLayout *m_tracksLayout; - QVBoxLayout *m_headersLayout; - QScrollArea *m_scrollArea; - QFrame *m_scrollBox; - QVBoxLayout *m_tracksAreaLayout; + int m_verticalZoom; QString m_documentErrors; void parseDocument(QDomDocument doc); - int slotAddProjectTrack(int ix, QDomElement xml, bool videotrack); + int slotAddProjectTrack(int ix, QDomElement xml, bool locked); + DocClipBase *getMissingProducer(const QString id) const; + void adjustTrackHeaders(); private slots: void setCursorPos(int pos); void moveCursorPos(int pos); - void slotTransitionItemSelected(Transition*, bool update); + /** \brief Rebuild the track headers */ void slotRebuildTrackHeaders(); - + /** \brief The tracks count or a track name changed, rebuild and notify */ + void slotReloadTracks(); + void slotChangeTrackLock(int ix, bool lock); + void slotVerticalZoomDown(); + void slotVerticalZoomUp(); + void slotRenameTrack(int ix); + void slotRepaintTracks(); signals: void mousePosition(int); void cursorMoved(); - void transitionItemSelected(Transition*, bool); void zoneMoved(int, int); void insertTrack(int); void deleteTrack(int); + void changeTrack(int); + void updateTracksInfo(); + void setZoom(int); }; #endif