Skip to content

Commit f57ca8a

Browse files
committed
feat: Make linting color block in the line number are narrower
Now the linting color block in the line number area is of 7px width. This also changes the name of QLineNumberArea::squiggle to QLineNumberArea::lint, QLineNumberArea::clearSquiggles to QLineNumberArea::clearLint.
1 parent ae5e3a8 commit f57ca8a

File tree

3 files changed

+14
-17
lines changed

3 files changed

+14
-17
lines changed

include/internal/QLineNumberArea.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,9 @@ class QLineNumberArea : public QWidget
4343
*/
4444
QSyntaxStyle *syntaxStyle() const;
4545

46-
void squiggle(QCodeEditor::SeverityLevel level, int from, int to);
46+
void lint(QCodeEditor::SeverityLevel level, int from, int to);
4747

48-
void clearSquiggles();
48+
void clearLint();
4949

5050
protected:
5151
void paintEvent(QPaintEvent *event) override;

src/internal/QCodeEditor.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -955,7 +955,7 @@ void QCodeEditor::squiggle(SeverityLevel level, QPair<int, int> start, QPair<int
955955

956956
extra_squiggles.push_back({cursor, newcharfmt});
957957

958-
m_lineNumberArea->squiggle(level, start.first, stop.first);
958+
m_lineNumberArea->lint(level, start.first, stop.first);
959959

960960
setExtraSelections(extra1 + extra2 + extra_squiggles);
961961
}
@@ -968,7 +968,7 @@ void QCodeEditor::clearSquiggle()
968968
m_squiggler.clear();
969969
extra_squiggles.clear();
970970

971-
m_lineNumberArea->clearSquiggles();
971+
m_lineNumberArea->clearLint();
972972

973973
setExtraSelections(extra1 + extra2);
974974
}

src/internal/QLineNumberArea.cpp

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -23,20 +23,17 @@ QSize QLineNumberArea::sizeHint() const
2323
return QWidget::sizeHint();
2424
}
2525

26-
// Calculating width
27-
int digits = 1;
28-
int max = qMax(1, m_codeEditParent->document()->blockCount());
29-
while (max >= 10)
30-
{
31-
max /= 10;
32-
++digits;
33-
}
26+
int space = 0;
27+
int lineCount = m_codeEditParent->document()->blockCount();
3428

29+
for (int i = 0; i <= lineCount; ++i)
30+
{
3531
#if QT_VERSION >= 0x050B00
36-
int space = 13 + m_codeEditParent->fontMetrics().horizontalAdvance(QLatin1Char('9')) * digits;
32+
space = 15 + m_codeEditParent->fontMetrics().horizontalAdvance(QString::number(i));
3733
#else
38-
int space = 13 + m_codeEditParent->fontMetrics().width(QLatin1Char('9')) * digits;
34+
space = 15 + m_codeEditParent->fontMetrics().width(QLatin1Char(QString::number(i)));
3935
#endif
36+
}
4037

4138
return {space, 0};
4239
}
@@ -51,7 +48,7 @@ QSyntaxStyle *QLineNumberArea::syntaxStyle() const
5148
return m_syntaxStyle;
5249
}
5350

54-
void QLineNumberArea::squiggle(QCodeEditor::SeverityLevel level, int from, int to)
51+
void QLineNumberArea::lint(QCodeEditor::SeverityLevel level, int from, int to)
5552
{
5653
for (int i = from - 1; i < to; ++i)
5754
{
@@ -60,7 +57,7 @@ void QLineNumberArea::squiggle(QCodeEditor::SeverityLevel level, int from, int t
6057
update();
6158
}
6259

63-
void QLineNumberArea::clearSquiggles()
60+
void QLineNumberArea::clearLint()
6461
{
6562
m_squiggles.clear();
6663
update();
@@ -114,7 +111,7 @@ void QLineNumberArea::paintEvent(QPaintEvent *event)
114111
Q_UNREACHABLE();
115112
break;
116113
}
117-
painter.fillRect(0, top, sizeHint().width(), m_codeEditParent->fontMetrics().height(), squiggleColor);
114+
painter.fillRect(0, top, 7, m_codeEditParent->fontMetrics().height(), squiggleColor);
118115
}
119116

120117
auto isCurrentLine = m_codeEditParent->textCursor().blockNumber() == blockNumber;

0 commit comments

Comments
 (0)