New launcher class to start all 3 modes:
[jvcard.git] / src / be / nikiroo / jvcard / tui / panes / FileList.java
index a59311b86819b1a7983eefb25539d037ac12abf3..e7632e02344514fa4ecdb8a29dc89b77d6b7f75f 100644 (file)
@@ -1,28 +1,26 @@
 package be.nikiroo.jvcard.tui.panes;
 
-import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;
 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.launcher.Main;
+import be.nikiroo.jvcard.resources.StringUtils;
+import be.nikiroo.jvcard.resources.Trans;
 import be.nikiroo.jvcard.tui.KeyAction;
 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 FileList extends MainContentList {
-       private List<File> files;
+       private List<String> files;
        private List<Card> cards;
 
-       public FileList(List<File> files) {
+       public FileList(List<String> files) {
                setFiles(files);
        }
 
@@ -32,13 +30,13 @@ public class FileList extends MainContentList {
         * @param files
         *            the new files
         */
-       public void setFiles(List<File> files) {
+       public void setFiles(List<String> files) {
                clearItems();
                this.files = files;
                cards = new ArrayList<Card>();
 
-               for (File file : files) {
-                       addItem(file.getName());
+               for (String file : files) {
+                       addItem(file); // TODO
                        cards.add(null);
                }
 
@@ -67,9 +65,13 @@ public class FileList extends MainContentList {
                if (cards.get(index) != null)
                        count += cards.get(index).size();
 
-               String name = files.get(index).getName();
+               String name = files.get(index).replaceAll("\\\\", "/");
+               int indexSl = name.lastIndexOf('/');
+               if (indexSl >= 0) {
+                       name = name.substring(indexSl + 1);
+               }
 
-               name = StringUtils.sanitize(name, UiColors.getInstance().isUnicode());
+               name = StringUtils.sanitize(name, Main.isUnicode());
 
                count = " " + StringUtils.padString(count, SIZE_COL_1) + " ";
                name = " "
@@ -100,18 +102,10 @@ public class FileList extends MainContentList {
                                if (cards.get(index) != null)
                                        return cards.get(index);
 
-                               File file = files.get(index);
-                               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;
-                                       }
-                               }
+                               String file = files.get(index);
+
                                try {
-                                       Card card = new Card(file, format);
+                                       Card card = Main.getCard(file);
                                        cards.set(index, card);
 
                                        invalidate();