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); } } }