From: yuki Date: Mon, 28 Oct 2013 09:19:17 +0000 (+0900) Subject: ツールバーの「新規」ボタンを押した時にノートを新しいタブで開けるように変更した X-Git-Tag: version0.4~1^2~9 X-Git-Url: http://git.sourceforge.jp/view?p=neighbornote%2FNeighborNote.git;a=commitdiff_plain;h=8db652239f4361aca19d632e306a84c6d2fbd997 ツールバーの「新規」ボタンを押した時にノートを新しいタブで開けるように変更した --- diff --git a/src/cx/fbn/nevernote/Global.java b/src/cx/fbn/nevernote/Global.java index 1a557c3..0b04922 100644 --- a/src/cx/fbn/nevernote/Global.java +++ b/src/cx/fbn/nevernote/Global.java @@ -2599,5 +2599,27 @@ public class Global { settings.setValue("customENRelatedNotesWeight", weight); settings.endGroup(); } + + // ツールバーの「新規」ボタンを押した時、新規ノートをタブで開くかどうか + public static boolean toolBarNewAction() { + settings.beginGroup("General"); + try { + String text = (String)settings.value("toolBarNewAction", "true"); + settings.endGroup(); + if (text.equalsIgnoreCase("true")) + return true; + else + return false; + } catch (java.lang.ClassCastException e) { + Boolean value = (Boolean) settings.value("toolBarNewAction", true); + settings.endGroup(); + return value; + } + } + public static void setToolBarNewAction(boolean value) { + settings.beginGroup("General"); + settings.setValue("toolBarNewAction", value); + settings.endGroup(); + } } diff --git a/src/cx/fbn/nevernote/NeverNote.java b/src/cx/fbn/nevernote/NeverNote.java index 022276a..7728f11 100644 --- a/src/cx/fbn/nevernote/NeverNote.java +++ b/src/cx/fbn/nevernote/NeverNote.java @@ -3263,7 +3263,12 @@ public class NeverNote extends QMainWindow{ newButton = toolBar.addAction(tr("New")); QIcon newIcon = new QIcon(iconPath+"new.png"); - newButton.triggered.connect(this, "addNote()"); + if (Global.toolBarNewAction()) { + newButton.triggered.connect(this, "noteAddNewTab()"); + } else { + newButton.triggered.connect(this, "addNote()"); + } + newButton.setIcon(newIcon); toggleNewButton(Global.isToolbarButtonVisible("new")); @@ -7722,4 +7727,10 @@ public class NeverNote extends QMainWindow{ private void informRateLimit(Integer rateLimitDuration) { QMessageBox.warning(this, tr("Rate limit reached"), tr("Rate limit reached.\nRetry your request in " + rateLimitDuration + " seconds.")); } + + // ツールバーの「新規」ボタンの接続スロットを設定 + public void connectNewButtonSlot(String slot) { + newButton.triggered.disconnect(); + newButton.triggered.connect(this, slot); + } } diff --git a/src/cx/fbn/nevernote/dialog/ConfigAppearancePage.java b/src/cx/fbn/nevernote/dialog/ConfigAppearancePage.java index 90b99a9..6437567 100644 --- a/src/cx/fbn/nevernote/dialog/ConfigAppearancePage.java +++ b/src/cx/fbn/nevernote/dialog/ConfigAppearancePage.java @@ -57,6 +57,7 @@ public class ConfigAppearancePage extends QWidget { private final QCheckBox minimizeOnClose; private final QCheckBox includeTagChildren; private final QCheckBox displayRightToLeft; + private final QCheckBox toolBarNewAction; private final QComboBox startupNotebook; private final QSpinBox autoSaveInterval; @@ -155,6 +156,7 @@ public class ConfigAppearancePage extends QWidget { anyTagSelection = new QCheckBox(tr("Display Notes Matching Any Selected Tags")); includeTagChildren = new QCheckBox(tr("Include Children In Tag Selection")); displayRightToLeft = new QCheckBox(tr("Display Notes Right-To-Left")); + toolBarNewAction = new QCheckBox(tr("Add Note in New Tab When Click Tool Bar New Button")); QHBoxLayout startupNotebookLayout = new QHBoxLayout(); startupNotebook = new QComboBox(); @@ -193,6 +195,7 @@ public class ConfigAppearancePage extends QWidget { checkboxLayout.addWidget(includeTagChildren); checkboxLayout.addWidget(displayRightToLeft); checkboxLayout.addWidget(checkForUpdates); + checkboxLayout.addWidget(toolBarNewAction); checkboxLayout.addStretch(1); @@ -350,6 +353,16 @@ public class ConfigAppearancePage extends QWidget { public boolean getCheckForUpdates() { return checkForUpdates.isChecked(); } + + //******************************************* + //* tool bar new button action get/set + //******************************************* + public void setNewAction(boolean val) { + toolBarNewAction.setChecked(val); + } + public boolean getNewAction() { + return toolBarNewAction.isChecked(); + } //******************************************** diff --git a/src/cx/fbn/nevernote/dialog/ConfigDialog.java b/src/cx/fbn/nevernote/dialog/ConfigDialog.java index 7a18037..db344b7 100644 --- a/src/cx/fbn/nevernote/dialog/ConfigDialog.java +++ b/src/cx/fbn/nevernote/dialog/ConfigDialog.java @@ -148,6 +148,11 @@ public class ConfigDialog extends QDialog { Global.setCheckVersionUpgrade(true); else Global.setCheckVersionUpgrade(false); + + if (appearancePage.getNewAction()) + Global.setToolBarNewAction(true); + else + Global.setToolBarNewAction(false); if (appearancePage.getNewNoteWithTags()) @@ -265,6 +270,13 @@ public class ConfigDialog extends QDialog { Global.rebuildFullTextNoteTarget(conn); Global.rebuildFullTextResourceTarget(conn); + // ツールバーの「新規」ボタンを押した時の動作を再設定 + if (Global.toolBarNewAction()) { + parent.connectNewButtonSlot("noteAddNewTab()"); + } else { + parent.connectNewButtonSlot("addNote()"); + } + close(); } @@ -370,6 +382,7 @@ public class ConfigDialog extends QDialog { appearancePage.setIncludeTagChildren(Global.includeTagChildren()); appearancePage.setDisplayRightToLeft(Global.displayRightToLeft()); appearancePage.setStartupNotebook(Global.getStartupNotebook()); + appearancePage.setNewAction(Global.toolBarNewAction()); // indexPage.setRegex(Global.getWordRegex()); indexPage.setSleepInterval(Global.getIndexThreadSleepInterval()); diff --git a/src/cx/fbn/nevernote/gui/BrowserWindow.java b/src/cx/fbn/nevernote/gui/BrowserWindow.java index 4b4a3fb..2434e5d 100644 --- a/src/cx/fbn/nevernote/gui/BrowserWindow.java +++ b/src/cx/fbn/nevernote/gui/BrowserWindow.java @@ -1858,6 +1858,10 @@ public class BrowserWindow extends QWidget { if (tagEdit.text().equalsIgnoreCase(saveTagList)) return; + if (saveTagList == null) { + return; + } + // We know something has changed... String oldTagArray[] = saveTagList.split(Global.tagDelimeter); String newTagArray[];