diff options
author | Michael Hutchinson <mhutch@xamarin.com> | 2011-07-14 14:03:11 +0400 |
---|---|---|
committer | Michael Hutchinson <mhutch@xamarin.com> | 2011-07-14 18:05:45 +0400 |
commit | 15edd9ad3b5deb767ed764cd6db767eb2473bd23 (patch) | |
tree | ba058f6a96b42c5b8dd9571eee50d4ff98659ec2 /main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels | |
parent | 830ecca58a433c0f6529ad29254530cc2e9804ec (diff) |
[Ide] Sort target framework list
Diffstat (limited to 'main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels')
-rw-r--r-- | main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/RuntimeOptionsPanel.cs | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/RuntimeOptionsPanel.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/RuntimeOptionsPanel.cs index 613ddaf46e..65c09a20bc 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/RuntimeOptionsPanel.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/RuntimeOptionsPanel.cs @@ -30,6 +30,7 @@ using System; using System.Collections; using System.Collections.Generic; using System.IO; +using System.Linq; using MonoDevelop.Projects; using MonoDevelop.Ide.Projects; @@ -74,7 +75,19 @@ namespace MonoDevelop.Ide.Projects.OptionPanels this.project = project; if (project != null) { // Get the list of available versions, and add only those supported by the target language. - foreach (TargetFramework fx in Runtime.SystemAssemblyService.GetTargetFrameworks ()) { + var frameworks = Runtime.SystemAssemblyService.GetTargetFrameworks ().ToList (); + frameworks.Sort ((x, y) => { + var cmp = string.CompareOrdinal (x.Id.Identifier, y.Id.Identifier); + if (cmp != 0) + return cmp; + //sort by version descending + cmp = string.CompareOrdinal (y.Id.Version, x.Id.Version); + if (cmp != 0) + return cmp; + return string.CompareOrdinal (x.Id.Profile, y.Id.Profile); + }); + + foreach (TargetFramework fx in frameworks) { if (fx.Hidden) continue; if (fx != project.TargetFramework) { |