ProjectView projectView = ide.projectView;
DataRow prev = topNode.row ? topNode.row.previous : null;
FileMonitor fm = fileMonitor;
-
- if(projectView) projectView.DeleteNode(topNode);
-
- *this = *project;
- delete fileMonitor;
- fileMonitor = fm;
- topNode.project = this;
+ bool confirmation = true;
if(projectView)
{
- CompilerConfig compiler = ideSettings.GetCompilerConfig(projectView.workspace.compiler);
- projectView.AddNode(topNode, null);
- topNode.row.Move(prev);
+ if(projectView.projectSettingsDialog)
+ {
+ confirmation = projectView.projectSettingsDialog.CloseConfirmation(true);
+ if(confirmation)
+ projectView.projectSettingsDialog.Destroy(0);
+ }
+ if(confirmation)
+ projectView.DeleteNode(topNode);
+ }
+ if(confirmation)
+ {
+ *this = *project;
+ delete fileMonitor;
+ fileMonitor = fm;
+ topNode.project = this;
- projectView.ShowOutputBuildLog(true);
- projectView.DisplayCompiler(compiler, false);
- projectView.ProjectUpdateMakefileForAllConfigs(this);
- delete compiler;
+ if(projectView)
+ {
+ CompilerConfig compiler = ideSettings.GetCompilerConfig(projectView.workspace.compiler);
+ projectView.AddNode(topNode, null);
+ topNode.row.Move(prev);
+
+ projectView.ShowOutputBuildLog(true);
+ projectView.DisplayCompiler(compiler, false);
+ projectView.ProjectUpdateMakefileForAllConfigs(this);
+ delete compiler;
+ }
+ eSystem_Delete(project);
}
- eSystem_Delete(project);
+ else
+ delete project;
}
return true;
}
ProjectNode node = GetSelectedNode(true);
Project prj = node ? node.project : project;
projectSettingsDialog = ProjectSettings { master = parent, project = prj, projectNode = node };
+ incref projectSettingsDialog;
projectSettingsDialog.Modal();
+ delete projectSettingsDialog;
ide.UpdateToolBarActiveConfigs(false);
Update(null);
ide.AdjustMenus();