X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Feffectslistview.h;h=ab84655407d624869e88a257976248b73585093e;hb=56aee6aedeeed3efd10ada8fe3c229eddc01ef05;hp=dacbbe9a623dba5ce644a654c29cebbbf8b1d42f;hpb=c3e1830357babefd36be9fb733e4196960a55126;p=kdenlive diff --git a/src/effectslistview.h b/src/effectslistview.h index dacbbe9a..ab846554 100644 --- a/src/effectslistview.h +++ b/src/effectslistview.h @@ -18,39 +18,80 @@ ***************************************************************************/ -#ifndef EFFECTLISTVIEW_H -#define EFFECTLISTVIEW_H +#ifndef EFFECTSLISTVIEW_H +#define EFFECTSLISTVIEW_H #include #include "ui_effectlist_ui.h" -#include "effectslist.h" +#include "gentime.h" -class EffectsListView : public QWidget +#include +#include + +class EffectsList; +class EffectsListWidget; +class QTreeWidget; +class KActionCategory; + +/** + * @class EffectsListView + * @brief Manages the controls for the treewidget containing the effects. + * @author Jean-Baptiste Mardelle + */ + +class EffectsListView : public QWidget, public Ui::EffectList_UI { - Q_OBJECT - - public: - EffectsListView(EffectsList *audioEffectList, EffectsList *videoEffectList, EffectsList *customEffectList, QWidget *parent=0); - KListWidget *listView(); - - private: - Ui::EffectList_UI ui; - EffectsList *m_audioList; - EffectsList *m_videoList; - EffectsList *m_customList; - - private slots: - void initList(int pos); + Q_OBJECT + +public: + 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: + 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); - +signals: + void addEffect(const QDomElement&); + void reloadEffects(); }; #endif