Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Hutchinson <mhutch@xamarin.com>2011-07-14 14:03:11 +0400
committerMichael Hutchinson <mhutch@xamarin.com>2011-07-14 18:05:45 +0400
commit15edd9ad3b5deb767ed764cd6db767eb2473bd23 (patch)
treeba058f6a96b42c5b8dd9571eee50d4ff98659ec2 /main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels
parent830ecca58a433c0f6529ad29254530cc2e9804ec (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.cs15
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) {