aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy-gtk/empathy-roster-view.c
Commit message (Collapse)AuthorAgeFilesLines
* Contact should leave 'Ungrouped' group immediately upon first joining a groupChandni Verma2013-08-131-0/+13
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=698530
* Install property active-group in EmpathyIndividualMenuChandni Verma2013-07-211-2/+5
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=585440
* roster: compare elements as utf8 strings, for correct collationFrédéric Péters2013-07-091-2/+2
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=703453
* Reorder header inclusions accordingly to the Telepathy coding styleEmanuele Aina2013-04-021-2/+0
| | | | | | | | | | | | Sort by: • "config.h" • API declarations, if any • public libraries • internal headers, alphabetically sorted (mostly) http://telepathy.freedesktop.org/wiki/Style#A.23includes https://bugzilla.gnome.org/show_bug.cgi?id=697076
* Use a flat namespace for internal includesEmanuele Aina2013-04-011-1/+1
| | | | | | | | Directly add the libempathy, libempathy-gtk and extensions directories to the include search path. This decouples header inclusions from their location and helps when reorganizing the source files layout. https://bugzilla.gnome.org/show_bug.cgi?id=696950
* Avoid include path overspecificationsEmanuele Aina2013-04-011-3/+3
| | | | | | | If we're under the libempathy directory there's no need to prefix include file paths with it, and the same is true for libempathy-gtk. https://bugzilla.gnome.org/show_bug.cgi?id=696950
* Use double quotes for all internal headersEmanuele Aina2013-04-011-4/+4
| | | | | | | This makes a bit more obvious which headers come from public libraries and which ones come from uninstalled utility libraries. https://bugzilla.gnome.org/show_bug.cgi?id=696950
* Drop unused/redundant header inclusionsEmanuele Aina2013-03-281-2/+0
| | | | | | | With the help of the script posted at http://stackoverflow.com/a/7135530 and some manual fixes, drop the unused or redundant #include directives. https://bugzilla.gnome.org/show_bug.cgi?id=696718
* roster-view: add some delay before actually starting the live searchGuillaume Desmottes2012-10-021-2/+27
| | | | | | | This avoid stacking a bunch of useless searches while user is typing as we can't stop the old search before starting the new one. https://bugzilla.gnome.org/show_bug.cgi?id=685278
* rename empathy_roster_model_get_groups_for_individual() to _dup_Guillaume Desmottes2012-09-121-2/+2
| | | | | It matches tp-glib naming convention now that the returned list is (transfer full).
* empathy_roster_model_get_groups_for_individual: return a (transfer full) listGuillaume Desmottes2012-09-121-2/+2
| | | | | | | gee_iterator_get() returns a new string, so we have to pass its ownership to the list to not leak it. https://bugzilla.gnome.org/show_bug.cgi?id=683864
* filter_groups: don't leak the widgets listGuillaume Desmottes2012-09-121-2/+8
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=683864
* roster-view: clear the view when disposingGuillaume Desmottes2012-09-111-11/+15
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=683699
* roster-view: compare groups using strcmpGuillaume Desmottes2012-09-041-1/+2
| | | | | | | Groups are added to the list in another file (the model) so the string will have another address than the one in the view. https://bugzilla.gnome.org/show_bug.cgi?id=683314
* roster-view: don't display offline not favorite top contactsGuillaume Desmottes2012-09-041-1/+43
| | | | | | | | | | | We just want to always display the favorites offline contacts in the top contact section. One may say that we are kinda breaking the model group abstraction, which is probably true. Ideally we may want to have a roster view subclass implementing the top contact logic but life is too short. https://bugzilla.gnome.org/show_bug.cgi?id=683022
* roster-view: clear_view: start by cleaning our internal hash tablesGuillaume Desmottes2012-09-031-3/+3
| | | | | | | | | | | Removing and destroying the widgets contained in the view will call empathy_roster_view_remove(). This function may use some of the internal hash tables which now contain destroyed object. It's safer to clean the internal hash tables first as we are about to destroy their content anyway. https://bugzilla.gnome.org/show_bug.cgi?id=683275
* roster-view: check_if_empty(): check groups as wellGuillaume Desmottes2012-08-311-3/+36
| | | | | | | The roster is empty if there is no group displayed as well. We don't want to display an empty message just because the user collapsed all his groups. https://bugzilla.gnome.org/show_bug.cgi?id=682926
* roster-view: factor out check_if_empty()Guillaume Desmottes2012-08-311-13/+19
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=682926
* roster-view: remember state expanded status of groupsGuillaume Desmottes2012-08-301-0/+11
| | | | | | | Pretty simple actually, that's a simple port of the logic from empathy-individual-view. https://bugzilla.gnome.org/show_bug.cgi?id=679259
* roster-view: make sure the same contact isn't added twice to the same groupGuillaume Desmottes2012-08-301-0/+3
| | | | | | | | | | | | Calling empathy_roster_model_get_groups_for_individual() in individual_added may have the side effect for folks to discover the contact's groups and so fire a bunch of signals leading us to add the contact in the group. Then we look for his groups in individual_added() and re-add him a second time. Fix this by making sure we won't add the same contact twice to the same group. https://bugzilla.gnome.org/show_bug.cgi?id=683025
* Moved _contact_in_top from the model to the viewLaurent Contzen2012-08-071-18/+38
| | | | | empathy-roster-model and empathy-roster-model-manager: removed _contact_in_top empathy-roster-view: added new function contact_in_top and modified functions to use it
* Added top_group_members list in model, view relying on itLaurent Contzen2012-08-071-138/+4
| | | | | | | empathy-roster-model: no longer emits top-individuals and favourites-changed signals empathy-roster-model-manager: new top_group_members GList with filling function. _contact_in_top uses top_group_members. top_group_members is modified when top-individuals and favourites-changed signals are caught. empathy-roster-view: no longer catches top-individuals or favourites-changed signals from the model
* Moved the #define'd groups names from view to modelLaurent Contzen2012-08-061-15/+15
| | | | | | empathy-roster-model: Added the groups names definitions empathy-roster-model-manager: Adapted functions to the new groups names empathy-roster-view: removed the groups names definitions and adapted functions to the new groups names
* Moved contact_in_top and contact_is_favourite from view to modelLaurent Contzen2012-08-061-35/+6
| | | | | | empathy-roster-model: new function _contact_in_top empathy-roster-model-manager: implemented _contact_in_top, new function contact_is_favourite empathy-roster-view: removed contact_in_top and contact_is_favourite functions, now calling model's _contact_in_top instead
* Removed the manager from the view, relying only on the modelLaurent Contzen2012-08-061-29/+2
|
* roster-model now catches notify::favourites-changedLaurent Contzen2012-08-061-2/+2
| | | | | | empathy-roster-model: catches notify::favourites-changed and emits favourites-changed empathy-roster-model-manager: implemented this empathy-roster-view: now catches favourites-changed from the model
* roster-model now catches notify::top-individualsLaurent Contzen2012-08-061-3/+2
| | | | | | empathy-roster-model: catches notify::top-individuals and emits top-individuals-changed empathy-roster-model-manager: implemented this empathy-roster-view: now catches top-individuals-changed from the model
* Added new function _get_top_individuals in the modelLaurent Contzen2012-08-061-4/+3
| | | | | | empathy-roster-model: new function _get_top_individuals empathy-roster-model-manager: implemented _get_top_individuals empathy-roster-view: uses the roster-model's _get_top_individuals instead of the individual-manager's
* empathy-roster-model-manager: added xmpp-local contacts support ↵Laurent Contzen2012-07-231-25/+0
| | | | | | empathy-roster-view: removed xmpp-local contacts support https://bugzilla.gnome.org/show_bug.cgi?id=680302
* empathy-roster-model: New virtual method _get_groups_for_individual ↵Laurent Contzen2012-07-231-14/+8
| | | | | | empathy-roster-model-manager: implemented _get_groups_for_individual empathy-roster-view.c: using _get_groups_for_individual https://bugzilla.gnome.org/show_bug.cgi?id=680302
* empathy-roster-model, empathy-roster-model-manager: Now deals with ↵Laurent Contzen2012-07-231-3/+3
| | | | | | groups-changed signal empathy-roster-view.c: now uses roster-model's groups-changed signal https://bugzilla.gnome.org/show_bug.cgi?id=680302
* coding style fixesGuillaume Desmottes2012-07-231-1/+1
|
* empathy-roster-model-manager: deal with members-changed signals ↵Laurent Contzen2012-07-231-21/+14
| | | | | | empathy-roster-view: use empathy-roster-model-manager signals https://bugzilla.gnome.org/show_bug.cgi?id=680302
* empathy-roster-view: start using empathy-roster-modelLaurent Contzen2012-07-231-3/+24
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=680302
* Display the Top Contacts group name above the top contacts even if all of ↵Laurent Contzen2012-07-171-20/+20
| | | | | | them are offline https://bugzilla.gnome.org/show_bug.cgi?id=679868
* roster-view: export special group namesGuillaume Desmottes2012-07-091-19/+18
| | | | Needed to special case the DnD code.
* roster-view: add empathy_roster_view_get_group_at_y()Guillaume Desmottes2012-07-091-0/+19
|
* Added new function to get selected individualLaurent Contzen2012-06-271-0/+13
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=678875
* roster-view: export empathy_roster_view_get_individual_at_y()Guillaume Desmottes2012-06-261-7/+24
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=678524
* Create and use People Nearby groupLaurent Contzen2012-06-201-0/+30
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=678156
* coding style fixesGuillaume Desmottes2012-06-191-2/+3
|
* If group is UNGROUPED, display at the bottom of the rosterLaurent Contzen2012-06-191-0/+5
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=678376
* roster-view: add_to_displayed: no need to try refiltering groups in non ↵Guillaume Desmottes2012-06-191-0/+4
| | | | | | group mode https://bugzilla.gnome.org/show_bug.cgi?id=678205
* roster-view: add_to_displayed: get the proper EmpathyRosterGroup objectGuillaume Desmottes2012-06-191-3/+8
| | | | | | | | The contacts hash table is a group-name => EmpathyRosterContact mapping. We need to use the self->priv->roster_groups hash to get the EmpathyRosterGroup object which is the one we want to refilter. https://bugzilla.gnome.org/show_bug.cgi?id=678205
* roster-view: use a signal instead of a cb to handle individual tooltipsGuillaume Desmottes2012-06-181-19/+10
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=678294
* empathy_roster_view_query_tooltip: set the tooltip next to the right childGuillaume Desmottes2012-06-181-1/+12
| | | | | | This ensures that the tooltip is always displayed next to the correct row. https://bugzilla.gnome.org/show_bug.cgi?id=678294
* Show Popular contacts in the "Top Contacts" groupSeif Lotfy2012-06-181-1/+5
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=678083
* roster-view: select the child when firing the popup menuGuillaume Desmottes2012-06-181-1/+5
| | | | | It's a bit weird to have the popup being open without knowing for sure which contact it's referring to.
* roster-view: display the favorite icon for the 'top' groupGuillaume Desmottes2012-06-151-1/+4
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=678091
* roster-view: display favorite contacts at the top of the roster as wellGuillaume Desmottes2012-06-151-1/+68
| | | | | | I renamed the group to 'Top Contacts' but I'm open to a better suggestion. https://bugzilla.gnome.org/show_bug.cgi?id=678091
* roster-view: sort top contacts alphabeticallyGuillaume Desmottes2012-06-151-25/+19
| | | | | | | We just want them to be on top but they should be sorted alphabetically together, not by popularity. This makes the 'top' contacts more stable. https://bugzilla.gnome.org/show_bug.cgi?id=678091
* s/Ungroupped/UngroupedGuillaume Desmottes2012-06-141-4/+6
|
* roster-view: store all the children in EmpathyRosterGroup, not only the ↵Guillaume Desmottes2012-06-141-32/+69
| | | | | | | | | | displayed one When checking if a contact is already in the 'top' list, we don't care if it's actually displayed or not. This makes the whole code more logic as only storing the displayed widgets in EmpathyRosterGroup was a bit weird.
* roster-view: factor out contact_should_be_displayed()Guillaume Desmottes2012-06-141-6/+17
|
* roster-view: add API to display eventsGuillaume Desmottes2012-06-141-0/+226
|
* add empathy_roster_view_is_searching()Guillaume Desmottes2012-06-141-0/+7
| | | | Copied from empathy_individual_view_is_searching()
* roster-view: add 'empty' propertyGuillaume Desmottes2012-06-141-1/+79
|
* add API for individual tooltipsGuillaume Desmottes2012-06-141-0/+41
|
* Add popup-individual-menu signalGuillaume Desmottes2012-06-141-0/+73
|
* add a signal when a contact is activatedGuillaume Desmottes2012-06-141-3/+37
|
* Display top contacts on the top of the rosterGuillaume Desmottes2012-06-141-0/+131
|
* roster-view: add live search supportGuillaume Desmottes2012-06-141-4/+97
|
* roster-view: add EmpathyRosterGroup and sort contacts accordinglyGuillaume Desmottes2012-06-141-12/+244
| | | | | | | | | | The GtkExpander doesn't contain the contacts as its children because the view needs to be have full control of which rows as displayed (for live search for example). So instead we trick the view sort function to display the contact associated with the group at the right position. Also, we need to keep the structure flat to not break keyboard navigation inside the widget.
* add empathy-roster-groupGuillaume Desmottes2012-06-141-0/+3
|
* roster-view: add one EmpathyRosterContact per groupGuillaume Desmottes2012-06-141-13/+117
|
* roster-contact: add group propertyGuillaume Desmottes2012-06-141-1/+1
|
* roster-view: allow to store more than one widget per IndividualGuillaume Desmottes2012-06-141-9/+23
| | | | With groups we may have more than once the same individual in the list.
* factor out add_roster_contact()Guillaume Desmottes2012-06-141-6/+17
|
* roster-view: rename some variablesGuillaume Desmottes2012-06-141-24/+24
| | | | Match the new name of EmpathyRosterContact.
* rename EmpathyRosterItem to EmpathyRosterContactGuillaume Desmottes2012-06-141-9/+9
|
* roster-view: add 'show-groups' propertyGuillaume Desmottes2012-06-141-0/+38
| | | | Not implemented yet.
* factor out populate_view()Guillaume Desmottes2012-06-141-10/+17
|
* roster-view: resort when the alias is changedGuillaume Desmottes2012-06-141-0/+4
|
* Filter out offline contactsGuillaume Desmottes2012-06-141-0/+55
|
* set separators between contactsGuillaume Desmottes2012-06-141-0/+23
|
* roster-view: sort itemsGuillaume Desmottes2012-06-141-0/+20
|
* roster-view: populate with EmpathyRosterItemGuillaume Desmottes2012-06-141-1/+82
|
* create roster-view skeletonGuillaume Desmottes2012-06-141-0/+147