]> git.sesse.net Git - kdenlive/blobdiff - src/projectitem.cpp
Cleaning code style of Definitions.
[kdenlive] / src / projectitem.cpp
index c26f5ce94b8f330be69914175ce0948c2cc336c3..a462755765335f6a6474784d6d71e51d4a6abb17 100644 (file)
@@ -24,7 +24,7 @@
 #include "docclipbase.h"
 
 #include <KDebug>
-#include <KLocale>
+#include <KLocalizedString>
 #include <KIcon>
 
 #include <QFile>
@@ -35,8 +35,8 @@ const int JobTypeRole = Qt::UserRole + 6;
 const int JobStatusMessage = Qt::UserRole + 7;
 const int itemHeight = 38;
 
-ProjectItem::ProjectItem(QTreeWidget * parent, DocClipBase *clip, QSize pixmapSize) :
-        QTreeWidgetItem(parent, PROJECTCLIPTYPE),
+ProjectItem::ProjectItem(QTreeWidget * parent, DocClipBase *clip, const QSize &pixmapSize) :
+        QTreeWidgetItem(parent, ProjectClipType),
         m_clip(clip),
         m_clipId(clip->getId()),
         m_pixmapSet(false)
@@ -44,8 +44,8 @@ ProjectItem::ProjectItem(QTreeWidget * parent, DocClipBase *clip, QSize pixmapSi
     buildItem(pixmapSize);
 }
 
-ProjectItem::ProjectItem(QTreeWidgetItem * parent, DocClipBase *clip, QSize pixmapSize) :
-        QTreeWidgetItem(parent, PROJECTCLIPTYPE),
+ProjectItem::ProjectItem(QTreeWidgetItem * parent, DocClipBase *clip, const QSize &pixmapSize) :
+        QTreeWidgetItem(parent, ProjectClipType),
         m_clip(clip),
         m_clipId(clip->getId()),
         m_pixmapSet(false)
@@ -54,26 +54,27 @@ 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);
     else setFlags(Qt::ItemIsSelectable | Qt::ItemIsDragEnabled | Qt::ItemIsEnabled | Qt::ItemIsEditable | Qt::ItemIsDropEnabled);
     QString name = m_clip->getProperty("name");
     if (name.isEmpty()) name = KUrl(m_clip->getProperty("resource")).fileName();
-    m_clipType = (CLIPTYPE) m_clip->getProperty("type").toInt();
+    m_clipType = (ClipType) m_clip->getProperty("type").toInt();
     switch(m_clipType) {
-       case AUDIO:
+       case Audio:
            setData(0, Qt::DecorationRole, KIcon("audio-x-generic").pixmap(pixmapSize));
            m_pixmapSet = true;
            break;
-       case IMAGE:
-       case SLIDESHOW:
+       case Image:
+       case SlideShow:
            setData(0, Qt::DecorationRole, KIcon("image-x-generic").pixmap(pixmapSize));
            break;
        default:
            setData(0, Qt::DecorationRole, KIcon("video-x-generic").pixmap(pixmapSize));
     }
+    if (m_clipType != Unknown) slotSetToolTip();
     
     setText(0, name);
     setText(1, m_clip->description());
@@ -82,7 +83,7 @@ void ProjectItem::buildItem(QSize pixmapSize)
     if (duration != GenTime()) {
         durationText = Timecode::getEasyTimecode(duration, KdenliveSettings::project_fps());
     }
