<span class="gmail_quote"></span><span class="gmail_quote">Maximilian, <br><br>I appreciate you fixing some of the errors and omissions in this service related code, but I am currently working on completely restructuring how this works, as the different content items and models currently share a ridiculous amount of code, so it might be too early to do a cleanup of this code as it might change dramatically over the next week or so.
<br><br>I am not even sure that there will be separate Jamendo and Magnatune content items when I am done :-)<br><br>I was actually thinking something along the lines of having a generic model and content item and then plugging in the correct database hander and xml parser (based on mainly abstract subclasses) for a specific service. This will make it much easier to add new services at you will not have to create a new model and new content items unleyy you wanted to subclass them to add really specific functionality.
<br><br>- Nikolaj<br></span><br><div><span class="gmail_quote">On 4/25/07, <b class="gmail_sendername">Maximilian Kossick</b> &lt;<a href="mailto:maximilian.kossick@googlemail.com">maximilian.kossick@googlemail.com</a>&gt; wrote:
</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">SVN commit 657749 by mkossick:<br><br>added virtual destructors<br>delete child items in the dtor of servicemodelbase, makes more sense there than in sub-classes
<br><br> M&nbsp;&nbsp;+0 -1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jamendo/jamendocontentitem.cpp<br> M&nbsp;&nbsp;+1 -1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jamendo/jamendocontentitem.h<br> M&nbsp;&nbsp;+0 -1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;magnatunestore/magnatunecontentitem.cpp<br> M&nbsp;&nbsp;+1 -1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;magnatunestore/magnatunecontentitem.h<br><br>
<br>--- trunk/extragear/multimedia/amarok/src/servicebrowser/jamendo/jamendocontentitem.cpp #657748:657749<br>@@ -70,7 +70,6 @@<br><br>&nbsp;&nbsp;JamendoContentItem::~JamendoContentItem()<br>&nbsp;&nbsp;{<br>-&nbsp;&nbsp;&nbsp;&nbsp; qDeleteAll(m_childItems);<br>
&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;JamendoContentItem *JamendoContentItem::child(int row)<br>--- trunk/extragear/multimedia/amarok/src/servicebrowser/jamendo/jamendocontentitem.h #657748:657749<br>@@ -48,7 +48,7 @@<br><br><br><br>-&nbsp;&nbsp;&nbsp;&nbsp;~JamendoContentItem();
<br>+&nbsp;&nbsp;&nbsp;&nbsp;virtual ~JamendoContentItem();<br><br>&nbsp;&nbsp;&nbsp;&nbsp; JamendoContentItem *child(int row);<br>&nbsp;&nbsp;&nbsp;&nbsp; int childCount() const;<br>--- trunk/extragear/multimedia/amarok/src/servicebrowser/magnatunestore/magnatunecontentitem.cpp #657748:657749
<br>@@ -71,7 +71,6 @@<br><br>&nbsp;&nbsp;MagnatuneContentItem::~MagnatuneContentItem()<br>&nbsp;&nbsp;{<br>-&nbsp;&nbsp;&nbsp;&nbsp; qDeleteAll(m_childItems);<br>&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;MagnatuneContentItem *MagnatuneContentItem::child(int row)<br>--- trunk/extragear/multimedia/amarok/src/servicebrowser/magnatunestore/magnatunecontentitem.h #657748:657749
<br>@@ -49,7 +49,7 @@<br><br><br><br>-&nbsp;&nbsp;&nbsp;&nbsp;~MagnatuneContentItem();<br>+&nbsp;&nbsp;&nbsp;&nbsp;virtual ~MagnatuneContentItem();<br><br>&nbsp;&nbsp;&nbsp;&nbsp; MagnatuneContentItem *child(int row);<br>&nbsp;&nbsp;&nbsp;&nbsp; int childCount() const;<br></blockquote></div><br>