33class SCORE_PLUGIN_LIBRARY_EXPORT
PresetItemModel final :
public QAbstractItemModel
40 std::vector<Process::Preset>& presets;
43 void setProcess(std::optional<Process::ProcessIdentifier>
id);
44 const std::optional<Process::ProcessIdentifier>& process()
const noexcept
54 void refreshCurrent();
56 QModelIndex currentPresetIndex()
const;
59 void setFilterText(
const QString& text);
60 const QString& filterText()
const noexcept {
return m_filter; }
64 int presetRow(
const QModelIndex& index)
const;
66 QModelIndex indexOfPreset(
int presetRow)
const;
68 int presetRowOf(
const QString& path)
const;
70 QStringList folderPath(
const QModelIndex& index)
const;
71 QModelIndex indexOfFolder(
const QStringList& path)
const;
76 bool canEdit(
int presetRow)
const;
78 bool removePreset(
int presetRow);
80 bool movePreset(
int presetRow,
const QString& category);
83 QModelIndex addCategory(
const QStringList& path);
85 QStringList categories()
const;
87 bool isBuiltin(
const QModelIndex& index)
const;
90 void renamed(QModelIndex index) E_SIGNAL(SCORE_PLUGIN_LIBRARY_EXPORT, renamed, index)
92 QModelIndex index(
int row,
int column,
const QModelIndex& parent)
const override;
93 QModelIndex parent(
const QModelIndex& child)
const override;
94 int rowCount(
const QModelIndex& parent)
const override;
95 int columnCount(
const QModelIndex& parent)
const override;
96 QVariant data(
const QModelIndex& index,
int role)
const override;
97 Qt::ItemFlags flags(
const QModelIndex& index)
const override;
98 bool setData(
const QModelIndex& index,
const QVariant& value,
int role)
override;
101 const QMimeData* data, Qt::DropAction act,
int row,
int col,
102 const QModelIndex& parent)
override;
103 bool canDropMimeData(
104 const QMimeData* data, Qt::DropAction act,
int row,
int col,
105 const QModelIndex& parent)
const override;
106 QMimeData* mimeData(
const QModelIndexList& indexes)
const override;
107 Qt::DropActions supportedDragActions()
const override;
108 Qt::DropActions supportedDropActions()
const override;
114 QString categoryKey()
const;
115 Node& folder(
const QStringList& path);
121 Node* node(
const QModelIndex& index)
const;
122 QModelIndex indexOf(
const Node* n)
const;
125 std::optional<Process::ProcessIdentifier> m_process;
126 QPointer<const Process::ProcessModel> m_target;
127 std::vector<Process::Preset> m_builtins;
129 std::unique_ptr<Node> m_root;
131 bool m_removingShown{};
133 std::vector<std::pair<QString, QStringList>> m_emptyCategories;
135 mutable QString m_dragged;
137 QPointer<const Process::ProcessModel> m_builtinsOf;
139 QPersistentModelIndex m_current;
Specializes ApplicationContext with the QMainWindow.
Definition GUIApplicationContext.hpp:15