]> git.sesse.net Git - kdenlive/commitdiff
Merge branch 'master' of git://anongit.kde.org/kdenlive
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Sun, 4 Dec 2011 11:21:54 +0000 (12:21 +0100)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Sun, 4 Dec 2011 11:21:54 +0000 (12:21 +0100)
1  2 
src/docclipbase.cpp
src/docclipbase.h
src/projectlist.cpp

diff --combined src/docclipbase.cpp
index 287610925e09930063f44787f29e61b6b0da13c3,6cdc66980c49dcf061770a02c3715527a539905c..65593166321225d0a92a7b377d98427ba6419563
@@@ -87,6 -87,7 +87,6 @@@ DocClipBase::DocClipBase(ClipManager *c
      if (!m_properties.contains("name")) m_properties.insert("name", url.fileName());
  
      m_thumbProd = new KThumb(clipManager, url, m_id, m_properties.value("file_hash"));
 -    if (m_clipType & (AV | AUDIO | PLAYLIST)) getAudioThumbs();
  }
  
  DocClipBase::~DocClipBase()
@@@ -115,12 -116,6 +115,12 @@@ QPoint DocClipBase::zone() cons
  }
  
  
 +bool DocClipBase::hasAudioThumb() const
 +{
 +    if (m_clipType == AUDIO || m_clipType == AV || m_clipType == PLAYLIST) return true;
 +    return false;
 +}
 +
  void DocClipBase::slotClearAudioCache()
  {
      m_audioFrameCache.clear();
@@@ -470,7 -465,6 +470,7 @@@ void DocClipBase::setProducer(Mlt::Prod
                  m_thumbProd->setProducer(producer);
          }
          else m_thumbProd->setProducer(producer);
 +        getAudioThumbs();
      }
      bool updated = false;
      if (id.contains('_')) {
@@@ -1081,6 -1075,17 +1081,17 @@@ QMap <QString, QString> DocClipBase::pr
      return m_properties;
  }
  
+ QMap <QString, QString> DocClipBase::currentProperties(QMap <QString, QString> props)
+ {
+     QMap <QString, QString> currentProps;
+     QMap<QString, QString>::const_iterator i = props.constBegin();
+     while (i != props.constEnd()) {
+         currentProps.insert(i.key(), m_properties.value(i.key()));
+         ++i;
+     }
+     return currentProps;
+ }
  bool DocClipBase::getAudioThumbs()
  {
      if (m_thumbProd == NULL || isPlaceHolder() || !KdenliveSettings::audiothumbnails()) return false;
diff --combined src/docclipbase.h
index c2a8bd499e196264cc9e9ff9724429f3d0a9d8e4,896680f33aca73e9d0028b380cb674e4d6ce6a28..6adbd2a27f97a5003688b92c029d0cc2ace99214
@@@ -83,7 -83,6 +83,7 @@@ Q_OBJECT public
      /** Returns the internal unique id of the clip. */
      const QString &getId() const;
  
 +    bool hasAudioThumb() const;
      //KThumb *thumbCreator;
      bool audioThumbCreated() const;
      /*void getClipMainThumb();*/
@@@ -267,7 -266,10 +267,10 @@@ public slots
      uint getClipThumbFrame() const;
      void setProperties(QMap <QString, QString> properties);
      void setMetadata(QMap <QString, QString> properties);
+     /** Returns all current properties for this clip */
      QMap <QString, QString> properties() const;
+     /** Return the current values for a set of properties */
+     QMap <QString, QString> currentProperties(QMap <QString, QString> props);
      QMap <QString, QString> metadata() const;
      void slotExtractImage(QList <int> frames);
  
diff --combined src/projectlist.cpp
index 0618aaf5a3211bf8bb6e294a4f30f877774a7303,bf60f9956c5c219bd6f3b96294f517c2cc241ddb..27ddda7ec18921045982c8fe3d7c43e8396d9e5d
@@@ -770,7 -770,6 +770,6 @@@ void ProjectList::slotUpdateClipPropert
                     properties.contains("templatetext")) {
              slotRefreshClipThumbnail(item);
              emit refreshClip(id, true);
-             emit clipSelected(item->referencedClip(), item->referencedClip()->zone(), true);
          } else if (properties.contains("full_luma") || properties.contains("force_colorspace") || properties.contains("loop")) {
              emit refreshClip(id, false);
          }
@@@ -1853,6 -1852,7 +1852,6 @@@ void ProjectList::slotReplyGetFilePrope
          }
          item->setProperties(properties, metadata);
          clip->setProducer(producer, replace);
 -        clip->getAudioThumbs();
  
          // Proxy stuff
          QString size = properties.value("frame_size");
@@@ -2682,7 -2682,7 +2681,7 @@@ void ProjectList::updateProxyConfig(
                  newProps.insert("replace", "1");
                  // insert required duration for proxy
                  newProps.insert("proxy_out", item->referencedClip()->producerProperty("out"));
-                 new EditClipCommand(this, item->clipId(), item->referencedClip()->properties(), newProps, true, command);
+                 new EditClipCommand(this, item->clipId(), item->referencedClip()->currentProperties(newProps), newProps, true, command);
              }
          }
          else if (t == IMAGE && item->referencedClip() != NULL) {
@@@ -2805,7 -2805,7 +2804,7 @@@ void ProjectList::slotDeleteProxy(cons
              if (item->referencedClip()->getProperty("proxy") == proxyPath) {
                  QMap <QString, QString> props;
                  props.insert("proxy", QString());
-                 new EditClipCommand(this, item->clipId(), item->referencedClip()->properties(), props, true, proxyCommand);
+                 new EditClipCommand(this, item->clipId(), item->referencedClip()->currentProperties(props), props, true, proxyCommand);
              
              }
          }