+void ProjectList::updateAllClips() {
+ QTreeWidgetItemIterator it(listView);
+ while (*it) {
+ ProjectItem *item = static_cast <ProjectItem *>(*it);
+ if (!item->isGroup()) {
+ if (item->referencedClip()->producer() == NULL) {
+ DocClipBase *clip = item->referencedClip();
+ if (clip->clipType() == TEXT && !QFile::exists(clip->fileURL().path())) {
+ // regenerate text clip image if required
+ TitleWidget *dia_ui = new TitleWidget(KUrl(), QString(), m_render, this);
+ QDomDocument doc;
+ doc.setContent(clip->getProperty("xmldata"));
+ dia_ui->setXml(doc);
+ QPixmap pix = dia_ui->renderedPixmap();
+ pix.save(clip->fileURL().path());
+ delete dia_ui;
+ }
+ requestClipInfo(clip->toXML(), clip->getId());
+ } else {
+ requestClipThumbnail(item->clipId());
+ item->changeDuration(item->referencedClip()->producer()->get_playtime());
+ }
+ item->setData(1, UsageRole, QString::number(item->numReferences()));
+ qApp->processEvents();
+ }
+ ++it;
+ }
+ QTimer::singleShot(500, this, SLOT(slotCheckForEmptyQueue()));
+}
+