aboutsummaryrefslogtreecommitdiffstats
path: root/src/threadlistmodel.h
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-08-28 11:37:21 +0200
committerDanilo M. <danix@danix.xyz>2026-08-28 11:37:21 +0200
commit20eb3877c4502a0b8ebe770a563066d8c85387ba (patch)
tree08c5ad3490094289b00137f66e35055b7d6b0d64 /src/threadlistmodel.h
parent9bec59c98a9f00e6e7f2c0181659a7639bc04e72 (diff)
downloadqtmaildir-20eb3877c4502a0b8ebe770a563066d8c85387ba.tar.gz
qtmaildir-20eb3877c4502a0b8ebe770a563066d8c85387ba.zip
feat: draw a conversation row's own tags, in one tier
Items 110 and 111 reconciled a card that showed one message with a row that was a thread. The row is the conversation now, so the union is simply what it means: the first-message substitution, PillOwnCountRole and the seeded first node all go.
Diffstat (limited to 'src/threadlistmodel.h')
-rw-r--r--src/threadlistmodel.h32
1 files changed, 0 insertions, 32 deletions
diff --git a/src/threadlistmodel.h b/src/threadlistmodel.h
index d1baae1..5cd1392 100644
--- a/src/threadlistmodel.h
+++ b/src/threadlistmodel.h
@@ -74,21 +74,6 @@ public:
/// config itself would be a second source of truth.
PillColoursRole,
- /// How many of PillTagsRole's entries belong to the message the card
- /// DISPLAYS, the rest belonging only to its siblings.
- ///
- /// The card stands for one message but sits above a conversation, so
- /// it shows both: the message's own tags first at full size, then the
- /// thread's other tags smaller and muted. Without the split a card
- /// either claimed a sibling's tag as its own (item 110) or dropped it
- /// and looked like it had lost information.
- ///
- /// Equals the whole list until the row has been opened, since the
- /// per-message tags arrive with the message load and before that the
- /// union is the only answer there is. Chips therefore SHRINK when the
- /// split becomes known; none ever disappears.
- PillOwnCountRole,
-
/// True when the row is a MESSAGE row rather than a thread root.
/// Drives both the action scope and whether the view paints a tag
/// strip under the row.
@@ -341,23 +326,6 @@ public:
/// message the user could select is always findable here.
QString threadIdForMessage(const QString &messageId) const;
- /// Records the tags a MESSAGE really carries, as the worker reported them.
- ///
- /// Exists because `ThreadSummary::tags` is notmuch's UNION over the
- /// thread, which is right for a card standing for a conversation and wrong
- /// for one standing for a message. A four-message thread whose third
- /// message is signed makes the whole thread read as signed, so the root
- /// card and the message pane both claimed a tag the displayed message did
- /// not have.
- ///
- /// Only the ROOT needs this: reply rows already carry their own nodes from
- /// setThreadMessages. Calling it for anything else is a no-op.
- ///
- /// The thread's summary is deliberately NOT rewritten. It describes the
- /// conversation, and three unread siblings do not stop being unread
- /// because this message was read.
- void setRootMessageTags(const QString &messageId, const QStringList &tags);
-
/// A loaded message row's node, found by id rather than by position.
///
/// For callers that know WHICH message they mean and must not depend on it