[PMC] Review of major refactoring around All Music mode

Sinny Kumari ksinny at gmail.com
Wed Sep 25 19:05:46 UTC 2013


Hi Shantanu,

Thank you so much for putting so much effort on re-factoring fabian's
branch. I checked almost all major/minor features which i remember and all
of them works absolutely fine. There are some UI issues which can be fixed
later, but functionality wise most of the stuff works fine.

If needed you can wait for getting feedback from other community people as
well. From my side, you can merge into master :)

Cheers!

On Mon, Sep 23, 2013 at 9:27 PM, Shantanu Tushar Jha <shantanu at kde.org>wrote:

> Hi,
>
> * tl;dr *
> There is new refactored code in fabian-refactoring-shantanu which should
> be functionally same as master. Please take some time, test it and report
> if it works fine, or if a major feature is broken.
>
> * Long version *
>
> Thanks to Fabian, we had started refactoring Plasma Media Center's media
> browsing code so as to create more reusable components. Finally this is
> complete with all major functionality working.
>
> The code for this lies in the branch fabian-refactoring-shantanu . The
> salient features are-
>
> 1. Backends can now expose multiple models instead of just one. The media
> browser is smart enough to understand how to display these. See #2. There
> is 100% backwards compatibility in the sense that older backends with only
> one model will continue to work, internally stored as a list of just one
> model.
>
> 2. We now have the following reusable components throughout PMC-
> * GridBrowser - as the name says, give it a backend/model and it will show
> items in a grid
> * ListBrowser - same as above, but a list
> * SplitBrowser - can show two browsers side-by-side for two models
> * TabBrowser - takes a backend and list of models and shows a browser for
> each model in tabs
> * SmartBrowser - give it a model or a list of models, and it figures out
> which of the above browsers to use
>
> 3. Due to these changes, method calls like expand, search etc now take a
> parameter to the model on which they need to operate. There is 100%
> backwards compatibility where if the parameter is not present, the first
> model is picked up.
>
> 4. Search can now operate on individual models, giving you support to
> search any model in your backend. See #3
>
> 5. *Best of all* We can throw all the custom/duplicated code for All Music
> backend as generic browsers in #2 take care of that. (1006 less lines of
> code!)
>
> What do we need? Well if you get some time, please checkout the branch
> fabian-refactoring-shantanu , test it to make sure no major features are
> broken. Note, there are still few minor keyboard/UI issues which I will
> create bug reports for once merged to master.
>
> What next? I eagerly wait for comments on how the new browsers work, and
> unless some major feature is broken, I will go ahead and merge with master
> this weekend, or earlier if people try out and find no issues.
>
> Thanks!
>
> --
> Shantanu Tushar    (UTC +0530)
> http://www.shantanutushar.com
>
> _______________________________________________
> Plasma-devel mailing list
> Plasma-devel at kde.org
> https://mail.kde.org/mailman/listinfo/plasma-devel
>
>


-- 
http://www.sinny.in
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20130926/5f6a308a/attachment-0001.html>


More information about the Plasma-devel mailing list