\r
package cx.fbn.nevernote.dialog;\r
\r
+import java.util.List;\r
+\r
+import com.swabunga.spell.engine.Word;\r
+import com.swabunga.spell.event.SpellChecker;\r
+import com.trolltech.qt.core.Qt.AlignmentFlag;\r
import com.trolltech.qt.gui.QDialog;\r
import com.trolltech.qt.gui.QGridLayout;\r
import com.trolltech.qt.gui.QLabel;\r
private String misspelledWord;\r
private final QPushButton replace;\r
private final QPushButton ignore;\r
+ private final QPushButton ignoreAll;\r
+ private final QPushButton addToDictionary;\r
private final QListWidget suggestions;\r
+ private final SpellChecker checker;\r
\r
\r
// Constructor\r
- public SpellCheck() {\r
+ public SpellCheck(SpellChecker checker) {\r
replacePressed = false;\r
cancelPressed = false;\r
+ this.checker = checker;\r
setWindowTitle(tr("Spell Check"));\r
QGridLayout grid = new QGridLayout();\r
setLayout(grid);\r
\r
replace = new QPushButton(tr("Replace"));\r
ignore = new QPushButton(tr("Ignore"));\r
+ ignoreAll = new QPushButton(tr("Ignore All"));\r
+ addToDictionary = new QPushButton(tr("Add To Dictionary"));\r
replace.clicked.connect(this, "replaceButtonPressed()");\r
ignore.clicked.connect(this, "ignoreButtonPressed()");\r
+ ignoreAll.clicked.connect(this, "ignoreAllButtonPressed()");\r
+ addToDictionary.clicked.connect(this, "addToDictionaryButtonPressed()");\r
QPushButton cancel = new QPushButton(tr("Cancel"));\r
cancel.clicked.connect(this, "cancelButtonPressed()");\r
suggestionGrid.addWidget(replace, 1, 2);\r
suggestionGrid.addWidget(ignore, 2, 2);\r
+ suggestionGrid.addWidget(ignoreAll,3,2);\r
+ suggestionGrid.addWidget(addToDictionary,4,2);\r
+ suggestionGrid.setAlignment(addToDictionary, AlignmentFlag.AlignTop);\r
buttonGrid.addWidget(new QLabel(), 1,1);\r
buttonGrid.addWidget(cancel, 1,2);\r
buttonGrid.addWidget(new QLabel(), 1,3);\r
close();\r
}\r
\r
+ // The ignore button was pressed\r
+ @SuppressWarnings("unused")\r
+ private void ignoreAllButtonPressed() {\r
+ checker.ignoreAll(misspelledWord);\r
+ close();\r
+ }\r
+ \r
// Get the userid from the field\r
public String getReplacementWord() {\r
return replacementWord.text();\r
// Validate user input\r
public void validateInput() {\r
replace.setEnabled(true);\r
+ suggestions.clear();\r
if (replacementWord.text().trim().equals("")) {\r
replace.setEnabled(false);\r
return;\r
}\r
+ \r
+ List<Word> values = checker.getSuggestions(replacementWord.text(), 10);\r
+ for (int i=0; i<values.size(); i++) {\r
+ suggestions.addItem(values.get(i).toString());\r
+ }\r
}\r
\r
private void replacementChosen() {\r
replacementWord.setText(sel);\r
}\r
\r
+ //Add an item to the dictionary\r
+ private void addToDictionaryButtonPressed() {\r
+ checker.addToDictionary(misspelledWord);\r
+ this.close();\r
+ }\r
\r
// Add a suggestion\r
public void addSuggestion(String word) {\r