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