Mercurial > pidgin
diff src/gtkconv.c @ 7859:e873d0bd0e6c
[gaim-migrate @ 8513]
I changed some stuff with conversation menus. Stuff is renamed,
moved around, not grayed out, grayed out, visible, somewhat works
for chats, etc. Ima finish this tomorrow because it's 6 o'freaking
clock. It shouldn't make anything worse, and might make some things
better.
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Sun, 14 Dec 2003 11:03:54 +0000 |
parents | 43f63ff8a6d8 |
children | f9df510460d7 |
line wrap: on
line diff
--- a/src/gtkconv.c Sun Dec 14 07:00:43 2003 +0000 +++ b/src/gtkconv.c Sun Dec 14 11:03:54 2003 +0000 @@ -481,17 +481,30 @@ add_cb(GtkWidget *widget, GaimConversation *conv) { GaimAccount *account; - GaimBuddy *b; const char *name; + GaimConversationType type; account = gaim_conversation_get_account(conv); name = gaim_conversation_get_name(conv); - b = gaim_find_buddy(account, name); - - if (b != NULL) - show_confirm_del(b); - else if (account != NULL && gaim_account_is_connected(account)) - gaim_blist_request_add_buddy(account, (char *)name, NULL, NULL); + type = gaim_conversation_get_type(conv); + + if (GAIM_CONV_IM(conv)) { + GaimBuddy *b; + + b = gaim_find_buddy(account, name); + if (b != NULL) + show_confirm_del(b); + else if (account != NULL && gaim_account_is_connected(account)) + gaim_blist_request_add_buddy(account, (char *)name, NULL, NULL); + } else if (GAIM_CONV_CHAT(conv)) { + GaimChat *c; + + c = gaim_blist_find_chat(account, name); + if (c != NULL) + show_confirm_del_blist_chat(c); + else if (account != NULL && gaim_account_is_connected(account)) + gaim_blist_request_add_chat(account, NULL, NULL); + } gtk_widget_grab_focus(GAIM_GTK_CONVERSATION(conv)->entry); } @@ -606,7 +619,7 @@ /* Create the new dialog. */ invite_dialog = gtk_dialog_new_with_buttons( - _("Gaim - Invite Buddy Into Chat Room"), + _("Invite Buddy Into Chat Room"), GTK_WINDOW(gtkwin->window), GTK_DIALOG_MODAL, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL); @@ -2077,40 +2090,37 @@ /* Update the menubar */ if (gaim_conversation_get_type(conv) == GAIM_CONV_IM) { gtk_widget_show(gtkwin->menu.view_log); - - if (gc && prpl_info->options & OPT_PROTO_IM_IMAGE) { - gtk_widget_show(gtkwin->menu.insert_image); - gtk_widget_set_sensitive(gtkconv->toolbar.image, TRUE); - - } - else { - gtk_widget_hide(gtkwin->menu.insert_image); - gtk_widget_set_sensitive(gtkconv->toolbar.image, FALSE); - } - gtk_widget_show(gtkwin->menu.add_pounce); gtk_widget_show(gtkwin->menu.get_info); + gtk_widget_hide(gtkwin->menu.invite); + + gtk_widget_show(gtkwin->menu.insert_image); + if (gc && prpl_info->options & OPT_PROTO_IM_IMAGE) + gtk_widget_set_sensitive(gtkwin->menu.insert_image, TRUE); + else + gtk_widget_set_sensitive(gtkwin->menu.insert_image, FALSE); + gtk_widget_show(gtkwin->menu.warn); + if (gc && prpl_info->warn != NULL) + gtk_widget_set_sensitive(gtkwin->menu.warn, TRUE); + else + gtk_widget_set_sensitive(gtkwin->menu.warn, FALSE); + gtk_widget_show(gtkwin->menu.block); if (gaim_find_buddy(gaim_conversation_get_account(conv), gaim_conversation_get_name(conv)) == NULL) { - gtk_widget_show(gtkwin->menu.add); gtk_widget_hide(gtkwin->menu.remove); gtk_widget_set_sensitive(gtkwin->menu.alias, FALSE); - } - else { + } else { gtk_widget_show(gtkwin->menu.remove); gtk_widget_hide(gtkwin->menu.add); gtk_widget_set_sensitive(gtkwin->menu.alias, TRUE); } - gtk_widget_set_sensitive(gtkwin->menu.add, TRUE); gtk_widget_set_sensitive(gtkwin->menu.remove, TRUE); - gtk_widget_hide(gtkwin->menu.invite); - if (gtkwin->menu.send_as != NULL) g_timeout_add(0, (GSourceFunc)update_send_as_selection, win); @@ -2122,32 +2132,29 @@ } } else if (gaim_conversation_get_type(conv) == GAIM_CONV_CHAT) { + gtk_widget_hide(gtkwin->menu.view_log); + gtk_widget_hide(gtkwin->menu.add_pounce); + gtk_widget_hide(gtkwin->menu.get_info); gtk_widget_show(gtkwin->menu.invite); - gtk_widget_hide(gtkwin->menu.view_log); gtk_widget_hide(gtkwin->menu.insert_image); gtk_widget_set_sensitive(gtkconv->toolbar.image, FALSE); - gtk_widget_set_sensitive(gtkwin->menu.alias, FALSE); - - gtk_widget_hide(gtkwin->menu.add_pounce); - gtk_widget_hide(gtkwin->menu.get_info); gtk_widget_hide(gtkwin->menu.warn); gtk_widget_hide(gtkwin->menu.block); if (gaim_find_chat(gaim_conversation_get_gc(conv), gaim_conv_chat_get_id(GAIM_CONV_CHAT(conv))) == NULL) { - gtk_widget_show(gtkwin->menu.add); gtk_widget_hide(gtkwin->menu.remove); - } - else { + gtk_widget_set_sensitive(gtkwin->menu.alias, FALSE); + } else { gtk_widget_show(gtkwin->menu.remove); gtk_widget_hide(gtkwin->menu.add); + gtk_widget_set_sensitive(gtkwin->menu.alias, TRUE); } - - gtk_widget_set_sensitive(gtkwin->menu.add, FALSE); - gtk_widget_set_sensitive(gtkwin->menu.remove, FALSE); + gtk_widget_set_sensitive(gtkwin->menu.add, TRUE); + gtk_widget_set_sensitive(gtkwin->menu.remove, TRUE); if (gtkwin->menu.send_as != NULL) g_timeout_add(0, (GSourceFunc)update_send_as_selection, win); @@ -2860,7 +2867,7 @@ char buf[BUF_LONG]; GtkWidget *window; - window = gtk_file_selection_new(_("Gaim - Save Conversation")); + window = gtk_file_selection_new(_("Save Conversation")); g_snprintf(buf, sizeof(buf), "%s" G_DIR_SEPARATOR_S "%s.log", gaim_home_dir(), gaim_normalize(c->account, c->name)); @@ -2879,38 +2886,31 @@ /* Conversation menu */ { N_("/_Conversation"), NULL, NULL, 0, "<Branch>" }, - { N_("/Conversation/_New Conversation..."), NULL, menu_new_conv_cb, - 0, "<StockItem>", GTK_STOCK_NEW }, - - { "/Conversation/sep0", NULL, NULL, 0, "<Separator>" }, - + { N_("/Conversation/New _Instant Message..."), "<CTL>I", menu_new_conv_cb, + 0, "<StockItem>", GAIM_STOCK_IM }, + + { "/Conversation/sep0", NULL, NULL, 0, "<Separator>" }, + + { N_("/Conversation/Find..."), NULL, menu_find_cb, 0, "<StockItem>", GTK_STOCK_FIND }, + { N_("/Conversation/View _Log"), NULL, menu_view_log_cb, 0, NULL }, { N_("/Conversation/_Save As..."), NULL, menu_save_as_cb, 0, "<StockItem>", GTK_STOCK_SAVE_AS }, - { N_("/Conversation/View _Log"), NULL, menu_view_log_cb, 0, NULL }, - { N_("/Conversation/Find..."), NULL, menu_find_cb, 0, "<StockItem>", GTK_STOCK_FIND }, { "/Conversation/sep1", NULL, NULL, 0, "<Separator>" }, { N_("/Conversation/Add Buddy _Pounce..."), NULL, menu_add_pounce_cb, 0, NULL }, - { N_("/Conversation/A_lias..."), NULL, menu_alias_cb, 0, - "<StockItem>", GAIM_STOCK_EDIT }, - { N_("/Conversation/_Get Info..."), NULL, menu_get_info_cb, 0, + { N_("/Conversation/_Get Info"), NULL, menu_get_info_cb, 0, "<StockItem>", GAIM_STOCK_INFO }, + { N_("/Conversation/_Warn..."), NULL, menu_warn_cb, 0, + "<StockItem>", GAIM_STOCK_WARN }, { N_("/Conversation/In_vite..."), NULL, menu_invite_cb, 0, "<StockItem>", GAIM_STOCK_INVITE }, { "/Conversation/sep2", NULL, NULL, 0, "<Separator>" }, - { N_("/Conversation/Insert Lin_k..."), NULL, menu_insert_link_cb, 0, - "<StockItem>", GAIM_STOCK_LINK }, - { N_("/Conversation/Insert _Image..."), NULL, menu_insert_image_cb, 0, - "<StockItem>", GAIM_STOCK_IMAGE }, - - { "/Conversation/sep3", NULL, NULL, 0, "<Separator>" }, - - { N_("/Conversation/_Warn..."), NULL, menu_warn_cb, 0, - "<StockItem>", GAIM_STOCK_WARN }, + { N_("/Conversation/A_lias..."), NULL, menu_alias_cb, 0, + "<StockItem>", GAIM_STOCK_EDIT }, { N_("/Conversation/_Block..."), NULL, menu_block_cb, 0, "<StockItem>", GAIM_STOCK_BLOCK }, { N_("/Conversation/_Add..."), NULL, menu_add_remove_cb, 0, @@ -2918,6 +2918,13 @@ { N_("/Conversation/_Remove..."), NULL, menu_add_remove_cb, 0, "<StockItem>", GTK_STOCK_REMOVE }, + { "/Conversation/sep3", NULL, NULL, 0, "<Separator>" }, + + { N_("/Conversation/Insert Lin_k..."), NULL, menu_insert_link_cb, 0, + "<StockItem>", GAIM_STOCK_LINK }, + { N_("/Conversation/Insert Imag_e..."), NULL, menu_insert_image_cb, 0, + "<StockItem>", GAIM_STOCK_IMAGE }, + { "/Conversation/sep4", NULL, NULL, 0, "<Separator>" }, { N_("/Conversation/_Close"), NULL, menu_close_conv_cb, 0, @@ -2982,7 +2989,7 @@ gtkwin->menu.get_info = gtk_item_factory_get_widget(gtkwin->menu.item_factory, - N_("/Conversation/Get Info...")); + N_("/Conversation/Get Info")); gtkwin->menu.invite = gtk_item_factory_get_widget(gtkwin->menu.item_factory,