+void ClipManager::slotAddClipList(const KUrl::List urls, const QString group, const QString &groupId) {
+ QUndoCommand *addClips = new QUndoCommand();
+ addClips->setText("Add clips");
+
+ foreach(const KUrl file, urls) {
+ if (KIO::NetAccess::exists(file, KIO::NetAccess::SourceSide, NULL)) {
+ QDomDocument doc;
+ QDomElement prod = doc.createElement("producer");
+ if (!group.isEmpty()) {
+ prod.setAttribute("groupname", group);
+ prod.setAttribute("groupid", groupId);
+ }
+ prod.setAttribute("resource", file.path());
+ uint id = m_clipIdCounter++;
+ prod.setAttribute("id", QString::number(id));
+ KMimeType::Ptr type = KMimeType::findByUrl(file);
+ if (type->name().startsWith("image/")) {
+ prod.setAttribute("type", (int) IMAGE);
+ prod.setAttribute("in", "0");
+ prod.setAttribute("out", m_doc->getFramePos(KdenliveSettings::image_duration()) - 1);
+ }
+ new AddClipCommand(m_doc, prod, QString::number(id), true, addClips);
+ }
+ }
+ m_doc->commandStack()->push(addClips);
+}
+
+void ClipManager::slotAddClipFile(const KUrl url, const QString group, const QString &groupId) {