]> git.sesse.net Git - kdenlive/blobdiff - src/effectstackedit.cpp
Use "None" string when no luma file is selected in a transition instead of empty...
[kdenlive] / src / effectstackedit.cpp
index 0a4967bcad7796c6213f5264f27bd835707ea238..7196cd1d12f135cf35674f4dd0c199666ff10e20 100644 (file)
  *                                                                         *
  ***************************************************************************/
 
-#include <QVBoxLayout>
-#include <QSlider>
-#include <QLabel>
-#include <QPushButton>
-#include <QCheckBox>
-#include <QScrollArea>
-
-#include <KDebug>
-#include <KLocale>
-
+#include "effectstackedit.h"
 #include "ui_constval_ui.h"
 #include "ui_listval_ui.h"
 #include "ui_boolval_ui.h"
 #include "ui_positionval_ui.h"
 #include "ui_wipeval_ui.h"
 #include "complexparameter.h"
-#include "effectstackedit.h"
 #include "geometryval.h"
-
 #include "kdenlivesettings.h"
 
+#include <KDebug>
+#include <KLocale>
+
+#include <QVBoxLayout>
+#include <QSlider>
+#include <QLabel>
+#include <QPushButton>
+#include <QCheckBox>
+#include <QScrollArea>
+
 QMap<QString, QImage> EffectStackEdit::iconCache;
 
 EffectStackEdit::EffectStackEdit(QWidget *parent): QWidget(parent), m_in(0), m_out(0) {
@@ -124,21 +123,20 @@ void EffectStackEdit::transferParamDesc(const QDomElement& d, int in, int out) {
             QStringList listitemsdisplay = pa.attribute("paramlistdisplay").split(',');
             if (listitemsdisplay.count() != listitems.count()) listitemsdisplay = listitems;
             //lsval->list->addItems(listitems);
+            lsval->list->setIconSize(QSize(30, 30));
             for (int i = 0;i < listitems.count();i++) {
                 lsval->list->addItem(listitemsdisplay.at(i), listitems.at(i));
-            }
-            lsval->list->setCurrentIndex(listitems.indexOf(value));
-            for (int i = 0;i < lsval->list->count();i++) {
-                QString entry = lsval->list->itemData(i).toString();
+                QString entry = listitems.at(i);
                 if (!entry.isEmpty() && (entry.endsWith(".png") || entry.endsWith(".pgm"))) {
                     if (!EffectStackEdit::iconCache.contains(entry)) {
                         QImage pix(entry);
                         EffectStackEdit::iconCache[entry] = pix.scaled(30, 30);
                     }
-                    lsval->list->setIconSize(QSize(30, 30));
                     lsval->list->setItemIcon(i, QPixmap::fromImage(iconCache[entry]));
                 }
             }
+            if (!value.isEmpty()) lsval->list->setCurrentIndex(listitems.indexOf(value));
+
             connect(lsval->list, SIGNAL(currentIndexChanged(int)) , this, SLOT(collectAllParameters()));
             lsval->title->setTitle(paramName);
             valueItems[paramName] = lsval;
@@ -287,7 +285,7 @@ wipeInfo EffectStackEdit::getWipeInfo(QString value) {
     else if (start.startsWith("100%,0")) info.start = RIGHT;
     else if (start.startsWith("0%,100%")) info.start = DOWN;
     else if (start.startsWith("0%,-100%")) info.start = UP;
-    else if (start.startsWith("0%,0%")) info.start = CENTER;
+    else info.start = CENTER;
     if (start.count(':') == 2) info.startTransparency = start.section(':', -1).toInt();
     else info.startTransparency = 100;
 
@@ -295,7 +293,7 @@ wipeInfo EffectStackEdit::getWipeInfo(QString value) {
     else if (end.startsWith("100%,0")) info.end = RIGHT;
     else if (end.startsWith("0%,100%")) info.end = DOWN;
     else if (end.startsWith("0%,-100%")) info.end = UP;
-    else if (end.startsWith("0%,0%")) info.end = CENTER;
+    else info.end = CENTER;
     if (end.count(':') == 2) info.endTransparency = end.section(':', -1).toInt();
     else info.endTransparency = 100;
     return info;
@@ -399,12 +397,14 @@ void EffectStackEdit::collectAllParameters() {
             else if (wp->start_up->isChecked()) info.start = UP;
             else if (wp->start_down->isChecked()) info.start = DOWN;
             else if (wp->start_center->isChecked()) info.start = CENTER;
+            else info.start = LEFT;
             info.startTransparency = wp->start_transp->value();
             if (wp->end_left->isChecked()) info.end = LEFT;
             else if (wp->end_right->isChecked()) info.end = RIGHT;
             else if (wp->end_up->isChecked()) info.end = UP;
             else if (wp->end_down->isChecked()) info.end = DOWN;
             else if (wp->end_center->isChecked()) info.end = CENTER;
+            else info.end = RIGHT;
             info.endTransparency = wp->end_transp->value();
             setValue = getWipeString(info);
         }