Repository navigation
feat(#69) : Gtk.FileDialog/AlertDialog sur GTK >= 4.10, formulaires modaux sans MessageDialog - #77
Merged
Conversation
…daux sans MessageDialog - _choose_path et _show_message choisissent l'API à l'exécution : FileDialog/AlertDialog sur GTK >= 4.10 (Debian 13, Rocky/RHEL 9), repli FileChooserNative/MessageDialog sur Debian 12 (GTK 4.8.3). - _open_form_dialog : Gtk.Window modale pour les 3 confirmations à widgets (désinstallation, enregistrer/importer un modèle), que AlertDialog ne sait pas porter. - tests/test_gui_dialogs.py : 21 tests Xvfb, sautés sans PyGObject.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Ferme #69 (après validation sur une cible réelle, voir plus bas).
Versions GTK4 des cibles (relevées le 11/10/2026) : Debian 12 bookworm 4.8.3, Debian 13 trixie 4.18.6, Rocky/RHEL 9 4.12.3. Debian 12 étant < 4.10, l'issue n'est pas « non applicable » : la nouvelle API est choisie à l'exécution.
_choose_path(dossier .bin, champs « Parcourir ») :Gtk.FileDialog.select_folder/open+*_finishsur GTK >= 4.10,Gtk.FileChooserNativesinon. Annulation (GLib.Error) et fichiers sans chemin local ignorés._show_message(_show_dialog) :Gtk.AlertDialog, repliGtk.MessageDialog.Gtk.AlertDialogn'accepte aucun widget : les 3 confirmations qui en portent (désinstallation avec IP à retaper et case « supprimer le .bin », enregistrer un modèle, importer un modèle) passent par_open_form_dialog, uneGtk.Windowmodale non dépréciée, identique sur toutes les versions (Annuler, Échap et fermeture = refus ; réponse unique ; widgets lus avant destruction).switch_capture_gtk.py: aucun changement de packaging (.deb, .rpm, install.sh).Tests :
tests/test_gui_dialogs.py, 21 tests sous Xvfb (GTK 4.22, PyGObject système), dont le repli forcé sur l'ancienne API ; sautés sans PyGObject, comme les autrestest_gui_*(donc aussi en CI actuelle). Suite complète sans PyGObject : 697 passés, 13 sautés. ruff check/format OK.Reste avant de fermer l'issue (critère d'acceptation) : installer le .deb ou le .rpm et ouvrir la GUI sur une cible réelle.
Constat annexe : avec PyGObject réellement installé,
tests/test_gtk_i18n_translations.pyremplacesys.modules["gi"]par un faux module et fait échouer ~80 tests GUI exécutés après lui (préexistant sur dev, invisible en CI faute de PyGObject). Je l'ouvre en issue séparée.