]> git.sesse.net Git - kdenlive/blobdiff - src/wizard.h
Integrate with the required MLT hooks for getting Movit to work.
[kdenlive] / src / wizard.h
index 36ea34bd6b4df6f69db3c305c58ee1b81939657f..de0fce1f3944df29d51aabb19fac137d6dc0c877 100644 (file)
 
 #include <QWizard>
 #include <QVBoxLayout>
+#include <QItemDelegate>
+#include <QPainter>
+
+#include <KIcon>
 #include <KDebug>
 
 #include "ui_wizardstandard_ui.h"
 #include "ui_wizardextra_ui.h"
+#include "ui_wizardcheck_ui.h"
+#include "ui_wizardmltcheck_ui.h"
+#include "ui_wizardcapture_ui.h"
+
+class WizardDelegate: public QItemDelegate
+{
+public:
+    explicit WizardDelegate(QAbstractItemView* parent = 0)
+        : QItemDelegate(parent)
+    {
+    }
+    void paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const {
+        if (index.column() == 1) {
+            painter->save();
+            QStyleOptionViewItemV4 opt(option);
+            QStyle *style = opt.widget ? opt.widget->style() : QApplication::style();
+            const int textMargin = style->pixelMetric(QStyle::PM_FocusFrameHMargin) + 1;
+            style->drawPrimitive(QStyle::PE_PanelItemViewItem, &opt, painter, opt.widget);
+
+            QFont font = painter->font();
+            font.setBold(true);
+            painter->setFont(font);
+            QRect r1 = option.rect;
+            r1.adjust(0, textMargin, 0, - textMargin);
+            int mid = (int)((r1.height() / 2));
+            r1.setBottom(r1.y() + mid);
+            QRect r2 = option.rect;
+            r2.setTop(r2.y() + mid);
+            painter->drawText(r1, Qt::AlignLeft | Qt::AlignBottom , index.data().toString());
+            font.setBold(false);
+            painter->setFont(font);
+            QString subText = index.data(Qt::UserRole).toString();
+            painter->drawText(r2, Qt::AlignLeft | Qt::AlignVCenter , subText);
+            painter->restore();
+        } else {
+            QItemDelegate::paint(painter, option, index);
+        }
+    }
+};
 
 
-class Wizard : public QWizard {
+class Wizard : public QWizard
+{
     Q_OBJECT
 public:
-    Wizard(QWidget * parent = 0);
-    void installExtraMimes(QString baseName, QStringList globs);
+    explicit Wizard(bool upgrade, QWidget * parent = 0);
+    void installExtraMimes(const QString &baseName, const QStringList &globs);
     void runUpdateMimeDatabase();
     void adjustSettings();
     bool isOk() const;
@@ -41,14 +85,32 @@ public:
 private:
     Ui::WizardStandard_UI m_standard;
     Ui::WizardExtra_UI m_extra;
+    Ui::WizardMltCheck_UI m_mltCheck;
+    Ui::WizardCapture_UI m_capture;
+    Ui::WizardCheck_UI m_check;
     QVBoxLayout *m_startLayout;
     bool m_systemCheckIsOk;
+    QLabel *m_welcomeLabel;
+    QMap <QString, QString> m_dvProfiles;
+    QMap <QString, QString> m_hdvProfiles;
+    QMap <QString, QString> m_otherProfiles;
+    void slotCheckPrograms();
+    void checkMltComponents();
+    void checkMissingCodecs();
+    KIcon m_okIcon;
+    KIcon m_badIcon;
 
 private slots:
     void slotCheckThumbs();
     void slotCheckStandard();
     void slotCheckSelectedItem();
     void slotCheckMlt();
+    void slotShowWebInfos();
+    void slotDetectWebcam();
+    void slotUpdateCaptureParameters();
+    void slotSaveCaptureFormat();
+    void slotUpdateDecklinkDevice(int captureCard);
+    void slotOpenManual();
 };
 
 #endif