Update nikiroo-utils, update Library
[nikiroo-utils.git] / src / be / nikiroo / fanfix / Main.java
index 06287f1236457860b833399274933202db9e7a55..5cd3313897317d7fb5a03c73c17557ff421ae890 100644 (file)
@@ -52,8 +52,8 @@ public class Main {
         * <li>--read-url [URL] ([chapter number]): convert on the fly and read the
         * story, without saving it</li>
         * <li>--list ([type]): list the stories present in the library</li>
-        * <li>--set-reader [reader type]: set the reader type to CLI or LOCAL for
-        * this command</li>
+        * <li>--set-reader [reader type]: set the reader type to CLI, TUI or LOCAL
+        * for this command</li>
         * <li>--version: get the version of the program</li>
         * </ul>
         * 
@@ -157,6 +157,7 @@ public class Main {
                                break;
                        case SET_READER:
                                exitCode = setReaderType(args[i]);
+                               action = MainAction.START;
                                break;
                        case START:
                                exitCode = 255; // not supposed to be selected by user
@@ -189,17 +190,38 @@ public class Main {
                Progress pg = new Progress();
                mainProgress.addProgress(pg, mainProgress.getMax());
 
+               VersionCheck updates = VersionCheck.check();
+               if (updates.isNewVersionAvailable()) {
+                       // Sent to syserr so not to cause problem if one tries to capture a
+                       // story content in text mode
+                       System.err
+                                       .println("A new version of the program is available at https://github.com/nikiroo/fanfix/releases");
+                       System.err.println("");
+                       for (Version v : updates.getNewer()) {
+                               System.err.println("\tVersion " + v);
+                               System.err.println("\t-------------");
+                               System.err.println("");
+                               for (String item : updates.getChanges().get(v)) {
+                                       System.err.println("\t- " + item);
+                               }
+                               System.err.println("");
+                       }
+               }
+
                if (exitCode != 255) {
                        switch (action) {
                        case IMPORT:
                                exitCode = imprt(urlString, pg);
+                               updates.ok(); // we consider it read
                                break;
                        case EXPORT:
                                exitCode = export(luid, typeString, target, pg);
+                               updates.ok(); // we consider it read
                                break;
                        case CONVERT:
                                exitCode = convert(urlString, typeString, target,
                                                plusInfo == null ? false : plusInfo, pg);
+                               updates.ok(); // we consider it read
                                break;
                        case LIST:
                                exitCode = list(typeString);
@@ -222,10 +244,10 @@ public class Main {
                                                                + "\nhttps://github.com/nikiroo/fanfix/"
                                                                + "\n\tWritten by Nikiroo",
                                                                Version.getCurrentVersion()));
+                               updates.ok(); // we consider it read
                                break;
                        case START:
-                               UIUtils.setLookAndFeel();
-                               BasicReader.setDefaultReaderType(ReaderType.LOCAL);
+                               //BasicReader.setDefaultReaderType(ReaderType.LOCAL);
                                BasicReader.getReader().start(null);
                                break;
                        }
@@ -301,7 +323,7 @@ public class Main {
         * List the stories of the given type from the {@link Library} (unless NULL
         * is passed, in which case all stories will be listed).
         * 
-        * @param typeString
+        * @param type
         *            the type to list the known stories of, or NULL to list all
         *            stories
         *