const int CLIPOK = 1;
const int CLIPPLACEHOLDER = 2;
-DocumentChecker::DocumentChecker(QDomNodeList producers, QDomNodeList infoproducers, QList <QDomElement> missingClips, QDomDocument doc, QWidget * parent) :
- QDialog(parent), m_doc(doc)
+DocumentChecker::DocumentChecker(QList <QDomElement> missingClips, QDomDocument doc, QWidget * parent) :
+ QDialog(parent),
+ m_doc(doc)
{
setFont(KGlobalSettings::toolBarFont());
m_view.setupUi(this);
int ix = 0;
m_view.recursiveSearch->setEnabled(false);
QTreeWidgetItem *child = m_view.treeWidget->topLevelItem(ix);
- while (child && child->data(0, statusRole).toInt() == CLIPMISSING) {
- QString clipPath = searchFileRecursively(QDir(newpath), child->data(0, sizeRole).toString(), child->data(0, hashRole).toString());
- if (!clipPath.isEmpty()) {
- child->setText(1, clipPath);
- child->setIcon(0, KIcon("dialog-ok"));
- child->setData(0, statusRole, CLIPOK);
+ while (child) {
+ if (child->data(0, statusRole).toInt() == CLIPMISSING) {
+ QString clipPath = searchFileRecursively(QDir(newpath), child->data(0, sizeRole).toString(), child->data(0, hashRole).toString());
+ if (!clipPath.isEmpty()) {
+ child->setText(1, clipPath);
+ child->setIcon(0, KIcon("dialog-ok"));
+ child->setData(0, statusRole, CLIPOK);
+ }
}
ix++;
child = m_view.treeWidget->topLevelItem(ix);
QStringList filesAndDirs = dir.entryList(QDir::Files | QDir::Readable);
for (int i = 0; i < filesAndDirs.size() && foundFileName.isEmpty(); i++) {
QFile file(dir.absoluteFilePath(filesAndDirs.at(i)));
- if (file.open(QIODevice::ReadOnly)) {
- if (QString::number(file.size()) == matchSize) {
+ if (QString::number(file.size()) == matchSize) {
+ if (file.open(QIODevice::ReadOnly)) {
/*
* 1 MB = 1 second per 450 files (or faster)
* 10 MB = 9 seconds per 450 files (or faster)
// virtual
void DocumentChecker::accept()
{
- QDomElement e;
+ QDomElement e, property;
QDomNodeList producers = m_doc.elementsByTagName("producer");
QDomNodeList infoproducers = m_doc.elementsByTagName("kdenlive_producer");
+ QDomNodeList properties;
int ix = 0;
QTreeWidgetItem *child = m_view.treeWidget->topLevelItem(ix);
while (child) {
if (e.attribute("id") == id) {
// Fix clip
e.setAttribute("resource", child->text(1));
+ e.setAttribute("name", KUrl(child->text(1)).fileName());
break;
}
}
for (int i = 0; i < producers.count(); i++) {
e = producers.item(i).toElement();
- if (e.attribute("id") == id) {
+ if (e.attribute("id").section('_', 0, 0) == id) {
// Fix clip
- e.setAttribute("resource", child->text(1));
+ properties = e.childNodes();
+ for (int j = 0; j < properties.count(); ++j) {
+ property = properties.item(j).toElement();
+ if (property.attribute("name") == "resource") {
+ property.firstChild().setNodeValue(child->text(1));
+ break;
+ }
+ }
break;
}
}
QDomNodeList producers = m_doc.elementsByTagName("producer");
QDomNodeList infoproducers = m_doc.elementsByTagName("kdenlive_producer");
- QDomElement westley = m_doc.firstChildElement("westley");
- QDomElement kdenlivedoc = westley.firstChildElement("kdenlivedoc");
+ QDomElement mlt = m_doc.firstChildElement("mlt");
+ QDomElement kdenlivedoc = mlt.firstChildElement("kdenlivedoc");
for (int i = 0; i < infoproducers.count(); i++) {
e = infoproducers.item(i).toElement();
e = producers.item(i).toElement();
if (deletedIds.contains(e.attribute("id"))) {
// Remove clip
- westley.removeChild(e);
+ mlt.removeChild(e);
break;
}
}