MCPcopy Create free account
hub / github.com/Serial-Studio/Serial-Studio / addWorkspaceFolder

Method addWorkspaceFolder

app/src/DataModel/ProjectModel.cpp:6044–6070  ·  view source on GitHub ↗

* @brief Adds a folder under @p parentFolderId (-1 = top level); returns its new id. */

Source from the content-addressed store, hash-verified

6042 * @brief Adds a folder under @p parentFolderId (-1 = top level); returns its new id.
6043 */
6044int DataModel::ProjectModel::addWorkspaceFolder(int parentFolderId, const QString& title)
6045{
6046 if (AppState::instance().operationMode() != SerialStudio::ProjectFile)
6047 return -1;
6048
6049 if (!m_customizeWorkspaces)
6050 setCustomizeWorkspaces(true);
6051
6052 if (parentFolderId != -1 && !folderExists(m_workspaceFolders, parentFolderId))
6053 parentFolderId = -1;
6054
6055 int newId = 1;
6056 for (const auto& f : std::as_const(m_workspaceFolders))
6057 if (f.folderId >= newId)
6058 newId = f.folderId + 1;
6059
6060 DataModel::WorkspaceFolder folder;
6061 folder.folderId = newId;
6062 folder.parentFolderId = parentFolderId;
6063 folder.title = title.simplified().isEmpty() ? tr("Folder") : title.simplified();
6064 m_workspaceFolders.push_back(folder);
6065
6066 setModified(true);
6067 Q_EMIT editorWorkspacesChanged();
6068 Q_EMIT activeWorkspacesChanged();
6069 return newId;
6070}
6071
6072/**
6073 * @brief Renames a workspace folder; ignores empty names.

Callers

nothing calls this directly

Calls 3

folderExistsFunction · 0.85
operationModeMethod · 0.80
isEmptyMethod · 0.80

Tested by

no test coverage detected