#include "initeffects.h"
#include "kdenlivesettings.h"
#include "effectslist.h"
-#include "effectstackedit.h"
#include "mainwindow.h"
#include <KDebug>
#include <QDir>
#include <QIcon>
+#include "locale.h"
+
initEffectsThumbnailer::initEffectsThumbnailer() :
QThread()
{
foreach(const QString & entry, m_list) {
kDebug() << entry;
if (!entry.isEmpty() && (entry.endsWith(".png") || entry.endsWith(".pgm"))) {
- if (!EffectStackEdit::iconCache.contains(entry)) {
+ if (!MainWindow::m_lumacache.contains(entry)) {
QImage pix(entry);
//if (!pix.isNull())
- EffectStackEdit::iconCache[entry] = pix.scaled(30, 30);
+ MainWindow::m_lumacache.insert(entry, pix.scaled(30, 30, Qt::KeepAspectRatio, Qt::SmoothTransformation));
kDebug() << "stored";
}
}
}
//static
-void initEffects::parseEffectFiles()
+void initEffects::parseEffectFiles(const QString &locale)
{
QStringList::Iterator more;
QStringList::Iterator it;
return;
}
+ // Warning: Mlt::Factory::init() resets the locale to the default system value, make sure we keep correct locale
+ if (!locale.isEmpty()) setlocale(LC_NUMERIC, locale.toUtf8().constData());
+
// Retrieve the list of MLT's available effects.
Mlt::Properties *filters = repository->filters();
QStringList filtersList;
MainWindow::transitions.clearList();
foreach(const QDomElement & effect, effectsMap)
MainWindow::transitions.append(effect);
- effectsMap.clear();
-
+ effectsMap.clear();
// Create effects from MLT
foreach(const QString & filtername, mltFiltersList) {
QDomDocument doc = createDescriptionFromMlt(repository, "filters", filtername);
for (int i = 0; i < max; ++i) {
effectInfo = MainWindow::customEffects.at(i);
if (effectInfo.tagName() == "effectgroup") {
- effectsMap.insert(effectInfo.attribute("name").toLower().toUtf8().data(), effectInfo);
+ effectsMap.insert(effectInfo.attribute("name").toUtf8().data(), effectInfo);
}
- else effectsMap.insert(effectInfo.firstChildElement("name").text().toLower().toUtf8().data(), effectInfo);
+ else effectsMap.insert(effectInfo.firstChildElement("name").text().toUtf8().data(), effectInfo);
}
MainWindow::customEffects.clearList();
foreach(const QDomElement & effect, effectsMap)
}
effectsMap.insert(groupName.toLower().toUtf8().data(), base);
} else if (base.tagName() == "effect") {
- effectsMap.insert(e.firstChildElement("name").text().toLower().toUtf8().data(), base);
+ effectsMap.insert(base.firstChildElement("name").text().toLower().toUtf8().data(), base);
}
else kDebug() << "Unsupported effect file: " << itemName;
}