]> git.sesse.net Git - kdenlive/blobdiff - src/clipmanager.cpp
Use separate counters for Clips and Folders:
[kdenlive] / src / clipmanager.cpp
index 80e793a6c7df3608f1f614c8898c201017f4d72d..379eaaba5835116a24a20bd06df25bede15558ee 100644 (file)
@@ -30,6 +30,7 @@
 
 ClipManager::ClipManager(KdenliveDoc *doc): m_doc(doc), m_audioThumbsEnabled(false), m_audioThumbsQueue(QList <QString> ()), m_generatingAudioId(QString()) {
     m_clipIdCounter = 1;
+    m_folderIdCounter = 1;
 }
 
 ClipManager::~ClipManager() {
@@ -102,6 +103,8 @@ void ClipManager::addClip(DocClipBase *clip) {
     m_clipList.append(clip);
     const QString id = clip->getId();
     if (id.toInt() >= m_clipIdCounter) m_clipIdCounter = id.toInt() + 1;
+    const QString gid = clip->getProperty("groupid");
+    if (!gid.isEmpty() && gid.toInt() >= m_folderIdCounter) m_folderIdCounter = gid.toInt() + 1;
 }
 
 void ClipManager::slotDeleteClip(const QString &clipId) {
@@ -301,6 +304,10 @@ int ClipManager::getFreeClipId() {
     return m_clipIdCounter++;
 }
 
+int ClipManager::getFreeFolderId() {
+    return m_folderIdCounter++;
+}
+
 int ClipManager::lastClipId() const {
     return m_clipIdCounter - 1;
 }