#include <QGraphicsItemGroup>
-ClipManager::ClipManager(KdenliveDoc *doc): m_doc(doc), m_audioThumbsEnabled(false), m_audioThumbsQueue(QList <QString> ()), m_generatingAudioId(QString())
+ClipManager::ClipManager(KdenliveDoc *doc) :
+ QObject(),
+ m_audioThumbsQueue(),
+ m_doc(doc),
+ m_audioThumbsEnabled(false),
+ m_generatingAudioId()
{
m_clipIdCounter = 1;
m_folderIdCounter = 1;
void ClipManager::slotDeleteClip(const QString &clipId)
{
- for (int i = 0; i < m_clipList.count(); i++) {
- if (m_clipList.at(i)->getId() == clipId) {
- AddClipCommand *command = new AddClipCommand(m_doc, m_clipList.at(i)->toXML(), clipId, false);
- m_doc->commandStack()->push(command);
- break;
- }
+ DocClipBase *clip = getClipById(clipId);
+ if (clip) {
+ AddClipCommand *command = new AddClipCommand(m_doc, clip->toXML(), clipId, false);
+ m_doc->commandStack()->push(command);
}
}
{
for (int i = 0; i < m_clipList.count(); i++) {
if (m_clipList.at(i)->getId() == clipId) {
- DocClipBase *clip = m_clipList.takeAt(i);
- delete clip;
- clip = NULL;
+ delete m_clipList.takeAt(i);
break;
}
}
DocClipBase *ClipManager::getClipByResource(QString resource)
{
+ QString clipResource;
for (int i = 0; i < m_clipList.count(); i++) {
- if (m_clipList.at(i)->getProperty("resource") == resource) {
+ clipResource = m_clipList.at(i)->getProperty("resource");
+ if (clipResource.isEmpty()) clipResource = m_clipList.at(i)->getProperty("colour");
+ if (clipResource == resource) {
return m_clipList.at(i);
}
}
QDomElement prod = doc.createElement("producer");
doc.appendChild(prod);
prod.setAttribute("resource", imagePath);
- prod.setAttribute("titlename", titleName);
+ prod.setAttribute("name", titleName);
prod.setAttribute("xmldata", xml);
uint id = m_clipIdCounter++;
prod.setAttribute("id", QString::number(id));