[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