#ifndef MAINWINDOW_H
#define MAINWINDOW_H
-
+
#include <QDockWidget>
#include <QUndoView>
#include <QLabel>
#include <QProgressBar>
+#include <QEvent>
#include <KXmlGuiWindow>
#include <KTextEdit>
#include "projectlist.h"
#include "monitor.h"
+#include "recmonitor.h"
#include "monitormanager.h"
#include "kdenlivedoc.h"
#include "trackview.h"
#include "effectslist.h"
#include "effectslistview.h"
#include "effectstackview.h"
+#include "transitionsettings.h"
+#include "ui_timelinebuttons_ui.h"
+#include "renderwidget.h"
+#include "jogshuttle.h"
+class MainWindow : public KXmlGuiWindow {
+ Q_OBJECT
-class MainWindow : public KXmlGuiWindow
-{
- Q_OBJECT
-
- public:
- MainWindow(QWidget *parent=0);
+public:
+ MainWindow(QWidget *parent = 0);
void parseProfiles();
- void customEvent ( QEvent * event );
- protected:
+
+protected:
virtual bool queryClose();
-
- private:
+ virtual void customEvent(QEvent * e);
+
+private:
KTabWidget* m_timelineArea;
QProgressBar *statusProgressBar;
QLabel* statusLabel;
void setupActions();
- QString fileName;
KdenliveDoc *m_activeDocument;
+ TrackView *m_activeTimeline;
MonitorManager *m_monitorManager;
QDockWidget *projectListDock;
EffectStackView *effectStack;
QDockWidget *transitionConfigDock;
- KListWidget *transitionConfig;
+ TransitionSettings *transitionConfig;
QDockWidget *clipMonitorDock;
Monitor *m_clipMonitor;
QDockWidget *projectMonitorDock;
Monitor *m_projectMonitor;
+ QDockWidget *recMonitorDock;
+ RecMonitor *m_recMonitor;
+
QDockWidget *undoViewDock;
QUndoView *m_undoView;
- KUndoStack *m_commandStack;
- QAction *m_undo;
- QAction *m_redo;
+ QUndoGroup *m_commandStack;
KComboBox *m_timecodeFormat;
EffectsList m_audioEffects;
EffectsList m_customEffects;
+ QMenu *m_timelineContextMenu;
+ QMenu *m_timelineContextClipMenu;
+ QMenu *m_timelineContextTransitionMenu;
+
+ RenderWidget *m_renderWidget;
+ Ui::TimelineButtons_UI timeline_buttons_ui;
+
+ JogShuttle *m_jogProcess;
+
KRecentFilesAction *m_fileOpenRecent;
void readOptions();
void saveOptions();
+ void activateShuttleDevice();
+ void slotShuttleAction(int code);
- public slots:
+public slots:
void openFile(const KUrl &url);
- private slots:
+private slots:
void newFile();
+ void undo();
+ void redo();
void activateDocument();
void connectDocument(TrackView*, KdenliveDoc*);
void openFile();
void saveFileAs();
void saveFileAs(const QString &outputFileName);
void slotPreferences();
+ void updateConfiguration();
void slotConnectMonitors();
void slotRaiseMonitor(bool clipMonitor);
void slotSetClipDuration(int id, int duration);
void slotUpdateMousePosition(int pos);
- void slotAddEffect(QDomElement effect);
+ void slotAddEffect(QDomElement effect, GenTime pos = GenTime(), int track = -1);
void slotEditProfiles();
void slotEditProjectSettings();
- void slotDisplayActionMessage( QAction *a);
+ void slotDisplayActionMessage(QAction *a);
+ void slotGotProgressInfo(KUrl url, int progress);
+ void slotSwitchVideoThumbs();
+ void slotSwitchAudioThumbs();
+ void slotRenderProject();
+ void slotDoRender(const QString &dest, const QString &render, const QStringList &avformat_args, bool zoneOnly, bool playAfter);
+ void slotFullScreen();
+ void slotUpdateDocumentState(bool modified);
+ void slotZoomIn();
+ void slotZoomOut();
+ void slotFitZoom();
+ void slotRemoveTab();
+ void slotDeleteTimelineClip();
+ void slotAddVideoEffect(QAction *result);
+ void slotAddAudioEffect(QAction *result);
+ void slotAddCustomEffect(QAction *result);
+ void slotAddProjectClip(KUrl url);
+ void slotShuttleButton(int code);
};
-
+
#endif