core/mainmenu: implemented save/close all/current actions for multiple projects

Expands on UI from multiple project support implemented earlier.
This commit is contained in:
itsmattkc
2020-04-19 00:37:44 +10:00
parent aecd381e6b
commit 93e5e7c0c1
4 changed files with 93 additions and 3 deletions
+37
View File
@@ -656,6 +656,38 @@ bool Core::SaveActiveProjectAs()
return false;
}
bool Core::SaveAllProjects()
{
foreach (ProjectPtr p, open_projects_) {
if (!SaveProject(p.get())) {
return false;
}
}
return true;
}
bool Core::CloseActiveProject()
{
return CloseProject(GetActiveProject(), true);
}
bool Core::CloseAllExceptActiveProject()
{
Project* active_proj = GetActiveProject();
QList<ProjectPtr> copy = open_projects_;
foreach (ProjectPtr p, copy) {
if (p.get() != active_proj) {
if (!CloseProject(p.get(), true)) {
return false;
}
}
}
return true;
}
QList<rational> Core::SupportedFrameRates()
{
QList<rational> frame_rates;
@@ -930,6 +962,11 @@ bool Core::CloseAllProjects(bool auto_open_new)
return true;
}
bool Core::CloseAllProjects()
{
return CloseAllProjects(true);
}
void Core::OpenProject()
{
QString file = QFileDialog::getOpenFileName(main_window_,