aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-08-14 12:50:42 +0200
committerDanilo M. <danix@danix.xyz>2026-08-14 12:50:42 +0200
commit811bea0640dbfd27ca2c47b0288716ca608e5abb (patch)
treefcc55aa4d6b50305d3bbbd062de1dadc3dc1fca1
parent7e1cabf49c03c1e0c2926dcfcf82adedbf98940e (diff)
downloadqtmaildir-811bea0640dbfd27ca2c47b0288716ca608e5abb.tar.gz
qtmaildir-811bea0640dbfd27ca2c47b0288716ca608e5abb.zip
refactor(tags): name what the overflow chip's x actually is
The loop was assigning a variable it never read, overwritten on every pass and used only after, which reads as an accumulator and is not one. The overflow chip's position is derived where it is used instead.
-rw-r--r--src/tagstrip.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/tagstrip.cpp b/src/tagstrip.cpp
index 7e671ce..565a054 100644
--- a/src/tagstrip.cpp
+++ b/src/tagstrip.cpp
@@ -163,17 +163,20 @@ void TagStrip::paintEvent(QPaintEvent *)
const QFontMetrics metrics(font());
const int top = (height() - (metrics.height() + TagChip::kPaddingY * 2)) / 2;
- int x = 0;
for (int i = 0; i < m_visible.size(); ++i) {
const QString &tag = m_visible.at(i);
- const QRect rect = chipRectAt(i);
const QColor colour = m_tagColors ? m_tagColors->colourFor(tag)
: TagColors().colourFor(tag);
- TagChip::paint(&painter, rect, tag, colour);
- x = rect.right() + 1 + TagChip::kSpacing;
+ TagChip::paint(&painter, chipRectAt(i), tag, colour);
}
if (!m_hidden.isEmpty()) {
+ // After the last visible chip. right() is inclusive, so +1 makes it an
+ // exclusive edge before the gap is added. The overflow chip is not in
+ // m_visible and so has no chipRectAt() of its own.
+ const QRect last = chipRectAt(m_visible.size() - 1);
+ const int x = last.right() + 1 + TagChip::kSpacing;
+
const QString text = overflowText(m_hidden.size());
const QSize size = TagChip::sizeFor(metrics, text);
TagChip::paint(&painter, QRect(QPoint(x, top), size), text,