diff --git a/bin/app/data/color_schemes/bad_rainbow.xml b/bin/app/data/color_schemes/bad_rainbow.xml
index 813b020b..1a8a6b80 100644
--- a/bin/app/data/color_schemes/bad_rainbow.xml
+++ b/bin/app/data/color_schemes/bad_rainbow.xml
@@ -100,7 +100,9 @@
#C4C4C4
+ #A0A0A0
#494949
+ #C4C4C4
diff --git a/bin/app/data/color_schemes/bright.xml b/bin/app/data/color_schemes/bright.xml
index cb63e02a..f8fcd2d5 100644
--- a/bin/app/data/color_schemes/bright.xml
+++ b/bin/app/data/color_schemes/bright.xml
@@ -100,7 +100,9 @@
black
+ #A0A0A0
white
+ #A0A0A0
diff --git a/bin/app/data/color_schemes/dark.xml b/bin/app/data/color_schemes/dark.xml
index e5858f3a..9159d01b 100644
--- a/bin/app/data/color_schemes/dark.xml
+++ b/bin/app/data/color_schemes/dark.xml
@@ -119,7 +119,9 @@
#F7F7F7
+ #A0A0A0
#272728
+ #969696
diff --git a/bin/app/data/gui/code_view/code_view.css b/bin/app/data/gui/code_view/code_view.css
index 6517c3c0..932b77a7 100644
--- a/bin/app/data/gui/code_view/code_view.css
+++ b/bin/app/data/gui/code_view/code_view.css
@@ -73,7 +73,7 @@
#code_file #code_snippet #dots {
background-color: ;
- padding-right: 13px;
+ padding-right: 16px;
text-align: right;
}
diff --git a/src/lib_gui/qt/element/QtCodeArea.cpp b/src/lib_gui/qt/element/QtCodeArea.cpp
index c70490b5..1d6f0183 100644
--- a/src/lib_gui/qt/element/QtCodeArea.cpp
+++ b/src/lib_gui/qt/element/QtCodeArea.cpp
@@ -195,20 +195,32 @@ void QtCodeArea::lineNumberAreaPaintEvent(QPaintEvent *event)
std::set activeLineNumbers = getActiveLineNumbers();
ColorScheme* scheme = ColorScheme::getInstance().get();
- QColor backgroundColor(scheme->getColor("code/snippet/line_number/background").c_str());
- backgroundColor.setAlpha(150);
+
+ QColor textColor(scheme->getColor("code/snippet/line_number/text").c_str());
+ QColor inactiveTextColor(scheme->getColor("code/snippet/line_number/inactive_text").c_str());
+ QColor markerColor(scheme->getColor("code/snippet/line_number/marker").c_str());
+
+ QPen p = painter.pen();
while (block.isValid() && top <= event->rect().bottom())
{
if (block.isVisible() && bottom >= event->rect().top())
{
int number = blockNumber + m_startLineNumber;
- painter.drawText(0, top, m_lineNumberArea->width() - 13, fontMetrics().height(), Qt::AlignRight, QString::number(number));
- if (!m_isActiveFile && activeLineNumbers.find(number) == activeLineNumbers.end())
+ p.setColor(textColor);
+
+ if (activeLineNumbers.find(number) != activeLineNumbers.end())
{
- painter.fillRect(0, top, m_lineNumberArea->width(), fontMetrics().height(), backgroundColor);
+ painter.fillRect(m_lineNumberArea->width() - 8, top, 3, fontMetrics().height() + 1, markerColor);
}
+ else if (!m_isActiveFile)
+ {
+ p.setColor(inactiveTextColor);
+ }
+
+ painter.setPen(p);
+ painter.drawText(0, top, m_lineNumberArea->width() - 16, fontMetrics().height(), Qt::AlignRight, QString::number(number));
}
block = block.next();
@@ -373,23 +385,6 @@ void QtCodeArea::paintEvent(QPaintEvent* event)
}
QPlainTextEdit::paintEvent(event);
-
- QPainter painter2(viewport());
- std::set activeLineNumbers = getActiveLineNumbers();
-
- ColorScheme* scheme = ColorScheme::getInstance().get();
- QColor backgroundColor(scheme->getColor("code/snippet/background").c_str());
- backgroundColor.setAlpha(75);
-
- for (int i = 0; i < document()->blockCount(); i++)
- {
- int lineNumber = i + m_startLineNumber;
- if (!m_isActiveFile && activeLineNumbers.find(lineNumber) == activeLineNumbers.end() &&
- lineNumber >= firstVisibleLine && lineNumber <= lastVisibleLine)
- {
- painter.fillRect(0, top + i * blockHeight, width(), blockHeight, backgroundColor);
- }
- }
}
void QtCodeArea::enterEvent(QEvent* event)
@@ -811,14 +806,9 @@ std::set QtCodeArea::getActiveLineNumbers() const
{
std::set activeLineNumbers;
- if (m_isActiveFile)
- {
- return activeLineNumbers;
- }
-
for (const Annotation& annotation : m_annotations)
{
- if (annotation.isActive)
+ if (annotation.isActive || annotation.isFocused)
{
for (int i = annotation.startLine; i <= annotation.endLine; i++)
{
@@ -827,20 +817,6 @@ std::set QtCodeArea::getActiveLineNumbers() const
}
}
- if (activeLineNumbers.size())
- {
- for (const Annotation& annotation : m_annotations)
- {
- if (annotation.isFocused)
- {
- for (int i = annotation.startLine; i <= annotation.endLine; i++)
- {
- activeLineNumbers.insert(i);
- }
- }
- }
- }
-
return activeLineNumbers;
}