X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Feffectslistwidget.h;h=5df95d1a5de77c8c465e1c3eb660644c2cda76ee;hb=c3302003093710ee247ad84c0fe2ef3c579d417f;hp=ac85e0dd7ae648766581cf32c2026d9805cad57e;hpb=66899599dbf3ee7ff3b7ecc850a56a55b90da106;p=kdenlive diff --git a/src/effectslistwidget.h b/src/effectslistwidget.h index ac85e0dd..5df95d1a 100644 --- a/src/effectslistwidget.h +++ b/src/effectslistwidget.h @@ -18,36 +18,56 @@ ***************************************************************************/ -#ifndef EFFECTLISTWIDGET_H -#define EFFECTLISTWIDGET_H +#ifndef EFFECTSLISTWIDGET_H +#define EFFECTSLISTWIDGET_H -#include -#include "effectslist.h" +#include +#include -class EffectsListWidget : public KListWidget +#include + +class EffectsList; +class KIcon; + +class EffectsListWidget : public QTreeWidget { - Q_OBJECT - - public: - EffectsListWidget(EffectsList *audioEffectList, EffectsList *videoEffectList, EffectsList *customEffectList, QWidget *parent=0); + Q_OBJECT + +public: + explicit EffectsListWidget(QMenu *contextMenu, QWidget *parent = 0); virtual ~EffectsListWidget(); - QDomElement currentEffect(); - QString currentInfo(); - QDomElement itemEffect(QListWidgetItem *item); + const QDomElement currentEffect() const; + QString currentInfo() const; + const QDomElement itemEffect(QTreeWidgetItem *item) const; + void initList(QMenu *effectsMenu, KActionCategory *effectActions); - protected: - virtual void mousePressEvent(QMouseEvent *event); - virtual void mouseMoveEvent(QMouseEvent *event); +protected: virtual void dragMoveEvent(QDragMoveEvent *event); + virtual void contextMenuEvent(QContextMenuEvent * event); + virtual QMimeData *mimeData(const QList list) const; + virtual void keyPressEvent(QKeyEvent *e); + +private: + QMenu *m_menu; + /** @brief Returns the folder item whose name == @param name. */ + QTreeWidgetItem *findFolder(const QString &name); - private: - bool m_dragStarted; - QPoint m_DragStartPosition; - EffectsList *m_audioList; - EffectsList *m_videoList; - EffectsList *m_customList; - void initList(); + /** @brief Loads the effects from the given effectlist as item of this widget. + * @param effectlist effectlist containing the effects that should be loaded + * @param icon the icon to be used for the QTreeWidgetItems + * @param defaultFolder parent item which will be used by default + * @param folders list of folders which might be used instead for specific effects + * @param type type of the effects + * @param current name of selected effect before reload; if an effect name matches this one it will become selected + * @param found will be set to true if an effect name matches current + */ + void loadEffects(const EffectsList *effectlist, KIcon icon, QTreeWidgetItem *defaultFolder, const QList *folders, int type, const QString ¤t, bool *found); - }; +private slots: + void slotExpandItem(const QModelIndex & index); + +signals: + void applyEffect(const QDomElement); +}; #endif