]> git.sesse.net Git - kdenlive/blobdiff - src/dvdwizardvob.h
Final changes to the DVD wizard rewrite. Allow transcoding of non compliant files...
[kdenlive] / src / dvdwizardvob.h
index 1208ff39b9f76e5dda68d05e14cf61514a7c3a2f..6f3ad2a48a5866c08af05cc4cc62a524a6a27db5 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
 {
     Q_OBJECT
@@ -101,14 +121,20 @@ public:
 
 private:
     Ui::DvdWizardVob_UI m_view;
+    DvdTreeWidget *m_vobList;
     QString m_errorMessage;
     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:
@@ -116,7 +142,8 @@ private slots:
     void slotDeleteVobFile();
     void slotItemUp();
     void slotItemDown();
-    void changeFormat();
+    void slotTranscodeFiles();
+    void slotTranscodedClip(KUrl, KUrl);
 };
 
 #endif