]> git.sesse.net Git - kdenlive/commitdiff
Fix custom effects multiplication:
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Sat, 29 Aug 2009 13:26:23 +0000 (13:26 +0000)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Sat, 29 Aug 2009 13:26:23 +0000 (13:26 +0000)
http://kdenlive.org/mantis/view.php?id=1093

svn path=/trunk/kdenlive/; revision=3859

src/effectslist.cpp
src/effectslist.h
src/initeffects.cpp
src/mainwindow.cpp

index 6d29b40332bdcf31181d1f8dd2785433f1395658..a509cfb5a1156679f2d0af8e7bd42ed17cc87811 100644 (file)
@@ -156,6 +156,12 @@ void EffectsList::clone(const EffectsList original)
     m_baseElement = documentElement();
 }
 
+void EffectsList::clearList()
+{
+    while (!m_baseElement.firstChild().isNull())
+        m_baseElement.removeChild(m_baseElement.firstChild());
+}
+
 // static
 void EffectsList::setParameter(QDomElement effect, const QString &name, const QString &value)
 {
index d019159a1b0c4b643f302892e41dbbef155234f7..6c57f12c9baf0df4d37b7cea821bc6d109af0519 100644 (file)
@@ -53,6 +53,7 @@ public:
     static bool hasKeyFrames(QDomElement effect);
     static void setParameter(QDomElement effect, const QString &name, const QString &value);
     static QString parameter(QDomElement effect, const QString &name);
+    void clearList();
 
 private:
     QDomElement m_baseElement;
index e13b63c571177eed536a75808c5e9db945390870..082e879618268a668421b38947b14c86999382cf 100644 (file)
@@ -232,7 +232,7 @@ Mlt::Repository *initEffects::parseEffectFiles()
 // static
 void initEffects::parseCustomEffectsFile()
 {
-    MainWindow::customEffects.clear();
+    MainWindow::customEffects.clearList();
     QString path = KStandardDirs::locateLocal("appdata", "effects/", true);
     QDir directory = QDir(path);
     QStringList filter;
index 8ce29546cdb344ef8ebab02f752969233383e854..2f108fed876b830ff3e3258fb8379aa361894616 100644 (file)
@@ -522,9 +522,12 @@ void MainWindow::readProperties(const KConfigGroup &config)
 
 void MainWindow::slotReloadEffects()
 {
-    initEffects::parseCustomEffectsFile();
+    kDebug()<<"START RELOAD; COUNR: "<<m_customEffectsMenu->actions().count();
     m_customEffectsMenu->clear();
+    kDebug()<<"START RELOAD; CLR: "<<m_customEffectsMenu->actions().count();
+    initEffects::parseCustomEffectsFile();
     const QStringList effects = customEffects.effectNames();
+    kDebug()<<"NEW EFFS: "<<effects;
     QAction *action;
     if (effects.isEmpty()) m_customEffectsMenu->setEnabled(false);
     else m_customEffectsMenu->setEnabled(true);