From 310c94c48c563b5dbe0564721c2f8356f933a42f Mon Sep 17 00:00:00 2001 From: Jean-Marc Lasgouttes Date: Tue, 13 Oct 2020 17:09:33 +0200 Subject: [PATCH] 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. --- src/frontends/qt/GuiWorkArea.cpp | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) 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); } }