diff --git a/src/AddIns/BackendBindings/Boo/BooBinding/Project/Resources/BuildOptions.xfrm b/src/AddIns/BackendBindings/Boo/BooBinding/Project/Resources/BuildOptions.xfrm
index 1d340047e8..6445e012d6 100644
--- a/src/AddIns/BackendBindings/Boo/BooBinding/Project/Resources/BuildOptions.xfrm
+++ b/src/AddIns/BackendBindings/Boo/BooBinding/Project/Resources/BuildOptions.xfrm
@@ -181,9 +181,9 @@
-
+
-
+
diff --git a/src/AddIns/BackendBindings/CSharpBinding/Project/Resources/BuildOptions.xfrm b/src/AddIns/BackendBindings/CSharpBinding/Project/Resources/BuildOptions.xfrm
index bcfbeb3bc7..11b6f38c8b 100644
--- a/src/AddIns/BackendBindings/CSharpBinding/Project/Resources/BuildOptions.xfrm
+++ b/src/AddIns/BackendBindings/CSharpBinding/Project/Resources/BuildOptions.xfrm
@@ -78,9 +78,9 @@
-
+
-
+
diff --git a/src/AddIns/BackendBindings/VBNetBinding/Project/Resources/BuildOptions.xfrm b/src/AddIns/BackendBindings/VBNetBinding/Project/Resources/BuildOptions.xfrm
index f4f88ca0c0..eff9ccdfd6 100644
--- a/src/AddIns/BackendBindings/VBNetBinding/Project/Resources/BuildOptions.xfrm
+++ b/src/AddIns/BackendBindings/VBNetBinding/Project/Resources/BuildOptions.xfrm
@@ -94,9 +94,9 @@
-
+
-
+
diff --git a/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/AbstractBuildOptions.cs b/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/AbstractBuildOptions.cs
index 918f8d33e2..340ce8ff57 100644
--- a/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/AbstractBuildOptions.cs
+++ b/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/AbstractBuildOptions.cs
@@ -6,10 +6,10 @@ using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Windows.Forms;
-
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Project;
-using StringPair = System.Collections.Generic.KeyValuePair;
+using ICSharpCode.SharpDevelop.Project.Converter;
+using StringPair = System.Collections.Generic.KeyValuePair;
namespace ICSharpCode.SharpDevelop.Gui.OptionPanels
{
@@ -234,36 +234,18 @@ namespace ICSharpCode.SharpDevelop.Gui.OptionPanels
protected void InitTargetFramework()
{
- Button convertProjectToMSBuild35Button = (Button)ControlDictionary["convertProjectToMSBuild35Button"];
- ComboBox targetFrameworkComboBox = (ComboBox)ControlDictionary["targetFrameworkComboBox"];
-
- if (convertProjectToMSBuild35Button != null) {
- if (project.MinimumSolutionVersion <= Solution.SolutionVersionVS2008) {
- // VS05/VS08 project
- targetFrameworkComboBox.Enabled = false;
- convertProjectToMSBuild35Button.Enabled = false;
- return;
- } else {
- // VS2010 project
- targetFrameworkComboBox.Enabled = true;
- convertProjectToMSBuild35Button.Visible = false;
- }
+ Button projectUpdateButton = ControlDictionary["projectUpdateButton"] as Button;
+ if (projectUpdateButton != null) {
+ projectUpdateButton.Click += delegate {
+ UpgradeViewContent.Show(project.ParentSolution).Select(project as IUpgradableProject);
+ };
+ }
+ ComboBox targetFrameworkComboBox = ControlDictionary["targetFrameworkComboBox"] as ComboBox;
+ if (targetFrameworkComboBox != null) {
+ targetFrameworkComboBox.Enabled = false;
+ targetFrameworkComboBox.Items.Add(((IUpgradableProject)project).CurrentTargetFramework.DisplayName);
+ targetFrameworkComboBox.SelectedIndex = 0;
}
-
- const string TargetFrameworkProperty = "TargetFrameworkVersion";
- ConfigurationGuiBinding targetFrameworkBinding;
-
- targetFrameworkBinding = helper.BindStringEnum(
- "targetFrameworkComboBox", TargetFrameworkProperty,
- "v2.0",
- (from targetFramework in TargetFramework.TargetFrameworks
- where targetFramework.DisplayName != null
- select new StringPair(targetFramework.Name, targetFramework.DisplayName)).ToArray());
- targetFrameworkBinding.CreateLocationButton("targetFrameworkLabel");
- helper.Saved += delegate {
- CompilableProject cProject = (CompilableProject)project;
- cProject.AddOrRemoveExtensions();
- };
}
}
}
diff --git a/src/Main/Base/Project/Src/Project/Converter/UpgradeView.xaml.cs b/src/Main/Base/Project/Src/Project/Converter/UpgradeView.xaml.cs
index f318ac7f42..c2a8690347 100644
--- a/src/Main/Base/Project/Src/Project/Converter/UpgradeView.xaml.cs
+++ b/src/Main/Base/Project/Src/Project/Converter/UpgradeView.xaml.cs
@@ -21,19 +21,35 @@ namespace ICSharpCode.SharpDevelop.Project.Converter
///
internal partial class UpgradeView : UserControl
{
- Solution solution;
+ readonly Solution solution;
+ readonly List entries;
public UpgradeView(Solution solution)
{
+ if (solution == null)
+ throw new ArgumentNullException("solution");
this.solution = solution;
InitializeComponent();
- listView.ItemsSource = solution.Projects.OfType().Select(p => new Entry(p)).ToList();
+ this.entries = solution.Projects.OfType().Select(p => new Entry(p)).ToList();
+ listView.ItemsSource = entries;
SortableGridViewColumn.SetCurrentSortColumn(listView, nameColumn);
SortableGridViewColumn.SetSortDirection(listView, ColumnSortDirection.Ascending);
ListView_SelectionChanged(null, null);
}
+ public Solution Solution {
+ get { return solution; }
+ }
+
+ public void Select(IUpgradableProject project)
+ {
+ foreach (Entry entry in entries) {
+ if (entry.Project == project)
+ listView.SelectedItem = entry;
+ }
+ }
+
void SelectAllCheckBox_Checked(object sender, RoutedEventArgs e)
{
listView.SelectAll();
diff --git a/src/Main/Base/Project/Src/Project/Converter/UpgradeViewContent.cs b/src/Main/Base/Project/Src/Project/Converter/UpgradeViewContent.cs
index c627206c51..a81ce1b0b8 100644
--- a/src/Main/Base/Project/Src/Project/Converter/UpgradeViewContent.cs
+++ b/src/Main/Base/Project/Src/Project/Converter/UpgradeViewContent.cs
@@ -18,18 +18,42 @@ namespace ICSharpCode.SharpDevelop.Project.Converter
var projects = solution.Projects.OfType().ToList();
if (projects.Count > 0 && projects.All(u => u.UpgradeDesired)) {
Core.AnalyticsMonitorService.TrackFeature(typeof(UpgradeView), "opened automatically");
- WorkbenchSingleton.Workbench.ShowView(new UpgradeViewContent(solution));
+ Show(solution);
}
}
+ public static UpgradeViewContent Show(Solution solution)
+ {
+ foreach (UpgradeViewContent vc in WorkbenchSingleton.Workbench.ViewContentCollection.OfType()) {
+ if (vc.Solution == solution) {
+ vc.WorkbenchWindow.SelectWindow();
+ return vc;
+ }
+ }
+ var newVC = new UpgradeViewContent(solution);
+ WorkbenchSingleton.Workbench.ShowView(newVC);
+ return newVC;
+ }
+
UpgradeView upgradeView;
public UpgradeViewContent(Solution solution)
{
+ if (solution == null)
+ throw new ArgumentNullException("solution");
this.TitleName = "Project Upgrade";
upgradeView = new UpgradeView(solution);
}
+ public Solution Solution {
+ get { return upgradeView.Solution; }
+ }
+
+ public void Select(IUpgradableProject project)
+ {
+ upgradeView.Select(project);
+ }
+
public override object Control {
get {
return upgradeView;
@@ -41,11 +65,7 @@ namespace ICSharpCode.SharpDevelop.Project.Converter
{
public override void Run()
{
- UpgradeViewContent uvc = WorkbenchSingleton.Workbench.ViewContentCollection.OfType().FirstOrDefault();
- if (uvc != null)
- uvc.WorkbenchWindow.SelectWindow();
- else if (ProjectService.OpenSolution != null)
- WorkbenchSingleton.Workbench.ShowView(new UpgradeViewContent(ProjectService.OpenSolution));
+ UpgradeViewContent.Show(ProjectService.OpenSolution);
}
}
}