effect = this->at(i);
QDomNode namenode = effect.elementsByTagName("name").item(0);
if (!namenode.isNull()) {
- effectName = i18n(qstrdup(namenode.toElement().text().toUtf8()));
+ effectName = i18n(namenode.toElement().text().toUtf8().data());
if (name == effectName) break;
}
}
return filter;
}
-QDomElement EffectsList::getEffectByName(const QString & name) {
+
+QDomElement EffectsList::getEffectByName(const QString & name) const {
QString effectName;
for (int i = 0; i < this->size(); ++i) {
QDomElement effect = this->at(i);
QDomNode namenode = effect.elementsByTagName("name").item(0);
- if (!namenode.isNull()) effectName = i18n(qstrdup(namenode.toElement().text().toUtf8()));
+ if (!namenode.isNull()) effectName = i18n(namenode.toElement().text().toUtf8().data());
if (name == effectName) {
QDomNodeList params = effect.elementsByTagName("parameter");
for (int i = 0; i < params.count(); i++) {
return QDomElement();
}
+QDomElement EffectsList::getEffectByTag(const QString & tag, const QString & id) const {
+
+ if (!id.isEmpty()) for (int i = 0; i < this->size(); ++i) {
+ QDomElement effect = this->at(i);
+ if (effect.attribute("id") == id) {
+ QDomNodeList params = effect.elementsByTagName("parameter");
+ for (int i = 0; i < params.count(); i++) {
+ QDomElement e = params.item(i).toElement();
+ e.setAttribute("value", e.attribute("default"));
+ }
+ return effect;
+ }
+ }
+
+ for (int i = 0; i < this->size(); ++i) {
+ QDomElement effect = this->at(i);
+ if (effect.attribute("tag") == tag) {
+ QDomNodeList params = effect.elementsByTagName("parameter");
+ for (int i = 0; i < params.count(); i++) {
+ QDomElement e = params.item(i).toElement();
+ e.setAttribute("value", e.attribute("default"));
+ }
+ return effect;
+ }
+ }
+
+ return QDomElement();
+}
+
QStringList EffectsList::effectNames() {
QStringList list;
for (int i = 0; i < this->size(); ++i) {
QDomElement effect = this->at(i);
QDomNode namenode = effect.elementsByTagName("name").item(0);
- if (!namenode.isNull()) list.append(i18n(qstrdup(namenode.toElement().text().toUtf8())));
+ if (!namenode.isNull()) list.append(i18n(namenode.toElement().text().toUtf8().data()));
}
return list;
}
QString info;
QDomElement effect = getEffectByName(effectName);
QDomNode namenode = effect.elementsByTagName("description").item(0);
- if (!namenode.isNull()) info = i18n(qstrdup(namenode.toElement().text().toUtf8()));
+ if (!namenode.isNull()) info = i18n(namenode.toElement().text().toUtf8().data());
namenode = effect.elementsByTagName("author").item(0);
- if (!namenode.isNull()) info.append(i18n("<br><b>Author:</b> ") + i18n(qstrdup(namenode.toElement().text().toUtf8())));
+ if (!namenode.isNull()) info.append(i18n("<br><b>Author:</b> ") + i18n(namenode.toElement().text().toUtf8().data()));
return info;
}
+bool EffectsList::hasKeyFrames(QDomElement effect) {
+ QDomNodeList params = effect.elementsByTagName("parameter");
+ for (int i = 0; i < params.count(); i++) {
+ QDomElement e = params.item(i).toElement();
+ if (e.attribute("type") == "keyframe") return true;
+ }
+ return false;
+}
+
+// static
+void EffectsList::setParameter(QDomElement effect, QString name, QString value) {
+ QDomNodeList params = effect.elementsByTagName("parameter");
+ for (int i = 0; i < params.count(); i++) {
+ QDomElement e = params.item(i).toElement();
+ if (e.attribute("name") == name) {
+ e.setAttribute("value", value);
+ break;
+ }
+ }
+}
+