]> git.sesse.net Git - kdenlive/blobdiff - src/clipstabilize.h
Const'ref
[kdenlive] / src / clipstabilize.h
index 0b29dc6688ebc26290464e8d122bcdde540a123b..f80a84508cb8e6db67371fe392ea49acbda28423 100644 (file)
 #include "ui_clipstabilize_ui.h"
 
 #include <KUrl>
-#include <QProcess>
+#include <QFuture>
+
 class QTimer;
 namespace Mlt{
        class Profile;
        class Playlist;
        class Consumer;
-};
+       class Filter;
+}
 
 class ClipStabilize : public QDialog, public Ui::ClipStabilize_UI
 {
     Q_OBJECT
 
 public:
-    ClipStabilize(KUrl::List urls, const QString &params, QWidget * parent = 0);
+    explicit ClipStabilize(const QStringList &urls, const QString &filterName,QWidget * parent = 0);
     ~ClipStabilize();
+    /** @brief Should the generated clip be added to current project. */
+    bool autoAddClip() const;
+    /** @brief Return the filter parameters. */
+    QStringList params();
+    /** @brief Return the destination file or folder. */
+    QString destination() const;
+    /** @brief Return the job description. */
+    QString desc() const;
 
 
 private slots:
-    void slotShowStabilizeInfo();
     void slotStartStabilize();
-    void slotStabilizeFinished(bool success);
-       void slotRunStabilize();
-       void slotAbortStabilize();
+    void slotUpdateParams();
+    void slotValidate();
 
 private:
-       QString filtername;
-       Mlt::Profile *m_profile;
-       Mlt::Consumer *m_consumer;
-       Mlt::Playlist *m_playlist;
-    KUrl::List m_urls;
-    int m_duration;
-       QTimer *m_timer;
+    QString m_filtername;
+    QStringList m_urls;
+    QHash<QString,QHash<QString,QString> > m_ui_params;
+    QVBoxLayout *vbox;
+    void fillParameters(QStringList);
+    QStringList m_fixedParams;
 
 signals:
-    void addClip(KUrl url);
+    void addClip(const KUrl &url);
 };