]> git.sesse.net Git - kdenlive/blobdiff - src/initeffects.cpp
Fixed some missing strings.
[kdenlive] / src / initeffects.cpp
index 347537c27b6c83949ee85aa931fe6ad603532c75..8ec8551a87bf468f9e5ad22ce50d8dd2bc0e8cd5 100644 (file)
@@ -83,6 +83,36 @@ Mlt::Repository *initEffects::parseEffectFiles() {
     Mlt::Properties *filters = repository->filters();
     QStringList filtersList;
 
+    // Check for blacklisted effects
+    QString blacklist = KStandardDirs::locate("appdata", "blacklisted_effects.txt");
+
+    QFile file(blacklist);
+    QStringList blackListed;
+
+    if (file.open(QIODevice::ReadOnly)) {
+        QTextStream in(&file);
+        while (!in.atEnd()) {
+            QString black = in.readLine().simplified();
+            if (!black.isEmpty() && !black.startsWith('#')) blackListed.append(black);
+        }
+    }
+    file.close();
+
+    // Check for blacklisted transitions
+    blacklist = KStandardDirs::locate("appdata", "blacklisted_transitions.txt");
+
+    QFile file2(blacklist);
+    QStringList blackListedtransitions;
+
+    if (file2.open(QIODevice::ReadOnly)) {
+        QTextStream in(&file2);
+        while (!in.atEnd()) {
+            QString black = in.readLine().simplified();
+            if (!black.isEmpty() && !black.startsWith('#')) blackListedtransitions.append(black);
+        }
+    }
+    file2.close();
+
     for (int i = 0 ; i < filters->count() ; i++) {
         filtersList << filters->get_name(i);
     }
@@ -103,6 +133,10 @@ Mlt::Repository *initEffects::parseEffectFiles() {
         transitionsItemList << transitions->get_name(i);
     }
     delete transitions;
+
+    foreach(const QString &trans, blackListedtransitions) {
+        if (transitionsItemList.contains(trans)) transitionsItemList.removeAll(trans);
+    }
     fillTransitionsList(repository, &MainWindow::transitions, transitionsItemList);
 
     KGlobal::dirs()->addResourceType("ladspa_plugin", 0, "lib/ladspa");
@@ -127,6 +161,11 @@ Mlt::Repository *initEffects::parseEffectFiles() {
             // kDebug()<<"//  FOUND EFFECT FILE: "<<itemName<<endl;
         }
     }
+
+    foreach(const QString &effect, blackListed) {
+        if (filtersList.contains(effect)) filtersList.removeAll(effect);
+    }
+
     foreach(const QString &filtername, filtersList) {
         QDomDocument doc = createDescriptionFromMlt(repository, "filters", filtername);
         if (!doc.isNull())