X-Git-Url: http://git.nikiroo.be/?p=jvcard.git;a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Fjvcard%2Ftui%2Fpanes%2FFileList.java;h=79f530e0604f38318d6b3283ce1dc75ce9530f88;hp=993007066ff75da71552bbc403c0a3280910e069;hb=9c8baf0c360173b864683176c567757429c4fb12;hpb=fae07ea7af01c64ca1a858db75a615555318d5e2 diff --git a/src/be/nikiroo/jvcard/tui/panes/FileList.java b/src/be/nikiroo/jvcard/tui/panes/FileList.java index 9930070..79f530e 100644 --- a/src/be/nikiroo/jvcard/tui/panes/FileList.java +++ b/src/be/nikiroo/jvcard/tui/panes/FileList.java @@ -1,14 +1,19 @@ package be.nikiroo.jvcard.tui.panes; import java.io.File; +import java.io.IOException; +import java.util.LinkedList; import java.util.List; +import be.nikiroo.jvcard.Card; +import be.nikiroo.jvcard.i18n.Trans; +import be.nikiroo.jvcard.parsers.Format; 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 com.googlecode.lanterna.gui2.Label; +import com.googlecode.lanterna.input.KeyType; public class FileList extends MainContentList { private List files; @@ -51,8 +56,33 @@ public class FileList extends MainContentList { @Override public List getKeyBindings() { - // TODO Auto-generated method stub - return null; + List actions = new LinkedList(); + + // TODO del, save... + actions.add(new KeyAction(Mode.CONTACT_LIST, KeyType.Enter, + Trans.StringId.KEY_ACTION_VIEW_CARD) { + @Override + public Object getObject() { + File file = files.get(getSelectedIndex()); + Format format = Format.Abook; + String ext = file.getName(); + if (ext.contains(".")) { + String tab[] = ext.split("\\."); + if (tab.length > 1 + && tab[tab.length - 1].equalsIgnoreCase("vcf")) { + format = Format.VCard21; + } + } + try { + return new Card(file, format); + } catch (IOException ioe) { + ioe.printStackTrace(); + return null; + } + } + }); + + return actions; } @Override