From: Jean-Baptiste Mardelle Date: Tue, 18 May 2010 14:42:47 +0000 (+0000) Subject: Fix audio thumbs not displayed on project opening and abortion if audio thumbs creation X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=25a95ff4dba48d6a94c5c1d0d653617b1c327b90;p=kdenlive Fix audio thumbs not displayed on project opening and abortion if audio thumbs creation svn path=/trunk/kdenlive/; revision=4453 --- diff --git a/src/clipmanager.cpp b/src/clipmanager.cpp index 7db3a4af..f4dce647 100644 --- a/src/clipmanager.cpp +++ b/src/clipmanager.cpp @@ -40,7 +40,6 @@ ClipManager::ClipManager(KdenliveDoc *doc) : QObject(), m_audioThumbsQueue(), m_doc(doc), - m_audioThumbsEnabled(false), m_generatingAudioId() { m_clipIdCounter = 1; @@ -70,18 +69,20 @@ void ClipManager::clear() void ClipManager::checkAudioThumbs() { - if (m_audioThumbsEnabled == KdenliveSettings::audiothumbnails()) return; - m_audioThumbsEnabled = KdenliveSettings::audiothumbnails(); - for (int i = 0; i < m_clipList.count(); i++) { - if (m_audioThumbsEnabled) m_audioThumbsQueue.append(m_clipList.at(i)->getId()); - else m_clipList.at(i)->slotClearAudioCache(); - } - if (m_audioThumbsEnabled) { - if (m_generatingAudioId.isEmpty()) startAudioThumbsGeneration(); - } else { + if (!KdenliveSettings::audiothumbnails()) { + if (!m_generatingAudioId.isEmpty()) { + DocClipBase *clip = getClipById(m_generatingAudioId); + if (clip) clip->slotClearAudioCache(); + } m_audioThumbsQueue.clear(); m_generatingAudioId.clear(); + return; + } + + for (int i = 0; i < m_clipList.count(); i++) { + m_audioThumbsQueue.append(m_clipList.at(i)->getId()); } + if (m_generatingAudioId.isEmpty()) startAudioThumbsGeneration(); } void ClipManager::askForAudioThumb(const QString &id) diff --git a/src/clipmanager.h b/src/clipmanager.h index bb45d4ff..943d6a56 100644 --- a/src/clipmanager.h +++ b/src/clipmanager.h @@ -118,7 +118,6 @@ private: // Private attributes KdenliveDoc *m_doc; int m_clipIdCounter; int m_folderIdCounter; - bool m_audioThumbsEnabled; QString m_generatingAudioId; KDirWatch m_fileWatcher; diff --git a/src/docclipbase.cpp b/src/docclipbase.cpp index 599f32f5..41eb8c5e 100644 --- a/src/docclipbase.cpp +++ b/src/docclipbase.cpp @@ -133,7 +133,6 @@ QPoint DocClipBase::zone() const void DocClipBase::slotCreateAudioTimer() { connect(m_thumbProd, SIGNAL(audioThumbReady(QMap >)), this , SLOT(updateAudioThumbnail(QMap >))); - connect(this, SIGNAL(getAudioThumbs()), this , SLOT(slotGetAudioThumbs())); m_audioTimer = new QTimer(this); connect(m_audioTimer, SIGNAL(timeout()), this, SLOT(slotGetAudioThumbs())); } diff --git a/src/docclipbase.h b/src/docclipbase.h index 6ad3894c..60e1402b 100644 --- a/src/docclipbase.h +++ b/src/docclipbase.h @@ -265,7 +265,6 @@ public slots: signals: - void getAudioThumbs(); void gotAudioData(); }; diff --git a/src/projectlist.cpp b/src/projectlist.cpp index 2ced59ad..6fcbd91a 100644 --- a/src/projectlist.cpp +++ b/src/projectlist.cpp @@ -830,9 +830,9 @@ void ProjectList::slotAddClip(DocClipBase *clip, bool getProperties) QDomElement e = clip->toXML().cloneNode().toElement(); e.removeAttribute("file_hash"); m_infoQueue.insert(clip->getId(), e); - clip->askForAudioThumbs(); //m_render->getFileProperties(clip->toXML(), clip->getId(), true); } + clip->askForAudioThumbs(); const QString parent = clip->getProperty("groupid"); ProjectItem *item = NULL; if (!parent.isEmpty()) {