*
* \author John Levon
* \author Kalle Dalheimer
+ * \author Edwin Leuven
+ * \author Abdelrazak Younes
*
* Full author contact details are available in file CREDITS.
*/
-#ifndef QSPELLCHECKER_H
-#define QSPELLCHECKER_H
+#ifndef GUISPELLCHECKER_H
+#define GUISPELLCHECKER_H
-#include "GuiDialogView.h"
-#include "ui_SpellcheckerUi.h"
-
-#include <QDialog>
-#include <QCloseEvent>
+#include "DockView.h"
+#include <QTabWidget>
class QListWidgetItem;
namespace lyx {
-namespace frontend {
-class GuiSpellchecker;
+class docstring_list;
-class GuiSpellcheckerDialog: public QDialog, public Ui::SpellcheckerUi {
- Q_OBJECT
-public:
- GuiSpellcheckerDialog(GuiSpellchecker * form);
-public Q_SLOTS:
- virtual void suggestionChanged(QListWidgetItem *);
+namespace frontend {
-protected Q_SLOTS:
- virtual void acceptClicked();
- virtual void addClicked();
- virtual void replaceClicked();
- virtual void ignoreClicked();
- virtual void replaceChanged(const QString &);
- virtual void reject();
+class SpellcheckerWidget : public QTabWidget
+{
+ Q_OBJECT
-protected:
- virtual void closeEvent(QCloseEvent * e);
+public:
+ SpellcheckerWidget(GuiView * gv, DockView * dv, QWidget * parent = 0);
+ ~SpellcheckerWidget();
+ ///
+ void updateView();
+ ///
+ bool initialiseParams(std::string const &);
+
+private Q_SLOTS:
+ 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:
- GuiSpellchecker * form_;
+ ///
+ bool eventFilter(QObject *obj, QEvent *event);
+ struct Private;
+ Private * const d;
};
-class ControlSpellchecker;
-
-class GuiSpellchecker
- : public QController<ControlSpellchecker, GuiView<GuiSpellcheckerDialog> >
+class GuiSpellchecker : public DockView
{
-public:
- friend class GuiSpellcheckerDialog;
+ Q_OBJECT
- GuiSpellchecker(Dialog &);
+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();
- /// update from controller
- void partialUpdate(int id);
private:
- void accept();
- void add();
- void ignore();
- void replace();
-
- /// Apply changes
- virtual void apply() {}
- ///
- virtual void update_contents();
- /// build the dialog
- virtual void build_dialog();
+ ///{
+ void updateView();
+ bool initialiseParams(std::string const & data) { return widget_->initialiseParams(data); }
+ void clearParams() {}
+ void dispatchParams() {}
+ bool isBufferDependent() const { return false; }
+ ///}
+ /// The encapsulated widget.
+ SpellcheckerWidget * widget_;
};
} // namespace frontend
} // namespace lyx
-#endif // QSPELLCHECKER_H
+#endif // GUISPELLCHECKER_H