X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fdvdwizardvob.h;h=64d76e2ae4feb650c43d6dc897ebac0697f73d13;hb=c3302003093710ee247ad84c0fe2ef3c579d417f;hp=0b634a7743d04468f5819258aed02ce8c87a137f;hpb=b8684fb22577d9e5b19944d814840187690b51c2;p=kdenlive diff --git a/src/dvdwizardvob.h b/src/dvdwizardvob.h index 0b634a77..64d76e2a 100644 --- a/src/dvdwizardvob.h +++ b/src/dvdwizardvob.h @@ -34,6 +34,28 @@ #include #include #include +#include +#include +#include + +enum DVDFORMAT { PAL, PAL_WIDE, NTSC, NTSC_WIDE }; + +class DvdTreeWidget : public QTreeWidget +{ + Q_OBJECT +public: + explicit DvdTreeWidget(QWidget *parent); + +protected: + void dragEnterEvent(QDragEnterEvent * event ); + void dropEvent(QDropEvent * event ); + void mouseDoubleClickEvent( QMouseEvent * ); + void dragMoveEvent(QDragMoveEvent * event); + +signals: + void addNewClip(); + void addClips(const QList&); +}; class DvdViewDelegate : public QStyledItemDelegate { @@ -46,7 +68,7 @@ public: if (index.column() == 0) { painter->save(); QStyleOptionViewItemV4 opt(option); - QRect r1 = option.rect; + QRect r1 = option.rect; 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); @@ -56,7 +78,7 @@ public: painter->drawPixmap(pixmapPoint, pixmap); int decoWidth = pixmap.width() + 2 * textMargin; - QFont font = painter->font(); + QFont font = painter->font(); font.setBold(true); painter->setFont(font); int mid = (int)((r1.height() / 2)); @@ -70,7 +92,9 @@ public: QRectF bounding; painter->drawText(r2, Qt::AlignLeft | Qt::AlignVCenter , subText, &bounding); painter->restore(); - } else QStyledItemDelegate::paint(painter, option, index); + } else { + QStyledItemDelegate::paint(painter, option, index); + } } }; @@ -80,32 +104,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(); - void updateChapters(QMap chaptersdata); - void setIntroMovie(const QString& path); + const QString introMovie() const; + void setUseIntroMovie(bool use); + void updateChapters(const QMap &chaptersdata); + 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(const QList &list); void slotCheckProfiles(); private slots: @@ -113,7 +143,11 @@ private slots: void slotDeleteVobFile(); void slotItemUp(); void slotItemDown(); - void changeFormat(); + void slotTranscodeFiles(); + void slotTranscodedClip(KUrl, KUrl); + +signals: + void prepareMonitor(); }; #endif