]> git.sesse.net Git - kdenlive/blobdiff - src/mainwindow.h
Add effect files
[kdenlive] / src / mainwindow.h
index 5a9d74b35a406e7c081eeb7355254cb840a5f667..b2d676afc848c84938fafb7e673d7f3c44639529 100644 (file)
@@ -1,19 +1,45 @@
+/***************************************************************************
+ *   Copyright (C) 2007 by Jean-Baptiste Mardelle (jb@kdenlive.org)        *
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ *   This program is distributed in the hope that it will be useful,       *
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
+ *   GNU General Public License for more details.                          *
+ *                                                                         *
+ *   You should have received a copy of the GNU General Public License     *
+ *   along with this program; if not, write to the                         *
+ *   Free Software Foundation, Inc.,                                       *
+ *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA          *
+ ***************************************************************************/
+
+
 #ifndef MAINWINDOW_H
 #define MAINWINDOW_H
  
 #include <QDockWidget>
+#include <QUndoView>
+#include <QLabel>
 
 #include <KXmlGuiWindow>
 #include <KTextEdit>
 #include <KListWidget>
 #include <KTabWidget>
 #include <KUndoStack>
+#include <KRecentFilesAction>
+#include <KComboBox>
 
 #include "projectlist.h"
 #include "monitor.h"
 #include "monitormanager.h"
 #include "kdenlivedoc.h"
 #include "trackview.h"
+#include "customtrackview.h"
+#include "effectslist.h"
 
 class MainWindow : public KXmlGuiWindow
 {
@@ -21,11 +47,14 @@ class MainWindow : public KXmlGuiWindow
   
   public:
     MainWindow(QWidget *parent=0);
-    void openFile(const QString &inputFileName);
+
+  protected:
+    virtual bool queryClose();
   
   private:
     KTabWidget* m_timelineArea;
     void setupActions();
+    void fillEffectsList();
     QString fileName;
     KdenliveDoc *m_activeDocument;
     MonitorManager *m_monitorManager;
@@ -34,7 +63,7 @@ class MainWindow : public KXmlGuiWindow
     ProjectList *m_projectList;
 
     QDockWidget *effectListDock;
-    KListWidget *effectList;
+    KListWidget *m_effectList;
 
     QDockWidget *effectStackDock;
     KListWidget *effectStack;
@@ -48,8 +77,29 @@ class MainWindow : public KXmlGuiWindow
     QDockWidget *projectMonitorDock;
     Monitor *m_projectMonitor;
 
+    QDockWidget *undoViewDock;
+    QUndoView *m_undoView;
     KUndoStack *m_commandStack;
+    QAction *m_undo;
+    QAction *m_redo;
+
+    KComboBox *m_timecodeFormat;
+
+    QDockWidget *overviewDock;
+    CustomTrackView *m_overView;
+
+    EffectsList m_videoEffects;
+    EffectsList m_audioEffects;
+    EffectsList m_customEffects;
+
+    KRecentFilesAction *m_fileOpenRecent;
+    void readOptions();
+    void saveOptions();
+
+  public slots:
+    void openFile(const KUrl &url);
+
+
   private slots:
     void newFile();
     void activateDocument();
@@ -61,6 +111,8 @@ class MainWindow : public KXmlGuiWindow
     void slotPreferences();
     void slotConnectMonitors();
     void slotRaiseMonitor(bool clipMonitor);
+    void slotSetClipDuration(int id, int duration);
+    void slotUpdateMousePosition(int pos);
 };
  
 #endif