[script nvda] Extension Conjugaison (implémentation de l'aide contextuelle)

  • From: yannick <philaos31@xxxxxxx>
  • To: scriptnvda@xxxxxxxxxxxxx
  • Date: Wed, 8 Jun 2022 22:37:50 +0200

Salut les amis,

Je vais essayer d'expliquer comment j'ai implémenté le monkey patch de la fonction "gui.contextHelp.showHelp".

Dans le module "__init__.py" de l'extension, à la ligne 31, j'ai sauvegardé la valeur par défaut de cette fonction.

Je l'ai introduite dans une condition, pour bien assuré la rétrocompatibilité avec les versions de NVDA antérieures à 2021.1, qui n'utilisent pas "gui.contextHelp" :

if hasattr (gui, 'contextHelp'): saveShowHelp = gui.contextHelp.showHelp


J'ai donc prévu d'utiliser l'aide contextuelle dans les 2 situations suivantes :

 * Lorsque l'utilisateur ouvre le dialogue de conjugaison en réalisant
   le raccourci-clavier "Contrôle + F5" ou en passant par les menus;
 * Lorsque l'utilisateur accède à la catégorie "Conjugaison" dans le
   panneau des paramètres.


Pour la seconde situation, l'implémentation était plus simple, il fallait juste ajouter l'attribut "helpId = 'conjugaisonSettings'" dans la sous-classe héritant de "gui.settingsDialogs.SettingPanel".

L'attribut "helpId" est déjà implémenté dans la classe mère dans "nvda-2021.1" et plus.

Cependant, il fallait prévoir le retour à la valeur initiale de la fonction "gui.contextHelp.showHelp" dans les autres situations !

Parmi ces situations :

 * Si l'utilisateur valide sur "OK" ou "Annuler" après avoir saisi un
   verbe dans la boîte de dialogue de choix de verbe à conjuguer;
   (L'implémentation est dans la fonction "callback" de la méthode
   "onConjugationDialog ").
 * Si l'utilisateur change de catégorie dans le panneau des paramètres.
   (L'implémentation est présente dans la fonction "event_gainFocus").



Bien entendu, j'aurais préféré ne pas recourir au "monkey patch", bien que je sais très bien que c'est une pratique autorisée.

Voili voilou, je vous souhaite une agréable fin de semaine.

Cordialement,
Abdel.

_._,_._,_
------------------------------------------------------------------------
Groups.io Links:

You receive all messages sent to this group.

View/Reply Online (#320) <https://groups.io/g/script-NVDA/message/320> | Reply To Group <mailto:script-NVDA@xxxxxxxxx?subject=Re:%20%3D%3FUTF-8%3FB%3FW3NjcmlwdC1OVkRBXSBFeHRlbnNpb24gQ29uanVnYWlzb24gKGltcGzDqW1lbnRhdGlvbiBkZSBsJ2FpZGUgY29udGV4dHVlbGxlKQ%3D%3D%3F%3D> | Reply To Sender <mailto:abdelkrim.bensaid@xxxxxxx?subject=Private:%20Re:%20%3D%3FUTF-8%3FB%3FW3NjcmlwdC1OVkRBXSBFeHRlbnNpb24gQ29uanVnYWlzb24gKGltcGzDqW1lbnRhdGlvbiBkZSBsJ2FpZGUgY29udGV4dHVlbGxlKQ%3D%3D%3F%3D> | Mute This Topic <https://groups.io/mt/85503991/5120334> | New Topic <https://groups.io/g/script-NVDA/post>
Your Subscription <https://groups.io/g/script-NVDA/editsub/5120334> | Contact Group Owner <mailto:script-NVDA+owner@xxxxxxxxx> | Unsubscribe <https://groups.io/g/script-NVDA/leave/9576903/5120334/583712717/xyzzy> [philaos31@xxxxxxx]

_._,_._,_

Other related posts:

  • » [script nvda] Extension Conjugaison (implémentation de l'aide contextuelle) - yannick