From 418504cb70172a3bb40b690833f209848a9ec573 Mon Sep 17 00:00:00 2001 From: Andrew Gvozdev Date: Tue, 10 Aug 2010 20:10:02 +0000 Subject: [PATCH] bug 322204: Sort order of build configurations is chronological and not alphabetical in the toolbar --- .../actions/ChangeBuildConfigActionBase.java | 20 ++++++++----------- 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/actions/ChangeBuildConfigActionBase.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/actions/ChangeBuildConfigActionBase.java index 5549cf0cd5f..1671b34adcd 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/actions/ChangeBuildConfigActionBase.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/actions/ChangeBuildConfigActionBase.java @@ -11,10 +11,10 @@ *******************************************************************************/ package org.eclipse.cdt.ui.actions; -import java.util.ArrayList; import java.util.HashSet; import java.util.Iterator; -import java.util.List; +import java.util.SortedSet; +import java.util.TreeSet; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IResource; @@ -63,12 +63,11 @@ public class ChangeBuildConfigActionBase { for (MenuItem item2 : items) item2.dispose(); - List configNames = new ArrayList(); - Iterator projIter = fProjects.iterator(); + SortedSet configNames = new TreeSet(); String sCurrentConfig = null; boolean bCurrentConfig = true; - while (projIter.hasNext()) { - ICConfigurationDescription[] cfgDescs = getCfgs(projIter.next()); + for (IProject prj : fProjects) { + ICConfigurationDescription[] cfgDescs = getCfgs(prj); String sActiveConfig = null; // Store names and detect active configuration @@ -91,17 +90,14 @@ public class ChangeBuildConfigActionBase { } } - Iterator confIter = configNames.iterator(); int accel = 0; - while (confIter.hasNext()) { - String sName = confIter.next(); + for (String sName : configNames) { String sDesc = null; - projIter = fProjects.iterator(); boolean commonName = true; boolean commonDesc = true; boolean firstProj = true; - while (projIter.hasNext()) { - ICConfigurationDescription[] cfgDescs = getCfgs(projIter.next()); + for (IProject prj : fProjects) { + ICConfigurationDescription[] cfgDescs = getCfgs(prj); int i = 0; for (; i < cfgDescs.length; i++) { if (cfgDescs[i].getName().equals(sName)) {