Mercurial > pidgin.yaz
comparison src/gtkconv.c @ 4491:3196d9044a45
[gaim-migrate @ 4766]
aim_user is dead. long live gaim_account.
committer: Tailor Script <tailor@pidgin.im>
author | Nathan Walp <nwalp@pidgin.im> |
---|---|
date | Fri, 31 Jan 2003 13:03:47 +0000 |
parents | c3281e2af992 |
children | 577e6d268340 |
comparison
equal
deleted
inserted
replaced
4490:70b892694e0b | 4491:3196d9044a45 |
---|---|
456 struct buddy *b; | 456 struct buddy *b; |
457 const char *name; | 457 const char *name; |
458 | 458 |
459 gc = gaim_conversation_get_gc(conv); | 459 gc = gaim_conversation_get_gc(conv); |
460 name = gaim_conversation_get_name(conv); | 460 name = gaim_conversation_get_name(conv); |
461 b = find_buddy(gc->user, name); | 461 b = find_buddy(gc->account, name); |
462 | 462 |
463 if (b != NULL) | 463 if (b != NULL) |
464 show_confirm_del(gc, (char *)name); | 464 show_confirm_del(gc, (char *)name); |
465 else if (gc != NULL) | 465 else if (gc != NULL) |
466 show_add_buddy(gc, (char *)name, NULL, NULL); | 466 show_add_buddy(gc, (char *)name, NULL, NULL); |
528 im_cb(GtkWidget *widget, struct gaim_conversation *conv) | 528 im_cb(GtkWidget *widget, struct gaim_conversation *conv) |
529 { | 529 { |
530 struct gaim_conversation *conv2; | 530 struct gaim_conversation *conv2; |
531 struct gaim_gtk_conversation *gtkconv; | 531 struct gaim_gtk_conversation *gtkconv; |
532 struct gaim_gtk_chat_pane *gtkchat; | 532 struct gaim_gtk_chat_pane *gtkchat; |
533 struct aim_user *user; | 533 struct gaim_account *account; |
534 GtkTreeIter iter; | 534 GtkTreeIter iter; |
535 GtkTreeModel *model; | 535 GtkTreeModel *model; |
536 GtkTreeSelection *sel; | 536 GtkTreeSelection *sel; |
537 const char *name; | 537 const char *name; |
538 | 538 |
548 return; | 548 return; |
549 | 549 |
550 if (*name == '@') name++; | 550 if (*name == '@') name++; |
551 if (*name == '+') name++; | 551 if (*name == '+') name++; |
552 | 552 |
553 user = gaim_conversation_get_user(conv); | 553 account = gaim_conversation_get_account(conv); |
554 | 554 |
555 conv2 = gaim_find_conversation(name); | 555 conv2 = gaim_find_conversation(name); |
556 | 556 |
557 if (conv2 != NULL) { | 557 if (conv2 != NULL) { |
558 gaim_window_raise(gaim_conversation_get_window(conv2)); | 558 gaim_window_raise(gaim_conversation_get_window(conv2)); |
559 gaim_conversation_set_user(conv2, user); | 559 gaim_conversation_set_account(conv2, account); |
560 } | 560 } |
561 else | 561 else |
562 conv2 = gaim_conversation_new(GAIM_CONV_IM, user, name); | 562 conv2 = gaim_conversation_new(GAIM_CONV_IM, account, name); |
563 } | 563 } |
564 | 564 |
565 static void | 565 static void |
566 ignore_cb(GtkWidget *w, struct gaim_conversation *conv) | 566 ignore_cb(GtkWidget *w, struct gaim_conversation *conv) |
567 { | 567 { |
601 static void | 601 static void |
602 menu_im_cb(GtkWidget *w, struct gaim_conversation *conv) | 602 menu_im_cb(GtkWidget *w, struct gaim_conversation *conv) |
603 { | 603 { |
604 const char *who; | 604 const char *who; |
605 struct gaim_conversation *conv2; | 605 struct gaim_conversation *conv2; |
606 struct aim_user *user; | 606 struct gaim_account *account; |
607 | 607 |
608 who = g_object_get_data(G_OBJECT(w), "user_data"); | 608 who = g_object_get_data(G_OBJECT(w), "user_data"); |
609 | 609 |
610 user = gaim_conversation_get_user(conv); | 610 account = gaim_conversation_get_account(conv); |
611 | 611 |
612 conv2 = gaim_find_conversation(who); | 612 conv2 = gaim_find_conversation(who); |
613 | 613 |
614 if (conv2 != NULL) | 614 if (conv2 != NULL) |
615 gaim_window_show(gaim_conversation_get_window(conv2)); | 615 gaim_window_show(gaim_conversation_get_window(conv2)); |
616 else | 616 else |
617 conv2 = gaim_conversation_new(GAIM_CONV_IM, user, who); | 617 conv2 = gaim_conversation_new(GAIM_CONV_IM, account, who); |
618 } | 618 } |
619 | 619 |
620 static void | 620 static void |
621 menu_info_cb(GtkWidget *w, struct gaim_conversation *conv) | 621 menu_info_cb(GtkWidget *w, struct gaim_conversation *conv) |
622 { | 622 { |
664 struct buddy *b; | 664 struct buddy *b; |
665 char *name; | 665 char *name; |
666 | 666 |
667 gc = gaim_conversation_get_gc(conv); | 667 gc = gaim_conversation_get_gc(conv); |
668 name = g_object_get_data(G_OBJECT(w), "user_data"); | 668 name = g_object_get_data(G_OBJECT(w), "user_data"); |
669 b = find_buddy(gc->user, name); | 669 b = find_buddy(gc->account, name); |
670 | 670 |
671 if (b != NULL) | 671 if (b != NULL) |
672 show_confirm_del(gc, name); | 672 show_confirm_del(gc, name); |
673 else if (gc != NULL) | 673 else if (gc != NULL) |
674 show_add_buddy(gc, name, NULL, NULL); | 674 show_add_buddy(gc, name, NULL, NULL); |
681 struct gaim_conversation *conv) | 681 struct gaim_conversation *conv) |
682 { | 682 { |
683 struct gaim_gtk_conversation *gtkconv; | 683 struct gaim_gtk_conversation *gtkconv; |
684 struct gaim_gtk_chat_pane *gtkchat; | 684 struct gaim_gtk_chat_pane *gtkchat; |
685 struct gaim_connection *gc; | 685 struct gaim_connection *gc; |
686 struct aim_user *user; | 686 struct gaim_account *account; |
687 GtkTreePath *path; | 687 GtkTreePath *path; |
688 GtkTreeIter iter; | 688 GtkTreeIter iter; |
689 GtkTreeModel *model; | 689 GtkTreeModel *model; |
690 GtkTreeViewColumn *column; | 690 GtkTreeViewColumn *column; |
691 gchar *who; | 691 gchar *who; |
692 int x, y; | 692 int x, y; |
693 | 693 |
694 gtkconv = GAIM_GTK_CONVERSATION(conv); | 694 gtkconv = GAIM_GTK_CONVERSATION(conv); |
695 gtkchat = gtkconv->u.chat; | 695 gtkchat = gtkconv->u.chat; |
696 user = gaim_conversation_get_user(conv); | 696 account = gaim_conversation_get_account(conv); |
697 gc = user->gc; | 697 gc = account->gc; |
698 | 698 |
699 model = gtk_tree_view_get_model(GTK_TREE_VIEW(gtkchat->list)); | 699 model = gtk_tree_view_get_model(GTK_TREE_VIEW(gtkchat->list)); |
700 | 700 |
701 gtk_tree_view_get_path_at_pos(GTK_TREE_VIEW(gtkchat->list), | 701 gtk_tree_view_get_path_at_pos(GTK_TREE_VIEW(gtkchat->list), |
702 event->x, event->y, &path, &column, &x, &y); | 702 event->x, event->y, &path, &column, &x, &y); |
712 | 712 |
713 if (event->button == 1 && event->type == GDK_2BUTTON_PRESS) { | 713 if (event->button == 1 && event->type == GDK_2BUTTON_PRESS) { |
714 struct gaim_conversation *c; | 714 struct gaim_conversation *c; |
715 | 715 |
716 if ((c = gaim_find_conversation(who)) == NULL) | 716 if ((c = gaim_find_conversation(who)) == NULL) |
717 c = gaim_conversation_new(GAIM_CONV_IM, user, who); | 717 c = gaim_conversation_new(GAIM_CONV_IM, account, who); |
718 else | 718 else |
719 gaim_conversation_set_user(c, user); | 719 gaim_conversation_set_account(c, account); |
720 } | 720 } |
721 else if (event->button == 3 && event->type == GDK_BUTTON_PRESS) { | 721 else if (event->button == 3 && event->type == GDK_BUTTON_PRESS) { |
722 static GtkWidget *menu = NULL; | 722 static GtkWidget *menu = NULL; |
723 GtkWidget *button; | 723 GtkWidget *button; |
724 | 724 |
768 gtk_widget_show(button); | 768 gtk_widget_show(button); |
769 } | 769 } |
770 | 770 |
771 /* Added by Jonas <jonas@birme.se> */ | 771 /* Added by Jonas <jonas@birme.se> */ |
772 if (gc) { | 772 if (gc) { |
773 if (find_buddy(gc->user, who)) | 773 if (find_buddy(gc->account, who)) |
774 button = gtk_menu_item_new_with_label(_("Remove")); | 774 button = gtk_menu_item_new_with_label(_("Remove")); |
775 else | 775 else |
776 button = gtk_menu_item_new_with_label(_("Add")); | 776 button = gtk_menu_item_new_with_label(_("Add")); |
777 | 777 |
778 g_signal_connect(G_OBJECT(button), "activate", | 778 g_signal_connect(G_OBJECT(button), "activate", |
1243 | 1243 |
1244 return FALSE; | 1244 return FALSE; |
1245 } | 1245 } |
1246 | 1246 |
1247 static void | 1247 static void |
1248 menu_conv_sel_send_cb(GObject *m, struct aim_user *user) | 1248 menu_conv_sel_send_cb(GObject *m, struct gaim_account *account) |
1249 { | 1249 { |
1250 struct gaim_window *win = g_object_get_data(m, "user_data"); | 1250 struct gaim_window *win = g_object_get_data(m, "user_data"); |
1251 struct gaim_conversation *conv; | 1251 struct gaim_conversation *conv; |
1252 | 1252 |
1253 if (gaim_gtk_is_state_locked()) | 1253 if (gaim_gtk_is_state_locked()) |
1254 return; | 1254 return; |
1255 | 1255 |
1256 conv = gaim_window_get_active_conversation(win); | 1256 conv = gaim_window_get_active_conversation(win); |
1257 | 1257 |
1258 gaim_conversation_set_user(conv, user); | 1258 gaim_conversation_set_account(conv, account); |
1259 } | 1259 } |
1260 | 1260 |
1261 static void | 1261 static void |
1262 insert_text_cb(GtkTextBuffer *textbuffer, GtkTextIter *position, | 1262 insert_text_cb(GtkTextBuffer *textbuffer, GtkTextIter *position, |
1263 gchar *new_text, gint new_text_length, gpointer user_data) | 1263 gchar *new_text, gint new_text_length, gpointer user_data) |
1937 } | 1937 } |
1938 | 1938 |
1939 static void | 1939 static void |
1940 update_send_as_selection(struct gaim_window *win) | 1940 update_send_as_selection(struct gaim_window *win) |
1941 { | 1941 { |
1942 struct aim_user *user; | 1942 struct gaim_account *account; |
1943 struct gaim_conversation *conv; | 1943 struct gaim_conversation *conv; |
1944 struct gaim_gtk_window *gtkwin; | 1944 struct gaim_gtk_window *gtkwin; |
1945 const char *username; | 1945 const char *username; |
1946 GtkWidget *menu; | 1946 GtkWidget *menu; |
1947 GList *child; | 1947 GList *child; |
1949 conv = gaim_window_get_active_conversation(win); | 1949 conv = gaim_window_get_active_conversation(win); |
1950 | 1950 |
1951 if (conv == NULL) | 1951 if (conv == NULL) |
1952 return; | 1952 return; |
1953 | 1953 |
1954 user = gaim_conversation_get_user(conv); | 1954 account = gaim_conversation_get_account(conv); |
1955 gtkwin = GAIM_GTK_WINDOW(win); | 1955 gtkwin = GAIM_GTK_WINDOW(win); |
1956 | 1956 |
1957 if (user == NULL) | 1957 if (account == NULL) |
1958 return; | 1958 return; |
1959 | 1959 |
1960 if (gtkwin->menu.send_as == NULL) | 1960 if (gtkwin->menu.send_as == NULL) |
1961 return; | 1961 return; |
1962 | 1962 |
1963 username = (user->gc == NULL ? user->username : user->gc->username); | 1963 username = (account->gc == NULL ? account->username : account->gc->username); |
1964 | 1964 |
1965 gtk_widget_show(gtkwin->menu.send_as); | 1965 gtk_widget_show(gtkwin->menu.send_as); |
1966 | 1966 |
1967 menu = gtk_menu_item_get_submenu( | 1967 menu = gtk_menu_item_get_submenu( |
1968 GTK_MENU_ITEM(gtkwin->menu.send_as)); | 1968 GTK_MENU_ITEM(gtkwin->menu.send_as)); |
2019 for (convs = gaim_get_conversations(); | 2019 for (convs = gaim_get_conversations(); |
2020 convs != NULL; | 2020 convs != NULL; |
2021 convs = convs->next) { | 2021 convs = convs->next) { |
2022 | 2022 |
2023 struct gaim_conversation *conv; | 2023 struct gaim_conversation *conv; |
2024 struct aim_user *user; | 2024 struct gaim_account *account; |
2025 | 2025 |
2026 conv = (struct gaim_conversation *)convs->data; | 2026 conv = (struct gaim_conversation *)convs->data; |
2027 user = gaim_conversation_get_user(conv); | 2027 account = gaim_conversation_get_account(conv); |
2028 | 2028 |
2029 if (user->gc == NULL) { | 2029 if (account->gc == NULL) { |
2030 found_offline = TRUE; | 2030 found_offline = TRUE; |
2031 break; | 2031 break; |
2032 } | 2032 } |
2033 } | 2033 } |
2034 | 2034 |
2062 group = gtk_radio_menu_item_group(GTK_RADIO_MENU_ITEM(menuitem)); | 2062 group = gtk_radio_menu_item_group(GTK_RADIO_MENU_ITEM(menuitem)); |
2063 | 2063 |
2064 g_object_set_data(G_OBJECT(menuitem), "user_data", win); | 2064 g_object_set_data(G_OBJECT(menuitem), "user_data", win); |
2065 | 2065 |
2066 g_signal_connect(G_OBJECT(menuitem), "activate", | 2066 g_signal_connect(G_OBJECT(menuitem), "activate", |
2067 G_CALLBACK(menu_conv_sel_send_cb), gc->user); | 2067 G_CALLBACK(menu_conv_sel_send_cb), gc->account); |
2068 | 2068 |
2069 gtk_widget_show(menuitem); | 2069 gtk_widget_show(menuitem); |
2070 gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); | 2070 gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); |
2071 } | 2071 } |
2072 | 2072 |
2077 for (convs = gaim_get_conversations(); | 2077 for (convs = gaim_get_conversations(); |
2078 convs != NULL; | 2078 convs != NULL; |
2079 convs = convs->next) { | 2079 convs = convs->next) { |
2080 | 2080 |
2081 struct gaim_conversation *conv; | 2081 struct gaim_conversation *conv; |
2082 struct aim_user *user; | 2082 struct gaim_account *account; |
2083 | 2083 |
2084 conv = (struct gaim_conversation *)convs->data; | 2084 conv = (struct gaim_conversation *)convs->data; |
2085 | 2085 |
2086 if (conv == deleted_conv) | 2086 if (conv == deleted_conv) |
2087 continue; | 2087 continue; |
2088 | 2088 |
2089 user = gaim_conversation_get_user(conv); | 2089 account = gaim_conversation_get_account(conv); |
2090 | 2090 |
2091 if (user->gc == NULL) { | 2091 if (account->gc == NULL) { |
2092 if (first_offline && found_online) { | 2092 if (first_offline && found_online) { |
2093 menuitem = gtk_separator_menu_item_new(); | 2093 menuitem = gtk_separator_menu_item_new(); |
2094 gtk_widget_show(menuitem); | 2094 gtk_widget_show(menuitem); |
2095 gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); | 2095 gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); |
2096 | 2096 |
2097 first_offline = FALSE; | 2097 first_offline = FALSE; |
2098 } | 2098 } |
2099 | 2099 |
2100 menuitem = gtk_radio_menu_item_new_with_label(group, | 2100 menuitem = gtk_radio_menu_item_new_with_label(group, |
2101 user->username); | 2101 account->username); |
2102 group = gtk_radio_menu_item_group(GTK_RADIO_MENU_ITEM(menuitem)); | 2102 group = gtk_radio_menu_item_group(GTK_RADIO_MENU_ITEM(menuitem)); |
2103 | 2103 |
2104 gtk_widget_set_sensitive(menuitem, FALSE); | 2104 gtk_widget_set_sensitive(menuitem, FALSE); |
2105 | 2105 |
2106 gtk_widget_show(menuitem); | 2106 gtk_widget_show(menuitem); |
2489 gtk_widget_show(gtkim->sep2); | 2489 gtk_widget_show(gtkim->sep2); |
2490 | 2490 |
2491 /* Now, um, just kind of all over the place. Huh? */ | 2491 /* Now, um, just kind of all over the place. Huh? */ |
2492 | 2492 |
2493 /* Add button */ | 2493 /* Add button */ |
2494 if (find_buddy(gaim_conversation_get_gc(conv)->user, | 2494 if (find_buddy(gaim_conversation_get_gc(conv)->account, |
2495 gaim_conversation_get_name(conv)) == NULL) { | 2495 gaim_conversation_get_name(conv)) == NULL) { |
2496 gtkim->add = gaim_gtk_change_text(_("Add"), gtkim->add, | 2496 gtkim->add = gaim_gtk_change_text(_("Add"), gtkim->add, |
2497 GTK_STOCK_ADD, type); | 2497 GTK_STOCK_ADD, type); |
2498 gtk_tooltips_set_tip(gtkconv->tooltips, gtkim->add, | 2498 gtk_tooltips_set_tip(gtkconv->tooltips, gtkim->add, |
2499 _("Add the user to your buddy list"), NULL); | 2499 _("Add the user to your buddy list"), NULL); |
3524 type = gaim_conversation_get_type(conv); | 3524 type = gaim_conversation_get_type(conv); |
3525 gc = gaim_conversation_get_gc(conv); | 3525 gc = gaim_conversation_get_gc(conv); |
3526 gtkconv = GAIM_GTK_CONVERSATION(conv); | 3526 gtkconv = GAIM_GTK_CONVERSATION(conv); |
3527 parent = gtk_widget_get_parent(gtkconv->u.im->add); | 3527 parent = gtk_widget_get_parent(gtkconv->u.im->add); |
3528 | 3528 |
3529 if (find_buddy(gc->user, gaim_conversation_get_name(conv))) { | 3529 if (find_buddy(gc->account, gaim_conversation_get_name(conv))) { |
3530 gtkconv->u.im->add = | 3530 gtkconv->u.im->add = |
3531 gaim_gtk_change_text(_("Remove"), gtkconv->u.im->add, | 3531 gaim_gtk_change_text(_("Remove"), gtkconv->u.im->add, |
3532 GTK_STOCK_REMOVE, type); | 3532 GTK_STOCK_REMOVE, type); |
3533 gtk_tooltips_set_tip(gtkconv->tooltips, gtkconv->u.im->add, | 3533 gtk_tooltips_set_tip(gtkconv->tooltips, gtkconv->u.im->add, |
3534 _("Remove the user from your buddy list"), NULL); | 3534 _("Remove the user from your buddy list"), NULL); |
4101 struct gaim_chat *chat; | 4101 struct gaim_chat *chat; |
4102 | 4102 |
4103 win = gaim_conversation_get_window(conv); | 4103 win = gaim_conversation_get_window(conv); |
4104 gtkconv = GAIM_GTK_CONVERSATION(conv); | 4104 gtkconv = GAIM_GTK_CONVERSATION(conv); |
4105 | 4105 |
4106 if (type == GAIM_CONV_UPDATE_USER) { | 4106 if (type == GAIM_CONV_UPDATE_ACCOUNT) { |
4107 gaim_conversation_autoset_title(conv); | 4107 gaim_conversation_autoset_title(conv); |
4108 gaim_gtkconv_update_buddy_icon(conv); | 4108 gaim_gtkconv_update_buddy_icon(conv); |
4109 gaim_gtkconv_update_buttons_by_protocol(conv); | 4109 gaim_gtkconv_update_buttons_by_protocol(conv); |
4110 | 4110 |
4111 update_send_as_selection(win); | 4111 update_send_as_selection(win); |