- }\r
- settings.endGroup();\r
- return len;\r
- }\r
- public static String getMessageLevel() {\r
- settings.beginGroup("Debug");\r
- String text = (String)settings.value("messageLevel", "Low");\r
- settings.endGroup();\r
- return text;\r
- }\r
- public static void setDateFormat(String format) {\r
- settings.beginGroup("General");\r
- settings.setValue("dateFormat", format);\r
- settings.endGroup(); \r
- }\r
- public static String getDateFormat() {\r
- settings.beginGroup("General");\r
- String text = (String)settings.value("dateFormat", "MM/dd/yyyy");\r
- settings.endGroup();\r
- return text;\r
- }\r
- public static void setTimeFormat(String format) {\r
- settings.beginGroup("General");\r
- settings.setValue("timeFormat", format);\r
- settings.endGroup(); \r
- }\r
- public static String getTimeFormat() {\r
- settings.beginGroup("General");\r
- String text = (String)settings.value("timeFormat", "HH:mm:ss");\r
- settings.endGroup();\r
- return text;\r
- }\r
- public static String getSyncInterval() {\r
- settings.beginGroup("General");\r
- String text = (String)settings.value("syncInterval", "15 minutes");\r
- settings.endGroup();\r
- return text; \r
- }\r
- public static void setSyncInterval(String format) {\r
- settings.beginGroup("General");\r
- settings.setValue("syncInterval", format);\r
- 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
- public static int getColumnWidth(String col) {\r
- settings.beginGroup("ColumnWidths");\r
- Integer width;\r
- try {\r
- String val = (String)settings.value(col, "0");\r
- width = new Integer(val.trim());\r
- } catch (Exception e) {\r
- try {\r
- width = (Integer)settings.value(col, 0);\r
- } catch (Exception e1) {\r
- width = 0;\r
- }\r
- }\r
- settings.endGroup();\r
- return width;\r
- }\r
- public static void setColumnPosition(String col, int width) {\r
- settings.beginGroup("ColumnPosition");\r
- settings.setValue(col, width);\r
- settings.endGroup();\r
- }\r
- public static int getColumnPosition(String col) {\r
- settings.beginGroup("ColumnPosition");\r
- Integer width;\r
- try {\r
- String val = (String)settings.value(col, "-1");\r
- width = new Integer(val.trim());\r
- } catch (Exception e) {\r
- try {\r
- width = (Integer)settings.value(col, 0);\r
- } catch (Exception e1) {\r
- width = 0;\r
- }\r
- }\r
- settings.endGroup();\r
- return width;\r
- }\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
- }\r
- public static void setVerifyDelete(boolean val) {\r
- settings.beginGroup("General");\r
- if (val)\r
- settings.setValue("verifyDelete", "true");\r
- else\r
- settings.setValue("verifyDelete", "false");\r
- settings.endGroup();\r
- }\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
- public static void setSynchronizeDeletedContent(boolean val) {\r
- settings.beginGroup("General");\r
- if (val)\r
- settings.setValue("syncDeletedContent", "true");\r
- else\r
- settings.setValue("syncDeletedContent", "false");\r
- settings.endGroup();\r
- }\r
- public static boolean isWindowVisible(String window) {\r
- settings.beginGroup("WindowsVisible");\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
- }\r
- public static void saveWindowVisible(String window, boolean val) {\r
- settings.beginGroup("WindowsVisible");\r
- if (val)\r
- settings.setValue(window, "true");\r
- else\r
- settings.setValue(window, "false");\r
- settings.endGroup();\r
- }\r
- public static boolean isColumnVisible(String window) {\r
- settings.beginGroup("ColumnsVisible");\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
- }\r
- public static void saveColumnVisible(String column, boolean val) {\r
- settings.beginGroup("ColumnsVisible");\r
- if (val)\r
- settings.setValue(column, "true");\r
- else\r
- settings.setValue(column, "false");\r
- settings.endGroup();\r
- }\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
- }\r
- public static void saveEditorButtonsVisible(String column, boolean val) {\r
- settings.beginGroup("EditorButtonsVisible");\r
- if (val)\r
- settings.setValue(column, "true");\r
- else\r
- settings.setValue(column, "false");\r
- 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
- }\r
- public static void saveCarriageReturnFix(boolean val) {\r
- settings.beginGroup("Debug");\r
- if (val)\r
- settings.setValue("enableCarriageReturnFix", "true");\r
- else\r
- settings.setValue("enableCarriageReturnFix", "false");\r
- settings.endGroup();\r
- }\r
- public static void setIndexThreads(int val) {\r
- settings.beginGroup("General");\r
- settings.setValue("indexThreads", val);\r
- settings.endGroup();\r
- }\r
- public static int getIndexThreads() {\r
- settings.beginGroup("General");\r
- Integer threads;\r
- try {\r
- String val = (String)settings.value("indexThreads", "1");\r
- threads = new Integer(val.trim());\r
- } catch (Exception e) {\r
- try {\r
- threads = (Integer)settings.value("indexThreads", 1);\r
- } catch (Exception e1) {\r
- threads = 1;\r
- }\r
- }\r
- settings.endGroup();\r
- threads = 1;\r
- return threads;\r
- }\r
- public static void setZoomFactor(double val) {\r
- settings.beginGroup("General");\r
- settings.setValue("zoomFactor", val);\r
- settings.endGroup();\r
- }\r
- public static double getZoomFactor() {\r
- settings.beginGroup("General");\r
- Double threads;\r
- try {\r
- String val = (String)settings.value("zoomFactor", "1.0");\r
- threads = new Double(val.trim());\r
- } catch (Exception e) {\r
- try {\r
- threads = (Double)settings.value("zoomFactor", 1.0);\r
- } catch (Exception e1) {\r
- threads = new Double(1);\r
- }\r
- }\r
- settings.endGroup();\r
- return threads;\r
- }\r
- public static void setTextSizeMultiplier(double val) {\r
- settings.beginGroup("General");\r
- settings.setValue("textMultiplier", val);\r
- settings.endGroup();\r
- }\r
- public static double getTextSizeMultiplier() {\r
- settings.beginGroup("General");\r
- Double threads;\r
- try {\r
- String val = (String)settings.value("textMultiplier", "1");\r
- threads = new Double(val.trim());\r
- } catch (Exception e) {\r
- try {\r
- threads = (Double)settings.value("textMultiplier", 1);\r
- } catch (Exception e1) {\r
- threads = new Double(1);\r
- }\r
- }\r
- settings.endGroup();\r
- return threads;\r
- }\r
-\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
- }\r
- public static void setMimicEvernoteInterface(boolean value) {\r
- settings.beginGroup("General");\r
- if (value)\r
- settings.setValue("mimicEvernoteInterface", "true");\r
- else\r
- settings.setValue("mimicEvernoteInterface", "false"); \r
- settings.endGroup();\r
- }\r
- \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
- }\r
- public static void setSynchronizeOnClose(boolean val) {\r
- settings.beginGroup("General");\r
- if (val)\r
- settings.setValue("synchronizeOnClose", "true");\r
- else\r
- settings.setValue("synchronizeOnClose", "false");\r
- settings.endGroup();\r
- }\r
- public static void setDatabaseVersion(String version) {\r
- settings.beginGroup("General");\r
- settings.setValue("databaseVersion", version);\r
- settings.endGroup();\r
- }\r
- public static String getDatabaseVersion() {\r
- settings.beginGroup("General");\r
- String val = (String)settings.value("databaseVersion", "0.70");\r
- settings.endGroup();\r
- return val;\r
- }\r
- public static String getDatabaseUrl() {\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.databaseName);\r
- return val;\r
- }\r
- public static String getDatabaseUserid() {\r
- settings.beginGroup("General");\r
- String val = (String)settings.value("databaseUserid", "");\r
- settings.endGroup();\r
- return val;\r
- }\r
- public static String getDatabaseUserPassword() {\r
- settings.beginGroup("General");\r
- String val = (String)settings.value("databaseUserPassword", "");\r
- settings.endGroup();\r
- return val;\r
- }\r
- public static void setStyle(String style) {\r
- settings.beginGroup("General");\r
- settings.setValue("style", style);\r
- settings.endGroup();\r
- }\r
- public static String getStyle() {\r
- settings.beginGroup("General");\r
- String val = (String)settings.value("style", "");\r
- settings.endGroup();\r
- return val;\r
- }\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
- }\r
- public static void setStandardPalette(boolean val) {\r
- settings.beginGroup("General");\r
- if (val)\r
- settings.setValue("standardPalette", "true");\r
- else\r
- settings.setValue("standardPalette", "false");\r
- settings.endGroup();\r
- }\r
- \r
- public static void saveState(String name, QByteArray state) {\r
- settings.beginGroup("SaveState");\r
- settings.setValue(name, state);\r
- settings.endGroup();\r
- }\r
- \r
- public static QByteArray restoreState(String name) {\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
- settings.setValue(name, state);\r
- settings.endGroup();\r
- }\r
- \r
- public static QByteArray restoreGeometry(String name) {\r
- settings.beginGroup("SaveGeometry");\r
- QByteArray state = (QByteArray)settings.value(name);\r
- settings.endGroup();\r
- return state;\r
- }\r
- \r
- public static void setAutoSaveInterval(int interval) {\r
- settings.beginGroup("General");\r
- settings.setValue("autoSaveInterval", interval);\r
- settings.endGroup();\r
- }\r
- public static int getAutoSaveInterval() {\r
- settings.beginGroup("General");\r
- Integer value;\r
- try {\r
- String val = (String)settings.value("autoSaveInterval", "5");\r
- value = new Integer(val.trim());\r
- } catch (Exception e) {\r
- try {\r
- value = (Integer)settings.value("autoSaveInterval", 5);\r
- } catch (Exception e1) {\r
- value = 0;\r
- }\r
- }\r
- settings.endGroup();\r
- return value;\r
- }\r
- \r
- // Add invalid attributes\r
- public static void addInvalidAttribute(String element, String attribute) {\r
- \r
- List<String> attributes = invalidAttributes.get(element);\r
- if (attributes != null) {\r
- for (int i=0; i<attributes.size(); i++)\r
- if (attribute.equalsIgnoreCase(attributes.get(i))) {\r
- return;\r
- }\r
- }\r
- \r
- ArrayList<String> attributeList;\r
- if (!invalidAttributes.containsKey(element)) {\r
- attributeList = new ArrayList<String>();\r
- attributeList.add(attribute);\r
- invalidAttributes.put(element, attributeList);\r
- }\r
- else {\r
- attributeList = invalidAttributes.get(element);\r
- attributeList.add(attribute);\r
- invalidAttributes.put(element,attributeList);\r
- }\r
- }\r
-\r
- \r
- // Add invalid attributes\r
- public static void addInvalidElement(String element) {\r
- for (int i=0; i<invalidElements.size(); i++) {\r
- if (element.equalsIgnoreCase(invalidElements.get(i)))\r
- return;\r
- }\r
- invalidElements.add(element);\r
- }\r
- \r
- // Convert a byte array to a hex string\r
- public static String byteArrayToHexString(byte data[]) {\r
- StringBuffer buf = new StringBuffer();\r
- for (byte element : data) {\r
- int halfbyte = (element >>> 4) & 0x0F;\r
- int two_halfs = 0;\r
- do {\r
- if ((0 <= halfbyte) && (halfbyte <= 9))\r
- buf.append((char) ('0' + halfbyte));\r
- else\r
- buf.append((char) ('a' + (halfbyte - 10)));\r
- halfbyte = element & 0x0F;\r
- } while(two_halfs++ < 1);\r
- }\r
- return buf.toString(); \r
- }\r
-\r
- \r
- // What to do with inactive tags?\r
- public static String tagBehavior() {\r
- settings.beginGroup("General");\r
- String text = (String)settings.value("tagBehavior", "DoNothing");\r
- settings.endGroup();\r
- return text;\r
- }\r
- // What to do with inactive tags?\r
- public static void setTagBehavior(String value) {\r
- settings.beginGroup("General");\r
- settings.setValue("tagBehavior", value);\r
- settings.endGroup();\r
- }\r
-\r
- \r
- // Print date/time. Used mainly for performance tracing\r
- public static void trace(boolean resetInterval) {\r
- String fmt = "MM/dd/yy HH:mm:ss.SSSSSS";\r
- String dateTimeFormat = new String(fmt);\r
- SimpleDateFormat simple = new SimpleDateFormat(dateTimeFormat);\r
- Calendar cal = Calendar.getInstance();\r
- if (intervalTraceTime == null) \r
- intervalTraceTime = Calendar.getInstance();\r
- if (startTraceTime == null)\r
- startTraceTime = Calendar.getInstance();\r
- \r
- float interval = (cal.getTimeInMillis() - intervalTraceTime.getTimeInMillis());\r
- float total = (cal.getTimeInMillis() - startTraceTime.getTimeInMillis());\r
- \r
-// if (interval > 00.0) {\r
- StackTraceElement[] exceptions = Thread.currentThread().getStackTrace();\r
- System.out.println("------------------------------------------");\r
-\r
- System.out.println("Date/Time " +simple.format(cal.getTime()));\r
- System.out.format("Interval Time: %-10.6f%n", interval);\r
- System.out.format("Total Time: %-10.6f%n", total);\r
- for (int i=2; i<5 && i<exceptions.length; i++) {\r
- System.out.println(exceptions[i]);\r
- }\r
-// }\r
- if (resetInterval)\r
- intervalTraceTime = cal;\r
- }\r
- public static void traceReset() {\r
- intervalTraceTime = null;\r
- startTraceTime = null;\r
- }\r
-\r
-\r
- public static FileManager getFileManager() {\r
- return fileManager;\r
- }\r
- public static boolean getDisableViewing() {\r
- return disableViewing;\r
- }\r
- \r
-\r
-}\r
-\r
+ }
+ settings.endGroup();
+ return len;
+ }
+
+ // get/set current debug message level
+ public static String getMessageLevel() {
+ settings.beginGroup("Debug");
+ String text = (String)settings.value("messageLevel", "Low");
+ settings.endGroup();
+ setMessageLevel(text);
+ return text;
+ }
+ public static void setDateFormat(String format) {
+ settings.beginGroup("General");
+ settings.setValue("dateFormat", format);
+ settings.endGroup();
+ }
+
+ // Get/Set user date/time formats
+ public static String getDateFormat() {
+ settings.beginGroup("General");
+ String text = (String)settings.value("dateFormat", "MM/dd/yyyy");
+ settings.endGroup();
+ return text;
+ }
+ public static void setTimeFormat(String format) {
+ settings.beginGroup("General");
+ settings.setValue("timeFormat", format);
+ settings.endGroup();
+ }
+ public static String getTimeFormat() {
+ settings.beginGroup("General");
+ String text = (String)settings.value("timeFormat", "HH:mm:ss");
+ settings.endGroup();
+ return text;
+ }
+
+ // How often should we sync with Evernote?
+ public static String getSyncInterval() {
+ settings.beginGroup("General");
+ String text = (String)settings.value("syncInterval", "15 minutes");
+ settings.endGroup();
+ return text;
+ }
+ public static void setSyncInterval(String format) {
+ settings.beginGroup("General");
+ settings.setValue("syncInterval", format);
+ settings.endGroup();
+ }
+
+ // Get/Set the width of columns and their position for the
+ // next start.
+ public static void setColumnWidth(String col, int width) {
+ if (Global.getListView() == Global.View_List_Wide)
+ settings.beginGroup("ColumnWidths");
+ else
+ settings.beginGroup("ColumnWidths-Narrow");
+ settings.setValue(col, width);
+ settings.endGroup();
+ }
+ public static int getColumnWidth(String col) {
+ int view = Global.getListView();
+ if (view == Global.View_List_Wide)
+ settings.beginGroup("ColumnWidths");
+ else
+ settings.beginGroup("ColumnWidths-Narrow");
+ Integer width;
+ try {
+ String val = (String)settings.value(col, "0");
+ width = new Integer(val.trim());
+ } catch (Exception e) {
+ try {
+ width = (Integer)settings.value(col, 0);
+ } catch (Exception e1) {
+ width = 0;
+ }
+ }
+ settings.endGroup();
+ return width;
+ }
+ public static void setColumnPosition(String col, int width) {
+ if (Global.getListView() == Global.View_List_Wide)
+ settings.beginGroup("ColumnPosition");
+ else
+ settings.beginGroup("ColumnPosition-Narrow");
+ settings.setValue(col, width);
+ settings.endGroup();
+ }
+ public static int getColumnPosition(String col) {
+ if (Global.getListView() == Global.View_List_Wide)
+ settings.beginGroup("ColumnPosition");
+ else
+ settings.beginGroup("ColumnPosition-Narrow");
+ Integer width;
+ try {
+ String val = (String)settings.value(col, "-1");
+ width = new Integer(val.trim());
+ } catch (Exception e) {
+ try {
+ width = (Integer)settings.value(col, 0);
+ } catch (Exception e1) {
+ width = 0;
+ }
+ }
+ settings.endGroup();
+ return width;
+ }
+
+ // Ping the user when they try to delete or just do it.
+ public static boolean verifyDelete() {
+ settings.beginGroup("General");
+ try {
+ String text = (String)settings.value("verifyDelete", "true");
+ settings.endGroup();
+ if (text.equalsIgnoreCase("true"))
+ return true;
+ else
+ return false;
+ } catch (java.lang.ClassCastException e) {
+ Boolean value = (Boolean) settings.value("verifyDelete", true);
+ settings.endGroup();
+ return value;
+ }
+ }
+ public static void setVerifyDelete(boolean val) {
+ settings.beginGroup("General");
+ if (val)
+ settings.setValue("verifyDelete", "true");
+ else
+ settings.setValue("verifyDelete", "false");
+ settings.endGroup();
+ }
+
+ // Should it start minimized?
+ public static boolean startMinimized() {
+ settings.beginGroup("General");
+ try {
+ String text = (String)settings.value("startMinimized", "false");
+ settings.endGroup();
+ if (text.equalsIgnoreCase("true"))
+ return true;
+ else
+ return false;
+ } catch (java.lang.ClassCastException e) {
+ Boolean value = (Boolean) settings.value("startMinimized", false);
+ settings.endGroup();
+ return value;
+ }
+ }
+ public static void setStartMinimized(boolean val) {
+ settings.beginGroup("General");
+ if (val)
+ settings.setValue("startMinimized", "true");
+ else
+ settings.setValue("startMinimized", "false");
+ settings.endGroup();
+ }
+
+ // Should we upload the content of any deleted notes
+ public static boolean synchronizeDeletedContent() {
+ settings.beginGroup("General");
+ try {
+ String text = (String)settings.value("syncDeletedContent", "false");
+ settings.endGroup();
+ if (text.equalsIgnoreCase("true"))
+ return true;
+ else
+ return false;
+ } catch (java.lang.ClassCastException e) {
+ Boolean value = (Boolean) settings.value("syncDeletedContent", false);
+ settings.endGroup();
+ return value;
+ }
+ }
+ public static void setSynchronizeDeletedContent(boolean val) {
+ settings.beginGroup("General");
+ if (val)
+ settings.setValue("syncDeletedContent", "true");
+ else
+ settings.setValue("syncDeletedContent", "false");
+ settings.endGroup();
+ }
+
+ // Is a section of the window visible? Used to hide things people don't
+ // want to see.
+ public static boolean isWindowVisible(String window) {
+ settings.beginGroup("WindowsVisible");
+ try {
+ String defaultValue = "true";
+ if (window.equalsIgnoreCase("noteInformation"))
+ defaultValue = "false";
+ String text = (String)settings.value(window, defaultValue);
+ settings.endGroup();
+ if (text.equalsIgnoreCase("true"))
+ return true;
+ else
+ return false;
+ } catch (java.lang.ClassCastException e) {
+ boolean defaultValue = true;
+ if (window.equalsIgnoreCase("noteInformation"))
+ defaultValue = false;
+ Boolean value = (Boolean) settings.value("showTrayIcon", defaultValue);
+ settings.endGroup();
+ return value;
+ }
+ }
+ public static void saveWindowVisible(String window, boolean val) {
+ settings.beginGroup("WindowsVisible");
+ if (val)
+ settings.setValue(window, "true");
+ else
+ settings.setValue(window, "false");
+ settings.endGroup();
+ }
+
+ // Is a list in the column in the note list visible?
+ public static boolean isColumnVisible(String window) {
+ String defaultValue = "true";
+ int view = Global.getListView();
+ if (Global.getListView() == Global.View_List_Wide)
+ settings.beginGroup("ColumnsVisible");
+ else
+ settings.beginGroup("ColumnsVisible-Narrow");
+ if (window.equalsIgnoreCase("thumbnail") && view == Global.View_List_Wide)
+ defaultValue = "false";
+ if (window.equalsIgnoreCase("thumbnail"))
+ defaultValue = "false";
+ if (window.equalsIgnoreCase("Guid"))
+ defaultValue = "false";
+ try {
+ String text = (String)settings.value(window, defaultValue);
+ settings.endGroup();
+ if (text.equalsIgnoreCase("true"))
+ return true;
+ else
+ return false;
+ } catch (java.lang.ClassCastException e) {
+ boolean defBool = false;
+ if (window.equalsIgnoreCase("true"))
+ defBool = true;
+ else
+ defBool = false;
+ Boolean value = (Boolean) settings.value(window, defBool);
+ settings.endGroup();
+ return value;
+ }
+ }
+ public static void saveColumnVisible(String column, boolean val) {
+ if (Global.getListView() == Global.View_List_Wide)
+ settings.beginGroup("ColumnsVisible");
+ else
+ settings.beginGroup("ColumnsVisible-Narrow");
+ if (val)
+ settings.setValue(column, "true");
+ else
+ settings.setValue(column, "false");
+ settings.endGroup();
+ }
+
+ // Is a particular editor button visible?
+ public static boolean isEditorButtonVisible(String window) {
+ settings.beginGroup("EditorButtonsVisible");
+ try {
+ String text = (String)settings.value(window, "true");
+ settings.endGroup();
+ if (text.equalsIgnoreCase("true"))
+ return true;
+ else
+ return false;
+ } catch (java.lang.ClassCastException e) {
+ Boolean value = (Boolean) settings.value(window, true);
+ settings.endGroup();
+ return value;
+ }
+ }
+ public static void saveEditorButtonsVisible(String column, boolean val) {
+ settings.beginGroup("EditorButtonsVisible");
+ if (val)
+ settings.setValue(column, "true");
+ else
+ settings.setValue(column, "false");
+ settings.endGroup();
+ }
+
+ // Should the test fixes be enabled
+ public static boolean enableCarriageReturnFix() {
+ try {
+ settings.beginGroup("Debug");
+ String text = (String)settings.value("enableCarriageReturnFix", "false");
+ settings.endGroup();
+ if (text.equalsIgnoreCase("true"))
+ return true;
+ else
+ return false;
+ } catch (java.lang.ClassCastException e) {
+ Boolean value = (Boolean) settings.value("enableCarriageReturnFix", false);
+ settings.endGroup();
+ return value;
+ }
+ }
+ public static void saveCarriageReturnFix(boolean val) {
+ settings.beginGroup("Debug");
+ if (val)
+ settings.setValue("enableCarriageReturnFix", "true");
+ else
+ settings.setValue("enableCarriageReturnFix", "false");
+ settings.endGroup();
+ }
+ public static boolean enableHtmlEntitiesFix() {
+ try {
+ settings.beginGroup("Debug");
+ String text = (String)settings.value("enableHtmlEntitiesFix", "false");
+ settings.endGroup();
+ if (text.equalsIgnoreCase("true"))
+ return true;
+ else
+ return false;
+ } catch (java.lang.ClassCastException e) {
+ Boolean value = (Boolean) settings.value("enableHtmlEntitiesFix", false);
+ settings.endGroup();
+ return value;
+ }
+ }
+ public static void saveHtmlEntitiesFix(boolean val) {
+ settings.beginGroup("Debug");
+ if (val)
+ settings.setValue("enableHtmlEntitiesFix", "true");
+ else
+ settings.setValue("enableHtmlEntitiesFix", "false");
+ settings.endGroup();
+ }
+
+// public static void setIndexThreads(int val) {
+// settings.beginGroup("General");
+// settings.setValue("indexThreads", val);
+// settings.endGroup();
+// }
+// public static int getIndexThreads() {
+// settings.beginGroup("General");
+// Integer threads;
+// try {
+// String val = (String)settings.value("indexThreads", "1");
+// threads = new Integer(val.trim());
+// } catch (Exception e) {
+// try {
+// threads = (Integer)settings.value("indexThreads", 1);
+// } catch (Exception e1) {
+// threads = 1;
+// }
+// }
+// settings.endGroup();
+// threads = 1;
+// return threads;
+
+ // Get/Set text zoom factor
+// }
+ public static void setZoomFactor(double val) {
+ settings.beginGroup("General");
+ settings.setValue("zoomFactor", val);
+ settings.endGroup();
+ }
+ public static double getZoomFactor() {
+ settings.beginGroup("General");
+ Double threads;
+ try {
+ String val = (String)settings.value("zoomFactor", "1.0");
+ threads = new Double(val.trim());
+ } catch (Exception e) {
+ try {
+ threads = (Double)settings.value("zoomFactor", 1.0);
+ } catch (Exception e1) {
+ threads = new Double(1);
+ }
+ }
+ settings.endGroup();
+ return threads;
+ }
+ public static void setTextSizeMultiplier(double val) {
+ settings.beginGroup("General");
+ settings.setValue("textMultiplier", val);
+ settings.endGroup();
+ }
+ public static double getTextSizeMultiplier() {
+ settings.beginGroup("General");
+ Double threads;
+ try {
+ String val = (String)settings.value("textMultiplier", "1");
+ threads = new Double(val.trim());
+ } catch (Exception e) {
+ try {
+ threads = (Double)settings.value("textMultiplier", 1);
+ } catch (Exception e1) {
+ threads = new Double(1);
+ }
+ }
+ settings.endGroup();
+ return threads;
+ }
+
+
+ // Should we mimic Evernote and restrict the notebooks selected?
+ public static boolean getMimicEvernoteInterface() {
+ settings.beginGroup("General");
+ try {
+ String text = (String)settings.value("mimicEvernoteInterface", "true");
+ settings.endGroup();
+ if (text.equalsIgnoreCase("true"))
+ return true;
+ else
+ return false;
+ } catch (java.lang.ClassCastException e) {
+ Boolean value = (Boolean) settings.value("mimicEvernoteInterface", true);
+ settings.endGroup();
+ return value;
+ }
+ }
+ public static void setMimicEvernoteInterface(boolean value) {
+ settings.beginGroup("General");
+ if (value)
+ settings.setValue("mimicEvernoteInterface", "true");
+ else
+ settings.setValue("mimicEvernoteInterface", "false");
+ settings.endGroup();
+ }
+
+
+ // Synchronize with Evernote when closing?
+ public static boolean synchronizeOnClose() {
+ settings.beginGroup("General");
+ try {
+ String text = (String)settings.value("synchronizeOnClose", "false");
+ settings.endGroup();
+ if (text.equalsIgnoreCase("true"))
+ return true;
+ else
+ return false;
+ } catch (java.lang.ClassCastException e) {
+ Boolean value = (Boolean) settings.value("synchronizeOnClose", false);
+ settings.endGroup();
+ return value;
+ }
+ }
+ public static void setSynchronizeOnClose(boolean val) {
+ settings.beginGroup("General");
+ if (val)
+ settings.setValue("synchronizeOnClose", "true");
+ else
+ settings.setValue("synchronizeOnClose", "false");
+ settings.endGroup();
+ }
+
+ // Get/set the database version. Not really used any more, but kept
+ // for compatibility.
+ public static void setDatabaseVersion(String version) {
+ settings.beginGroup("General");
+ settings.setValue("databaseVersion", version);
+ settings.endGroup();
+ }
+ public static String getDatabaseVersion() {
+ settings.beginGroup("General");
+ String val = (String)settings.value("databaseVersion", "0.70");
+ settings.endGroup();
+ return val;
+ }
+
+ // Get the URL (full path) of the main database
+ public static String getDatabaseUrl() {
+ settings.beginGroup("General");
+ String val = (String)settings.value("DatabaseURL", "");
+ settings.endGroup();
+ if (val.equals(""))
+ val = "jdbc:h2:"+Global.getFileManager().getDbDirPath(Global.databaseName);
+ return val;
+ }
+
+ // get the url (full path) of the searchable word database
+ public static String getIndexDatabaseUrl() {
+ settings.beginGroup("General");
+ String val = (String)settings.value("IndexDatabaseURL", "");
+ settings.endGroup();
+ if (val.equals(""))
+ val = "jdbc:h2:"+Global.getFileManager().getDbDirPath(Global.indexDatabaseName);
+ return val;
+ }
+
+ // Get the url (full path) of the attachment database
+ public static String getResourceDatabaseUrl() {
+ settings.beginGroup("General");
+ String val = (String)settings.value("ResourceDatabaseURL", "");
+ settings.endGroup();
+ if (val.equals(""))
+ val = "jdbc:h2:"+Global.getFileManager().getDbDirPath(Global.resourceDatabaseName);
+ return val;
+ }
+
+ // ICHANGED
+ // 操作履歴データベースのURL(フルパス)をゲット
+ public static String getBehaviorDatabaseUrl() {
+ settings.beginGroup("General");
+ String val = (String) settings.value("BehaviorDatabaseURL", "");
+ settings.endGroup();
+ if (val.equals(""))
+ val = "jdbc:h2:"
+ + Global.getFileManager().getDbDirPath(
+ Global.behaviorDatabaseName);
+ return val;
+ }
+
+ public static void setDatabaseUrl(String value) {
+ settings.beginGroup("General");
+ settings.setValue("DatabaseURL", value);
+ settings.endGroup();
+ }
+ public static void setIndexDatabaseUrl(String value) {
+ settings.beginGroup("General");
+ settings.setValue("IndexDatabaseURL", value);
+ settings.endGroup();
+ }
+ public static void setResourceDatabaseUrl(String value) {
+ settings.beginGroup("General");
+ settings.setValue("ResourceDatabaseURL", value);
+ settings.endGroup();
+ }
+
+ // ICHANGED
+ public static void setBehaviorDatabaseUrl(String value) {
+ settings.beginGroup("General");
+ settings.setValue("BehaviorDatabaseURL", value);
+ settings.endGroup();
+ }
+
+ public static String getDatabaseUserid() {
+ settings.beginGroup("General");
+ String val = (String)settings.value("databaseUserid", "");
+ settings.endGroup();
+ return val;
+ }
+ public static String getDatabaseUserPassword() {
+ settings.beginGroup("General");
+ String val = (String)settings.value("databaseUserPassword", "");
+ settings.endGroup();
+ return val;
+ }
+
+ // get/Set the style sheet and the palette to control the look & feel
+ public static void setStyle(String style) {
+ settings.beginGroup("General");
+ settings.setValue("style", style);
+ settings.endGroup();
+ }
+ public static String getStyle() {
+ settings.beginGroup("General");
+ String val = (String)settings.value("style", "Cleanlooks");
+ settings.endGroup();
+ return val;
+ }
+ public static boolean useStandardPalette() {
+ settings.beginGroup("General");
+ try {
+ String text = (String)settings.value("standardPalette", "true");
+ settings.endGroup();
+ if (text.equalsIgnoreCase("true"))
+ return true;
+ else
+ return false;
+ } catch (java.lang.ClassCastException e) {
+ Boolean value = (Boolean) settings.value("standardPalette", true);
+ settings.endGroup();
+ return value;
+ }
+ }
+ public static void setStandardPalette(boolean val) {
+ settings.beginGroup("General");
+ if (val)
+ settings.setValue("standardPalette", "true");
+ else
+ settings.setValue("standardPalette", "false");
+ settings.endGroup();
+ }
+
+ // Set the amount of time to wait between indexing
+ // Get/Set interval when the index thread wakes up.
+ public static void setIndexThreadSleepInterval(int sleep) {
+ settings.beginGroup("General");
+ settings.setValue("IndexThreadSleepInterval", sleep);
+ settings.endGroup();
+ }
+ public static int getIndexThreadSleepInterval() {
+ settings.beginGroup("General");
+ Integer sleep;
+ try {
+ String val = (String)settings.value("IndexThreadSleepInterval", "300");
+ sleep = new Integer(val.trim());
+ } catch (Exception e) {
+ try {
+ sleep = (Integer)settings.value("IndexThreadSleepInterval", 0);
+ } catch (Exception e1) {
+ sleep = 300;
+ }
+ }
+ settings.endGroup();
+ return sleep;
+ }
+
+
+ // Get/Set a window state for later restoring
+ public static void saveState(String name, QByteArray state) {
+ int view = Global.getListView();
+ if (view == Global.View_List_Narrow)
+ name = name +"Narrow";
+ settings.beginGroup("SaveState");
+ settings.setValue(name, state);
+ settings.endGroup();
+ }
+
+ public static QByteArray restoreState(String name) {
+ int view = Global.getListView();
+ if (view == Global.View_List_Narrow)
+ name = name +"Narrow";
+ settings.beginGroup("SaveState");
+ QByteArray state = (QByteArray)settings.value(name);
+ settings.endGroup();
+ return state;
+ }
+ public static void saveGeometry(String name, QByteArray state) {
+ int view = Global.getListView();
+ if (view == Global.View_List_Narrow)
+ settings.beginGroup("SaveGeometryNarrow");
+ else
+ settings.beginGroup("SaveGeometry");
+ settings.setValue(name, state);
+ settings.endGroup();
+ }
+
+ public static QByteArray restoreGeometry(String name) {
+ int view = Global.getListView();
+ if (view == Global.View_List_Narrow)
+ settings.beginGroup("SaveGeometryNarrow");
+ else
+ settings.beginGroup("SaveGeometry");
+ QByteArray state = (QByteArray)settings.value(name);
+ settings.endGroup();
+ return state;
+ }
+
+
+ // Set how often to do an automatic save
+ public static void setAutoSaveInterval(int interval) {
+ settings.beginGroup("General");
+ settings.setValue("autoSaveInterval", interval);
+ settings.endGroup();
+ }
+ public static int getAutoSaveInterval() {
+ settings.beginGroup("General");
+ Integer value;
+ try {
+ String val = (String)settings.value("autoSaveInterval", "5");
+ value = new Integer(val.trim());
+ } catch (Exception e) {
+ try {
+ value = (Integer)settings.value("autoSaveInterval", 5);
+ } catch (Exception e1) {
+ value = 5;
+ }
+ }
+ settings.endGroup();
+ return value;
+ }
+
+ // Add an invalid attribute & element to the database so we don't bother parsing it in the future
+ // These values we automatically remove from any note.
+ // Add invalid attributes
+ public static void addInvalidAttribute(String element, String attribute) {
+
+ List<String> attributes = invalidAttributes.get(element);
+ if (attributes != null) {
+ for (int i=0; i<attributes.size(); i++)
+ if (attribute.equalsIgnoreCase(attributes.get(i))) {
+ return;
+ }
+ }
+
+ ArrayList<String> attributeList;
+ if (!invalidAttributes.containsKey(element)) {
+ attributeList = new ArrayList<String>();
+ attributeList.add(attribute);
+ invalidAttributes.put(element, attributeList);
+ }
+ else {
+ attributeList = invalidAttributes.get(element);
+ attributeList.add(attribute);
+ invalidAttributes.put(element,attributeList);
+ }
+ }
+
+ // Add invalid attributes
+ public static void addInvalidElement(String element) {
+ for (int i=0; i<invalidElements.size(); i++) {
+ if (element.equalsIgnoreCase(invalidElements.get(i)))
+ return;
+ }
+ invalidElements.add(element);
+ }
+
+ // Get/Set proxy information
+ // Proxy settings
+ public static String getProxyValue(String key) {
+ settings.beginGroup("Proxy");
+ String val = (String)settings.value(key, "");
+ settings.endGroup();
+ return val;
+ }
+ public static void setProxyValue(String key, String value) {
+ settings.beginGroup("Proxy");
+ settings.setValue(key, value);
+ settings.endGroup();
+ }
+
+ // Change a byte array to a hex string
+ // Convert a byte array to a hex string
+ public static String byteArrayToHexString(byte data[]) {
+ StringBuffer buf = new StringBuffer();
+ for (byte element : data) {
+ int halfbyte = (element >>> 4) & 0x0F;
+ int two_halfs = 0;
+ do {
+ if ((0 <= halfbyte) && (halfbyte <= 9))
+ buf.append((char) ('0' + halfbyte));
+ else
+ buf.append((char) ('a' + (halfbyte - 10)));
+ halfbyte = element & 0x0F;
+ } while(two_halfs++ < 1);
+ }
+ return buf.toString();
+ }
+
+
+ // Get/Set spelling settings
+ public static boolean getSpellSetting(String value) {
+ settings.beginGroup("Spell");
+ String text = (String)settings.value(value, "");
+ settings.endGroup();
+ if (text.equalsIgnoreCase("true"))
+ return true;
+ if (text.equalsIgnoreCase("false"))
+ return false;
+ if (value.equalsIgnoreCase(Configuration.SPELL_IGNOREDIGITWORDS))
+ return true;
+ if (value.equalsIgnoreCase(Configuration.SPELL_IGNOREINTERNETADDRESSES))
+ return true;
+ if (value.equalsIgnoreCase(Configuration.SPELL_IGNOREUPPERCASE))
+ return true;
+ if (value.equalsIgnoreCase(Configuration.SPELL_IGNORESENTENCECAPITALIZATION))
+ return true;
+ return false;
+ }
+ public static void setSpellSetting(String setting, boolean val) {
+ settings.beginGroup("Spell");
+ if (val)
+ settings.setValue(setting, "true");
+ else
+ settings.setValue(setting, "false");
+ settings.endGroup();
+ }
+
+ // Get/Set how we should display tags (color them, hide unused, or do nothing)
+ // What to do with inactive tags?
+ public static String tagBehavior() {
+ settings.beginGroup("General");
+ String text = (String)settings.value("tagBehavior", "DoNothing");
+ settings.endGroup();
+ return text;
+ }
+ // What to do with inactive tags?
+ public static void setTagBehavior(String value) {
+ settings.beginGroup("General");
+ settings.setValue("tagBehavior", value);
+ settings.endGroup();
+ }
+
+
+ // Should the toolbar be visible?
+ public static boolean isToolbarButtonVisible(String window) {
+ settings.beginGroup("ToolbarButtonsVisible");
+ try {
+ String text = (String)settings.value(window, "true");
+ settings.endGroup();
+ if (text.equalsIgnoreCase("true"))
+ return true;
+ else
+ return false;
+ } catch (java.lang.ClassCastException e) {
+ Boolean value = (Boolean) settings.value(window, true);
+ settings.endGroup();
+ return value;
+ }
+ }
+ public static void saveToolbarButtonsVisible(String column, boolean val) {
+ settings.beginGroup("ToolbarButtonsVisible");
+ if (val)
+ settings.setValue(column, "true");
+ else
+ settings.setValue(column, "false");
+ settings.endGroup();
+ }
+
+ // Are thumbnails enabled?
+
+ public static boolean enableThumbnails() {
+ settings.beginGroup("Debug");
+ try {
+ String text = (String)settings.value("thumbnails", "true");
+ settings.endGroup();
+ if (text.equalsIgnoreCase("true"))
+ return true;
+ else
+ return false;
+ } catch (java.lang.ClassCastException e) {
+ Boolean value = (Boolean) settings.value("thumbnails", true);
+ settings.endGroup();
+ return value;
+ }
+ }
+ public static void setEnableThumbnails(boolean val) {
+ settings.beginGroup("Debug");
+ if (val)
+ settings.setValue("thumbnails", "true");
+ else
+ settings.setValue("thumbnails", "false");
+ settings.endGroup();
+ }
+
+ // Trace used for performance tuning. Not normally used in production.
+ // Print date/time. Used mainly for performance tracing
+ public static void trace(boolean resetInterval) {
+ String fmt = "MM/dd/yy HH:mm:ss.SSSSSS";
+ String dateTimeFormat = new String(fmt);
+ SimpleDateFormat simple = new SimpleDateFormat(dateTimeFormat);
+ Calendar cal = Calendar.getInstance();
+ if (intervalTraceTime == null)
+ intervalTraceTime = Calendar.getInstance();
+ if (startTraceTime == null)
+ startTraceTime = Calendar.getInstance();
+
+ float interval = (cal.getTimeInMillis() - intervalTraceTime.getTimeInMillis());
+ float total = (cal.getTimeInMillis() - startTraceTime.getTimeInMillis());
+
+// if (interval > 00.0) {
+ StackTraceElement[] exceptions = Thread.currentThread().getStackTrace();
+ System.out.println("------------------------------------------");
+
+ System.out.println("Date/Time " +simple.format(cal.getTime()));
+ System.out.format("Interval Time: %-10.6f%n", interval);
+ System.out.format("Total Time: %-10.6f%n", total);
+ for (int i=2; i<5 && i<exceptions.length; i++) {
+ System.out.println(exceptions[i]);
+ }
+// }
+ if (resetInterval)
+ intervalTraceTime = cal;
+ }
+ public static void traceReset() {
+ intervalTraceTime = null;
+ startTraceTime = null;
+ }
+
+
+ // Get the FileManager class to manage local files & directories
+ public static FileManager getFileManager() {
+ return fileManager;
+ }
+
+ // Should the note editor be disabled?
+ public static boolean getDisableViewing() {
+ return disableViewing;
+ }
+
+ //**********************
+ //* Thumbnail zoom level
+ //**********************
+ public static int calculateThumbnailZoom(String content) {
+ int zoom = 1;
+ if (content.indexOf("application/pdf") == -1) {
+ if (content.indexOf("image/") == -1) {
+ String text = StringEscapeUtils.unescapeHtml4(content.replaceAll("\\<.*?\\>", ""));
+ zoom = 2;
+ if (text.length() < 500)
+ zoom = 2;
+ if (text.length() < 250)
+ zoom = 3;
+ if (text.length() < 100)
+ zoom = 4;
+ if (text.length() < 50)
+ zoom = 5;
+ if (text.length() < 10)
+ zoom = 6;
+ }
+ }
+ return zoom;
+ }
+
+ //**********************
+ //* List View settings
+ //**********************
+ public static void setListView(int view) {
+ settings.beginGroup("General");
+ settings.setValue("listView", view);
+ settings.endGroup();
+ }
+ public static int getListView() {
+ settings.beginGroup("General");
+ Integer value;
+ try {
+ String val = (String)settings.value("listView", View_List_Wide);
+ value = new Integer(val.trim());
+ } catch (Exception e) {
+ try {
+ value = (Integer)settings.value("listView", View_List_Wide);
+ } catch (Exception e1) {
+ value = View_List_Wide;
+ }
+ }
+ settings.endGroup();
+ return value;
+ }
+
+
+
+ //*******************
+ // Font Settings
+ //*******************
+ public static boolean overrideDefaultFont() {
+ settings.beginGroup("Font");
+ try {
+ String text = (String)settings.value("overrideFont", "false");
+ settings.endGroup();
+ if (text.equalsIgnoreCase("true"))
+ return true;
+ else
+ return false;
+ } catch (java.lang.ClassCastException e) {
+ Boolean value = (Boolean) settings.value("overrideFont", false);
+ settings.endGroup();
+ return value;
+ }
+
+ }
+
+ //****************************************************
+ // Get/Set the default font settings for a new note
+ //****************************************************
+ public static void setOverrideDefaultFont(boolean value) {
+ settings.beginGroup("Font");
+ settings.setValue("overrideFont", value);
+ settings.endGroup();
+ }
+ public static String getDefaultFont() {
+ settings.beginGroup("Font");
+ String val = (String)settings.value("font", "");
+ settings.endGroup();
+ return val;
+ }
+ public static void setDefaultFont(String value) {
+ settings.beginGroup("Font");
+ settings.setValue("font", value);
+ settings.endGroup();
+ }
+ public static String getDefaultFontSize() {
+ settings.beginGroup("Font");
+ String val = (String)settings.value("fontSize", "");
+ settings.endGroup();
+ return val;
+ }
+ public static void setDefaultFontSize(String value) {
+ settings.beginGroup("Font");
+ settings.setValue("fontSize", value);
+ settings.endGroup();
+ }
+
+
+ //*******************************************
+ // Override the close & minimize instead.
+ //*******************************************
+ public static boolean minimizeOnClose() {
+ settings.beginGroup("General");
+ try {
+ String text = (String)settings.value("minimizeOnClose", "false");
+ settings.endGroup();
+ if (text.equalsIgnoreCase("true") && QSystemTrayIcon.isSystemTrayAvailable())
+ return true;
+ else
+ return false;
+ } catch (java.lang.ClassCastException e) {
+ Boolean value = (Boolean) settings.value("minimizeOnClose", false);
+ settings.endGroup();
+ return value;
+ }
+ }
+ public static void setMinimizeOnClose(boolean value) {
+ settings.beginGroup("General");
+ settings.setValue("minimizeOnClose", value);
+ settings.endGroup();
+ }
+
+ //*********************************
+ // Check version information
+ //*********************************
+ public static boolean checkVersionUpgrade() {
+ settings.beginGroup("Upgrade");
+ try {
+ String text = (String)settings.value("checkForUpdates", "true");
+ settings.endGroup();
+ if (text.equalsIgnoreCase("true"))
+ return true;
+ else
+ return false;
+ } catch (java.lang.ClassCastException e) {
+ Boolean value = (Boolean) settings.value("checkForUpdates", true);
+ settings.endGroup();
+ return value;
+ }
+ }
+ public static void setCheckVersionUpgrade(boolean value) {
+ settings.beginGroup("Upgrade");
+ settings.setValue("checkForUpdates", value);
+ settings.endGroup();
+ }
+ public static String getUpdatesAvailableUrl() {
+ settings.beginGroup("Upgrade");
+ String text = (String)settings.value("avialableUrl", "http://puma.cis.ibaraki.ac.jp/products/neighbornote/develop/versions.txt");
+ settings.endGroup();
+ return text;
+ }
+ public static String getUpdateAnnounceUrl() {
+ settings.beginGroup("Upgrade");
+ String text = (String)settings.value("announceUrl", "http://puma.cis.ibaraki.ac.jp/products/neighbornote/develop/upgrade.html");
+ settings.endGroup();
+ return text;
+ }
+ public static String getUpdateDownloadUrl() {
+ settings.beginGroup("Upgrade");
+ String text = (String)settings.value("downloadUrl", "http://puma.cis.ibaraki.ac.jp/products/neighbornote/download.html");
+ settings.endGroup();
+ return text;
+ }
+
+ //*******************
+ // Index settings
+ //*******************
+ // Set/Get if we should index the text of a note
+ public static boolean indexNoteBody() {
+ settings.beginGroup("Index");
+ try {
+ String value = (String)settings.value("indexNoteBody", "true");
+ settings.endGroup();
+ if (value.equals("true"))
+ return true;
+ else
+ return false;
+ } catch (java.lang.ClassCastException e) {
+ Boolean value = (Boolean) settings.value("indexNoteBody", true);
+ settings.endGroup();
+ return value;
+ }
+ }
+ public static void setIndexNoteTitle(boolean value) {
+ settings.beginGroup("Index");
+ settings.setValue("indexNoteTitle", value);
+ settings.endGroup();
+ }
+ // Set/Get if we should index the title of a note
+ public static boolean indexNoteTitle() {
+ settings.beginGroup("Index");
+ try {
+ String value = (String)settings.value("indexNoteTitle", "true");
+ settings.endGroup();
+ if (value.equals("true"))
+ return true;
+ else
+ return false;
+ } catch (java.lang.ClassCastException e) {
+ Boolean value = (Boolean) settings.value("indexNoteTitle", true);
+ settings.endGroup();
+ return value;
+ }
+ }
+ public static void setIndexNoteBody(boolean value) {
+ settings.beginGroup("Index");
+ settings.setValue("indexNoteBody", value);
+ settings.endGroup();
+ }
+ // Set/Get if we should index any attachments
+ public static boolean indexAttachmentsLocally() {
+ settings.beginGroup("Index");
+ try {
+ String value = (String)settings.value("indexAttachmentsLocally", "true");
+ settings.endGroup();
+ if (value.equals("true"))
+ return true;
+ else
+ return false;
+ } catch (java.lang.ClassCastException e) {
+ Boolean value = (Boolean) settings.value("indexAttachmentsLocally", true);
+ settings.endGroup();
+ return value;
+ }
+ }
+ public static void setIndexImageRecognition(boolean value) {
+ settings.beginGroup("Index");
+ settings.setValue("indexImageRecognition", value);
+ settings.endGroup();
+ }
+ public static boolean indexImageRecognition() {
+ settings.beginGroup("Index");
+ try {
+ String value = (String)settings.value("indexImageRecognition", "true");
+ settings.endGroup();
+ if (value.equals("true"))
+ return true;
+ else
+ return false;
+ } catch (java.lang.ClassCastException e) {
+ Boolean value = (Boolean) settings.value("indexImageRecognition", true);
+ settings.endGroup();
+ return value;
+ }
+ }
+ public static void setIndexAttachmentsLocally(boolean value) {
+ settings.beginGroup("Index");
+ settings.setValue("indexAttachmentsLocally", value);
+ settings.endGroup();
+ }
+ // Get/Set characters that shouldn't be removed from a word
+ public static String getSpecialIndexCharacters() {
+ settings.beginGroup("Index");
+ String text = (String)settings.value("specialCharacters", "");
+ settings.endGroup();
+ return text;
+ }
+ public static void setSpecialIndexCharacters(String value) {
+ settings.beginGroup("Index");
+ settings.setValue("specialCharacters", value);
+ settings.endGroup();
+ databaseCache = value;
+ }
+
+ //*****************************************************************************
+ // Control how tag selection behaves (should they be "and" or "or" selections
+ //*****************************************************************************
+ public static boolean anyTagSelectionMatch() {
+ settings.beginGroup("General");
+ try {
+ String value = (String)settings.value("anyTagSelectionMatch", "false");
+ settings.endGroup();
+ if (value.equals("true"))
+ return true;
+ else
+ return false;
+ } catch (java.lang.ClassCastException e) {
+ Boolean value = (Boolean) settings.value("anyTagSelectionMatch", false);
+ settings.endGroup();
+ return value;
+ }
+ }
+ public static void setAnyTagSelectionMatch(boolean value) {
+ settings.beginGroup("General");
+ settings.setValue("anyTagSelectionMatch", value);
+ settings.endGroup();
+ }
+
+ //*****************************************************************************
+ // Control if a user receives a warning when trying to create a note-to-note link
+ // when the DB is not synchronized.
+ //*****************************************************************************
+ public static boolean bypassSynchronizationWarning() {
+ settings.beginGroup("User");
+ try {
+ String value = (String)settings.value("bypassSynchronizationWarning", "false");
+ settings.endGroup();
+ if (value.equals("true"))
+ return true;
+ else
+ return false;
+ } catch (java.lang.ClassCastException e) {
+ Boolean value = (Boolean) settings.value("bypassSynchronizationWarning", false);
+ settings.endGroup();
+ return value;
+ }
+ }
+ public static void setBypassSynchronizationWarning(boolean value) {
+ settings.beginGroup("User");
+ settings.setValue("bypassSynchronizationWarning", value);
+ settings.endGroup();
+ }
+
+
+ //***********************
+ //* Database cache size
+ //***********************
+ public static String getDatabaseCacheSize() {
+ settings.beginGroup("Debug");
+ String text = (String)settings.value("databaseCache", "16384");
+ settings.endGroup();
+ return text;
+ }
+ public static void setDatabaseCache(String value) {
+ settings.beginGroup("Debug");
+ settings.setValue("databaseCache", value);
+ settings.endGroup();
+ databaseCache = value;
+ }
+
+
+ // This is used to copy a class since Java's normal deep copy is wacked
+ public static Object deepCopy(Object oldObj)
+ {
+ ObjectOutputStream oos = null;
+ ObjectInputStream ois = null;
+ try
+ {
+ ByteArrayOutputStream bos =
+ new ByteArrayOutputStream(); // A
+ oos = new ObjectOutputStream(bos); // B
+ // serialize and pass the object
+ oos.writeObject(oldObj); // C
+ oos.flush(); // D
+ ByteArrayInputStream bin =
+ new ByteArrayInputStream(bos.toByteArray()); // E
+ ois = new ObjectInputStream(bin); // F
+ // return the new object
+ return ois.readObject(); // G
+ }
+ catch(Exception e)
+ {
+ Global.logger.log(logger.LOW, "Exception in ObjectCloner = " + e);
+ }
+ try {
+ oos.close();
+ ois.close();
+ } catch (IOException e) {
+ Global.logger.log(logger.LOW, "Exception in ObjectCloner = " + e);
+ e.printStackTrace();
+ }
+
+ return null;
+ }
+
+ // If we should automatically select the children of any tag
+ public static boolean includeTagChildren() {
+ settings.beginGroup("General");
+ try {
+ String value = (String)settings.value("includeTagChildren", "false");
+ settings.endGroup();
+ if (value.equals("true"))
+ return true;
+ else
+ return false;
+ } catch (java.lang.ClassCastException e) {
+ Boolean value = (Boolean) settings.value("includeTagChildren", false);
+ settings.endGroup();
+ return value;
+ }
+
+ }
+ public static void setIncludeTagChildren(boolean value) {
+ settings.beginGroup("General");
+ settings.setValue("includeTagChildren", value);
+ settings.endGroup();
+ }
+
+ // If we should automatically wildcard searches
+ public static boolean automaticWildcardSearches() {
+ settings.beginGroup("General");
+ try {
+ String value = (String)settings.value("automaticWildcard", "false");
+ settings.endGroup();
+ if (value.equals("true"))
+ return true;
+ else
+ return false;
+ } catch (java.lang.ClassCastException e) {
+ Boolean value = (Boolean) settings.value("automaticWildcard", false);
+ settings.endGroup();
+ return value;
+ }
+
+ }
+ public static void setAutomaticWildcardSearches(boolean value) {
+ settings.beginGroup("General");
+ settings.setValue("automaticWildcard", value);
+ settings.endGroup();
+ }
+
+ // If we should automatically select the children of any tag
+ public static boolean displayRightToLeft() {
+ settings.beginGroup("General");
+ try {
+ String value = (String)settings.value("displayRightToLeft", "false");
+ settings.endGroup();
+ if (value.equals("true"))
+ return true;
+ else
+ return false;
+ } catch (java.lang.ClassCastException e) {
+ Boolean value = (Boolean) settings.value("displayRightToLeft", false);
+ settings.endGroup();
+ return value;
+ }
+
+ }
+ public static void setDisplayRightToLeft(boolean value) {
+ settings.beginGroup("General");
+ settings.setValue("displayRightToLeft", value);
+ settings.endGroup();
+ }
+
+
+ //***********************
+ //* Startup Notebook
+ //***********************
+ public static String getStartupNotebook() {
+ settings.beginGroup("General");
+ String text = (String)settings.value("startupNotebook", "");
+ settings.endGroup();
+ return text;
+ }
+ public static void setStartupNotebook(String value) {
+ settings.beginGroup("General");
+ settings.setValue("startupNotebook", value);
+ settings.endGroup();
+ databaseCache = value;
+ }
+
+ // ICHANGED
+ // 複数ノート同時閲覧操作に対する重み付け
+ public static void setBrowseWeight(int weight) {
+ settings.beginGroup("RensoNoteList");
+ settings.setValue("browseWeight", weight);
+ settings.endGroup();
+ }
+ public static int getBrowseWeight() {
+ settings.beginGroup("RensoNoteList");
+ Integer value;
+ try {
+ String val = (String)settings.value("browseWeight", 1);
+ value = new Integer(val.trim());
+ } catch (Exception e) {
+ try {
+ value = (Integer)settings.value("browseWeight", 1);
+ } catch (Exception e1) {
+ value = 1;
+ }
+ }
+ settings.endGroup();
+ return value;
+ }
+
+ // ICHANGED
+ // ノート内容のコピー&ペースト操作に対する重み付け
+ public static void setCopyPasteWeight(int weight) {
+ settings.beginGroup("RensoNoteList");
+ settings.setValue("copyPasteWeight", weight);
+ settings.endGroup();
+ }
+ public static int getCopyPasteWeight() {
+ settings.beginGroup("RensoNoteList");
+ Integer value;
+ try {
+ String val = (String)settings.value("copyPasteWeight", 3);
+ value = new Integer(val.trim());
+ } catch (Exception e) {
+ try {
+ value = (Integer)settings.value("copyPasteWeight", 3);
+ } catch (Exception e1) {
+ value = 3;
+ }
+ }
+ settings.endGroup();
+ return value;
+ }
+
+ // ICHANGED
+ // 新規ノート追加操作に対する重み付け
+ public static void setAddNewNoteWeight(int weight) {
+ settings.beginGroup("RensoNoteList");
+ settings.setValue("addNewNoteWeight", weight);
+ settings.endGroup();
+ }
+ public static int getAddNewNoteWeight() {
+ settings.beginGroup("RensoNoteList");
+ Integer value;
+ try {
+ String val = (String)settings.value("addNewNoteWeight", 1);
+ value = new Integer(val.trim());
+ } catch (Exception e) {
+ try {
+ value = (Integer)settings.value("addNewNoteWeight", 1);
+ } catch (Exception e1) {
+ value = 1;
+ }
+ }
+ settings.endGroup();
+ return value;
+ }
+
+ // ICHANGED
+ // 連想ノートクリック操作に対する重み付け
+ public static void setRensoItemClickWeight(int weight) {
+ settings.beginGroup("RensoNoteList");
+ settings.setValue("rensoItemClickWeight", weight);
+ settings.endGroup();
+ }
+ public static int getRensoItemClickWeight() {
+ settings.beginGroup("RensoNoteList");
+ Integer value;
+ try {
+ String val = (String)settings.value("rensoItemClickWeight", 10);
+ value = new Integer(val.trim());
+ } catch (Exception e) {
+ try {
+ value = (Integer)settings.value("rensoItemClickWeight", 10);
+ } catch (Exception e1) {
+ value = 10;
+ }
+ }
+ settings.endGroup();
+ return value;
+ }
+
+ // ICHANGED
+ // タグ付け操作に対する重み付け
+ public static void setSameTagWeight(int weight) {
+ settings.beginGroup("RensoNoteList");
+ settings.setValue("sameTagWeight", weight);
+ settings.endGroup();
+ }
+ public static int getSameTagWeight() {
+ settings.beginGroup("RensoNoteList");
+ Integer value;
+ try {
+ String val = (String)settings.value("sameTagWeight", 2);
+ value = new Integer(val.trim());
+ } catch (Exception e) {
+ try {
+ value = (Integer)settings.value("sameTagWeight", 2);
+ } catch (Exception e1) {
+ value = 2;
+ }
+ }
+ settings.endGroup();
+ return value;
+ }
+
+ // ICHANGED
+ // ノートブック変更操作に対する重み付け
+ public static void setSameNotebookWeight(int weight) {
+ settings.beginGroup("RensoNoteList");
+ settings.setValue("sameNotebookWeight", weight);
+ settings.endGroup();
+ }
+ public static int getSameNotebookWeight() {
+ settings.beginGroup("RensoNoteList");
+ Integer value;
+ try {
+ String val = (String)settings.value("sameNotebookWeight", 2);
+ value = new Integer(val.trim());
+ } catch (Exception e) {
+ try {
+ value = (Integer)settings.value("sameNotebookWeight", 2);
+ } catch (Exception e1) {
+ value = 2;
+ }
+ }
+ settings.endGroup();
+ return value;
+ }
+
+ //*******************
+ // ノートのマージ・複製の関連ノートリストへの適用
+ //*******************
+ // ICHANGED
+ public static void setMergeRensoNote(boolean value) {
+ settings.beginGroup("RensoNoteList");
+ settings.setValue("mergeRensoNoteList", value);
+ settings.endGroup();
+ }
+ // ICHANGED
+ public static boolean getMergeRensoNote() {
+ settings.beginGroup("RensoNoteList");
+ try {
+ String value = (String)settings.value("mergeRensoNoteList", "true");
+ settings.endGroup();
+ if (value.equals("true"))
+ return true;
+ else
+ return false;
+ } catch (java.lang.ClassCastException e) {
+ Boolean value = (Boolean) settings.value("mergeRensoNoteList", true);
+ settings.endGroup();
+ return value;
+ }
+ }
+ // ICHANGED
+ public static void setDuplicateRensoNote(boolean value) {
+ settings.beginGroup("RensoNoteList");
+ settings.setValue("duplicateRensoNoteList", value);
+ settings.endGroup();
+ }
+ // ICHANGED
+ public static boolean getDuplicateRensoNote() {
+ settings.beginGroup("RensoNoteList");
+ try {
+ String value = (String)settings.value("duplicateRensoNoteList", "true");
+ settings.endGroup();
+ if (value.equals("true"))
+ return true;
+ else
+ return false;
+ } catch (java.lang.ClassCastException e) {
+ Boolean value = (Boolean) settings.value("duplicateRensoNoteList", true);
+ settings.endGroup();
+ return value;
+ }
+ }
+
+ // ICHANGED
+ // 連想ノートリストからノートを除外するときに確認メッセージを表示するかどうか
+ public static boolean verifyExclude() {
+ settings.beginGroup("RensoNoteList");
+ try {
+ String text = (String)settings.value("verifyExclude", "true");
+ settings.endGroup();
+ if (text.equalsIgnoreCase("true"))
+ return true;
+ else
+ return false;
+ } catch (java.lang.ClassCastException e) {
+ Boolean value = (Boolean) settings.value("verifyExclude", true);
+ settings.endGroup();
+ return value;
+ }
+ }
+ // ICHANGED
+ public static void setVerifyExclude(boolean val) {
+ settings.beginGroup("RensoNoteList");
+ if (val)
+ settings.setValue("verifyExclude", "true");
+ else
+ settings.setValue("verifyExclude", "false");
+ settings.endGroup();
+ }
+
+ // ICHANGED
+ // 連想ノートリスト最大表示アイテム数
+ public static void setRensoListItemMaximum(int maximum) {
+ settings.beginGroup("RensoNoteList");
+ settings.setValue("rensoListMaximum", maximum);
+ settings.endGroup();
+ }
+ public static int getRensoListItemMaximum() {
+ settings.beginGroup("RensoNoteList");
+ Integer value;
+ try {
+ String val = (String)settings.value("rensoListMaximum", 20);
+ value = new Integer(val.trim());
+ } catch (Exception e) {
+ try {
+ value = (Integer)settings.value("rensoListMaximum", 20);
+ } catch (Exception e1) {
+ value = 20;
+ }
+ }
+ settings.endGroup();
+ return value;
+ }
+}
+