| 7674 |
7674 |
| 7675 if(!purple_account_get_enabled(account, PIDGIN_UI)) { |
7675 if(!purple_account_get_enabled(account, PIDGIN_UI)) { |
| 7676 if (!disabled_accounts) { |
7676 if (!disabled_accounts) { |
| 7677 menuitem = gtk_menu_item_new_with_label(_("Enable Account")); |
7677 menuitem = gtk_menu_item_new_with_label(_("Enable Account")); |
| 7678 gtk_menu_shell_append(GTK_MENU_SHELL(accountmenu), menuitem); |
7678 gtk_menu_shell_append(GTK_MENU_SHELL(accountmenu), menuitem); |
| 7679 gtk_widget_show(menuitem); |
|
| 7680 |
7679 |
| 7681 submenu = gtk_menu_new(); |
7680 submenu = gtk_menu_new(); |
| 7682 gtk_menu_set_accel_group(GTK_MENU(submenu), accel_group); |
7681 gtk_menu_set_accel_group(GTK_MENU(submenu), accel_group); |
| 7683 gtk_menu_set_accel_path(GTK_MENU(submenu), N_("<PurpleMain>/Accounts/Enable Account")); |
7682 gtk_menu_set_accel_path(GTK_MENU(submenu), N_("<PurpleMain>/Accounts/Enable Account")); |
| 7684 gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), submenu); |
7683 gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), submenu); |
| 7685 gtk_widget_show(submenu); |
|
| 7686 |
7684 |
| 7687 disabled_accounts = TRUE; |
7685 disabled_accounts = TRUE; |
| 7688 } |
7686 } |
| 7689 |
7687 |
| 7690 buf = g_strconcat(purple_account_get_username(account), " (", |
7688 buf = g_strconcat(purple_account_get_username(account), " (", |
| 7702 gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menuitem), image); |
7700 gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menuitem), image); |
| 7703 } |
7701 } |
| 7704 g_signal_connect(G_OBJECT(menuitem), "activate", |
7702 g_signal_connect(G_OBJECT(menuitem), "activate", |
| 7705 G_CALLBACK(enable_account_cb), account); |
7703 G_CALLBACK(enable_account_cb), account); |
| 7706 gtk_menu_shell_append(GTK_MENU_SHELL(submenu), menuitem); |
7704 gtk_menu_shell_append(GTK_MENU_SHELL(submenu), menuitem); |
| 7707 gtk_widget_show(menuitem); |
|
| 7708 } else { |
7705 } else { |
| 7709 enabled_accounts = TRUE; |
7706 enabled_accounts = TRUE; |
| 7710 } |
7707 } |
| 7711 } |
7708 } |
| 7712 |
7709 |
| 7744 g_object_unref(G_OBJECT(pixbuf)); |
7741 g_object_unref(G_OBJECT(pixbuf)); |
| 7745 gtk_widget_show(image); |
7742 gtk_widget_show(image); |
| 7746 gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menuitem), image); |
7743 gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menuitem), image); |
| 7747 } |
7744 } |
| 7748 gtk_menu_shell_append(GTK_MENU_SHELL(accountmenu), menuitem); |
7745 gtk_menu_shell_append(GTK_MENU_SHELL(accountmenu), menuitem); |
| 7749 gtk_widget_show(menuitem); |
|
| 7750 |
7746 |
| 7751 submenu = gtk_menu_new(); |
7747 submenu = gtk_menu_new(); |
| 7752 gtk_menu_set_accel_group(GTK_MENU(submenu), accel_group); |
7748 gtk_menu_set_accel_group(GTK_MENU(submenu), accel_group); |
| 7753 gtk_menu_set_accel_path(GTK_MENU(submenu), accel_path_buf); |
7749 gtk_menu_set_accel_path(GTK_MENU(submenu), accel_path_buf); |
| 7754 g_free(accel_path_buf); |
7750 g_free(accel_path_buf); |
| 7755 gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), submenu); |
7751 gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), submenu); |
| 7756 gtk_widget_show(submenu); |
|
| 7757 |
7752 |
| 7758 |
7753 |
| 7759 menuitem = gtk_menu_item_new_with_mnemonic(_("_Edit Account")); |
7754 menuitem = gtk_menu_item_new_with_mnemonic(_("_Edit Account")); |
| 7760 g_signal_connect(G_OBJECT(menuitem), "activate", |
7755 g_signal_connect(G_OBJECT(menuitem), "activate", |
| 7761 G_CALLBACK(modify_account_cb), account); |
7756 G_CALLBACK(modify_account_cb), account); |
| 7762 gtk_menu_shell_append(GTK_MENU_SHELL(submenu), menuitem); |
7757 gtk_menu_shell_append(GTK_MENU_SHELL(submenu), menuitem); |
| 7763 gtk_widget_show(menuitem); |
|
| 7764 |
7758 |
| 7765 pidgin_separator(submenu); |
7759 pidgin_separator(submenu); |
| 7766 |
7760 |
| 7767 gc = purple_account_get_connection(account); |
7761 gc = purple_account_get_connection(account); |
| 7768 plugin = gc && PURPLE_CONNECTION_IS_CONNECTED(gc) ? gc->prpl : NULL; |
7762 plugin = gc && PURPLE_CONNECTION_IS_CONNECTED(gc) ? gc->prpl : NULL; |
| 7770 build_plugin_actions(submenu, plugin, gc); |
7764 build_plugin_actions(submenu, plugin, gc); |
| 7771 } else { |
7765 } else { |
| 7772 menuitem = gtk_menu_item_new_with_label(_("No actions available")); |
7766 menuitem = gtk_menu_item_new_with_label(_("No actions available")); |
| 7773 gtk_menu_shell_append(GTK_MENU_SHELL(submenu), menuitem); |
7767 gtk_menu_shell_append(GTK_MENU_SHELL(submenu), menuitem); |
| 7774 gtk_widget_set_sensitive(menuitem, FALSE); |
7768 gtk_widget_set_sensitive(menuitem, FALSE); |
| 7775 gtk_widget_show(menuitem); |
|
| 7776 } |
7769 } |
| 7777 |
7770 |
| 7778 pidgin_separator(submenu); |
7771 pidgin_separator(submenu); |
| 7779 |
7772 |
| 7780 menuitem = gtk_menu_item_new_with_mnemonic(_("_Disable")); |
7773 menuitem = gtk_menu_item_new_with_mnemonic(_("_Disable")); |
| 7781 g_signal_connect(G_OBJECT(menuitem), "activate", |
7774 g_signal_connect(G_OBJECT(menuitem), "activate", |
| 7782 G_CALLBACK(disable_account_cb), account); |
7775 G_CALLBACK(disable_account_cb), account); |
| 7783 gtk_menu_shell_append(GTK_MENU_SHELL(submenu), menuitem); |
7776 gtk_menu_shell_append(GTK_MENU_SHELL(submenu), menuitem); |
| 7784 gtk_widget_show(menuitem); |
7777 } |
| 7785 } |
7778 gtk_widget_show_all(accountmenu); |
| 7786 } |
7779 } |
| 7787 |
7780 |
| 7788 static GList *plugin_submenus = NULL; |
7781 static GList *plugin_submenus = NULL; |
| 7789 |
7782 |
| 7790 void |
7783 void |
| 7819 if (!PURPLE_PLUGIN_HAS_ACTIONS(plugin)) |
7812 if (!PURPLE_PLUGIN_HAS_ACTIONS(plugin)) |
| 7820 continue; |
7813 continue; |
| 7821 |
7814 |
| 7822 menuitem = gtk_image_menu_item_new_with_label(_(plugin->info->name)); |
7815 menuitem = gtk_image_menu_item_new_with_label(_(plugin->info->name)); |
| 7823 gtk_menu_shell_append(GTK_MENU_SHELL(pluginmenu), menuitem); |
7816 gtk_menu_shell_append(GTK_MENU_SHELL(pluginmenu), menuitem); |
| 7824 gtk_widget_show(menuitem); |
|
| 7825 |
7817 |
| 7826 plugin_submenus = g_list_append(plugin_submenus, menuitem); |
7818 plugin_submenus = g_list_append(plugin_submenus, menuitem); |
| 7827 |
7819 |
| 7828 submenu = gtk_menu_new(); |
7820 submenu = gtk_menu_new(); |
| 7829 gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), submenu); |
7821 gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), submenu); |
| 7830 gtk_widget_show(submenu); |
|
| 7831 |
7822 |
| 7832 gtk_menu_set_accel_group(GTK_MENU(submenu), accel_group); |
7823 gtk_menu_set_accel_group(GTK_MENU(submenu), accel_group); |
| 7833 path = g_strdup_printf("%s/Tools/%s", gtkblist->ift->path, plugin->info->name); |
7824 path = g_strdup_printf("%s/Tools/%s", gtkblist->ift->path, plugin->info->name); |
| 7834 gtk_menu_set_accel_path(GTK_MENU(submenu), path); |
7825 gtk_menu_set_accel_path(GTK_MENU(submenu), path); |
| 7835 g_free(path); |
7826 g_free(path); |
| 7836 |
7827 |
| 7837 build_plugin_actions(submenu, plugin, NULL); |
7828 build_plugin_actions(submenu, plugin, NULL); |
| 7838 } |
7829 } |
| |
7830 gtk_widget_show_all(pluginmenu); |
| 7839 } |
7831 } |
| 7840 |
7832 |
| 7841 static void |
7833 static void |
| 7842 sortmethod_act(GtkCheckMenuItem *checkmenuitem, char *id) |
7834 sortmethod_act(GtkCheckMenuItem *checkmenuitem, char *id) |
| 7843 { |
7835 { |