OSDN Git Service

- Correct issue with importing when not a premium member.
[neighbornote/NeighborNote.git] / src / cx / fbn / nevernote / Global.java
index 136b4e8..e395575 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
@@ -42,6 +42,7 @@ import com.trolltech.qt.core.QByteArray;
 import com.trolltech.qt.core.QSettings;\r
 import com.trolltech.qt.core.QSize;\r
 import com.trolltech.qt.gui.QPalette;\r
+import com.trolltech.qt.gui.QSystemTrayIcon;\r
 \r
 import cx.fbn.nevernote.config.FileManager;\r
 import cx.fbn.nevernote.config.InitializationException;\r
@@ -62,10 +63,10 @@ import cx.fbn.nevernote.utilities.Pair;
 \r
 public class Global {\r
        // Set current version and the known versions.\r
-       public static String version = "1.0";\r
-       public static String[] validVersions = {"1.0", "0.99", "0.98", "0.97", "0.96"};\r
+       public static String version = "1.3";\r
+       public static String[] validVersions = {"1.2", "1.1", "1.0", "0.99", "0.98", "0.97", "0.96"};\r
     public static String username = ""; \r
-    public static String password = "";     \r
+    //public static String password = "";     \r
     \r
 \r
     // Each thread has an ID.  This is used primarily to check the status\r
@@ -126,7 +127,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
@@ -181,12 +183,15 @@ public class Global {
        static Calendar startTraceTime;   \r
        static Calendar intervalTraceTime;\r
        \r
+       static boolean syncOnly;\r
+       \r
        private static FileManager fileManager;  // Used to access files & directories\r
        \r
     // Do initial setup \r
     public static void setup(StartupConfig startupConfig) throws InitializationException  {\r
         settings = new QSettings("fbn.cx", startupConfig.getName());\r
         disableViewing = startupConfig.getDisableViewing();\r
+        syncOnly = startupConfig.isSyncOnly();\r
 \r
         fileManager = new FileManager(startupConfig.getHomeDirPath(), startupConfig.getProgramDirPath());\r
 \r
@@ -199,14 +204,14 @@ public class Global {
                setWordRegex(regex);\r
                settings.endGroup();\r
                \r
-               // Setup debugging information\r
-               //settings.beginGroup("Debug");\r
-               //String msglevel = (String) settings.value("messageLevel", "Low");\r
-               //settings.endGroup();\r
+               //Setup debugging information\r
+               settings.beginGroup("Debug");\r
+               String msglevel = (String) settings.value("messageLevel", "Low");\r
+               settings.endGroup();\r
                \r
                \r
                //messageLevel = 1;\r
-               //setMessageLevel(msglevel);\r
+               setMessageLevel(msglevel);\r
                keepRunning = true;  // Make sure child threads stay running\r
                disableUploads = disableUploads();  // Should we upload anything?  Normally true.\r
                enableCarriageReturnFix = enableCarriageReturnFix();  // Enable test fix?\r
@@ -218,6 +223,8 @@ public class Global {
                resourceMap = new HashMap<String,String>();  // Setup resource map used to store attachments when editing\r
                        \r
                databaseCache = getDatabaseCacheSize();  // Set database cache size     \r
+               \r
+               Global.username = getUserInformation().getUsername();\r
     }\r
 \r
     // Get/Set word parsing regular expression\r
@@ -451,7 +458,7 @@ public class Global {
                try {\r
                        String max = (String) settings.value("showTrayIcon", "false");\r
                        settings.endGroup();\r
-                       if (!max.equalsIgnoreCase("true"))\r
+                       if (!max.equalsIgnoreCase("true") || !QSystemTrayIcon.isSystemTrayAvailable())\r
                                return false;\r
                        else\r
                                return true;    \r
@@ -601,31 +608,6 @@ public class Global {
                        settings.setValue("automaticLogin", "false");\r
                settings.endGroup();\r
     }\r
-    \r
-    // Should it save the Evernote password?\r
-    public static boolean rememberPassword() {\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
-               if (val)\r
-                       settings.setValue("rememberPassword", "true");\r
-               else\r
-                       settings.setValue("rememberPassword", "false");\r
-               settings.endGroup();\r
-    }\r
 \r
     // Get/set the Evernote server Url.  \r
     public static void setServer(String server) {\r
@@ -751,6 +733,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
@@ -1603,7 +1586,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
@@ -1707,7 +1690,7 @@ public class Global {
                try {\r
                        String text = (String)settings.value("minimizeOnClose", "false");\r
                        settings.endGroup();\r
-                       if (text.equalsIgnoreCase("true"))\r
+                       if (text.equalsIgnoreCase("true") && QSystemTrayIcon.isSystemTrayAvailable())\r
                                return true;\r
                        else\r
                                return false;\r
@@ -1884,7 +1867,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
@@ -1959,6 +1943,90 @@ 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
+    // If we should automatically select the children of any tag\r
+    public static boolean displayRightToLeft() {\r
+               settings.beginGroup("General");\r
+               try {\r
+                       String value = (String)settings.value("displayRightToLeft", "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("displayRightToLeft", false);\r
+                       settings.endGroup();\r
+                       return value;\r
+               }\r
+\r
+    }\r
+    public static void setDisplayRightToLeft(boolean value) {\r
+               settings.beginGroup("General");\r
+               settings.setValue("displayRightToLeft", value);\r
+               settings.endGroup();    \r
+    }\r
+\r
 \r
+    //***********************\r
+    //* Startup Notebook\r
+    //***********************\r
+    public static String getStartupNotebook() {\r
+               settings.beginGroup("General");\r
+               String text = (String)settings.value("startupNotebook", "");\r
+               settings.endGroup();    \r
+               return text;\r
+    }\r
+    public static void setStartupNotebook(String value) {\r
+               settings.beginGroup("General");\r
+               settings.setValue("startupNotebook", value);\r
+               settings.endGroup();    \r
+               databaseCache = value;\r
+    }\r
 }\r
 \r