# HG changeset patch # User Mark Doliner # Date 1092611393 0 # Node ID b64ee81c7bcbeed7098350a375c6f9384973f913 # Parent 4f2b50a0622436b4c5e746f8ad91e0239cf22400 [gaim-migrate @ 10626] A patch from Good Stu to make the gaim_gtkconv_button_new() function public, which lets plugin authors use it. Plugin authors should use it to create a button to be added to conversation windows. committer: Tailor Script diff -r 4f2b50a06224 -r b64ee81c7bcb plugins/ChangeLog.API --- a/plugins/ChangeLog.API Sun Aug 15 23:07:54 2004 +0000 +++ b/plugins/ChangeLog.API Sun Aug 15 23:09:53 2004 +0000 @@ -2,21 +2,23 @@ version 0.82cvs: Gaim API: - * Removed multi.h - * Renamed ui.h to gtkdialogs.h - * Renamed show_info_dialog to gaim_gtkdialogs_info - * Renamed show_log_dialog to gaim_gtkdialogs_log - * Renamed show_warn_dialog to gaim_gtkdialogs_warn - * Renamed show_im_dialog to gaim_gtkdialogs_im - * Renamed gaim_gtkdialogs_new_im to gaim_gtkdialogs_im_with_user - * Renamed destroy_all_dialogs to gaim_gtkdialogs_destroy_all - * Renamed alias_dialog_bud to gaim_gtkdialogs_alias_buddy - * Renamed alias_dialog_contact to gaim_gtkdialogs_alias_contact - * Renamed alias_dialog_blist_chat to gaim_gtkdialogs_alias_chat - * Renamed show_confirm_del to gaim_gtkdialogs_remove_buddy - * Renamed show_confirm_del_group to gaim_gtkdialogs_remove_group - * Renamed show_confirm_del_blist_chat to gaim_gtkdialogs_remove_chat - * Renamed show_confirm_del_contact to gaim_gtkdialogs_remove_contact + * Removed: gaim_gtk_get_dispstyle(), gaim_gtk_change_text() + * Added: gaim_gtkconv_button_new() + * Removed: multi.h + * Renamed: ui.h to gtkdialogs.h + * Renamed: show_info_dialog to gaim_gtkdialogs_info + * Renamed: show_log_dialog to gaim_gtkdialogs_log + * Renamed: show_warn_dialog to gaim_gtkdialogs_warn + * Renamed: show_im_dialog to gaim_gtkdialogs_im + * Renamed: gaim_gtkdialogs_new_im to gaim_gtkdialogs_im_with_user + * Renamed: destroy_all_dialogs to gaim_gtkdialogs_destroy_all + * Renamed: alias_dialog_bud to gaim_gtkdialogs_alias_buddy + * Renamed: alias_dialog_contact to gaim_gtkdialogs_alias_contact + * Renamed: alias_dialog_blist_chat to gaim_gtkdialogs_alias_chat + * Renamed: show_confirm_del to gaim_gtkdialogs_remove_buddy + * Renamed: show_confirm_del_group to gaim_gtkdialogs_remove_group + * Renamed: show_confirm_del_blist_chat to gaim_gtkdialogs_remove_chat + * Renamed: show_confirm_del_contact to gaim_gtkdialogs_remove_contact Signals: * Added: conversation-updated for any update to the data associated @@ -27,17 +29,17 @@ * Most functions now have a void *data argument. Blist API: - * Added gaim_buddy_get_contact_alias - * Renamed gaim_get_buddy_alias to gaim_buddy_get_alias - * Renamed gaim_get_buddy_alias_only to gaim_buddy_get_alias_only + * Added: gaim_buddy_get_contact_alias + * Renamed: gaim_get_buddy_alias to gaim_buddy_get_alias + * Renamed: gaim_get_buddy_alias_only to gaim_buddy_get_alias_only Conversation API: - * Changed gaim_conv_chat_add_user(), added flags parameter - * Changed gaim_conv_chat_add_users(), added GList of flags parameter - * Changed gaim_conv_chat_get_users(), now returns a GList of - GaimChatBuddy's - * Changed gaim_conv_chat_set_users() now expects a GList of - GaimChatBuddy's + * Changed: gaim_conv_chat_add_user(), added flags parameter + * Changed: gaim_conv_chat_add_users(), added GList of flags parameter + * Changed: gaim_conv_chat_get_users(), now returns a GList of + GaimConvChatBuddy's + * Changed: gaim_conv_chat_set_users() now expects a GList of + GaimConvChatBuddy's * Added: gaim_conv_chat_set_user_flags() * Added: gaim_conv_chat_get_user_flags() * Added: gaim_conv_chat_find_user() diff -r 4f2b50a06224 -r b64ee81c7bcb src/gtkconv.c --- a/src/gtkconv.c Sun Aug 15 23:07:54 2004 +0000 +++ b/src/gtkconv.c Sun Aug 15 23:09:53 2004 +0000 @@ -3659,8 +3659,8 @@ return gtkwin->menu.menubar; } -static GtkWidget * -new_gtkconv_button(const char *icon, const char *text, const char *tooltip, GtkTooltips *tooltips, void *callback, void *data) +GtkWidget * +gaim_gtkconv_button_new(const char *icon, const char *text, const char *tooltip, GtkTooltips *tooltips, void *callback, void *data) { GtkWidget *button; int buttons; @@ -3701,49 +3701,49 @@ /* The buttons, from left to right */ /* Warn button */ - gtkim->warn = new_gtkconv_button(GAIM_STOCK_WARN, _("Warn"), + gtkim->warn = gaim_gtkconv_button_new(GAIM_STOCK_WARN, _("Warn"), _("Warn the user"), gtkconv->tooltips, warn_cb, conv); gtk_box_pack_start(GTK_BOX(parent), gtkim->warn, TRUE, TRUE, 0); gtk_size_group_add_widget(gtkconv->sg, gtkim->warn); /* Block button */ - gtkim->block = new_gtkconv_button(GAIM_STOCK_BLOCK, _("Block"), + gtkim->block = gaim_gtkconv_button_new(GAIM_STOCK_BLOCK, _("Block"), _("Block the user"), gtkconv->tooltips, block_cb, conv); gtk_box_pack_start(GTK_BOX(parent), gtkim->block, TRUE, TRUE, 0); gtk_size_group_add_widget(gtkconv->sg, gtkim->block); /* Send File button */ - gtkim->send_file = new_gtkconv_button(GAIM_STOCK_FILE_TRANSFER, _("Send File"), + gtkim->send_file = gaim_gtkconv_button_new(GAIM_STOCK_FILE_TRANSFER, _("Send File"), _("Send a file to the user"), gtkconv->tooltips, send_file_cb, conv); gtk_box_pack_start(GTK_BOX(parent), gtkim->send_file, TRUE, TRUE, 0); gtk_size_group_add_widget(gtkconv->sg, gtkim->send_file); /* Add button */ - gtkconv->add = new_gtkconv_button(GTK_STOCK_ADD, _("Add"), + gtkconv->add = gaim_gtkconv_button_new(GTK_STOCK_ADD, _("Add"), _("Add the user to your buddy list"), gtkconv->tooltips, add_remove_cb, conv); gtk_box_pack_start(GTK_BOX(parent), gtkconv->add, TRUE, TRUE, 0); gtk_size_group_add_widget(gtkconv->sg, gtkconv->add); /* Remove button */ - gtkconv->remove = new_gtkconv_button(GTK_STOCK_REMOVE, _("Remove"), + gtkconv->remove = gaim_gtkconv_button_new(GTK_STOCK_REMOVE, _("Remove"), _("Remove the user from your buddy list"), gtkconv->tooltips, add_remove_cb, conv); gtk_box_pack_start(GTK_BOX(parent), gtkconv->remove, TRUE, TRUE, 0); gtk_size_group_add_widget(gtkconv->sg, gtkconv->remove); /* Info button */ - gtkconv->info = new_gtkconv_button(GAIM_STOCK_INFO, _("Info"), + gtkconv->info = gaim_gtkconv_button_new(GAIM_STOCK_INFO, _("Info"), _("Get the user's information"), gtkconv->tooltips, info_cb, conv); gtk_box_pack_start(GTK_BOX(parent), gtkconv->info, TRUE, TRUE, 0); gtk_size_group_add_widget(gtkconv->sg, gtkconv->info); /* Send button */ - gtkconv->send = new_gtkconv_button(GAIM_STOCK_SEND, _("Send"), + gtkconv->send = gaim_gtkconv_button_new(GAIM_STOCK_SEND, _("Send"), _("Send message"), gtkconv->tooltips, send_cb, conv); gtk_box_pack_end(GTK_BOX(parent), gtkconv->send, FALSE, FALSE, 0); @@ -3786,28 +3786,28 @@ /* The buttons, from left to right */ /* Invite */ - gtkchat->invite = new_gtkconv_button(GAIM_STOCK_INVITE, _("Invite"), + gtkchat->invite = gaim_gtkconv_button_new(GAIM_STOCK_INVITE, _("Invite"), _("Invite a usuer"), gtkconv->tooltips, invite_cb, conv); gtk_box_pack_start(GTK_BOX(parent), gtkchat->invite, TRUE, TRUE, 0); gtk_size_group_add_widget(gtkconv->sg, gtkchat->invite); /* Add button */ - gtkconv->add = new_gtkconv_button(GTK_STOCK_ADD, _("Add"), + gtkconv->add = gaim_gtkconv_button_new(GTK_STOCK_ADD, _("Add"), _("Add the chat to your buddy list"), gtkconv->tooltips, add_remove_cb, conv); gtk_box_pack_start(GTK_BOX(parent), gtkconv->add, TRUE, TRUE, 0); gtk_size_group_add_widget(gtkconv->sg, gtkconv->add); /* Remove button */ - gtkconv->remove = new_gtkconv_button(GTK_STOCK_REMOVE, _("Remove"), + gtkconv->remove = gaim_gtkconv_button_new(GTK_STOCK_REMOVE, _("Remove"), _("Remove the chat from your buddy list"), gtkconv->tooltips, add_remove_cb, conv); gtk_box_pack_start(GTK_BOX(parent), gtkconv->remove, TRUE, TRUE, 0); gtk_size_group_add_widget(gtkconv->sg, gtkconv->remove); /* Send button */ - gtkconv->send = new_gtkconv_button(GAIM_STOCK_SEND, _("Send"), + gtkconv->send = gaim_gtkconv_button_new(GAIM_STOCK_SEND, _("Send"), _("Send message"), gtkconv->tooltips, send_cb, conv); gtk_box_pack_end(GTK_BOX(parent), gtkconv->send, FALSE, FALSE, 0); diff -r 4f2b50a06224 -r b64ee81c7bcb src/gtkconv.h --- a/src/gtkconv.h Sun Aug 15 23:07:54 2004 +0000 +++ b/src/gtkconv.h Sun Aug 15 23:09:53 2004 +0000 @@ -252,6 +252,22 @@ void gaim_gtkconv_update_buttons_by_protocol(GaimConversation *conv); /** + * Creates a conversation button + * + * @param icon The stock icon name. + * @param text The text for the button. + * @param tooltip The tooltip text. + * @param tooltips The group of tooltips. + * @param callback A function to call when the button is clicked. + * @param data Data to pass to the callback. + * + * @return The button + */ +GtkWidget *gaim_gtkconv_button_new(const char *icon, const char *text, + const char *tooltip, GtkTooltips *tooltips, + void *callback, void *data); + +/** * Returns the window at the specified X, Y location. * * If the window is not a GTK+ window, @c NULL is returned.