comparison src/gtkprefs.c @ 10182:4085b2cda8f1

[gaim-migrate @ 11297] Remove some away message pref stuff from prefs.c. It's going to have to change eventually. This gets rid of the gdk assert warning or whatever it was when closing prefs. committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Sun, 14 Nov 2004 21:01:27 +0000
parents 5b33637b69fd
children 7ff9b8b22e7d
comparison
equal deleted inserted replaced
10181:5b33637b69fd 10182:4085b2cda8f1
52 #define PROXYHOST 0 52 #define PROXYHOST 0
53 #define PROXYPORT 1 53 #define PROXYPORT 1
54 #define PROXYUSER 2 54 #define PROXYUSER 2
55 #define PROXYPASS 3 55 #define PROXYPASS 3
56 56
57 /* XXX This needs to be made static after we solve the away.c mess. */
58 GtkListStore *prefs_away_store = NULL;
59 GtkWidget *prefs_away_menu = NULL;
60
61 static int sound_row_sel = 0; 57 static int sound_row_sel = 0;
62 static GtkWidget *prefsnotebook; 58 static GtkWidget *prefsnotebook;
63 59
64 static GtkWidget *sound_entry = NULL; 60 static GtkWidget *sound_entry = NULL;
65 static GtkListStore *smiley_theme_store = NULL; 61 static GtkListStore *smiley_theme_store = NULL;
76 static GtkTreeIter *prefs_notebook_add_page(const char*, GdkPixbuf*, 72 static GtkTreeIter *prefs_notebook_add_page(const char*, GdkPixbuf*,
77 GtkWidget*, GtkTreeIter*, 73 GtkWidget*, GtkTreeIter*,
78 GtkTreeIter*, int); 74 GtkTreeIter*, int);
79 static void delete_prefs(GtkWidget *, void *); 75 static void delete_prefs(GtkWidget *, void *);
80 static void update_plugin_list(void *data); 76 static void update_plugin_list(void *data);
81
82 /* XXX CORE/UI
83 static void set_default_away(GtkWidget *, gpointer);
84 */
85 77
86 static void 78 static void
87 update_spin_value(GtkWidget *w, GtkWidget *spin) 79 update_spin_value(GtkWidget *w, GtkWidget *spin)
88 { 80 {
89 const char *key = g_object_get_data(G_OBJECT(spin), "val"); 81 const char *key = g_object_get_data(G_OBJECT(spin), "val");
359 gaim_prefs_disconnect_by_handle(prefs); 351 gaim_prefs_disconnect_by_handle(prefs);
360 352
361 prefs = NULL; 353 prefs = NULL;
362 sound_entry = NULL; 354 sound_entry = NULL;
363 debugbutton = NULL; 355 debugbutton = NULL;
364 prefs_away_menu = NULL;
365 notebook_page = 0; 356 notebook_page = 0;
366 smiley_theme_store = NULL; 357 smiley_theme_store = NULL;
367 g_object_unref(G_OBJECT(prefs_away_store));
368 prefs_away_store = NULL;
369 358
370 for (l = gaim_plugins_get_loaded(); l != NULL; l = l->next) { 359 for (l = gaim_plugins_get_loaded(); l != NULL; l = l->next) {
371 plug = l->data; 360 plug = l->data;
372 361
373 if (GAIM_IS_GTK_PLUGIN(plug)) { 362 if (GAIM_IS_GTK_PLUGIN(plug)) {
396 prefs_info->iter = NULL; 385 prefs_info->iter = NULL;
397 } 386 }
398 } 387 }
399 } 388 }
400 } 389 }
401
402 390
403 /* These are the pages in the preferences notebook */ 391 /* These are the pages in the preferences notebook */
404 GtkWidget *interface_page() { 392 GtkWidget *interface_page() {
405 GtkWidget *ret; 393 GtkWidget *ret;
406 GtkWidget *vbox; 394 GtkWidget *vbox;
1729 #endif 1717 #endif
1730 1718
1731 return ret; 1719 return ret;
1732 } 1720 }
1733 1721
1722 /* XXX CORE/UI */
1723 #if 0
1724 static void
1725 set_default_away(GtkWidget *w, gpointer data)
1726 {
1727 struct away_message *default_away = NULL;
1728 int length = g_slist_length(away_messages);
1729 int i = GPOINTER_TO_INT(data);
1730
1731 if (away_messages == NULL)
1732 default_away = NULL;
1733 else if (i >= length)
1734 default_away = g_slist_nth_data(away_messages, length - 1);
1735 else
1736 default_away = g_slist_nth_data(away_messages, i);
1737
1738 if(default_away)
1739 gaim_prefs_set_string("/core/away/default_message", default_away->name);
1740 else
1741 gaim_prefs_set_string("/core/away/default_message", "");
1742 }
1743 #endif
1744
1734 GtkWidget *away_page() { 1745 GtkWidget *away_page() {
1735 GtkWidget *ret; 1746 GtkWidget *ret;
1736 GtkWidget *vbox; 1747 GtkWidget *vbox;
1737 GtkWidget *hbox; 1748 GtkWidget *hbox;
1738 GtkWidget *label; 1749 GtkWidget *label;
1792 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); 1803 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
1793 g_signal_connect(G_OBJECT(button), "clicked", 1804 g_signal_connect(G_OBJECT(button), "clicked",
1794 G_CALLBACK(gaim_gtk_toggle_sensitive), label); 1805 G_CALLBACK(gaim_gtk_toggle_sensitive), label);
1795 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); 1806 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
1796 1807
1797 prefs_away_menu = gtk_option_menu_new();
1798 gtk_label_set_mnemonic_widget(GTK_LABEL(label), prefs_away_menu);
1799 g_signal_connect(G_OBJECT(button), "clicked",
1800 G_CALLBACK(gaim_gtk_toggle_sensitive), prefs_away_menu);
1801 default_away_menu_init(prefs_away_menu);
1802 gtk_widget_show(prefs_away_menu);
1803 gtk_box_pack_start(GTK_BOX(hbox), prefs_away_menu, FALSE, FALSE, 0);
1804 gaim_set_accessible_label (prefs_away_menu, label);
1805
1806
1807 if (!gaim_prefs_get_bool("/core/away/away_when_idle")) { 1808 if (!gaim_prefs_get_bool("/core/away/away_when_idle")) {
1808 gtk_widget_set_sensitive(GTK_WIDGET(select), FALSE); 1809 gtk_widget_set_sensitive(GTK_WIDGET(select), FALSE);
1809 gtk_widget_set_sensitive(GTK_WIDGET(label), FALSE); 1810 gtk_widget_set_sensitive(GTK_WIDGET(label), FALSE);
1810 gtk_widget_set_sensitive(GTK_WIDGET(prefs_away_menu), FALSE);
1811 } 1811 }
1812 1812
1813 gtk_widget_show_all(ret); 1813 gtk_widget_show_all(ret);
1814 1814
1815 return ret; 1815 return ret;
2320 2320
2321 gtk_widget_show(button); 2321 gtk_widget_show(button);
2322 2322
2323 return button; 2323 return button;
2324 } 2324 }
2325
2326 void default_away_menu_init(GtkWidget *omenu)
2327 {
2328 GtkWidget *menu;
2329 /* XXX CORE/UI
2330 GtkWidget *opt;
2331 int index = 0, default_index = 0;
2332 GSList *awy = away_messages;
2333 struct away_message *a;
2334 */
2335 const char *default_name;
2336
2337 menu = gtk_menu_new();
2338
2339 default_name = gaim_prefs_get_string("/core/away/default_message");
2340
2341 /* XXX CORE/UI
2342 while (awy) {
2343 a = (struct away_message *)awy->data;
2344 opt = gtk_menu_item_new_with_label(a->name);
2345 g_signal_connect(G_OBJECT(opt), "activate",
2346 G_CALLBACK(set_default_away), GINT_TO_POINTER(index));
2347 gtk_widget_show(opt);
2348 gtk_menu_shell_append(GTK_MENU_SHELL(menu), opt);
2349
2350 if(!strcmp(default_name, a->name))
2351 default_index = index;
2352
2353 awy = awy->next;
2354 index++;
2355 }
2356 */
2357
2358 gtk_option_menu_remove_menu(GTK_OPTION_MENU(omenu));
2359 gtk_option_menu_set_menu(GTK_OPTION_MENU(omenu), menu);
2360
2361 /* XXX CORE/UI
2362 gtk_option_menu_set_history(GTK_OPTION_MENU(omenu), default_index);
2363 */
2364 }
2365
2366 /* XXX CORE/UI */
2367 #if 0
2368 void set_default_away(GtkWidget *w, gpointer data)
2369 {
2370 struct away_message *default_away = NULL;
2371 int length = g_slist_length(away_messages);
2372 int i = GPOINTER_TO_INT(data);
2373
2374 if (away_messages == NULL)
2375 default_away = NULL;
2376 else if (i >= length)
2377 default_away = g_slist_nth_data(away_messages, length - 1);
2378 else
2379 default_away = g_slist_nth_data(away_messages, i);
2380
2381 if(default_away)
2382 gaim_prefs_set_string("/core/away/default_message", default_away->name);
2383 else
2384 gaim_prefs_set_string("/core/away/default_message", "");
2385 }
2386 #endif
2387 2325
2388 static void 2326 static void
2389 smiley_theme_pref_cb(const char *name, GaimPrefType type, gpointer value, 2327 smiley_theme_pref_cb(const char *name, GaimPrefType type, gpointer value,
2390 gpointer data) 2328 gpointer data)
2391 { 2329 {