ProjectClip::ProjectClip(const QDomElement& description, QIcon thumb, ProjectFolder* parent) : AbstractProjectItem(AbstractProjectItem::ClipItem, description, parent) , m_abortAudioThumb(false) , m_controller(NULL) , m_type(Unknown) , m_thumbsProducer(NULL) { Q_ASSERT(description.hasAttribute("id")); m_clipStatus = StatusWaiting; m_thumbnail = thumb; if (description.hasAttribute(QStringLiteral("type"))) { m_type = (ClipType) description.attribute(QStringLiteral("type")).toInt(); if (m_type == Audio) { m_thumbnail = QIcon::fromTheme(QStringLiteral("audio-x-generic")); } } m_temporaryUrl = QUrl::fromLocalFile(getXmlProperty(description, QStringLiteral("resource"))); QString clipName = getXmlProperty(description, QStringLiteral("kdenlive:clipname")); if (!clipName.isEmpty()) { m_name = clipName; } else if (m_temporaryUrl.isValid()) { m_name = m_temporaryUrl.fileName(); } else m_name = i18n("Untitled"); connect(this, &ProjectClip::updateJobStatus, this, &ProjectClip::setJobStatus); setParent(parent); }
ProjectClip::ProjectClip(const QDomElement& description, QIcon thumb, ProjectFolder* parent) : AbstractProjectItem(AbstractProjectItem::ClipItem, description, parent) , audioFrameCache() , m_controller(NULL) , m_gpuProducer(NULL) , m_abortAudioThumb(false) , m_type(Unknown) { Q_ASSERT(description.hasAttribute("id")); m_clipStatus = StatusWaiting; m_thumbnail = thumb; if (description.hasAttribute("type")) { m_type = (ClipType) description.attribute("type").toInt(); } m_temporaryUrl = QUrl::fromLocalFile(getXmlProperty(description, "resource")); QString clipName = getXmlProperty(description, "kdenlive:clipname"); if (!clipName.isEmpty()) { m_name = clipName; } else if (m_temporaryUrl.isValid()) { m_name = m_temporaryUrl.fileName(); } else m_name = i18n("Untitled"); setParent(parent); }