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








<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On July 12th, 2012, noon, <b>George Kiagiadakis</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/105514/diff/1/?file=72059#file72059line105" style="color: black; font-weight: bold; text-decoration: underline;">contact-delegate.cpp</a>
    <span style="font-weight: normal;">

     (Diff revision 1)

    </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 ContactDelegate::paintContact(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const</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">105</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="k">if</span> <span class="p">(</span><span class="n">index</span><span class="p">.</span><span class="n">data</span><span class="p">(</span><span class="n">AccountsModel</span><span class="o">::</span><span class="n">ClientTypesRole</span><span class="p">).</span><span class="n">toStringList</span><span class="p">().</span><span class="n">contains</span><span class="p">(</span><span class="n">QLatin1String</span><span class="p">(</span><span class="s">"phone"</span><span class="p">)))</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'm not sure this is correct.

This list will contain all the client types for the contact's current presence. For example, if the contact is "available" on the pc and "away" on the phone, this list will contain only "pc" and the presence of the contact will be "available". Vice versa, if the user is "available" on the phone and "away" on the pc, this list will contain only "phone" and the presence will be "available". Everything is fine up to this point. If you try to talk to this person, XMPP should normally choose to notify the most available resource of this contact, which would be the pc in the first case and the phone in the second case.

However, if a contact is "available" on both the pc and the phone, this list will contain both "pc" and "phone". Therefore, if you try to talk to this person, she should be notified on both devices. In this case, imho, the phone icon should not be there, as there is at least one other client that is not a phone that will be notified.</pre>
 </blockquote>



 <p>On July 12th, 2012, 1:42 p.m., <b>Dominik Cermak</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 is not how it works, if a contact is "available" on both the pc and the phone the list will contain only "pc" or only "phone". Which one is shown depends on which changed to this status last. So if I'm "available" with my pc, then connect with my phone (also "available") clientTypes would contain only "phone" and vice versa. It works in the same way as the presence messages.</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 read the Empathy code on this, they (appear to) look at the _first_ entry in the client types list (even though that's not what the spec implies at all).

(from empathy-individual-view.c on the phone icon object)
+  g_object_set (cell,
+      "visible",
+        !is_group
+        && types != NULL
+        && g_strv_length (types) > 0
+        && !tp_strdiff (types[0], "phone"),
+      NULL);</pre>
<br />




<p>- David</p>


<br />
<p>On July 11th, 2012, 9:06 p.m., Dominik Cermak wrote:</p>






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

<div>Review request for Telepathy and KDE Usability.</div>
<div>By Dominik Cermak.</div>


<p style="color: grey;"><i>Updated July 11, 2012, 9:06 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 shows a phone icon left of the presence icon for contacts that are online with a phone.
Currently it only shows the client type of 'phone' (other possible are: bot, console, handheld, pc, web), because I think this is the most important. Also interesting could be 'web'.

The usability group is added for comments/discussion about the place where to put the icon. What do you think about it?</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=302963">302963</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>contact-delegate-compact.cpp <span style="color: grey">(91f3497bac5585d922d1d6c071e3ec6b8796daa1)</span></li>

 <li>contact-delegate.cpp <span style="color: grey">(2b8a86398340d9b11e05e9928f9c64f396ce8e00)</span></li>

 <li>main-widget.cpp <span style="color: grey">(2baebe3dcbb173ea56586f765b459321bfdad6bd)</span></li>

</ul>

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



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

<div>

 <a href="http://git.reviewboard.kde.org/r/105514/s/621/"><img src="http://git.reviewboard.kde.org/media/uploaded/images/2012/07/11/clienttype_400x100.png" style="border: 1px black solid;" alt="Full List" /></a>

 <a href="http://git.reviewboard.kde.org/r/105514/s/622/"><img src="http://git.reviewboard.kde.org/media/uploaded/images/2012/07/11/clienttype_compact_400x100.png" style="border: 1px black solid;" alt="Compact List" /></a>

 <a href="http://git.reviewboard.kde.org/r/105514/s/623/"><img src="http://git.reviewboard.kde.org/media/uploaded/images/2012/07/11/clienttype_compact_left_400x100.png" style="border: 1px black solid;" alt="Version where the icon moved to the left" /></a>

 <a href="http://git.reviewboard.kde.org/r/105514/s/624/"><img src="http://git.reviewboard.kde.org/media/uploaded/images/2012/07/11/clienttype_compact_presence_left_400x100.png" style="border: 1px black solid;" alt="Presence moved to the left" /></a>

 <a href="http://git.reviewboard.kde.org/r/105514/s/625/"><img src="http://git.reviewboard.kde.org/media/uploaded/images/2012/07/11/clienttype_compact_avatar_overlay_400x100.png" style="border: 1px black solid;" alt="Avatar Overlay" /></a>

 <a href="http://git.reviewboard.kde.org/r/105514/s/626/"><img src="http://git.reviewboard.kde.org/media/uploaded/images/2012/07/11/clienttype_compact_presence_overlay_400x100.png" style="border: 1px black solid;" alt="Presence overlay" /></a>

</div>


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








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