42 ,
public Nano::Observer
45 using QAbstractItemModel::beginInsertRows;
46 using QAbstractItemModel::endInsertRows;
48 using QAbstractItemModel::beginRemoveRows;
49 using QAbstractItemModel::endRemoveRows;
54 QModelIndex find(
const Process::ProcessModelFactory::ConcreteKey& k);
60 int columnCount(
const QModelIndex& parent)
const override;
61 QVariant data(
const QModelIndex& index,
int role)
const override;
63 QVariant headerData(
int section, Qt::Orientation orientation,
int role)
const override;
64 Qt::ItemFlags flags(
const QModelIndex& index)
const override;
67 QStringList mimeTypes()
const override;
68 QMimeData* mimeData(
const QModelIndexList& indexes)
const override;
69 Qt::DropActions supportedDragActions()
const override;
87 std::string libraryFolderPath{};
88 std::string defaultPresetsPath{};
89 ossia::hash_map<QString, Library::ProcessNode*> categories;
92 std::string process_name,
const QModelIndex& idx,
101 libraryFolderPath = libraryFolder.absolutePath().toStdString();
104 defaultPresetsPath =
"Presets/" + process_name;
109 SCORE_ASSERT(parent);
110 auto parentFolder = file.dir().dirName();
111 if(
auto it = categories.find(parentFolder); it != categories.end())
113 Library::addToLibrary(*it->second, std::move(pdata));
117 if(file.dir() == libraryFolder
118 || file.absolutePath().endsWith(defaultPresetsPath.c_str()))
120 Library::addToLibrary(*parent, std::move(pdata));
124 auto& category = Library::addToLibrary(
126 Library::addToLibrary(category, std::move(pdata));
127 categories[parentFolder] = &category;
134 SCORE_ASSERT(parent);
136 = QString::fromUtf8(file.parentDirName.data(), file.parentDirName.size());
137 if(
auto it = categories.find(parentFolder); it != categories.end())
139 Library::addToLibrary(*it->second, std::move(pdata));
143 if(file.absolutePath == libraryFolderPath
144 || file.absolutePath.ends_with(defaultPresetsPath))
146 Library::addToLibrary(*parent, std::move(pdata));
150 auto& category = Library::addToLibrary(
152 Library::addToLibrary(category, std::move(pdata));
153 categories[parentFolder] = &category;
Used to access all the application-wide state and structures.
Definition ApplicationContext.hpp:24
T & settings() const
Access a specific Settings model instance.
Definition ApplicationContext.hpp:40
Specializes ApplicationContext with the QMainWindow.
Definition GUIApplicationContext.hpp:15