/*\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
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
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
\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
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
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
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
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
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
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
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
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
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
}\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
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