comparison pidgin/gtklog.c @ 25416:6e1967b0f90b

Change "screen name" to "username" or "buddy name" in a whole bunch of places in the code. I've been using the definitions from the jabber specs, where "user" is me and "buddy" is someone on my buddy list.
author Mark Doliner <mark@kingant.net>
date Mon, 26 Jan 2009 09:12:04 +0000
parents 673abaf19f6e
children ee1ed5d16235 48ea900ee72a fe75cd926073
comparison
equal deleted inserted replaced
25415:584063555949 25416:6e1967b0f90b
43 static void populate_log_tree(PidginLogViewer *lv); 43 static void populate_log_tree(PidginLogViewer *lv);
44 static PidginLogViewer *syslog_viewer = NULL; 44 static PidginLogViewer *syslog_viewer = NULL;
45 45
46 struct log_viewer_hash_t { 46 struct log_viewer_hash_t {
47 PurpleLogType type; 47 PurpleLogType type;
48 char *screenname; 48 char *buddyname;
49 PurpleAccount *account; 49 PurpleAccount *account;
50 PurpleContact *contact; 50 PurpleContact *contact;
51 }; 51 };
52 52
53 static guint log_viewer_hash(gconstpointer data) 53 static guint log_viewer_hash(gconstpointer data)
55 const struct log_viewer_hash_t *viewer = data; 55 const struct log_viewer_hash_t *viewer = data;
56 56
57 if (viewer->contact != NULL) 57 if (viewer->contact != NULL)
58 return g_direct_hash(viewer->contact); 58 return g_direct_hash(viewer->contact);
59 59
60 return g_str_hash(viewer->screenname) + 60 return g_str_hash(viewer->buddyname) +
61 g_str_hash(purple_account_get_username(viewer->account)); 61 g_str_hash(purple_account_get_username(viewer->account));
62 } 62 }
63 63
64 static gboolean log_viewer_equal(gconstpointer y, gconstpointer z) 64 static gboolean log_viewer_equal(gconstpointer y, gconstpointer z)
65 { 65 {
78 } else { 78 } else {
79 if (b->contact != NULL) 79 if (b->contact != NULL)
80 return FALSE; 80 return FALSE;
81 } 81 }
82 82
83 normal = g_strdup(purple_normalize(a->account, a->screenname)); 83 normal = g_strdup(purple_normalize(a->account, a->buddyname));
84 ret = (a->account == b->account) && 84 ret = (a->account == b->account) &&
85 !strcmp(normal, purple_normalize(b->account, b->screenname)); 85 !strcmp(normal, purple_normalize(b->account, b->buddyname));
86 g_free(normal); 86 g_free(normal);
87 87
88 return ret; 88 return ret;
89 } 89 }
90 90
207 207
208 if (ht != NULL) { 208 if (ht != NULL) {
209 lv = g_hash_table_lookup(log_viewers, ht); 209 lv = g_hash_table_lookup(log_viewers, ht);
210 g_hash_table_remove(log_viewers, ht); 210 g_hash_table_remove(log_viewers, ht);
211 211
212 g_free(ht->screenname); 212 g_free(ht->buddyname);
213 g_free(ht); 213 g_free(ht);
214 } else 214 } else
215 syslog_viewer = NULL; 215 syslog_viewer = NULL;
216 216
217 purple_request_close_with_handle(lv); 217 purple_request_close_with_handle(lv);
554 log_preferences = _("Instant messages will only be logged if the \"Log all instant messages\" preference is enabled."); 554 log_preferences = _("Instant messages will only be logged if the \"Log all instant messages\" preference is enabled.");
555 } else if (ht->type == PURPLE_LOG_CHAT) { 555 } else if (ht->type == PURPLE_LOG_CHAT) {
556 if (!purple_prefs_get_bool("/purple/logging/log_chats")) 556 if (!purple_prefs_get_bool("/purple/logging/log_chats"))
557 log_preferences = _("Chats will only be logged if the \"Log all chats\" preference is enabled."); 557 log_preferences = _("Chats will only be logged if the \"Log all chats\" preference is enabled.");
558 } 558 }
559 g_free(ht->screenname); 559 g_free(ht->buddyname);
560 g_free(ht); 560 g_free(ht);
561 } 561 }
562 562
563 if(icon != NULL) 563 if(icon != NULL)
564 gtk_widget_destroy(icon); 564 gtk_widget_destroy(icon);
679 gtk_widget_show_all(lv->window); 679 gtk_widget_show_all(lv->window);
680 680
681 return lv; 681 return lv;
682 } 682 }
683 683
684 void pidgin_log_show(PurpleLogType type, const char *screenname, PurpleAccount *account) { 684 void pidgin_log_show(PurpleLogType type, const char *buddyname, PurpleAccount *account) {
685 struct log_viewer_hash_t *ht; 685 struct log_viewer_hash_t *ht;
686 PidginLogViewer *lv = NULL; 686 PidginLogViewer *lv = NULL;
687 const char *name = screenname; 687 const char *name = buddyname;
688 char *title; 688 char *title;
689 GdkPixbuf *prpl_icon; 689 GdkPixbuf *prpl_icon;
690 690
691 g_return_if_fail(account != NULL); 691 g_return_if_fail(account != NULL);
692 g_return_if_fail(screenname != NULL); 692 g_return_if_fail(buddyname != NULL);
693 693
694 ht = g_new0(struct log_viewer_hash_t, 1); 694 ht = g_new0(struct log_viewer_hash_t, 1);
695 695
696 ht->type = type; 696 ht->type = type;
697 ht->screenname = g_strdup(screenname); 697 ht->buddyname = g_strdup(buddyname);
698 ht->account = account; 698 ht->account = account;
699 699
700 if (log_viewers == NULL) { 700 if (log_viewers == NULL) {
701 log_viewers = g_hash_table_new(log_viewer_hash, log_viewer_equal); 701 log_viewers = g_hash_table_new(log_viewer_hash, log_viewer_equal);
702 } else if ((lv = g_hash_table_lookup(log_viewers, ht))) { 702 } else if ((lv = g_hash_table_lookup(log_viewers, ht))) {
703 gtk_window_present(GTK_WINDOW(lv->window)); 703 gtk_window_present(GTK_WINDOW(lv->window));
704 g_free(ht->screenname); 704 g_free(ht->buddyname);
705 g_free(ht); 705 g_free(ht);
706 return; 706 return;
707 } 707 }
708 708
709 if (type == PURPLE_LOG_CHAT) { 709 if (type == PURPLE_LOG_CHAT) {
710 PurpleChat *chat; 710 PurpleChat *chat;
711 711
712 chat = purple_blist_find_chat(account, screenname); 712 chat = purple_blist_find_chat(account, buddyname);
713 if (chat != NULL) 713 if (chat != NULL)
714 name = purple_chat_get_name(chat); 714 name = purple_chat_get_name(chat);
715 715
716 title = g_strdup_printf(_("Conversations in %s"), name); 716 title = g_strdup_printf(_("Conversations in %s"), name);
717 } else { 717 } else {
718 PurpleBuddy *buddy; 718 PurpleBuddy *buddy;
719 719
720 buddy = purple_find_buddy(account, screenname); 720 buddy = purple_find_buddy(account, buddyname);
721 if (buddy != NULL) 721 if (buddy != NULL)
722 name = purple_buddy_get_contact_alias(buddy); 722 name = purple_buddy_get_contact_alias(buddy);
723 723
724 title = g_strdup_printf(_("Conversations with %s"), name); 724 title = g_strdup_printf(_("Conversations with %s"), name);
725 } 725 }
726 726
727 prpl_icon = pidgin_create_prpl_icon(account, PIDGIN_PRPL_ICON_MEDIUM); 727 prpl_icon = pidgin_create_prpl_icon(account, PIDGIN_PRPL_ICON_MEDIUM);
728 728
729 display_log_viewer(ht, purple_log_get_logs(type, screenname, account), 729 display_log_viewer(ht, purple_log_get_logs(type, buddyname, account),
730 title, gtk_image_new_from_pixbuf(prpl_icon), 730 title, gtk_image_new_from_pixbuf(prpl_icon),
731 purple_log_get_total_size(type, screenname, account)); 731 purple_log_get_total_size(type, buddyname, account));
732 732
733 if (prpl_icon) 733 if (prpl_icon)
734 g_object_unref(prpl_icon); 734 g_object_unref(prpl_icon);
735 g_free(title); 735 g_free(title);
736 } 736 }