]> git.sesse.net Git - kdenlive/blobdiff - src/initeffects.cpp
Merge branch 'master' into feature/pkey
[kdenlive] / src / initeffects.cpp
index a145f4c15c155aa751b5402fd7b6208a0324e9c9..56e6c97734700d6d49ab470af520563549e9e942 100644 (file)
@@ -20,7 +20,6 @@
 #include "initeffects.h"
 #include "kdenlivesettings.h"
 #include "effectslist.h"
-#include "effectstackedit.h"
 #include "mainwindow.h"
 
 #include <KDebug>
@@ -32,6 +31,8 @@
 #include <QDir>
 #include <QIcon>
 
+#include "locale.h"
+
 initEffectsThumbnailer::initEffectsThumbnailer() :
     QThread()
 {
@@ -49,10 +50,10 @@ void initEffectsThumbnailer::run()
     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";
             }
         }
@@ -134,7 +135,7 @@ QDomDocument initEffects::getUsedCustomEffects(QMap <QString, QString> effectids
 }
 
 //static
-void initEffects::parseEffectFiles()
+void initEffects::parseEffectFiles(const QString &locale)
 {
     QStringList::Iterator more;
     QStringList::Iterator it;
@@ -147,6 +148,9 @@ void initEffects::parseEffectFiles()
         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;
@@ -269,9 +273,9 @@ void initEffects::parseEffectFiles()
     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)
@@ -337,7 +341,7 @@ void initEffects::parseCustomEffectsFile()
            }
            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;
     }