X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Feffectslistview.h;h=ab84655407d624869e88a257976248b73585093e;hb=d679fbf19a2511b181570418dc7fa7c815728bcb;hp=cc6fc3f03310cfd5d3a62d6ea672b96961e01385;hpb=8f240cad50d7652c698d73ed3c14ba77db04209b;p=kdenlive diff --git a/src/effectslistview.h b/src/effectslistview.h index cc6fc3f0..ab846554 100644 --- a/src/effectslistview.h +++ b/src/effectslistview.h @@ -18,41 +18,80 @@ ***************************************************************************/ -#ifndef EFFECTLISTVIEW_H -#define EFFECTLISTVIEW_H +#ifndef EFFECTSLISTVIEW_H +#define EFFECTSLISTVIEW_H #include #include "ui_effectlist_ui.h" #include "gentime.h" + #include +#include 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