bool ProjectManager::CloseWorkspace() { bool result = false; m_IsClosingWorkspace = true; if (m_pWorkspace) { if (!m_ui->QueryCloseWorkspace()) { m_IsClosingWorkspace = false; return false; } if (!CloseAllProjects(false)) { m_IsClosingWorkspace = false; return false; } delete m_pWorkspace; m_pWorkspace = nullptr; m_ui->CloseWorkspace(); result = true; } else result = CloseAllProjects(false); m_IsClosingWorkspace = false; WorkspaceChanged(); return result; }
bool ProjectManager::CloseWorkspace() { bool result = false; m_IsClosingWorkspace = true; if (m_pWorkspace) { if (!m_ui->QueryCloseWorkspace()) { m_IsClosingWorkspace = false; return false; } // m_ui->QueryCloseWorkspace asked for saving workspace AND projects, no need to do again if (!CloseAllProjects(true)) { m_IsClosingWorkspace = false; return false; } delete m_pWorkspace; m_pWorkspace = nullptr; m_ui->CloseWorkspace(); result = true; } else result = CloseAllProjects(false); m_IsClosingWorkspace = false; WorkspaceChanged(); return result; }