return doc.documentElement();
}
+const QString DocClipBase::shortInfo() const
+{
+
+ QString info;
+ if (m_clipType == AV || m_clipType == VIDEO || m_clipType == IMAGE || m_clipType == PLAYLIST) {
+ info = m_properties.value("frame_size") + " ";
+ if (m_properties.contains("fps")) {
+ info.append(i18n("%1 fps", m_properties.value("fps").left(5)));
+ }
+ if (!info.simplified().isEmpty()) info.prepend(" - ");
+ }
+ else if (m_clipType == AUDIO) {
+ info = " - " + m_properties.value("frequency") + i18n("Hz");
+ }
+ QString tip = "<b>";
+ switch (m_clipType) {
+ case AUDIO:
+ tip.append(i18n("Audio clip") + "</b>" + info + "<br />" + fileURL().path());
+ break;
+ case VIDEO:
+ tip.append(i18n("Mute video clip") + "</b>" + info + "<br />" + fileURL().path());
+ break;
+ case AV:
+ tip.append(i18n("Video clip") + "</b>" + info + "<br />" + fileURL().path());
+ break;
+ case COLOR:
+ tip.append(i18n("Color clip"));
+ break;
+ case IMAGE:
+ tip.append(i18n("Image clip") + "</b>" + info + "<br />" + fileURL().path());
+ break;
+ case TEXT:
+ if (!fileURL().isEmpty() && getProperty("xmldata").isEmpty()) tip.append(i18n("Template text clip") + "</b><br />" + fileURL().path());
+ else tip.append(i18n("Text clip") + "</b><br />" + fileURL().path());
+ break;
+ case SLIDESHOW:
+ tip.append(i18n("Slideshow clip") + "</b><br />" + fileURL().directory());
+ break;
+ case VIRTUAL:
+ tip.append(i18n("Virtual clip"));
+ break;
+ case PLAYLIST:
+ tip.append(i18n("Playlist clip") + "</b>" + info + "<br />" + fileURL().path());
+ break;
+ default:
+ tip.append(i18n("Unknown clip"));
+ break;
+ }
+ return tip;
+}
+
void DocClipBase::setAudioThumbCreated(bool isDone)
{
/** Return the current values for a set of properties */
QMap <QString, QString> currentProperties(QMap <QString, QString> props);
QMap <QString, QStringList> metadata() const;
+ /** @brief Returns a short info string about the clip to display in tooltip */
+ const QString shortInfo() const;
private: // Private attributes
/** The number of times this clip is used in the project - the number of references to this clip
if (hasProxy() && data(0, JobTypeRole).toInt() != PROXYJOB) {
tip.append(i18n("Proxy clip") + " | ");
}
- tip.append("<b>");
- switch (m_clipType) {
- case AUDIO:
- tip.append(i18n("Audio clip") + "</b><br />" + clipUrl().path());
- break;
- case VIDEO:
- tip.append(i18n("Mute video clip") + "</b><br />" + clipUrl().path());
- break;
- case AV:
- tip.append(i18n("Video clip") + "</b><br />" + clipUrl().path());
- break;
- case COLOR:
- tip.append(i18n("Color clip"));
- break;
- case IMAGE:
- tip.append(i18n("Image clip") + "</b><br />" + clipUrl().path());
- break;
- case TEXT:
- if (!clipUrl().isEmpty() && m_clip->getProperty("xmldata").isEmpty()) tip.append(i18n("Template text clip") + "</b><br />" + clipUrl().path());
- else tip.append(i18n("Text clip") + "</b><br />" + clipUrl().path());
- break;
- case SLIDESHOW:
- tip.append(i18n("Slideshow clip") + "</b><br />" + clipUrl().directory());
- break;
- case VIRTUAL:
- tip.append(i18n("Virtual clip"));
- break;
- case PLAYLIST:
- tip.append(i18n("Playlist clip") + "</b><br />" + clipUrl().path());
- break;
- default:
- tip.append(i18n("Unknown clip"));
- break;
- }
+ tip.append(m_clip->shortInfo());
setToolTip(0, tip);
}
if (m_clip == NULL) return;
QString prefix;
+
+ m_clip->setProperties(attributes);
+ m_clip->setMetadata(metadata);
+
if (m_clipType == UNKNOWN) {
QString cliptype = attributes.value("type");
if (cliptype == "audio") m_clipType = AUDIO;
}
}
}
+ else if (attributes.contains("frame_size")) slotSetToolTip();
+
if (attributes.contains("duration")) {
GenTime duration = GenTime(attributes.value("duration").toInt(), KdenliveSettings::project_fps());
QString itemdata = data(0, DurationRole).toString();
// No duration known, use an arbitrary one until it is.
}
- m_clip->setProperties(attributes);
- m_clip->setMetadata(metadata);
-
if (m_clip->description().isEmpty()) {
if (metadata.contains("description")) {
m_clip->setProperty("description", metadata.value("description"));