[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-panel-devel
Subject:    Re: [PMC] Review of major refactoring around All Music mode
From:       Sinny Kumari <ksinny () gmail ! com>
Date:       2013-09-25 19:17:46
Message-ID: CABbDtLqU9FGnH73G8XfnRLgsY+eT63OjZKZcYMM7giqosS3NSA () mail ! gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


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@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@kde.org
> https://mail.kde.org/mailman/listinfo/plasma-devel
>
>


-- 
http://www.sinny.in

[Attachment #5 (text/html)]

<div dir="ltr"><br><div class="gmail_extra"><div class="gmail_quote">Hi \
Shantanu,<br><br></div><div class="gmail_quote">Thank you so much for putting so much \
effort on re-factoring fabian&#39;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.<br> \
<br>If needed you can wait for getting feedback from other community people as well. \
From my side, you can merge into master :)<br><br></div><div \
class="gmail_quote">Cheers!<br></div><div class="gmail_quote"><br>On Mon, Sep 23, \
2013 at 9:27 PM, Shantanu Tushar Jha <span dir="ltr">&lt;<a \
href="mailto:shantanu@kde.org" target="_blank">shantanu@kde.org</a>&gt;</span> \
wrote:<br> <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px \
#ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div>Hi,<br><br></div><div>* \
tl;dr *<br></div><div>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.<br>

<br></div><div>* Long version *<br></div><div><br></div>Thanks to Fabian, we had \
started refactoring Plasma Media Center&#39;s media browsing code so as to create \
more reusable components. Finally this is complete with all major functionality \
working.<br>

<br></div>The code for this lies in the branch fabian-refactoring-shantanu . The \
salient features are-<br><br></div>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.<br>

<br><div><div>2. We now have the following reusable components throughout PMC-<br>* \
GridBrowser - as the name says, give it a backend/model and it will show items in a \
grid<br>* ListBrowser - same as above, but a list<br>

</div><div>* SplitBrowser - can show two browsers side-by-side for two \
models<br></div><div></div><div>* TabBrowser - takes a backend and list of models and \
shows a browser for each model in tabs<br>* SmartBrowser - give it a model or a list \
of models, and it figures out which of the above browsers to use<br>

</div><div><br>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.<br>

<br></div><div>4. Search can now operate on individual models, giving you support to \
search any model in your backend. See #3<br><br></div><div>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!)<br>

<br></div><div>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.<br>

<br></div><div>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.<br>

<br></div><div>Thanks!<span class="HOEnZb"><font \
color="#888888"><br></font></span></div><span class="HOEnZb"><font \
color="#888888"><div><div><div><div><div><div><div><br>-- <br>Shantanu Tushar    (UTC \
+0530)<br><a href="http://www.shantanutushar.com" \
target="_blank">http://www.shantanutushar.com</a> \
</div></div></div></div></div></div></div></font></span></div></div> \
<br>_______________________________________________<br> Plasma-devel mailing list<br>
<a href="mailto:Plasma-devel@kde.org">Plasma-devel@kde.org</a><br>
<a href="https://mail.kde.org/mailman/listinfo/plasma-devel" \
target="_blank">https://mail.kde.org/mailman/listinfo/plasma-devel</a><br> \
<br></blockquote></div><br><br clear="all"><br>-- <br><a href="http://www.sinny.in" \
target="_blank">http://www.sinny.in</a> </div></div>



_______________________________________________
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic