#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:
+ 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<QUrl>&);
+};
class DvdViewDelegate : public QStyledItemDelegate
{
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);
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));
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);
+ }
}
};
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 <QString, QString> chaptersdata);
- void setIntroMovie(const QString& path);
+ const QString introMovie() const;
+ void setUseIntroMovie(bool use);
+ void updateChapters(const QMap<QString, QString> &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<QUrl> &list);
void slotCheckProfiles();
private slots:
void slotDeleteVobFile();
void slotItemUp();
void slotItemDown();
- void changeFormat();
+ void slotTranscodeFiles();
+ void slotTranscodedClip(KUrl, KUrl);
+
+signals:
+ void prepareMonitor();
};
#endif