Mercurial > pidgin
diff src/prefs.c @ 2580:86eaeb064e82
[gaim-migrate @ 2593]
run-time
committer: Tailor Script <tailor@pidgin.im>
author | Eric Warmenhoven <eric@warmenhoven.org> |
---|---|
date | Tue, 23 Oct 2001 04:05:52 +0000 |
parents | 6d00c0f8bfc5 |
children | 3e9906e1e5f6 |
line wrap: on
line diff
--- a/src/prefs.c Tue Oct 23 03:19:28 2001 +0000 +++ b/src/prefs.c Tue Oct 23 04:05:52 2001 +0000 @@ -1483,6 +1483,14 @@ return TRUE; } +static void set_sound_driver(GtkWidget *w, int option) +{ + sound_options &= ~(OPT_SOUND_NORMAL | OPT_SOUND_BEEP | + OPT_SOUND_NAS | OPT_SOUND_ARTSC | OPT_SOUND_ESD); + sound_options |= option; + save_prefs(); +} + static void sound_page() { GtkWidget *parent; @@ -1493,6 +1501,10 @@ GtkWidget *hbox; GtkWidget *vbox2; GtkWidget *sep; + GtkWidget *omenu; + GtkWidget *menu; + GtkWidget *opt; + int i=1, driver=0; parent = prefdialog->parent; gtk_widget_destroy(prefdialog); @@ -1526,13 +1538,81 @@ gtk_widget_show(vbox2); gaim_button(_("No sounds when you log in"), &sound_options, OPT_SOUND_SILENT_SIGNON, vbox2); - gaim_button(_("Sounds while away"), &sound_options, OPT_SOUND_WHEN_AWAY, vbox2); vbox2 = gtk_vbox_new(FALSE, 5); gtk_box_pack_start(GTK_BOX(hbox), vbox2, TRUE, TRUE, 5); gtk_widget_show(vbox2); - gaim_button(_("Beep instead of playing sound"), &sound_options, OPT_SOUND_BEEP, vbox2); + gaim_button(_("Sounds while away"), &sound_options, OPT_SOUND_WHEN_AWAY, vbox2); + + sep = gtk_hseparator_new(); + gtk_box_pack_start(GTK_BOX(vbox), sep, FALSE, FALSE, 0); + gtk_widget_show(sep); + + hbox = gtk_hbox_new(TRUE, 5); + gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 5); + gtk_widget_show(hbox); + + label = gtk_label_new(_("Sound Player:")); + gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5); + gtk_widget_show(label); + + omenu = gtk_option_menu_new(); + menu = gtk_menu_new(); + +#ifdef ESD_SOUND + opt = gtk_menu_item_new_with_label("ESD"); + gtk_signal_connect(GTK_OBJECT(opt), "activate", + GTK_SIGNAL_FUNC(set_sound_driver), + (gpointer)OPT_SOUND_ESD); + gtk_widget_show(opt); + gtk_menu_append(GTK_MENU(menu), opt); + if ((sound_options & OPT_SOUND_ESD) && !driver) driver = i; + i++; +#endif +#ifdef ARTSC_SOUND + opt = gtk_menu_item_new_with_label("ArtsC"); + gtk_signal_connect(GTK_OBJECT(opt), "activate", + GTK_SIGNAL_FUNC(set_sound_driver), + (gpointer)OPT_SOUND_ARTSC); + gtk_widget_show(opt); + gtk_menu_append(GTK_MENU(menu), opt); + if ((sound_options & OPT_SOUND_ARTSC) && !driver) driver = i; + i++; +#endif +#ifdef NAS_SOUND + opt = gtk_menu_item_new_with_label("NAS"); + gtk_signal_connect(GTK_OBJECT(opt), "activate", + GTK_SIGNAL_FUNC(set_sound_driver), + (gpointer)OPT_SOUND_NAS); + gtk_widget_show(opt); + gtk_menu_append(GTK_MENU(menu), opt); + if ((sound_options & OPT_SOUND_NAS) && !driver) driver = i; + i++; +#endif + + opt = gtk_menu_item_new_with_label("Native"); + gtk_signal_connect(GTK_OBJECT(opt), "activate", + GTK_SIGNAL_FUNC(set_sound_driver), + (gpointer)OPT_SOUND_NORMAL); + gtk_widget_show(opt); + gtk_menu_append(GTK_MENU(menu), opt); + if ((sound_options & OPT_SOUND_NORMAL) && !driver) driver = i; + i++; + + opt = gtk_menu_item_new_with_label("Console Beep"); + gtk_signal_connect(GTK_OBJECT(opt), "activate", + GTK_SIGNAL_FUNC(set_sound_driver), + (gpointer)OPT_SOUND_BEEP); + gtk_widget_show(opt); + gtk_menu_append(GTK_MENU(menu), opt); + if ((sound_options & OPT_SOUND_BEEP) && !driver) driver = i; + i++; + + gtk_option_menu_set_menu(GTK_OPTION_MENU(omenu), menu); + gtk_option_menu_set_history(GTK_OPTION_MENU(omenu), driver - 1); + gtk_box_pack_start(GTK_BOX(hbox), omenu, FALSE, FALSE, 5); + gtk_widget_show_all(omenu); sep = gtk_hseparator_new(); gtk_box_pack_start(GTK_BOX(vbox), sep, FALSE, FALSE, 0);