]> git.sesse.net Git - kdenlive/commitdiff
Delete invalid thumbs files
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Fri, 22 Jan 2010 12:08:52 +0000 (12:08 +0000)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Fri, 22 Jan 2010 12:08:52 +0000 (12:08 +0000)
svn path=/trunk/kdenlive/; revision=4242

src/customtrackview.cpp
src/docclipbase.cpp
src/projectlist.cpp

index 680c7fc9cc32978c0c757461bfd64cb96f48edbc..723d5ae41f8d8dc6ee3436ce429cf3afee178941 100644 (file)
@@ -64,6 +64,8 @@
 #include <KIcon>
 #include <KCursor>
 #include <KColorScheme>
+#include <KMessageBox>
+#include <KIO/NetAccess>
 
 #include <QMouseEvent>
 #include <QStylePainter>
@@ -72,7 +74,7 @@
 #include <QScrollBar>
 #include <QApplication>
 #include <QInputDialog>
-#include <KMessageBox>
+
 
 #if QT_VERSION >= 0x040600
 #include <QGraphicsDropShadowEffect>
@@ -4929,6 +4931,7 @@ void CustomTrackView::slotUpdateAllThumbs()
                     QString thumb = thumbBase + item->baseClip()->getClipHash() + "_0.png";
                     if (QFile::exists(thumb)) {
                         QPixmap pix(thumb);
+                        if (pix.isNull()) KIO::NetAccess::del(KUrl(thumb), this);
                         item->slotSetStartThumb(pix);
                     }
                 } else {
@@ -4938,10 +4941,12 @@ void CustomTrackView::slotUpdateAllThumbs()
                     endThumb.append(QString::number((item->speedIndependantCropStart() + item->speedIndependantCropDuration()).frames(m_document->fps()) - 1) + ".png");
                     if (QFile::exists(startThumb)) {
                         QPixmap pix(startThumb);
+                        if (pix.isNull()) KIO::NetAccess::del(KUrl(startThumb), this);
                         item->slotSetStartThumb(pix);
                     }
                     if (QFile::exists(endThumb)) {
                         QPixmap pix(endThumb);
+                        if (pix.isNull()) KIO::NetAccess::del(KUrl(endThumb), this);
                         item->slotSetEndThumb(pix);
                     }
                 }
index f14026b74a6fc71e303076e7bc9a735acb61ecef..5d74dac371cf729212088ffd1c21e07a82616e90 100644 (file)
@@ -127,7 +127,7 @@ void DocClipBase::setZone(QPoint zone)
 QPoint DocClipBase::zone() const
 {
     QPoint zone;
-    zone.setX(m_properties.value("zone_in").toInt());
+    zone.setX(m_properties.value("zone_in", "0").toInt());
     zone.setY(m_properties.value("zone_out", "50").toInt());
     return zone;
 }
index 0ee41ceb024603f82303e8ec922f6f1f07b65aa6..020bb439aaafc3514ee8d93c93dfa5c743ccabda 100644 (file)
@@ -757,7 +757,9 @@ void ProjectList::slotAddClip(DocClipBase *clip, bool getProperties)
     if (getProperties == false && !clip->getClipHash().isEmpty()) {
         QString cachedPixmap = m_doc->projectFolder().path(KUrl::AddTrailingSlash) + "thumbs/" + clip->getClipHash() + ".png";
         if (QFile::exists(cachedPixmap)) {
-            item->setData(0, Qt::DecorationRole, QPixmap(cachedPixmap));
+            QPixmap pix(cachedPixmap);
+            if (pix.isNull()) KIO::NetAccess::del(KUrl(cachedPixmap), this);
+            item->setData(0, Qt::DecorationRole, pix);
         }
     }
 #ifdef NEPOMUK
@@ -777,7 +779,9 @@ void ProjectList::slotAddClip(DocClipBase *clip, bool getProperties)
             if (!clip->getClipHash().isEmpty()) {
                 QString cachedPixmap = m_doc->projectFolder().path(KUrl::AddTrailingSlash) + "thumbs/" + clip->getClipHash() + '#' + QString::number(cuts.at(i).zone.x()) + ".png";
                 if (QFile::exists(cachedPixmap)) {
-                    sub->setData(0, Qt::DecorationRole, QPixmap(cachedPixmap));
+                    QPixmap pix(cachedPixmap);
+                    if (pix.isNull()) KIO::NetAccess::del(KUrl(cachedPixmap), this);
+                    sub->setData(0, Qt::DecorationRole, pix);
                 }
             }
         }
@@ -925,7 +929,7 @@ void ProjectList::slotRemoveInvalidClip(const QString &id, bool replace)
     QTimer::singleShot(300, this, SLOT(slotProcessNextClipInQueue()));
     if (item) {
         const QString path = item->referencedClip()->fileURL().path();
-       if (item->referencedClip()->isPlaceHolder()) replace = false;
+        if (item->referencedClip()->isPlaceHolder()) replace = false;
         if (!path.isEmpty()) {
             if (replace) KMessageBox::sorry(this, i18n("Clip <b>%1</b><br>is invalid, will be removed from project.", path));
             else {
@@ -1189,11 +1193,11 @@ void ProjectList::slotReplyGetFileProperties(const QString &clipId, Mlt::Produce
     if (item && producer) {
         m_listView->blockSignals(true);
         item->setProperties(properties, metadata);
-       if (item->referencedClip()->isPlaceHolder() && producer->is_valid()) {
-           item->referencedClip()->setValid();
-           item->setFlags(Qt::ItemIsSelectable | Qt::ItemIsDragEnabled | Qt::ItemIsEnabled | Qt::ItemIsEditable);
-           toReload = clipId;
-       }
+        if (item->referencedClip()->isPlaceHolder() && producer->is_valid()) {
+            item->referencedClip()->setValid();
+            item->setFlags(Qt::ItemIsSelectable | Qt::ItemIsDragEnabled | Qt::ItemIsEnabled | Qt::ItemIsEditable);
+            toReload = clipId;
+        }
         //Q_ASSERT_X(item->referencedClip(), "void ProjectList::slotReplyGetFileProperties", QString("Item with groupName %1 does not have a clip associated").arg(item->groupName()).toLatin1());
         item->referencedClip()->setProducer(producer, replace);
         if (!replace && item->data(0, Qt::DecorationRole).isNull()) {