<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/1/?file=189630#file189630line354" style="color: black; font-weight: bold; text-decoration: underline;">src/irc/channel.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 Channel::connectionStateChanged(Server* server, Konversation::ConnectionState state)</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">354</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="n">QString</span> <span class="n">Channel</span><span class="o">::</span><span class="n">getCurrentTopic</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;">Not sure I get this indirection - wouldn't it be easier to just make the CipherFilterModel a no-op in non-QCA2 mode but always use it, so we don't need to write "use this or that model" code?</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/1/?file=189632#file189632line85" style="color: black; font-weight: bold; text-decoration: underline;">src/irc/topichistorymodel.h</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; ">class TopicHistoryModel : public QAbstractListModel</pre></td>

  </tr>
 </tbody>



 
 

 <tbody>

  <tr>
    <th bgcolor="#ebb1ba" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">66</font></th>
    <td bgcolor="#ffc5ce" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="cp">#ifdef HAVE_QCA2</span></pre></td>
    <th bgcolor="#ebb1ba" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
    <td bgcolor="#ffc5ce" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></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;">Shouldn't these be in the proxy model instead, and the proxy model figures out what to emit dataChanged() for when a cipher is set or unset? (Or, if it's lazy, just emits reset signals for the whole model.) The idea of model/view that models inform views when data has changed, they shouldn't have to go look for it manually.

As it stands it seems the topic view in the Channel Options dialog wouldn't notice a cipher change and get new data - but the dialog is non-modal, i.e. a ciper change is possible (and even likely, with someone running /setkey after looking at the dialog) while the dialog is open.</pre>
</div>
<br />



<p>- Eike</p>


<br />
<p>On September 15th, 2013, 6:54 a.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. 15, 2013, 6:54 a.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/viewer/channeloptionsdialog.cpp <span style="color: grey">(c1d19e2cdac7cc9fa9f7601ceed4fb657c83eca4)</span></li>

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

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

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

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

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

 <li>src/cipher.cpp <span style="color: grey">(514e3903397ad85a75e836ca238138c77e82d4cd)</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>