feat: bulk-edit the contacted station's gridsquare
An import that drops the locator leaves it missing on a whole batch, and fixing that one QSO at a time is exactly what bulk edit exists to avoid. Added on all three sides in lockstep — the dialog field, the field-to-column map, and the repository whitelist — because they are separate lists and offering a field the repository refuses fails only at Apply, after the operator has selected the QSOs. The existing contract test covers it. The callsign and RST stay excluded, as before: bulk-setting those corrupts a log. The locator does not carry that risk — it identifies a place, not a station, and a wrong value is simply overwritten again.
This commit is contained in:
@@ -5648,6 +5648,7 @@ var bulkFieldColumns = map[string]string{
|
||||
"sat_name": "sat_name",
|
||||
"sat_mode": "sat_mode",
|
||||
// Contacted station location + activation refs / SIG
|
||||
"grid": "grid",
|
||||
"state": "state",
|
||||
"cnty": "cnty",
|
||||
"pota_ref": "pota_ref",
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"version": "0.21.9",
|
||||
"date": "2026-07-28",
|
||||
"en": [
|
||||
"Bulk edit can now set the contacted station gridsquare, so a batch of QSOs imported without a locator can be corrected in one go.",
|
||||
"Filter builder: a confirmation date typed into a condition showed an empty box. The value was stored correctly, only the calendar field failed to display it.",
|
||||
"The Icom model list gains the IC-7300MKII (CI-V B6), plus the IC-7100, IC-7410, IC-7600 and IC-7851. The IC-7700 and IC-7800 were listed at the IC-7100's and IC-7410's addresses, so picking them set an address the rig never answers on.",
|
||||
"Icom over the LAN: the frequency no longer stays frozen after another program (WSJT-X through OmniRig, the Remote Utility) takes the CI-V session. The rig kept answering pings while sending nothing, so OpsLog showed the last known frequency until it was restarted; it now reconnects on its own.",
|
||||
@@ -10,6 +11,7 @@
|
||||
"CQ and ITU zones you correct by hand in your profile stay corrected. They are derived from cty.dat, which gives the zones of the whole entity — in a country spanning several, the automatic value is wrong and it came back at every restart. They now only fill in when empty, and recompute when the callsign or grid changes."
|
||||
],
|
||||
"fr": [
|
||||
"L'édition groupée peut désormais définir le locator de la station contactée : un lot de QSO importés sans locator se corrige en une fois.",
|
||||
"Constructeur de filtres : une date de confirmation saisie dans une condition s'affichait dans une case vide. La valeur était bien enregistrée, seul le champ calendrier ne la montrait pas.",
|
||||
"La liste des modèles Icom gagne l'IC-7300MKII (CI-V B6), ainsi que les IC-7100, IC-7410, IC-7600 et IC-7851. Les IC-7700 et IC-7800 y figuraient avec les adresses des IC-7100 et IC-7410 : les choisir réglait une adresse sur laquelle la radio ne répond jamais.",
|
||||
"Icom via le réseau : la fréquence ne reste plus figée après qu'un autre programme (WSJT-X via OmniRig, la Remote Utility) a pris la session CI-V. La radio continuait de répondre aux pings sans rien émettre, si bien qu'OpsLog affichait la dernière fréquence connue jusqu'à son redémarrage ; il se reconnecte désormais tout seul.",
|
||||
|
||||
@@ -82,6 +82,7 @@ const FIELDS: FieldDef[] = [
|
||||
{ id: 'sat_name', label: 'bulk.fSatName', group: 'Propagation', kind: 'text', upper: true },
|
||||
{ id: 'sat_mode', label: 'bulk.fSatMode', group: 'Propagation', kind: 'text', upper: true },
|
||||
// Contacted station (location / activation refs / SIG)
|
||||
{ id: 'grid', label: 'bulk.fGrid', group: 'Contacted station', kind: 'text', upper: true },
|
||||
{ id: 'state', label: 'bulk.fState', group: 'Contacted station', kind: 'text', upper: true },
|
||||
{ id: 'cnty', label: 'bulk.fCnty', group: 'Contacted station', kind: 'text' },
|
||||
{ id: 'pota_ref', label: 'bulk.fPotaRef', group: 'Contacted station', kind: 'text', upper: true },
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -793,6 +793,11 @@ var bulkEditableCols = map[string]bool{
|
||||
// here, so choosing one failed at Apply. The rest of the contacted station
|
||||
// (callsign, name, RST…) stays deliberately out: bulk-setting those would
|
||||
// corrupt the log.
|
||||
// grid: the locator an import loses wholesale. Correcting it one QSO at a
|
||||
// time is what the operator is trying to avoid, and unlike the callsign it
|
||||
// carries no risk of confusing two stations — a wrong value is simply
|
||||
// overwritten again.
|
||||
"grid": true,
|
||||
"state": true,
|
||||
"cnty": true,
|
||||
// Contest — the exchange/label fields that are constant across a run.
|
||||
|
||||
Reference in New Issue
Block a user