]> git.sesse.net Git - kdenlive/blobdiff - src/effectslistview.h
Integrate with the required MLT hooks for getting Movit to work.
[kdenlive] / src / effectslistview.h
index e95d2137396dd1a99610cf63441b3b3af7066580..ab84655407d624869e88a257976248b73585093e 100644 (file)
 
 #include "ui_effectlist_ui.h"
 #include "gentime.h"
+
 #include <QDomElement>
+#include <QFocusEvent>
 
 class EffectsList;
 class EffectsListWidget;
-class KListWidget;
+class QTreeWidget;
+class KActionCategory;
+
+/**
+ * @class EffectsListView
+ * @brief Manages the controls for the treewidget containing the effects.
+ * @author Jean-Baptiste Mardelle
+ */
 
-class EffectsListView : public QWidget
+class EffectsListView : public QWidget, public Ui::EffectList_UI
 {
     Q_OBJECT
 
 public:
-    EffectsListView(QWidget *parent = 0);
-    KListWidget *listView();
-    void reloadEffectList();
+    explicit EffectsListView(QWidget *parent = 0);
+
+    /** @brief Re-initializes the list of effects. */
+    void reloadEffectList(QMenu *effectsMenu, KActionCategory *effectActions);
+    QMenu* getEffectsMenu();
     //void slotAddEffect(GenTime pos, int track, QString name);
+    
+    /** @brief Palette was changed, update styles. */
+    void updatePalette();
 
 private:
-    Ui::EffectList_UI m_ui;
     EffectsListWidget *m_effectsList;
 
 private slots:
+    /** @brief Applies the type filter to the effect list.
+    * @param pos Index of the combo box; where 0 = All, 1 = Video, 2 = Audio, 3 = Custom */
     void filterList(int pos);
+
+    /** @brief Updates the info panel to match the selected effect. */
     void slotUpdateInfo();
+
+    /** @brief Toggles the info panel's visibility. */
     void showInfoPanel();
+
+    /** @brief Emits addEffect signal for the selected effect. */
     void slotEffectSelected();
+
+    /** @brief Removes the XML file for the selected effect.
+    *
+    * Only used for custom effects */
     void slotRemoveEffect();
 
-public slots:
+    /** @brief Makes sure the item fits the type filter.
+    * @param item Current item
+    * @param hidden Hidden or not
+    *
+    * This is necessary to make the search obey to the type filter.
+    * Called when the visibility of this item was changed by searching */
+    void slotUpdateSearch(QTreeWidgetItem *item, bool hidden);
+
+    /** @brief Expands folders that match our search.
+    * @param text Current search string */
+    void slotAutoExpand(const QString &text);
 
 signals:
-    void addEffect(const QDomElement);
+    void addEffect(const QDomElement&);
     void reloadEffects();
 };