diff options
author | Greg Munn <greg@sgmunn.com> | 2017-04-04 18:21:35 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-04-04 18:21:35 +0300 |
commit | f751f961178084606d65e58de048a1d6801933e8 (patch) | |
tree | ef8899b6d65b5854d91be05abee7aee9a6244383 /main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects | |
parent | b3e38f9cd25ac36428dc1a00d2d90fec88058a14 (diff) | |
parent | f88227e2be30fb7a3176f5a7c391748c262f2cc2 (diff) |
Merge pull request #1892 from mono/fix46965
Optimize GettingStarted new project handling
Diffstat (limited to 'main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects')
-rw-r--r-- | main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects/NewProjectController.cs | 32 |
1 files changed, 14 insertions, 18 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects/NewProjectController.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects/NewProjectController.cs index fbc65c9690..06c384d847 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects/NewProjectController.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects/NewProjectController.cs @@ -811,26 +811,22 @@ namespace MonoDevelop.Ide.Projects static void RunTemplateActions (ProcessedTemplateResult templateResult)
{
- const string gettingStartedHint = "getting-started://";
-
- foreach (string action in templateResult.Actions) { - // handle url schemed actions like opening the getting started page (if any) - if (action.StartsWith (gettingStartedHint, StringComparison.OrdinalIgnoreCase)) {
- var items = templateResult.WorkspaceItems.ToList ();
- if (items.OfType<Solution> ().Any ()) {
- // this is a solution that's been instantiated, lets just look for the first project
- var p = IdeApp.Workspace.GetAllProjects ().FirstOrDefault (); - if (p != null) { - GettingStarted.GettingStarted.ShowGettingStarted (p, action.Substring (gettingStartedHint.Length)); - } - continue;
- }
- }
-
+ foreach (string action in templateResult.Actions) {
var fileName = Path.Combine (templateResult.ProjectBasePath, action);
- if (File.Exists (fileName)) {
+ if (File.Exists (fileName))
IdeApp.Workbench.OpenDocument (fileName, project: null);
- }
+ } +
+ // Notify supporting GettingStarted providers + Project firstProject = null; + if (templateResult.WorkspaceItems.OfType<Solution> ().Any ()) + // this is a solution that's been instantiated, lets just look for the first project + firstProject = IdeApp.Workspace.GetAllProjects ().FirstOrDefault (); + else
+ firstProject = templateResult.WorkspaceItems.OfType<Project> ().FirstOrDefault ();
+ if (firstProject != null) {
+ var gettingStartedProvider = GettingStarted.GettingStarted.GetGettingStartedProvider (firstProject);
+ gettingStartedProvider?.SupportedProjectCreated (templateResult);
}
}
|