#include <QUndoView>
#include <QLabel>
#include <QProgressBar>
+#include <QEvent>
#include <KXmlGuiWindow>
#include <KTextEdit>
#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"
-#include "effectslistview.h"
-#include "effectstackview.h"
-#include "ui_timelinebuttons_ui.h"
-#include "renderwidget.h"
+#include "gentime.h"
+#include "definitions.h"
+#include "statusbarmessagelabel.h"
+
+class KdenliveDoc;
+class TrackView;
+class MonitorManager;
+class ProjectList;
+class EffectsListView;
+class EffectStackView;
+class TransitionSettings;
+class Monitor;
+class RecMonitor;
+class CustomTrackView;
+class RenderWidget;
+class JogShuttle;
+class DocClipBase;
class MainWindow : public KXmlGuiWindow {
Q_OBJECT
public:
MainWindow(QWidget *parent = 0);
-
void parseProfiles();
+ static EffectsList videoEffects;
+ static EffectsList audioEffects;
+ static EffectsList customEffects;
+ static EffectsList transitions;
protected:
virtual bool queryClose();
+ virtual void customEvent(QEvent * e);
private:
KTabWidget* m_timelineArea;
QProgressBar *statusProgressBar;
- QLabel* statusLabel;
void setupActions();
KdenliveDoc *m_activeDocument;
TrackView *m_activeTimeline;
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;
QUndoGroup *m_commandStack;
QDockWidget *overviewDock;
CustomTrackView *m_overView;
- EffectsList m_videoEffects;
- 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;
+
+ QAction *m_buttonAudioThumbs;
+ QAction *m_buttonVideoThumbs;
+ QAction *m_buttonShowMarkers;
+ QAction *m_buttonFitZoom;
+ QAction *m_buttonSelectTool;
+ QAction *m_buttonRazorTool;
+ QAction *m_buttonSnap;
+ QActionGroup *m_toolGroup;
+ QSlider *m_zoomSlider;
+ StatusBarMessageLabel *m_messageLabel;
+
void readOptions();
void saveOptions();
+ void activateShuttleDevice();
+ void slotShuttleAction(int code);
+ void connectDocumentInfo(KdenliveDoc *doc);
public slots:
void openFile(const KUrl &url);
+ void slotGotProgressInfo(const QString &message, int progress);
private slots:
void newFile();
void undo();
void redo();
+ void queryQuit();
void activateDocument();
- void closeDocument(QWidget *w);
void connectDocument(TrackView*, KdenliveDoc*);
void openFile();
void saveFile();
void slotEditProfiles();
void slotEditProjectSettings();
void slotDisplayActionMessage(QAction *a);
- void slotGotProgressInfo(KUrl url, int progress);
void slotSwitchVideoThumbs();
void slotSwitchAudioThumbs();
+ void slotSwitchMarkersComments();
+ void slotSwitchSnap();
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 slotAddClipMarker();
+ void slotDeleteClipMarker();
+ void slotEditClipMarker();
+ void slotCutTimelineClip();
+ void slotAddVideoEffect(QAction *result);
+ void slotAddAudioEffect(QAction *result);
+ void slotAddCustomEffect(QAction *result);
+ void slotAddTransition(QAction *result);
+ void slotAddProjectClip(KUrl url);
+ void slotShuttleButton(int code);
+ void slotShowClipProperties(DocClipBase *clip);
+ void slotActivateEffectStackView();
+ void slotActivateTransitionView();
+ void slotChangeTool(QAction * action);
+ void slotSetTool(PROJECTTOOL tool);
+ void slotSnapForward();
+ void slotSnapRewind();
};
#endif