X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Fjvcard%2Ftui%2Fpanes%2FContactDetailsRaw.java;h=1347b0ee11698d94a18180142e28ea605c44b99c;hb=78e4af97505df331618f9c13dd5d98440d364764;hp=506eeff96f28481b2c5a9c0303ccde3e40e6ad83;hpb=296a0b75515b3a7424b98292c87cbbf2272b73f9;p=jvcard.git diff --git a/src/be/nikiroo/jvcard/tui/panes/ContactDetailsRaw.java b/src/be/nikiroo/jvcard/tui/panes/ContactDetailsRaw.java index 506eeff..1347b0e 100644 --- a/src/be/nikiroo/jvcard/tui/panes/ContactDetailsRaw.java +++ b/src/be/nikiroo/jvcard/tui/panes/ContactDetailsRaw.java @@ -3,19 +3,19 @@ package be.nikiroo.jvcard.tui.panes; import java.util.LinkedList; import java.util.List; -import com.googlecode.lanterna.input.KeyType; - import be.nikiroo.jvcard.Contact; import be.nikiroo.jvcard.Data; import be.nikiroo.jvcard.TypeInfo; import be.nikiroo.jvcard.i18n.Trans; 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.StringUtils; +import be.nikiroo.jvcard.tui.UiColors; import be.nikiroo.jvcard.tui.UiColors.Element; +import com.googlecode.lanterna.input.KeyType; + public class ContactDetailsRaw extends MainContentList { private Contact contact; private int mode; @@ -26,7 +26,7 @@ public class ContactDetailsRaw extends MainContentList { this.contact = contact; this.mode = 0; - for (int i = 0; i < contact.getContent().size(); i++) { + for (int i = 0; i < contact.size(); i++) { addItem("[detail line]"); } } @@ -44,7 +44,7 @@ public class ContactDetailsRaw extends MainContentList { Element elDirty = (focused && selected) ? Element.CONTACT_LINE_DIRTY_SELECTED : Element.CONTACT_LINE_DIRTY; - Data data = contact.getContent().get(index); + Data data = contact.get(index); List parts = new LinkedList(); if (data.isDirty()) { @@ -67,7 +67,8 @@ public class ContactDetailsRaw extends MainContentList { } break; case 1: - for (TypeInfo type : data.getTypes()) { + for (int indexType = 0; indexType < data.size(); indexType++) { + TypeInfo type = data.get(indexType); if (valueBuilder.length() > 1) valueBuilder.append(", "); valueBuilder.append(type.getName()); @@ -99,22 +100,49 @@ public class ContactDetailsRaw extends MainContentList { return DataType.DATA; } - @Override - public String getExitWarning() { - // TODO Auto-generated method stub - return null; - } - @Override public List getKeyBindings() { // TODO Auto-generated method stub List actions = new LinkedList(); // TODO: add, remove - actions.add(new KeyAction(Mode.EDIT_DETAIL, 'd', Trans.StringId.DUMMY) { + actions.add(new KeyAction(Mode.ASK_USER, KeyType.Enter, + Trans.StringId.DUMMY) { @Override public Object getObject() { - return contact.getContent().get(getSelectedIndex()); + return contact.get(getSelectedIndex()); + } + + @Override + public String getQuestion() { + Data data = getData(); + if (data != null) { + return data.getName(); + } + + return null; + } + + @Override + public String getDefaultAnswer() { + Data data = getData(); + if (data != null) { + return data.getValue(); + } + + return null; + } + + @Override + public String callback(String answer) { + Data data = getData(); + if (data != null) { + data.setValue(answer); + return null; + } + + // TODO: i18n + return "Cannot modify value"; } }); actions.add(new KeyAction(Mode.NONE, KeyType.Tab, @@ -132,11 +160,6 @@ public class ContactDetailsRaw extends MainContentList { return actions; } - @Override - public Mode getMode() { - return Mode.CONTACT_DETAILS; - } - @Override public String getTitle() { String title = null;