Esempio n. 1
0
std::unique_ptr<Workspace> JsonImporter::ImportWorkspace(FileManager& fileManager, const filesystem::path& workspaceFile)
{
    auto json = internal::ParseJsonFile(fileManager.GetFileSystem(), workspaceFile);

    if (internal::IsValidWorkspace(json))
    {
        auto workspace = std::make_unique<Workspace>();

        workspace->SetName(json["workspace"]);
        workspace->SetFile(workspaceFile);

        auto& projects = json["projects"];

        if (projects.is_array())
        {
            auto workspacePath = workspaceFile.parent_path();

            for (auto& project : projects)
            {
                workspace->AddProject(ImportProject(fileManager, workspacePath / project));
            }
        }

        return workspace;
    }

    return nullptr;
}
Esempio n. 2
0
void ProjectsListView::LoadInitialProjects()
{
    auto projectTypeList = this->m_projectTypeCTRL.QuerySelectList();
    for(int i = 0; i < projectTypeList.length(); i++)
    {
        AddProjectType(projectTypeList[i], false);
    }
    AddProjectType(nullptr, true);

    auto projectList = this->m_projectCTRL.QuerySelectList();
    for(int i = 0; i < projectList.length(); i++)
    {
        AddProject(projectList[i]);
    }
}
Esempio n. 3
0
void ProjectsListView::slotProjectAdded(const Project &project)
{
    auto ptr = m_projectCTRL.GetProjectById(project.GetIdProject());
    AddProject(ptr);
}