]> git.sesse.net Git - kdenlive/commitdiff
Show warning when adding a clip which already exists in the project
authorTill Theato <root@ttill.de>
Wed, 21 Apr 2010 19:41:45 +0000 (19:41 +0000)
committerTill Theato <root@ttill.de>
Wed, 21 Apr 2010 19:41:45 +0000 (19:41 +0000)
svn path=/trunk/kdenlive/; revision=4394

src/clipmanager.cpp

index 13f2b1bd27d44ea7ce888b94b3d185749c44bfe5..99acb330d2f8e30247ce5b2b8105afbff3c7967d 100644 (file)
@@ -29,7 +29,9 @@
 #include <mlt++/Mlt.h>
 
 #include <KDebug>
+#include <KMessageBox>
 #include <KFileDialog>
+#include <KApplication>
 #include <kio/netaccess.h>
 
 #include <QGraphicsItemGroup>
@@ -275,6 +277,10 @@ void ClipManager::slotAddClipList(const KUrl::List urls, const QString group, co
                 prod.setAttribute("groupid", groupId);
             }
             prod.setAttribute("resource", file.path());
+            if (!getClipByResource(prod.attribute("resource")).empty()) {
+                if (KMessageBox::warningContinueCancel(kapp->activeWindow(), i18n("Clip <b>%1</b><br />already exists in project, what do you want to do?", prod.attribute("resource")), i18n("Clip already exists")) == KMessageBox::Cancel)
+                    continue;
+            }
             uint id = m_clipIdCounter++;
             prod.setAttribute("id", QString::number(id));
             KMimeType::Ptr type = KMimeType::findByUrl(file);
@@ -311,6 +317,10 @@ void ClipManager::slotAddClipFile(const KUrl url, const QString group, const QSt
     QDomElement prod = doc.createElement("producer");
     doc.appendChild(prod);
     prod.setAttribute("resource", url.path());
+    if (!getClipByResource(prod.attribute("resource")).empty()) {
+        if (KMessageBox::warningContinueCancel(kapp->activeWindow(), i18n("Clip <b>%1</b><br />already exists in project, what do you want to do?", prod.attribute("resource")), i18n("Clip already exists")) == KMessageBox::Cancel)
+            return;
+    }
     uint id = m_clipIdCounter++;
     prod.setAttribute("id", QString::number(id));
     if (!group.isEmpty()) {