-
Port the backend widgetry to GTK4 and libadwaita, consolidating common layouts and usage into an AdwWindow subclass. Providers can use simple methods to build login forms and control the dialog state from the callbacks of asynchronous discovery and authentication methods. Refactor the provider methods to use an async pattern similar to `GtkFileDialog`. API users pass in a (optional) `GtkWindow` for a parent and call as finish func to get the result. The dialog comprises a simple state machine, documented for providers with behavioural details.