1 /***************************************************************************
2 * Copyright (C) 2008 by Jean-Baptiste Mardelle (jb@kdenlive.org) *
4 * This program is free software; you can redistribute it and/or modify *
5 * it under the terms of the GNU General Public License as published by *
6 * the Free Software Foundation; either version 2 of the License, or *
7 * (at your option) any later version. *
9 * This program is distributed in the hope that it will be useful, *
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
12 * GNU General Public License for more details. *
14 * You should have received a copy of the GNU General Public License *
15 * along with this program; if not, write to the *
16 * Free Software Foundation, Inc., *
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
18 ***************************************************************************/
21 #ifndef DOCUMENTCHECKER_H
22 #define DOCUMENTCHECKER_H
24 #include "ui_missingclips_ui.h"
29 #include <QDomElement>
32 class DocumentChecker: public QObject
37 explicit DocumentChecker(QDomNodeList infoproducers, QDomDocument doc);
39 bool hasErrorInClips();
43 void slotSearchClips();
44 void slotEditItem(QTreeWidgetItem *item, int);
45 void slotPlaceholders();
46 void slotDeleteSelected();
47 QString getProperty(QDomElement effect, const QString &name);
48 void setProperty(QDomElement effect, const QString &name, const QString value);
49 QString searchLuma(const QDir &dir, const QString &file) const;
50 /** @brief Check if images and fonts in this clip exists, returns a list of images that do exist so we don't check twice. */
51 void checkMissingImagesAndFonts(QStringList images, QStringList fonts, const QString &id, const QString &baseClip);
52 void slotCheckButtons();
53 /** @brief Fix duration mismatch issues. */
54 void slotFixDuration();
59 Ui::MissingClips_UI m_ui;
61 QString searchPathRecursively(const QDir &dir, const QString &fileName) const;
62 QString searchFileRecursively(const QDir &dir, const QString &matchSize, const QString &matchHash) const;
64 QMap <QString, QString> m_missingTitleImages;
65 QMap <QString, QString> m_missingTitleFonts;
66 QList <QDomElement> m_missingClips;
67 QStringList m_safeImages;
68 QStringList m_safeFonts;
70 void fixClipItem(QTreeWidgetItem *child, QDomNodeList producers, QDomNodeList infoproducers, QDomNodeList trans);