]> git.lyx.org Git - features.git/commitdiff
Paint nospell mark lower than foeign mark, since these can appear both
authorJuergen Spitzmueller <spitz@lyx.org>
Mon, 7 May 2018 06:41:28 +0000 (08:41 +0200)
committerJuergen Spitzmueller <spitz@lyx.org>
Mon, 7 May 2018 06:41:28 +0000 (08:41 +0200)
Also, assure that misspelled mark is not shown when nospellcheck()

src/RowPainter.cpp

index 32636136b5a4a3713515f131970a5b494d5f86f8..a9293404788c7b04a494b39783fea5f0f659c917 100644 (file)
@@ -170,12 +170,16 @@ void RowPainter::paintNoSpellingMark(Row::Element const & e) const
        //      return;
        if (e.font.language() == latex_language)
                return;
-       if (!e.font.fontInfo().nospellcheck())
+       if (e.font.fontInfo().nospellcheck() != FONT_ON)
                return;
 
+       // We at the same voffset than the misspelled mark, since
+       // these two are mutually exclusive
        int const desc = e.inset ? e.dim.descent() : 0;
-       int const y = yo_ + pi_.base.solidLineOffset()
-               + desc + pi_.base.solidLineThickness() / 2;
+       int const y = yo_ + pi_.base.solidLineOffset() + desc
+               + pi_.base.solidLineThickness()
+               + (e.change.changed() ? pi_.base.solidLineThickness() + 1 : 0)
+               + 1;
        pi_.pain.line(int(x_), y, int(x_ + e.full_width()), y, Color_language,
                      Painter::line_onoffdash, pi_.base.solidLineThickness());
 }
@@ -183,6 +187,8 @@ void RowPainter::paintNoSpellingMark(Row::Element const & e) const
 
 void RowPainter::paintMisspelledMark(Row::Element const & e) const
 {
+       if (e.font.fontInfo().nospellcheck() == FONT_ON)
+               return;
        // if changed the misspelled marker gets placed slightly lower than normal
        // to avoid drawing at the same vertical offset
        FontMetrics const & fm = theFontMetrics(e.font);