* \author John Levon
* \author Kalle Dalheimer
* \author Edwin Leuven
+ * \author Abdelrazak Younes
*
* Full author contact details are available in file CREDITS.
*/
#ifndef GUISPELLCHECKER_H
#define GUISPELLCHECKER_H
-#include "GuiDialog.h"
-#include "ui_SpellcheckerUi.h"
-#include "Dialog.h"
-#include "WordLangTuple.h"
+#include "DockView.h"
+#include <QTabWidget>
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