item = new ProjectItem(m_listView, clip);
}
if (item->data(0, DurationRole).isNull()) item->setData(0, DurationRole, i18n("Loading"));
- QString proxy = clip->getProperty("proxy");
- if (!proxy.isEmpty() && proxy != "-") slotCreateProxy(clip->getId());
connect(clip, SIGNAL(createProxy(const QString &)), this, SLOT(slotCreateProxy(const QString &)));
connect(clip, SIGNAL(abortProxy(const QString &, const QString &)), this, SLOT(slotAbortProxy(const QString, const QString)));
if (getProperties) {
resetThumbsProducer(clip);
m_render->getFileProperties(e, clip->getId(), m_listView->iconSize().height(), true);
}
- else if (item->hasProxy() && !item->isProxyRunning()) {
+ // WARNING: code below triggers unnecessary reload of all proxy clips on document loading... is it useful in some cases?
+ /*else if (item->hasProxy() && !item->isProxyRunning()) {
slotCreateProxy(clip->getId());
- }
+ }*/
KUrl url = clip->fileURL();
#ifdef NEPOMUK
KIO::NetAccess::del(KUrl(cachedPixmap), this);
requestClipThumbnail(item->clipId());
}
- else item->setData(0, Qt::DecorationRole, pix);
+ else {
+ processThumbOverlays(item, pix);
+ item->setData(0, Qt::DecorationRole, pix);
+ }
}
else {
requestClipThumbnail(item->clipId());
xml.removeAttribute("proxy_out");
}
if (!replace) replace = xml.attribute("replace") == "1";
- if (replace) resetThumbsProducer(clip);
+ if (replace) {
+ resetThumbsProducer(clip);
+ }
m_render->getFileProperties(xml, clip->getId(), m_listView->iconSize().height(), replace);
}
else if (clip->isPlaceHolder()) {
}
}
} else {
- if (displayRatioChanged)
+ if (displayRatioChanged) {
requestClipThumbnail(clip->getId());
+ }
else if (item->data(0, Qt::DecorationRole).isNull()) {
getCachedThumbnail(item);
}
if (!pix.isNull() || !img.isNull()) {
monitorItemEditing(false);
- if (!img.isNull()) pix = QPixmap::fromImage(img);
+ if (!img.isNull()) {
+ pix = QPixmap::fromImage(img);
+ processThumbOverlays(item, pix);
+ }
it->setData(0, Qt::DecorationRole, pix);
monitorItemEditing(true);
ProjectItem *item = getItemById(clipId);
if (item && !img.isNull()) {
QPixmap pix = QPixmap::fromImage(img);
+ processThumbOverlays(item, pix);
monitorItemEditing(false);
item->setData(0, Qt::DecorationRole, pix);
monitorItemEditing(true);
return result;
}
+void ProjectList::processThumbOverlays(ProjectItem *item, QPixmap &pix)
+{
+ if (item->hasProxy()) {
+ QPainter p(&pix);
+ QColor c = QPalette().base().color();
+ c.setAlpha(160);
+ QBrush br(c);
+ p.setBrush(br);
+ p.setPen(Qt::NoPen);
+ QRect r(1, 1, 10, 10);
+ p.drawRect(r);
+ p.setPen(QPalette().text().color());
+ p.drawText(r, Qt::AlignCenter, i18nc("The first letter of Proxy, used as abbreviation", "P"));
+ }
+}
+
#include "projectlist.moc"