<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 />











<div>




<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="margin-left: 2em; 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>
</div>
<br />

<div>




<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="margin-left: 2em; 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>
</div>
<br />



<p>- Eike</p>


<br />
<p>On September 28th, 2013, 9:13 p.m. UTC, 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 Sept. 28, 2013, 9:13 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;">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>

</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>