aboutsummaryrefslogtreecommitdiffstats
path: root/translations/qtmaildir_it_IT.ts
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-10-31 11:26:52 +0100
committerDanilo M. <danix@danix.xyz>2026-10-31 11:26:52 +0100
commit467fa84fd851459d5d9c9e5297e2500e938f0a18 (patch)
tree392d0237cac273a6a07db11b120a8a453e8e8ff6 /translations/qtmaildir_it_IT.ts
parent9ae9473acdb7cb3310c3028765cc4b30fedfce27 (diff)
downloadqtmaildir-467fa84fd851459d5d9c9e5297e2500e938f0a18.tar.gz
qtmaildir-467fa84fd851459d5d9c9e5297e2500e938f0a18.zip
fix: keep bulk tag actions linear, and say when they land
Select all on a 10k-row search, then Archive, froze the window with one CPU pinned. gdb on the live process showed the UI thread cubic before the write was ever sent: each optimistic row write emitted dataChanged, whose handler refreshed the action labels by walking the whole selection, and each step of that walk looked the message up with a linear scan of every thread. ThreadListModel now answers id lookups from a lazily rebuilt hash, invalidated by its own structural signals and by hand at the two in-place id changes. MainWindow::batchModelWrites() holds the label refresh while a loop of optimistic writes runs, then refreshes once. Two list membership tests became sets. The announcement also used to fade on a timer whether or not the write had landed. It now reads "applying" until a round trip through the worker's queue says the write has run, then "done". An error takes the label back from a late "done". Item 211. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'translations/qtmaildir_it_IT.ts')
-rw-r--r--translations/qtmaildir_it_IT.ts8
1 files changed, 8 insertions, 0 deletions
diff --git a/translations/qtmaildir_it_IT.ts b/translations/qtmaildir_it_IT.ts
index 51bf793..7a57598 100644
--- a/translations/qtmaildir_it_IT.ts
+++ b/translations/qtmaildir_it_IT.ts
@@ -1981,6 +1981,14 @@ protocollo di rete: il recupero e l&apos;invio sono comandi esterni.
<translation>Sincronizzazione in corso in background...</translation>
</message>
<message>
+ <source>%1, applying…</source>
+ <translation>%1, in corso…</translation>
+ </message>
+ <message>
+ <source>%1, done</source>
+ <translation>%1, fatto</translation>
+ </message>
+ <message>
<source>%1, waiting for the running sync to finish</source>
<translation>%1, in attesa che termini la sincronizzazione in corso</translation>
</message>