]> git.sesse.net Git - kdenlive/blobdiff - src/dvdwizard.h
Rewrote DVD creation, should now support correctly 4:3 and 16:9 menus, letterbox...
[kdenlive] / src / dvdwizard.h
index 931c6752dc35b0e8ae1e878462fb9f2552b68f8b..cff0e0ed4c0cd7a5e259222059446ec85ff18025 100644 (file)
 #include <QVBoxLayout>
 #include <QItemDelegate>
 #include <QPainter>
-#include <QGraphicsScene>
-#include <QGraphicsTextItem>
-#include <QGraphicsPixmapItem>
-#include <QGraphicsRectItem>
 #include <QProcess>
 
 
 #include <KTemporaryFile>
 
 #include "dvdwizardvob.h"
-#include "ui_dvdwizardmenu_ui.h"
-#include "ui_dvdwizardiso_ui.h"
+#include "dvdwizardmenu.h"
+#include "dvdwizardchapters.h"
 #include "ui_dvdwizardstatus_ui.h"
+#include "ui_dvdwizardchapters_ui.h"
 
-class DvdWizard : public QWizard {
+class DvdWizard : public QWizard
+{
     Q_OBJECT
 public:
-    DvdWizard(const QString &url = QString(), const QString &profile = "dv_pal", QWidget * parent = 0);
+    explicit DvdWizard(const QString &url = QString(), QWidget * parent = 0);
     virtual ~DvdWizard();
 
 private:
     DvdWizardVob *m_pageVob;
-    Ui::DvdWizardMenu_UI m_menu;
-    Ui::DvdWizardIso_UI m_iso;
+    DvdWizardMenu *m_pageMenu;
     Ui::DvdWizardStatus_UI m_status;
 
-    QString m_profile;
-    QGraphicsScene *m_scene;
-    QGraphicsTextItem *m_button;
-    QGraphicsPixmapItem *m_background;
-    QGraphicsRectItem *m_color;
-    QGraphicsRectItem *m_safeRect;
-    int m_width;
-    int m_height;
-    KTemporaryFile m_menuFile;
+#if KDE_IS_VERSION(4,7,0)
+    KMessageWidget *m_isoMessage;
+#endif
+
+    DvdWizardChapters *m_pageChapters;
     KTemporaryFile m_authorFile;
+    KTemporaryFile m_menuFile;
+    KTemporaryFile m_menuVobFile;
+    KTemporaryFile m_letterboxMovie;
+    QProcess *m_dvdauthor;
+    QProcess *m_mkiso;
+    QString m_creationLog;
+    void cleanup();
+    QMenu *m_burnMenu;
+    void errorMessage(const QString &text);
+    void infoMessage(const QString &text);
 
 private slots:
-    void buildButton();
-    void buildColor();
-    void buildImage();
-    void checkBackground();
     void slotPageChanged(int page);
     void slotRenderFinished(int exitCode, QProcess::ExitStatus status);
     void slotIsoFinished(int exitCode, QProcess::ExitStatus status);
     void generateDvd();
+    void slotPreview();
+    void slotBurn();
+    void slotGenerate();
+    void slotAbort();
+    void slotLoad();
+    void slotSave();
+    void slotShowRenderInfo();
+    void slotShowIsoInfo();
 };
 
 #endif