Mercurial > pidgin
diff pidgin/gtkblist.c @ 32620:82f26939d2ba
Remove all the old GTK_CHECK_VERSION stuff. Of course, this makes this
branch strictly 3.0.0 only.
author | Elliott Sales de Andrade <qulogic@pidgin.im> |
---|---|
date | Mon, 26 Jul 2010 04:14:44 +0000 |
parents | 065b157e2b3c |
children | 7f1d9e806c66 787609e41f20 |
line wrap: on
line diff
--- a/pidgin/gtkblist.c Sun Jul 25 23:40:05 2010 +0000 +++ b/pidgin/gtkblist.c Mon Jul 26 04:14:44 2010 +0000 @@ -123,12 +123,8 @@ #define PIDGIN_BUDDY_LIST_GET_PRIVATE(list) \ ((PidginBuddyListPrivate *)((list)->priv)) -#if GTK_CHECK_VERSION(2,4,0) static guint accounts_merge_id; static GtkActionGroup *accounts_action_group = NULL; -#else -static GtkWidget *accountmenu = NULL; -#endif static guint visibility_manager_count = 0; static GdkVisibilityState gtk_blist_visibility = GDK_VISIBILITY_UNOBSCURED; @@ -142,10 +138,8 @@ static void sort_method_alphabetical(PurpleBlistNode *node, PurpleBuddyList *blist, GtkTreeIter groupiter, GtkTreeIter *cur, GtkTreeIter *iter); static void sort_method_status(PurpleBlistNode *node, PurpleBuddyList *blist, GtkTreeIter groupiter, GtkTreeIter *cur, GtkTreeIter *iter); static void sort_method_log_activity(PurpleBlistNode *node, PurpleBuddyList *blist, GtkTreeIter groupiter, GtkTreeIter *cur, GtkTreeIter *iter); -#if GTK_CHECK_VERSION(2,4,0) static guint sort_merge_id; static GtkActionGroup *sort_action_group = NULL; -#endif static PidginBuddyList *gtkblist = NULL; @@ -157,9 +151,6 @@ static void pidgin_blist_update_group(PurpleBuddyList *list, PurpleBlistNode *node); static void pidgin_blist_update_contact(PurpleBuddyList *list, PurpleBlistNode *node); static char *pidgin_get_tooltip_text(PurpleBlistNode *node, gboolean full); -#if !GTK_CHECK_VERSION(2,4,0) -static const char *item_factory_translate_func (const char *path, gpointer func_data); -#endif static gboolean get_iter_from_node(PurpleBlistNode *node, GtkTreeIter *iter); static gboolean buddy_is_displayable(PurpleBuddy *buddy); static void redo_buddy_list(PurpleBuddyList *list, gboolean remove, gboolean rerender); @@ -2053,8 +2044,6 @@ return handled; } -#if GTK_CHECK_VERSION(2,4,0) - static void gtk_blist_show_xfer_dialog_cb(GtkAction *item, gpointer data) { pidgin_xfer_dialog_show(NULL); @@ -2112,74 +2101,13 @@ gtk_toggle_action_get_active(item)); } -#else /* GTK_CHECK_VERSION(2,4,0) */ - -static void pidgin_blist_buddy_details_cb(gpointer data, guint action, GtkWidget *item) -{ - pidgin_set_cursor(gtkblist->window, GDK_WATCH); - - purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/blist/show_buddy_icons", - gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(item))); - - pidgin_clear_cursor(gtkblist->window); -} - -static void pidgin_blist_show_idle_time_cb(gpointer data, guint action, GtkWidget *item) -{ - pidgin_set_cursor(gtkblist->window, GDK_WATCH); - - purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/blist/show_idle_time", - gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(item))); - - pidgin_clear_cursor(gtkblist->window); -} - -static void pidgin_blist_show_protocol_icons_cb(gpointer data, guint action, GtkWidget *item) -{ - purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/blist/show_protocol_icons", - gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(item))); -} - -static void pidgin_blist_show_empty_groups_cb(gpointer data, guint action, GtkWidget *item) -{ - pidgin_set_cursor(gtkblist->window, GDK_WATCH); - - purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/blist/show_empty_groups", - gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(item))); - - pidgin_clear_cursor(gtkblist->window); -} - -static void pidgin_blist_edit_mode_cb(gpointer callback_data, guint callback_action, - GtkWidget *checkitem) -{ - pidgin_set_cursor(gtkblist->window, GDK_WATCH); - - purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/blist/show_offline_buddies", - gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(checkitem))); - - pidgin_clear_cursor(gtkblist->window); -} - -static void pidgin_blist_mute_sounds_cb(gpointer data, guint action, GtkWidget *item) -{ - purple_prefs_set_bool(PIDGIN_PREFS_ROOT "/sound/mute", - gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(item))); -} - -#endif /* GTK_CHECK_VERSION(2,4,0) */ static void pidgin_blist_mute_pref_cb(const char *name, PurplePrefType type, gconstpointer value, gpointer data) { -#if GTK_CHECK_VERSION(2,4,0) gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(gtk_ui_manager_get_action(gtkblist->ui, "/BList/ToolsMenu/MuteSounds")), (gboolean)GPOINTER_TO_INT(value)); -#else - gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(gtk_item_factory_get_item(gtkblist->ift, - N_("/Tools/Mute Sounds"))), (gboolean)GPOINTER_TO_INT(value)); -#endif } static void @@ -2191,11 +2119,7 @@ if(!strcmp(value, "none")) sensitive = FALSE; -#if GTK_CHECK_VERSION(2,4,0) gtk_action_set_sensitive(gtk_ui_manager_get_action(gtkblist->ui, "/BList/ToolsMenu/MuteSounds"), sensitive); -#else - gtk_widget_set_sensitive(gtk_item_factory_get_widget(gtkblist->ift, N_("/Tools/Mute Sounds")), sensitive); -#endif } static void @@ -3737,7 +3661,7 @@ /*************************************************** * Crap * ***************************************************/ -#if GTK_CHECK_VERSION(2,4,0) +#if 1 /* TODO: fill out tooltips... */ static const GtkActionEntry blist_menu_entries[] = { /* Buddies menu */ @@ -4738,7 +4662,7 @@ static const char *require_connection[] = { -#if GTK_CHECK_VERSION(2,4,0) +#if 1 "/BList/BuddiesMenu/NewInstantMessage", "/BList/BuddiesMenu/JoinAChat", "/BList/BuddiesMenu/GetUserInfo", @@ -4765,11 +4689,7 @@ static void update_menu_bar(PidginBuddyList *gtkblist) { -#if GTK_CHECK_VERSION(2,4,0) GtkAction *action; -#else - GtkWidget *widget; -#endif gboolean sensitive; int i; @@ -4779,7 +4699,6 @@ sensitive = (purple_connections_get_all() != NULL); -#if GTK_CHECK_VERSION(2,4,0) for (i = 0; i < require_connection_size; i++) { action = gtk_ui_manager_get_action(gtkblist->ui, require_connection[i]); @@ -4797,25 +4716,6 @@ action = gtk_ui_manager_get_action(gtkblist->ui, "/BList/ToolsMenu/RoomList"); gtk_action_set_sensitive(action, pidgin_roomlist_is_showable()); -#else - for (i = 0; i < require_connection_size; i++) - { - widget = gtk_item_factory_get_widget(gtkblist->ift, require_connection[i]); - gtk_widget_set_sensitive(widget, sensitive); - } - - widget = gtk_item_factory_get_widget(gtkblist->ift, N_("/Buddies/Join a Chat...")); - gtk_widget_set_sensitive(widget, pidgin_blist_joinchat_is_showable()); - - widget = gtk_item_factory_get_widget(gtkblist->ift, N_("/Buddies/Add Chat...")); - gtk_widget_set_sensitive(widget, pidgin_blist_joinchat_is_showable()); - - widget = gtk_item_factory_get_widget(gtkblist->ift, N_("/Tools/Privacy")); - gtk_widget_set_sensitive(widget, sensitive); - - widget = gtk_item_factory_get_widget(gtkblist->ift, N_("/Tools/Room List")); - gtk_widget_set_sensitive(widget, pidgin_roomlist_is_showable()); -#endif } static void @@ -5106,14 +5006,6 @@ NUM_TARGETS }; -#if !GTK_CHECK_VERSION(2,4,0) -static const char * -item_factory_translate_func (const char *path, gpointer func_data) -{ - return _((char *)path); -} -#endif - void pidgin_blist_setup_sort_methods() { const char *id; @@ -6061,10 +5953,8 @@ GtkWidget *close; char *pretty, *tmp; const char *theme_name; -#if GTK_CHECK_VERSION(2,4,0) GtkActionGroup *action_group; GError *error; -#endif GtkAccelGroup *accel_group; GtkTreeSelection *selection; GtkTargetEntry dte[] = {{"PURPLE_BLIST_NODE", GTK_TARGET_SAME_APP, DRAG_ROW}, @@ -6114,7 +6004,6 @@ gtk_widget_add_events(gtkblist->window, GDK_VISIBILITY_NOTIFY_MASK); /******************************* Menu bar *************************************/ -#if GTK_CHECK_VERSION(2,4,0) action_group = gtk_action_group_new("BListActions"); gtk_action_group_add_actions(action_group, blist_menu_entries, @@ -6149,28 +6038,6 @@ gtk_widget_show(gtkblist->menutray); gtk_widget_show(menu); gtk_box_pack_start(GTK_BOX(gtkblist->main_vbox), menu, FALSE, FALSE, 0); -#else - accel_group = gtk_accel_group_new(); - gtk_window_add_accel_group(GTK_WINDOW (gtkblist->window), accel_group); - g_object_unref(accel_group); - gtkblist->ift = gtk_item_factory_new(GTK_TYPE_MENU_BAR, "<PurpleMain>", accel_group); - gtk_item_factory_set_translate_func(gtkblist->ift, - (GtkTranslateFunc)item_factory_translate_func, - NULL, NULL); - gtk_item_factory_create_items(gtkblist->ift, G_N_ENTRIES(blist_menu), - blist_menu, NULL); - pidgin_load_accels(); - g_signal_connect(G_OBJECT(accel_group), "accel-changed", G_CALLBACK(pidgin_save_accels_cb), NULL); - - menu = gtk_item_factory_get_widget(gtkblist->ift, "<PurpleMain>"); - gtkblist->menutray = pidgin_menu_tray_new(); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), gtkblist->menutray); - gtk_widget_show(gtkblist->menutray); - gtk_widget_show(menu); - gtk_box_pack_start(GTK_BOX(gtkblist->main_vbox), menu, FALSE, FALSE, 0); - - accountmenu = gtk_item_factory_get_widget(gtkblist->ift, N_("/Accounts")); -#endif /****************************** Notebook *************************************/ gtkblist->notebook = gtk_notebook_new(); @@ -6362,7 +6229,6 @@ /* set the Show Offline Buddies option. must be done * after the treeview or faceprint gets mad. -Robot101 */ -#if GTK_CHECK_VERSION(2,4,0) gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(gtk_ui_manager_get_action(gtkblist->ui, "/BList/BuddiesMenu/ShowMenu/ShowOffline")), purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/blist/show_offline_buddies")); @@ -6384,30 +6250,6 @@ if(!strcmp(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/sound/method"), "none")) gtk_action_set_sensitive(gtk_ui_manager_get_action(gtkblist->ui, "/BList/ToolsMenu/MuteSounds"), FALSE); -#else - - gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(gtk_item_factory_get_item (gtkblist->ift, N_("/Buddies/Show/Offline Buddies"))), - purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/blist/show_offline_buddies")); - - gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(gtk_item_factory_get_item (gtkblist->ift, N_("/Buddies/Show/Empty Groups"))), - purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/blist/show_empty_groups")); - - gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(gtk_item_factory_get_item (gtkblist->ift, N_("/Tools/Mute Sounds"))), - purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/sound/mute")); - - gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(gtk_item_factory_get_item (gtkblist->ift, N_("/Buddies/Show/Buddy Details"))), - purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/blist/show_buddy_icons")); - - gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(gtk_item_factory_get_item (gtkblist->ift, N_("/Buddies/Show/Idle Times"))), - purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/blist/show_idle_time")); - - gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(gtk_item_factory_get_item (gtkblist->ift, N_("/Buddies/Show/Protocol Icons"))), - purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/blist/show_protocol_icons")); - - if(!strcmp(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/sound/method"), "none")) - gtk_widget_set_sensitive(gtk_item_factory_get_widget(gtkblist->ift, N_("/Tools/Mute Sounds")), FALSE); -#endif - /* Update some dynamic things */ update_menu_bar(gtkblist); pidgin_blist_update_plugin_actions(); @@ -7283,11 +7125,7 @@ gtkblist->window = gtkblist->vbox = gtkblist->treeview = NULL; g_object_unref(G_OBJECT(gtkblist->treemodel)); gtkblist->treemodel = NULL; -#if GTK_CHECK_VERSION(2,4,0) g_object_unref(G_OBJECT(gtkblist->ui)); -#else - g_object_unref(G_OBJECT(gtkblist->ift)); -#endif g_object_unref(G_OBJECT(gtkblist->empty_avatar)); gdk_cursor_unref(gtkblist->hand_cursor); @@ -7301,9 +7139,6 @@ g_free(priv); g_free(gtkblist); -#if !GTK_CHECK_VERSION(2,4,0) - accountmenu = NULL; -#endif gtkblist = NULL; purple_prefs_disconnect_by_handle(pidgin_blist_get_handle()); } @@ -8313,7 +8148,6 @@ pam->callback(pam); } -#if GTK_CHECK_VERSION(2,4,0) static void build_plugin_actions(GtkActionGroup *action_group, GString *ui, char *parent, PurplePlugin *plugin, gpointer context) @@ -8351,42 +8185,6 @@ g_list_free(actions); } -#else -static void -build_plugin_actions(GtkWidget *menu, PurplePlugin *plugin, - gpointer context) -{ - GtkWidget *menuitem; - PurplePluginAction *action = NULL; - GList *actions, *l; - - actions = PURPLE_PLUGIN_ACTIONS(plugin, context); - - for (l = actions; l != NULL; l = l->next) - { - if (l->data) - { - action = (PurplePluginAction *) l->data; - action->plugin = plugin; - action->context = context; - - menuitem = gtk_menu_item_new_with_label(action->label); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); - - g_signal_connect(G_OBJECT(menuitem), "activate", - G_CALLBACK(plugin_act), action); - g_object_set_data_full(G_OBJECT(menuitem), "plugin_action", - action, - (GDestroyNotify)purple_plugin_action_free); - gtk_widget_show(menuitem); - } - else - pidgin_separator(menu); - } - - g_list_free(actions); -} -#endif static void modify_account_cb(GtkWidget *widget, gpointer data) @@ -8421,7 +8219,6 @@ { GList *accounts = NULL; -#if GTK_CHECK_VERSION(2,4,0) GtkAction *action; GString *accounts_ui; GString *enable_ui; @@ -8523,164 +8320,10 @@ g_string_free(enable_ui, TRUE); g_string_free(accounts_ui, TRUE); g_free(ui_string); -#else - GtkWidget *menuitem = NULL, *submenu = NULL; - GList *l = NULL; - GtkAccelGroup *accel_group = NULL; - gboolean disabled_accounts = FALSE; - gboolean enabled_accounts = FALSE; - - if (accountmenu == NULL) - return; - - /* Clear the old Accounts menu */ - for (l = gtk_container_get_children(GTK_CONTAINER(accountmenu)); l; l = g_list_delete_link(l, l)) { - menuitem = l->data; - - if (menuitem != gtk_item_factory_get_widget(gtkblist->ift, N_("/Accounts/Manage Accounts"))) - gtk_widget_destroy(menuitem); - } - - for (accounts = purple_accounts_get_all(); accounts; accounts = accounts->next) { - char *buf = NULL; - GtkWidget *image = NULL; - PurpleAccount *account = NULL; - GdkPixbuf *pixbuf = NULL; - - account = accounts->data; - - if(!purple_account_get_enabled(account, PIDGIN_UI)) { - if (!disabled_accounts) { - menuitem = gtk_menu_item_new_with_label(_("Enable Account")); - gtk_menu_shell_append(GTK_MENU_SHELL(accountmenu), menuitem); - - submenu = gtk_menu_new(); - gtk_menu_set_accel_group(GTK_MENU(submenu), accel_group); - gtk_menu_set_accel_path(GTK_MENU(submenu), N_("<PurpleMain>/Accounts/Enable Account")); - gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), submenu); - - disabled_accounts = TRUE; - } - - buf = g_strconcat(purple_account_get_username(account), " (", - purple_account_get_protocol_name(account), ")", NULL); - menuitem = gtk_image_menu_item_new_with_label(buf); - g_free(buf); - pixbuf = pidgin_create_prpl_icon(account, PIDGIN_PRPL_ICON_SMALL); - if (pixbuf != NULL) - { - if (!purple_account_is_connected(account)) - gdk_pixbuf_saturate_and_pixelate(pixbuf, pixbuf, 0.0, FALSE); - image = gtk_image_new_from_pixbuf(pixbuf); - g_object_unref(G_OBJECT(pixbuf)); - gtk_widget_show(image); - gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menuitem), image); - } - g_signal_connect(G_OBJECT(menuitem), "activate", - G_CALLBACK(enable_account_cb), account); - gtk_menu_shell_append(GTK_MENU_SHELL(submenu), menuitem); - } else { - enabled_accounts = TRUE; - } - } - - if (!enabled_accounts) { - gtk_widget_show_all(accountmenu); - return; - } - - pidgin_separator(accountmenu); - accel_group = gtk_menu_get_accel_group(GTK_MENU(accountmenu)); - - for (accounts = purple_accounts_get_all(); accounts; accounts = accounts->next) { - char *buf = NULL; - char *accel_path_buf = NULL; - GtkWidget *image = NULL; - PurpleConnection *gc = NULL; - PurpleAccount *account = NULL; - GdkPixbuf *pixbuf = NULL; - PurplePlugin *plugin = NULL; - PurplePluginProtocolInfo *prpl_info; - - account = accounts->data; - - if (!purple_account_get_enabled(account, PIDGIN_UI)) - continue; - - buf = g_strconcat(purple_account_get_username(account), " (", - purple_account_get_protocol_name(account), ")", NULL); - menuitem = gtk_image_menu_item_new_with_label(buf); - accel_path_buf = g_strconcat(N_("<PurpleMain>/Accounts/"), buf, NULL); - g_free(buf); - pixbuf = pidgin_create_prpl_icon(account, PIDGIN_PRPL_ICON_SMALL); - if (pixbuf != NULL) { - if (!purple_account_is_connected(account)) - gdk_pixbuf_saturate_and_pixelate(pixbuf, pixbuf, - 0.0, FALSE); - image = gtk_image_new_from_pixbuf(pixbuf); - g_object_unref(G_OBJECT(pixbuf)); - gtk_widget_show(image); - gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menuitem), image); - } - gtk_menu_shell_append(GTK_MENU_SHELL(accountmenu), menuitem); - - submenu = gtk_menu_new(); - gtk_menu_set_accel_group(GTK_MENU(submenu), accel_group); - gtk_menu_set_accel_path(GTK_MENU(submenu), accel_path_buf); - g_free(accel_path_buf); - gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), submenu); - - - menuitem = gtk_menu_item_new_with_mnemonic(_("_Edit Account")); - g_signal_connect(G_OBJECT(menuitem), "activate", - G_CALLBACK(modify_account_cb), account); - gtk_menu_shell_append(GTK_MENU_SHELL(submenu), menuitem); - - pidgin_separator(submenu); - - gc = purple_account_get_connection(account); - plugin = gc && PURPLE_CONNECTION_IS_CONNECTED(gc) ? gc->prpl : NULL; - prpl_info = plugin ? PURPLE_PLUGIN_PROTOCOL_INFO(plugin) : NULL; - - if (prpl_info && - (PURPLE_PROTOCOL_PLUGIN_HAS_FUNC(prpl_info, get_moods) || - PURPLE_PLUGIN_HAS_ACTIONS(plugin))) { - if (PURPLE_PROTOCOL_PLUGIN_HAS_FUNC(prpl_info, get_moods) && - gc->flags & PURPLE_CONNECTION_SUPPORT_MOODS) { - - if (purple_account_get_status(account, "mood")) { - menuitem = gtk_menu_item_new_with_mnemonic(_("Set _Mood...")); - g_signal_connect(G_OBJECT(menuitem), "activate", - G_CALLBACK(set_mood_cb), account); - gtk_menu_shell_append(GTK_MENU_SHELL(submenu), menuitem); - } - } - if (PURPLE_PLUGIN_HAS_ACTIONS(plugin)) { - build_plugin_actions(submenu, plugin, gc); - } - } else { - menuitem = gtk_menu_item_new_with_label(_("No actions available")); - gtk_menu_shell_append(GTK_MENU_SHELL(submenu), menuitem); - gtk_widget_set_sensitive(menuitem, FALSE); - } - - pidgin_separator(submenu); - - menuitem = gtk_menu_item_new_with_mnemonic(_("_Disable")); - g_signal_connect(G_OBJECT(menuitem), "activate", - G_CALLBACK(disable_account_cb), account); - gtk_menu_shell_append(GTK_MENU_SHELL(submenu), menuitem); - } - gtk_widget_show_all(accountmenu); -#endif -} - -#if GTK_CHECK_VERSION(2,4,0) +} + static guint plugins_merge_id; static GtkActionGroup *plugins_action_group = NULL; -#else -static GList *plugin_submenus = NULL; -#endif void pidgin_blist_update_plugin_actions(void) @@ -8688,7 +8331,6 @@ PurplePlugin *plugin = NULL; GList *l; -#if GTK_CHECK_VERSION(2,4,0) GtkAction *action; GString *plugins_ui; gchar *ui_string; @@ -8745,53 +8387,8 @@ g_string_free(plugins_ui, TRUE); g_free(ui_string); -#else - GtkWidget *menuitem, *submenu; - GtkAccelGroup *accel_group; - GtkWidget *pluginmenu = gtk_item_factory_get_widget(gtkblist->ift, N_("/Tools")); - - g_return_if_fail(pluginmenu != NULL); - - /* Remove old plugin action submenus from the Tools menu */ - for (l = plugin_submenus; l; l = l->next) - gtk_widget_destroy(GTK_WIDGET(l->data)); - g_list_free(plugin_submenus); - plugin_submenus = NULL; - - accel_group = gtk_menu_get_accel_group(GTK_MENU(pluginmenu)); - - /* Add a submenu for each plugin with custom actions */ - for (l = purple_plugins_get_loaded(); l; l = l->next) { - char *path; - - plugin = (PurplePlugin *) l->data; - - if (PURPLE_IS_PROTOCOL_PLUGIN(plugin)) - continue; - - if (!PURPLE_PLUGIN_HAS_ACTIONS(plugin)) - continue; - - menuitem = gtk_image_menu_item_new_with_label(_(plugin->info->name)); - gtk_menu_shell_append(GTK_MENU_SHELL(pluginmenu), menuitem); - - plugin_submenus = g_list_append(plugin_submenus, menuitem); - - submenu = gtk_menu_new(); - gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), submenu); - - gtk_menu_set_accel_group(GTK_MENU(submenu), accel_group); - path = g_strdup_printf("%s/Tools/%s", gtkblist->ift->path, plugin->info->name); - gtk_menu_set_accel_path(GTK_MENU(submenu), path); - g_free(path); - - build_plugin_actions(submenu, plugin, NULL); - } - gtk_widget_show_all(pluginmenu); -#endif -} - -#if GTK_CHECK_VERSION(2,4,0) +} + static void sortmethod_act(GtkRadioAction *action, GtkRadioAction *current, char *id) { @@ -8805,21 +8402,6 @@ pidgin_clear_cursor(gtkblist->window); } } -#else -static void -sortmethod_act(GtkCheckMenuItem *checkmenuitem, char *id) -{ - if (gtk_check_menu_item_get_active(checkmenuitem)) - { - pidgin_set_cursor(gtkblist->window, GDK_WATCH); - /* This is redundant. I think. */ - /* pidgin_blist_sort_method_set(id); */ - purple_prefs_set_string(PIDGIN_PREFS_ROOT "/blist/sort_type", id); - - pidgin_clear_cursor(gtkblist->window); - } -} -#endif void pidgin_blist_update_sort_methods(void) @@ -8829,7 +8411,6 @@ GSList *sl = NULL; const char *m = purple_prefs_get_string(PIDGIN_PREFS_ROOT "/blist/sort_type"); -#if GTK_CHECK_VERSION(2,4,0) GtkRadioAction *action; GString *ui_string; @@ -8878,38 +8459,4 @@ sort_merge_id = gtk_ui_manager_add_ui_from_string(gtkblist->ui, ui_string->str, -1, NULL); g_string_free(ui_string, TRUE); -#else - GtkWidget *menuitem = NULL, *activeitem = NULL; - GtkWidget *sortmenu; - - if ((gtkblist == NULL) || (gtkblist->ift == NULL)) - return; - - g_return_if_fail(m != NULL); - - sortmenu = gtk_item_factory_get_widget(gtkblist->ift, N_("/Buddies/Sort Buddies")); - - if (sortmenu == NULL) - return; - - /* Clear the old menu */ - for (l = gtk_container_get_children(GTK_CONTAINER(sortmenu)); l; l = g_list_delete_link(l, l)) { - menuitem = l->data; - gtk_widget_destroy(GTK_WIDGET(menuitem)); - } - - for (l = pidgin_blist_sort_methods; l; l = l->next) { - method = (PidginBlistSortMethod *) l->data; - menuitem = gtk_radio_menu_item_new_with_label(sl, _(method->name)); - if (g_str_equal(m, method->id)) - activeitem = menuitem; - sl = gtk_radio_menu_item_get_group(GTK_RADIO_MENU_ITEM(menuitem)); - gtk_menu_shell_append(GTK_MENU_SHELL(sortmenu), menuitem); - g_signal_connect(G_OBJECT(menuitem), "toggled", - G_CALLBACK(sortmethod_act), method->id); - gtk_widget_show(menuitem); - } - if (activeitem) - gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(activeitem), TRUE); -#endif -} +}