GNOME Bugzilla – Bug 779940
Prepare room list code for filtering
Last modified: 2017-03-14 01:06:36 UTC
It would be possible to add filtering based on the current code, but it's a lot cleaner to move stuff around a bit first. This will also make reusing the room list for initial-setup a lot more painless ...
Created attachment 347751 [details] [review] joinDialog: Remove a pointless box from the hierarchy It was added by commit 4aec23a, but never served any purpose.
Created attachment 347752 [details] [review] serverRoomList: Use a template We will soon move some bits from the joinDialog hierarchy into the serverRoomList, so it's a good time to make it use a template - though moving the tedious TreeView setup out of the code is already quite nice by itself ...
Created attachment 347753 [details] [review] serverRoomList: Include search entry and spinner Those widgets are currently added by the join dialog, however it makes more sense for the serverRoomList to handle them itself: - we will soon hook up the entry to filter the list of rooms as intended by the design; this will tie entry and list at least as strong together as spinner and list already are, so keeping them in the same composite widget is much cleaner than passing state back and forth via properties, signals and functions - in the future, we want to reuse the room list during initial setup; having to duplicate all the code for loading indication, filtering and entering custom rooms would seriously suck
Created attachment 347754 [details] [review] serverRoomList: Remove :loading property Now that the spinner is an internal child, we can simply update it as necessary instead of routing through a GObject property.
Attachment 347751 [details] pushed as 9c804cb - joinDialog: Remove a pointless box from the hierarchy Attachment 347752 [details] pushed as 2934dc3 - serverRoomList: Use a template Attachment 347753 [details] pushed as 9041f44 - serverRoomList: Include search entry and spinner Attachment 347754 [details] pushed as 09f6137 - serverRoomList: Remove :loading property