Hi!
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=42396
This is my first hack in Java, so let me know if something is wrong.
I tested it, it worked for me.
Szabolcs                                          
From 19f67b45799639db9549a9aa1f0beac3d4217ed8 Mon Sep 17 00:00:00 2001
From: Szabolcs Dezsi <dezsiszabi@hotmail.com>
Date: Sun, 4 Mar 2012 00:57:53 +0100
Subject: [PATCH] Dropdown list in Letter Wizard are now ordered
 alphabetically
---
 .../wizards/letter/LetterWizardDialogImpl.java     |   45 ++++++++++++++------
 1 files changed, 32 insertions(+), 13 deletions(-)
diff --git a/wizards/com/sun/star/wizards/letter/LetterWizardDialogImpl.java 
b/wizards/com/sun/star/wizards/letter/LetterWizardDialogImpl.java
index 736233c..55a1a0e 100644
--- a/wizards/com/sun/star/wizards/letter/LetterWizardDialogImpl.java
+++ b/wizards/com/sun/star/wizards/letter/LetterWizardDialogImpl.java
@@ -27,6 +27,8 @@
  ************************************************************************/
 package com.sun.star.wizards.letter;
 
+import java.util.Collections;
+import java.util.Comparator;
 import java.util.Vector;
 import com.sun.star.lang.IllegalArgumentException;
 import com.sun.star.lang.WrappedTargetException;
@@ -65,6 +67,20 @@ import com.sun.star.wizards.common.Helper;
 public class LetterWizardDialogImpl extends LetterWizardDialog
 {
 
+    private class Strings
+    {
+       public String Norm;
+       public String NormPath;
+       public String LanguageLabel;
+
+       public Strings(String norm, String normPath, String languageLabel)
+       {
+           Norm = norm;
+           NormPath = normPath;
+           LanguageLabel = languageLabel;
+       }
+    }
+
     protected void enterStep(int OldStep, int NewStep)
     {
     }
@@ -1163,9 +1179,8 @@ public class LetterWizardDialogImpl extends LetterWizardDialog
             e.printStackTrace();
         }
 
-        Vector NormsVector = new Vector();
-        Vector NormsPathVector = new Vector();
-        Vector LanguageLabelsVector = new Vector();
+       Vector StringsVector = new Vector();
+
         String[] LanguageLabels;
 
         boolean found = false;
@@ -1202,21 +1217,25 @@ public class LetterWizardDialogImpl extends LetterWizardDialog
 
             if (found)
             {
-                NormsVector.add(cIsoCode);
-                NormsPathVector.add(nameList[i]);
-                LanguageLabelsVector.add(lc.getLanguageString(MSID));
+               StringsVector.add(new Strings(cIsoCode, (String)nameList[i], 
lc.getLanguageString(MSID)));
             }
         }
 
+       Collections.sort(StringsVector, new Comparator() {
+               public int compare(Object a, Object b) {
+                       return ((Strings)a).LanguageLabel.compareTo(((Strings)b).LanguageLabel);
+               }
+       });
 
-        Norms = new String[NormsVector.size()];
-        NormsVector.toArray(Norms);
-
-        NormPaths = new String[NormsPathVector.size()];
-        NormsPathVector.toArray(NormPaths);
+        Norms = new String[StringsVector.size()];
+        NormPaths = new String[StringsVector.size()];
+        LanguageLabels = new String[StringsVector.size()];
 
-        LanguageLabels = new String[LanguageLabelsVector.size()];
-        LanguageLabelsVector.toArray(LanguageLabels);
+       for(int i = 0; i<StringsVector.size(); i++) {
+               Norms[i] = ((Strings)StringsVector.elementAt(i)).Norm;
+               NormPaths[i] = ((Strings)StringsVector.elementAt(i)).NormPath;
+               LanguageLabels[i] = ((Strings)StringsVector.elementAt(i)).LanguageLabel;
+       }
 
         setControlProperty("lstLetterNorm", PropertyNames.STRING_ITEM_LIST, LanguageLabels);
     }
-- 
1.7.7
Context
- [PATCH] fdo#42396: Wizard dropdown does not sort alphabetically · Dézsi Szabolcs
 
   
 
  Privacy Policy |
  
Impressum (Legal Info) |
  
Copyright information: Unless otherwise specified, all text and images
  on this website are licensed under the
  
Creative Commons Attribution-Share Alike 3.0 License.
  This does not include the source code of LibreOffice, which is
  licensed under the Mozilla Public License (
MPLv2).
  "LibreOffice" and "The Document Foundation" are
  registered trademarks of their corresponding registered owners or are
  in actual use as trademarks in one or more countries. Their respective
  logos and icons are also subject to international copyright laws. Use
  thereof is explained in our 
trademark policy.