[gui-dev] Sorted list of languages.

Marcin Okraszewski <[email protected]> Thu, 19 May 2005 22:50:20 +0000
Newsgroups gmane.network.gnutella.limewire.gui.devel
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--------------080905070602090809030305
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: 7bit

Hi,
It is not at the wish list, but there wasn't any order in the list of
languages. I've sorted the list of languages by display name.
Unfortunately languages which do not start with latin letter are at the
end of list. But I think it is still better than totally unsorted list.
English is always at first position.

The list is displayed in wizard configuration at first start up and in
language menu.

Best regards,
Marcin

--------------080905070602090809030305
Content-Type: text/plain;
 name="LanguageInfo.java.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="LanguageInfo.java.patch"

Index: LanguageInfo.java
===================================================================
RCS file: /cvs/gui/com/limegroup/gnutella/gui/LanguageInfo.java,v
retrieving revision 1.16
diff -B -b -u -r1.16 LanguageInfo.java
--- LanguageInfo.java	10 Jan 2005 22:44:59 -0000	1.16
+++ LanguageInfo.java	19 May 2005 20:27:06 -0000
@@ -7,6 +7,7 @@
 import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.InputStream;
+import java.util.Arrays;
 import java.util.Enumeration;
 import java.util.Iterator;
 import java.util.LinkedList;
@@ -23,7 +24,7 @@
  *
  * Also contains factory methods for retrieving supported languages.
  */
-public class LanguageInfo {
+public class LanguageInfo implements Comparable {
     private final String languageCode;
     private final String countryCode;
     private final String variantCode;
@@ -131,7 +132,12 @@
             }
         }
                                       
-        return (LanguageInfo[])langs.toArray(new LanguageInfo[langs.size()]);
+        // Sort languages by display name
+        LanguageInfo[] langArray = new LanguageInfo[langs.size()];
+        langs.toArray(langArray);
+        Arrays.sort( langArray, 1, langArray.length - 1 );
+        
+        return langArray;
 	}
     
     
@@ -222,5 +228,13 @@
                 try { in.close(); } catch(IOException ioe) {}
         }
     }    
+
+    public int compareTo(java.lang.Object obj) {
+        if ( ! ( obj instanceof LanguageInfo ) )
+            return -1;
+        
+        LanguageInfo other = (LanguageInfo) obj;
+        return display.compareTo( other.display );
+    }
     
 }

--------------080905070602090809030305
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
gui-dev mailing list
[email protected]
http://www.limewire.org/mailman/listinfo/gui-dev

--------------080905070602090809030305--