]> git.sesse.net Git - kdenlive/commitdiff
Correctly focus clips / folders when they are created:
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Sat, 20 Jun 2009 18:04:01 +0000 (18:04 +0000)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Sat, 20 Jun 2009 18:04:01 +0000 (18:04 +0000)
http://kdenlive.org/mantis/view.php?id=944

svn path=/trunk/kdenlive/; revision=3608

src/kdenlivedoc.cpp
src/kdenlivedoc.h
src/projectlist.cpp

index 663157dbfbb89e9a88067e2549cbaa229f03b441..ab517a6cdcdb3b1e0c8b8b1ca6f4a3ad0d9dcc1a 100644 (file)
@@ -918,7 +918,7 @@ void KdenliveDoc::addClip(QDomElement elem, QString clipId, bool createClipItem)
     if (createClipItem) {
         emit addProjectClip(clip);
         qApp->processEvents();
-        m_render->getFileProperties(clip->toXML(), clip->getId());
+        m_render->getFileProperties(clip->toXML(), clip->getId(), false);
     }
 }
 
@@ -1040,7 +1040,6 @@ void KdenliveDoc::slotAddClipList(const KUrl::List urls, const QString group, co
 
 void KdenliveDoc::slotAddClipFile(const KUrl url, const QString group, const QString &groupId)
 {
-    //kDebug() << "/////////  DOCUM, ADD CLP: " << url;
     m_clipManager->slotAddClipFile(url, group, groupId);
     emit selectLastAddedClip(QString::number(m_clipManager->lastClipId()));
     setModified(true);
@@ -1056,6 +1055,20 @@ DocClipBase *KdenliveDoc::getBaseClip(const QString &clipId)
     return m_clipManager->getClipById(clipId);
 }
 
+void KdenliveDoc::slotCreateColorClip(const QString &name, const QString &color, const QString &duration, QString group, const QString &groupId)
+{
+    m_clipManager->slotAddColorClipFile(name, color, duration, group, groupId);
+    setModified(true);
+    emit selectLastAddedClip(QString::number(m_clipManager->lastClipId()));
+}
+
+void KdenliveDoc::slotCreateSlideshowClipFile(const QString name, const QString path, int count, const QString duration, const bool loop, const bool fade, const QString &luma_duration, const QString &luma_file, const int softness, QString group, const QString &groupId)
+{
+    m_clipManager->slotAddSlideshowClipFile(name, path, count, duration, loop, fade, luma_duration, luma_file, softness, group, groupId);
+    setModified(true);
+    emit selectLastAddedClip(QString::number(m_clipManager->lastClipId()));
+}
+
 void KdenliveDoc::slotCreateTextClip(QString group, const QString &groupId, const QString &templatePath)
 {
     QString titlesFolder = projectFolder().path() + "/titles/";
@@ -1068,6 +1081,7 @@ void KdenliveDoc::slotCreateTextClip(QString group, const QString &groupId, cons
         //dia_ui->saveTitle(path + ".kdenlivetitle");
         m_clipManager->slotAddTextClipFile(titleInfo.at(0), titleInfo.at(1), dia_ui->xml().toString(), group, groupId);
         setModified(true);
+        emit selectLastAddedClip(QString::number(m_clipManager->lastClipId()));
     }
     delete dia_ui;
 }
@@ -1089,6 +1103,7 @@ void KdenliveDoc::slotCreateTextTemplateClip(QString group, const QString &group
     delete dia_ui;
     m_clipManager->slotAddTextTemplateClip(titleInfo.at(0), titleInfo.at(1), path, group, groupId);
     setModified(true);
+    emit selectLastAddedClip(QString::number(m_clipManager->lastClipId()));
 }
 
 int KdenliveDoc::tracksCount() const
index bd34660b1fdcab0f921f73ec29c204c635d4b058..0f7cca0414efebe5c5ed4ad35403a5f346bc348f 100644 (file)
@@ -150,6 +150,8 @@ private:
     bool checkDocumentClips(QDomNodeList infoproducers);
 
 public slots:
+    void slotCreateColorClip(const QString &name, const QString &color, const QString &duration, QString group, const QString &groupId);
+    void slotCreateSlideshowClipFile(const QString name, const QString path, int count, const QString duration, const bool loop, const bool fade, const QString &luma_duration, const QString &luma_file, const int softness, QString group, const QString &groupId);
     void slotCreateTextClip(QString group, const QString &groupId, const QString &templatePath = QString());
     void slotCreateTextTemplateClip(QString group, const QString &groupId, KUrl path);
     /** Set to true if document needs saving, false otherwise */
index 87f3fa84ff67f259eeb67582d27e49c9f1d3533a..698a16f2919d7da0638833791276656e6020e94c 100644 (file)
@@ -454,7 +454,7 @@ void ProjectList::slotAddFolder(const QString foldername, const QString &clipId,
             QStringList text;
             text << QString() << foldername;
             m_listView->blockSignals(true);
-            (void) new ProjectItem(m_listView, text, clipId);
+            m_listView->setCurrentItem(new ProjectItem(m_listView, text, clipId));
             m_doc->clipManager()->addFolder(clipId, foldername);
             m_listView->blockSignals(false);
         }
@@ -498,7 +498,6 @@ void ProjectList::slotAddClip(DocClipBase *clip, bool getProperties)
         if (parentitem) item = new ProjectItem(parentitem, clip);
     }
     if (item == NULL) item = new ProjectItem(m_listView, clip);
-
     KUrl url = clip->fileURL();
     if (!url.isEmpty() && KdenliveSettings::activate_nepomuk()) {
         // if file has Nepomuk comment, use it
@@ -659,8 +658,7 @@ void ProjectList::slotAddColorClip()
         QString color = dia_ui.clip_color->color().name();
         color = color.replace(0, 1, "0x") + "ff";
         QStringList groupInfo = getGroup();
-        m_doc->clipManager()->slotAddColorClipFile(dia_ui.clip_name->text(), color, dia_ui.clip_duration->text(), groupInfo.at(0), groupInfo.at(1));
-        m_doc->setModified(true);
+        m_doc->slotCreateColorClip(dia_ui.clip_name->text(), color, dia_ui.clip_duration->text(), groupInfo.at(0), groupInfo.at(1));
     }
     delete dia;
 }
@@ -673,8 +671,7 @@ void ProjectList::slotAddSlideshowClip()
 
     if (dia->exec() == QDialog::Accepted) {
         QStringList groupInfo = getGroup();
-        m_doc->clipManager()->slotAddSlideshowClipFile(dia->clipName(), dia->selectedPath(), dia->imageCount(), dia->clipDuration(), dia->loop(), dia->fade(), dia->lumaDuration(), dia->lumaFile(), dia->softness(), groupInfo.at(0), groupInfo.at(1));
-        m_doc->setModified(true);
+        m_doc->slotCreateSlideshowClipFile(dia->clipName(), dia->selectedPath(), dia->imageCount(), dia->clipDuration(), dia->loop(), dia->fade(), dia->lumaDuration(), dia->lumaFile(), dia->softness(), groupInfo.at(0), groupInfo.at(1));
     }
     delete dia;
 }