import java.io.File;
import java.io.IOException;
+import java.lang.reflect.Field;
+import java.nio.charset.Charset;
import java.util.LinkedList;
import java.util.List;
import be.nikiroo.jvcard.i18n.Trans.StringId;
import be.nikiroo.jvcard.tui.panes.FileList;
-import com.googlecode.lanterna.TextColor;
-import com.googlecode.lanterna.gui2.BasicWindow;
-import com.googlecode.lanterna.gui2.DefaultWindowManager;
-import com.googlecode.lanterna.gui2.EmptySpace;
-import com.googlecode.lanterna.gui2.MultiWindowTextGUI;
import com.googlecode.lanterna.gui2.Window;
-import com.googlecode.lanterna.gui2.table.Table;
import com.googlecode.lanterna.input.KeyStroke;
-import com.googlecode.lanterna.screen.Screen;
-import com.googlecode.lanterna.screen.TerminalScreen;
-import com.googlecode.lanterna.terminal.DefaultTerminalFactory;
-import com.googlecode.lanterna.terminal.Terminal;
/**
* This class contains the runnable Main method. It will parse the user supplied
*/
public class Main {
public static final String APPLICATION_TITLE = "jVcard";
- public static final String APPLICATION_VERSION = "1.0-beta1-dev";
+ public static final String APPLICATION_VERSION = "1.0-beta2";
static private Trans transService;
* @return the translation
*/
static public String trans(StringId id) {
-
if (transService == null)
return "";
+ "\t--tui: force pure text mode even if swing treminal is available\n"
+ "\t--gui: force swing terminal mode\n"
+ "\t--noutf: force non-utf8 mode if you need it\n"
- + "\t--noutfa: force non-utf8 and no accents mode if you need it\n"
+ "everyhing else is either a file to open or a directory to open\n"
+ "(we will only open 1st level files in given directories)");
return;
}
}
+ if (UiColors.getInstance().isUnicode()) {
+ utf8();
+ }
+
if (files.size() == 0) {
if (filesTried) {
System.exit(1);
return files;
}
- static private void fullTestTable() throws IOException {
- final Table<String> table = new Table<String>("Column 1", "Column 2",
- "Column 3");
- table.getTableModel().addRow("1", "2", "3");
- table.setSelectAction(new Runnable() {
- @Override
- public void run() {
- List<String> data = table.getTableModel().getRow(
- table.getSelectedRow());
- for (int i = 0; i < data.size(); i++) {
- System.out.println(data.get(i));
- }
- }
- });
-
- Window win = new BasicWindow();
- win.setComponent(table);
-
- DefaultTerminalFactory factory = new DefaultTerminalFactory();
- Terminal terminal = factory.createTerminal();
-
- Screen screen = new TerminalScreen(terminal);
- screen.startScreen();
-
- // Create gui and start gui
- MultiWindowTextGUI gui = new MultiWindowTextGUI(screen,
- new DefaultWindowManager(), new EmptySpace(TextColor.ANSI.BLUE));
- gui.addWindowAndWait(win);
-
- screen.stopScreen();
+ /**
+ * Really, really ask for UTF-8 encoding.
+ */
+ static private void utf8() {
+ try {
+ System.setProperty("file.encoding", "UTF-8");
+ Field charset = Charset.class.getDeclaredField("defaultCharset");
+ charset.setAccessible(true);
+ charset.set(null, null);
+ } catch (SecurityException | NoSuchFieldException
+ | IllegalArgumentException | IllegalAccessException e) {
+ }
}
}