]> git.sesse.net Git - kdenlive/blobdiff - src/dvdwizardvob.h
use const'ref
[kdenlive] / src / dvdwizardvob.h
index 0b634a7743d04468f5819258aed02ce8c87a137f..b35fb45980559920357142bdf8e042d1d4f5e50d 100644 (file)
 #include <QWizardPage>
 #include <QStyledItemDelegate>
 #include <QPainter>
+#include <QTreeWidget>
+#include <QDragEnterEvent>
+#include <QDropEvent>
+
+enum DVDFORMAT { PAL, PAL_WIDE, NTSC, NTSC_WIDE };
+
+class DvdTreeWidget : public QTreeWidget
+{
+    Q_OBJECT
+public:
+    DvdTreeWidget(QWidget *parent);
+
+protected:
+    virtual void dragEnterEvent(QDragEnterEvent * event );
+    virtual void dropEvent(QDropEvent * event );
+    virtual void mouseDoubleClickEvent( QMouseEvent * );
+    virtual void dragMoveEvent(QDragMoveEvent * event);
+
+signals:
+    void addNewClip();
+    void addClips(QList<QUrl>);
+};
 
 class DvdViewDelegate : public QStyledItemDelegate
 {
@@ -80,32 +102,38 @@ class DvdWizardVob : public QWizardPage
     Q_OBJECT
 
 public:
-    explicit DvdWizardVob(const QString &profile, QWidget * parent = 0);
+    explicit DvdWizardVob(QWidget * parent = 0);
     virtual ~DvdWizardVob();
     virtual bool isComplete() const;
     QStringList selectedUrls() const;
     void setUrl(const QString &url);
-    QString introMovie() const;
-    bool isPal() const;
-    bool isWide() const;
+    DVDFORMAT dvdFormat() const;
+    const QString dvdProfile() const;
     int duration(int ix) const;
     QStringList durations() const;
     QStringList chapters() const;
     void setProfile(const QString& profile);
     void clear();
+    const QString introMovie() const;
+    void setUseIntroMovie(bool use);
     void updateChapters(QMap <QString, QString> chaptersdata);
-    void setIntroMovie(const QString& path);
+    static QString getDvdProfile(DVDFORMAT format);
 
 private:
     Ui::DvdWizardVob_UI m_view;
-    QString m_errorMessage;
+    DvdTreeWidget *m_vobList;
     KCapacityBar *m_capacityBar;
+    QAction *m_transcodeAction;
+    bool m_installCheck;
 #if KDE_IS_VERSION(4,7,0)
     KMessageWidget *m_warnMessage;
 #endif
+    void showProfileError();
+    void showError(const QString error);
 
 public slots:
-    void slotAddVobFile(KUrl url = KUrl(), const QString &chapters = QString());
+    void slotAddVobFile(KUrl url = KUrl(), const QString &chapters = QString(), bool checkFormats = true);
+    void slotAddVobList(QList <QUrl>list);
     void slotCheckProfiles();
 
 private slots:
@@ -113,7 +141,11 @@ private slots:
     void slotDeleteVobFile();
     void slotItemUp();
     void slotItemDown();
-    void changeFormat();
+    void slotTranscodeFiles();
+    void slotTranscodedClip(KUrl, KUrl);
+    
+signals:
+    void prepareMonitor();
 };
 
 #endif