OSDN Git Service

Add selective sync, cleanup debug messages, & correct network sync not disconnecting...
[neighbornote/NeighborNote.git] / src / cx / fbn / nevernote / Global.java
index 0791c92..829bdea 100644 (file)
@@ -29,6 +29,8 @@ import java.util.Calendar;
 import java.util.HashMap;\r
 import java.util.List;\r
 \r
+import org.apache.commons.lang.StringEscapeUtils;\r
+\r
 import com.evernote.edam.type.Accounting;\r
 import com.evernote.edam.type.PrivilegeLevel;\r
 import com.evernote.edam.type.User;\r
@@ -49,7 +51,7 @@ import cx.fbn.nevernote.utilities.ApplicationLogger;
 import cx.fbn.nevernote.utilities.Pair;\r
 \r
 public class Global {\r
-       public static String version = "0.94";\r
+       public static String version = "0.95";\r
     public static String username = ""; \r
     public static String password = "";     \r
     \r
@@ -68,11 +70,11 @@ public class Global {
     \r
     public static int View_List_Wide = 1;\r
     public static int View_List_Narrow = 2;\r
-    public static QSize smallThumbnailSize = new QSize(50,50);\r
-    public static QSize largeThumbnailSize = new QSize(160,160);\r
-    public static boolean listView = true;\r
+    public static QSize smallThumbnailSize = new QSize(100,75);\r
+    public static QSize largeThumbnailSize = new QSize(300,225);\r
+//    public static boolean listView = true;\r
     \r
-    public static HashMap<String,Pair> passwordSafe = new HashMap<String, Pair>();\r
+    public static HashMap<String,Pair<String,String>> passwordSafe = new HashMap<String, Pair<String,String>>();\r
     public static List<Pair<String,String>> passwordRemember = new ArrayList<Pair<String,String>>();\r
     public static String currentNotebookGuid;\r
     public static User user; \r
@@ -370,19 +372,29 @@ public class Global {
                settings.endGroup();\r
     }\r
     public static void setSortColumn(int i) {\r
+       int view = Global.getListView();\r
                settings.beginGroup("General");\r
-               settings.setValue("sortColumn", i);\r
+       if (view == Global.View_List_Wide)\r
+               settings.setValue("sortColumn", i);\r
+       else\r
+               settings.setValue("sortColumn-Narrow", i);\r
                settings.endGroup();\r
     }\r
     public static int getSortColumn() {;\r
+    String key;\r
+       if (Global.getListView() == Global.View_List_Wide)\r
+               key = "sortColumn";\r
+       else\r
+               key = "sortColumn-Narrow";\r
+\r
        settings.beginGroup("General");\r
        int order;      \r
        try {\r
-               String val  = settings.value("sortColumn", 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("sortColumn", 0);\r
+                       order = (Integer)settings.value(key, 0);\r
                } catch (Exception e1) {\r
                    order = 0;\r
                }\r
@@ -392,19 +404,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
@@ -463,10 +486,10 @@ public class Global {
                        noteStoreUrlBase = "sandbox.evernote.com/edam/note/";\r
                }\r
                settings.endGroup();\r
-               if (isPremium())\r
+//             if (isPremium())\r
                        noteStoreUrlBase = "https://" + noteStoreUrlBase;\r
-               else\r
-                       noteStoreUrlBase = "http://" + noteStoreUrlBase;\r
+//             else\r
+//                     noteStoreUrlBase = "http://" + noteStoreUrlBase;\r
                return text;\r
     }\r
     public static boolean disableUploads() {\r
@@ -521,28 +544,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
@@ -552,7 +553,7 @@ public class Global {
                settings.beginGroup("General");\r
                Integer len;\r
                try {\r
-                       len = (Integer)settings.value("recognitionWeight", 80);\r
+                       len = (Integer)settings.value("recognitionWeight", 30);\r
                } catch (Exception e) {\r
                        len = 80;\r
                }\r
@@ -599,12 +600,19 @@ public class Global {
                settings.endGroup();            \r
     }\r
     public static void setColumnWidth(String col, int width) {\r
-               settings.beginGroup("ColumnWidths");\r
-               settings.setValue(col, width);\r
-               settings.endGroup();\r
-    }\r
+       if (Global.getListView() == Global.View_List_Wide)\r
+               settings.beginGroup("ColumnWidths");\r
+       else \r
+               settings.beginGroup("ColumnWidths-Narrow");\r
+               settings.setValue(col, width);\r
+               settings.endGroup();\r
+       }\r
     public static int getColumnWidth(String col) {\r
-               settings.beginGroup("ColumnWidths");\r
+       int view = Global.getListView();\r
+       if (view == Global.View_List_Wide)\r
+               settings.beginGroup("ColumnWidths");\r
+       else\r
+               settings.beginGroup("ColumnWidths-Narrow");\r
                Integer width;\r
                try {\r
                        String val  = (String)settings.value(col, "0");\r
@@ -620,12 +628,18 @@ public class Global {
                return width;\r
     }\r
     public static void setColumnPosition(String col, int width) {\r
-               settings.beginGroup("ColumnPosition");\r
+       if (Global.getListView() == Global.View_List_Wide)\r
+               settings.beginGroup("ColumnPosition");\r
+       else\r
+               settings.beginGroup("ColumnPosition-Narrow");\r
                settings.setValue(col, width);\r
                settings.endGroup();\r
     }\r
     public static int getColumnPosition(String col) {\r
-               settings.beginGroup("ColumnPosition");\r
+       if (Global.getListView() == Global.View_List_Wide)\r
+               settings.beginGroup("ColumnPosition");\r
+       else\r
+               settings.beginGroup("ColumnPosition-Narrow");\r
                Integer width;\r
                try {\r
                        String val  = (String)settings.value(col, "-1");\r
@@ -713,11 +727,21 @@ public class Global {
     }\r
     public static boolean isColumnVisible(String window) {\r
        String defaultValue = "true";\r
-               settings.beginGroup("ColumnsVisible");\r
+       int view = Global.getListView();\r
+       if (Global.getListView() == Global.View_List_Wide)\r
+               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
@@ -726,7 +750,10 @@ public class Global {
                        return false;   \r
     }\r
     public static void saveColumnVisible(String column, boolean val) {\r
-               settings.beginGroup("ColumnsVisible");\r
+       if (Global.getListView() == Global.View_List_Wide)\r
+               settings.beginGroup("ColumnsVisible");\r
+       else\r
+               settings.beginGroup("ColumnsVisible-Narrow");                   \r
                if (val)\r
                        settings.setValue(column, "true");\r
                else\r
@@ -831,7 +858,7 @@ public class Global {
                settings.endGroup();\r
                return threads;\r
     }\r
-\r
+    \r
     public static boolean getMimicEvernoteInterface() {\r
                settings.beginGroup("General");\r
                String text = (String)settings.value("mimicEvernoteInterface", "true");\r
@@ -956,25 +983,39 @@ public class Global {
     }\r
     \r
     public static void saveState(String name, QByteArray state) {\r
+       int view = Global.getListView();\r
+       if (view == Global.View_List_Narrow)\r
+               name = name +"Narrow";\r
                settings.beginGroup("SaveState");\r
                settings.setValue(name, state);\r
                settings.endGroup();\r
     }\r
     \r
     public static QByteArray restoreState(String name) {\r
+       int view = Global.getListView();\r
+       if (view == Global.View_List_Narrow)\r
+               name = name +"Narrow";\r
                settings.beginGroup("SaveState");\r
                QByteArray state = (QByteArray)settings.value(name);\r
                settings.endGroup();\r
                return state;\r
     }\r
     public static void saveGeometry(String name, QByteArray state) {\r
-               settings.beginGroup("SaveGeometry");\r
+       int view = Global.getListView();\r
+       if (view == Global.View_List_Narrow)\r
+               settings.beginGroup("SaveGeometryNarrow");\r
+       else\r
+               settings.beginGroup("SaveGeometry");\r
                settings.setValue(name, state);\r
                settings.endGroup();\r
     }\r
     \r
     public static QByteArray restoreGeometry(String name) {\r
-               settings.beginGroup("SaveGeometry");\r
+       int view = Global.getListView();\r
+       if (view == Global.View_List_Narrow)\r
+               settings.beginGroup("SaveGeometryNarrow");\r
+       else\r
+               settings.beginGroup("SaveGeometry");\r
                QByteArray state = (QByteArray)settings.value(name);\r
                settings.endGroup();\r
                return state;\r
@@ -1127,6 +1168,24 @@ public class Global {
                settings.endGroup();\r
     }\r
        \r
+    \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
+    }\r
+    public static void setEnableThumbnails(boolean val) {\r
+               settings.beginGroup("Debug");\r
+               if (val)\r
+                       settings.setValue("thumbnails", "true");\r
+               else\r
+                       settings.setValue("thumbnails", "false");\r
+               settings.endGroup();\r
+    }\r
        \r
        // Print date/time.  Used mainly for performance tracing\r
        public static void trace(boolean resetInterval) {\r
@@ -1168,6 +1227,29 @@ public class Global {
         return disableViewing;\r
     }\r
 \r
+    //**********************\r
+    //* Thumbnail zoom level\r
+    //**********************\r
+    public static int calculateThumbnailZoom(String content) {\r
+       int zoom = 1;\r
+               if (content.indexOf("application/pdf") == -1) {\r
+                       if (content.indexOf("image/") == -1) {\r
+                               String text =  StringEscapeUtils.unescapeHtml(content.replaceAll("\\<.*?\\>", ""));\r
+                               zoom = 2;\r
+                               if (text.length() < 500) \r
+                                       zoom = 2;\r
+                               if (text.length() < 250)\r
+                                       zoom = 3;\r
+                               if (text.length() < 100)\r
+                                       zoom = 4;\r
+                               if (text.length() < 50)\r
+                                       zoom = 5;\r
+                               if (text.length() < 10)\r
+                                       zoom = 6;\r
+                       }\r
+               }\r
+               return zoom;\r
+    }\r
     \r
     //**********************\r
     //* List View settings \r
@@ -1236,6 +1318,44 @@ public class Global {
                settings.endGroup();\r
     }\r
     \r
+    \r
+    //*******************\r
+    // Close/Minimize\r
+    //*******************\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
+    }\r
+    public static void setMinimizeOnClose(boolean value) {\r
+               settings.beginGroup("General");\r
+               settings.setValue("minimizeOnClose", value);\r
+               settings.endGroup();    \r
+    }\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
+    }\r
+    public static void setIndexAttachmentsLocally(boolean value) {\r
+               settings.beginGroup("Debug");\r
+               settings.setValue("indexAttachmentsLocally", value);\r
+               settings.endGroup();    \r
+    }\r
+\r
 \r
 }\r
 \r