Mercurial > pidgin
comparison console/gntplugin.c @ 14105:eaf7f35635bc
[gaim-migrate @ 16739]
Allow autojoining chat rooms.
Sort the buddies in the buddylist, and the plugins in the plugin list.
committer: Tailor Script <tailor@pidgin.im>
author | Sadrul Habib Chowdhury <imadil@gmail.com> |
---|---|
date | Sun, 13 Aug 2006 23:30:19 +0000 |
parents | 2d1b41e3cf0d |
children | 44ec6c7cbc76 |
comparison
equal
deleted
inserted
replaced
14104:b0566d50291f | 14105:eaf7f35635bc |
---|---|
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 |