***************************************************************************/
-#ifndef EFFECTLISTVIEW_H
-#define EFFECTLISTVIEW_H
+#ifndef EFFECTSLISTVIEW_H
+#define EFFECTSLISTVIEW_H
#include <KIcon>
#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();
+ 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 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();
-public slots:
+ /** @brief Removes the XML file for the selected effect.
+ *
+ * Only used for custom effects */
+ void slotRemoveEffect();
+
+ /** @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(QDomElement);
+ void addEffect(const QDomElement&);
+ void reloadEffects();
};
#endif