Add GTK4 support for native dialogs by kattni · Pull Request #4803 · beeware/toga · GitHub
Skip to content

Add GTK4 support for native dialogs - #4803

Open
kattni wants to merge 15 commits into
beeware:mainfrom
kattni:codex/gtk4-dialogs
Open

kattni wants to merge 15 commits into
beeware:mainfrom
kattni:codex/gtk4-dialogs

Conversation

@kattni

@kattni kattni commented Oct 18, 2026 •

Copy link
Copy Markdown
Contributor

Enable GTK4 message, stack trace, file, and folder dialogs. GTK 4.10 and newer use the asynchronous AlertDialog and FileDialog APIs; earlier GTK versions retain their compatible native dialog APIs. Stack traces use a modal window composed of native controls because AlertDialog cannot contain a scrolling trace.

Update the native probes to exercise dialog responses and file selection. GTK4 CI runs the dialog suites separately with external portals disabled so the probes can drive the in-process native chooser. Other suites use normal portal support, which WebKit needs for correct viewport allocation. The dialog helper waits for native completion before returning its result, preventing callbacks from leaking into the next test.

Refs #3069.

Validation: all 56 app-level and window-level dialog tests passed on GTK3, GTK4, and GTK4/libadwaita. Pre-commit, docs lint, and core/Travertino tests passed with 100% coverage.

PR Checklist:

  • I will abide by the BeeWare Code of Conduct
  • I have read and have followed the CONTRIBUTING.md file
  • This PR was generated or assisted using an AI tool

Assisted-by: OpenAI Codex (GPT-6)

@johnzhou721

Copy link
Copy Markdown
Contributor

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants