File indexing completed on 2024-04-21 04:51:33

0001 /*
0002     SPDX-FileCopyrightText: 2017 Nicolas Carion
0003     SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0004 */
0005 
0006 #pragma once
0007 
0008 #include "assets/assetlist/view/assetlistwidget.hpp"
0009 #include "kdenlivesettings.h"
0010 
0011 class EffectFilter;
0012 class EffectTreeModel;
0013 class EffectListWidgetProxy;
0014 class KActionCategory;
0015 class QMenu;
0016 
0017 /** @class EffectListWidget
0018     @brief This class is a widget that display the list of available effects
0019  */
0020 class EffectListWidget : public AssetListWidget
0021 {
0022     Q_OBJECT
0023 
0024 public:
0025     EffectListWidget(QWidget *parent = Q_NULLPTR);
0026     ~EffectListWidget() override;
0027     bool isEffect() const override { return true; }
0028     void setFilterType(const QString &type) override;
0029     bool isAudio(const QString &assetId) const override;
0030     /** @brief Return mime type used for drag and drop. It will be kdenlive/effect*/
0031     QString getMimeType(const QString &assetId) const override;
0032     void reloadEffectMenu(QMenu *effectsMenu, KActionCategory *effectActions);
0033     void reloadCustomEffectIx(const QModelIndex &index) override;
0034     void reloadTemplates() override;
0035     void editCustomAsset(const QModelIndex &index) override;
0036     void exportCustomEffect(const QModelIndex &index) override;
0037 
0038 public Q_SLOTS:
0039     void reloadCustomEffect(const QString &path) override;
0040 
0041 Q_SIGNALS:
0042     void reloadFavorites();
0043 };