]> git.sesse.net Git - kdenlive/blobdiff - src/mainwindow.h
Fix "save zone" saving proxy instead of real clip:
[kdenlive] / src / mainwindow.h
index 602441b818fac33a9f6a33baf240fffa474ecd29..9ae254db655924d1473693242b2a46b162a19d6c 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;
@@ -70,6 +72,7 @@ class Waveform;
 class RGBParade;
 class KActionCollection;
 class AudioSignal;
+class AbstractAudioScopeWidget;
 class AudioSpectrum;
 class Spectrogram;
 
@@ -148,7 +151,7 @@ private:
     //KListWidget *m_effectList;
 
     QDockWidget *m_notesDock;
-    KTextEdit *m_notesWidget;
+    NotesWidget *m_notesWidget;
 
     QDockWidget *m_effectStackDock;
     EffectStackView *m_effectStack;
@@ -193,11 +196,11 @@ private:
     KComboBox *m_timecodeFormat;
 
     /** This list holds all the scopes used in Kdenlive, allowing to manage some global settings */
-    QList <QDockWidget *> m_scopesList;
+    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;
@@ -253,6 +256,7 @@ private:
     KAction *m_loopZone;
     KAction *m_playZone;
     KAction *m_loopClip;
+    KSelectAction *m_loadLayout;
     StatusBarMessageLabel *m_messageLabel;
     QActionGroup *m_clipTypeGroup;
     KActionCollection *m_effectsActionCollection;
@@ -293,8 +297,9 @@ 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();
@@ -314,7 +319,6 @@ public slots:
 
 private slots:
     void newFile(bool showProjectSettings = true, bool force = false);
-    void queryQuit();
     void activateDocument();
     void connectDocument(TrackView*, KdenliveDoc*);
 
@@ -342,7 +346,7 @@ private slots:
     /** @brief Reflects setting changes to the GUI. */
     void updateConfiguration();
     void slotConnectMonitors();
-    void slotRaiseMonitor(bool clipMonitor);
+    void slotRaiseMonitor(AbstractMonitor *monitor);
     void slotUpdateClip(const QString &id);
     void slotUpdateMousePosition(int pos);
     void slotAddEffect(const QDomElement effect);
@@ -405,13 +409,11 @@ 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 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);
@@ -442,7 +444,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 +476,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);
 
@@ -518,18 +522,28 @@ private slots:
     /** @brief The monitor informs that it needs (or not) to have frames sent by the renderer. */
     void slotMonitorRequestRenderFrame(bool request);
     /** @brief Check if someone needs the render frame sent. */
-    void slotUpdateScopeFrameRequest();
+    void slotUpdateGfxScopeFrameRequest();
     /** @brief Check if someone needs the render frame sent. */
-    void slotDoUpdateScopeFrameRequest();
+    void slotDoUpdateGfxScopeFrameRequest();
+    void slotUpdateAudioScopeFrameRequest();
+    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. */
     void slotOpenStopmotion();
     /** @brief Implements all the actions that are int he ActionsCollection. */
     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());
+
 signals:
     Q_SCRIPTABLE void abortRenderJob(const QString &url);
 };