aboutsummaryrefslogtreecommitdiffstats
path: root/src/mainwindow.cpp
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/mainwindow.cpp
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/mainwindow.cpp')
-rw-r--r--src/mainwindow.cpp17
1 files changed, 2 insertions, 15 deletions
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
index 231a9a5..b64e20b 100644
--- a/src/mainwindow.cpp
+++ b/src/mainwindow.cpp
@@ -4058,21 +4058,8 @@ void MainWindow::onMessageLoaded(const QVector<MessageRef> &messages,
return;
// The worker's answer is the authority on what THIS message carries, and
- // it is the only place that truth arrives. Until it does, a thread row can
- // only offer ThreadSummary::tags, which is notmuch's union over the
- // conversation: a four-message thread whose third message is signed makes
- // the root card and the pane both claim `signed` for a message that is not
- // (item 110). Recording it here corrects the card and gives a
- // message-scoped write something to update, which is why marking a root
- // message read left the row bold before.
- //
- // A reply already has its own node from the thread tree, and
- // setRootMessageTags ignores anything that is not a root.
- for (const MessageRef &ref : messages)
- m_model->setRootMessageTags(ref.messageId, ref.tags);
-
- // The pane follows the same correction. setTags() at selection time can
- // only have used the union.
+ // the pane shows one message. setTags() at selection time can only have
+ // used the thread's union.
if (messages.size() == 1)
m_messageView->setTags(messages.first().tags);