Lire l'add-on EAN-2 et proposer le numéro de la revue scannée
Découverte à la mesure : l'EAN-2 est DÉSACTIVÉ par défaut dans zbar. Il ne suffisait donc pas de cesser de le filtrer — il n'était jamais produit. Vérifié sur un EAN-13 + EAN-2 rendus en canvas : un symbole par défaut, deux après setConfig(ZBAR_EAN2, ZBAR_CFG_ENABLE, 1). L'EAN-5 reste désactivé : il porte un prix, pas un numéro. Ce qui reste non vérifié — que les magazines réels y mettent bien leur numéro de parution — est dit à l'utilisateur : le numéro est proposé dans un champ modifiable, sous une invitation à le comparer à la couverture. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -198,6 +198,9 @@
|
||||
|
||||
private string? _messagePeriodique;
|
||||
private PeriodiqueDetecte? _periodique;
|
||||
|
||||
/// <summary>Add-on EAN-2 du dernier scan, quand il y en avait un. Voir <see cref="CodeScanne"/>.</summary>
|
||||
private string? _parutionLue;
|
||||
private bool _chargement;
|
||||
private bool _enregistrement;
|
||||
private string? _erreur;
|
||||
@@ -248,6 +251,7 @@
|
||||
_erreur = null;
|
||||
_messagePeriodique = null;
|
||||
_periodique = null;
|
||||
_parutionLue = null;
|
||||
_avertissements = [];
|
||||
_etape = Etape.Scan;
|
||||
}
|
||||
@@ -255,9 +259,15 @@
|
||||
// Le scan enchaîne directement sur le flux de lookup existant : l'utilisateur
|
||||
// ne retape jamais ce qui vient d'être scanné, et n'a aucun bouton à confirmer.
|
||||
// Le code lu reste dans le champ : si le décodage était mauvais, il se corrige et se relance.
|
||||
private async Task SurCodeDetecteAsync(string isbn)
|
||||
private async Task SurCodeDetecteAsync(CodeScanne lecture)
|
||||
{
|
||||
_isbn = isbn;
|
||||
_isbn = lecture.Code;
|
||||
|
||||
// Gardé de côté pour la seule chose qui sache quoi en faire : la fiche d'une revue.
|
||||
// Sur un livre, l'add-on EAN-5 (le prix) n'est même pas remonté, et l'EAN-2 n'a pas
|
||||
// de sens.
|
||||
_parutionLue = lecture.Parution;
|
||||
|
||||
await ChercherAsync();
|
||||
}
|
||||
|
||||
@@ -265,6 +275,9 @@
|
||||
{
|
||||
if (e.Key == "Enter" && !string.IsNullOrWhiteSpace(_isbn))
|
||||
{
|
||||
// Saisi à la main ou à la douchette : aucun add-on, et surtout pas celui d'un
|
||||
// scan précédent, qui se retrouverait proposé pour un autre magazine.
|
||||
_parutionLue = null;
|
||||
await ChercherAsync();
|
||||
}
|
||||
}
|
||||
@@ -393,7 +406,13 @@
|
||||
return;
|
||||
}
|
||||
|
||||
Navigation.NavigateTo($"revues/{resultat.Valeur!.Id}");
|
||||
// Le numéro lu sur l'add-on EAN-2 suit la navigation : la fiche le proposera dans un
|
||||
// champ modifiable. On ne l'enregistre pas soi-même — voir CodeScanne.
|
||||
var numero = string.IsNullOrWhiteSpace(_parutionLue)
|
||||
? string.Empty
|
||||
: $"?numero={Uri.EscapeDataString(_parutionLue)}";
|
||||
|
||||
Navigation.NavigateTo($"revues/{resultat.Valeur!.Id}{numero}");
|
||||
}
|
||||
|
||||
/// <summary>Ramène l'écran à la saisie, champ ISBN de nouveau actif pour la douchette.</summary>
|
||||
|
||||
Reference in New Issue
Block a user