]> git.sesse.net Git - kdenlive/commitdiff
Recreate project thumbs when document profile is changed
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Fri, 29 May 2009 23:44:43 +0000 (23:44 +0000)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Fri, 29 May 2009 23:44:43 +0000 (23:44 +0000)
svn path=/trunk/kdenlive/; revision=3451

src/mainwindow.cpp
src/projectlist.cpp
src/projectlist.h

index ccf544b8af1f1e3a0a7c99553b27afc6c78e13e1..b2e6a87d6a7d0caddc58595ff14aaec832b43fd0 100644 (file)
@@ -1527,6 +1527,7 @@ void MainWindow::slotEditProjectSettings()
         if (m_renderWidget) m_renderWidget->setDocumentPath(w->selectedFolder().path());
         if (m_activeDocument->profilePath() != profile) {
             // Profile was changed
+            double dar = m_activeDocument->dar();
             m_activeDocument->setProfilePath(profile);
             KdenliveSettings::setCurrent_profile(profile);
             KdenliveSettings::setProject_fps(m_activeDocument->fps());
@@ -1535,7 +1536,7 @@ void MainWindow::slotEditProjectSettings()
             if (m_renderWidget) m_renderWidget->setProfile(m_activeDocument->mltProfile());
             m_timelineArea->setTabText(m_timelineArea->currentIndex(), m_activeDocument->description());
             m_activeDocument->clipManager()->resetProducersList(m_projectMonitor->render->producersList());
-
+            if (dar != m_activeDocument->dar()) m_projectList->reloadClipThumbnails();
             // We need to desactivate & reactivate monitors to get a refresh
             m_monitorManager->switchMonitors();
         }
index 857b51e88a9902e8c14f63cd9be97cf8bbbac4d7..2fa8a85e06cb23ebf3ec81057f745e8cf86905a4 100644 (file)
@@ -773,6 +773,18 @@ void ProjectList::slotCheckForEmptyQueue()
     } else QTimer::singleShot(500, this, SLOT(slotCheckForEmptyQueue()));
 }
 
+void ProjectList::reloadClipThumbnails()
+{
+    m_thumbnailQueue.clear();
+    QTreeWidgetItemIterator it(m_listView);
+    while (*it) {
+        if (!((ProjectItem *)(*it))->isGroup())
+            m_thumbnailQueue << ((ProjectItem *)(*it))->clipId();
+        ++it;
+    }
+    QTimer::singleShot(300, this, SLOT(slotProcessNextThumbnail()));
+}
+
 void ProjectList::requestClipThumbnail(const QString &id)
 {
     m_thumbnailQueue.append(id);
index c52491c9a0e301687794e512d2e1fe80995ecdc3..1352cd7172acffcda7e10b84aa78c6c9acaebb4a 100644 (file)
@@ -129,6 +129,7 @@ public:
     void setupMenu(QMenu *addMenu, QAction *defaultAction);
     void setupGeneratorMenu(QMenu *addMenu, QMenu *transcodeMenu);
     QString currentClipUrl() const;
+    void reloadClipThumbnails();
 
 public slots:
     void setDocument(KdenliveDoc *doc);