[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [kdenlive] src: Merge branch '16.12'
From:       Jean-Baptiste Mardelle <jb () kdenlive ! org>
Date:       2016-11-30 23:16:19
Message-ID: E1cCE6t-0001oK-G9 () code ! kde ! org
[Download RAW message or body]

Git commit d6b00054aad4a3ccf40bfc07dd3e200e75c7a3c2 by Jean-Baptiste Mardelle.
Committed on 30/11/2016 at 23:16.
Pushed by mardelle into branch 'master'.

Merge branch '16.12'

M  +23   -0    src/bin/bin.cpp
M  +1    -1    src/doc/documentvalidator.cpp
M  +5    -5    src/effectstack/widgets/animationwidget.cpp
M  +1    -1    src/effectstack/widgets/animationwidget.h
M  +11   -9    src/mltcontroller/effectscontroller.cpp
M  +6    -5    src/timeline/abstractclipitem.cpp
M  +3    -5    src/timeline/clipitem.cpp
M  +1    -2    src/timeline/customtrackview.cpp
M  +1    -2    src/timeline/effectmanager.cpp
M  +61   -6    src/timeline/keyframeview.cpp
M  +2    -0    src/timeline/keyframeview.h
M  +3    -3    src/timeline/track.cpp

https://commits.kde.org/kdenlive/d6b00054aad4a3ccf40bfc07dd3e200e75c7a3c2

diff --cc src/bin/bin.cpp
index ed6c39c,37ee81a..747e14d
--- a/src/bin/bin.cpp
+++ b/src/bin/bin.cpp
@@@ -862,7 -862,30 +862,30 @@@ void Bin::slotReloadClip(
          AbstractProjectItem *item = \
static_cast<AbstractProjectItem*>(m_proxyModel->mapToSource(ix).internalPointer());  \
ProjectClip *currentItem = qobject_cast<ProjectClip*>(item);  if (currentItem) {
 -	    emit openClip(NULL);
 +	    emit openClip(Q_NULLPTR);
+             if (currentItem->clipType() == Playlist) {
+                 //Check if a clip inside playlist is missing
+                 QString path = currentItem->url().path();                
+                 QFile f(path);
+                 QDomDocument doc;
+                 doc.setContent(&f, false);
+                 f.close();
+                 DocumentChecker d(QUrl::fromLocalFile(path), doc);
+                 if (!d.hasErrorInClips() && \
doc.documentElement().attribute(QStringLiteral("modified")) == QLatin1String("1")) { \
+                     QString backupFile = path + QStringLiteral(".backup"); +        \
KIO::FileCopyJob *copyjob = KIO::file_copy(QUrl::fromLocalFile(path), \
QUrl::fromLocalFile(backupFile)); +                     if (copyjob->exec()) {
+                         if (!f.open(QIODevice::WriteOnly | QIODevice::Text)) {
+                             KMessageBox::sorry(this, i18n("Unable to write to file \
%1", path)); +                         } else {
+                             QTextStream out(&f);
+                             out << doc.toString();
+                             f.close();
+                             KMessageBox::information(this, i18n("Your project file \
was modified by Kdenlive.\nTo make sure you don't lose data, a backup copy called %1 \
was created.", backupFile)); +                         }
+                     }
+                 }
 -            }            
++            }
              QDomDocument doc;
              QDomElement xml = currentItem->toXml(doc);
              qDebug()<<"*****************\n"<<doc.toString()<<"\n******************";
                
diff --cc src/doc/documentvalidator.cpp
index c76dbff,7e524d6..c21f4c3
--- a/src/doc/documentvalidator.cpp
+++ b/src/doc/documentvalidator.cpp
@@@ -1495,8 -1496,8 +1495,8 @@@ bool DocumentValidator::upgrade(double 
                              parsedValues << QString::number(l.key()) + "=" + \
locale.toString(l.value());  }
                      }
 -                    EffectsList::setProperty(eff, conversionParams.at(2), \
parsedValues.join(";"));  +                    EffectsList::setProperty(eff, \
                conversionParams.at(2), parsedValues.join(QStringLiteral(";")));
-                     EffectsList::setProperty(eff, \
QStringLiteral("kdenlive:sync_in_out"), QStringLiteral("1")); +                     \
//EffectsList::setProperty(eff, QStringLiteral("kdenlive:sync_in_out"), \
QStringLiteral("1"));  eff.setAttribute(QStringLiteral("out"), out);
                  }
              }
diff --cc src/mltcontroller/effectscontroller.cpp
index 49133dd,026092f..460d9da
--- a/src/mltcontroller/effectscontroller.cpp
+++ b/src/mltcontroller/effectscontroller.cpp
@@@ -229,8 -231,8 +231,8 @@@ void EffectsController::initTrackEffect
          bool hasValue = e.hasAttribute(QStringLiteral("value"));
          // Check if this effect has a variable parameter, init effects default \
                value
          if ((type == QLatin1String("animatedrect") || type == \
                QLatin1String("geometry")) && !hasValue) {
-             QString kfr = \
AnimationWidget::getDefaultKeyframes(e.attribute(QStringLiteral("default")), type == \
QLatin1String("geometry")); +             QString kfr = \
AnimationWidget::getDefaultKeyframes(0, e.attribute(QStringLiteral("default")), type \
                == QLatin1String("geometry"));
 -            if (kfr.contains("%")) {
 +            if (kfr.contains(QLatin1String("%"))) {
                  kfr = EffectsController::getStringRectEval(pInfo, kfr);
              }
              e.setAttribute(QStringLiteral("value"), kfr);
@@@ -273,8 -275,8 +275,8 @@@ void EffectsController::initEffect(cons
          bool hasValue = e.hasAttribute(QStringLiteral("value"));
          // Check if this effect has a variable parameter, init effects default \
                value
          if ((type == QLatin1String("animatedrect") || type == \
                QLatin1String("geometry")) && !hasValue) {
-             QString kfr = \
AnimationWidget::getDefaultKeyframes(e.attribute(QStringLiteral("default")), type == \
QLatin1String("geometry")); +             QString kfr = \
AnimationWidget::getDefaultKeyframes(info.cropStart.frames(fps), \
                e.attribute(QStringLiteral("default")), type == \
                QLatin1String("geometry"));
 -            if (kfr.contains("%")) {
 +            if (kfr.contains(QLatin1String("%"))) {
                  kfr = EffectsController::getStringRectEval(pInfo, kfr);
              }
              e.setAttribute(QStringLiteral("value"), kfr);
diff --cc src/timeline/effectmanager.cpp
index fcb4565,bcfb84b..5bd3d87
--- a/src/timeline/effectmanager.cpp
+++ b/src/timeline/effectmanager.cpp
@@@ -316,12 -316,11 +316,11 @@@ bool EffectManager::editEffect(EffectsP
          if (params.paramValue(QStringLiteral("kdenlive:sync_in_out")) == \
QLatin1String("1")) {  // This effect must sync in / out with parent clip
              //params.removeParam(QStringLiteral("sync_in_out"));
-             Mlt::Producer prod(m_producer);
-             filter->set_in_and_out(prod.get_in(), prod.get_out());
+             filter->set_in_and_out(m_producer.get_int("in"), \
m_producer.get_int("out"));  } else {
              // Reset in/out properties
 -            filter->set("in", (char*)NULL);
 -            filter->set("out", (char*)NULL);
 +            filter->set("in", (char*)Q_NULLPTR);
 +            filter->set("out", (char*)Q_NULLPTR);
          }
      }
  


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic