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










<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On March 5th, 2013, 11:28 a.m. UTC, <b>David Edmundson</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/109289/diff/2/?file=117041#file117041line304" style="color: black; font-weight: bold; text-decoration: underline;">contact-list-widget.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 ContactListWidget::addOverlayButtons()</pre></td>

  </tr>
 </tbody>



 
 

 <tbody>

  <tr>
    <th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">304</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="kt">void</span> <span class="n">ContactListWidget</span><span class="o">::</span><span class="n">toggleGroups</span><span class="p">(</span><span class="kt"><span class="hl">bool</span></span> <span class="n">show</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">304</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="kt">void</span> <span class="n">ContactListWidget</span><span class="o">::</span><span class="n">toggleGroups</span><span class="p">(</span><span class="kt"><span class="hl">int</span></span> <span class="n">show</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;">Why don't we pass KTp::ContactsModel::GroupMode as the arg type. It's safer, and we don't need to cast.</pre>
 </blockquote>



 <p>On March 5th, 2013, 3:41 p.m. UTC, <b>Roman Nazarenko</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 assume, Qt signal-slot mechanism will shit the hell out of itself when we'll try namespaced enumerations in slots' signatures.
Have not tested it though.</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;">It does not complain. (also avoid swear words on anything that hits the ML please)</pre>
<br />

<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On March 5th, 2013, 11:28 a.m. UTC, <b>David Edmundson</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/109289/diff/2/?file=117041#file117041line332" style="color: black; font-weight: bold; text-decoration: underline;">contact-list-widget.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 ContactListWidget::toggleOfflineContacts(bool show)</pre></td>

  </tr>
 </tbody>



 
 

 <tbody>

  <tr>
    <th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">332</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="n">d</span><span class="o">-></span><span class="n">model</span><span class="o">-></span><span class="n">setSortRole</span><span class="p">(</span><span class="n">sort</span> <span class="o">?</span> <span class="n">KTp</span><span class="o">::</span><span class="n">ContactPresenceTypeRole</span> <span class="o">:</span> <span class="n"><span class="hl">Qt</span></span><span class="o">::</span><span class="n">DisplayRole</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">328</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="n">d</span><span class="o">-></span><span class="n">model</span><span class="o">-></span><span class="n">setSortRole</span><span class="p">(</span><span class="n">sort</span> <span class="o">?</span> <span class="n">KTp</span><span class="o">::</span><span class="n">ContactPresenceTypeRole</span> <span class="o">:</span> <span class="n"><span class="hl">KTp</span></span><span class="o">::</span><span class="n">DisplayRole</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;">alternate way to fix the compile warning


d->model->setSortRole(sort ? (int) KTp::ContactPresenceTypeRole : (int)Qt::DisplayRole);


(not tested)

They get casted to an int for setSortRole anyway</pre>
 </blockquote>



 <p>On March 5th, 2013, 3:41 p.m. UTC, <b>Roman Nazarenko</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;">It's not the way to fix, it's the way to suppress them. Warning appears because mixing enums is a hell of a bad practice. 
But I don't really want to dig into it, so, it's up to you. Fix is dismissed. </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;">look at the type being passed to setSortRole, it's an int.

Mixing enums is bad I agree. However that's not what we're doing. We are always implictly casting an enum to an int (which is perfectly valid, it's the other way that isn't) for setSortRole. 
In this case we are trying to cast two different enums to an int, and that's what it's complaining about.

Qt roles are integers. We just use enums as a convenient way to namespace auto-incrementing ints.</pre>
<br />




<p>- David</p>


<br />
<p>On March 5th, 2013, 3:37 p.m. UTC, Roman Nazarenko 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 Roman Nazarenko.</div>


<p style="color: grey;"><i>Updated March 5, 2013, 3:37 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;">Adds exclusive actions group for contact list grouping.
Added enumerated action groups, so we could easily convert checked grouped action into appearance modes. 
Those groups also allow us to replace onFullView/onNormalView slots with one onAppearanceChanged(int), so we can reduce number of manual signal-slot connections (and improve readability and maintainability). 

Also moved (config file option name <-> widget text <-> mode enumerator) relations for exclusive action groups into separate static class MenuConfig, so we can avoid manual relations tracking.</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=279023">279023</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>CMakeLists.txt <span style="color: grey">(5802d32)</span></li>

 <li>action-group-enumerated.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>action-group-enumerated.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>contact-list-widget.h <span style="color: grey">(ab2191c)</span></li>

 <li>contact-list-widget.cpp <span style="color: grey">(f931913)</span></li>

 <li>main-widget.h <span style="color: grey">(d72c970)</span></li>

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

</ul>

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







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








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