X-Git-Url: http://git.nikiroo.be/?p=jvcard.git;a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Fjvcard%2Ftui%2Fpanes%2FContactList.java;h=7bb15dc6a048bd5277216f88b14d752f00c78de2;hp=3a943f900610a75a56cec552be84eff1d7f4d5d0;hb=9c8baf0c360173b864683176c567757429c4fb12;hpb=fae07ea7af01c64ca1a858db75a615555318d5e2 diff --git a/src/be/nikiroo/jvcard/tui/panes/ContactList.java b/src/be/nikiroo/jvcard/tui/panes/ContactList.java index 3a943f9..7bb15dc 100644 --- a/src/be/nikiroo/jvcard/tui/panes/ContactList.java +++ b/src/be/nikiroo/jvcard/tui/panes/ContactList.java @@ -9,6 +9,8 @@ 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.Element; +import be.nikiroo.jvcard.tui.panes.MainContentList.TextPart; import com.googlecode.lanterna.input.KeyType; @@ -108,9 +110,31 @@ public class ContactList extends MainContentList { } @Override - protected String getLabel(int index, int width) { + protected List getLabel(int index, int width, boolean selected, + boolean focused) { + List parts = new LinkedList(); + + Element el = (focused && selected) ? Element.CONTACT_LINE_SELECTED + : Element.CONTACT_LINE; + Element elSep = (focused && selected) ? Element.CONTACT_LINE_SEPARATOR_SELECTED + : Element.CONTACT_LINE_SEPARATOR; + + // TODO: width/separator to check + String separator = " ┃ "; + width -= (format.split("\\|").length + 1) * separator.length(); + String[] array = card.getContacts().get(index).toStringArray(format, + width); + // we could use: " ", "┃", "│"... - return card.getContacts().get(index).toString(format, " ┃ ", width); + for (String str : array) { + parts.add(new TextPart(str, el)); + parts.add(new TextPart(separator, elSep)); + } + + if (parts.size() > 0) + parts.remove(parts.get(parts.size() - 1)); + + return parts; } private void switchFormat() {