OSDN Git Service

Correct LaTeX images. Upgrade to 0.99
[neighbornote/NeighborNote.git] / src / cx / fbn / nevernote / Global.java
index d676199..daab703 100644 (file)
@@ -22,6 +22,11 @@ package cx.fbn.nevernote;
 \r
 //import java.io.ByteArrayOutputStream;\r
 \r
+import java.io.ByteArrayInputStream;\r
+import java.io.ByteArrayOutputStream;\r
+import java.io.IOException;\r
+import java.io.ObjectInputStream;\r
+import java.io.ObjectOutputStream;\r
 import java.io.PrintStream;\r
 import java.text.SimpleDateFormat;\r
 import java.util.ArrayList;\r
@@ -51,7 +56,8 @@ import cx.fbn.nevernote.utilities.ApplicationLogger;
 import cx.fbn.nevernote.utilities.Pair;\r
 \r
 public class Global {\r
-       public static String version = "0.96";\r
+       public static String version = "0.99";\r
+       public static String[] validVersions = {"0.99", "0.98", "0.97", "0.96"};\r
     public static String username = ""; \r
     public static String password = "";     \r
     \r
@@ -104,6 +110,7 @@ public class Global {
     public static int minimumWordCount = 2;\r
     private static String wordRegex;\r
     public static boolean enableCarriageReturnFix = false;\r
+    public static boolean enableHTMLEntitiesFix = false;\r
     \r
     public static String name = null;\r
     public static QSettings    settings;\r
@@ -115,6 +122,8 @@ public class Global {
        public static String attachmentNameDelimeter = "------";\r
        \r
        public static String    databaseName = new String("NeverNote");\r
+       public static String    indexDatabaseName = new String("Index");\r
+       public static String    resourceDatabaseName = new String("Resources");\r
        public static DateAttributeFilterTable createdSinceFilter;\r
        public static DateAttributeFilterTable createdBeforeFilter;\r
        public static DateAttributeFilterTable changedSinceFilter;\r
@@ -131,6 +140,7 @@ public class Global {
        public static boolean mimicEvernoteInterface;\r
        public static HashMap<String,String> resourceMap;\r
        public static String cipherPassword = "";\r
+       public static String databaseCache = "16384";\r
        \r
        static Calendar startTraceTime;\r
        static Calendar intervalTraceTime;\r
@@ -161,10 +171,13 @@ public class Global {
                        keepRunning = true;\r
                        disableUploads = disableUploads();\r
                        enableCarriageReturnFix = enableCarriageReturnFix();\r
+                       enableHTMLEntitiesFix = enableHtmlEntitiesFix();\r
                        logger = new ApplicationLogger("global.log");\r
                        shortcutKeys = new ShortcutKeys();\r
                        mimicEvernoteInterface = getMimicEvernoteInterface();\r
                        resourceMap = new HashMap<String,String>();\r
+                       \r
+                       databaseCache = getDatabaseCacheSize();\r
                                \r
     }\r
 \r
@@ -328,14 +341,14 @@ public class Global {
     public static boolean showTrayIcon() {\r
                settings.beginGroup("General");\r
                try {\r
-                       String max = (String) settings.value("showTrayIcon", "true");\r
+                       String max = (String) settings.value("showTrayIcon", "false");\r
                        settings.endGroup();\r
                        if (!max.equalsIgnoreCase("true"))\r
                                return false;\r
                        else\r
                                return true;    \r
                } catch (java.lang.ClassCastException e) {\r
-                       Boolean value = (Boolean) settings.value("showTrayIcon", true);\r
+                       Boolean value = (Boolean) settings.value("showTrayIcon", false);\r
                        settings.endGroup();\r
                        return value;\r
                }\r
@@ -883,6 +896,30 @@ public class Global {
                        settings.setValue("enableCarriageReturnFix", "false");\r
                settings.endGroup();\r
     }\r
+    public static boolean enableHtmlEntitiesFix() {\r
+       try {\r
+               settings.beginGroup("Debug");\r
+               String text = (String)settings.value("enableHtmlEntitiesFix", "false");\r
+               settings.endGroup();\r
+               if (text.equalsIgnoreCase("true"))\r
+                       return true;\r
+               else\r
+                       return false;\r
+               } catch (java.lang.ClassCastException e) {\r
+                       Boolean value = (Boolean) settings.value("enableHtmlEntitiesFix", false);\r
+                       settings.endGroup();\r
+                       return value;\r
+               }\r
+    }\r
+    public static void saveHtmlEntitiesFix(boolean val) {\r
+               settings.beginGroup("Debug");\r
+               if (val)\r
+                       settings.setValue("enableHtmlEntitiesFix", "true");\r
+               else\r
+                       settings.setValue("enableHtmlEntitiesFix", "false");\r
+               settings.endGroup();\r
+    }\r
+\r
     public static void setIndexThreads(int val) {\r
                settings.beginGroup("General");\r
                settings.setValue("indexThreads", val);\r
@@ -1014,6 +1051,22 @@ public class Global {
                        val = "jdbc:h2:"+Global.getFileManager().getDbDirPath(Global.databaseName);\r
                return val;\r
     }\r
+    public static String getIndexDatabaseUrl() {\r
+               settings.beginGroup("General");\r
+               String val  = (String)settings.value("DatabaseURL", "");\r
+               settings.endGroup();\r
+               if (val.equals(""))\r
+                       val = "jdbc:h2:"+Global.getFileManager().getDbDirPath(Global.indexDatabaseName);\r
+               return val;\r
+    }\r
+    public static String getResourceDatabaseUrl() {\r
+               settings.beginGroup("General");\r
+               String val  = (String)settings.value("DatabaseURL", "");\r
+               settings.endGroup();\r
+               if (val.equals(""))\r
+                       val = "jdbc:h2:"+Global.getFileManager().getDbDirPath(Global.resourceDatabaseName);\r
+               return val;\r
+    }\r
     public static void setDatabaseUrl(String value) {\r
                settings.beginGroup("General");\r
                settings.setValue("DatabaseURL", value);\r
@@ -1038,7 +1091,7 @@ public class Global {
     }\r
     public static String getStyle() {\r
                settings.beginGroup("General");\r
-               String val  = (String)settings.value("style", "");\r
+               String val  = (String)settings.value("style", "Cleanlooks");\r
                settings.endGroup();\r
                return val;\r
     }\r
@@ -1529,6 +1582,80 @@ public class Global {
                settings.endGroup();    \r
     }\r
 \r
+    //*******************\r
+    // Index attachments\r
+    //*******************\r
+    public static boolean anyTagSelectionMatch() {\r
+               settings.beginGroup("General");\r
+               try {\r
+                       String value = (String)settings.value("anyTagSelectionMatch", "false");\r
+                       settings.endGroup();\r
+                       if (value.equals("true"))\r
+                               return true;\r
+                       else\r
+                               return false;\r
+               } catch (java.lang.ClassCastException e) {\r
+                       Boolean value = (Boolean) settings.value("anyTagSelectionMatch", false);\r
+                       settings.endGroup();\r
+                       return value;\r
+               }\r
+    }\r
+    public static void setAnyTagSelectionMatch(boolean value) {\r
+               settings.beginGroup("General");\r
+               settings.setValue("anyTagSelectionMatch", value);\r
+               settings.endGroup();    \r
+    }\r
+\r
+    //***********************\r
+    //* Database cache size\r
+    //***********************\r
+    public static String getDatabaseCacheSize() {\r
+               settings.beginGroup("Debug");\r
+               String text = (String)settings.value("databaseCache", "16384");\r
+               settings.endGroup();    \r
+               return text;\r
+    }\r
+    public static void setDatabaseCache(String value) {\r
+               settings.beginGroup("Debug");\r
+               settings.setValue("databaseCache", value);\r
+               settings.endGroup();    \r
+               databaseCache = value;\r
+    }\r
+\r
+    \r
+    \r
+    public static Object deepCopy(Object oldObj) \r
+    {\r
+       ObjectOutputStream oos = null;\r
+       ObjectInputStream ois = null;\r
+       try\r
+       {\r
+          ByteArrayOutputStream bos = \r
+                new ByteArrayOutputStream(); // A\r
+          oos = new ObjectOutputStream(bos); // B\r
+          // serialize and pass the object\r
+          oos.writeObject(oldObj);   // C\r
+          oos.flush();               // D\r
+          ByteArrayInputStream bin = \r
+                new ByteArrayInputStream(bos.toByteArray()); // E\r
+          ois = new ObjectInputStream(bin);                  // F\r
+          // return the new object\r
+          return ois.readObject(); // G\r
+       }\r
+       catch(Exception e)\r
+       {\r
+          Global.logger.log(logger.LOW, "Exception in ObjectCloner = " + e);\r
+       }\r
+          try {\r
+                       oos.close();\r
+               ois.close();\r
+               } catch (IOException e) {\r
+                       Global.logger.log(logger.LOW, "Exception in ObjectCloner = " + e);\r
+                       e.printStackTrace();\r
+               }\r
+\r
+               return null;\r
+    }\r
 \r
 }\r
 \r