Browse Source

Add entry in tools menu for "Project Upgrade" view.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5262 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
pull/1/head
Daniel Grunwald 16 years ago
parent
commit
da8f9a068c
  1. 5
      AddIns/ICSharpCode.SharpDevelop.addin
  2. 2
      src/Main/Base/Project/Src/Gui/Workbench/WpfWorkbench.cs
  3. 20
      src/Main/Base/Project/Src/Project/Converter/UpgradeViewContent.cs

5
AddIns/ICSharpCode.SharpDevelop.addin

@ -1613,6 +1613,11 @@ @@ -1613,6 +1613,11 @@
shortcut = "Control|Q"
class = "ICSharpCode.SharpDevelop.DefaultEditor.Commands.QuickDocumentation"/>
</Condition>
<Condition name = "SolutionOpen" action="Disable">
<MenuItem id = "Upgrade"
label = "Project Upgrade"
class = "ICSharpCode.SharpDevelop.Project.Converter.ShowUpgradeView"/>
</Condition>
<MenuItem id = "LastSeparator" type = "Separator" />

2
src/Main/Base/Project/Src/Gui/Workbench/WpfWorkbench.cs

@ -365,6 +365,8 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -365,6 +365,8 @@ namespace ICSharpCode.SharpDevelop.Gui
WorkbenchSingleton.AssertMainThread();
if (content == null)
throw new ArgumentNullException("content");
if (ViewContentCollection.Contains(content))
throw new ArgumentException("ViewContent was already shown");
System.Diagnostics.Debug.Assert(WorkbenchLayout != null);
LoadViewContentMemento(content);

20
src/Main/Base/Project/Src/Project/Converter/UpgradeViewContent.cs

@ -5,20 +5,22 @@ @@ -5,20 +5,22 @@
// <version>$Revision$</version>
// </file>
using ICSharpCode.SharpDevelop.Gui;
using System;
using System.Linq;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Gui;
namespace ICSharpCode.SharpDevelop.Project.Converter
{
/// <summary>
/// This view content is used.
/// This view content is used for upgrading or downgrading projects inside a solution.
/// </summary>
public class UpgradeViewContent : AbstractViewContent
{
public static void ShowIfRequired(Solution solution)
{
if (solution.Projects.OfType<IUpgradableProject>().Any(u => u.UpgradeDesired)) {
var projects = solution.Projects.OfType<IUpgradableProject>().ToList();
if (projects.Count > 0 && projects.All(u => u.UpgradeDesired)) {
Core.AnalyticsMonitorService.TrackFeature("UpgradeView opened automatically");
WorkbenchSingleton.Workbench.ShowView(new UpgradeViewContent(solution));
}
@ -38,4 +40,16 @@ namespace ICSharpCode.SharpDevelop.Project.Converter @@ -38,4 +40,16 @@ namespace ICSharpCode.SharpDevelop.Project.Converter
}
}
}
public class ShowUpgradeView : AbstractMenuCommand
{
public override void Run()
{
UpgradeViewContent uvc = WorkbenchSingleton.Workbench.ViewContentCollection.OfType<UpgradeViewContent>().FirstOrDefault();
if (uvc != null)
uvc.WorkbenchWindow.SelectWindow();
else if (ProjectService.OpenSolution != null)
WorkbenchSingleton.Workbench.ShowView(new UpgradeViewContent(ProjectService.OpenSolution));
}
}
}

Loading…
Cancel
Save