-
Jonathan Matthew authored
The main impact of this change is to introduce a new abstraction above RBSource that allows the inclusion of things that don't contain music and cannot be played from. For want of a meaningful name, the new class is called RBDisplayPage. A few of the basic methods from RBSource are now on the RBDisplayPage class, but otherwise this doesn't change any existing sources. The DACP pairing source and the last.fm profile source are now direct subclasses of RBDisplayPage. RBDisplayPageModel and RBDisplayPageTree are reimplementations of RBSourcelistModel and RBSourceList respectively, with a few minor bugs fixed and with the addition that the page group expansion state is now stored in gconf. RBDisplayPageGroup replaces RBSourceGroup, and becomes an actual object that exists in the page tree. It's also a subclass of RBDisplayPage, but page groups cannot be selected in the page tree and don't have any visible content. The same predefined groups exist. Rather than being specified as a property on an RBSource instance, the group for a page is determined by where it is inserted into the page tree.
6a781bc3