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

List:       kde-active
Subject:    Re: Review Request 112899: add support for the forum in bodega-client(1 of 2)
From:       "Aaron J. Seigo" <aseigo () kde ! org>
Date:       2013-09-24 11:06:52
Message-ID: 20130924110652.23572.46986 () vidsolbach ! de
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/112899/#review40665
-----------------------------------------------------------


This patch is incorrect from start to finish, I'm afraid. As has been noted several \
times now, the fact that bodega is using discourse as the forum software must be \
encapsulated inside of the bodega server. The only place this can "leak" is in the \
forum URL to be  handed to a full web browser for when the user wishes to interact \
fully with the forums.

However, *all* access to the forums from a bodega client *must* be done via bodega \
server API. It must *never* touch discourse directly as that leads to several \
problems:

* we can never switch away from discourse easily, should we decide that is necessary 
* we  end up with exactly the sort of problems seen in ForumCategoryJob where instead \
of getting a self-contained response it has to do multiple trips, not use the Session \
object and do hacks around the jobFinished signal as a result

To summarize:

* there needs to be API in bodega-server that allows one to fetch postings from the \
forum related to an asset; this API needs to support paging so that only the first \
                few responses can be fetched and then more on demand
* the client-side code needs to use this server-side API rather than discourse \
directly

I am very certain we have had this exact discussion before.


lib/bodega/assetoperations.cpp
<http://git.reviewboard.kde.org/r/112899/#comment29937>

    so as soon as the asset info is retrieved, the forumJobModel, even if nothing is \
showing the forum responses, is immediately sent off to fetch all the responses?  
    unlike the ratings model which does make sense as part of AssetOperations, i \
don't see why the forum model must be.



lib/bodega/assetoperations.cpp
<http://git.reviewboard.kde.org/r/112899/#comment29935>

    please: delay initialization of heavy objects such as models until they are \
actually used.



lib/bodega/assetoperations.cpp
<http://git.reviewboard.kde.org/r/112899/#comment29934>

    i don't think that was intentional..



lib/bodega/forumjob_p.cpp
<http://git.reviewboard.kde.org/r/112899/#comment29938>

    it fetches the *entire* set of discussions and feedback? what happens when an \
asset has 100s of replies and the person is accessing it over e.g. a 3G connection?  
    as we talked about previously: by default only the most recent responses should \
be fetched and the rest loaded on demand.



lib/bodega/forumjobmodel_p.h
<http://git.reviewboard.kde.org/r/112899/#comment29933>

    should just be called ForumModel



lib/bodega/forumjobmodel_p.h
<http://git.reviewboard.kde.org/r/112899/#comment29930>

    this  data is not unique per-row, it has nothing to do with the forum feedback, i \
do not know why it is here.



lib/bodega/forumjobmodel_p.cpp
<http://git.reviewboard.kde.org/r/112899/#comment29932>

    is anything going to use this countChanged signal?



lib/bodega/forumjobmodel_p.cpp
<http://git.reviewboard.kde.org/r/112899/#comment29936>

    why would you use a signal for this? just call it directly from setAssetInfo. you \
are making the code more complicated that it needs to be.



lib/bodega/forumjobmodel_p.cpp
<http://git.reviewboard.kde.org/r/112899/#comment29931>

    this is mispaired with a beginResetModel in fetchCategory.
    
    worse, if the job fails, nothing gets called. the model will simply "hang".


- Aaron J. Seigo


On Sept. 23, 2013, 3:47 p.m., Giorgos Tsiapaliokas wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/112899/
> -----------------------------------------------------------
> 
> (Updated Sept. 23, 2013, 3:47 p.m.)
> 
> 
> Review request for Bodega.
> 
> 
> Description
> -------
> 
> This patch adds the forumjob and the forumjobmodel.
> The patch doesn't contain any ui bits in order to avoid
> an endless review request. I will open the second one after this one.
> 
> 
> Diffs
> -----
> 
> lib/bodega/CMakeLists.txt 6fd0d0b 
> lib/bodega/assetjob.cpp 3423c41 
> lib/bodega/assetoperations.h c4ce191 
> lib/bodega/assetoperations.cpp b1fd346 
> lib/bodega/forumjob_p.h PRE-CREATION 
> lib/bodega/forumjob_p.cpp PRE-CREATION 
> lib/bodega/forumjobmodel_p.h PRE-CREATION 
> lib/bodega/forumjobmodel_p.cpp PRE-CREATION 
> lib/bodega/globals.h c696a40 
> 
> Diff: http://git.reviewboard.kde.org/r/112899/diff/
> 
> 
> Testing
> -------
> 
> It builds.
> 
> 
> Thanks,
> 
> Giorgos Tsiapaliokas
> 
> 


