]> git.sesse.net Git - kdenlive/blobdiff - src/mainwindow.h
New effectstack with collapsible effects, preparing for effect masks and groups
[kdenlive] / src / mainwindow.h
index 703fc625cd0ef08b695bde47b21c03f207fd089d..717efb06645ef0fe2aa6cf8b1cb1d312ea258843 100644 (file)
@@ -46,6 +46,7 @@
 #include "dvdwizard.h"
 #include "stopmotion/stopmotion.h"
 #include "noteswidget.h"
+#include "ui_backupdialog_ui.h"
 
 class KdenliveDoc;
 class TrackView;
@@ -53,15 +54,16 @@ class MonitorManager;
 class ProjectList;
 class EffectsListView;
 class EffectStackView;
+class EffectStackView2;
 class TransitionSettings;
 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;
@@ -153,7 +155,7 @@ private:
     NotesWidget *m_notesWidget;
 
     QDockWidget *m_effectStackDock;
-    EffectStackView *m_effectStack;
+    EffectStackView2 *m_effectStack;
 
     QDockWidget *m_transitionConfigDock;
     TransitionSettings *m_transitionConfig;
@@ -221,10 +223,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 +268,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);
@@ -293,6 +295,7 @@ private:
     QStringList m_pluginFileNames;
     QByteArray m_timelineState;
     void loadTranscoders();
+    void loadStabilize();
     QPixmap createSchemePreviewIcon(const KSharedConfigPtr &config);
 
     /** @brief Checks that the Kdenlive mime type is correctly installed.
@@ -304,6 +307,7 @@ private:
     void loadLayouts();
 
     StopmotionWidget *m_stopmotion;
+    QTime m_timer;
 
 public slots:
     /** @brief Prepares opening @param url.
@@ -345,7 +349,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);
@@ -410,6 +413,7 @@ private slots:
     void slotAddVideoEffect(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(ClipItem* item = NULL, int ix = -1, bool raise = true);
@@ -443,7 +447,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();
@@ -474,6 +478,7 @@ private slots:
     void slotShowTimeline(bool show);
     void slotMaximizeCurrent(bool show);
     void slotTranscode(KUrl::List urls = KUrl::List());
+    void slotStabilize(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();
@@ -528,6 +533,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. */
@@ -538,6 +545,13 @@ private slots:
     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);
 };