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 @@
shortcut = "Control|Q" shortcut = "Control|Q"
class = "ICSharpCode.SharpDevelop.DefaultEditor.Commands.QuickDocumentation"/> class = "ICSharpCode.SharpDevelop.DefaultEditor.Commands.QuickDocumentation"/>
</Condition> </Condition>
<Condition name = "SolutionOpen" action="Disable">
<MenuItem id = "Upgrade"
label = "Project Upgrade"
class = "ICSharpCode.SharpDevelop.Project.Converter.ShowUpgradeView"/>
</Condition>
<MenuItem id = "LastSeparator" type = "Separator" /> <MenuItem id = "LastSeparator" type = "Separator" />

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

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

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

@ -5,20 +5,22 @@
// <version>$Revision$</version> // <version>$Revision$</version>
// </file> // </file>
using ICSharpCode.SharpDevelop.Gui;
using System; using System;
using System.Linq; using System.Linq;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Gui;
namespace ICSharpCode.SharpDevelop.Project.Converter namespace ICSharpCode.SharpDevelop.Project.Converter
{ {
/// <summary> /// <summary>
/// This view content is used. /// This view content is used for upgrading or downgrading projects inside a solution.
/// </summary> /// </summary>
public class UpgradeViewContent : AbstractViewContent public class UpgradeViewContent : AbstractViewContent
{ {
public static void ShowIfRequired(Solution solution) 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"); Core.AnalyticsMonitorService.TrackFeature("UpgradeView opened automatically");
WorkbenchSingleton.Workbench.ShowView(new UpgradeViewContent(solution)); WorkbenchSingleton.Workbench.ShowView(new UpgradeViewContent(solution));
} }
@ -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