diff options
| author | Danilo M. <danix@danix.xyz> | 2026-08-25 18:49:55 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-08-25 18:49:55 +0200 |
| commit | dfb36213c03e678178ec1abb2327266d23015bc0 (patch) | |
| tree | 4c4bf7c50e509af78d9a9be09c819b81c9ba90de /translations | |
| parent | 3955ff80e3b0d558cd854c4517d1835514010b90 (diff) | |
| download | qtmaildir-dfb36213c03e678178ec1abb2327266d23015bc0.tar.gz qtmaildir-dfb36213c03e678178ec1abb2327266d23015bc0.zip | |
feat: empty the trash, the one action that asks first
Item 118, unblocked by 103. Message > Empty trash..., scoped to the
account selector, with no default shortcut.
purgeMessages() is a separate worker entry point from moveMessages()
rather than a flag on it, because the two look alike and only one can be
undone. It takes named ids, never a folder sweep, so the blast radius is
what the dialog enumerated and the user confirmed, and it deletes every
file of a message: notmuch deduplicates by Message-ID, so leaving one
behind leaves the message alive in the folder the user emptied.
It confirms, naming the count and the account, defaulting to Cancel.
That breaks CLAUDE.md's no-confirmation rule deliberately and the rule
now records it as its single exception, in the same paragraph: a purge
has no inverse to push onto the undo stack, so the protection the rule
provides has to come from somewhere, and the dialog is where.
Two defects found rather than reasoned. The count claimed messages whose
files were already gone, overstating an irreversible action; an absent
file is correctly not an error, but that is not the same as destroyed.
And the user's hand test found the list still showing mail that no
longer existed: a purge removes rows rather than changing them, so there
is no optimistic update to apply and nothing was connected to
messagesPurged at all. It re-runs the current query now.
Verified against the live index after the user emptied one real
account's trash: zero files on disk, zero in the index. The suite is 37
of 38, the failure being item 136 on an unrelated path. Ten new strings
translated, lrelease reports 0 unfinished.
Item 168 is filed from the same hand test, on Delete being offered on
mail already in the trash.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HFuRPtzFrSxCQjFk6tq7gD
Diffstat (limited to 'translations')
| -rw-r--r-- | translations/qtmaildir_it_IT.ts | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/translations/qtmaildir_it_IT.ts b/translations/qtmaildir_it_IT.ts index a976f4e..22f8485 100644 --- a/translations/qtmaildir_it_IT.ts +++ b/translations/qtmaildir_it_IT.ts @@ -552,6 +552,41 @@ Il messaggio È stato inviato. Non inviarlo di nuovo.</translation> </translation> </message> <message> + <source>No trash folder is configured</source> + <translation>Nessuna cartella cestino configurata</translation> + </message> + <message> + <source>Not connected to the mail index</source> + <translation>Non connesso all'indice della posta</translation> + </message> + <message> + <source>The trash is already empty</source> + <translation>Il cestino è già vuoto</translation> + </message> + <message> + <source>every account</source> + <translation>ogni account</translation> + </message> + <message> + <source>Empty trash</source> + <translation>Svuota cestino</translation> + </message> + <message numerus="yes"> + <source>Permanently delete %n message(s) from the trash of %1?</source> + <translation> + <numerusform>Eliminare definitivamente %n messaggio dal cestino di %1?</numerusform> + <numerusform>Eliminare definitivamente %n messaggi dal cestino di %1?</numerusform> + </translation> + </message> + <message> + <source>This cannot be undone.</source> + <translation>Questa operazione non può essere annullata.</translation> + </message> + <message> + <source>Delete permanently</source> + <translation>Elimina definitivamente</translation> + </message> + <message> <source>Mail tagged deleted but not in a trash folder. Select what should go and press Delete.</source> <translation>Posta etichettata come eliminata ma non in un cestino. Seleziona cosa deve essere rimosso e premi Elimina.</translation> </message> @@ -752,6 +787,14 @@ Il messaggio È stato inviato. Non inviarlo di nuovo.</translation> <translation>Mostra la posta etichettata come eliminata che non si trova in un cestino</translation> </message> <message> + <source>Empt&y trash...</source> + <translation>S&vuota cestino...</translation> + </message> + <message> + <source>Permanently delete every message in the trash</source> + <translation>Elimina definitivamente ogni messaggio nel cestino</translation> + </message> + <message> <source>Add spam and remove inbox on whole threads</source> <translation>Aggiunge spam e rimuove inbox su intere conversazioni</translation> </message> @@ -1043,6 +1086,13 @@ Il messaggio È stato inviato. Non inviarlo di nuovo.</translation> <translation><h3>qtmaildir %1</h3><p>Un client di posta Qt6 per Maildir indicizzate con notmuch.</p><p>Legge e organizza la posta locale. Scaricamento e invio sono affidati a script esterni.</p><p>Copyright &copy; 2026 Danilo M. &lt;danix@danix.xyz&gt;<br>Distribuito secondo la GNU General Public License versione 2.</p><p>Sviluppato con l'assistenza dell'IA. Tutto il codice è riveduto, testato e curato dal manutentore.</p></translation> </message> <message numerus="yes"> + <source>Deleted %n message(s) permanently</source> + <translation> + <numerusform>%n messaggio eliminato definitivamente</numerusform> + <numerusform>%n messaggi eliminati definitivamente</numerusform> + </translation> + </message> + <message numerus="yes"> <source>%n unread</source> <translation> <numerusform>%n non letto</numerusform> |
