diff options
-rw-r--r-- | AnyRip.pro | 6 | ||||
-rw-r--r-- | video.cpp | 5 | ||||
-rw-r--r-- | video.h | 2 | ||||
-rw-r--r-- | videogui.cpp | 42 | ||||
-rw-r--r-- | videogui.h | 26 |
5 files changed, 79 insertions, 2 deletions
@@ -8,7 +8,8 @@ SOURCES += main.cpp \ videoqueue.cpp \ encodemp4job.cpp \ uploadjob.cpp \ - titleloadjob.cpp + titleloadjob.cpp \ + videogui.cpp HEADERS += dvdimagejob.h \ dvdimagejobgui.h \ job.h \ @@ -18,7 +19,8 @@ HEADERS += dvdimagejob.h \ videoqueue.h \ encodemp4job.h \ uploadjob.h \ - titleloadjob.h + titleloadjob.h \ + videogui.h LIBS += -ldvdcss \ -ldvdread QT += dbus @@ -4,6 +4,7 @@ #include "encodemp4job.h" #include "uploadjob.h" #include "titleloadjob.h" +#include "videogui.h" #include <QDir> @@ -102,3 +103,7 @@ QString Video::title() const { return m_title; } +VideoGui* Video::gui() +{ + return new VideoGui(this); +} @@ -11,6 +11,7 @@ class EncodeMP4Job; class UploadJob; class TitleLoadJob; class Job; +class VideoGui; class Video : public QObject { @@ -26,6 +27,7 @@ public: TitleLoadJob* titleLoadJob(); QList<Job*> availableJobs(); QString title() const; + VideoGui* gui(); private: QBitArray m_jobsCompleted; QBitArray m_jobsInProgress; diff --git a/videogui.cpp b/videogui.cpp new file mode 100644 index 0000000..f837132 --- /dev/null +++ b/videogui.cpp @@ -0,0 +1,42 @@ +#include "videogui.h" +#include <QCheckBox> + +VideoGui::VideoGui(Video *video) : + m_video(video) +{ + m_imageCheck = new QCheckBox(tr("Copied DVD ISO"), this); + m_imageCheck->setEnabled(false); + m_encodeCheck = new QCheckBox(tr("Encoded MP4"), this); + m_encodeCheck->setEnabled(false); + m_uploadCheck = new QCheckBox(tr("Uploaded MP4"), this); + m_uploadCheck->setEnabled(false); + m_titleLoadCheck = new QCheckBox(tr("Title-loaded"), this); + m_titleLoadCheck->setEnabled(false); + m_subtitleCheck = new QCheckBox(tr("Found Subtitle"), this); + m_posterCheck = new QCheckBox(tr("Found Poster"), this); + //TODO: actions for checking subtitle and poster check to actually do it + connect(video, SIGNAL(jobCompleted(Video::Jobs,bool)), this, SLOT(jobCompleted(Video::Jobs,bool))); +} +void VideoGui::jobCompleted(Video::Jobs jobType, bool success) +{ + switch (jobType) { + case Video::DVDImage: + m_imageCheck->setChecked(success); + break; + case Video::EncodeMP4: + m_encodeCheck->setChecked(success); + break; + case Video::Upload: + m_uploadCheck->setChecked(success); + break; + case Video::TitleLoad: + m_titleLoadCheck->setChecked(success); + break; + case Video::Subtitle: + m_subtitleCheck->setChecked(success); + break; + case Video::Poster: + m_posterCheck->setChecked(success); + break; + } +} diff --git a/videogui.h b/videogui.h new file mode 100644 index 0000000..d087b85 --- /dev/null +++ b/videogui.h @@ -0,0 +1,26 @@ +#ifndef VIDEOGUI_H +#define VIDEOGUI_H + +#include <QWidget> +#include "video.h" +class QCheckBox; +class Video; + +class VideoGui : public QWidget +{ + Q_OBJECT +public: + VideoGui(Video *video); +private: + QCheckBox *m_imageCheck; + QCheckBox *m_encodeCheck; + QCheckBox *m_uploadCheck; + QCheckBox *m_titleLoadCheck; + QCheckBox *m_subtitleCheck; + QCheckBox *m_posterCheck; + Video *m_video; +private slots: + void jobCompleted(Video::Jobs jobType, bool success); +}; + +#endif // VIDEOGUI_H |