From 148be791963e32723056ae09de5f914f07df77b4 Mon Sep 17 00:00:00 2001 From: John Preston Date: Tue, 31 Oct 2023 10:39:38 +0400 Subject: [PATCH] Override link colors in blockquotes. --- ui/text/text_renderer.cpp | 20 ++++++++++++++++---- ui/text/text_renderer.h | 1 + 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/ui/text/text_renderer.cpp b/ui/text/text_renderer.cpp index 059bad7..6aea539 100644 --- a/ui/text/text_renderer.cpp +++ b/ui/text/text_renderer.cpp @@ -2250,8 +2250,14 @@ void Renderer::applyBlockProperties(const AbstractBlock *block) { if (const auto color = block->colorIndex()) { if (color == 1) { - _currentPen = &_palette->linkFg->p; - _currentPenSelected = &_palette->selectLinkFg->p; + if (_quote && _quote->blockquote && _quoteBlockquoteCache) { + _quoteLinkPenOverride = QPen(_quoteBlockquoteCache->outlines[0]); + _currentPen = &_quoteLinkPenOverride; + _currentPenSelected = &_quoteLinkPenOverride; + } else { + _currentPen = &_palette->linkFg->p; + _currentPenSelected = &_palette->selectLinkFg->p; + } } else if (color - 1 <= _colors.size()) { _currentPen = _colors[color - 2].pen; _currentPenSelected = _colors[color - 2].penSelected; @@ -2263,8 +2269,14 @@ void Renderer::applyBlockProperties(const AbstractBlock *block) { _currentPen = &_palette->monoFg->p; _currentPenSelected = &_palette->selectMonoFg->p; } else if (block->linkIndex()) { - _currentPen = &_palette->linkFg->p; - _currentPenSelected = &_palette->selectLinkFg->p; + if (_quote && _quote->blockquote && _quoteBlockquoteCache) { + _quoteLinkPenOverride = QPen(_quoteBlockquoteCache->outlines[0]); + _currentPen = &_quoteLinkPenOverride; + _currentPenSelected = &_quoteLinkPenOverride; + } else { + _currentPen = &_palette->linkFg->p; + _currentPenSelected = &_palette->selectLinkFg->p; + } } else { _currentPen = &_originalPen; _currentPenSelected = &_originalPenSelected; diff --git a/ui/text/text_renderer.h b/ui/text/text_renderer.h index e6b2e54..402caad 100644 --- a/ui/text/text_renderer.h +++ b/ui/text/text_renderer.h @@ -146,6 +146,7 @@ private: style::align _align = style::al_topleft; QPen _originalPen; QPen _originalPenSelected; + QPen _quoteLinkPenOverride; const QPen *_currentPen = nullptr; const QPen *_currentPenSelected = nullptr; struct {