File indexing completed on 2024-05-19 04:55:18

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 "abstractmodel/abstracttreemodel.hpp"
0009 #include "assets/assetlist/model/assettreemodel.hpp"
0010 
0011 /** @brief This class represents a transition hierarchy to be displayed as a tree
0012  */
0013 class TreeItem;
0014 class TransitionTreeModel : public AssetTreeModel
0015 {
0016 
0017 protected:
0018     explicit TransitionTreeModel(QObject *parent);
0019 
0020 public:
0021     /** @param flat if true, then the categories are not created */
0022     static std::shared_ptr<TransitionTreeModel> construct(bool flat = false, QObject *parent = nullptr);
0023     void reloadAssetMenu(QMenu *effectsMenu, KActionCategory *effectActions) override;
0024     void setFavorite(const QModelIndex &index, bool favorite, bool isEffect) override;
0025     void deleteEffect(const QModelIndex &index) override;
0026     void editCustomAsset(const QString &newName, const QString &newDescription, const QModelIndex &index) override;
0027     QMimeData *mimeData(const QModelIndexList &indexes) const override;
0028 
0029 protected:
0030 };