OSDN Git Service

Add automatic wildcard option.
[neighbornote/NeighborNote.git] / src / cx / fbn / nevernote / Global.java
index 0665fab..a6646c0 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
- * This file is part of NeverNote \r
+ * This file is part of NixNote \r
  * Copyright 2009 Randy Baumgarte\r
  * \r
  * This file may be licensed under the terms of of the\r
@@ -31,7 +31,7 @@ import java.util.Calendar;
 import java.util.HashMap;\r
 import java.util.List;\r
 \r
-import org.apache.commons.lang.StringEscapeUtils;\r
+import org.apache.commons.lang3.StringEscapeUtils;\r
 \r
 import com.evernote.edam.type.Accounting;\r
 import com.evernote.edam.type.PrivilegeLevel;\r
@@ -62,8 +62,8 @@ import cx.fbn.nevernote.utilities.Pair;
 \r
 public class Global {\r
        // Set current version and the known versions.\r
-       public static String version = "0.99";\r
-       public static String[] validVersions = {"0.99", "0.98", "0.97", "0.96"};\r
+       public static String version = "1.0.4";\r
+       public static String[] validVersions = {"1.0", "0.99", "0.98", "0.97", "0.96"};\r
     public static String username = ""; \r
     public static String password = "";     \r
     \r
@@ -126,7 +126,8 @@ public class Global {
     public static int noteTableSubjectDatePosition = 8;\r
     public static int noteTableSynchronizedPosition = 9;\r
     public static int noteTableThumbnailPosition = 10;\r
-    public static int noteTableColumnCount = 11;\r
+    public static int noteTablePinnedPosition = 11;\r
+    public static int noteTableColumnCount = 12;\r
     public static Integer cryptCounter = 0;\r
     \r
     //public static int minimumWordCount = 2;\r
@@ -138,8 +139,6 @@ public class Global {
     public static boolean enableCarriageReturnFix = false;\r
     public static boolean enableHTMLEntitiesFix = false;\r
     \r
-    //public static String name = null;   \r
-    \r
     // Used to set & retrieve ini & Windows registry settings\r
     public static QSettings    settings;     // Set & get ini settings\r
     public static boolean isConnected;    // Are we connected to Evernote\r
@@ -273,21 +272,37 @@ public class Global {
     public static User getUserInformation() {\r
        User user = new User();\r
        settings.beginGroup("User");\r
-       user.setId((Integer)settings.value("id", 0));\r
+       try {   \r
+               user.setId((Integer)settings.value("id", 0));                   \r
+       } catch  (java.lang.ClassCastException e) {\r
+               user.setId(new Integer((String)settings.value("id", "0")));\r
+       }\r
                String username = (String)settings.value("username", "");\r
                String email = (String)settings.value("email", "");\r
                String name = (String)settings.value("name", "");\r
                String timezone = (String)settings.value("timezone", "");\r
-               Integer privilege = (Integer)settings.value("privilege", "");\r
-\r
-               String date = (String)settings.value("created", "0");\r
-               user.setCreated(new Long(date));\r
+               Integer privilege = 0;\r
+               try {   \r
+                       privilege = new Integer((String)settings.value("privilege", "0"));                      \r
+               } catch (java.lang.ClassCastException e) {\r
+                       privilege = (Integer)settings.value("privilege", 0);\r
+               }\r
 \r
-               date = (String)settings.value("updated", "0");\r
-               user.setUpdated(new Long(date));\r
-               \r
-               date = (String)settings.value("deleted", "0");\r
-               user.setDeleted(new Long(date));\r
+               try {   \r
+                       String date = (String)settings.value("created", "0");\r
+                       user.setCreated(new Long(date));\r
+                       date = (String)settings.value("updated", "0");\r
+                       user.setUpdated(new Long(date));\r
+                       date = (String)settings.value("deleted", "0");\r
+                       user.setDeleted(new Long(date));\r
+               } catch (java.lang.ClassCastException e) {\r
+                       Long date = (Long)settings.value("created", 0);\r
+                       user.setCreated(date);\r
+                       date = (Long)settings.value("updated", 0);\r
+                       user.setUpdated(date);\r
+                       date = (Long)settings.value("deleted", 0);\r
+                       user.setDeleted(date);\r
+               }\r
 \r
                String shard = (String)settings.value("shard", "");\r
        settings.endGroup();\r
@@ -737,6 +752,7 @@ public class Global {
                settings.beginGroup("Debug");\r
                String text = (String)settings.value("messageLevel", "Low");\r
                settings.endGroup();\r
+               setMessageLevel(text);\r
                return text;\r
     }\r
     public static void setDateFormat(String format) {\r
@@ -1205,7 +1221,7 @@ public class Global {
     // get the url (full path) of the searchable word database\r
     public static String getIndexDatabaseUrl() {\r
                settings.beginGroup("General");\r
-               String val  = (String)settings.value("DatabaseURL", "");\r
+               String val  = (String)settings.value("IndexDatabaseURL", "");\r
                settings.endGroup();\r
                if (val.equals(""))\r
                        val = "jdbc:h2:"+Global.getFileManager().getDbDirPath(Global.indexDatabaseName);\r
@@ -1215,7 +1231,7 @@ public class Global {
     // Get the url (full path) of the attachment database\r
     public static String getResourceDatabaseUrl() {\r
                settings.beginGroup("General");\r
-               String val  = (String)settings.value("DatabaseURL", "");\r
+               String val  = (String)settings.value("ResourceDatabaseURL", "");\r
                settings.endGroup();\r
                if (val.equals(""))\r
                        val = "jdbc:h2:"+Global.getFileManager().getDbDirPath(Global.resourceDatabaseName);\r
@@ -1226,6 +1242,16 @@ public class Global {
                settings.setValue("DatabaseURL", value);\r
                settings.endGroup();\r
     }\r
+    public static void setIndexDatabaseUrl(String value) {\r
+               settings.beginGroup("General");\r
+               settings.setValue("IndexDatabaseURL", value);\r
+               settings.endGroup();\r
+    }\r
+    public static void setResourceDatabaseUrl(String value) {\r
+               settings.beginGroup("General");\r
+               settings.setValue("ResourceDatabaseURL", value);\r
+               settings.endGroup();\r
+    }\r
     public static String getDatabaseUserid() {\r
                settings.beginGroup("General");\r
                String val  = (String)settings.value("databaseUserid", "");\r
@@ -1579,7 +1605,7 @@ public class Global {
        int zoom = 1;\r
                if (content.indexOf("application/pdf") == -1) {\r
                        if (content.indexOf("image/") == -1) {\r
-                               String text =  StringEscapeUtils.unescapeHtml(content.replaceAll("\\<.*?\\>", ""));\r
+                               String text =  StringEscapeUtils.unescapeHtml4(content.replaceAll("\\<.*?\\>", ""));\r
                                zoom = 2;\r
                                if (text.length() < 500) \r
                                        zoom = 2;\r
@@ -1860,7 +1886,8 @@ public class Global {
     }\r
 \r
     //*****************************************************************************\r
-    // Control how tag selection behaves (should they be "and" or "or" selections\r
+    // Control if a user receives a warning when trying to create a note-to-note link\r
+    // when the DB is not synchronized.\r
     //*****************************************************************************\r
     public static boolean bypassSynchronizationWarning() {\r
                settings.beginGroup("User");\r
@@ -1935,5 +1962,51 @@ public class Global {
                return null;\r
     }\r
 \r
+    // If we should automatically select the children of any tag\r
+    public static boolean includeTagChildren() {\r
+               settings.beginGroup("General");\r
+               try {\r
+                       String value = (String)settings.value("includeTagChildren", "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("includeTagChildren", false);\r
+                       settings.endGroup();\r
+                       return value;\r
+               }\r
+\r
+    }\r
+    public static void setIncludeTagChildren(boolean value) {\r
+               settings.beginGroup("General");\r
+               settings.setValue("includeTagChildren", value);\r
+               settings.endGroup();    \r
+    }\r
+    \r
+    // If we should automatically wildcard searches\r
+    public static boolean automaticWildcardSearches() {\r
+               settings.beginGroup("General");\r
+               try {\r
+                       String value = (String)settings.value("automaticWildcard", "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("automaticWildcard", false);\r
+                       settings.endGroup();\r
+                       return value;\r
+               }\r
+\r
+    }\r
+    public static void setAutomaticWildcardSearches(boolean value) {\r
+               settings.beginGroup("General");\r
+               settings.setValue("automaticWildcard", value);\r
+               settings.endGroup();    \r
+    }\r
+\r
 }\r
 \r