#include "documentchecker.h"
#include "kthumb.h"
#include "docclipbase.h"
-#include "titlewidget.h"
+#include "widgets/titlewidget.h"
#include "definitions.h"
#include "kdenlivesettings.h"
enum TITLECLIPTYPE { TITLE_IMAGE_ELEMENT = 20, TITLE_FONT_ELEMENT = 21 };
-DocumentChecker::DocumentChecker(QDomNodeList infoproducers, QDomDocument doc):
+DocumentChecker::DocumentChecker(const QDomNodeList &infoproducers, const QDomDocument &doc):
m_info(infoproducers), m_doc(doc), m_dialog(NULL)
{
m_safeImages.clear();
m_safeFonts.clear();
max = m_info.count();
- for (int i = 0; i < max; i++) {
+ for (int i = 0; i < max; ++i) {
e = m_info.item(i).toElement();
clipType = e.attribute("type").toInt();
- if (clipType == COLOR) continue;
- if (clipType != TEXT && clipType != IMAGE && clipType != SLIDESHOW) {
+ if (clipType == Color) continue;
+ if (clipType != Text && clipType != Image && clipType != SlideShow) {
QString id = e.attribute("id");
int duration = e.attribute("duration").toInt();
int mltDuration = -1;
}
}
- if (clipType == TEXT) {
+ if (clipType == Text) {
//TODO: Check is clip template is missing (xmltemplate) or hash changed
QStringList images = TitleWidget::extractImageList(e.attribute("xmldata"));
QStringList fonts = TitleWidget::extractFontList(e.attribute("xmldata"));
}
}
}
- if (clipType == SLIDESHOW) resource = KUrl(resource).directory();
+ if (clipType == SlideShow) resource = KUrl(resource).directory();
if (!KIO::NetAccess::exists(KUrl(resource), KIO::NetAccess::SourceSide, 0)) {
// Missing clip found
m_missingClips.append(e);
} else {
// Check if the clip has changed
- if (clipType != SLIDESHOW && e.hasAttribute("file_hash")) {
+ if (clipType != SlideShow && e.hasAttribute("file_hash")) {
if (e.attribute("file_hash") != DocClipBase::getHash(e.attribute("resource")))
e.removeAttribute("file_hash");
}
if (!root.isEmpty()) root = KUrl(root).path(KUrl::AddTrailingSlash);
QDomNodeList trans = m_doc.elementsByTagName("transition");
max = trans.count();
- for (int i = 0; i < max; i++) {
+ for (int i = 0; i < max; ++i) {
QString luma = getProperty(trans.at(i).toElement(), "luma");
if (!luma.isEmpty() && !filesToCheck.contains(luma))
filesToCheck.append(luma);
m_ui.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false);
max = m_missingClips.count();
- for (int i = 0; i < max; i++) {
+ for (int i = 0; i < max; ++i) {
e = m_missingClips.at(i).toElement();
QString clipType;
int t = e.attribute("type").toInt();
case AV:
clipType = i18n("Video clip");
break;
- case VIDEO:
+ case Video:
clipType = i18n("Mute video clip");
break;
- case AUDIO:
+ case Audio:
clipType = i18n("Audio clip");
break;
- case PLAYLIST:
+ case Playlist:
clipType = i18n("Playlist clip");
break;
- case IMAGE:
+ case Image:
clipType = i18n("Image clip");
break;
- case SLIDESHOW:
+ case SlideShow:
clipType = i18n("Slideshow clip");
break;
case TITLE_IMAGE_ELEMENT:
m_ui.fixDuration->setEnabled(!wrongDurationClips.isEmpty());
max = wrongDurationClips.count();
- for (int i = 0; i < max; i++) {
+ for (int i = 0; i < max; ++i) {
e = wrongDurationClips.at(i).toElement();
QString clipType;
int t = e.attribute("type").toInt();
case AV:
clipType = i18n("Video clip");
break;
- case VIDEO:
+ case Video:
clipType = i18n("Mute video clip");
break;
- case AUDIO:
+ case Audio:
clipType = i18n("Audio clip");
break;
- case PLAYLIST:
+ case Playlist:
clipType = i18n("Playlist clip");
break;
- case IMAGE:
+ case Image:
clipType = i18n("Image clip");
break;
- case SLIDESHOW:
+ case SlideShow:
clipType = i18n("Slideshow clip");
break;
default:
item->setToolTip(0, i18n("Missing proxy"));
}
- for (int i = 0; i < max; i++) {
+ for (int i = 0; i < max; ++i) {
e = missingProxies.at(i).toElement();
- QString clipType;
QString realPath = e.attribute("resource");
QString id = e.attribute("id");
// Tell Kdenlive to recreate proxy
item->setData(0, hashRole, e.attribute("file_hash"));
item->setData(0, statusRole, SOURCEMISSING);
item->setToolTip(0, i18n("Missing source clip"));
- for (int i = 0; i < max; i++) {
+ for (int i = 0; i < max; ++i) {
e = missingSources.at(i).toElement();
QString clipType;
QString realPath = e.attribute("resource");
DocumentChecker::~DocumentChecker()
{
- if (m_dialog) delete m_dialog;
+ delete m_dialog;
}
QString DocumentChecker::getProperty(QDomElement effect, const QString &name)
{
QDomNodeList params = effect.elementsByTagName("property");
- for (int i = 0; i < params.count(); i++) {
+ for (int i = 0; i < params.count(); ++i) {
QDomElement e = params.item(i).toElement();
if (e.attribute("name") == name) {
return e.firstChild().nodeValue();
return QString();
}
-void DocumentChecker::setProperty(QDomElement effect, const QString &name, const QString value)
+void DocumentChecker::setProperty(QDomElement effect, const QString &name, const QString &value)
{
QDomNodeList params = effect.elementsByTagName("property");
- for (int i = 0; i < params.count(); i++) {
+ for (int i = 0; i < params.count(); ++i) {
QDomElement e = params.item(i).toElement();
if (e.attribute("name") == name) {
e.firstChild().setNodeValue(value);
if (!filesAndDirs.isEmpty()) return searchDir.absoluteFilePath(filesAndDirs.at(0));
searchDir.setNameFilters(QStringList());
filesAndDirs = searchDir.entryList(QDir::Dirs | QDir::Readable | QDir::Executable | QDir::NoDotAndDotDot);
- for (int i = 0; i < filesAndDirs.size() && foundFileName.isEmpty(); i++) {
+ for (int i = 0; i < filesAndDirs.size() && foundFileName.isEmpty(); ++i) {
foundFileName = searchPathRecursively(searchDir.absoluteFilePath(filesAndDirs.at(i)), fileName);
if (!foundFileName.isEmpty())
break;
QByteArray fileData;
QByteArray fileHash;
QStringList filesAndDirs = dir.entryList(QDir::Files | QDir::Readable);
- for (int i = 0; i < filesAndDirs.size() && foundFileName.isEmpty(); i++) {
+ for (int i = 0; i < filesAndDirs.size() && foundFileName.isEmpty(); ++i) {
QFile file(dir.absoluteFilePath(filesAndDirs.at(i)));
if (QString::number(file.size()) == matchSize) {
if (file.open(QIODevice::ReadOnly)) {
//kDebug() << filesAndDirs.at(i) << file.size() << fileHash.toHex();
}
filesAndDirs = dir.entryList(QDir::Dirs | QDir::Readable | QDir::Executable | QDir::NoDotAndDotDot);
- for (int i = 0; i < filesAndDirs.size() && foundFileName.isEmpty(); i++) {
+ for (int i = 0; i < filesAndDirs.size() && foundFileName.isEmpty(); ++i) {
foundFileName = searchFileRecursively(dir.absoluteFilePath(filesAndDirs.at(i)), matchSize, matchHash);
if (!foundFileName.isEmpty())
break;
void DocumentChecker::slotEditItem(QTreeWidgetItem *item, int)
{
int t = item->data(0, typeRole).toInt();
- if (t == TITLE_FONT_ELEMENT || t == UNKNOWN) return;
+ if (t == TITLE_FONT_ELEMENT || t == Unknown) return;
//|| t == TITLE_IMAGE_ELEMENT) {
KUrl url = KUrlRequesterDialog::getUrl(item->text(1), m_dialog, i18n("Enter new location for file"));
QString id = child->data(0, idRole).toString();
if (t == TITLE_IMAGE_ELEMENT) {
// edit images embedded in titles
- for (int i = 0; i < infoproducers.count(); i++) {
+ for (int i = 0; i < infoproducers.count(); ++i) {
e = infoproducers.item(i).toElement();
if (e.attribute("id") == id) {
// Fix clip
break;
}
}
- for (int i = 0; i < producers.count(); i++) {
+ for (int i = 0; i < producers.count(); ++i) {
e = producers.item(i).toElement();
if (e.attribute("id").section('_', 0, 0) == id) {
// Fix clip
}
} else {
// edit clip url
- for (int i = 0; i < infoproducers.count(); i++) {
+ for (int i = 0; i < infoproducers.count(); ++i) {
e = infoproducers.item(i).toElement();
if (e.attribute("id") == id) {
// Fix clip
break;
}
}
- for (int i = 0; i < producers.count(); i++) {
+ for (int i = 0; i < producers.count(); ++i) {
e = producers.item(i).toElement();
if (e.attribute("id").section('_', 0, 0) == id || e.attribute("id").section(':', 1, 1) == id) {
// Fix clip
}
} else if (child->data(0, statusRole).toInt() == CLIPPLACEHOLDER && t != TITLE_FONT_ELEMENT && t != TITLE_IMAGE_ELEMENT) {
QString id = child->data(0, idRole).toString();
- for (int i = 0; i < infoproducers.count(); i++) {
+ for (int i = 0; i < infoproducers.count(); ++i) {
e = infoproducers.item(i).toElement();
if (e.attribute("id") == id) {
// Fix clip
}
}
} else if (child->data(0, statusRole).toInt() == LUMAOK) {
- for (int i = 0; i < trans.count(); i++) {
+ for (int i = 0; i < trans.count(); ++i) {
QString luma = getProperty(trans.at(i).toElement(), "luma");
if (!luma.isEmpty() && luma == child->data(0, idRole).toString()) {
setProperty(trans.at(i).toElement(), "luma", child->text(1));
}
}
} else if (child->data(0, statusRole).toInt() == LUMAMISSING) {
- for (int i = 0; i < trans.count(); i++) {
+ for (int i = 0; i < trans.count(); ++i) {
QString luma = getProperty(trans.at(i).toElement(), "luma");
if (!luma.isEmpty() && luma == child->data(0, idRole).toString()) {
setProperty(trans.at(i).toElement(), "luma", QString());
QString id = child->data(0, idRole).toString();
bool resetDuration = child->data(0, resetDurationRole).toInt();
- for (int i = 0; i < m_info.count(); i++) {
+ for (int i = 0; i < m_info.count(); ++i) {
QDomElement e = m_info.at(i).toElement();
if (e.attribute("id") == id) {
if (m_missingClips.contains(e)) {
int ix = 0;
QTreeWidgetItem *child = m_ui.treeWidget->topLevelItem(ix);
while (child) {
- int status = child->data(0, statusRole).toInt();
- if (status == CLIPMISSING || status == LUMAMISSING || status == CLIPWRONGDURATION) {
+ int childStatus = child->data(0, statusRole).toInt();
+ if (childStatus == CLIPMISSING || childStatus == LUMAMISSING || childStatus == CLIPWRONGDURATION) {
status = false;
break;
}
QDomElement e;
QDomNodeList transitions = m_doc.elementsByTagName("transition");
foreach (const QString &lumaPath, deletedLumas) {
- for (int i = 0; i < transitions.count(); i++) {
+ for (int i = 0; i < transitions.count(); ++i) {
e = transitions.item(i).toElement();
QString resource = EffectsList::property(e, "luma");
if (resource == lumaPath) EffectsList::removeProperty(e, "luma");
QDomNode mlt = m_doc.elementsByTagName("mlt").at(0);
QDomNode kdenlivedoc = m_doc.elementsByTagName("kdenlivedoc").at(0);
- for (int i = 0, j = 0; i < infoproducers.count() && j < deletedIds.count(); i++) {
+ for (int i = 0, j = 0; i < infoproducers.count() && j < deletedIds.count(); ++i) {
e = infoproducers.item(i).toElement();
if (deletedIds.contains(e.attribute("id"))) {
// Remove clip
kdenlivedoc.removeChild(e);
- i--;
+ --i;
j++;
}
}
- for (int i = 0; i < producers.count(); i++) {
+ for (int i = 0; i < producers.count(); ++i) {
e = producers.item(i).toElement();
if (deletedIds.contains(e.attribute("id").section('_', 0, 0)) || deletedIds.contains(e.attribute("id").section(':', 1, 1).section('_', 0, 0))) {
// Remove clip
mlt.removeChild(e);
- i--;
+ --i;
}
}
- for (int i = 0; i < playlists.count(); i++) {
+ for (int i = 0; i < playlists.count(); ++i) {
QDomNodeList entries = playlists.at(i).toElement().elementsByTagName("entry");
for (int j = 0; j < entries.count(); j++) {
e = entries.item(j).toElement();
}
}
-void DocumentChecker::checkMissingImagesAndFonts(QStringList images, QStringList fonts, const QString &id, const QString &baseClip)
+void DocumentChecker::checkMissingImagesAndFonts(const QStringList &images, const QStringList &fonts, const QString &id, const QString &baseClip)
{
QDomDocument doc;
foreach(const QString &img, images) {