2 * \file QSpellchecker.C
3 * This file is part of LyX, the document processor.
4 * Licence details can be found in the file COPYING.
8 * Full author contact details are available in file CREDITS.
13 #include "QSpellchecker.h"
14 #include "QSpellcheckerDialog.h"
16 #include "qt_helpers.h"
18 #include "controllers/ControlSpellchecker.h"
20 #include <qprogressbar.h>
21 #include <qlineedit.h>
22 #include <qpushbutton.h>
24 #include <qcombobox.h>
31 typedef QController<ControlSpellchecker, QView<QSpellcheckerDialog> > base_class;
34 QSpellchecker::QSpellchecker(Dialog & parent)
35 : base_class(parent, _("Spellchecker"))
39 void QSpellchecker::build_dialog()
41 dialog_.reset(new QSpellcheckerDialog(this));
43 bcview().setCancel(dialog_->closePB);
44 dialog_->wordED->setReadOnly(true);
48 void QSpellchecker::update_contents()
50 if (isVisible() || controller().exitEarly()) {
56 void QSpellchecker::accept()
58 controller().ignoreAll();
62 void QSpellchecker::add()
64 controller().insert();
68 void QSpellchecker::ignore()
74 void QSpellchecker::replace()
76 controller().replace(fromqstr(dialog_->replaceCO->currentText()));
80 void QSpellchecker::partialUpdate(int s)
82 ControlSpellchecker::State const state =
83 static_cast<ControlSpellchecker::State>(s);
87 case ControlSpellchecker::SPELL_PROGRESSED:
88 dialog_->spellcheckPR->setProgress(controller().getProgress());
91 case ControlSpellchecker::SPELL_FOUND_WORD: {
92 dialog_->wordED->setText(toqstr(controller().getWord()));
93 dialog_->suggestionsLB->clear();
96 while (!(w = controller().getSuggestion()).empty()) {
97 dialog_->suggestionsLB->insertItem(toqstr(w));
100 if (dialog_->suggestionsLB->count() == 0) {
101 dialog_->suggestionChanged(dialog_->wordED->text());
103 dialog_->suggestionChanged(dialog_->suggestionsLB->text(0));
111 } // namespace frontend