commit 57dc817581faf54babaf3db0c602bac205dc6855
Author: Juergen Spitzmueller <[email protected]>
Date: Sun May 6 19:48:21 2018 +0200
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.
---
development/FORMAT | 4 +
lib/lyx2lyx/lyx_2_4.py | 15 ++-
src/Font.cpp | 11 +-
src/FontInfo.cpp | 21 +++-
src/FontInfo.h | 12 +-
src/Paragraph.cpp | 3 +
src/RowPainter.cpp | 34 ++++-
src/RowPainter.h | 2 +
src/Text.cpp | 3 +
src/Text2.cpp | 2 +
src/frontends/qt4/GuiCharacter.cpp | 18 +++
src/frontends/qt4/GuiCharacter.h | 3 +
src/frontends/qt4/ui/CharacterUi.ui | 274 ++++++++++++++++++-----------------
src/version.h | 4 +-
14 files changed, 257 insertions(+), 149 deletions(-)
diff --git a/development/FORMAT b/development/FORMAT
index ce0bd80..8338ee1 100644
--- a/development/FORMAT
+++ b/development/FORMAT
@@ -7,6 +7,10 @@ changes happened in particular if possible. A good example
would be
-----------------------
+2018-05-06 Jürgen Spitzmüller <[email protected]>
+ * format incremented to 551: add font info param \nospellcheck that
prevents
+ text from being spellchecked.
+
2018-04-22 Jürgen Spitzmüller <[email protected]>
* format incremented to 550: rename \fontencoding global to
\fontencoding auto.
Semantic change: this is now automatically set depending on the
document fonts.
diff --git a/lib/lyx2lyx/lyx_2_4.py b/lib/lyx2lyx/lyx_2_4.py
index ac84d6a..941703a 100644
--- a/lib/lyx2lyx/lyx_2_4.py
+++ b/lib/lyx2lyx/lyx_2_4.py
@@ -202,6 +202,17 @@ def revert_fontenc(document):
document.header[i] = document.header[i].replace("auto", "global")
+def revert_nospellcheck(document):
+ " Remove nospellcheck font info param "
+
+ i = 0
+ while True:
+ i = find_token(document.body, '\\nospellcheck', i)
+ if i == -1:
+ return
+ del document.body[i]
+
+
##
# Conversion hub
#
@@ -213,10 +224,12 @@ convert = [
[547, []],
[548, []],
[549, []],
- [550, [convert_fontenc]]
+ [550, [convert_fontenc]],
+ [551, []]
]
revert = [
+ [549, [revert_nospellcheck]],
[549, [revert_fontenc]],
[548, []],# dummy format change
[547, [revert_lscape]],
diff --git a/src/Font.cpp b/src/Font.cpp
index b810e45..b8a6a29 100644
--- a/src/Font.cpp
+++ b/src/Font.cpp
@@ -225,6 +225,8 @@ void Font::lyxWriteChanges(Font const & orgfont,
os << "\\emph " << LyXMiscNames[bits_.emph()] << "\n";
if (orgfont.fontInfo().number() != bits_.number())
os << "\\numeric " << LyXMiscNames[bits_.number()] << "\n";
+ if (orgfont.fontInfo().nospellcheck() != bits_.nospellcheck())
+ os << "\\nospellcheck " << LyXMiscNames[bits_.nospellcheck()]
<< "\n";
if (orgfont.fontInfo().underbar() != bits_.underbar()) {
// This is only for backwards compatibility
switch (bits_.underbar()) {
@@ -619,6 +621,7 @@ string Font::toString(bool const toggle) const
<< "uwave " << bits_.uwave() << '\n'
<< "noun " << bits_.noun() << '\n'
<< "number " << bits_.number() << '\n'
+ << "nospellcheck " << bits_.nospellcheck() << '\n'
<< "color " << bits_.color() << '\n'
<< "language " << lang << '\n'
<< "toggleall " << convert<string>(toggle);
@@ -660,7 +663,8 @@ bool Font::fromString(string const & data, bool & toggle)
} else if (token == "emph" || token == "underbar"
|| token == "noun" || token == "number"
|| token == "uuline" || token == "uwave"
- || token == "strikeout" || token == "xout") {
+ || token == "strikeout" || token == "xout"
+ || token == "nospellcheck") {
int const next = lex.getInteger();
FontState const misc = FontState(next);
@@ -681,6 +685,8 @@ bool Font::fromString(string const & data, bool & toggle)
bits_.setNoun(misc);
else if (token == "number")
bits_.setNumber(misc);
+ else if (token == "nospellcheck")
+ bits_.setNoSpellcheck(misc);
} else if (token == "color") {
int const next = lex.getInteger();
@@ -809,7 +815,8 @@ ostream & operator<<(ostream & os, FontInfo const & f)
<< " uuline " << f.uuline()
<< " uwave " << f.uwave()
<< " noun " << f.noun()
- << " number " << f.number();
+ << " number " << f.number()
+ << " nospellcheck " << f.nospellcheck();
}
diff --git a/src/FontInfo.cpp b/src/FontInfo.cpp
index 2aaab38..1d69d2b 100644
--- a/src/FontInfo.cpp
+++ b/src/FontInfo.cpp
@@ -71,6 +71,7 @@ FontInfo const sane_font(
FONT_OFF,
FONT_OFF,
FONT_OFF,
+ FONT_OFF,
FONT_OFF);
FontInfo const inherit_font(
@@ -87,7 +88,8 @@ FontInfo const inherit_font(
FONT_INHERIT,
FONT_INHERIT,
FONT_INHERIT,
- FONT_OFF);
+ FONT_OFF,
+ FONT_INHERIT);
FontInfo const ignore_font(
IGNORE_FAMILY,
@@ -103,6 +105,7 @@ FontInfo const ignore_font(
FONT_IGNORE,
FONT_IGNORE,
FONT_IGNORE,
+ FONT_IGNORE,
FONT_IGNORE);
@@ -226,6 +229,8 @@ void FontInfo::reduce(FontInfo const & tmplt)
color_ = Color_inherit;
if (background_ == tmplt.background_)
background_ = Color_inherit;
+ if (nospellcheck_ == tmplt.nospellcheck_)
+ noun_ = FONT_INHERIT;
}
@@ -276,6 +281,9 @@ FontInfo & FontInfo::realize(FontInfo const & tmplt)
if (background_ == Color_inherit)
background_ = tmplt.background_;
+ if (nospellcheck_ == FONT_INHERIT)
+ nospellcheck_ = tmplt.nospellcheck_;
+
return *this;
}
@@ -375,6 +383,7 @@ void FontInfo::update(FontInfo const & newfont, bool
toggleall)
setUwave(setMisc(newfont.uwave_, uwave_));
setNoun(setMisc(newfont.noun_, noun_));
setNumber(setMisc(newfont.number_, number_));
+ setNoSpellcheck(setMisc(newfont.nospellcheck_, nospellcheck_));
if (newfont.color_ == color_ && toggleall)
setColor(Color_inherit); // toggle 'back'
@@ -396,7 +405,7 @@ bool FontInfo::resolved() const
&& uuline_ != FONT_INHERIT && uwave_ != FONT_INHERIT
&& strikeout_ != FONT_INHERIT && xout_ != FONT_INHERIT
&& noun_ != FONT_INHERIT && color_ != Color_inherit
- && background_ != Color_inherit);
+ && background_ != Color_inherit && nospellcheck_ !=
FONT_INHERIT);
}
@@ -689,6 +698,10 @@ FontInfo lyxRead(Lexer & lex, FontInfo const & fi)
f.setUwave(FONT_ON);
} else if (ttok == "noun") {
f.setNoun(FONT_ON);
+ } else if (ttok == "nospellcheck") {
+ f.setNoSpellcheck(FONT_ON);
+ } else if (ttok == "no_nospellcheck") {
+ f.setNoSpellcheck(FONT_OFF);
} else {
lex.printError("Illegal misc type");
}
@@ -751,6 +764,10 @@ void lyxWrite(ostream & os, FontInfo const & f, string
const & start, int level)
oss << indent << "\tMisc Noun\n";
else if (f.noun() == FONT_OFF)
oss << indent << "\tMisc No_Noun\n";
+ if (f.nospellcheck() == FONT_ON)
+ oss << indent << "\tMisc NoSpellcheck\n";
+ else if (f.nospellcheck() == FONT_OFF)
+ oss << indent << "\tMisc No_NoSpellcheck\n";
if (f.color() != Color_inherit && f.color() != Color_none)
oss << indent << "\tColor " << lcolor.getLyXName(f.color())
<< '\n';
diff --git a/src/FontInfo.h b/src/FontInfo.h
index 9f38000..696e64d 100644
--- a/src/FontInfo.h
+++ b/src/FontInfo.h
@@ -48,11 +48,12 @@ public:
FontState uuline,
FontState uwave,
FontState noun,
- FontState number)
+ FontState number,
+ FontState nospellcheck)
: family_(family), series_(series), shape_(shape), size_(size),
style_(LM_ST_TEXT), color_(color), background_(background),
emph_(emph),
underbar_(underbar), strikeout_(strikeout), xout_(xout),
uuline_(uuline),
- uwave_(uwave), noun_(noun), number_(number)
+ uwave_(uwave), noun_(noun), number_(number),
nospellcheck_(nospellcheck)
{}
/// Decreases font size by one
@@ -92,6 +93,8 @@ public:
void setColor(ColorCode c) { color_ = c; }
ColorCode background() const { return background_; }
void setBackground(ColorCode b) { background_ = b; }
+ FontState nospellcheck() const { return nospellcheck_; }
+ void setNoSpellcheck(FontState n) { nospellcheck_ = n; }
//@}
///
@@ -192,6 +195,8 @@ private:
FontState noun_;
///
FontState number_;
+ ///
+ FontState nospellcheck_;
};
@@ -210,7 +215,8 @@ inline bool operator==(FontInfo const & lhs, FontInfo const
& rhs)
&& lhs.uuline_ == rhs.uuline_
&& lhs.uwave_ == rhs.uwave_
&& lhs.noun_ == rhs.noun_
- && lhs.number_ == rhs.number_;
+ && lhs.number_ == rhs.number_
+ && lhs.nospellcheck_ == rhs.nospellcheck_;
}
diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp
index 7aa0d1f..2b07456 100644
--- a/src/Paragraph.cpp
+++ b/src/Paragraph.cpp
@@ -4231,6 +4231,9 @@ SpellChecker::Result Paragraph::spellCheck(pos_type &
from, pos_type & to,
docstring word = asString(from, to, AS_STR_INSETS | AS_STR_SKIPDELETE);
Language * lang = d->getSpellLanguage(from);
+ if (getFontSettings(d->inset_owner_->buffer().params(),
from).fontInfo().nospellcheck() == FONT_ON)
+ return result;
+
wl = WordLangTuple(word, lang);
if (word.empty())
diff --git a/src/RowPainter.cpp b/src/RowPainter.cpp
index f093805..3263613 100644
--- a/src/RowPainter.cpp
+++ b/src/RowPainter.cpp
@@ -139,6 +139,13 @@ void RowPainter::paintInset(Row::Element const & e) const
}
+void RowPainter::paintLanguageMarkings(Row::Element const & e) const
+{
+ paintForeignMark(e);
+ paintNoSpellingMark(e);
+}
+
+
void RowPainter::paintForeignMark(Row::Element const & e) const
{
Language const * lang = e.font.language();
@@ -157,6 +164,23 @@ void RowPainter::paintForeignMark(Row::Element const & e)
const
}
+void RowPainter::paintNoSpellingMark(Row::Element const & e) const
+{
+ //if (!lyxrc.mark_no_spelling)
+ // return;
+ if (e.font.language() == latex_language)
+ return;
+ if (!e.font.fontInfo().nospellcheck())
+ return;
+
+ int const desc = e.inset ? e.dim.descent() : 0;
+ int const y = yo_ + pi_.base.solidLineOffset()
+ + desc + pi_.base.solidLineThickness() / 2;
+ pi_.pain.line(int(x_), y, int(x_ + e.full_width()), y, Color_language,
+ Painter::line_onoffdash, pi_.base.solidLineThickness());
+}
+
+
void RowPainter::paintMisspelledMark(Row::Element const & e) const
{
// if changed the misspelled marker gets placed slightly lower than
normal
@@ -541,8 +565,9 @@ void RowPainter::paintOnlyInsets()
Row::Element const & e = *cit;
if (e.type == Row::INSET) {
paintInset(e);
- // The line that indicates word in a different language
- paintForeignMark(e);
+ // The markings of foreign languages
+ // and of text ignored for spellchecking
+ paintLanguageMarkings(e);
// change tracking (not for insets that handle it
themselves)
if (!e.inset->canPaintChange(*pi_.base.bv))
paintChange(e);
@@ -578,8 +603,9 @@ void RowPainter::paintText()
pi_.pain.textDecoration(e.font.fontInfo(), int(x_),
yo_, int(e.full_width()));
}
- // The line that indicates word in a different language
- paintForeignMark(e);
+ // The markings of foreign languages
+ // and of text ignored for spellchecking
+ paintLanguageMarkings(e);
// change tracking (not for insets that handle it themselves)
if (e.type != Row::INSET || !
e.inset->canPaintChange(*pi_.base.bv))
diff --git a/src/RowPainter.h b/src/RowPainter.h
index 20febee..18b4c85 100644
--- a/src/RowPainter.h
+++ b/src/RowPainter.h
@@ -57,7 +57,9 @@ public:
void paintSelection() const;
private:
+ void paintLanguageMarkings(Row::Element const & e) const;
void paintForeignMark(Row::Element const & e) const;
+ void paintNoSpellingMark(Row::Element const & e) const;
void paintStringAndSel(Row::Element const & e) const;
void paintMisspelledMark(Row::Element const & e) const;
void paintChange(Row::Element const & e) const;
diff --git a/src/Text.cpp b/src/Text.cpp
index 301cd5f..876c5d0 100644
--- a/src/Text.cpp
+++ b/src/Text.cpp
@@ -445,6 +445,9 @@ void Text::readParToken(Paragraph & par, Lexer & lex,
} else if (token == "\\numeric") {
lex.next();
font.fontInfo().setNumber(setLyXMisc(lex.getString()));
+ } else if (token == "\\nospellcheck") {
+ lex.next();
+ font.fontInfo().setNoSpellcheck(setLyXMisc(lex.getString()));
} else if (token == "\\emph") {
lex.next();
font.fontInfo().setEmph(setLyXMisc(lex.getString()));
diff --git a/src/Text2.cpp b/src/Text2.cpp
index bbd30a7..869684e 100644
--- a/src/Text2.cpp
+++ b/src/Text2.cpp
@@ -347,6 +347,8 @@ void Text::setFont(Cursor & cur, Font const & font, bool
toggleall)
newfi.setNoun(oldfi.noun() == FONT_OFF ? FONT_ON :
FONT_OFF);
if (newfi.number() == FONT_TOGGLE)
newfi.setNumber(oldfi.number() == FONT_OFF ? FONT_ON :
FONT_OFF);
+ if (newfi.nospellcheck() == FONT_TOGGLE)
+ newfi.setNoSpellcheck(oldfi.nospellcheck() == FONT_OFF
? FONT_ON : FONT_OFF);
}
setFont(cur.bv(), cur.selectionBegin().top(),
diff --git a/src/frontends/qt4/GuiCharacter.cpp
b/src/frontends/qt4/GuiCharacter.cpp
index 777ca1c..f82bd8a 100644
--- a/src/frontends/qt4/GuiCharacter.cpp
+++ b/src/frontends/qt4/GuiCharacter.cpp
@@ -261,6 +261,7 @@ GuiCharacter::GuiCharacter(GuiView & lv)
bc().addReadOnly(strikeCO);
bc().addReadOnly(nounCB);
bc().addReadOnly(emphCB);
+ bc().addReadOnly(nospellcheckCB);
bc().addReadOnly(langCO);
bc().addReadOnly(colorCO);
bc().addReadOnly(autoapplyCB);
@@ -296,6 +297,18 @@ void GuiCharacter::on_nounCB_clicked()
}
+void GuiCharacter::on_nospellcheckCB_clicked()
+{
+ // skip intermediate state at user click
+ if (!nospellcheck_) {
+ nospellcheckCB->setCheckState(Qt::Checked);
+ nospellcheck_ = true;
+ }
+ change_adaptor();
+}
+
+
+
void GuiCharacter::change_adaptor()
{
changed();
@@ -418,6 +431,8 @@ void GuiCharacter::updateContents()
font.fontInfo().setEmph(FONT_IGNORE);
if (fi.noun() != tmp.fontInfo().noun())
font.fontInfo().setNoun(FONT_IGNORE);
+ if (fi.nospellcheck() != tmp.fontInfo().nospellcheck())
+ font.fontInfo().setNoSpellcheck(FONT_IGNORE);
if (fi.color() != tmp.fontInfo().color())
font.fontInfo().setColor(Color_ignore);
if (fi.underbar() != tmp.fontInfo().underbar()
@@ -519,8 +534,10 @@ void GuiCharacter::paramsToDialog(Font const & font)
colorCO->setCurrentIndex(colorCO->findData(toqstr(lcolor.getLyXName(fi.color()))));
emphCB->setCheckState(getMarkupState(fi.emph()));
nounCB->setCheckState(getMarkupState(fi.noun()));
+ nospellcheckCB->setCheckState(getMarkupState(fi.nospellcheck()));
emph_ = emphCB->checkState() == Qt::Checked;
noun_ = nounCB->checkState() == Qt::Checked;
+ nospellcheck_ = nospellcheckCB->checkState() == Qt::Checked;
// reset_language is a null pointer.
QString const lang = (font.language() == reset_language)
@@ -538,6 +555,7 @@ void GuiCharacter::applyView()
fi.setSize(size[sizeCO->currentIndex()].second);
fi.setEmph(setMarkupState(emphCB->checkState()));
fi.setNoun(setMarkupState(nounCB->checkState()));
+ fi.setNoSpellcheck(setMarkupState(nospellcheckCB->checkState()));
setBar(fi, bar[ulineCO->currentIndex()].second);
setStrike(fi, strike[strikeCO->currentIndex()].second);
fi.setColor(lcolor.getFromLyXName(fromqstr(colorCO->itemData(colorCO->currentIndex()).toString())));
diff --git a/src/frontends/qt4/GuiCharacter.h b/src/frontends/qt4/GuiCharacter.h
index e9148e7..d26ca47 100644
--- a/src/frontends/qt4/GuiCharacter.h
+++ b/src/frontends/qt4/GuiCharacter.h
@@ -65,6 +65,7 @@ protected Q_SLOTS:
void change_adaptor();
void on_emphCB_clicked();
void on_nounCB_clicked();
+ void on_nospellcheckCB_clicked();
private:
/// \name Dialog inherited methods
@@ -102,6 +103,8 @@ private:
bool emph_;
///
bool noun_;
+ ///
+ bool nospellcheck_;
};
} // namespace frontend
diff --git a/src/frontends/qt4/ui/CharacterUi.ui
b/src/frontends/qt4/ui/CharacterUi.ui
index 80db751..ca07dd0 100644
--- a/src/frontends/qt4/ui/CharacterUi.ui
+++ b/src/frontends/qt4/ui/CharacterUi.ui
@@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>523</width>
- <height>365</height>
+ <height>412</height>
</rect>
</property>
<property name="windowTitle">
@@ -16,8 +16,86 @@
<property name="sizeGripEnabled">
<bool>true</bool>
</property>
- <layout class="QGridLayout" name="gridLayout_6">
- <item row="0" column="0">
+ <layout class="QGridLayout" name="gridLayout_7">
+ <item row="2" column="0" colspan="2">
+ <layout class="QHBoxLayout">
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QCheckBox" name="autoapplyCB">
+ <property name="toolTip">
+ <string>Apply each change automatically</string>
+ </property>
+ <property name="text">
+ <string>Apply changes &immediately</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Expanding</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="okPB">
+ <property name="text">
+ <string>&OK</string>
+ </property>
+ <property name="default">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="applyPB">
+ <property name="text">
+ <string>&Apply</string>
+ </property>
+ <property name="autoDefault">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="closePB">
+ <property name="text">
+ <string>Close</string>
+ </property>
+ <property name="autoDefault">
+ <bool>false</bool>
+ </property>
+ <property name="default">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="0" column="0" colspan="2">
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QGroupBox" name="groupBox">
@@ -243,14 +321,24 @@
</layout>
</item>
<item row="1" column="0">
- <layout class="QHBoxLayout" name="horizontalLayout">
- <item>
- <widget class="QGroupBox" name="groupBox_4">
- <property name="title">
- <string>&Language</string>
- </property>
- <layout class="QGridLayout" name="gridLayout_7">
- <item row="0" column="0">
+ <widget class="QGroupBox" name="groupBox_4">
+ <property name="title">
+ <string>Language Settings</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_6">
+ <item row="0" column="0">
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <widget class="QLabel" name="LanguageLA">
+ <property name="text">
+ <string>&Language:</string>
+ </property>
+ <property name="buddy">
+ <cstring>langCO</cstring>
+ </property>
+ </widget>
+ </item>
+ <item>
<widget class="QComboBox" name="langCO">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
@@ -264,132 +352,48 @@
</widget>
</item>
</layout>
- </widget>
- </item>
- <item>
- <widget class="QGroupBox" name="groupBox_3">
- <property name="title">
- <string>Semantic Markup</string>
- </property>
- <layout class="QGridLayout" name="gridLayout_5">
- <item row="0" column="0">
- <widget class="QCheckBox" name="emphCB">
- <property name="toolTip">
- <string>Semantic emphasizing (italic by default, but can be
adapted)</string>
- </property>
- <property name="text">
- <string>&Emphasized</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QCheckBox" name="nounCB">
- <property name="toolTip">
- <string>Semantic markup of nouns (small caps by default, but can be
adapted)</string>
- </property>
- <property name="text">
- <string>&Noun</string>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
- </layout>
- </item>
- <item row="2" column="0">
- <spacer>
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::Expanding</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
+ </item>
+ <item row="1" column="0">
+ <widget class="QCheckBox" name="nospellcheckCB">
+ <property name="toolTip">
+ <string>If this is selected, the marked text will not be
spellchecked</string>
+ </property>
+ <property name="text">
+ <string>E&xclude from Spellchecking</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
</item>
- <item row="3" column="0">
- <layout class="QHBoxLayout">
- <property name="spacing">
- <number>6</number>
+ <item row="1" column="1">
+ <widget class="QGroupBox" name="groupBox_3">
+ <property name="title">
+ <string>Semantic Markup</string>
</property>
- <property name="leftMargin">
- <number>0</number>
- </property>
- <property name="topMargin">
- <number>0</number>
- </property>
- <property name="rightMargin">
- <number>0</number>
- </property>
- <property name="bottomMargin">
- <number>0</number>
- </property>
- <item>
- <widget class="QCheckBox" name="autoapplyCB">
- <property name="toolTip">
- <string>Apply each change automatically</string>
- </property>
- <property name="text">
- <string>Apply changes &immediately</string>
- </property>
- </widget>
- </item>
- <item>
- <spacer>
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::Expanding</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QPushButton" name="okPB">
- <property name="text">
- <string>&OK</string>
- </property>
- <property name="default">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="applyPB">
- <property name="text">
- <string>&Apply</string>
- </property>
- <property name="autoDefault">
- <bool>false</bool>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="closePB">
- <property name="text">
- <string>Close</string>
- </property>
- <property name="autoDefault">
- <bool>false</bool>
- </property>
- <property name="default">
- <bool>false</bool>
- </property>
- </widget>
- </item>
- </layout>
+ <layout class="QGridLayout" name="gridLayout_5">
+ <item row="0" column="0">
+ <widget class="QCheckBox" name="emphCB">
+ <property name="toolTip">
+ <string>Semantic emphasizing (italic by default, but can be
adapted)</string>
+ </property>
+ <property name="text">
+ <string>&Emphasized</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QCheckBox" name="nounCB">
+ <property name="toolTip">
+ <string>Semantic markup of nouns (small caps by default, but can be
adapted)</string>
+ </property>
+ <property name="text">
+ <string>&Noun</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
</item>
</layout>
</widget>
diff --git a/src/version.h b/src/version.h
index e415ec9..ede6c33 100644
--- a/src/version.h
+++ b/src/version.h
@@ -32,8 +32,8 @@ extern char const * const lyx_version_info;
// Do not remove the comment below, so we get merge conflict in
// independent branches. Instead add your own.
-#define LYX_FORMAT_LYX 550 // spitz: \fontenc auto
-#define LYX_FORMAT_TEX2LYX 550
+#define LYX_FORMAT_LYX 551 // spitz: \nospellcheck font param
+#define LYX_FORMAT_TEX2LYX 551
#if LYX_FORMAT_TEX2LYX != LYX_FORMAT_LYX
#ifndef _MSC_VER