X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Fjvcard%2Ftui%2Fpanes%2FContactList.java;h=3cec44e0dafcd989e8ac472c562ec023e7ba8b93;hb=176a83279a5aafb7e44cc7c34bf78f0bc35225fe;hp=bbd1f77a73f267d286d5ec93165161511e3ab066;hpb=78e4af97505df331618f9c13dd5d98440d364764;p=jvcard.git diff --git a/src/be/nikiroo/jvcard/tui/panes/ContactList.java b/src/be/nikiroo/jvcard/tui/panes/ContactList.java index bbd1f77..3cec44e 100644 --- a/src/be/nikiroo/jvcard/tui/panes/ContactList.java +++ b/src/be/nikiroo/jvcard/tui/panes/ContactList.java @@ -6,11 +6,13 @@ import java.util.List; import be.nikiroo.jvcard.Card; import be.nikiroo.jvcard.Contact; +import be.nikiroo.jvcard.Data; 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; import be.nikiroo.jvcard.tui.KeyAction.Mode; +import be.nikiroo.jvcard.tui.UiColors; import be.nikiroo.jvcard.tui.UiColors.Element; import com.googlecode.lanterna.input.KeyType; @@ -20,17 +22,18 @@ public class ContactList extends MainContentList { private List contacts; private String filter; - private List formats = new LinkedList(); - private int selectedFormat = -1; - private String format = ""; + private List formats; + private int selectedFormat; + private String format; public ContactList(Card card) { - super(UiColors.Element.CONTACT_LINE, - UiColors.Element.CONTACT_LINE_SELECTED); + formats = new LinkedList(); + 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); @@ -56,7 +59,7 @@ public class ContactList extends MainContentList { if (filter == null || c.toString(format).toLowerCase() .contains(filter.toLowerCase())) { - addItem("[contact line]"); + addItem("x"); contacts.add(c); } } @@ -89,12 +92,29 @@ public class ContactList extends MainContentList { public List getKeyBindings() { List actions = new LinkedList(); - // TODO add - actions.add(new KeyAction(Mode.CONTACT_DETAILS_RAW, 'e', - Trans.StringId.KEY_ACTION_EDIT_CONTACT) { + // TODO ui + actions.add(new KeyAction(Mode.ASK_USER, 'a', Trans.StringId.DUMMY) { @Override public Object getObject() { - return getSelectedContact(); + return card; + } + + @Override + public String getQuestion() { + // TODO i18n + return "new contact name: "; + } + + @Override + public String callback(String answer) { + if (answer.length() > 0) { + List datas = new LinkedList(); + datas.add(new Data(null, "FN", answer, null)); + getCard().add(new Contact(datas)); + addItem("x"); + } + + return null; } }); actions.add(new KeyAction(Mode.ASK_USER_KEY, 'd', @@ -115,6 +135,7 @@ public class ContactList extends MainContentList { if (answer.equalsIgnoreCase("y")) { Contact contact = getSelectedContact(); if (contact != null && contact.delete()) { + removeItem("x"); return null; }