#include "ui_colorval_ui.h"
#include "complexparameter.h"
+static QMap<QString, QIcon> iconCache;
+
EffectStackEdit::EffectStackEdit(QFrame* frame, QWidget *parent): QObject(parent) {
QScrollArea *area;
QVBoxLayout *vbox1 = new QVBoxLayout(frame);
nodeAtts.namedItem("paramlist");
QStringList listitems = nodeAtts.namedItem("paramlist").nodeValue().split(",");
lsval->list->addItems(listitems);
- lsval->list->setCurrentIndex(listitems.indexOf(value));;
+ lsval->list->setCurrentIndex(listitems.indexOf(value));
+ for (int i = 0;i < lsval->list->count();i++) {
+ QString entry = lsval->list->itemText(i);
+ if (!entry.isEmpty() && (entry.endsWith(".png") || entry.endsWith(".pnm"))) {
+ if (!iconCache.contains(entry)) {
+ QPixmap pix(entry);
+ iconCache[entry] = pix.scaled(30, 30);
+ }
+ lsval->list->setIconSize(QSize(30, 30));
+ lsval->list->setItemIcon(i, iconCache[entry]);
+ }
+ }
connect(lsval->list, SIGNAL(currentIndexChanged(int)) , this, SLOT(collectAllParameters()));
lsval->title->setTitle(na.toElement().text());
valueItems[paramName] = lsval;
Mlt::Properties entries;
mlt_properties_dir_list(entries.get_properties(), path.toAscii().data(), "*.*", 1);
kDebug() << path << entries.count();
+ QString imagefiles;
for (int i = 0;i < entries.count();i++) {
- kDebug() << "luma:" << entries.get(i);
+ //if (!imagefiles.isEmpty()) // add empty entry too
+ imagefiles.append(",");
+ imagefiles.append(entries.get(i));
}
+ paramList.append(quickParameterFill(ret, "Softness", "softness", "double", "0", "0", "360"));
+ paramList.append(quickParameterFill(ret, "Invert", "invert", "bool", "0", "0", "1"));
+ paramList.append(quickParameterFill(ret, "ImageFile", "resource", "list", "", "", "", imagefiles));
- } else if (name == "composite") {
+ } else if (name == "composite") {
+ paramList.append(quickParameterFill(ret, "Geometry", "geometry", "geometry", "0%,0%:100%x100%", "0%,0%:100%x100%", "0%,0%:100%x100%"));
tname.appendChild(ret.createTextNode("Composite"));
QDomDocument ret1;
paramList.append(quickParameterFill(ret, "Fix Shear Z", "fix_shear_z", "double", "0", "0", "360"));
paramList.append(quickParameterFill(ret, "Mirror", "mirror_off", "bool", "0", "0", "1"));
paramList.append(quickParameterFill(ret, "Repeat", "repeat_off", "bool", "0", "0", "1"));
- paramList.append(quickParameterFill(ret, "Geometry", "geometry", "geometry", "0%,0%:100%x100%", "0,0:100%x100%0", "0,0:100%x100%1"));
+ paramList.append(quickParameterFill(ret, "Geometry", "geometry", "geometry", "0%,0%:100%x100%", "0,0:100%x100%", "0,0:100%x100%"));
} else if (name == "region") {
tname.appendChild(ret.createTextNode("Region"));
}
*/
}
}
-QDomElement initEffects::quickParameterFill(QDomDocument & doc, QString name, QString tag, QString type, QString def, QString min, QString max) {
+QDomElement initEffects::quickParameterFill(QDomDocument & doc, QString name, QString tag, QString type, QString def, QString min, QString max, QString list) {
QDomElement parameter = doc.createElement("parameter");
parameter.setAttribute("tag", tag);
parameter.setAttribute("default", def);
parameter.setAttribute("name", tag);
parameter.setAttribute("max", max);
parameter.setAttribute("min", min);
+ if (!list.isEmpty())
+ parameter.setAttribute("paramlist", list);
QDomElement pname = doc.createElement("name");
pname.appendChild(doc.createTextNode(name));
parameter.appendChild(pname);