X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Ftrackview.h;h=7002e10f72d28cb05f8f5eef96793dfdbe98ab79;hb=2b46b701a1a20a5daa519e6201e051fabca198ad;hp=d2f114d5561cdfc7f660f7e96257d71adae9b6ae;hpb=e2ca1b0cdda0f7caf8e3cb4f6c2301ace00a1a41;p=kdenlive diff --git a/src/trackview.h b/src/trackview.h index d2f114d5..7002e10f 100644 --- a/src/trackview.h +++ b/src/trackview.h @@ -27,24 +27,26 @@ #include #include #include +#include -#define FRAME_SIZE 90 +#include "customtrackscene.h" #include "ui_timeline_ui.h" -#include "customruler.h" -#include "kdenlivedoc.h" -#include "customtrackview.h" + class ClipItem; class Transition; +class CustomTrackView; +class KdenliveDoc; +class CustomRuler; +class DocClipBase; -class TrackView : public QWidget { +class TrackView : public QWidget +{ 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(); @@ -53,47 +55,51 @@ public: int tracksNumber() const; KdenliveDoc *document(); void refresh() ; + void updateProjectFps(); int outPoint() const; int inPoint() const; - int currentZoom() const; int fitZoom() const; public slots: - void slotDeleteClip(int clipId); - void slotChangeZoom(int factor); + void slotDeleteClip(const QString &clipId); + void slotChangeZoom(int horizontal, int vertical = -1); void setDuration(int dur); + void slotSetZone(QPoint p); private: - Ui::TimeLine_UI *view; + Ui::TimeLine_UI m_view; CustomRuler *m_ruler; CustomTrackView *m_trackview; + QList m_invalidProducers; double m_scale; int m_projectTracks; QString m_editMode; - QGraphicsScene *m_scene; - uint m_currentZoom; + CustomTrackScene *m_scene; KdenliveDoc *m_doc; - QVBoxLayout *m_tracksLayout; + int m_verticalZoom; QVBoxLayout *m_headersLayout; - QScrollArea *m_scrollArea; - QFrame *m_scrollBox; - QVBoxLayout *m_tracksAreaLayout; + QString m_documentErrors; void parseDocument(QDomDocument doc); - int slotAddAudioTrack(int ix, QDomElement xml); - int slotAddVideoTrack(int ix, QDomElement xml); + 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 slotClipItemSelected(ClipItem*); - void slotTransitionItemSelected(Transition*); + void slotRebuildTrackHeaders(); + void slotChangeTrackLock(int ix, bool lock); + void slotVerticalZoomDown(); + void slotVerticalZoomUp(); signals: void mousePosition(int); void cursorMoved(); - void clipItemSelected(ClipItem*); - void transitionItemSelected(Transition*); + void zoneMoved(int, int); + void insertTrack(int); + void deleteTrack(int); + void changeTrack(int); }; #endif