[Attachment #5 (text/html)]

<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 \
solid;">  <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="http://git.reviewboard.kde.org/r/112899/">http://git.reviewboard.kde.org/r/112899/</a>
  </td>
    </tr>
   </table>
   <br />





 <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">This patch is incorrect \
from start to finish, I&#39;m afraid. As has been noted several times now, the fact \
that bodega is using discourse as the forum software must be encapsulated inside of \
the bodega server. The only place this can &quot;leak&quot; is in the forum URL to be \
handed to a full web browser for when the user wishes to interact fully with the \
forums.

However, *all* access to the forums from a bodega client *must* be done via bodega \
server API. It must *never* touch discourse directly as that leads to several \
problems:

* we can never switch away from discourse easily, should we decide that is necessary 
* we  end up with exactly the sort of problems seen in ForumCategoryJob where instead \
of getting a self-contained response it has to do multiple trips, not use the Session \
object and do hacks around the jobFinished signal as a result

To summarize:

* there needs to be API in bodega-server that allows one to fetch postings from the \
forum related to an asset; this API needs to support paging so that only the first \
                few responses can be fetched and then more on demand
* the client-side code needs to use this server-side API rather than discourse \
directly

I am very certain we have had this exact discussion before.</pre>
 <br />







<div>




<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; \
border-collapse: collapse; margin: 2px padding: 2px;">  <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; \
font-size: 9pt; padding: 4px 8px; text-align: left;">  <a \
href="http://git.reviewboard.kde.org/r/112899/diff/2/?file=191533#file191533line82" \
style="color: black; font-weight: bold; text-decoration: \
underline;">lib/bodega/assetoperations.cpp</a>  <span style="font-weight: normal;">

     (Diff revision 2)

    </span>
   </th>
  </tr>
 </thead>

 <tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
  <tr>

   <td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">void \
AssetOperations::Private::assetDownloadComplete(NetworkJob *job)</pre></td>

  </tr>
 </tbody>



 
 

 <tbody>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" \
align="right"><font size="2"></font></th>  <td bgcolor="#c5ffc4" width="50%"><pre \
style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>  <th \
bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid \
#C0C0C0;" align="right"><font size="2">82</font></th>  <td bgcolor="#c5ffc4" \
width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span \
class="n">forumJobModel</span><span class="o">-&gt;</span><span \
class="n">setAssetInfo</span><span class="p">(</span><span \
class="n">assetInfo</span><span class="p">);</span></pre></td>  </tr>

 </tbody>

</table>

<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; \
white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">so as soon \
as the asset info is retrieved, the forumJobModel, even if nothing is showing the \
forum responses, is immediately sent off to fetch all the responses?

unlike the ratings model which does make sense as part of AssetOperations, i \
don&#39;t see why the forum model must be.</pre> </div>
<br />

<div>




<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; \
border-collapse: collapse; margin: 2px padding: 2px;">  <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; \
font-size: 9pt; padding: 4px 8px; text-align: left;">  <a \
href="http://git.reviewboard.kde.org/r/112899/diff/2/?file=191533#file191533line130" \
style="color: black; font-weight: bold; text-decoration: \
underline;">lib/bodega/assetoperations.cpp</a>  <span style="font-weight: normal;">

     (Diff revision 2)

    </span>
   </th>
  </tr>
 </thead>

 <tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
  <tr>

   <td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">void \
AssetOperations::Private::progressHasChanged(qreal prog)</pre></td>

  </tr>
 </tbody>



 
 

 <tbody>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" \
align="right"><font size="2"></font></th>  <td bgcolor="#c5ffc4" width="50%"><pre \
style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>  <th \
bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid \
#C0C0C0;" align="right"><font size="2">130</font></th>  <td bgcolor="#c5ffc4" \
width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span \
class="n">d</span><span class="o">-&gt;</span><span \
class="n">forumJobModel</span><span class="o">-&gt;</span><span \
class="n">setSession</span><span class="p">(</span><span \
class="n">session</span><span class="p">);</span></pre></td>  </tr>

 </tbody>

</table>

<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; \
white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">please: \
delay initialization of heavy objects such as models until they are actually \
used.</pre> </div>
<br />

<div>




<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; \
border-collapse: collapse; margin: 2px padding: 2px;">  <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; \
font-size: 9pt; padding: 4px 8px; text-align: left;">  <a \
href="http://git.reviewboard.kde.org/r/112899/diff/2/?file=191533#file191533line132" \
style="color: black; font-weight: bold; text-decoration: \
underline;">lib/bodega/assetoperations.cpp</a>  <span style="font-weight: normal;">

     (Diff revision 2)

    </span>
   </th>
  </tr>
 </thead>

 <tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
  <tr>

   <td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">void \
AssetOperations::Private::progressHasChanged(qreal prog)</pre></td>

  </tr>
 </tbody>



 
 

 <tbody>

  <tr>
    <th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" \
align="right"><font size="2">126</font></th>  <td bgcolor="#fdfebc" width="50%"><pre \
style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span \
class="n">AssetJob</span> <span class="o">*</span><span class="n">aj</span> <span \
class="o">=</span> <span class="n">session</span><span class="o">-&gt;</span><span \
class="n">asset</span><span class="p">(</span><span class="n">assetId</span><span \
class="p">,</span> <span class="n">AssetJob</span><span class="o">::</span><span \
class="n">Show<span class="hl">Ratings</span></span><span class="hl"> </span><span \
class="o"><span class="hl">|</span></span><span class="hl"> </span><span \
class="n"><span class="hl">AssetJob</span></span><span class="o"><span \
class="hl">::</span></span><span class="n"><span \
class="hl">Show</span>ChangeLog</span><span class="p">);</span></pre></td>  <th \
bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid \
#C0C0C0;" align="right"><font size="2">132</font></th>  <td bgcolor="#fdfebc" \
width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span \
class="n">AssetJob</span> <span class="o">*</span><span class="n">aj</span> <span \
class="o">=</span> <span class="n">session</span><span class="o">-&gt;</span><span \
class="n">asset</span><span class="p">(</span><span class="n">assetId</span><span \
class="p">,</span> <span class="n">AssetJob</span><span class="o">::</span><span \
class="n">ShowChangeLog</span><span class="p">);</span></pre></td>  </tr>

 </tbody>

</table>

<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; \
white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">i don&#39;t \
think that was intentional..</pre> </div>
<br />

<div>




<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; \
border-collapse: collapse; margin: 2px padding: 2px;">  <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; \
font-size: 9pt; padding: 4px 8px; text-align: left;">  <a \
href="http://git.reviewboard.kde.org/r/112899/diff/2/?file=191535#file191535line68" \
style="color: black; font-weight: bold; text-decoration: \
underline;">lib/bodega/forumjob_p.cpp</a>  <span style="font-weight: normal;">

     (Diff revision 2)

    </span>
   </th>
  </tr>
 </thead>



 
 

 <tbody>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" \
align="right"><font size="2"></font></th>  <td bgcolor="#c5ffc4" width="50%"><pre \
style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>  <th \
bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid \
#C0C0C0;" align="right"><font size="2">68</font></th>  <td bgcolor="#c5ffc4" \
width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span \
class="k">for</span> <span class="p">(</span><span class="n">itr</span> <span \
class="o">=</span> <span class="n">topics</span><span class="p">.</span><span \
class="n">constBegin</span><span class="p">();</span> <span class="n">itr</span> \
<span class="o">!=</span> <span class="n">topics</span><span class="p">.</span><span \
class="n">constEnd</span><span class="p">();</span> <span class="o">++</span><span \
class="n">itr</span><span class="p">)</span> <span class="p">{</span></pre></td>  \
</tr>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" \
align="right"><font size="2"></font></th>  <td bgcolor="#c5ffc4" width="50%"><pre \
style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>  <th \
bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid \
#C0C0C0;" align="right"><font size="2">69</font></th>  <td bgcolor="#c5ffc4" \
width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span \
class="n">QVariantMap</span> <span class="n">info</span> <span class="o">=</span> \
<span class="n">itr</span><span class="o">-&gt;</span><span \
class="n">toMap</span><span class="p">();</span></pre></td>  </tr>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" \
align="right"><font size="2"></font></th>  <td bgcolor="#c5ffc4" width="50%"><pre \
style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>  <th \
bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid \
#C0C0C0;" align="right"><font size="2">70</font></th>  <td bgcolor="#c5ffc4" \
width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span \
class="n">ForumCategory</span><span class="o">::</span><span \
class="n">ForumTopic</span> <span class="n">topic</span><span \
class="p">;</span></pre></td>  </tr>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" \
align="right"><font size="2"></font></th>  <td bgcolor="#c5ffc4" width="50%"><pre \
style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>  <th \
bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid \
#C0C0C0;" align="right"><font size="2">71</font></th>  <td bgcolor="#c5ffc4" \
width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span \
class="n">topic</span><span class="p">.</span><span class="n">topicName</span> <span \
class="o">=</span> <span class="n">info</span><span class="p">[</span><span \
class="n">QLatin1String</span><span class="p">(</span><span \
class="s">&quot;fancy_title&quot;</span><span class="p">)].</span><span \
class="n">toString</span><span class="p">();</span></pre></td>  </tr>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" \
align="right"><font size="2"></font></th>  <td bgcolor="#c5ffc4" width="50%"><pre \
style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>  <th \
bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid \
#C0C0C0;" align="right"><font size="2">72</font></th>  <td bgcolor="#c5ffc4" \
width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span \
class="n">topic</span><span class="p">.</span><span class="n">topicId</span> <span \
class="o">=</span> <span class="n">info</span><span class="p">[</span><span \
class="n">QLatin1String</span><span class="p">(</span><span \
class="s">&quot;id&quot;</span><span class="p">)].</span><span \
class="n">toString</span><span class="p">();</span></pre></td>  </tr>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" \
align="right"><font size="2"></font></th>  <td bgcolor="#c5ffc4" width="50%"><pre \
style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>  <th \
bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid \
#C0C0C0;" align="right"><font size="2">73</font></th>  <td bgcolor="#c5ffc4" \
width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span \
class="n">topic</span><span class="p">.</span><span class="n">topicSlug</span> <span \
class="o">=</span> <span class="n">info</span><span class="p">[</span><span \
class="n">QLatin1String</span><span class="p">(</span><span \
class="s">&quot;slug&quot;</span><span class="p">)].</span><span \
class="n">toString</span><span class="p">();</span></pre></td>  </tr>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" \
align="right"><font size="2"></font></th>  <td bgcolor="#c5ffc4" width="50%"><pre \
style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>  <th \
bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid \
#C0C0C0;" align="right"><font size="2">74</font></th>  <td bgcolor="#c5ffc4" \
width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span \
class="n">m_category</span><span class="p">.</span><span class="n">topics</span><span \
class="p">.</span><span class="n">append</span><span class="p">(</span><span \
class="n">topic</span><span class="p">);</span></pre></td>  </tr>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" \
align="right"><font size="2"></font></th>  <td bgcolor="#c5ffc4" width="50%"><pre \
style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>  <th \
bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid \
#C0C0C0;" align="right"><font size="2">75</font></th>  <td bgcolor="#c5ffc4" \
width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span \
class="n">QUrl</span> <span class="n">url</span> <span class="o">=</span> <span \
class="n">QLatin1String</span><span class="p">(</span><span \
class="s">&quot;http://localhost:3000/t/&quot;</span><span class="p">)</span> <span \
class="o">+</span> <span class="n">topic</span><span class="p">.</span><span \
class="n">topicSlug</span> <span class="o">+</span> <span \
class="n">QLatin1String</span><span class="p">(</span><span \
class="s">&quot;/&quot;</span><span class="p">)</span> <span class="o">+</span> <span \
class="n">topic</span><span class="p">.</span><span class="n">topicId</span> <span \
class="o">+</span> <span class="n">QLatin1String</span><span class="p">(</span><span \
class="s">&quot;.json&quot;</span><span class="p">);</span> <span \
class="c1">//FIXME</span></pre></td>  </tr>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" \
align="right"><font size="2"></font></th>  <td bgcolor="#c5ffc4" width="50%"><pre \
style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>  <th \
bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid \
#C0C0C0;" align="right"><font size="2">76</font></th>  <td bgcolor="#c5ffc4" \
width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span \
class="n">qDebug</span><span class="p">()</span> <span class="o">&lt;&lt;</span> \
<span class="n">url</span><span class="p">;</span></pre></td>  </tr>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" \
align="right"><font size="2"></font></th>  <td bgcolor="#c5ffc4" width="50%"><pre \
style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>  <th \
bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid \
#C0C0C0;" align="right"><font size="2">77</font></th>  <td bgcolor="#c5ffc4" \
width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span \
class="n">ForumTopicJob</span> <span class="o">*</span><span \
class="n">topicJob</span> <span class="o">=</span> <span class="k">new</span> <span \
class="n">ForumTopicJob</span><span class="p">(</span><span class="n">get</span><span \
class="p">(</span><span class="n">url</span><span class="p">),</span> <span \
class="n">m_session</span><span class="p">);</span></pre></td>  </tr>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" \
align="right"><font size="2"></font></th>  <td bgcolor="#c5ffc4" width="50%"><pre \
style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>  <th \
bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid \
#C0C0C0;" align="right"><font size="2">78</font></th>  <td bgcolor="#c5ffc4" \
width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>  \
</tr>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" \
align="right"><font size="2"></font></th>  <td bgcolor="#c5ffc4" width="50%"><pre \
style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>  <th \
bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid \
#C0C0C0;" align="right"><font size="2">79</font></th>  <td bgcolor="#c5ffc4" \
width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span \
class="n">connect</span><span class="p">(</span><span class="n">topicJob</span><span \
class="p">,</span> <span class="n">SIGNAL</span><span class="p">(</span><span \
class="n">jobFinished</span><span class="p">(</span><span \
class="n">Bodega</span><span class="o">::</span><span class="n">NetworkJob</span> \
<span class="o">*</span><span class="p">)),</span></pre></td>  </tr>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" \
align="right"><font size="2"></font></th>  <td bgcolor="#c5ffc4" width="50%"><pre \
style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>  <th \
bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid \
#C0C0C0;" align="right"><font size="2">80</font></th>  <td bgcolor="#c5ffc4" \
width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">            \
<span class="k">this</span><span class="p">,</span> <span class="n">SLOT</span><span \
class="p">(</span><span class="n">topicFinished</span><span class="p">(</span><span \
class="n">Bodega</span><span class="o">::</span><span class="n">NetworkJob</span> \
<span class="o">*</span><span class="p">)));</span></pre></td>  </tr>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" \
align="right"><font size="2"></font></th>  <td bgcolor="#c5ffc4" width="50%"><pre \
style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>  <th \
bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid \
#C0C0C0;" align="right"><font size="2">81</font></th>  <td bgcolor="#c5ffc4" \
width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span \
class="p">}</span></pre></td>  </tr>

 </tbody>

</table>

<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; \
white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">it fetches \
the *entire* set of discussions and feedback? what happens when an asset has 100s of \
replies and the person is accessing it over e.g. a 3G connection?

as we talked about previously: by default only the most recent responses should be \
fetched and the rest loaded on demand.</pre> </div>
<br />

<div>




<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; \
border-collapse: collapse; margin: 2px padding: 2px;">  <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; \
font-size: 9pt; padding: 4px 8px; text-align: left;">  <a \
href="http://git.reviewboard.kde.org/r/112899/diff/2/?file=191536#file191536line31" \
style="color: black; font-weight: bold; text-decoration: \
underline;">lib/bodega/forumjobmodel_p.h</a>  <span style="font-weight: normal;">

     (Diff revision 2)

    </span>
   </th>
  </tr>
 </thead>



 
 

 <tbody>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" \
align="right"><font size="2"></font></th>  <td bgcolor="#c5ffc4" width="50%"><pre \
style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>  <th \
bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid \
#C0C0C0;" align="right"><font size="2">31</font></th>  <td bgcolor="#c5ffc4" \
width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span \
class="n">class</span> <span class="n">ForumJobModel</span> <span class="o">:</span> \
<span class="n">public</span> <span class="n">QAbstractItemModel</span></pre></td>  \
</tr>

 </tbody>

</table>

<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; \
white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">should just \
be called ForumModel</pre> </div>
<br />

<div>




<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; \
border-collapse: collapse; margin: 2px padding: 2px;">  <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; \
font-size: 9pt; padding: 4px 8px; text-align: left;">  <a \
href="http://git.reviewboard.kde.org/r/112899/diff/2/?file=191536#file191536line39" \
style="color: black; font-weight: bold; text-decoration: \
underline;">lib/bodega/forumjobmodel_p.h</a>  <span style="font-weight: normal;">

     (Diff revision 2)

    </span>
   </th>
  </tr>
 </thead>



 
 

 <tbody>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" \
align="right"><font size="2"></font></th>  <td bgcolor="#c5ffc4" width="50%"><pre \
style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>  <th \
bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid \
#C0C0C0;" align="right"><font size="2">39</font></th>  <td bgcolor="#c5ffc4" \
width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">            \
<span class="n">AssetIdRole</span> <span class="o">=</span> <span \
class="n">Qt</span><span class="o">::</span><span class="n">UserRole</span> <span \
class="o">+</span> <span class="mi">100</span><span class="p">,</span></pre></td>  \
</tr>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" \
align="right"><font size="2"></font></th>  <td bgcolor="#c5ffc4" width="50%"><pre \
style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>  <th \
bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid \
#C0C0C0;" align="right"><font size="2">40</font></th>  <td bgcolor="#c5ffc4" \
width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">            \
<span class="n">AssetLicenseRole</span> <span class="o">=</span> <span \
class="n">Qt</span><span class="o">::</span><span class="n">UserRole</span> <span \
class="o">+</span> <span class="mi">101</span><span class="p">,</span></pre></td>  \
</tr>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" \
align="right"><font size="2"></font></th>  <td bgcolor="#c5ffc4" width="50%"><pre \
style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>  <th \
bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid \
#C0C0C0;" align="right"><font size="2">41</font></th>  <td bgcolor="#c5ffc4" \
width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">            \
<span class="n">AssetPartnerIdRole</span> <span class="o">=</span> <span \
class="n">Qt</span><span class="o">::</span><span class="n">UserRole</span> <span \
class="o">+</span> <span class="mi">102</span><span class="p">,</span></pre></td>  \
</tr>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" \
align="right"><font size="2"></font></th>  <td bgcolor="#c5ffc4" width="50%"><pre \
style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>  <th \
bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid \
#C0C0C0;" align="right"><font size="2">42</font></th>  <td bgcolor="#c5ffc4" \
width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">            \
<span class="n">AssetPartnerNameRole</span> <span class="o">=</span> <span \
class="n">Qt</span><span class="o">::</span><span class="n">UserRole</span> <span \
class="o">+</span> <span class="mi">103</span><span class="p">,</span></pre></td>  \
</tr>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" \
align="right"><font size="2"></font></th>  <td bgcolor="#c5ffc4" width="50%"><pre \
style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>  <th \
bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid \
#C0C0C0;" align="right"><font size="2">43</font></th>  <td bgcolor="#c5ffc4" \
width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">            \
<span class="n">AssetNameRole</span> <span class="o">=</span> <span \
class="n">Qt</span><span class="o">::</span><span class="n">UserRole</span> <span \
class="o">+</span> <span class="mi">104</span><span class="p">,</span></pre></td>  \
</tr>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" \
align="right"><font size="2"></font></th>  <td bgcolor="#c5ffc4" width="50%"><pre \
style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>  <th \
bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid \
#C0C0C0;" align="right"><font size="2">44</font></th>  <td bgcolor="#c5ffc4" \
width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">            \
<span class="n">AssetVersionRole</span> <span class="o">=</span> <span \
class="n">Qt</span><span class="o">::</span><span class="n">UserRole</span> <span \
class="o">+</span> <span class="mi">105</span><span class="p">,</span></pre></td>  \
</tr>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" \
align="right"><font size="2"></font></th>  <td bgcolor="#c5ffc4" width="50%"><pre \
style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>  <th \
bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid \
#C0C0C0;" align="right"><font size="2">45</font></th>  <td bgcolor="#c5ffc4" \
width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">            \
<span class="n">AssetFilenameRole</span> <span class="o">=</span> <span \
class="n">Qt</span><span class="o">::</span><span class="n">UserRole</span> <span \
class="o">+</span> <span class="mi">106</span><span class="p">,</span></pre></td>  \
</tr>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" \
align="right"><font size="2"></font></th>  <td bgcolor="#c5ffc4" width="50%"><pre \
style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>  <th \
bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid \
#C0C0C0;" align="right"><font size="2">46</font></th>  <td bgcolor="#c5ffc4" \
width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">            \
<span class="n">AssetDescriptionRole</span> <span class="o">=</span> <span \
class="n">Qt</span><span class="o">::</span><span class="n">UserRole</span> <span \
class="o">+</span> <span class="mi">107</span><span class="p">,</span></pre></td>  \
</tr>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" \
align="right"><font size="2"></font></th>  <td bgcolor="#c5ffc4" width="50%"><pre \
style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>  <th \
bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid \
#C0C0C0;" align="right"><font size="2">47</font></th>  <td bgcolor="#c5ffc4" \
width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">            \
<span class="n">AssetPointsRole</span> <span class="o">=</span> <span \
class="n">Qt</span><span class="o">::</span><span class="n">UserRole</span> <span \
class="o">+</span> <span class="mi">108</span><span class="p">,</span></pre></td>  \
</tr>

 </tbody>

</table>

<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; \
white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">this  data \
is not unique per-row, it has nothing to do with the forum feedback, i do not know \
why it is here.</pre> </div>
<br />

<div>




<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; \
border-collapse: collapse; margin: 2px padding: 2px;">  <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; \
font-size: 9pt; padding: 4px 8px; text-align: left;">  <a \
href="http://git.reviewboard.kde.org/r/112899/diff/2/?file=191537#file191537line49" \
style="color: black; font-weight: bold; text-decoration: \
underline;">lib/bodega/forumjobmodel_p.cpp</a>  <span style="font-weight: normal;">

     (Diff revision 2)

    </span>
   </th>
  </tr>
 </thead>



 
 

 <tbody>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" \
align="right"><font size="2"></font></th>  <td bgcolor="#c5ffc4" width="50%"><pre \
style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>  <th \
bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid \
#C0C0C0;" align="right"><font size="2">49</font></th>  <td bgcolor="#c5ffc4" \
width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span \
class="n">connect</span><span class="p">(</span><span class="k">this</span><span \
class="p">,</span> <span class="n">SIGNAL</span><span class="p">(</span><span \
class="n">rowsInserted</span><span class="p">(</span><span \
class="n">QModelIndex</span><span class="p">,</span><span class="kt">int</span><span \
class="p">,</span><span class="kt">int</span><span class="p">)),</span></pre></td>  \
</tr>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" \
align="right"><font size="2"></font></th>  <td bgcolor="#c5ffc4" width="50%"><pre \
style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>  <th \
bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid \
#C0C0C0;" align="right"><font size="2">50</font></th>  <td bgcolor="#c5ffc4" \
width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">            \
<span class="k">this</span><span class="p">,</span> <span \
class="n">SIGNAL</span><span class="p">(</span><span \
class="n">countChanged</span><span class="p">()));</span></pre></td>  </tr>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" \
align="right"><font size="2"></font></th>  <td bgcolor="#c5ffc4" width="50%"><pre \
style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>  <th \
bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid \
#C0C0C0;" align="right"><font size="2">51</font></th>  <td bgcolor="#c5ffc4" \
width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span \
class="n">connect</span><span class="p">(</span><span class="k">this</span><span \
class="p">,</span> <span class="n">SIGNAL</span><span class="p">(</span><span \
class="n">rowsRemoved</span><span class="p">(</span><span \
class="n">QModelIndex</span><span class="p">,</span><span class="kt">int</span><span \
class="p">,</span><span class="kt">int</span><span class="p">)),</span></pre></td>  \
</tr>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" \
align="right"><font size="2"></font></th>  <td bgcolor="#c5ffc4" width="50%"><pre \
style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>  <th \
bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid \
#C0C0C0;" align="right"><font size="2">52</font></th>  <td bgcolor="#c5ffc4" \
width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">            \
<span class="k">this</span><span class="p">,</span> <span \
class="n">SIGNAL</span><span class="p">(</span><span \
class="n">countChanged</span><span class="p">()));</span></pre></td>  </tr>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" \
align="right"><font size="2"></font></th>  <td bgcolor="#c5ffc4" width="50%"><pre \
style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>  <th \
bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid \
#C0C0C0;" align="right"><font size="2">53</font></th>  <td bgcolor="#c5ffc4" \
width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span \
class="n">connect</span><span class="p">(</span><span class="k">this</span><span \
class="p">,</span> <span class="n">SIGNAL</span><span class="p">(</span><span \
class="n">modelReset</span><span class="p">()),</span></pre></td>  </tr>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" \
align="right"><font size="2"></font></th>  <td bgcolor="#c5ffc4" width="50%"><pre \
style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>  <th \
bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid \
#C0C0C0;" align="right"><font size="2">54</font></th>  <td bgcolor="#c5ffc4" \
width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">            \
<span class="k">this</span><span class="p">,</span> <span \
class="n">SIGNAL</span><span class="p">(</span><span \
class="n">countChanged</span><span class="p">()));</span></pre></td>  </tr>

 </tbody>

</table>

<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; \
white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">is anything \
going to use this countChanged signal?</pre> </div>
<br />

<div>




<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; \
border-collapse: collapse; margin: 2px padding: 2px;">  <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; \
font-size: 9pt; padding: 4px 8px; text-align: left;">  <a \
href="http://git.reviewboard.kde.org/r/112899/diff/2/?file=191537#file191537line55" \
style="color: black; font-weight: bold; text-decoration: \
underline;">lib/bodega/forumjobmodel_p.cpp</a>  <span style="font-weight: normal;">

     (Diff revision 2)

    </span>
   </th>
  </tr>
 </thead>



 
 

 <tbody>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" \
align="right"><font size="2"></font></th>  <td bgcolor="#c5ffc4" width="50%"><pre \
style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>  <th \
bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid \
#C0C0C0;" align="right"><font size="2">55</font></th>  <td bgcolor="#c5ffc4" \
width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span \
class="n">connect</span><span class="p">(</span><span class="k">this</span><span \
class="p">,</span> <span class="n">SIGNAL</span><span class="p">(</span><span \
class="n">assetInfoChanged</span><span class="p">()),</span></pre></td>  </tr>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" \
align="right"><font size="2"></font></th>  <td bgcolor="#c5ffc4" width="50%"><pre \
style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>  <th \
bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid \
#C0C0C0;" align="right"><font size="2">56</font></th>  <td bgcolor="#c5ffc4" \
width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">            \
<span class="k">this</span><span class="p">,</span> <span class="n">SLOT</span><span \
class="p">(</span><span class="n">fetchCategory</span><span \
class="p">()));</span></pre></td>  </tr>

 </tbody>

</table>

<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; \
white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">why would \
you use a signal for this? just call it directly from setAssetInfo. you are making \
the code more complicated that it needs to be.</pre> </div>
<br />

<div>




<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; \
border-collapse: collapse; margin: 2px padding: 2px;">  <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; \
font-size: 9pt; padding: 4px 8px; text-align: left;">  <a \
href="http://git.reviewboard.kde.org/r/112899/diff/2/?file=191537#file191537line228" \
style="color: black; font-weight: bold; text-decoration: \
underline;">lib/bodega/forumjobmodel_p.cpp</a>  <span style="font-weight: normal;">

     (Diff revision 2)

    </span>
   </th>
  </tr>
 </thead>



 
 

 <tbody>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" \
align="right"><font size="2"></font></th>  <td bgcolor="#c5ffc4" width="50%"><pre \
style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>  <th \
bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid \
#C0C0C0;" align="right"><font size="2">228</font></th>  <td bgcolor="#c5ffc4" \
width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">            \
<span class="n">endInsertRows</span><span class="p">();</span></pre></td>  </tr>

 </tbody>

</table>

<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; \
white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">this is \
mispaired with a beginResetModel in fetchCategory.

worse, if the job fails, nothing gets called. the model will simply \
&quot;hang&quot;.</pre> </div>
<br />



<p>- Aaron J.</p>


<br />
<p>On September 23rd, 2013, 3:47 p.m. UTC, Giorgos Tsiapaliokas wrote:</p>








<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" \
style="background-image: \
url('http://git.reviewboard.kde.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); \
background-position: left top; background-repeat: repeat-x; border: 1px black \
solid;">  <tr>
  <td>

<div>Review request for Bodega.</div>
<div>By Giorgos Tsiapaliokas.</div>


<p style="color: grey;"><i>Updated Sept. 23, 2013, 3:47 p.m.</i></p>






<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" \
style="border: 1px solid #b8b5a0">  <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: \
-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: \
break-word;">This patch adds the forumjob and the forumjobmodel. The patch \
doesn&#39;t contain any ui bits in order to avoid an endless review request. I will \
open the second one after this one. </pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: \
1px solid #b8b5a0">  <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: \
-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: \
break-word;">It builds. </pre>
  </td>
 </tr>
</table>




<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>lib/bodega/CMakeLists.txt <span style="color: grey">(6fd0d0b)</span></li>

 <li>lib/bodega/assetjob.cpp <span style="color: grey">(3423c41)</span></li>

 <li>lib/bodega/assetoperations.h <span style="color: grey">(c4ce191)</span></li>

 <li>lib/bodega/assetoperations.cpp <span style="color: grey">(b1fd346)</span></li>

 <li>lib/bodega/forumjob_p.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>lib/bodega/forumjob_p.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>lib/bodega/forumjobmodel_p.h <span style="color: \
grey">(PRE-CREATION)</span></li>

 <li>lib/bodega/forumjobmodel_p.cpp <span style="color: \
grey">(PRE-CREATION)</span></li>

 <li>lib/bodega/globals.h <span style="color: grey">(c696a40)</span></li>

</ul>

<p><a href="http://git.reviewboard.kde.org/r/112899/diff/" style="margin-left: \
3em;">View Diff</a></p>







  </td>
 </tr>
</table>








  </div>
 </body>
</html>



_______________________________________________
Active mailing list
Active@kde.org
https://mail.kde.org/mailman/listinfo/active


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

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