+// static
+QStringList TitleWidget::extractFontList(QString xml)
+{
+ QStringList result;
+ if (xml.isEmpty()) return result;
+ QDomDocument doc;
+ doc.setContent(xml);
+ QDomNodeList images = doc.elementsByTagName("content");
+ for (int i = 0; i < images.count(); i++) {
+ if (images.at(i).toElement().hasAttribute("font"))
+ result.append(images.at(i).toElement().attribute("font"));
+ }
+ return result;
+}
+//static
+void TitleWidget::refreshTitleTemplates()
+{
+ QStringList titlenamelist = QStringList() << i18n("None");
+ QStringList titlefiles = QStringList() << QString();
+ QStringList filters;
+ filters << "*.kdenlivetitle" ;
+ titletemplates.clear();
+ QStringList titleTemplates = KGlobal::dirs()->findDirs("appdata", "titles");
+ foreach(const QString &folder, titleTemplates) {
+ QStringList filesnames = QDir(folder).entryList(filters, QDir::Files);
+ foreach(const QString &fname, filesnames) {
+ //titlenamelist.append(fname);
+ //titlefiles.append(KUrl(folder).path(KUrl::AddTrailingSlash) + fname);
+ TitleTemplate t;
+ t.name = fname;
+ t.file = KUrl(folder).path(KUrl::AddTrailingSlash) + fname;
+ t.icon = QIcon(KThumb::getImage(t.file, 0, 60, 60));
+ titletemplates.append(t);
+ }
+ }
+ kDebug() << titlenamelist << titlefiles;
+}
+void TitleWidget::templateIndexChanged(int index)
+{
+ QString item = templateBox->itemData(index).toString();
+ if (item != "") {
+ if (lastDocumentHash != QCryptographicHash::hash(xml().toString().toAscii(), QCryptographicHash::Md5).toHex()) {
+ if (KMessageBox::questionYesNo(this, i18n("Title was changed !\nDo you really want to load a new template?\nAll changes in this document are lost !!")) == KMessageBox::No) return;
+ }
+ loadTitle(item);
+ lastDocumentHash = QCryptographicHash::hash(xml().toString().toAscii(), QCryptographicHash::Md5).toHex();
+ }
+}