OSDN Git Service

Evernote APIの帯域制限超過時にエラーメッセージを表示するようにした
[neighbornote/NeighborNote.git] / src / cx / fbn / nevernote / dialog / ConfigRensoNoteListPage.java
index f680b5f..1b888bf 100644 (file)
@@ -25,6 +25,7 @@ import com.trolltech.qt.gui.QCheckBox;
 import com.trolltech.qt.gui.QFormLayout;
 import com.trolltech.qt.gui.QGroupBox;
 import com.trolltech.qt.gui.QHBoxLayout;
+import com.trolltech.qt.gui.QLabel;
 import com.trolltech.qt.gui.QSlider;
 import com.trolltech.qt.gui.QSpinBox;
 import com.trolltech.qt.gui.QVBoxLayout;
@@ -39,6 +40,7 @@ public class ConfigRensoNoteListPage extends QWidget {
        private final QSlider rensoItemClickSlider;
        private final QSlider sameTagSlider;
        private final QSlider sameNotebookSlider;
+       private final QSlider enRelatedNotesSlider;
        
        private final QSpinBox browseSpinner;
        private final QSpinBox copyPasteSpinner;
@@ -47,6 +49,7 @@ public class ConfigRensoNoteListPage extends QWidget {
        private final QSpinBox sameTagSpinner;
        private final QSpinBox sameNotebookSpinner;
        private final QSpinBox rensoListItemMaximumSpinner;
+       private final QSpinBox enRelatedNotesSpinner;
        
        private final QCheckBox mergeCheck;
        private final QCheckBox duplicateCheck;
@@ -182,20 +185,69 @@ public class ConfigRensoNoteListPage extends QWidget {
                
                QHBoxLayout sameNotebookLayout = new QHBoxLayout();
                sameNotebookLayout.addWidget(sameNotebookSlider);
-               sameNotebookLayout.addWidget(sameNotebookSpinner);      
+               sameNotebookLayout.addWidget(sameNotebookSpinner);
                
+               // enRelatedNotes
+               enRelatedNotesSlider = new QSlider();
+               enRelatedNotesSlider.setOrientation(Qt.Orientation.Horizontal);
+               enRelatedNotesSlider.setRange(0, 10);
+               enRelatedNotesSlider.setSingleStep(1);
+               enRelatedNotesSlider.setTickPosition(QSlider.TickPosition.TicksAbove);
+               enRelatedNotesSlider.setTickInterval(1);
+               enRelatedNotesSlider.setFocusPolicy(Qt.FocusPolicy.StrongFocus);
+               
+               enRelatedNotesSpinner = new QSpinBox();
+               enRelatedNotesSpinner.setRange(0, 10);
+               enRelatedNotesSpinner.setSingleStep(1);
+               
+               enRelatedNotesSlider.valueChanged.connect(enRelatedNotesSpinner, "setValue(int)");
+               enRelatedNotesSpinner.valueChanged.connect(enRelatedNotesSlider, "setValue(int)");
+               enRelatedNotesSpinner.setValue(Global.getENRelatedNotesWeight());
+               
+               QHBoxLayout enRelatedNotesLayout = new QHBoxLayout();
+               enRelatedNotesLayout.addWidget(enRelatedNotesSlider);
+               enRelatedNotesLayout.addWidget(enRelatedNotesSpinner);
+               
+               // 重み付け設定部分のレイアウト
+               QVBoxLayout vLayout = new QVBoxLayout();
                QFormLayout styleLayout = new QFormLayout();
                styleLayout.setHorizontalSpacing(10);
                styleLayout.setVerticalSpacing(30);
-               styleLayout.addRow(tr("Browse Weight"), browseLayout);
+               styleLayout.addRow(tr("Concurrent Browse Weight"), browseLayout);
                styleLayout.addRow(tr("Copy&Paste Weight"), copyPasteLayout);
                styleLayout.addRow(tr("Add New Note Weight"), addNewNoteLayout);
                styleLayout.addRow(tr("Renso Item Click Weight"), rensoItemClickLayout);
                styleLayout.addRow(tr("Same Tag Weight"), sameTagLayout);
                styleLayout.addRow(tr("Same Notebook Weight"), sameNotebookLayout);
+               styleLayout.addRow(tr("Evernote Related Notes Weight"), enRelatedNotesLayout);
+               vLayout.addLayout(styleLayout);
 
                QGroupBox weightingGroup = new QGroupBox(tr("Weighting"));
-               weightingGroup.setLayout(styleLayout);
+               weightingGroup.setLayout(vLayout);
+               
+               // プリセットモードがカスタム以外ならば設定不可能にする
+               String mode = new String(Global.rensoWeightingSelect());
+               if (!mode.equals("Custom")) {
+                       QLabel attention = new QLabel(tr("You can change these settings if you select \"Custom\" Mode."));
+                       attention.setStyleSheet("color : red");
+                       vLayout.insertWidget(0, attention);
+                       vLayout.insertSpacing(1, 20);
+                       
+                       browseSlider.setEnabled(false);
+                       browseSpinner.setEnabled(false);
+                       copyPasteSlider.setEnabled(false);
+                       copyPasteSpinner.setEnabled(false);
+                       addNewNoteSlider.setEnabled(false);
+                       addNewNoteSpinner.setEnabled(false);
+                       rensoItemClickSlider.setEnabled(false);
+                       rensoItemClickSpinner.setEnabled(false);
+                       sameTagSlider.setEnabled(false);
+                       sameTagSpinner.setEnabled(false);
+                       sameNotebookSlider.setEnabled(false);
+                       sameNotebookSpinner.setEnabled(false);
+                       enRelatedNotesSlider.setEnabled(false);
+                       enRelatedNotesSpinner.setEnabled(false);
+               }
                
                // ノートのマージ・複製の関連ノートリストへの適用
                mergeCheck = new QCheckBox(tr("When you merge the notes, also merge RensoNoteList"));
@@ -273,6 +325,13 @@ public class ConfigRensoNoteListPage extends QWidget {
        public int getSameNotebookWeight() {
                return sameNotebookSpinner.value();
        }
+       
+       //*****************************************
+       //* Evernote Related Notes Integration Weight
+       //*****************************************
+       public int getENRelatedNotesWeight() {
+               return enRelatedNotesSpinner.value();
+       }
 
        //*****************************************
        //* Merge Check