Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Munn <greg@sgmunn.com>2017-04-04 18:21:35 +0300
committerGitHub <noreply@github.com>2017-04-04 18:21:35 +0300
commitf751f961178084606d65e58de048a1d6801933e8 (patch)
treeef8899b6d65b5854d91be05abee7aee9a6244383 /main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.GettingStarted
parentb3e38f9cd25ac36428dc1a00d2d90fec88058a14 (diff)
parentf88227e2be30fb7a3176f5a7c391748c262f2cc2 (diff)
Merge pull request #1892 from mono/fix46965
Optimize GettingStarted new project handling
Diffstat (limited to 'main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.GettingStarted')
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.GettingStarted/GettingStarted.cs17
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.GettingStarted/GettingStartedNode.cs2
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.GettingStarted/GettingStartedNodeBuilder.cs1
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.GettingStarted/GettingStartedProjectExtension.cs25
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.GettingStarted/GettingStartedProvider.cs (renamed from main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.GettingStarted/GettingStartedProviderBase.cs)7
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.GettingStarted/GettingStartedViewContent.cs2
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.GettingStarted/IGettingStartedProvider.cs14
7 files changed, 17 insertions, 51 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.GettingStarted/GettingStarted.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.GettingStarted/GettingStarted.cs
index d728594d72..5f2df8984f 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.GettingStarted/GettingStarted.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.GettingStarted/GettingStarted.cs
@@ -12,7 +12,7 @@ namespace MonoDevelop.Ide.GettingStarted
{
static readonly string GettingStartedProvidersExtensionPoint = "/MonoDevelop/Ide/GettingStartedProviders";
- static List<IGettingStartedProvider> providers = new List<IGettingStartedProvider> ();
+ static List<GettingStartedProvider> providers = new List<GettingStartedProvider> ();
static GettingStarted ()
{
@@ -22,17 +22,18 @@ namespace MonoDevelop.Ide.GettingStarted
static void OnExtensionChanged (object s, ExtensionNodeEventArgs args)
{
if (args.Change == ExtensionChange.Add)
- providers.Add ((IGettingStartedProvider)args.ExtensionObject);
+ providers.Add ((GettingStartedProvider)args.ExtensionObject);
else if (args.Change == ExtensionChange.Remove)
- providers.Remove ((IGettingStartedProvider)args.ExtensionObject);
+ providers.Remove ((GettingStartedProvider)args.ExtensionObject);
}
- public static IGettingStartedProvider GetGettingStartedProvider (this Project project)
+ public static GettingStartedProvider GetGettingStartedProvider (this Project project)
{
- foreach (var provider in providers) {
- if (provider.SupportsProject (project))
- return provider;
- }
+ if (project != null)
+ foreach (var provider in providers) {
+ if (provider.SupportsProject (project))
+ return provider;
+ }
return null;
}
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.GettingStarted/GettingStartedNode.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.GettingStarted/GettingStartedNode.cs
index 6ef9db83b7..f095b0e20a 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.GettingStarted/GettingStartedNode.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.GettingStarted/GettingStartedNode.cs
@@ -15,7 +15,7 @@ namespace MonoDevelop.Ide.Gui.Pads.ProjectPad
public Project Project { get; private set; }
- public IGettingStartedProvider Provider { get; private set; }
+ public GettingStartedProvider Provider { get; private set; }
internal GettingStartedProjectExtension Extension { get; private set; }
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.GettingStarted/GettingStartedNodeBuilder.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.GettingStarted/GettingStartedNodeBuilder.cs
index 8cce132ef7..b4fd7c118b 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.GettingStarted/GettingStartedNodeBuilder.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.GettingStarted/GettingStartedNodeBuilder.cs
@@ -51,7 +51,6 @@ namespace MonoDevelop.Ide.Gui.Pads.ProjectPad
{
var node = dataObject as GettingStartedNode;
node.Removed += OnNodeHidden;
- node.Extension.NotifyNodeAdded ();
}
public override void OnNodeRemoved (object dataObject)
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.GettingStarted/GettingStartedProjectExtension.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.GettingStarted/GettingStartedProjectExtension.cs
index 4cfab17808..e41d6c03b0 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.GettingStarted/GettingStartedProjectExtension.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.GettingStarted/GettingStartedProjectExtension.cs
@@ -1,17 +1,12 @@
using System;
using System.Xml;
-using MonoDevelop.Components;
-using MonoDevelop.Core;
-using MonoDevelop.Ide;
using MonoDevelop.Ide.Gui.Pads.ProjectPad;
-using MonoDevelop.Ide.WebBrowser;
using MonoDevelop.Projects;
namespace MonoDevelop.Ide.GettingStarted
{
public class GettingStartedProjectExtension : ProjectExtension
{
- static bool showGettingStartedOnce = false;
GettingStartedNode treeDataObject;
public GettingStartedNode ProjectPadNode {
@@ -28,26 +23,6 @@ namespace MonoDevelop.Ide.GettingStarted
base.OnInitializeFromTemplate (projectCreateInfo, template);
if (string.Equals (template.GetAttribute ("HideGettingStarted"), "true", StringComparison.OrdinalIgnoreCase))
Project.UserProperties.SetValue ("HideGettingStarted", true);
- else
- showGettingStartedOnce = true;
- }
-
- internal void NotifyNodeAdded ()
- {
- ShowGettingStartedOnce ();
- }
-
- void ShowGettingStartedOnce ()
- {
- var provider = ProjectPadNode.Provider;
- if (provider == null)
- return;
-
- if (showGettingStartedOnce) {
- showGettingStartedOnce = false;
-
- Runtime.RunInMainThread (() => GettingStarted.ShowGettingStarted (Project));
- }
}
}
}
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.GettingStarted/GettingStartedProviderBase.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.GettingStarted/GettingStartedProvider.cs
index 14ed0c8790..0d7c8e5640 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.GettingStarted/GettingStartedProviderBase.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.GettingStarted/GettingStartedProvider.cs
@@ -1,10 +1,11 @@
using System;
using MonoDevelop.Components;
+using MonoDevelop.Ide.Templates;
using MonoDevelop.Projects;
namespace MonoDevelop.Ide.GettingStarted
{
- public abstract class GettingStartedProviderBase : IGettingStartedProvider
+ public abstract class GettingStartedProvider
{
public abstract bool SupportsProject (Project project);
@@ -27,6 +28,10 @@ namespace MonoDevelop.Ide.GettingStarted
IdeApp.Workbench.OpenDocument (vc, true);
}
}
+
+ public virtual void SupportedProjectCreated (ProcessedTemplateResult templateResult)
+ {
+ }
}
}
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.GettingStarted/GettingStartedViewContent.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.GettingStarted/GettingStartedViewContent.cs
index 3cf282d077..c24d074fc3 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.GettingStarted/GettingStartedViewContent.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.GettingStarted/GettingStartedViewContent.cs
@@ -11,7 +11,7 @@ namespace MonoDevelop.Ide.GettingStarted
{
Control gettingStartedWidget;
- public GettingStartedViewContent (Project project, IGettingStartedProvider provider)
+ public GettingStartedViewContent (Project project, GettingStartedProvider provider)
{
Project = project;
gettingStartedWidget = provider.GetGettingStartedWidget (project);
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.GettingStarted/IGettingStartedProvider.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.GettingStarted/IGettingStartedProvider.cs
deleted file mode 100644
index 8e2c74664a..0000000000
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.GettingStarted/IGettingStartedProvider.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using System;
-using MonoDevelop.Components;
-using MonoDevelop.Projects;
-
-namespace MonoDevelop.Ide.GettingStarted
-{
- public interface IGettingStartedProvider
- {
- bool SupportsProject (Project project);
- Control GetGettingStartedWidget (Project project);
- void ShowGettingStarted (Project project, string pageHint = null);
- }
-}
-