#include <KUrl>
#include <QDir>
-#include <QPushButton>
#include <QDomElement>
-class DocumentChecker : public QDialog
+class DocumentChecker: public QObject
{
Q_OBJECT
public:
- explicit DocumentChecker(QDomDocument doc, QWidget * parent = 0);
+ explicit DocumentChecker(const QDomNodeList &infoproducers, const QDomDocument &doc);
~DocumentChecker();
- KUrl::List importFiles();
+ bool hasErrorInClips();
private slots:
- virtual void accept();
+ void acceptDialog();
void slotSearchClips();
void slotEditItem(QTreeWidgetItem *item, int);
void slotPlaceholders();
-
-protected:
- //void wheelEvent(QWheelEvent * event);
+ void slotDeleteSelected();
+ QString getProperty(QDomElement effect, const QString &name);
+ void setProperty(QDomElement effect, const QString &name, const QString &value);
+ QString searchLuma(const QDir &dir, const QString &file) const;
+ /** @brief Check if images and fonts in this clip exists, returns a list of images that do exist so we don't check twice. */
+ void checkMissingImagesAndFonts(const QStringList &images, const QStringList &fonts, const QString &id, const QString &baseClip);
+ void slotCheckButtons();
+ /** @brief Fix duration mismatch issues. */
+ void slotFixDuration();
private:
- Ui::MissingClips_UI m_view;
+ QDomNodeList m_info;
QDomDocument m_doc;
+ Ui::MissingClips_UI m_ui;
+ QDialog *m_dialog;
+ QString searchPathRecursively(const QDir &dir, const QString &fileName) const;
QString searchFileRecursively(const QDir &dir, const QString &matchSize, const QString &matchHash) const;
void checkStatus();
-
-signals:
- //void updateThumb();
+ QMap <QString, QString> m_missingTitleImages;
+ QMap <QString, QString> m_missingTitleFonts;
+ QList <QDomElement> m_missingClips;
+ QStringList m_safeImages;
+ QStringList m_safeFonts;
+
+ void fixClipItem(QTreeWidgetItem *child, QDomNodeList producers, QDomNodeList infoproducers, QDomNodeList trans);
};