]> git.sesse.net Git - kdenlive/blobdiff - src/projectsettings.h
Integrate with the required MLT hooks for getting Movit to work.
[kdenlive] / src / projectsettings.h
index 756915dfc7166c127fa9ecc1d337cb5e02d48eb7..08beae8b44c34bb545353dbcf7bb5384a22d2ec5 100644 (file)
 #define PROJECTSETTINGS_H
 
 #include <QDialog>
+#include <QPushButton>
 
+#include "projectlist.h"
 #include "ui_projectsettings_ui.h"
 
-class ProjectSettings : public QDialog
+class ProjectSettings : public QDialog, public Ui::ProjectSettings_UI
 {
-  Q_OBJECT
-  
-  public:
-    ProjectSettings(QWidget * parent = 0);
+    Q_OBJECT
 
-  private slots:
+public:
+    ProjectSettings(ProjectList *projectlist, QMap <QString, QString> metadata, const QStringList &lumas, int videotracks, int audiotracks, const QString& projectPath, bool readOnlyTracks, bool unsavedProject, QWidget * parent = 0);
+    QString selectedProfile() const;
+    KUrl selectedFolder() const;
+    QPoint tracks() const;
+    bool enableVideoThumbs() const;
+    bool enableAudioThumbs() const;
+    bool useProxy() const;
+    bool generateProxy() const;
+    int proxyMinSize() const;
+    bool generateImageProxy() const;
+    int proxyImageMinSize() const;
+    QString proxyParams() const;
+    QString proxyExtension() const;
+    const QMap <QString, QString> metadata() const;
+    static QStringList extractPlaylistUrls(const QString &path);
+    static QStringList extractSlideshowUrls(const KUrl &url);
+
+public slots:
+    virtual void accept();
+
+private slots:
     void slotUpdateDisplay();
+    void slotUpdateButton(const QString &path);
+    void slotUpdateFiles(bool cacheOnly = false);
+    void slotClearCache();
+    void slotDeleteProxies();
+    void slotDeleteUnused();
+    /** @brief Export project data to text file. */
+    void slotExportToText();
+    /** @brief Update the displayed proxy parameters when user changes selection. */
+    void slotUpdateProxyParams();
+    /** @brief Insert a new metadata field. */
+    void slotAddMetadataField();
+    /** @brief Delete current metadata field. */
+    void slotDeleteMetadataField();
+
+private:
+    QPushButton *m_buttonOk;
+    bool m_savedProject;
+    ProjectList *m_projectList;
+    QStringList m_lumas;
 
-  private:
-    Ui::ProjectSettings_UI m_view;
-    QStringList m_mltProfilesList;
-    QStringList m_customProfilesList;
-    bool m_isCustomProfile;
+signals:
+    /** @brief User deleted proxies, so disable them in project. */
+    void disableProxies();
 };