In my last post I described how I added my Spaces horizontal bar as a header of ScrollingPage. It worked fine for most part, except for the fact that I didn't reserve space for itself and was being overlapped by the room list.
After discussing it with my mentors, we decided it would be easier to put that as a header to room list itself. That did work, but the layout dimensions were all wrong. Took me some 2-3 days and GammaRay to figure out what all was wrong and make it work.
To get this to work, I created a new class
SortFilterSpaceListModel. The earlier method of filtering Spaces by using room list as source and hiding normal rooms didn't result in the cleanest UI. It would leave extra spaces here and there (probably from paddings or margins of invisible elements).
By creating a separate class for Spaces altogether, we now have more control over the model and can extend it in future if needed.