OSDN Git Service

Add automatic upgrade checking.
[neighbornote/NeighborNote.git] / src / cx / fbn / nevernote / dialog / ConfigDialog.java
index 77ae85e..472ad73 100644 (file)
@@ -23,6 +23,7 @@ import java.io.FileInputStream;
 import java.io.FileNotFoundException;\r
 import java.io.FileOutputStream;\r
 \r
+import com.swabunga.spell.engine.Configuration;\r
 import com.trolltech.qt.core.QSize;\r
 import com.trolltech.qt.core.Qt.AlignmentFlag;\r
 import com.trolltech.qt.core.Qt.ItemFlag;\r
@@ -42,16 +43,19 @@ import cx.fbn.nevernote.Global;
 import cx.fbn.nevernote.utilities.AESEncrypter;\r
 public class ConfigDialog extends QDialog {\r
        private final QListWidget                               contentsWidget;\r
+       private final ConfigFontPage                    fontPage;\r
        private final QStackedWidget                    pagesWidget;\r
        private final ConfigConnectionPage              connectionPage;\r
        private final ConfigDebugPage                   debugPage;\r
        private final ConfigAppearancePage              appearancePage;\r
        private final ConfigSpellPage                   spellPage;\r
        private final ConfigIndexPage                   indexPage;\r
+    private final String iconPath = new String("classpath:cx/fbn/nevernote/icons/");\r
        \r
        public ConfigDialog(QWidget parent) {\r
                \r
                contentsWidget = new QListWidget(this);\r
+               setWindowIcon(new QIcon(iconPath+"config.png"));\r
                contentsWidget.setViewMode(QListView.ViewMode.IconMode);\r
                contentsWidget.setIconSize(new QSize(96, 84));\r
                contentsWidget.setMovement(QListView.Movement.Static);\r
@@ -59,12 +63,14 @@ public class ConfigDialog extends QDialog {
                contentsWidget.setSpacing(12);\r
                \r
                pagesWidget = new QStackedWidget(this);\r
+               fontPage = new ConfigFontPage(this);\r
                connectionPage = new ConfigConnectionPage(this);\r
                appearancePage = new ConfigAppearancePage(this);\r
                indexPage = new ConfigIndexPage(this);\r
                debugPage = new ConfigDebugPage(this);\r
                spellPage = new ConfigSpellPage(this);\r
                pagesWidget.addWidget(appearancePage);\r
+               pagesWidget.addWidget(fontPage);\r
                pagesWidget.addWidget(indexPage);\r
                pagesWidget.addWidget(spellPage);\r
                pagesWidget.addWidget(connectionPage);\r
@@ -98,6 +104,7 @@ public class ConfigDialog extends QDialog {
        }\r
        public void okPushed() {\r
                Global.setServer(debugPage.getServer());\r
+               Global.setEnableThumbnails(debugPage.getEnableThumbnails());\r
                AESEncrypter aes = new AESEncrypter();\r
                aes.setUserid(connectionPage.getUserid().trim());\r
                \r
@@ -107,6 +114,7 @@ public class ConfigDialog extends QDialog {
                        Global.disableUploads = false;\r
                Global.setDisableUploads(Global.disableUploads);\r
                Global.setMimicEvernoteInterface(appearancePage.getMimicEvernote());\r
+               Global.setMinimizeOnClose(appearancePage.getMinimizeOnClose());\r
                \r
                if (appearancePage.getShowSplashScreen())\r
                        Global.saveWindowVisible("SplashScreen", true);\r
@@ -118,6 +126,12 @@ public class ConfigDialog extends QDialog {
                        Global.setPdfPreview(true);\r
                else\r
                        Global.setPdfPreview(false);\r
+\r
+               if (appearancePage.getCheckForUpdates())\r
+                       Global.setCheckVersionUpgrade(true);\r
+               else\r
+                       Global.setCheckVersionUpgrade(false);\r
+\r
                \r
                if (appearancePage.getNewNoteWithTags())\r
                        Global.setNewNoteWithSelectedTags(true);\r
@@ -131,12 +145,18 @@ public class ConfigDialog extends QDialog {
                if (connectionPage.getRememberPassword()) {     \r
                        aes.setPassword(connectionPage.getPassword());\r
                }\r
+               Global.setProxyValue("url", connectionPage.getProxyUrl());\r
+               Global.setProxyValue("port", connectionPage.getProxyPort());\r
+               Global.setProxyValue("userid", connectionPage.getProxyUserid());\r
+               Global.setProxyValue("password", connectionPage.getProxyPassword());\r
+               \r
                Global.setShowTrayIcon(appearancePage.getShowTrayIcon());\r
                Global.setVerifyDelete(appearancePage.getVerifyDelete());\r
                Global.setStartMinimized(appearancePage.getStartMinimized());\r
                Global.setSynchronizeOnClose(connectionPage.getSynchronizeOnClose());\r
                Global.setSynchronizeDeletedContent(connectionPage.getSynchronizeDeletedContent());\r
                Global.setTagBehavior(appearancePage.getTagBehavior());\r
+               Global.setIndexAttachmentsLocally(indexPage.getIndexAttachmentsLocally());\r
        FileOutputStream out = null;\r
                try {\r
                        out = new FileOutputStream(Global.getFileManager().getHomeDirFile("secure.txt"));\r
@@ -148,14 +168,17 @@ public class ConfigDialog extends QDialog {
                Global.userStoreUrl = "https://"+debugPage.getServer()+"/edam/user";\r
                Global.setWordRegex(indexPage.getRegex());\r
                Global.setRecognitionWeight(indexPage.getRecognitionWeight());\r
-               Global.setMinimumWordLength(indexPage.getWordLength());\r
-               Global.minimumWordCount = indexPage.getWordLength();    \r
-               Global.setIndexThreads(indexPage.getIndexThreads());\r
                Global.setIndexThreadSleepInterval(indexPage.getSleepInterval());\r
                Global.setMessageLevel( debugPage.getDebugLevel());\r
                Global.saveCarriageReturnFix(debugPage.getCarriageReturnFix());\r
                Global.enableCarriageReturnFix = debugPage.getCarriageReturnFix();\r
                \r
+               Global.setSpellSetting(Configuration.SPELL_IGNOREDIGITWORDS, spellPage.getIgnoreDigitWords());\r
+               Global.setSpellSetting(Configuration.SPELL_IGNOREINTERNETADDRESSES, spellPage.getIgnoreInternetAddresses());\r
+               Global.setSpellSetting(Configuration.SPELL_IGNOREMIXEDCASE, spellPage.getIgnoreMixedCase());\r
+               Global.setSpellSetting(Configuration.SPELL_IGNOREUPPERCASE, spellPage.getIgnoreUpperCase());\r
+               Global.setSpellSetting(Configuration.SPELL_IGNORESENTENCECAPITALIZATION, spellPage.getIgnoreSentenceCapitalization());\r
+               \r
                String guiFormat = appearancePage.getStyle();\r
                QApplication.setStyle(guiFormat);\r
                QApplication.style().standardPalette();\r
@@ -177,6 +200,10 @@ public class ConfigDialog extends QDialog {
                Global.setTimeFormat(timeFmt);\r
                \r
                Global.setSyncInterval(connectionPage.getSyncInterval());\r
+               \r
+               Global.setOverrideDefaultFont(fontPage.overrideFont());\r
+               Global.setDefaultFont(fontPage.getFont());\r
+               Global.setDefaultFontSize(fontPage.getFontSize());\r
                                \r
                close();\r
        }\r
@@ -205,6 +232,12 @@ public class ConfigDialog extends QDialog {
                formatsButton.setFlags(ItemFlag.ItemIsSelectable, ItemFlag.ItemIsEnabled);\r
                formatsButton.setIcon(new QIcon(iconPath+"appearance.jpg"));\r
                \r
+               QListWidgetItem fontButton = new QListWidgetItem(contentsWidget);\r
+               fontButton.setText(tr("Fonts"));\r
+               fontButton.setTextAlignment(AlignmentFlag.AlignHCenter.value());\r
+               fontButton.setFlags(ItemFlag.ItemIsSelectable, ItemFlag.ItemIsEnabled);\r
+               fontButton.setIcon(new QIcon(iconPath+"fontConfig.png"));\r
+               \r
                QListWidgetItem indexButton = new QListWidgetItem(contentsWidget);\r
                indexButton.setText(tr("Indexing"));\r
                indexButton.setTextAlignment(AlignmentFlag.AlignHCenter.value());\r
@@ -241,6 +274,7 @@ public class ConfigDialog extends QDialog {
                \r
                debugPage.setServer(Global.getServer());\r
                debugPage.setDisableUploads(Global.disableUploads);\r
+               debugPage.setEnableThumbnails(Global.enableThumbnails());\r
 //             if (Global.getUpdateSequenceNumber() > 0)\r
                        debugPage.serverCombo.setEnabled(false);\r
                \r
@@ -270,13 +304,13 @@ public class ConfigDialog extends QDialog {
                appearancePage.setVerifyDelete(Global.verifyDelete());\r
                appearancePage.setStartMinimized(Global.startMinimized());\r
                appearancePage.setPdfPreview(Global.pdfPreview());\r
+               appearancePage.setCheckForUpdates(Global.checkVersionUpgrade());\r
                appearancePage.setNewNoteWithTags(Global.newNoteWithSelectedTags());\r
                appearancePage.setShowSplashScreen(Global.isWindowVisible("SplashScreen"));\r
                appearancePage.setTagBehavior(Global.tagBehavior());\r
+               appearancePage.setMinimizeOnClose(Global.minimizeOnClose());\r
                \r
                indexPage.setRegex(Global.getWordRegex());\r
-               indexPage.setWordLength(Global.getMinimumWordLength());\r
-               indexPage.setIndexThreads(Global.getIndexThreads());\r
                indexPage.setSleepInterval(Global.getIndexThreadSleepInterval());\r
                connectionPage.setSyncInterval(Global.getSyncInterval());\r
                \r