Use GLib.Action's for the actions in the window
A very nice cleanup in the Contacts.Window
would be to use GLib.Actions over manually connecting button's signals
- We can build a GMenuModel in our UI for our general menu in
contacts-window.ui
- We can remove a lot manual connections to buttons in
contacts-window.vala
- We don't need to keep track of a
ui_state
property in the ListPane/ContactPane. We can just define a 'win.change-state' action which we can invoke from the buttons when needed.
Some examples on how to progress can be found in Seahorse's KeyManager
and Geary's ComposerWidget