| 792 { |
792 { |
| 793 GString *str; |
793 GString *str; |
| 794 GList *l = NULL; |
794 GList *l = NULL; |
| 795 PurplePlugin *plugin = NULL; |
795 PurplePlugin *plugin = NULL; |
| 796 char *title = g_strdup_printf(_("%s Plugin Information"), PIDGIN_NAME); |
796 char *title = g_strdup_printf(_("%s Plugin Information"), PIDGIN_NAME); |
| 797 const char *pname, *pauthor, *pver, *pwebsite, *pid; |
797 char *pname = NULL, *pauthor = NULL; |
| |
798 const char *pver, *pwebsite, *pid; |
| 798 gboolean ploaded, punloadable; |
799 gboolean ploaded, punloadable; |
| 799 static GtkWidget *plugins_info = NULL; |
800 static GtkWidget *plugins_info = NULL; |
| 800 |
801 |
| 801 str = g_string_sized_new(4096); |
802 str = g_string_sized_new(4096); |
| 802 |
803 |
| 804 _("Plugin Information")); |
805 _("Plugin Information")); |
| 805 |
806 |
| 806 for(l = purple_plugins_get_all(); l; l = l->next) { |
807 for(l = purple_plugins_get_all(); l; l = l->next) { |
| 807 plugin = (PurplePlugin *)l->data; |
808 plugin = (PurplePlugin *)l->data; |
| 808 |
809 |
| 809 pname = purple_plugin_get_name(plugin); |
810 pname = g_markup_escape_text(purple_plugin_get_name(plugin), -1); |
| 810 pauthor = purple_plugin_get_author(plugin); |
811 pauthor = g_markup_escape_text(purple_plugin_get_author(plugin), -1); |
| 811 pver = purple_plugin_get_version(plugin); |
812 pver = purple_plugin_get_version(plugin); |
| 812 pwebsite = purple_plugin_get_homepage(plugin); |
813 pwebsite = purple_plugin_get_homepage(plugin); |
| 813 pid = purple_plugin_get_id(plugin); |
814 pid = purple_plugin_get_id(plugin); |
| 814 punloadable = purple_plugin_is_unloadable(plugin); |
815 punloadable = purple_plugin_is_unloadable(plugin); |
| 815 ploaded = purple_plugin_is_loaded(plugin); |
816 ploaded = purple_plugin_is_loaded(plugin); |
| 827 |
828 |
| 828 plugins_info = pidgin_build_help_dialog(title, "plugins_info", str); |
829 plugins_info = pidgin_build_help_dialog(title, "plugins_info", str); |
| 829 g_signal_connect(G_OBJECT(plugins_info), "destroy", |
830 g_signal_connect(G_OBJECT(plugins_info), "destroy", |
| 830 G_CALLBACK(gtk_widget_destroyed), &plugins_info); |
831 G_CALLBACK(gtk_widget_destroyed), &plugins_info); |
| 831 g_free(title); |
832 g_free(title); |
| |
833 g_free(pname); |
| |
834 g_free(pauthor); |
| 832 } |
835 } |
| 833 |
836 |
| 834 static void |
837 static void |
| 835 pidgin_dialogs_im_cb(gpointer data, PurpleRequestFields *fields) |
838 pidgin_dialogs_im_cb(gpointer data, PurpleRequestFields *fields) |
| 836 { |
839 { |