> On Sept. 1, 2013, 9:35 p.m., David Edmundson wrote:
> > logviewer/entity-model.cpp, line 206
> > <http://git.reviewboard.kde.org/r/112437/diff/1/?file=186146#file186146line206>
> >
> >     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?
> >
> 
> Dan Vrátil wrote:
>     I thought that would be prevented by if 
> (pendingEntities()->account()->connection()) above? Or is connection() always 
> valid and contactManager() is set only when you are online?
>     
>     We can't use ContactsModel, because there can be entities in the logger 
> that are not in ContactsModel (for instance chat rooms or logs from an 
> account you have already removed). I will try to refactor the stuff a bit to 
> make it less confusing, but we need to have EntityModel.

No, I've explained badly.

Right now you merge Entity Model with PeopleModel useful for kpeople mode.
in non-kpeople mode you extend Entity Model to fetch data from the roster.

If you always merged with ContactsModel, you would do both of those tasks in 
one.


- David


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


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

_______________________________________________
KDE-Telepathy mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/kde-telepathy

Reply via email to