Review Request 112437: Port LogViewer to KPeople

David Edmundson david at davidedmundson.co.uk
Sun Sep 1 21:35:06 UTC 2013


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



lib/adium-theme-view.cpp
<http://git.reviewboard.kde.org/r/112437/#comment28845>

    Why?
    I imagine this is a bad merge.



logviewer/entity-model.cpp
<http://git.reviewboard.kde.org/r/112437/#comment28850>

    You don't need the #ifdef here
    
    kpeopleEnabled will always return false if that's the case.



logviewer/entity-model.cpp
<http://git.reviewboard.kde.org/r/112437/#comment28849>

    if you're offline you now crash.
    
    Proposal:
    Given this whole code is rather confusing in places, I have the following idea:
    
    You change your MergeModel to always merge with ContactsModel. 
    You can then drop this code here which is fetching contact names, and a lot of other #ifdefs inside the EntityModel. I think it would be mostly the same except a few role names changing.
    In non kpeople mode we'll be fetching from the regular contact list.
    
    The only thing that I think makes this difficult is we need a modelInitialised signal on the normal model, but I can fix that.
    
    Thoughts?
    



logviewer/log-viewer.cpp
<http://git.reviewboard.kde.org/r/112437/#comment28846>

    needs #ifdef



logviewer/log-viewer.cpp
<http://git.reviewboard.kde.org/r/112437/#comment28847>

    We can't use KPeople without #ifdefs in the log viewer.
    
    


- David Edmundson


On Sept. 1, 2013, 8:48 p.m., Dan Vrátil wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/112437/
> -----------------------------------------------------------
> 
> (Updated Sept. 1, 2013, 8:48 p.m.)
> 
> 
> Review request for Telepathy.
> 
> 
> Description
> -------
> 
> I have finished porting our beloved Log Viewer to KPeople and would like to merge it for 0.7.
> 
> The idea is that we take EntityModel (populated by entities from logger) and KPeople model and merge them into one model. This is done by an ugly beast called PersonEntityMergeModel. There is still some space for improvements (mainly performance), but generally it works and it is reasonably fast with cca 100 entities/contacts. I have also stolen code for tree view delegates from contact list, so that we are more consistent across KTp components.
> 
> Contacts are grouped by their group membership (retrieved from KPeople). When you select a Persona, dates from all subcontacts are loaded into the dates view and the Persona is expanded so that you can selected individual subcontacts.
> 
> The date picker has been replaced by a tree view with list of dates grouped by months. If there are logs from multiple subcontacts for one date, the date can be further expanded and you can pick specific subcontact.
> 
> When KPeople is disabled at build time or Nepomuk is not running, we fallback to current logviewer behavior, i.e. cntacts are grouped by accounts and display names are fetched from Telepathy (so it works only for accounts that are online).
> 
> As a new feature, the logger now has settings page which contains two tabs: one for theme configuration and one specifically for logviewer. So far it only has one option - you can pick whether you want to sort messages in logs from newest to oldest or vice versa. It's not related to KPeople, but I started working on it in the kpeople branch (don't ask me why), so there it is.
> 
> 
> Diffs
> -----
> 
>   CMakeLists.txt 8083bc2 
>   lib/adium-theme-view.cpp 635a877 
>   logviewer/CMakeLists.txt 300ba8f 
>   logviewer/config/CMakeLists.txt PRE-CREATION 
>   logviewer/config/behavior-config.h PRE-CREATION 
>   logviewer/config/behavior-config.cpp PRE-CREATION 
>   logviewer/config/behavior-config.ui PRE-CREATION 
>   logviewer/config/kcm_ktp_logviewer_behavior.desktop PRE-CREATION 
>   logviewer/conversation-date-picker.h 6e1bd60 
>   logviewer/conversation-date-picker.cpp b8db972 
>   logviewer/dates-model.h PRE-CREATION 
>   logviewer/dates-model.cpp PRE-CREATION 
>   logviewer/dates-view-delegate.h PRE-CREATION 
>   logviewer/dates-view-delegate.cpp PRE-CREATION 
>   logviewer/entity-filter-model.h PRE-CREATION 
>   logviewer/entity-filter-model.cpp PRE-CREATION 
>   logviewer/entity-model-item.h d7cb8ed 
>   logviewer/entity-model-item.cpp 4e2189d 
>   logviewer/entity-model.h f9bf293 
>   logviewer/entity-model.cpp 164f263 
>   logviewer/entity-proxy-model.h 837f4af 
>   logviewer/entity-proxy-model.cpp b57296b 
>   logviewer/entity-view-delegate.h PRE-CREATION 
>   logviewer/entity-view-delegate.cpp PRE-CREATION 
>   logviewer/log-viewer.h 5820a88 
>   logviewer/log-viewer.cpp 909777d 
>   logviewer/log-viewer.rc 82df425 
>   logviewer/log-viewer.ui a76b34a 
>   logviewer/message-view.h 4e2e2bb 
>   logviewer/message-view.cpp b037900 
>   logviewer/person-entity-merge-model.h PRE-CREATION 
>   logviewer/person-entity-merge-model.cpp PRE-CREATION 
> 
> Diff: http://git.reviewboard.kde.org/r/112437/diff/
> 
> 
> Testing
> -------
> 
> Browsed some logs, seems to work :)
> 
> 
> Thanks,
> 
> Dan Vrátil
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-telepathy/attachments/20130901/f9c8a52d/attachment.html>


More information about the KDE-Telepathy mailing list