43 ,
public Nano::Observer
46 using QAbstractItemModel::beginInsertRows;
47 using QAbstractItemModel::endInsertRows;
49 using QAbstractItemModel::beginRemoveRows;
50 using QAbstractItemModel::endRemoveRows;
55 QModelIndex find(
const Process::ProcessModelFactory::ConcreteKey& k);
61 int columnCount(
const QModelIndex& parent)
const override;
62 QVariant data(
const QModelIndex& index,
int role)
const override;
64 QVariant headerData(
int section, Qt::Orientation orientation,
int role)
const override;
65 Qt::ItemFlags flags(
const QModelIndex& index)
const override;
68 QStringList mimeTypes()
const override;
69 QMimeData* mimeData(
const QModelIndexList& indexes)
const override;
70 Qt::DropActions supportedDragActions()
const override;
88 std::string libraryFolderPath{};
89 std::string defaultPresetsPath{};
90 ossia::hash_map<QString, Library::ProcessNode*> categories;
93 std::string process_name,
const QModelIndex& idx,
102 libraryFolderPath = libraryFolder.absolutePath().toStdString();
105 defaultPresetsPath =
"Presets/" + process_name;
110 SCORE_ASSERT(parent);
111 auto parentFolder = file.dir().dirName();
112 if(
auto it = categories.find(parentFolder); it != categories.end())
114 Library::addToLibrary(*it->second, std::move(pdata));
118 if(file.dir() == libraryFolder
119 || file.absolutePath().endsWith(defaultPresetsPath.c_str()))
121 Library::addToLibrary(*parent, std::move(pdata));
125 auto& category = Library::addToLibrary(
127 Library::addToLibrary(category, std::move(pdata));
128 categories[parentFolder] = &category;
135 SCORE_ASSERT(parent);
137 = QString::fromUtf8(file.parentDirName.data(), file.parentDirName.size());
138 if(
auto it = categories.find(parentFolder); it != categories.end())
140 Library::addToLibrary(*it->second, std::move(pdata));
144 if(file.absolutePath == libraryFolderPath
145 || file.absolutePath.ends_with(defaultPresetsPath))
147 Library::addToLibrary(*parent, std::move(pdata));
151 auto& category = Library::addToLibrary(
153 Library::addToLibrary(category, std::move(pdata));
154 categories[parentFolder] = &category;
Used to access all the application-wide state and structures.
Definition ApplicationContext.hpp:25
Specializes ApplicationContext with the QMainWindow.
Definition GUIApplicationContext.hpp:15