From: Jean-Marc Lasgouttes Date: Tue, 13 Oct 2020 15:09:33 +0000 (+0200) Subject: Fix display of caret completion indicator X-Git-Tag: lyx-2.4.0dev-acb2ca7b~93 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=310c94c48c563b5dbe0564721c2f8356f933a42f;p=features.git Fix display of caret completion indicator The zooming algorithm based on caret width was deeply flawed. It is not replaced with a formula based on caret height. Fixes bug #12000. --- diff --git a/src/frontends/qt/GuiWorkArea.cpp b/src/frontends/qt/GuiWorkArea.cpp index 0d91e2acca..5937ae9707 100644 --- a/src/frontends/qt/GuiWorkArea.cpp +++ b/src/frontends/qt/GuiWorkArea.cpp @@ -79,8 +79,6 @@ #include #include -int const TabIndicatorWidth = 3; - #undef KeyPress #undef NoModifier @@ -165,13 +163,14 @@ public: // draw completion triangle if (completable) { int const m = y + dim.height() / 2; - int const d = TabIndicatorWidth * dim.wid - 1; + int const d = dim.height() / 8; // offset for slanted carret int const sx = (dim.asc - (dim.height() / 2 - d)) * slope; - painter.drawLine(xx + dir * (dim.wid + 1) + sx, m - d, - xx + dir * (dim.wid + d + 1) + sx, m); - painter.drawLine(xx + dir * (dim.wid + 1) + sx, m + d, - xx + dir * (dim.wid + d + 1) + sx, m); + painter.setPen(QPen(color, dim.width())); + painter.drawLine(xx + dir * dim.wid + sx, m - d, + xx + dir * (dim.wid + d) + sx, m); + painter.drawLine(xx + dir * dim.wid + sx, m + d, + xx + dir * (dim.wid + d) + sx, m); } }