]> git.sesse.net Git - kdenlive/blobdiff - src/mainwindow.h
Merge branch 'refs/heads/v0.8.2'
[kdenlive] / src / mainwindow.h
index 34e24d1a408cfb2f006cae2527a96dd5f249a077..b2232914fb9c8de826ddaf7a2eba1142c2b1f3c2 100644 (file)
@@ -45,6 +45,8 @@
 #include "statusbarmessagelabel.h"
 #include "dvdwizard.h"
 #include "stopmotion/stopmotion.h"
+#include "noteswidget.h"
+#include "ui_backupdialog_ui.h"
 
 class KdenliveDoc;
 class TrackView;
@@ -57,10 +59,10 @@ class Monitor;
 class RecMonitor;
 class CustomTrackView;
 class RenderWidget;
-#ifndef NO_JOGSHUTTLE
+#ifdef USE_JOGSHUTTLE
 class JogShuttle;
 class JogShuttleAction;
-#endif /* NO_JOGSHUTTLE */
+#endif
 class DocClipBase;
 class Render;
 class Transition;
@@ -149,7 +151,7 @@ private:
     //KListWidget *m_effectList;
 
     QDockWidget *m_notesDock;
-    KTextEdit *m_notesWidget;
+    NotesWidget *m_notesWidget;
 
     QDockWidget *m_effectStackDock;
     EffectStackView *m_effectStack;
@@ -197,9 +199,8 @@ private:
     QList <QDockWidget *> m_gfxScopesList;
     QList <AbstractAudioScopeWidget *> m_audioScopesList;
 
-    QMenu *m_videoEffectsMenu;
-    QMenu *m_audioEffectsMenu;
-    QMenu *m_customEffectsMenu;
+    KActionCategory *m_effectActions;
+    QMenu *m_effectsMenu;
     QMenu *m_transitionsMenu;
     QMenu *m_timelineContextMenu;
     QMenu *m_timelineContextClipMenu;
@@ -221,10 +222,10 @@ private:
 
     RenderWidget *m_renderWidget;
 
-#ifndef NO_JOGSHUTTLE
+#ifdef USE_JOGSHUTTLE
     JogShuttle *m_jogProcess;
     JogShuttleAction* m_jogShuttle;
-#endif /* NO_JOGSHUTTLE */
+#endif
 
     KRecentFilesAction *m_fileOpenRecent;
     KAction *m_fileRevert;
@@ -266,9 +267,9 @@ private:
 
     void readOptions();
     void saveOptions();
-#ifndef NO_JOGSHUTTLE
+#ifdef USE_JOGSHUTTLE
     void activateShuttleDevice();
-#endif /* NO_JOGSHUTTLE */
+#endif
     void connectDocumentInfo(KdenliveDoc *doc);
     void findAhead();
     void doOpenFile(const KUrl &url, KAutoSaveFile *stale);
@@ -296,13 +297,15 @@ private:
     QPixmap createSchemePreviewIcon(const KSharedConfigPtr &config);
 
     /** @brief Checks that the Kdenlive mime type is correctly installed.
+    * @param open If set to true, this will return the mimetype allowed for file opening (adds .tar.gz format)
     * @return The mimetype */
-    QString getMimeType();
+    QString getMimeType(bool open = true);
 
     /** @brief Populates the "load layout" menu. */
     void loadLayouts();
 
     StopmotionWidget *m_stopmotion;
+    QTime m_timer;
 
 public slots:
     /** @brief Prepares opening @param url.
@@ -317,7 +320,6 @@ public slots:
 
 private slots:
     void newFile(bool showProjectSettings = true, bool force = false);
-    void queryQuit();
     void activateDocument();
     void connectDocument(TrackView*, KdenliveDoc*);
 
@@ -345,7 +347,6 @@ private slots:
     /** @brief Reflects setting changes to the GUI. */
     void updateConfiguration();
     void slotConnectMonitors();
-    void slotRaiseMonitor(bool clipMonitor);
     void slotUpdateClip(const QString &id);
     void slotUpdateMousePosition(int pos);
     void slotAddEffect(const QDomElement effect);
@@ -408,13 +409,12 @@ private slots:
     void slotSelectAddTimelineClip();
     void slotSelectAddTimelineTransition();
     void slotAddVideoEffect(QAction *result);
-    void slotAddAudioEffect(QAction *result);
-    void slotAddCustomEffect(QAction *result);
     void slotAddTransition(QAction *result);
     void slotAddProjectClip(KUrl url);
+    void slotAddProjectClipList(KUrl::List urls);
     void slotShowClipProperties(DocClipBase *clip);
     void slotShowClipProperties(QList <DocClipBase *>cliplist, QMap<QString, QString> commonproperties);
-    void slotActivateEffectStackView();
+    void slotActivateEffectStackView(ClipItem* item = NULL, int ix = -1, bool raise = true);
     void slotActivateTransitionView(Transition *);
     void slotChangeTool(QAction * action);
     void slotChangeEdit(QAction * action);
@@ -445,7 +445,7 @@ private slots:
 
     void slotAdjustClipMonitor();
     void slotAdjustProjectMonitor();
-    void slotSaveZone(Render *render, QPoint zone);
+    void slotSaveZone(Render *render, QPoint zone, DocClipBase *baseClip = NULL, KUrl path = KUrl());
 
     void slotSetInPoint();
     void slotSetOutPoint();
@@ -477,6 +477,8 @@ private slots:
     void slotMaximizeCurrent(bool show);
     void slotTranscode(KUrl::List urls = KUrl::List());
     void slotTranscodeClip();
+    /** @brief Archive project: creates a copy of the project file with all clips in a new folder. */
+    void slotArchiveProject();
     void slotSetDocumentRenderProfile(QMap <QString, QString> props);
     void slotPrepareRendering(bool scriptExport, bool zoneOnly, const QString &chapterFile);
 
@@ -528,6 +530,8 @@ private slots:
     void slotDoUpdateAudioScopeFrameRequest();
     /** @brief When switching between monitors, update the visible scopes. */
     void slotUpdateColorScopes();
+    /** @brief Active monitor deleted, clear scopes. */
+    void slotClearColorScopes();
     /** @brief Switch current monitor to fullscreen. */
     void slotSwitchFullscreen();
     /** @brief Open the stopmotion dialog. */
@@ -536,7 +540,15 @@ private slots:
     void slotDoAction(const QString& action_name);
     /** @brief Update project because the use of proxy clips was enabled / disabled. */
     void slotUpdateProxySettings();
+    /** @brief Insert current project's timecode into the notes widget. */
+    void slotInsertNotesTimecode();
+    /** @brief Open the project's backupdialog. */
+    void slotOpenBackupDialog(const KUrl url = KUrl());
+    /** @brief Disable proxies for this project. */
+    void slotDisableProxies();
+
+    void slotElapsedTime();
+
 signals:
     Q_SCRIPTABLE void abortRenderJob(const QString &url);
 };