]> git.sesse.net Git - kdenlive/blobdiff - src/kdenlivedoc.cpp
Speedup project opening (threaded loading) and fix shortcut conflict
[kdenlive] / src / kdenlivedoc.cpp
index f57e9efc34bc47ef37e6aa80e969a6f207925158..d1a340b8095ba1ef64ba4f0c553be2d1249d32a9 100644 (file)
@@ -311,6 +311,7 @@ QDomDocument KdenliveDoc::createEmptyDocument(int videotracks, int audiotracks)
         audioTrack.isBlind = true;
         audioTrack.isLocked = false;
         audioTrack.trackName = QString("Audio ") + QString::number(audiotracks - i);
+        audioTrack.duration = 0;
         m_tracksList.append(audioTrack);
 
     }
@@ -321,6 +322,7 @@ QDomDocument KdenliveDoc::createEmptyDocument(int videotracks, int audiotracks)
         videoTrack.isBlind = false;
         videoTrack.isLocked = false;
         videoTrack.trackName = QString("Video ") + QString::number(videotracks - i);
+        videoTrack.duration = 0;
         m_tracksList.append(videoTrack);
     }
     return createEmptyDocument(m_tracksList);
@@ -985,7 +987,6 @@ bool KdenliveDoc::addClip(QDomElement elem, QString clipId, bool createClipItem)
 
     if (createClipItem) {
         emit addProjectClip(clip);
-        //qApp->processEvents();
     }
 
     return true;
@@ -1219,6 +1220,16 @@ void KdenliveDoc::switchTrackVideo(int ix, bool hide)
     m_tracksList[ix].isBlind = hide; // !m_tracksList.at(ix).isBlind;
 }
 
+int KdenliveDoc::trackDuration(int ix)
+{
+    return m_tracksList.at(ix).duration; 
+}
+
+void KdenliveDoc::setTrackDuration(int ix, int duration)
+{
+    m_tracksList[ix].duration = duration;
+}
+
 void KdenliveDoc::insertTrack(int ix, TrackInfo type)
 {
     if (ix == -1) m_tracksList << type;
@@ -1459,6 +1470,11 @@ bool KdenliveDoc::saveCustomEffects(QDomNodeList customeffects)
 
 void KdenliveDoc::updateProjectFolderPlacesEntry()
 {
+    /*
+     * For similar and more code have a look at kfileplacesmodel.cpp and the included files:
+     * http://websvn.kde.org/trunk/KDE/kdelibs/kfile/kfileplacesmodel.cpp?view=markup
+     */
+
     const QString file = KStandardDirs::locateLocal("data", "kfileplaces/bookmarks.xml");
     KBookmarkManager *bookmarkManager = KBookmarkManager::managerForFile(file, "kfilePlaces");
     KBookmarkGroup root = bookmarkManager->root();
@@ -1488,9 +1504,9 @@ void KdenliveDoc::updateProjectFolderPlacesEntry()
 
     // if entry does not exist yet (was not found), well, create it then
     if (!exists) {
-        KBookmark newBookmark = root.addBookmark(i18n("Project Folder"), documentLocation, "folder-favorites");
+        bookmark = root.addBookmark(i18n("Project Folder"), documentLocation, "folder-favorites");
         // Make this user selectable ?
-        newBookmark.setMetaDataItem("OnlyInApp", kdenliveName);
+        bookmark.setMetaDataItem("OnlyInApp", kdenliveName);
         bookmarkManager->emitChanged(root);
     }
 }