]> git.sesse.net Git - kdenlive/commitdiff
Fix tooltips & icon for audio clips when loading a project
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Thu, 6 Nov 2008 23:24:04 +0000 (23:24 +0000)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Thu, 6 Nov 2008 23:24:04 +0000 (23:24 +0000)
svn path=/branches/KDE4/; revision=2627

src/projectitem.cpp
src/projectlist.cpp

index 89ffd9cf1c21819f0743ee3ff150d4fead380f2c..3e79b65c23e0596554a90704a68035e3824e0fc8 100644 (file)
@@ -57,6 +57,7 @@ ProjectItem::ProjectItem(QTreeWidget * parent, DocClipBase *clip)
     QString name = m_clip->getProperty("name");
     if (name.isEmpty()) name = KUrl(m_clip->getProperty("resource")).fileName();
     m_clipType = (CLIPTYPE) m_clip->getProperty("type").toInt();
+    if (m_clipType != UNKNOWN) slotSetToolTip();
     setText(1, name);
     setText(2, m_clip->description());
     if ((m_clip->clipType() == AV || m_clip->clipType() == AUDIO) && KdenliveSettings::audiothumbnails()) m_clip->askForAudioThumbs();
@@ -158,31 +159,31 @@ DocClipBase *ProjectItem::referencedClip() {
 void ProjectItem::slotSetToolTip() {
     QString tip = "<qt><b>";
     switch (m_clipType) {
-    case 1:
+    case AUDIO:
         tip.append(i18n("Audio clip") + "</b><br />" + clipUrl().path());
         break;
-    case 2:
+    case VIDEO:
         tip.append(i18n("Mute video clip") + "</b><br />" + clipUrl().path());
         break;
-    case 3:
+    case AV:
         tip.append(i18n("Video clip") + "</b><br />" + clipUrl().path());
         break;
-    case 4:
+    case COLOR:
         tip.append(i18n("Color clip"));
         break;
-    case 5:
+    case IMAGE:
         tip.append(i18n("Image clip") + "</b><br />" + clipUrl().path());
         break;
-    case 6:
+    case TEXT:
         tip.append(i18n("Text clip"));
         break;
-    case 7:
+    case SLIDESHOW:
         tip.append(i18n("Slideshow clip"));
         break;
-    case 8:
+    case VIRTUAL:
         tip.append(i18n("Virtual clip"));
         break;
-    case 9:
+    case PLAYLIST:
         tip.append(i18n("Playlist clip") + "</b><br />" + clipUrl().path());
         break;
     default:
@@ -225,8 +226,8 @@ void ProjectItem::setProperties(const QMap < QString, QString > &attributes, con
             m_clipType = AV;
         }
         m_clip->setClipType(m_clipType);
+        slotSetToolTip();
     }
-    slotSetToolTip();
     m_clip->setProperties(attributes);
 
     if ((m_clipType == AV || m_clipType == AUDIO) && KdenliveSettings::audiothumbnails()) m_clip->askForAudioThumbs();
index 2530c2ee83ce2c877e7c775bd2d9e6b88d5902f3..5d9bea0193f4fc3ec5c11d7094fdb1061aebf322 100644 (file)
@@ -587,7 +587,11 @@ void ProjectList::slotRefreshClipThumbnail(ProjectItem *item, bool update) {
         if (!item->referencedClip()) return;
         int height = 50;
         int width = (int)(height  * m_render->dar());
-        QPixmap pix = item->referencedClip()->thumbProducer()->extractImage(item->referencedClip()->getClipThumbFrame(), width, height);
+        DocClipBase *clip = item->referencedClip();
+        if (!clip) slotProcessNextThumbnail();
+        QPixmap pix;
+        if (clip->clipType() == AUDIO) pix = KIcon("audio-x-generic").pixmap(QSize(width, height));
+        else pix = item->referencedClip()->thumbProducer()->extractImage(item->referencedClip()->getClipThumbFrame(), width, height);
         item->setIcon(0, pix);
         if (update) emit projectModified();
         if (!m_thumbnailQueue.isEmpty()) QTimer::singleShot(300, this, SLOT(slotProcessNextThumbnail()));