]> git.sesse.net Git - kdenlive/blob - src/projectlist.h
7d8b390baa28c66d36318afb2235c9231c5e1300
[kdenlive] / src / projectlist.h
1 #ifndef PRJECTLIST_H
2 #define PRJECTLIST_H
3
4 #include <QDomNodeList>
5 #include <QToolBar>
6 #include <QTreeWidget>
7
8 #include <KUndoStack>
9 #include <KTreeWidgetSearchLine>
10
11 #include "docclipbase.h"
12 #include "kdenlivedoc.h"
13 #include "renderer.h"
14 #include "timecode.h"
15
16 class ProjectList : public QWidget
17 {
18   Q_OBJECT
19   
20   public:
21     ProjectList(QWidget *parent=0);
22
23     QDomElement producersList();
24     void setRenderer(Render *projectRender);
25
26     void addClip(const QStringList &name, const QDomElement &elem, const int clipId, const KUrl &url = KUrl());
27     void deleteClip(const int clipId);
28
29   public slots:
30     void setDocument(KdenliveDoc *doc);
31     void addProducer(QDomElement producer);
32     void slotReplyGetImage(int clipId, int pos, const QPixmap &pix, int w, int h);
33     void slotReplyGetFileProperties(int clipId, const QMap < QString, QString > &properties, const QMap < QString, QString > &metadata);
34
35
36   private:
37     QTreeWidget *listView;
38     KTreeWidgetSearchLine *searchView;
39     Render *m_render;
40     Timecode m_timecode;
41     double m_fps;
42     QToolBar *m_toolbar;
43     KUndoStack *m_commandStack;
44     int m_clipIdCounter;
45     void selectItemById(const int clipId);
46
47   private slots:
48     void slotAddClip();
49     void slotRemoveClip();
50     void slotEditClip();
51     void slotClipSelected();
52     void slotAddColorClip();
53
54   signals:
55     void clipSelected(const QDomElement &);
56     void getFileProperties(const QDomElement&, int);
57 };
58
59 #endif