]> git.sesse.net Git - kdenlive/blob - src/mainwindow.h
One undo stack for each project file
[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     QAction *m_undo;
53     QAction *m_redo;
54  
55   private slots:
56     void newFile();
57     void activateDocument();
58     void connectDocument(TrackView*, KdenliveDoc*);
59     void openFile();
60     void saveFile();
61     void saveFileAs();
62     void saveFileAs(const QString &outputFileName);
63     void slotPreferences();
64     void slotConnectMonitors();
65     void slotRaiseMonitor(bool clipMonitor);
66 };
67  
68 #endif