aboutsummaryrefslogtreecommitdiffstats
path: root/src/threadlistmodel.h
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-08-28 11:49:32 +0200
committerDanilo M. <danix@danix.xyz>2026-08-28 11:49:32 +0200
commit26699b720c4135b57de6cfc84b35ab632de1c500 (patch)
treec7f4831fdf4b2b8d5960d34681eec688574c824d /src/threadlistmodel.h
parent5f31a037a37a928a8e21fdf0950568a689e29fb8 (diff)
downloadqtmaildir-26699b720c4135b57de6cfc84b35ab632de1c500.tar.gz
qtmaildir-26699b720c4135b57de6cfc84b35ab632de1c500.zip
feat: resolve a selection's scope from what each row is
One resolver replacing the scopeFor/messageScopeFor pair. The caller no longer chooses the scope, which is what let one gesture mean two things.
Diffstat (limited to 'src/threadlistmodel.h')
-rw-r--r--src/threadlistmodel.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/threadlistmodel.h b/src/threadlistmodel.h
index 5cd1392..fcbb8f5 100644
--- a/src/threadlistmodel.h
+++ b/src/threadlistmodel.h
@@ -361,6 +361,14 @@ public:
/// thread instead would be the silent escalation this exists to remove.
ActionScope messageScopeFor(const QModelIndexList &selection) const;
+ /// What a selection means, resolved per row from what that row IS.
+ ///
+ /// Replaces the scopeFor()/messageScopeFor() pair, which made the caller
+ /// choose the scope and so let one gesture mean two things (item 177). A
+ /// conversation row contributes its thread, any other row its message, and
+ /// a mixed selection carries both.
+ ActionScope scopeForSelection(const QModelIndexList &selection) const;
+
/// The account keys behind a thread's account tags, for item 49's
/// per-account sync.
///