diff options
| author | Danilo M. <danix@danix.xyz> | 2026-08-28 11:37:21 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-08-28 11:37:21 +0200 |
| commit | 20eb3877c4502a0b8ebe770a563066d8c85387ba (patch) | |
| tree | 08c5ad3490094289b00137f66e35055b7d6b0d64 /src/threadlistmodel.h | |
| parent | 9bec59c98a9f00e6e7f2c0181659a7639bc04e72 (diff) | |
| download | qtmaildir-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.h | 32 |
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 |
