Mercurial > pidgin.yaz
comparison pidgin/gtkblist.c @ 27936:1688f7e15530
propagate from branch 'im.pidgin.pidgin' (head f71e0a5c7eff9c53c7641ad6c6b135a3dfec040f)
to branch 'im.pidgin.pidgin.yaz' (head 06f54c4daa5abaa96e6a740e3aa88a8bc377bff5)
author | Yoshiki Yazawa <yaz@honeyplanet.jp> |
---|---|
date | Tue, 31 Mar 2009 11:18:23 +0000 |
parents | f44832c6a65b 1b2d418c26ff |
children | 1337d2813b2d |
comparison
equal
deleted
inserted
replaced
27935:f33f4ddbf01a | 27936:1688f7e15530 |
---|---|
3902 nametext = g_markup_escape_text(name, strlen(name)); | 3902 nametext = g_markup_escape_text(name, strlen(name)); |
3903 | 3903 |
3904 presence = purple_buddy_get_presence(b); | 3904 presence = purple_buddy_get_presence(b); |
3905 | 3905 |
3906 /* Name is all that is needed */ | 3906 /* Name is all that is needed */ |
3907 if (aliased && biglist) { | 3907 if (!aliased || biglist) { |
3908 | 3908 |
3909 /* Status Info */ | 3909 /* Status Info */ |
3910 prpl = purple_find_prpl(purple_account_get_protocol_id(b->account)); | 3910 prpl = purple_find_prpl(purple_account_get_protocol_id(b->account)); |
3911 | 3911 |
3912 if (prpl != NULL) | 3912 if (prpl != NULL) |
4042 status_color = NULL; | 4042 status_color = NULL; |
4043 } | 4043 } |
4044 } | 4044 } |
4045 | 4045 |
4046 /* Put it all together */ | 4046 /* Put it all together */ |
4047 if (aliased && biglist && (statustext || idletime)) { | 4047 if ((!aliased || biglist) && (statustext || idletime)) { |
4048 /* using <span size='smaller'> breaks the status, so it must be seperated into <small><span>*/ | 4048 /* using <span size='smaller'> breaks the status, so it must be seperated into <small><span>*/ |
4049 if (name_color) { | 4049 if (name_color) { |
4050 text = g_strdup_printf("<span font_desc='%s' foreground='%s'>%s</span>\n" | 4050 text = g_strdup_printf("<span font_desc='%s' foreground='%s'>%s</span>\n" |
4051 "<small><span font_desc='%s' foreground='%s'>%s%s%s</span></small>", | 4051 "<small><span font_desc='%s' foreground='%s'>%s%s%s</span></small>", |
4052 name_font, name_color, nametext, status_font, status_color, | 4052 name_font, name_color, nametext, status_font, status_color, |
6447 gchar *mark, *tmp; | 6447 gchar *mark, *tmp; |
6448 gboolean showicons = purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/blist/show_buddy_icons"); | 6448 gboolean showicons = purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/blist/show_buddy_icons"); |
6449 gboolean biglist = purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/blist/show_buddy_icons"); | 6449 gboolean biglist = purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/blist/show_buddy_icons"); |
6450 PidginBlistNode *ui; | 6450 PidginBlistNode *ui; |
6451 PurpleConversation *conv; | 6451 PurpleConversation *conv; |
6452 gboolean hidden; | 6452 gboolean hidden = FALSE; |
6453 GdkColor *bgcolor = NULL; | 6453 GdkColor *bgcolor = NULL; |
6454 FontColorPair *pair; | 6454 FontColorPair *pair; |
6455 PidginBlistTheme *theme; | 6455 PidginBlistTheme *theme; |
6456 gboolean selected = (gtkblist->selected_node == node); | 6456 gboolean selected = (gtkblist->selected_node == node); |
6457 gboolean nick_said = FALSE; | 6457 gboolean nick_said = FALSE; |
6705 whoalias = gtk_entry_get_text(GTK_ENTRY(data->entry_for_alias)); | 6705 whoalias = gtk_entry_get_text(GTK_ENTRY(data->entry_for_alias)); |
6706 if (*whoalias == '\0') | 6706 if (*whoalias == '\0') |
6707 whoalias = NULL; | 6707 whoalias = NULL; |
6708 | 6708 |
6709 g = NULL; | 6709 g = NULL; |
6710 if ((grp != NULL) && (*grp != '\0') && ((g = purple_find_group(grp)) == NULL)) | 6710 if ((grp != NULL) && (*grp != '\0')) |
6711 { | 6711 { |
6712 g = purple_group_new(grp); | 6712 if ((g = purple_find_group(grp)) == NULL) |
6713 purple_blist_add_group(g, NULL); | 6713 { |
6714 } | 6714 g = purple_group_new(grp); |
6715 | 6715 purple_blist_add_group(g, NULL); |
6716 b = purple_buddy_new(data->account, who, whoalias); | 6716 } |
6717 purple_blist_add_buddy(b, NULL, g, NULL); | 6717 |
6718 b = purple_find_buddy_in_group(data->account, who, g); | |
6719 } | |
6720 else if ((b = purple_find_buddy(data->account, who)) != NULL) | |
6721 { | |
6722 g = purple_buddy_get_group(b); | |
6723 } | |
6724 | |
6725 if (b == NULL) | |
6726 { | |
6727 b = purple_buddy_new(data->account, who, whoalias); | |
6728 purple_blist_add_buddy(b, NULL, g, NULL); | |
6729 } | |
6730 | |
6718 purple_account_add_buddy(data->account, b); | 6731 purple_account_add_buddy(data->account, b); |
6719 | 6732 |
6720 /* Offer to merge people with the same alias. */ | 6733 /* Offer to merge people with the same alias. */ |
6721 if (whoalias != NULL && g != NULL) | 6734 if (whoalias != NULL && g != NULL) |
6722 gtk_blist_auto_personize((PurpleBlistNode *)g, whoalias); | 6735 gtk_blist_auto_personize((PurpleBlistNode *)g, whoalias); |