-
-
Notifications
You must be signed in to change notification settings - Fork 685
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Gtk4 migration #1978
base: main
Are you sure you want to change the base?
Gtk4 migration #1978
Conversation
Wow - this is a big chunk of work :-) Thanks for taking on this project. As I indicated in #1935, we're in the middle of a widget audit right now, so there's a lot of churn happening with widget implementations - but we're also building GUI test cases for all widgets. Those tests (and the test probes in the At present, this PR is failing CI because of basic formatting (towncrier and pre-commit failures) - I'd strongly recommend setting up your development environment as described in the Toga docs to avoid these issues. Once those problems are resolved, you're going to hit a bunch of problems with the testbed app - this is the test harness we're using to validate GUI backends. That testbed will require modifications to run GTK4 code, as will the GTK probes (defined in the |
A weak ref must be set to the widget window to avoid memory leaks.
This commit is a workaround solution to handle coverage tests in cases where backends don't implementing window as image.
Instead of the existing extensible set, GTK now only supports normal and large icons.
Describe your changes in detail
This PR migrates from Gtk3 to Gtk4, from3to4, and taking also into consideration Gtk5, from4to5.
Note the following:
Gtk.AlertDialog
to implement TogaDialog
. Otherwise, we either rebuild it from scratch usingGtk.Window
or using deprecated Gtk API).Gtk.TreeModel
).Audit checklist:
What problem does this change solve?
This PR migrate from Gtk3 (have a lot of deprecated functions and old UI) to Gtk4 and does not violate what will be in Gtk5.
Related issues:
Refs #1931
Refs #1935
PR Checklist: