* @brief Adds a group folder under @p parentFolderId (-1 = top level); returns its new id. */
| 6336 | * @brief Adds a group folder under @p parentFolderId (-1 = top level); returns its new id. |
| 6337 | */ |
| 6338 | int DataModel::ProjectModel::addGroupFolder(int parentFolderId, const QString& title) |
| 6339 | { |
| 6340 | if (parentFolderId != -1 && !folderExists(m_groupFolders, parentFolderId)) |
| 6341 | parentFolderId = -1; |
| 6342 | |
| 6343 | int newId = 1; |
| 6344 | for (const auto& f : std::as_const(m_groupFolders)) |
| 6345 | if (f.folderId >= newId) |
| 6346 | newId = f.folderId + 1; |
| 6347 | |
| 6348 | DataModel::GroupFolder folder; |
| 6349 | folder.folderId = newId; |
| 6350 | folder.parentFolderId = parentFolderId; |
| 6351 | folder.title = title.simplified().isEmpty() ? tr("Folder") : title.simplified(); |
| 6352 | m_groupFolders.push_back(folder); |
| 6353 | |
| 6354 | setModified(true); |
| 6355 | Q_EMIT groupsChanged(); |
| 6356 | return newId; |
| 6357 | } |
| 6358 | |
| 6359 | /** |
| 6360 | * @brief Renames a group folder; ignores empty names. |
nothing calls this directly
no test coverage detected