else {
QFile file(tmpFile);
QString errorMsg;
+ int line;
+ int col;
QDomImplementation::setInvalidDataPolicy(QDomImplementation::DropInvalidChars);
- success = m_document.setContent(&file, false, &errorMsg);
+ success = m_document.setContent(&file, false, &errorMsg, &line, &col);
file.close();
KIO::NetAccess::removeTempFile(tmpFile);
if (!success) {
// It is corrupted
- if (KMessageBox::warningContinueCancel(parent, i18n("Cannot open the project file, error is:\n%1\nDo you want to open a backup file?", errorMsg), i18n("Error opening file"), KGuiItem(i18n("Open Backup"))) == KMessageBox::Continue) {
+ if (KMessageBox::warningContinueCancel(parent, i18n("Cannot open the project file, error is:\n%1 (line %2, col %3)\nDo you want to open a backup file?", errorMsg, line, col), i18n("Error opening file"), KGuiItem(i18n("Open Backup"))) == KMessageBox::Continue) {
*openBackup = true;
}
//KMessageBox::error(parent, errorMsg);
int maxchild = markerslist.count();
for (int k = 0; k < maxchild; k++) {
e = markerslist.at(k).toElement();
- if (e.tagName() == "marker")
- m_clipManager->getClipById(e.attribute("id"))->addSnapMarker(GenTime(e.attribute("time").toDouble()), e.attribute("comment"));
+ if (e.tagName() == "marker") {
+ CommentedTime marker(GenTime(e.attribute("time").toDouble()), e.attribute("comment"), e.attribute("type").toInt());
+ DocClipBase *baseClip = m_clipManager->getClipById(e.attribute("id"));
+ if (baseClip) baseClip->addSnapMarker(marker);
+ else kDebug()<< " / / Warning, missing clip: "<< e.attribute("id");
+ }
}
infoXml.removeChild(markers);
}
marker.setAttribute("time", marks.at(j).time().ms() / 1000);
marker.setAttribute("comment", marks.at(j).comment());
marker.setAttribute("id", e.attribute("id"));
+ marker.setAttribute("type", marks.at(j).markerType());
markers.appendChild(marker);
}
}
QDomNamedNodeMap attributes = elem.attributes();
for (int i = 0; i < attributes.count(); i++) {
QString attrname = attributes.item(i).nodeName();
- if (attrname != "resource")
+ if (attrname != "resource")
properties.insert(attrname, attributes.item(i).nodeValue());
- kDebug() << attrname << " = " << attributes.item(i).nodeValue();
+ //kDebug() << attrname << " = " << attributes.item(i).nodeValue();
}
clip->setProperties(properties);
emit addProjectClip(clip, false);
QMap<QString, QString> meta;
for (QDomNode m = orig.firstChild(); !m.isNull(); m = m.nextSibling()) {
QString name = m.toElement().attribute("name");
- if (name.startsWith("meta.attr"))
- meta.insert(name.section('.', 2, 3), m.firstChild().nodeValue());
+ if (name.startsWith("meta.attr")) {
+ if (name.endsWith(".markup")) name = name.section('.', 0, -2);
+ meta.insert(name.section('.', 2, -1), m.firstChild().nodeValue());
+ }
}
if (!meta.isEmpty()) {
if (clip == NULL)
KStandardDirs::makeDir(titlesFolder);
QPointer<TitleWidget> dia_ui = new TitleWidget(templatePath, m_timecode, titlesFolder, m_render, kapp->activeWindow());
if (dia_ui->exec() == QDialog::Accepted) {
- m_clipManager->slotAddTextClipFile(i18n("Title clip"), dia_ui->outPoint(), dia_ui->xml().toString(), group, groupId);
+ m_clipManager->slotAddTextClipFile(i18n("Title clip"), dia_ui->duration(), dia_ui->xml().toString(), group, groupId);
setModified(true);
emit selectLastAddedClip(QString::number(m_clipManager->lastClipId()));
}