<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/112739/">http://git.reviewboard.kde.org/r/112739/</a>
     </td>
    </tr>
   </table>
   <br />





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On September 15th, 2013, 4:26 p.m. CEST, <b>David Edmundson</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I'm confused. This seems to contain some other unrelated changes. 
Could you explain them?</pre>
 </blockquote>







</blockquote>

<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">The change in PersonEntityMergeModel is that the model now emits rowsInserted() signal for every new row, instead of one huge modelReset() signal. This allows the EntityView class to check whether the newly added row matches the arguments passed via command line. With modelReset() it would have to iterate over the entire model, which is slightly more complicated because the model can have different structure depending on whether KPeople is enabled or not.

The change in EntityView is to support matching contacts/persons by their Nepomuk URI passed via command line (as you can see it happens in rowsInserted() method - the original bug you reported was caused by the fact that the PersonEntityMergeModel did not emit rowsInserted() signal but modelReset())

The change in EntityFilterModel is so that the model does not filter out empty personas. This is because when the filter model received rowsInserted() signal from the source model (the Merge model) and the newly inserted row is a Person, it does not have yet any subcontacts to match, so the code would hide the row, even though subcontacts would be added later.

The change in DatesModel is so that the model emits datesReceived() signal when dates for all subcontacts (in case you select a person) are received.

LogViewer::slotMergeModelInitialized() is called, when the Merge model is fully loaded. In case EntityView::rowsInserted() has selected a person (because user has passed it's Nepomuk URI via command line args), we will now call onEntityListClicked() - emulating a user click on a person in the entity view. We can't call onEntityListClicked() directly from the EntityView, because when we match the person, it still does not have all subcontacts populated, and if you look int onEntityListClicked() you can see that in case of person we are iterating over all it's subcontacts, to received all log dates for that person.

LogViewer::onDatesReceived() is connected to the datesReceived() signal added in DatesModel and it will automatically select the first date in the model. This means that when you click on a person or a contact, the logviewer will automatically open the latest log. This is necessary so that when you pass a contact/person via command line, a log is opened after we fetch all the dates. It also restores behavior of the old logviewer, which did the same after selecting an entity.
</pre>
<br />










<p>- Dan</p>


<br />
<p>On September 15th, 2013, 3:21 p.m. CEST, Dan Vrátil 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 Telepathy.</div>
<div>By Dan Vrátil.</div>


<p style="color: grey;"><i>Updated Sept. 15, 2013, 3:21 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;">Fixes opening of a contact (when account ID and contact ID are passed via cmd line) and add support for opening a person/contact when a Nepomuk URI is passed via cmd line</pre>
  </td>
 </tr>
</table>




<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Bugs: </b>


 <a href="http://bugs.kde.org/show_bug.cgi?id=324918">324918</a>


</div>


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

 <li>logviewer/dates-model.h <span style="color: grey">(14d2eae)</span></li>

 <li>logviewer/dates-model.cpp <span style="color: grey">(195765f)</span></li>

 <li>logviewer/entity-filter-model.cpp <span style="color: grey">(356e3d6)</span></li>

 <li>logviewer/entity-view.h <span style="color: grey">(18bf9d5)</span></li>

 <li>logviewer/entity-view.cpp <span style="color: grey">(77fefc0)</span></li>

 <li>logviewer/log-viewer.h <span style="color: grey">(b3a53f0)</span></li>

 <li>logviewer/log-viewer.cpp <span style="color: grey">(8b2e779)</span></li>

 <li>logviewer/person-entity-merge-model.h <span style="color: grey">(c07e066)</span></li>

 <li>logviewer/person-entity-merge-model.cpp <span style="color: grey">(0fcff92)</span></li>

</ul>

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







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








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