fix(awards): the mode filter only hid rows, it did not filter the award

Selecting CW showed FT8 and SSB contacts. The filter ran client-side over
the reference list and nothing else, so a reference kept because it had
one CW contact still displayed the band cells it earned on SSB, still
counted its SSB confirmations, and opening it listed every contact
regardless of mode.

The class now narrows the log BEFORE the engine runs, so the bands, the
totals and the confirmations all describe the selected mode, and
AwardCellQSOs takes the same class. The panel cache is keyed by
"CODE|MODECLASS" — one key per award showed the previous mode's numbers
after switching.

The snapshot is cached by log revision, so this costs a matching pass and
no database read.
This commit is contained in:
2026-08-01 16:10:22 +02:00
parent b6ea07e3a3
commit 85bf0da006
5 changed files with 62 additions and 20 deletions
+6 -2
View File
@@ -2,8 +2,12 @@
{
"version": "0.22.9",
"date": "",
"en": [],
"fr": []
"en": [
"Awards: the CW / Phone / Digital filter now applies to the whole award — bands, counts, confirmations and the contacts behind a cell — instead of only hiding rows from the reference list."
],
"fr": [
"Diplômes : le filtre CW / Phonie / Numérique sapplique désormais à tout le diplôme — bandes, comptes, confirmations et QSO derrière une case — au lieu de masquer seulement des lignes de la liste des références."
]
},
{
"version": "0.22.8",