Mercurial > pidgin
comparison src/prefs.c @ 4324:561316116cd8
[gaim-migrate @ 4579]
I'm sooo slow.
committer: Tailor Script <tailor@pidgin.im>
author | Sean Egan <seanegan@gmail.com> |
---|---|
date | Fri, 17 Jan 2003 08:25:58 +0000 |
parents | 8a932c488afc |
children | 7fd57453e6fc |
comparison
equal
deleted
inserted
replaced
4323:8a932c488afc | 4324:561316116cd8 |
---|---|
56 | 56 |
57 static GtkWidget *sounddialog = NULL; | 57 static GtkWidget *sounddialog = NULL; |
58 static GtkWidget *browser_entry = NULL; | 58 static GtkWidget *browser_entry = NULL; |
59 static GtkWidget *sound_entry = NULL; | 59 static GtkWidget *sound_entry = NULL; |
60 static GtkWidget *away_text = NULL; | 60 static GtkWidget *away_text = NULL; |
61 static GtkListStore *smiley_theme_store = NULL; | |
61 GtkCTreeNode *general_node = NULL; | 62 GtkCTreeNode *general_node = NULL; |
62 GtkCTreeNode *deny_node = NULL; | 63 GtkCTreeNode *deny_node = NULL; |
63 GtkWidget *prefs_proxy_frame = NULL; | 64 GtkWidget *prefs_proxy_frame = NULL; |
64 GtkWidget *gaim_button(const char *, guint *, int, GtkWidget *); | 65 GtkWidget *gaim_button(const char *, guint *, int, GtkWidget *); |
65 GtkWidget *gaim_labeled_spin_button(GtkWidget *, const gchar *, int*, int, int, GtkSizeGroup *); | 66 GtkWidget *gaim_labeled_spin_button(GtkWidget *, const gchar *, int*, int, int, GtkSizeGroup *); |
89 sound_entry = NULL; | 90 sound_entry = NULL; |
90 browser_entry = NULL; | 91 browser_entry = NULL; |
91 debugbutton = NULL; | 92 debugbutton = NULL; |
92 prefs_away_menu = NULL; | 93 prefs_away_menu = NULL; |
93 notebook_page = 0; | 94 notebook_page = 0; |
95 smiley_theme_store = NULL; | |
94 if(sounddialog) | 96 if(sounddialog) |
95 gtk_widget_destroy(sounddialog); | 97 gtk_widget_destroy(sounddialog); |
96 g_object_unref(G_OBJECT(prefs_away_store)); | 98 g_object_unref(G_OBJECT(prefs_away_store)); |
97 while(l) { | 99 while(l) { |
98 plug = l->data; | 100 plug = l->data; |
210 load_smiley_theme(filename, TRUE); | 212 load_smiley_theme(filename, TRUE); |
211 g_value_unset (&val); | 213 g_value_unset (&val); |
212 save_prefs(); | 214 save_prefs(); |
213 } | 215 } |
214 | 216 |
215 GtkWidget *theme_page() { | 217 GtkTreePath *theme_refresh_theme_list() |
216 GtkWidget *ret; | 218 { |
217 GtkWidget *sw; | 219 GdkPixbuf *pixbuf; |
218 GSList *themes; | 220 GSList *themes; |
219 GtkTreeIter iter; | 221 GtkTreeIter iter; |
220 GtkWidget *view; | 222 GtkTreePath *path; |
221 GtkCellRenderer *rend; | 223 int ind; |
222 GtkTreeViewColumn *col; | |
223 GtkTreeSelection *sel; | |
224 GtkTreePath *path = NULL; | |
225 GtkListStore *store; | |
226 GdkPixbuf *pixbuf; | |
227 int ind =0; | |
228 | 224 |
229 smiley_theme_probe(); | 225 smiley_theme_probe(); |
230 if (!smiley_themes) | 226 if (!smiley_themes) |
231 return; | 227 return; |
232 themes = smiley_themes; | 228 themes = smiley_themes; |
233 | |
234 ret = gtk_vbox_new(FALSE, 18); | |
235 gtk_container_set_border_width (GTK_CONTAINER (ret), 12); | |
236 | |
237 sw = gtk_scrolled_window_new(NULL,NULL); | |
238 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); | |
239 gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_IN); | |
240 | |
241 gtk_box_pack_start(GTK_BOX(ret), sw, TRUE, TRUE, 0); | |
242 store = gtk_list_store_new (3, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING); | |
243 while (themes) { | 229 while (themes) { |
244 struct smiley_theme *theme = themes->data; | 230 struct smiley_theme *theme = themes->data; |
245 char *description = g_strdup_printf("<span size='larger' weight='bold'>%s</span> - %s\n" | 231 char *description = g_strdup_printf("<span size='larger' weight='bold'>%s</span> - %s\n" |
246 "<span size='smaller' foreground='gray'>%s</span>", | 232 "<span size='smaller' foreground='gray'>%s</span>", |
247 theme->name, theme->author, theme->desc);; | 233 theme->name, theme->author, theme->desc);; |
248 gtk_list_store_append (store, &iter); | 234 gtk_list_store_append (smiley_theme_store, &iter); |
249 pixbuf = gdk_pixbuf_new_from_file(theme->icon, NULL); | 235 pixbuf = gdk_pixbuf_new_from_file(theme->icon, NULL); |
250 | 236 |
251 gtk_list_store_set(store, &iter, | 237 gtk_list_store_set(smiley_theme_store, &iter, |
252 0, pixbuf, | 238 0, pixbuf, |
253 1, description, | 239 1, description, |
254 2, theme->path, | 240 2, theme->path, |
255 -1); | 241 -1); |
256 g_free(description); | 242 g_free(description); |
261 path = gtk_tree_path_new_from_string(iwishihadgtk2_2); | 247 path = gtk_tree_path_new_from_string(iwishihadgtk2_2); |
262 g_free(iwishihadgtk2_2); | 248 g_free(iwishihadgtk2_2); |
263 } | 249 } |
264 ind++; | 250 ind++; |
265 } | 251 } |
252 return path; | |
253 } | |
254 GtkWidget *theme_page() { | |
255 GtkWidget *ret; | |
256 GtkWidget *sw; | |
257 GSList *themes; | |
258 GtkTreeIter iter; | |
259 GtkWidget *view; | |
260 GtkCellRenderer *rend; | |
261 GtkTreeViewColumn *col; | |
262 GtkTreeSelection *sel; | |
263 GtkTreePath *path = NULL; | |
264 GdkPixbuf *pixbuf; | |
265 int ind =0; | |
266 | |
267 ret = gtk_vbox_new(FALSE, 18); | |
268 gtk_container_set_border_width (GTK_CONTAINER (ret), 12); | |
269 | |
270 sw = gtk_scrolled_window_new(NULL,NULL); | |
271 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); | |
272 gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_IN); | |
273 | |
274 gtk_box_pack_start(GTK_BOX(ret), sw, TRUE, TRUE, 0); | |
275 smiley_theme_store = gtk_list_store_new (3, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING); | |
276 | |
277 path = theme_refresh_theme_list(); | |
266 | 278 |
267 view = gtk_tree_view_new_with_model (GTK_TREE_MODEL(store)); | 279 view = gtk_tree_view_new_with_model (GTK_TREE_MODEL(smiley_theme_store)); |
268 | 280 |
269 rend = gtk_cell_renderer_pixbuf_new(); | 281 rend = gtk_cell_renderer_pixbuf_new(); |
270 sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (view)); | 282 sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (view)); |
271 | 283 |
272 gtk_tree_selection_select_path(sel, path); | 284 gtk_tree_selection_select_path(sel, path); |
282 col = gtk_tree_view_column_new_with_attributes ("Description", | 294 col = gtk_tree_view_column_new_with_attributes ("Description", |
283 rend, | 295 rend, |
284 "markup", 1, | 296 "markup", 1, |
285 NULL); | 297 NULL); |
286 gtk_tree_view_append_column (GTK_TREE_VIEW(view), col); | 298 gtk_tree_view_append_column (GTK_TREE_VIEW(view), col); |
287 g_object_unref(G_OBJECT(store)); | 299 g_object_unref(G_OBJECT(smiley_theme_store)); |
288 gtk_container_add(GTK_CONTAINER(sw), view); | 300 gtk_container_add(GTK_CONTAINER(sw), view); |
289 | 301 |
290 g_signal_connect (G_OBJECT (sel), "changed", | 302 g_signal_connect (G_OBJECT (sel), "changed", |
291 G_CALLBACK (smiley_sel), | 303 G_CALLBACK (smiley_sel), |
292 NULL); | 304 NULL); |