X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fqt4%2FGuiSpellchecker.h;h=5851e8ceda5e31cd9e3c05df50727546f2ca4135;hb=43c09d723435a5b203f2ac0c39e2086de836b386;hp=fc58b0f7415300a4dbc6e2a15491e8c7ab50bd61;hpb=6f3cdf8da80a6b3889f2a3b8b53f44590152d600;p=lyx.git diff --git a/src/frontends/qt4/GuiSpellchecker.h b/src/frontends/qt4/GuiSpellchecker.h index fc58b0f741..5851e8ceda 100644 --- a/src/frontends/qt4/GuiSpellchecker.h +++ b/src/frontends/qt4/GuiSpellchecker.h @@ -7,6 +7,7 @@ * \author John Levon * \author Kalle Dalheimer * \author Edwin Leuven + * \author Abdelrazak Younes * * Full author contact details are available in file CREDITS. */ @@ -14,99 +15,69 @@ #ifndef GUISPELLCHECKER_H #define GUISPELLCHECKER_H -#include "GuiDialog.h" -#include "ui_SpellcheckerUi.h" -#include "Dialog.h" -#include "WordLangTuple.h" +#include "DockView.h" +#include class QListWidgetItem; namespace lyx { -class SpellBase; +class docstring_list; namespace frontend { -class GuiSpellchecker : public GuiDialog, public Ui::SpellcheckerUi +class SpellcheckerWidget : public QTabWidget { Q_OBJECT public: - GuiSpellchecker(LyXView & lv); - ~GuiSpellchecker(); - -public Q_SLOTS: - void suggestionChanged(QListWidgetItem *); + SpellcheckerWidget(GuiView * gv, DockView * dv, QWidget * parent = 0); + ~SpellcheckerWidget(); + /// + void updateView(); + /// + bool initialiseParams(std::string const &); private Q_SLOTS: - void accept(); - void add(); - void ignore(); - void replace(); - void replaceChanged(const QString &); - void reject(); + void on_findNextPB_clicked(); + void on_replaceAllPB_clicked(); + void on_suggestionsLW_itemClicked(QListWidgetItem *); + void on_replaceCO_highlighted(const QString & str); + void on_languageCO_activated(int index); + void on_ignoreAllPB_clicked(); + void on_addPB_clicked(); + void on_ignorePB_clicked(); + void on_replacePB_clicked(); private: /// - void closeEvent(QCloseEvent * e); - /// update from controller - void partialUpdate(int id); - /// - void updateContents(); + bool eventFilter(QObject *obj, QEvent *event); + struct Private; + Private * const d; +}; - /// - enum State { - SPELL_PROGRESSED, //< update progress bar - SPELL_FOUND_WORD //< found a bad word - }; - /// - bool initialiseParams(std::string const & data); - /// - void clearParams(); - /// Not needed here +class GuiSpellchecker : public DockView +{ + Q_OBJECT + +public: + GuiSpellchecker( + GuiView & parent, ///< the main window where to dock. + Qt::DockWidgetArea area = Qt::RightDockWidgetArea, ///< Position of the dock (and also drawer) + Qt::WindowFlags flags = 0); + ~GuiSpellchecker(); + +private: + ///{ + void updateView(); + bool initialiseParams(std::string const & data) { return widget_->initialiseParams(data); } + void clearParams() {} void dispatchParams() {} - /// - bool isBufferDependent() const { return true; } - /// - bool exitEarly() const { return exitEarly_; } - - /// replace word with replacement - void replace(docstring const &); - - /// replace all occurances of word - void replaceAll(docstring const &); - /// insert word in personal dictionary - void insert(); - /// ignore all occurances of word - void ignoreAll(); - /// check text until next misspelled/unknown word - /// returns true when finished - void check(); - /// get suggestion - docstring getSuggestion() const; - /// get word - docstring getWord() const; - /// returns progress value - int getProgress() const { return oldval_; } - /// returns word count - int getCount() const { return count_; } - /// give error message is spellchecker dies - bool checkAlive(); - /// show count of checked words at normal exit - void showSummary(); - - /// set to true when spellchecking is finished - bool exitEarly_; - /// current word being checked and lang code - WordLangTuple word_; - /// values for progress - int oldval_; - int newvalue_; - /// word count - int count_; - /// The actual spellchecker object - SpellBase * speller_; + bool isBufferDependent() const { return false; } + ///} + /// The encapsulated widget. + SpellcheckerWidget * widget_; }; } // namespace frontend