-    if (m_clipType == PLAYLIST) {
+    if (m_clipType == Playlist) {
         // Check if the playlist xml contains a proxy inside, and inform user
         if (playlistHasProxies(m_clip->fileURL().path())) {
             durationText.prepend(i18n("Contains proxies") + " / ");
@@ -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);
@@ -123,7 +124,7 @@ const QString &ProjectItem::clipId() const
     return m_clipId;
 }
 
-CLIPTYPE ProjectItem::clipType() const
+ClipType ProjectItem::clipType() const
 {
     return m_clipType;
 }
@@ -140,7 +141,7 @@ QDomElement ProjectItem::toXml() const
 
 const KUrl ProjectItem::clipUrl() const
 {
-    if (m_clipType != COLOR && m_clipType != VIRTUAL && m_clipType != UNKNOWN)
+    if (m_clipType != Color && m_clipType != Virtual && m_clipType != Unknown)
         return KUrl(m_clip->getProperty("resource"));
     else return KUrl();
 }
@@ -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 <QString, QString> props)
+void ProjectItem::setProperties(const QMap<QString, QString> &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("<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);
 }
 
@@ -236,23 +204,29 @@ void ProjectItem::setProperties(const QMap < QString, QString > &attributes, con
     if (m_clip == NULL) return;
 
     QString prefix;
-    if (m_clipType == UNKNOWN) {
+
+    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 (cliptype == "video") m_clipType = VIDEO;
+        if (cliptype == "audio") m_clipType = Audio;
+        else if (cliptype == "video") m_clipType = Video;
         else if (cliptype == "av") m_clipType = AV;
-        else if (cliptype == "playlist") m_clipType = PLAYLIST;
+        else if (cliptype == "playlist") m_clipType = Playlist;
         else m_clipType = AV;
 
         m_clip->setClipType(m_clipType);
         slotSetToolTip();
-        if (m_clipType == PLAYLIST) {
+        if (m_clipType == Playlist) {
             // Check if the playlist xml contains a proxy inside, and inform user
             if (playlistHasProxies(m_clip->fileURL().path())) {
                 prefix = i18n("Contains proxies") + " / ";
             }
         }
     }
+    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"));
@@ -279,19 +250,19 @@ void ProjectItem::setProperties(const QMap < QString, QString > &attributes, con
     }
 }
 
-void ProjectItem::setJobStatus(JOBTYPE jobType, CLIPJOBSTATUS status, int progress, const QString &statusMessage)
+void ProjectItem::setJobStatus(JOBTYPE jobType, ClipJobStatus status, int progress, const QString &statusMessage)
 {
     setData(0, JobTypeRole, jobType);
     if (progress > 0) setData(0, JobProgressRole, qMin(100, progress));
     else {
         setData(0, JobProgressRole, status);
-        if ((status == JOBABORTED || status == JOBCRASHED  || status == JOBDONE) || !statusMessage.isEmpty())
+        if ((status == JobAborted || status == JobCrashed  || status == JobDone) || !statusMessage.isEmpty())
             setData(0, JobStatusMessage, statusMessage);
         slotSetToolTip();
     }
 }
 
-void ProjectItem::setConditionalJobStatus(CLIPJOBSTATUS status, JOBTYPE requestedJobType)
+void ProjectItem::setConditionalJobStatus(ClipJobStatus status, JOBTYPE requestedJobType)
 {
     if (data(0, JobTypeRole).toInt() == requestedJobType) {
         setData(0, JobProgressRole, status);
@@ -301,30 +272,30 @@ void ProjectItem::setConditionalJobStatus(CLIPJOBSTATUS status, JOBTYPE requeste
 bool ProjectItem::hasProxy() const
 {
     if (m_clip == NULL) return false;
-    if (m_clip->getProperty("proxy").size() < 2 || data(0, JobProgressRole).toInt() == JOBCRASHED) return false;
+    if (m_clip->getProperty("proxy").size() < 2 || data(0, JobProgressRole).toInt() == JobCrashed) return false;
     return true;
 }
 
 bool ProjectItem::isProxyReady() const
 {
-     return (data(0, JobProgressRole).toInt() == JOBDONE);
+     return (data(0, JobProgressRole).toInt() == JobDone);
 }
 
 bool ProjectItem::isJobRunning() const
 {
     int s = data(0, JobProgressRole).toInt();
-    if (s == JOBWAITING || s == JOBWORKING || s > 0) return true;
+    if (s == JobWaiting || s == JobWorking || s > 0) return true;
     return false;
 }
 
 bool ProjectItem::isProxyRunning() const
 {
     int s = data(0, JobProgressRole).toInt();
-    if ((s == JOBWORKING || s > 0) && data(0, JobTypeRole).toInt() == (int) PROXYJOB) return true;
+    if ((s == JobWorking || s > 0) && data(0, JobTypeRole).toInt() == (int) PROXYJOB) return true;
     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;
     }