| 66 plugin->info->name, plugin->info->version, plugin->info->description, |
66 plugin->info->name, plugin->info->version, plugin->info->description, |
| 67 plugin->info->author, plugin->info->homepage, plugin->path); |
67 plugin->info->author, plugin->info->homepage, plugin->path); |
| 68 gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(plugins.aboot), |
68 gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(plugins.aboot), |
| 69 text, GNT_TEXT_FLAG_NORMAL); |
69 text, GNT_TEXT_FLAG_NORMAL); |
| 70 gnt_text_view_scroll(GNT_TEXT_VIEW(plugins.aboot), 0); |
70 gnt_text_view_scroll(GNT_TEXT_VIEW(plugins.aboot), 0); |
| |
71 g_free(text); |
| 71 } |
72 } |
| 72 |
73 |
| 73 static void |
74 static void |
| 74 reset_plugin_window(GntWidget *window, gpointer null) |
75 reset_plugin_window(GntWidget *window, gpointer null) |
| 75 { |
76 { |
| 76 plugins.window = NULL; |
77 plugins.window = NULL; |
| 77 plugins.tree = NULL; |
78 plugins.tree = NULL; |
| 78 plugins.aboot = NULL; |
79 plugins.aboot = NULL; |
| |
80 } |
| |
81 |
| |
82 static int |
| |
83 plugin_compare(GaimPlugin *p1, GaimPlugin *p2) |
| |
84 { |
| |
85 char *s1 = g_utf8_strup(p1->info->name, -1); |
| |
86 char *s2 = g_utf8_strup(p2->info->name, -1); |
| |
87 int ret = g_utf8_collate(s1, s2); |
| |
88 g_free(s1); |
| |
89 g_free(s2); |
| |
90 return ret; |
| 79 } |
91 } |
| 80 |
92 |
| 81 void gg_plugins_show_all() |
93 void gg_plugins_show_all() |
| 82 { |
94 { |
| 83 GntWidget *window, *tree, *box, *aboot; |
95 GntWidget *window, *tree, *box, *aboot; |
| 100 gnt_box_add_widget(GNT_BOX(window), box); |
112 gnt_box_add_widget(GNT_BOX(window), box); |
| 101 gnt_box_add_widget(GNT_BOX(window), gnt_hline_new()); |
113 gnt_box_add_widget(GNT_BOX(window), gnt_hline_new()); |
| 102 |
114 |
| 103 gnt_box_set_pad(GNT_BOX(box), 0); |
115 gnt_box_set_pad(GNT_BOX(box), 0); |
| 104 plugins.tree = tree = gnt_tree_new(); |
116 plugins.tree = tree = gnt_tree_new(); |
| |
117 gnt_tree_set_compare_func(GNT_TREE(tree), (GCompareFunc)plugin_compare); |
| 105 GNT_WIDGET_SET_FLAGS(tree, GNT_WIDGET_NO_BORDER); |
118 GNT_WIDGET_SET_FLAGS(tree, GNT_WIDGET_NO_BORDER); |
| 106 gnt_box_add_widget(GNT_BOX(box), tree); |
119 gnt_box_add_widget(GNT_BOX(box), tree); |
| 107 gnt_box_add_widget(GNT_BOX(box), gnt_vline_new()); |
120 gnt_box_add_widget(GNT_BOX(box), gnt_vline_new()); |
| 108 |
121 |
| 109 plugins.aboot = aboot = gnt_text_view_new(); |
122 plugins.aboot = aboot = gnt_text_view_new(); |
| 126 gnt_tree_set_col_width(GNT_TREE(tree), 0, 30); |
139 gnt_tree_set_col_width(GNT_TREE(tree), 0, 30); |
| 127 g_signal_connect(G_OBJECT(tree), "toggled", G_CALLBACK(plugin_toggled_cb), NULL); |
140 g_signal_connect(G_OBJECT(tree), "toggled", G_CALLBACK(plugin_toggled_cb), NULL); |
| 128 g_signal_connect(G_OBJECT(tree), "selection_changed", G_CALLBACK(selection_changed), NULL); |
141 g_signal_connect(G_OBJECT(tree), "selection_changed", G_CALLBACK(selection_changed), NULL); |
| 129 g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(reset_plugin_window), NULL); |
142 g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(reset_plugin_window), NULL); |
| 130 |
143 |
| 131 gnt_tree_set_selected(GNT_TREE(tree), gaim_plugins_get_all()->data); |
|
| 132 |
|
| 133 gnt_widget_show(window); |
144 gnt_widget_show(window); |
| 134 } |
145 } |
| 135 |
146 |