The format(s) of the contacts list is now exported to display.properties
[jvcard.git] / src / be / nikiroo / jvcard / tui / panes / ContactList.java
index 078d38e89438a038c33d92513a34b5b4d521f6ae..6287a69997caf3bcee592ca394b738c83aff70f0 100644 (file)
@@ -7,6 +7,7 @@ import java.util.List;
 import be.nikiroo.jvcard.Card;
 import be.nikiroo.jvcard.Contact;
 import be.nikiroo.jvcard.i18n.Trans;
+import be.nikiroo.jvcard.resources.Bundles;
 import be.nikiroo.jvcard.tui.KeyAction;
 import be.nikiroo.jvcard.tui.UiColors;
 import be.nikiroo.jvcard.tui.KeyAction.DataType;
@@ -20,17 +21,18 @@ public class ContactList extends MainContentList {
        private List<Contact> contacts;
        private String filter;
 
-       private List<String> formats = new LinkedList<String>();
-       private int selectedFormat = -1;
-       private String format = "";
+       private List<String> formats;
+       private int selectedFormat;
+       private String format;
 
        public ContactList(Card card) {
-               super(UiColors.Element.CONTACT_LINE,
-                               UiColors.Element.CONTACT_LINE_SELECTED);
+               formats = new LinkedList<String>();
+               for (String format : Bundles.getBundle("display")
+                               .getString("CONTACT_LIST_FORMAT").split(",")) {
+                       formats.add(format);
+               }
 
-               // TODO: should get that in an INI file
-               formats.add("NICKNAME@3|FN@+|EMAIL@30");
-               formats.add("FN@+|EMAIL@40");
+               selectedFormat = -1;
                switchFormat();
 
                setCard(card);
@@ -51,8 +53,8 @@ public class ContactList extends MainContentList {
                this.contacts = new LinkedList<Contact>();
 
                if (card != null) {
-                       for (int i = 0; i < card.getContacts().size(); i++) {
-                               Contact c = card.getContacts().get(i);
+                       for (int i = 0; i < card.size(); i++) {
+                               Contact c = card.get(i);
                                if (filter == null
                                                || c.toString(format).toLowerCase()
                                                                .contains(filter.toLowerCase())) {