]> git.sesse.net Git - kdenlive/blob - src/mainwindow.h
Start of the undo framework
[kdenlive] / src / mainwindow.h
1 #ifndef MAINWINDOW_H
2 #define MAINWINDOW_H
3  
4 #include <QDockWidget>
5
6 #include <KXmlGuiWindow>
7 #include <KTextEdit>
8 #include <KListWidget>
9 #include <KTabWidget>
10 #include <KUndoStack>
11
12 #include "projectlist.h"
13 #include "monitor.h"
14 #include "monitormanager.h"
15 #include "kdenlivedoc.h"
16 #include "trackview.h"
17
18 class MainWindow : public KXmlGuiWindow
19 {
20   Q_OBJECT
21   
22   public:
23     MainWindow(QWidget *parent=0);
24     void openFile(const QString &inputFileName);
25   
26   private:
27     KTabWidget* m_timelineArea;
28     void setupActions();
29     QString fileName;
30     KdenliveDoc *m_activeDocument;
31     MonitorManager *m_monitorManager;
32
33     QDockWidget *projectListDock;
34     ProjectList *m_projectList;
35
36     QDockWidget *effectListDock;
37     KListWidget *effectList;
38
39     QDockWidget *effectStackDock;
40     KListWidget *effectStack;
41
42     QDockWidget *transitionConfigDock;
43     KListWidget *transitionConfig;
44
45     QDockWidget *clipMonitorDock;
46     Monitor *m_clipMonitor;
47
48     QDockWidget *projectMonitorDock;
49     Monitor *m_projectMonitor;
50
51     KUndoStack *m_commandStack;
52  
53   private slots:
54     void newFile();
55     void activateDocument();
56     void connectDocument(TrackView*, KdenliveDoc*);
57     void openFile();
58     void saveFile();
59     void saveFileAs();
60     void saveFileAs(const QString &outputFileName);
61     void slotPreferences();
62     void slotConnectMonitors();
63     void slotRaiseMonitor(bool clipMonitor);
64 };
65  
66 #endif