[GSoC status report] Week 9
Téo Mrnjavac
teo.mrnjavac at gmail.com
Mon Jun 22 23:21:31 CEST 2009
The roadmap I outlined last week has crumbled - this is not
necessarily a bad thing, it means simply that new circumstances have
brought some issues to my attention. As the full title of my GSoC
project is "Finish the playlist and multilevel sorting foo", it's only
reasonable that I fix the issues at hand first and then continue with
GUI work.
Basically, my estimate from last week has been proven to have been
excessively optimistic. Realizing that in order to despaghettify the
proxies there's a dire need to enforce a common interface first, I
embarked on a quest to implement an abstract base class
Playlist::AbstractModel to define the interface of Playlist::Model and
Playlist::*Proxy, and a common proxy superclass Playlist::ProxyBase
that implements some default transparent forwarders.
I spent the first half of the week defining the pure virtual methods
in AbstractModel and making the model and proxies play nice with it.
Then I started working on ProxyBase, but I was hit by a crippling
migraine. On sunday the pain started to wear off so I continued my
work on ProxyBase, but progress has been quite slow because every time
I move a method to ProxyBase, three other methods experience some
silly borkage. At the moment the proxies are still quite far from
being despaghettified, but I hope that as time goes on and more
methods end up in ProxyBase, it should all go more smoothly.
For week 10 I plan to keep working on this refactor and finish it,
after that I have to fix the navigators, Playlist::Controller and
Playlist::PrettyListView so that they talk only to the topmost proxy
using the AbstractModel interface.
More information about the Amarok-devel
mailing list