[Konversation-devel] Review Request 112733: Fix numerous topic related encryption bugs for 1.5

Eike Hein hein at kde.org
Sun Sep 29 08:00:28 UTC 2013


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/112733/#review40981
-----------------------------------------------------------



src/irc/channel.cpp
<http://git.reviewboard.kde.org/r/112733/#comment30092>

    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



src/viewer/channeloptionsdialog.cpp
<http://git.reviewboard.kde.org/r/112733/#comment30093>

    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.


- Eike Hein


On Sept. 28, 2013, 9:13 p.m., Travis McHenry wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/112733/
> -----------------------------------------------------------
> 
> (Updated Sept. 28, 2013, 9:13 p.m.)
> 
> 
> Review request for Konversation.
> 
> 
> Description
> -------
> 
> 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.
> 
> 
> Diffs
> -----
> 
>   src/cipher.cpp 514e3903397ad85a75e836ca238138c77e82d4cd 
>   src/irc/channel.h 355bf61d4099fdd80f1b1d7056943bc88030aa8a 
>   src/irc/channel.cpp 6911473e19919e24975fcca3b1a6ff14fa04c420 
>   src/irc/server.cpp abb42c23ff750493758a5d5ff0b7876e22c53a36 
>   src/irc/topichistorymodel.h f3c42ab8e732de8edde83f972248bb00442dbc0a 
>   src/irc/topichistorymodel.cpp ace208558ba51f72076d145a915ed6c12e36e69c 
>   src/viewer/channeloptionsdialog.h ac2f7de6a052ba43b1d50f49c2de998ab4c3aa0b 
>   src/viewer/channeloptionsdialog.cpp c1d19e2cdac7cc9fa9f7601ceed4fb657c83eca4 
> 
> Diff: http://git.reviewboard.kde.org/r/112733/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Travis McHenry
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/konversation-devel/attachments/20130929/e004a035/attachment-0001.html>


More information about the Konversation-devel mailing list