OSDN Git Service

キーワード検索の検索範囲を設定ファイルに保持するようにした。キーワード検索入力欄のサイズ設定を変更した。
authoryuki <kimaira7@gmail.com>
Wed, 25 Dec 2013 08:01:06 +0000 (17:01 +0900)
committeryuki <kimaira7@gmail.com>
Wed, 25 Dec 2013 08:01:06 +0000 (17:01 +0900)
src/cx/fbn/nevernote/Global.java
src/cx/fbn/nevernote/NeverNote.java
src/cx/fbn/nevernote/gui/SearchEdit.java

index 3873d54..7a6658c 100644 (file)
@@ -52,6 +52,7 @@ import cx.fbn.nevernote.config.InitializationException;
 import cx.fbn.nevernote.config.StartupConfig;
 import cx.fbn.nevernote.gui.ContainsAttributeFilterTable;
 import cx.fbn.nevernote.gui.DateAttributeFilterTable;
+import cx.fbn.nevernote.gui.SearchEdit.SearchTarget;
 import cx.fbn.nevernote.gui.ShortcutKeys;
 import cx.fbn.nevernote.sql.DatabaseConnection;
 import cx.fbn.nevernote.sql.driver.NSqlQuery;
@@ -2621,5 +2622,28 @@ public class Global {
                settings.setValue("toolBarNewAction", value);
                settings.endGroup();    
        }
+       
+       // 全文検索の範囲
+       public static SearchTarget searchTarget() {
+               settings.beginGroup("General");
+               try {
+                       String text = (String)settings.value("searchTarget", "0");
+                       settings.endGroup();
+                       int ordinal = Integer.parseInt(text);
+                       SearchTarget target = fromOrdinal(SearchTarget.class, ordinal);
+                       return target;
+               } catch (java.lang.ClassCastException e) {
+                       int value = (Integer) settings.value("searchTarget", 0);
+                       settings.endGroup();;
+                       SearchTarget target = fromOrdinal(SearchTarget.class, value);
+                       return target;
+               }
+       }
+       
+       public static void setSearchTarget(SearchTarget target) {
+               settings.beginGroup("General");
+               settings.setValue("searchTarget", target.ordinal());
+               settings.endGroup();
+       }
 }
 
index 4c8a78b..f09b5a3 100644 (file)
@@ -3305,7 +3305,9 @@ public class NeverNote extends QMainWindow{
         searchField.setObjectName("searchField");
        searchField.returnPressed.connect(this, "searchFieldChanged()");
        searchField.textChanged.connect(this,"searchFieldTextChanged(String)");
-       searchField.setFixedWidth(300);
+       searchField.setMaximumWidth(400);
+       searchField.setMinimumWidth(80);
+       searchField.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Fixed);
        searchShortcut = new QShortcut(this);
        setupShortcut(searchShortcut, "Focus_Search");
        searchShortcut.activated.connect(this, "focusSearch()");
index 419d884..e90a04f 100644 (file)
@@ -37,6 +37,7 @@ import com.trolltech.qt.gui.QResizeEvent;
 import com.trolltech.qt.gui.QStyle.PixelMetric;
 import com.trolltech.qt.gui.QToolButton;
 
+import cx.fbn.nevernote.Global;
 import cx.fbn.nevernote.sql.DatabaseConnection;
 
 public class SearchEdit extends QLineEdit {
@@ -94,16 +95,24 @@ public class SearchEdit extends QLineEdit {
                targetMenu.addAction(currentContextAction);
                targetGroup.triggered.connect(this, "toggleSearchTarget(QAction)");
                
-               // 初期状態として「すべてのノートを検索」を選択
-               allNotesAction.setChecked(true);
-               toggleSearchTarget(allNotesAction);
+               // 検索対象を初期状態をiniファイルから取得して設定
+               final SearchTarget target = Global.searchTarget();
+               if (target == SearchTarget.AllNotes) {
+                       allNotesAction.setChecked(true);
+                       toggleSearchTarget(allNotesAction);
+               } else if (target == SearchTarget.CurrentContext) {
+                       currentContextAction.setChecked(true);
+                       toggleSearchTarget(currentContextAction);
+               }
        }
        
        private void toggleSearchTarget(QAction action) {
                if (action == allNotesAction) {
                        defaultText = new String(tr("Search All Notes"));
+                       Global.setSearchTarget(SearchTarget.AllNotes);
                } else if (action == currentContextAction) {
                        defaultText = new String(tr("Search Current Context"));
+                       Global.setSearchTarget(SearchTarget.CurrentContext);
                }
        setDefaultText();
        this.clearFocus();