<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/112733/">http://git.reviewboard.kde.org/r/112733/</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 29th, 2013, 1 a.m. MST, <b>Eike Hein</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/112733/diff/2/?file=192999#file192999line370" style="color: black; font-weight: bold; text-decoration: underline;">src/irc/channel.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">367</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">Channel</span><span class="o">::</span><span class="n">setCurrentTopic</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;">A setFoo that doesn't take an argument violates the normal API naming conventions. This either should be "updateCurrentTopic()" or what I think would be preferrable is to eliminate the new setter+getter entirely, and instead make currentTopicChanged() have a const QString& as argument and hook it up right to TopicLine::setText.

This would work the following way:
1. signal TopicHistoryModel::currentTopicChanged(const QString&)
2. signal CipherFilterModel::currentTopicChanged(const QString&)
3. connect 1 to 2 (you can connect signals to signals to chain them)
4. Have CFM emit its signal also on the cipher change
5. Have channel connect to CFM's signal</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 had to connect the THM to a slot in the CFM so that I could add the bool for if it was encrypted, but otherwise I did pretty much what you suggested.</pre>
<br />

<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On September 29th, 2013, 1 a.m. MST, <b>Eike Hein</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/112733/diff/2/?file=193004#file193004line228" style="color: black; font-weight: bold; text-decoration: underline;">src/viewer/channeloptionsdialog.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; ">namespace Konversation</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">228</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                <span class="c1">// Cut out the first 4 characters because these are the (e)/(u) encryption prefixes.</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;">Adding the prefixes should be a view-level thing so this kind of stuff doesn't have to be done.

Proposal: Add an new data role to the CipherFilterModel that exports whether the item at a given model index is encrypted or unencrypted. You can then think of a cool way to make use of this in the delegate somehow (lock icon?). The CPM::currentTopicChanged() gets a "bool encrypted" as second paramter and TopicLine can add the prefix based on that.</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 added a new data role, EncryptedRole, for this purpose and renamed the Qt::UserRole being used for the timestamps to TimeStampRole. The lock icon gets smaller if the font gets too small for it while maintaining a 2 pixel margin on the top and bottom. If the font gets larger it stays in the center.</pre>
<br />




<p>- Travis</p>


<br />
<p>On October 14th, 2013, 12:09 a.m. MST, Travis McHenry 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 Konversation.</div>
<div>By Travis McHenry.</div>


<p style="color: grey;"><i>Updated Oct. 14, 2013, 12:09 a.m.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
konversation
</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;">Fix numerous topic related encryption bugs

Added a QSortFilterProxyModel that is put behind the various
views that use the topicHistoryModel. When equipped with a
'cipher' object it will begin deciphering encrypted content

Took the decryption for topics out of server.cpp, this caused
decrypted text to get into the model, they are now decrypted
in the cipherFilterModel, and in the channel messages that go
to ircview. When the cipher is deleted, the topics in topicLine
and in TopicHistoryView return to their encrypted forms. They
remain decrypted in ircview however.

Changed some of the logic in decrypting topics so that when
nothing is decrypted we return nothing, and when something IS
decrypted, we return only the decrypted text, no prefixes. These
prefixes are now added by the cipherFilterModel. The ERROR:
prefix denoting unencrypted text has now been changed to (u) to
be more in line with the (e) for encrypted text, and make it the
same character length, so it's easier to strip later.</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>src/cipher.cpp <span style="color: grey">(514e3903397ad85a75e836ca238138c77e82d4cd)</span></li>

 <li>src/irc/channel.h <span style="color: grey">(355bf61d4099fdd80f1b1d7056943bc88030aa8a)</span></li>

 <li>src/irc/channel.cpp <span style="color: grey">(6911473e19919e24975fcca3b1a6ff14fa04c420)</span></li>

 <li>src/irc/server.cpp <span style="color: grey">(abb42c23ff750493758a5d5ff0b7876e22c53a36)</span></li>

 <li>src/irc/topichistorymodel.h <span style="color: grey">(f3c42ab8e732de8edde83f972248bb00442dbc0a)</span></li>

 <li>src/irc/topichistorymodel.cpp <span style="color: grey">(ace208558ba51f72076d145a915ed6c12e36e69c)</span></li>

 <li>src/viewer/channeloptionsdialog.h <span style="color: grey">(ac2f7de6a052ba43b1d50f49c2de998ab4c3aa0b)</span></li>

 <li>src/viewer/channeloptionsdialog.cpp <span style="color: grey">(c1d19e2cdac7cc9fa9f7601ceed4fb657c83eca4)</span></li>

 <li>src/viewer/topichistoryview.h <span style="color: grey">(b6200c23dbf6a9a234cfd881eab0e77511e43538)</span></li>

 <li>src/viewer/topichistoryview.cpp <span style="color: grey">(50a80b2a68fa06917655eda39ec6d29316351348)</span></li>

 <li>src/viewer/topiclabel.h <span style="color: grey">(50808767ff2508f7e5a901815c4c956e19db2196)</span></li>

 <li>src/viewer/topiclabel.cpp <span style="color: grey">(f0a07f4b208f61d862de8d4608e83882db6dfe70)</span></li>

</ul>

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







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








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