lyx_mirror/src/frontends/qt4/GuiCharacter.h
Juergen Spitzmueller 57dc817581 Add \nospellcheck font property
This revives a ten year old idea (and patch) by Dov.

You can now mark in the character dialog text and exclude it from spell
checking.

Fixes: #1042

File format change

Remaining issue: The instant spell checking marks are not immediately
removed, but only after some editing.
2018-05-06 19:48:21 +02:00

114 lines
2.1 KiB
C++

// -*- C++ -*-
/**
* \file GuiCharacter.h
* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
* \author Angus Leeming
* \author Edwin Leuven
* \author John Levon
*
* Full author contact details are available in file CREDITS.
*/
#ifndef GUICHARACTER_H
#define GUICHARACTER_H
#include "GuiDialog.h"
#include "ui_CharacterUi.h"
#include "Font.h"
#include <utility>
#ifdef IGNORE
#undef IGNORE
#endif
namespace lyx {
namespace frontend {
enum FontState {
///
IGNORE,
///
UNDERBAR,
///
STRIKEOUT,
///
XOUT,
///
UULINE,
///
UWAVE,
///
INHERIT,
///
NONE
};
typedef std::pair<QString, FontFamily> FamilyPair;
typedef std::pair<QString, FontFamily> FamilyPair;
typedef std::pair<QString, FontSeries> SeriesPair;
typedef std::pair<QString, FontShape> ShapePair;
typedef std::pair<QString, FontSize> SizePair;
typedef std::pair<QString, FontState> BarPair;
typedef std::pair<QString, QString> LanguagePair;
class GuiCharacter : public GuiDialog, public Ui::CharacterUi
{
Q_OBJECT
public:
GuiCharacter(GuiView & lv);
protected Q_SLOTS:
void change_adaptor();
void on_emphCB_clicked();
void on_nounCB_clicked();
void on_nospellcheckCB_clicked();
private:
/// \name Dialog inherited methods
//@{
void applyView();
void updateContents();
bool initialiseParams(std::string const & data);
void clearParams() {}
void dispatchParams();
bool isBufferDependent() const { return true; }
FuncCode getLfun() const { return LFUN_TEXTSTYLE_UPDATE; }
void saveSession(QSettings & settings) const;
void restoreSession();
//@}
///
void paramsToDialog(Font const & font);
///
void setBar(FontInfo & fi, FontState val);
///
void setStrike(FontInfo & fi, FontState val);
QList<FamilyPair> family;
QList<SeriesPair> series;
QList<ShapePair> shape;
QList<SizePair> size;
QList<BarPair> bar;
QList<BarPair> strike;
QList<ColorCode> color;
QList<LanguagePair> language;
///
Font font_;
///
bool emph_;
///
bool noun_;
///
bool nospellcheck_;
};
} // namespace frontend
} // namespace lyx
#endif // GUICHARACTER_H