]> git.sesse.net Git - kdenlive/blobdiff - src/docclipbase.cpp
cleanup & fix crash on project saving with Qt 4.5:
[kdenlive] / src / docclipbase.cpp
index b2b26de81dc6c4e785cd650d7769b525ba1357eb..321a641d121712f42f2a93da55a0e970814933c4 100644 (file)
@@ -76,6 +76,18 @@ DocClipBase::~DocClipBase() {
     m_baseTrackProducers.clear();
 }
 
+void DocClipBase::setZone(QPoint zone) {
+    m_properties.insert("zone_in", QString::number(zone.x()));
+    m_properties.insert("zone_out", QString::number(zone.y()));
+}
+
+QPoint DocClipBase::zone() const {
+    QPoint zone;
+    zone.setX(m_properties.value("zone_in").toInt());
+    zone.setY(m_properties.value("zone_out", "50").toInt());
+    return zone;
+}
+
 void DocClipBase::slotCreateAudioTimer() {
     connect(m_thumbProd, SIGNAL(audioThumbReady(QMap <int, QMap <int, QByteArray> >)), this , SLOT(updateAudioThumbnail(QMap <int, QMap <int, QByteArray> >)));
     connect(this, SIGNAL(getAudioThumbs()), this , SLOT(slotGetAudioThumbs()));
@@ -182,7 +194,6 @@ bool DocClipBase::hasFileSize() const {
 // virtual
 QDomElement DocClipBase::toXML() const {
     QDomDocument doc;
-
     QDomElement clip = doc.createElement("producer");
 
     QMapIterator<QString, QString> i(m_properties);
@@ -190,9 +201,9 @@ QDomElement DocClipBase::toXML() const {
         i.next();
         if (!i.value().isEmpty()) clip.setAttribute(i.key(), i.value());
     }
-    //doc.appendChild(clip);
+    doc.appendChild(clip);
     //kDebug()<<"/// CLIP XML: "<<doc.toString();
-    return clip;
+    return doc.documentElement();
 }
 
 DocClipBase *DocClipBase::
@@ -404,8 +415,10 @@ Mlt::Producer *DocClipBase::producer(int track) {
     if (track == -1 || (m_clipType != AUDIO && m_clipType != AV)) {
         if (m_baseTrackProducers.count() == 0) return NULL;
         int i;
-        for (int i = 0; i < m_baseTrackProducers.count(); i++)
-            if (m_baseTrackProducers.at(i) != NULL) return m_baseTrackProducers.at(i);
+        for (int i = 0; i < m_baseTrackProducers.count(); i++) {
+            if (m_baseTrackProducers.at(i) != NULL)
+                return m_baseTrackProducers.at(i);
+        }
         return NULL;
     }
     if (track >= m_baseTrackProducers.count()) {