X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fprojectitem.cpp;h=6b5f573e6e0b711d368e85193d3cb42086364c1d;hb=c3302003093710ee247ad84c0fe2ef3c579d417f;hp=c26f5ce94b8f330be69914175ce0948c2cc336c3;hpb=563a57ad4786d528755a99973cf3bffbdce96bcf;p=kdenlive diff --git a/src/projectitem.cpp b/src/projectitem.cpp index c26f5ce9..6b5f573e 100644 --- a/src/projectitem.cpp +++ b/src/projectitem.cpp @@ -35,7 +35,7 @@ const int JobTypeRole = Qt::UserRole + 6; const int JobStatusMessage = Qt::UserRole + 7; const int itemHeight = 38; -ProjectItem::ProjectItem(QTreeWidget * parent, DocClipBase *clip, QSize pixmapSize) : +ProjectItem::ProjectItem(QTreeWidget * parent, DocClipBase *clip, const QSize &pixmapSize) : QTreeWidgetItem(parent, PROJECTCLIPTYPE), m_clip(clip), m_clipId(clip->getId()), @@ -44,7 +44,7 @@ ProjectItem::ProjectItem(QTreeWidget * parent, DocClipBase *clip, QSize pixmapSi buildItem(pixmapSize); } -ProjectItem::ProjectItem(QTreeWidgetItem * parent, DocClipBase *clip, QSize pixmapSize) : +ProjectItem::ProjectItem(QTreeWidgetItem * parent, DocClipBase *clip, const QSize &pixmapSize) : QTreeWidgetItem(parent, PROJECTCLIPTYPE), m_clip(clip), m_clipId(clip->getId()), @@ -54,7 +54,7 @@ ProjectItem::ProjectItem(QTreeWidgetItem * parent, DocClipBase *clip, QSize pixm buildItem(pixmapSize); } -void ProjectItem::buildItem(QSize pixmapSize) +void ProjectItem::buildItem(const QSize &pixmapSize) { setSizeHint(0, QSize(itemHeight * 3, itemHeight)); if (m_clip->isPlaceHolder()) setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled | Qt::ItemIsDropEnabled); @@ -74,6 +74,7 @@ void ProjectItem::buildItem(QSize pixmapSize) default: setData(0, Qt::DecorationRole, KIcon("video-x-generic").pixmap(pixmapSize)); } + if (m_clipType != UNKNOWN) slotSetToolTip(); setText(0, name); setText(1, m_clip->description()); @@ -100,7 +101,7 @@ bool ProjectItem::hasPixmap() const return m_pixmapSet; } -void ProjectItem::setPixmap(const QPixmap p) +void ProjectItem::setPixmap(const QPixmap& p) { m_pixmapSet = true; setData(0, Qt::DecorationRole, p); @@ -153,7 +154,7 @@ void ProjectItem::changeDuration(int frames) setData(0, DurationRole, itemdata + Timecode::getEasyTimecode(GenTime(frames, KdenliveSettings::project_fps()), KdenliveSettings::project_fps())); } -void ProjectItem::setProperties(QMap props) +void ProjectItem::setProperties(const QMap &props) { if (m_clip == NULL) return; m_clip->setProperties(props); @@ -193,40 +194,7 @@ void ProjectItem::slotSetToolTip() if (hasProxy() && data(0, JobTypeRole).toInt() != PROXYJOB) { tip.append(i18n("Proxy clip") + " | "); } - tip.append(""); - switch (m_clipType) { - case AUDIO: - tip.append(i18n("Audio clip") + "
" + clipUrl().path()); - break; - case VIDEO: - tip.append(i18n("Mute video clip") + "
" + clipUrl().path()); - break; - case AV: - tip.append(i18n("Video clip") + "
" + clipUrl().path()); - break; - case COLOR: - tip.append(i18n("Color clip")); - break; - case IMAGE: - tip.append(i18n("Image clip") + "
" + clipUrl().path()); - break; - case TEXT: - if (!clipUrl().isEmpty() && m_clip->getProperty("xmldata").isEmpty()) tip.append(i18n("Template text clip") + "
" + clipUrl().path()); - else tip.append(i18n("Text clip") + "
" + clipUrl().path()); - break; - case SLIDESHOW: - tip.append(i18n("Slideshow clip") + "
" + clipUrl().directory()); - break; - case VIRTUAL: - tip.append(i18n("Virtual clip")); - break; - case PLAYLIST: - tip.append(i18n("Playlist clip") + "
" + clipUrl().path()); - break; - default: - tip.append(i18n("Unknown clip")); - break; - } + tip.append(m_clip->shortInfo()); setToolTip(0, tip); } @@ -236,6 +204,10 @@ void ProjectItem::setProperties(const QMap < QString, QString > &attributes, con 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; @@ -253,6 +225,8 @@ void ProjectItem::setProperties(const QMap < QString, QString > &attributes, con } } } + 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(); @@ -265,9 +239,6 @@ void ProjectItem::setProperties(const QMap < QString, QString > &attributes, con // 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")); @@ -324,7 +295,7 @@ bool ProjectItem::isProxyRunning() const return false; } -bool ProjectItem::playlistHasProxies(const QString path) +bool ProjectItem::playlistHasProxies(const QString& path) { kDebug()<<"// CHECKING FOR PROXIES"; QFile file(path); @@ -338,7 +309,7 @@ bool ProjectItem::playlistHasProxies(const QString path) file.close(); QString root = doc.documentElement().attribute("root"); QDomNodeList kdenliveProducers = doc.elementsByTagName("kdenlive_producer"); - for (int i = 0; i < kdenliveProducers.count(); i++) { + for (int i = 0; i < kdenliveProducers.count(); ++i) { QString proxy = kdenliveProducers.at(i).toElement().attribute("proxy"); if (!proxy.isEmpty() && proxy != "-") return true; }