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










<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On November 15th, 2013, 10:14 a.m. UTC, <b>Martin Klapetek</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  



<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/113824/diff/3/?file=213859#file213859line184" style="color: black; font-weight: bold; text-decoration: underline;">contact/src/contact-wrapper.cpp</a>
    <span style="font-weight: normal;">

     (Diff revision 3)

    </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 ContactWrapper::onContactManagerStateChanged(Tp::ContactListState newState)</pre></td>

  </tr>
 </tbody>



 
 

 <tbody>

  <tr>
    <th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">161</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="k">if</span> <span class="p">(</span><span class="n">m_contact</span><span class="p">)</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">184</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="k">if</span> <span class="p">(</span><span class="n">m_contact</span><span class="hl"> </span><span class="o"><span class="hl">&&</span></span><span class="hl"> </span><span class="n"><span class="hl">isAccountOnline</span></span><span class="p"><span class="hl">()</span>)</span> <span class="p">{</span></pre></td>
  </tr>

 </tbody>

</table>

  <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 don't think that's correct - account can be offline, in which case contact has presence status offline</pre>
 </blockquote>



 <p>On November 25th, 2013, 11:24 a.m. UTC, <b>Alexandr Akulich</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;">You read my mind, but I just tested it again. Contacts presence remains the same after account disconnection. To test it added Text item to main.qml and does
text: TelepathyContact.presenceStatus + ", but isAccountOnline is " + TelepathyContact.isAccountOnline
It show, e.g. "away, but isAccountOnline is false". May be there is some bug in underlying components (I use git-master versions of ktp components, but telepathy-qt is only 0.9.3).</pre>
 </blockquote>





 <p>On November 25th, 2013, 2:23 p.m. UTC, <b>Alexandr Akulich</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;">Just find http://community.kde.org/KTp/Tasks/KPeople . There is info about "bug in which some contacts seem to show as online, even though they are quite clearly not". May be it is the same issue.</pre>
 </blockquote>







</blockquote>
<pre style="margin-left: 1em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I don't think so, KPeople models are slightly different, we're doing a wrapper around KTp::Contact here (KPeople model has a ton more layers above that). I haven't looked at the code but afair when account goes offline, KTp::Contact gets invalidated and receives no more updates, but I may be misremembering things. So basically we have to watch for KTp::Contact::isValid(). 

I'll do proper investigation later, but feel free to look into that.</pre>
<br />

<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On November 15th, 2013, 10:14 a.m. UTC, <b>Martin Klapetek</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  



<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/113824/diff/3/?file=213859#file213859line241" style="color: black; font-weight: bold; text-decoration: underline;">contact/src/contact-wrapper.cpp</a>
    <span style="font-weight: normal;">

     (Diff revision 3)

    </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">239</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="kt">void</span> <span class="n">ContactWrapper</span><span class="o">::</span><span class="n">startAudioCall</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">240</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><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">241</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="n">kDebug</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">242</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><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">243</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
  </tr>

 </tbody>

</table>

  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Didn't you fix this in some previous patch?</pre>
 </blockquote>



 <p>On November 25th, 2013, 11:24 a.m. UTC, <b>Alexandr Akulich</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;">This patch is refactor and next patch is implementation (https://git.reviewboard.kde.org/r/113832/ I'm surpriced, why there is "removed: Depends On: Refactor of Contact plasmoid" changed after diff r2 uploading).</pre>
 </blockquote>







</blockquote>
<pre style="margin-left: 1em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Yeah, I got confused a bit :) All good.</pre>
<br />




<p>- Martin</p>


<br />
<p>On November 25th, 2013, 11:34 a.m. UTC, Alexandr Akulich 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 Alexandr Akulich.</div>


<p style="color: grey;"><i>Updated Nov. 25, 2013, 11:34 a.m.</i></p>









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


<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;">TelepathyContact:
    Removed qmlObject related stuff.
    m_contact renamed to m_contactWrapper as it should be.
    Setup context property before loading qml file.

ContactWrapper:
    Properties placed there them should be.
    Added property isContactOnline;
    Added notifier-signals information for properties.
    Property canStartVideo renamed to canStartVideoCall (like canStartAudioCall).

    undoAccountConnects() reimplemented to don't break connections possible maked outside.
    Same about undoContactConnects().

    Methods reordered in cpp file to group simular methods together.
    Implemented updateProperties(). In future it's possible to implement granulated properties updating.
    Added checks for isAccountOnline in presenceStatus().
    Fixed coding-style.

QML part:
    Get rid a lot of functions, that anyway doesn't work properly.
    Get rid a lot of useless properties.
    Don't check avatarPresenceStatus for empty string and don't replace it with default one, because it's already done in c++ part.
    Get rid a lot of "anchors.fill: parent" and such, because it's bad practice to let children position itself on parent.
    Comminication buttons reordered like in KDE IM Contacts application.

Side effects:
    Fixed losted after few went offline/online presenceStatus.
    Fixed communication buttons remaining available after account becomes offline.</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;">Plasmoid state properly response on account and/or contact online/offline changing. Contact capabilities showed correctly.</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>contact/src/contact-wrapper.h <span style="color: grey">(7b37907)</span></li>

 <li>contact/src/contact-wrapper.cpp <span style="color: grey">(5ef5919)</span></li>

 <li>contact/src/declarative/contents/ui/Avatar.qml <span style="color: grey">(6133563)</span></li>

 <li>contact/src/declarative/contents/ui/Contact.qml <span style="color: grey">(ab434c8)</span></li>

 <li>contact/src/declarative/contents/ui/DropDownMenu.qml <span style="color: grey">(7177c70)</span></li>

 <li>contact/src/declarative/contents/ui/main.qml <span style="color: grey">(debb0ed)</span></li>

 <li>contact/src/telepathy-contact.h <span style="color: grey">(fe95c83)</span></li>

 <li>contact/src/telepathy-contact.cpp <span style="color: grey">(67c8a32)</span></li>

</ul>

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







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








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