OSDN Git Service

Set to version 0.97
[neighbornote/NeighborNote.git] / src / cx / fbn / nevernote / Global.java
index c7b2abe..ded5f8a 100644 (file)
@@ -51,7 +51,8 @@ import cx.fbn.nevernote.utilities.ApplicationLogger;
 import cx.fbn.nevernote.utilities.Pair;\r
 \r
 public class Global {\r
-       public static String version = "0.95";\r
+       public static String version = "0.97";\r
+       public static String[] validVersions = {"0.97", "0.96"};\r
     public static String username = ""; \r
     public static String password = "";     \r
     \r
@@ -115,6 +116,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 +134,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
@@ -165,6 +169,8 @@ public class Global {
                        shortcutKeys = new ShortcutKeys();\r
                        mimicEvernoteInterface = getMimicEvernoteInterface();\r
                        resourceMap = new HashMap<String,String>();\r
+                       \r
+                       databaseCache = getDatabaseCacheSize();\r
                                \r
     }\r
 \r
@@ -327,11 +333,18 @@ public class Global {
     }\r
     public static boolean showTrayIcon() {\r
                settings.beginGroup("General");\r
-               String max = (String) settings.value("showTrayIcon", "true");\r
-               settings.endGroup();\r
-               if (!max.equalsIgnoreCase("true"))\r
-                       return false;\r
-               return true;    \r
+               try {\r
+                       String max = (String) settings.value("showTrayIcon", "true");\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
+                       settings.endGroup();\r
+                       return value;\r
+               }\r
     }\r
     public static void setShowTrayIcon(boolean val) {\r
                settings.beginGroup("General");\r
@@ -342,12 +355,18 @@ public class Global {
                settings.endGroup();\r
     }\r
     public static boolean wasWindowMaximized() {\r
-               settings.beginGroup("General");\r
-               String max = (String) settings.value("isMaximized", "true");\r
-               settings.endGroup();\r
-               if (!max.equalsIgnoreCase("true"))\r
-                       return false;\r
-               return true;    \r
+       try {\r
+                       settings.beginGroup("General");\r
+                       String max = (String) settings.value("isMaximized", "true");\r
+                       settings.endGroup();\r
+                       if (!max.equalsIgnoreCase("true"))\r
+                               return false;\r
+                       return true;    \r
+               } catch (java.lang.ClassCastException e) {\r
+                       Boolean value = (Boolean) settings.value("isMaximized", true);\r
+                       settings.endGroup();\r
+                       return value;\r
+               }\r
     }\r
     public static void saveWindowMaximized(boolean isMax) {\r
                settings.beginGroup("General");\r
@@ -372,8 +391,9 @@ public class Global {
                settings.endGroup();\r
     }\r
     public static void setSortColumn(int i) {\r
+       int view = Global.getListView();\r
                settings.beginGroup("General");\r
-       if (Global.getListView() == Global.View_List_Wide)\r
+       if (view == Global.View_List_Wide)\r
                settings.setValue("sortColumn", i);\r
        else\r
                settings.setValue("sortColumn-Narrow", i);\r
@@ -403,19 +423,30 @@ public class Global {
        return order;\r
     }\r
     public static void setSortOrder(int i) {\r
+       int view = Global.getListView();\r
                settings.beginGroup("General");\r
-               settings.setValue("sortOrder", i);\r
+       if (view == Global.View_List_Wide)\r
+               settings.setValue("sortOrder", i);\r
+       else\r
+               settings.setValue("sortOrder-Narrow", i);\r
                settings.endGroup();\r
     }\r
     public static int getSortOrder() {\r
+       int view = Global.getListView();\r
                settings.beginGroup("General");\r
+               String key;\r
+       if (view == Global.View_List_Wide)\r
+               key = "sortOrder";\r
+               else\r
+                       key = "sortOrder-Narrow";\r
+\r
                int order;      \r
                try {\r
-                       String val  = settings.value("sortOrder", new Integer(0)).toString();\r
+                       String val  = settings.value(key, new Integer(0)).toString();\r
                        order = new Integer(val.trim());\r
                } catch (Exception e) {\r
                        try {\r
-                               order = (Integer)settings.value("sortOrder", 0);\r
+                               order = (Integer)settings.value(key, 0);\r
                        } catch (Exception e1) {\r
                            order = 0;\r
                        }\r
@@ -425,13 +456,19 @@ public class Global {
                return order;\r
     }\r
     public static boolean automaticLogin() {\r
-               settings.beginGroup("General");\r
-               String text = (String)settings.value("automaticLogin", "false");\r
-               settings.endGroup();\r
-               if (text.equalsIgnoreCase("true"))\r
-                       return true;\r
-               else\r
-                       return false;           \r
+       try {\r
+               settings.beginGroup("General");\r
+               String text = (String)settings.value("automaticLogin", "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("automaticLogin", false);\r
+               settings.endGroup();\r
+               return value;\r
+       }\r
     }\r
     public static void setAutomaticLogin(boolean val) {\r
                settings.beginGroup("General");\r
@@ -442,13 +479,19 @@ public class Global {
                settings.endGroup();\r
     }\r
     public static boolean rememberPassword() {\r
-               settings.beginGroup("General");\r
-               String text = (String)settings.value("rememberPassword", "false");\r
-               settings.endGroup();\r
-               if (text.equalsIgnoreCase("true"))\r
-                       return true;\r
-               else\r
-                       return false;           \r
+       try {\r
+                       settings.beginGroup("General");\r
+                       String text = (String)settings.value("rememberPassword", "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("rememberPassword", false);\r
+                       settings.endGroup();\r
+                       return value;\r
+               }\r
     }\r
     public static void setRememberPassword(boolean val) {\r
                settings.beginGroup("General");\r
@@ -481,13 +524,19 @@ public class Global {
                return text;\r
     }\r
     public static boolean disableUploads() {\r
-               settings.beginGroup("General");\r
-               String text = (String)settings.value("disableUploads", "false");\r
-               settings.endGroup();\r
-               if (text.equalsIgnoreCase("true"))\r
-                       return true;\r
-               else\r
-                       return false;\r
+       settings.beginGroup("General");\r
+       try {\r
+               String text = (String)settings.value("disableUploads", "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("disableUploads", false);\r
+                       settings.endGroup();\r
+                       return value;\r
+               }\r
     }\r
     public static void setDisableUploads(boolean val) {\r
                settings.beginGroup("General");\r
@@ -500,12 +549,18 @@ public class Global {
     }\r
     public static boolean pdfPreview() {\r
                settings.beginGroup("General");\r
-               String text = (String)settings.value("pdfPreview", "true");\r
-               settings.endGroup();\r
-               if (text.equalsIgnoreCase("true"))\r
-                       return true;\r
-               else\r
-                       return false;\r
+               try {\r
+                       String text = (String)settings.value("pdfPreview", "true");\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("pdfPreview", true);\r
+                       settings.endGroup();\r
+                       return value;\r
+               }\r
     }\r
     public static void setPdfPreview(boolean val) {\r
                settings.beginGroup("General");\r
@@ -517,12 +572,18 @@ public class Global {
     }\r
     public static boolean newNoteWithSelectedTags() {\r
                settings.beginGroup("General");\r
-               String text = (String)settings.value("newNoteWithSelectedTags", "false");\r
-               settings.endGroup();\r
-               if (text.equalsIgnoreCase("true"))\r
-                       return true;\r
-               else\r
-                       return false;\r
+               try {\r
+                       String text = (String)settings.value("newNoteWithSelectedTags", "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("newNoteWithSelectedTags", false);\r
+                       settings.endGroup();\r
+                       return value;\r
+               }\r
     }\r
     public static void setNewNoteWithSelectedTags(boolean val) {\r
                settings.beginGroup("General");\r
@@ -532,28 +593,6 @@ public class Global {
                        settings.setValue("newNoteWithSelectedTags", "false");\r
                settings.endGroup();\r
     }\r
-    public static void setMinimumWordLength(int len) {\r
-               settings.beginGroup("General");\r
-               settings.setValue("minimumWordLength", len);\r
-               settings.endGroup();            \r
-    }\r
-    public static int getMinimumWordLength() {\r
-               settings.beginGroup("General");\r
-               Integer len = 4;\r
-               try {\r
-                       String val  = (String)settings.value("minimumWordLength", "4");\r
-                       len = new Integer(val);\r
-               } catch (Exception e) {\r
-                       try {\r
-                               len = (Integer)settings.value("minimumWordLength", 4);\r
-                       } catch (Exception e1) {\r
-                               len = 4;\r
-                       }\r
-               }\r
-               settings.endGroup();\r
-               return len;\r
-               \r
-    }\r
     public static void setRecognitionWeight(int len) {\r
                settings.beginGroup("General");\r
                settings.setValue("recognitionWeight", len);\r
@@ -666,12 +705,18 @@ public class Global {
     }\r
     public static boolean verifyDelete() {\r
                settings.beginGroup("General");\r
-               String text = (String)settings.value("verifyDelete", "true");\r
-               settings.endGroup();\r
-               if (text.equalsIgnoreCase("true"))\r
-                       return true;\r
-               else\r
-                       return false;           \r
+               try {\r
+                       String text = (String)settings.value("verifyDelete", "true");\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("verifyDelete", true);\r
+                       settings.endGroup();\r
+                       return value;\r
+               }\r
     }\r
     public static void setVerifyDelete(boolean val) {\r
                settings.beginGroup("General");\r
@@ -683,12 +728,18 @@ public class Global {
     }\r
     public static boolean startMinimized() {\r
                settings.beginGroup("General");\r
-               String text = (String)settings.value("startMinimized", "false");\r
-               settings.endGroup();\r
-               if (text.equalsIgnoreCase("true"))\r
-                       return true;\r
-               else\r
-                       return false;           \r
+               try {\r
+                       String text = (String)settings.value("startMinimized", "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("startMinimized", false);\r
+                       settings.endGroup();\r
+                       return value;\r
+               }\r
     }\r
     public static void setStartMinimized(boolean val) {\r
                settings.beginGroup("General");\r
@@ -700,13 +751,19 @@ public class Global {
     }\r
     public static boolean synchronizeDeletedContent() {\r
                settings.beginGroup("General");\r
-               String text = (String)settings.value("syncDeletedContent", "false");\r
-               settings.endGroup();\r
-               if (text.equalsIgnoreCase("true"))\r
-                       return true;\r
-               else\r
-                       return false;           \r
-    }\r
+               try {\r
+                       String text = (String)settings.value("syncDeletedContent", "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("syncDeletedContent", false);\r
+                       settings.endGroup();\r
+                       return value;\r
+               }\r
+    }  \r
     public static void setSynchronizeDeletedContent(boolean val) {\r
                settings.beginGroup("General");\r
                if (val)\r
@@ -717,15 +774,24 @@ public class Global {
     }\r
     public static boolean isWindowVisible(String window) {\r
                settings.beginGroup("WindowsVisible");\r
-               String defaultValue = "true";\r
-               if (window.equalsIgnoreCase("noteInformation"))\r
-                       defaultValue = "false";\r
-               String text = (String)settings.value(window, defaultValue);\r
-               settings.endGroup();\r
-               if (text.equalsIgnoreCase("true"))\r
-                       return true;\r
+               try {\r
+                       String defaultValue = "true";\r
+                       if (window.equalsIgnoreCase("noteInformation"))\r
+                               defaultValue = "false";\r
+                       String text = (String)settings.value(window, defaultValue);\r
+                       settings.endGroup();\r
+                       if (text.equalsIgnoreCase("true"))\r
+                               return true;\r
                else\r
                        return false;           \r
+               } catch (java.lang.ClassCastException e) {\r
+                       boolean defaultValue = true;\r
+                       if (window.equalsIgnoreCase("noteInformation"))\r
+                               defaultValue = false;\r
+                       Boolean value = (Boolean) settings.value("showTrayIcon", defaultValue);\r
+                       settings.endGroup();\r
+                       return value;\r
+               }\r
     }\r
     public static void saveWindowVisible(String window, boolean val) {\r
                settings.beginGroup("WindowsVisible");\r
@@ -742,22 +808,29 @@ public class Global {
                settings.beginGroup("ColumnsVisible");\r
        else\r
                settings.beginGroup("ColumnsVisible-Narrow"); \r
-//             if (view == Global.View_List_Narrow)\r
-//                     defaultValue = "false";\r
                if (window.equalsIgnoreCase("thumbnail") && view == Global.View_List_Wide)\r
                        defaultValue = "false";\r
                if (window.equalsIgnoreCase("thumbnail"))\r
                        defaultValue = "false";\r
                if (window.equalsIgnoreCase("Guid"))\r
                        defaultValue = "false";\r
-//             if (window.equalsIgnoreCase("thumbnail") && view == Global.View_List_Narrow)\r
-//                     defaultValue = "true";\r
-               String text = (String)settings.value(window, defaultValue);\r
-               settings.endGroup();\r
-               if (text.equalsIgnoreCase("true"))\r
-                       return true;\r
-               else\r
-                       return false;   \r
+               try {\r
+                       String text = (String)settings.value(window, defaultValue);\r
+                       settings.endGroup();\r
+                       if (text.equalsIgnoreCase("true"))\r
+                               return true;\r
+                       else\r
+                               return false;\r
+               } catch (java.lang.ClassCastException e) {\r
+                       boolean defBool = false;\r
+                       if (window.equalsIgnoreCase("true"))\r
+                               defBool = true;\r
+                       else\r
+                               defBool = false;\r
+                       Boolean value = (Boolean) settings.value(window, defBool);\r
+                       settings.endGroup();\r
+                       return value;\r
+               }\r
     }\r
     public static void saveColumnVisible(String column, boolean val) {\r
        if (Global.getListView() == Global.View_List_Wide)\r
@@ -772,12 +845,18 @@ public class Global {
     }\r
     public static boolean isEditorButtonVisible(String window) {\r
                settings.beginGroup("EditorButtonsVisible");\r
-               String text = (String)settings.value(window, "true");\r
-               settings.endGroup();\r
-               if (text.equalsIgnoreCase("true"))\r
-                       return true;\r
-               else\r
-                       return false;   \r
+               try {\r
+                       String text = (String)settings.value(window, "true");\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(window, true);\r
+                       settings.endGroup();\r
+                       return value;\r
+               }\r
     }\r
     public static void saveEditorButtonsVisible(String column, boolean val) {\r
                settings.beginGroup("EditorButtonsVisible");\r
@@ -788,13 +867,19 @@ public class Global {
                settings.endGroup();\r
     }\r
     public static boolean enableCarriageReturnFix() {\r
-               settings.beginGroup("Debug");\r
-               String text = (String)settings.value("enableCarriageReturnFix", "false");\r
-               settings.endGroup();\r
-               if (text.equalsIgnoreCase("true"))\r
-                       return true;\r
-               else\r
-                       return false;   \r
+       try {\r
+               settings.beginGroup("Debug");\r
+               String text = (String)settings.value("enableCarriageReturnFix", "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("enableCarriageReturnFix", false);\r
+                       settings.endGroup();\r
+                       return value;\r
+               }\r
     }\r
     public static void saveCarriageReturnFix(boolean val) {\r
                settings.beginGroup("Debug");\r
@@ -871,12 +956,18 @@ public class Global {
     \r
     public static boolean getMimicEvernoteInterface() {\r
                settings.beginGroup("General");\r
-               String text = (String)settings.value("mimicEvernoteInterface", "true");\r
-               settings.endGroup();\r
-               if (text.equalsIgnoreCase("true"))\r
-                       return true;\r
-               else\r
-                       return false;\r
+               try {\r
+                       String text = (String)settings.value("mimicEvernoteInterface", "true");\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("mimicEvernoteInterface", true);\r
+                       settings.endGroup();\r
+                       return value;\r
+               }\r
     }\r
     public static void setMimicEvernoteInterface(boolean value) {\r
        settings.beginGroup("General");\r
@@ -889,12 +980,18 @@ public class Global {
     \r
     public static boolean synchronizeOnClose() {\r
                settings.beginGroup("General");\r
-               String text = (String)settings.value("synchronizeOnClose", "false");\r
-               settings.endGroup();\r
-               if (text.equalsIgnoreCase("true"))\r
-                       return true;\r
-               else\r
-                       return false;\r
+               try {\r
+                       String text = (String)settings.value("synchronizeOnClose", "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("synchronizeOnClose", false);\r
+                       settings.endGroup();\r
+                       return value;\r
+               }\r
     }\r
     public static void setSynchronizeOnClose(boolean val) {\r
                settings.beginGroup("General");\r
@@ -923,6 +1020,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
@@ -953,12 +1066,18 @@ public class Global {
     }\r
     public static boolean useStandardPalette() {\r
                settings.beginGroup("General");\r
-               String text = (String)settings.value("standardPalette", "true");\r
-               settings.endGroup();\r
-               if (text.equalsIgnoreCase("true"))\r
-                       return true;\r
-               else\r
-                       return false;\r
+               try {\r
+                       String text = (String)settings.value("standardPalette", "true");\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("standardPalette", true);\r
+                       settings.endGroup();\r
+                       return value;\r
+               }\r
     }\r
     public static void setStandardPalette(boolean val) {\r
                settings.beginGroup("General");\r
@@ -1162,12 +1281,18 @@ public class Global {
 \r
     public static boolean isToolbarButtonVisible(String window) {\r
                settings.beginGroup("ToolbarButtonsVisible");\r
-               String text = (String)settings.value(window, "true");\r
-               settings.endGroup();\r
-               if (text.equalsIgnoreCase("true"))\r
-                       return true;\r
-               else\r
-                       return false;   \r
+               try {\r
+                       String text = (String)settings.value(window, "true");\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(window, true);\r
+                       settings.endGroup();\r
+                       return value;\r
+               }\r
     }\r
     public static void saveToolbarButtonsVisible(String column, boolean val) {\r
                settings.beginGroup("ToolbarButtonsVisible");\r
@@ -1181,12 +1306,18 @@ public class Global {
     \r
     public static boolean enableThumbnails() {\r
                settings.beginGroup("Debug");\r
-               String text = (String)settings.value("thumbnails", "false");\r
-               settings.endGroup();\r
-               if (text.equalsIgnoreCase("true"))\r
-                       return true;\r
-               else\r
-                       return false;   \r
+               try {\r
+                       String text = (String)settings.value("thumbnails", "true");\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("thumbnails", true);\r
+                       settings.endGroup();\r
+                       return value;\r
+               }\r
     }\r
     public static void setEnableThumbnails(boolean val) {\r
                settings.beginGroup("Debug");\r
@@ -1293,12 +1424,19 @@ public class Global {
     //*******************\r
     public static boolean overrideDefaultFont() {\r
                settings.beginGroup("Font");\r
-               String text = (String)settings.value("overrideFont", "false");\r
-               settings.endGroup();\r
-               if (text.equalsIgnoreCase("true"))\r
-                       return true;\r
-               else\r
-                       return false;   \r
+               try {\r
+                       String text = (String)settings.value("overrideFont", "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("overrideFont", false);\r
+                       settings.endGroup();\r
+                       return value;\r
+               }\r
+\r
     }\r
     public static void setOverrideDefaultFont(boolean value) {\r
                settings.beginGroup("Font");\r
@@ -1334,12 +1472,18 @@ public class Global {
     //*******************\r
     public static boolean minimizeOnClose() {\r
                settings.beginGroup("General");\r
-               String text = (String)settings.value("minimizeOnClose", "false");\r
-               settings.endGroup();\r
-               if (text.equalsIgnoreCase("true"))\r
-                       return true;\r
-               else\r
-                       return false;   \r
+               try {\r
+                       String text = (String)settings.value("minimizeOnClose", "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("minimizeOnClose", false);\r
+                       settings.endGroup();\r
+                       return value;\r
+               }\r
     }\r
     public static void setMinimizeOnClose(boolean value) {\r
                settings.beginGroup("General");\r
@@ -1347,18 +1491,59 @@ public class Global {
                settings.endGroup();    \r
     }\r
 \r
+    //*******************\r
+    // Check version information\r
+    //*******************\r
+    public static boolean checkVersionUpgrade() {\r
+               settings.beginGroup("Upgrade");\r
+               try {\r
+                       String text = (String)settings.value("checkForUpdates", "true");\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("checkForUpdates", true);\r
+                       settings.endGroup();\r
+                       return value;\r
+               }\r
+    }\r
+    public static void setCheckVersionUpgrade(boolean value) {\r
+               settings.beginGroup("Upgrade");\r
+               settings.setValue("checkForUpdates", value);\r
+               settings.endGroup();    \r
+    }\r
+    public static String getUpdatesAvailableUrl() {\r
+               settings.beginGroup("Upgrade");\r
+               String text = (String)settings.value("avialableUrl", "http://nevernote.sourceforge.net/versions.txt");\r
+               settings.endGroup();    \r
+               return text;\r
+    }\r
+    public static String getUpdateAnnounceUrl() {\r
+               settings.beginGroup("Upgrade");\r
+               String text = (String)settings.value("announceUrl", "http://nevernote.sourceforge.net/upgrade.html");\r
+               settings.endGroup();    \r
+               return text;\r
+    }\r
     \r
     //*******************\r
     // Index attachments\r
     //*******************\r
     public static boolean indexAttachmentsLocally() {\r
                settings.beginGroup("Debug");\r
-               String text = (String)settings.value("indexAttachmentsLocally", "true");\r
-               settings.endGroup();\r
-               if (text.equalsIgnoreCase("true"))\r
-                       return true;\r
-               else\r
-                       return false;   \r
+               try {\r
+                       String value = (String)settings.value("indexAttachmentsLocally", "true");\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("indexAttachmentsLocally", true);\r
+                       settings.endGroup();\r
+                       return value;\r
+               }\r
     }\r
     public static void setIndexAttachmentsLocally(boolean value) {\r
                settings.beginGroup("Debug");\r
@@ -1366,6 +1551,21 @@ public class Global {
                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
+    }\r
+\r
 \r
 }\r
 \r