From 978c9b51935f8597ce307166bfba29368bd4fc23 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Fri, 28 Aug 2026 12:33:52 +0200 Subject: feat: scope an action to the row it was invoked on The five *_thread actions and their submenu are gone: the row's identity is what decides the scope, so a second set of actions was a second answer to a settled question. mark_thread_unread went with them, being the sixth entry in the same submenu. tagSelected() loses its TagScope parameter, and everySelectedRowHasTag() its own, so the direction and the write ask the same question of the same object. ThreadListModel::scopeFor() and messageScopeFor() are deleted; scopeForSelection() is the one resolver. Labels name the scope. Archive, Delete, Restore, Spam, Important and the unread toggle all say "thread" on a conversation row, and Delete, Restore and Archive are ABSENT on a reply: a single reply cannot be removed from a conversation. Compose follows the same rule. Forward, Save, Reply-all and Reply without quoting disappear on a conversation row, which shows no message to act on, and Reply becomes "Reply to this thread": reply-all, quoting nothing, threaded off the conversation's NEWEST message so the answer lands at its end rather than forking the discussion at its opening post. That id is not in the model, since an unexpanded conversation holds no nodes for its replies, so it comes from resolveThreadMessages(); resolveQuery() states its newest-first sort rather than inheriting notmuch's default. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_012iDeN6C7y97nHYPvP6ST4L --- translations/qtmaildir_it_IT.ts | 92 +++++++++++++++++++++++------------------ 1 file changed, 52 insertions(+), 40 deletions(-) (limited to 'translations') diff --git a/translations/qtmaildir_it_IT.ts b/translations/qtmaildir_it_IT.ts index 040af5c..621668f 100644 --- a/translations/qtmaildir_it_IT.ts +++ b/translations/qtmaildir_it_IT.ts @@ -470,6 +470,14 @@ Il messaggio È stato inviato. Non inviarlo di nuovo. Hide the sync output until the next failure Nascondi l'output della sincronizzazione fino al prossimo errore + + No thread is selected + Nessuna conversazione selezionata + + + Select one message to save + Seleziona un singolo messaggio da salvare + &Find &Cerca @@ -522,10 +530,6 @@ Il messaggio È stato inviato. Non inviarlo di nuovo. Add or remove the deleted tag Aggiunge o rimuove l'etichetta deleted - - Mark thread &read - Segna conversazione come &letta - Remove the unread tag from every message of the selected threads Rimuove il tag unread da ogni messaggio delle conversazioni selezionate @@ -557,6 +561,10 @@ Il messaggio È stato inviato. Non inviarlo di nuovo. %n messaggi non sono stati eliminati: nessuna cartella cestino è configurata per il loro account. + + That thread holds no message to answer + Quella conversazione non contiene messaggi a cui rispondere + Restore Ripristina @@ -704,18 +712,10 @@ Il messaggio È stato inviato. Non inviarlo di nuovo. Remove inbox from every message of the selected threads Rimuove inbox da ogni messaggio delle conversazioni selezionate - - Archive thread - Archivia conversazione - &Delete thread &Elimina conversazione - - Add or remove the deleted tag on whole threads - Aggiunge o rimuove l'etichetta eliminato su intere conversazioni - Undelete thread Ripristina conversazione @@ -826,38 +826,14 @@ Il messaggio È stato inviato. Non inviarlo di nuovo. Permanently delete every message in the trash Elimina definitivamente ogni messaggio nel cestino - - Add spam and remove inbox on whole threads - Aggiunge spam e rimuove inbox su intere conversazioni - - - Mark thread spam - Segna conversazione come spam - - - Mark thread read - Segna conversazione come letta - - - Mark thread &unread - Segna conversazione come &non letta - Add the unread tag to every message of the selected threads Aggiunge il tag unread a ogni messaggio delle conversazioni selezionate - - Mark thread unread - Segna conversazione come non letta - Mark every message of the selected threads as important Segna come importante ogni messaggio delle conversazioni selezionate - - Mark thread important - Segna conversazione come importante - Tagging &rules... &Regole di etichettatura... @@ -1258,6 +1234,10 @@ Il messaggio È stato inviato. Non inviarlo di nuovo. %1: %n conversazioni + + Mark thread as &read + Segna conversazione come &letta + Mark as &read Segna come &letto @@ -1266,6 +1246,10 @@ Il messaggio È stato inviato. Non inviarlo di nuovo. Remove the unread tag from the selection Rimuove il tag unread dalla selezione + + Mark thread as &unread + Segna conversazione come &non letta + Mark as &unread Segna come &non letto @@ -1274,6 +1258,38 @@ Il messaggio È stato inviato. Non inviarlo di nuovo. Add the unread tag to the selection Aggiunge il tag unread alla selezione + + Move every message of the selected threads to the trash + Sposta nel cestino ogni messaggio delle conversazioni selezionate + + + &Restore thread from trash + &Ripristina conversazione dal cestino + + + Move every message of the selected threads out of the trash + Sposta fuori dal cestino ogni messaggio delle conversazioni selezionate + + + Add spam and remove inbox on the selected threads + Aggiunge spam e rimuove inbox sulle conversazioni selezionate + + + &Important thread + Conversazione &importante + + + Remove the inbox tag + Rimuove il tag inbox + + + Reply to this &thread + Rispondi a questa &conversazione + + + Add an answer to the end of this conversation + Aggiunge una risposta in fondo a questa conversazione + 1 thread selected (%n message(s)) @@ -1370,10 +1386,6 @@ Il messaggio È stato inviato. Non inviarlo di nuovo. %n modifiche non sincronizzate - - &Whole thread - &Intera conversazione - Select a thread first Seleziona prima una conversazione -- cgit v1.2.3