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 };