diff src/gtkprefs.c @ 5684:b61520e71679

[gaim-migrate @ 6104] sound is now really core/ui split. committer: Tailor Script <tailor@pidgin.im>
author Nathan Walp <nwalp@pidgin.im>
date Tue, 03 Jun 2003 03:33:20 +0000
parents 46d7ad0dfa26
children 52f301dbfeaa
line wrap: on
line diff
--- a/src/gtkprefs.c	Tue Jun 03 02:30:30 2003 +0000
+++ b/src/gtkprefs.c	Tue Jun 03 03:33:20 2003 +0000
@@ -47,6 +47,7 @@
 #include "prefs.h"
 #include "proxy.h"
 #include "sound.h"
+#include "gtksound.h"
 #include "notify.h"
 
 #ifdef _WIN32
@@ -1386,7 +1387,8 @@
 #ifndef _WIN32
 static gint sound_cmd_yeah(GtkEntry *entry, gpointer d)
 {
-	gaim_sound_set_command(gtk_entry_get_text(GTK_ENTRY(sndcmd)));
+	gaim_prefs_set_string("/gaim/gtk/sound/command",
+			gtk_entry_get_text(GTK_ENTRY(sndcmd)));
 	return TRUE;
 }
 #endif
@@ -1399,7 +1401,7 @@
 	GtkWidget *dd;
 	GtkWidget *hbox;
 	GtkWidget *label;
-	char *cmd;
+	const char *cmd;
 #endif
 
 	ret = gtk_vbox_new(FALSE, 18);
@@ -1411,12 +1413,12 @@
 	prefs_checkbox(_("_No sounds when you log in"),
 				   "/gaim/gtk/sound/silent_signon", vbox);
 	prefs_checkbox(_("_Sounds while away"),
-				   "/gaim/gtk/sound/while_away", vbox);
+				   "/core/sound/while_away", vbox);
 
 #ifndef _WIN32
 	vbox = gaim_gtk_make_frame (ret, _("Sound Method"));
 	dd = prefs_dropdown(vbox, _("_Method"), GAIM_PREF_STRING,
-						"/gaim/gtk/sound/sound_method",
+						"/gaim/gtk/sound/method",
 						_("Console beep"), "beep",
 #ifdef USE_AO
 						_("Automatic"), "automatic",
@@ -1426,7 +1428,7 @@
 #ifdef USE_NAS_AUDIO
 						"NAS", "nas",
 #endif
-						_("Command"), "custom_command",
+						_("Command"), "custom",
 						NULL);
 	gtk_size_group_add_widget(sg, dd);
 	gtk_misc_set_alignment(GTK_MISC(dd), 0, 0);
@@ -1445,13 +1447,13 @@
 	gtk_label_set_mnemonic_widget(GTK_LABEL(label), sndcmd);
 
 	gtk_editable_set_editable(GTK_EDITABLE(sndcmd), TRUE);
-	cmd = gaim_sound_get_command();
+	cmd = gaim_prefs_get_string("/gaim/gtk/sound/command");
 	if(cmd)
 		gtk_entry_set_text(GTK_ENTRY(sndcmd), cmd);
 	gtk_widget_set_size_request(sndcmd, 75, -1);
 
-	gtk_widget_set_sensitive(sndcmd, 
-			!strcmp(gaim_prefs_get_string("/gaim/gtk/sound/sound_method"),
+	gtk_widget_set_sensitive(sndcmd,
+			!strcmp(gaim_prefs_get_string("/gaim/gtk/sound/method"),
 					"command"));
 
 	gtk_box_pack_start(GTK_BOX(hbox), sndcmd, TRUE, TRUE, 5);
@@ -1854,7 +1856,7 @@
 						2, &pref,
 						-1);
 
-	gaim_prefs_set_bool(pref, gtk_cell_renderer_toggle_get_active(cell));
+	gaim_prefs_set_bool(pref, !gtk_cell_renderer_toggle_get_active(cell));
 
 	gtk_list_store_set(GTK_LIST_STORE (model), &iter,
 					   0, !gtk_cell_renderer_toggle_get_active(cell),
@@ -1866,10 +1868,11 @@
 static void
 test_sound(GtkWidget *button, gpointer i_am_NULL)
 {
-	const char *pref;
+	char *pref;
 	gboolean temp_value1, temp_value2;
 
-	pref = gaim_sound_get_event_option(sound_row_sel);
+	pref = g_strdup_printf("/gaim/gtk/sound/enabled/%s",
+			gaim_gtk_sound_get_event_option(sound_row_sel));
 
 	temp_value1 = gaim_prefs_get_bool("/gaim/gtk/sound/while_away");
 	temp_value2 = gaim_prefs_get_bool(pref);
@@ -1881,13 +1884,19 @@
 
 	if (!temp_value1) gaim_prefs_set_bool("/gaim/gtk/sound/while_away", FALSE);
 	if (!temp_value2) gaim_prefs_set_bool(pref, FALSE);
+
+	g_free(pref);
 }
 
 static void
 reset_sound(GtkWidget *button, gpointer i_am_also_NULL)
 {
+	char *pref = g_strdup_printf("/gaim/gtk/sound/file/%s",
+			gaim_gtk_sound_get_event_option(sound_row_sel));
+
 	/* This just resets a sound file back to default */
-	gaim_sound_set_event_file(sound_row_sel, NULL);
+	gaim_prefs_set_string(pref, "");
+	g_free(pref);
 
 	gtk_entry_set_text(GTK_ENTRY(sound_entry), "(default)");
 }
@@ -1910,6 +1919,7 @@
 void do_select_sound(GtkWidget *w, int snd)
 {
 	const char *file;
+	char *pref;
 
 	file = gtk_file_selection_get_filename(GTK_FILE_SELECTION(sounddialog));
 
@@ -1918,7 +1928,10 @@
 		return;
 
 	/* Set it -- and forget it */
-	gaim_sound_set_event_file(snd, file);
+	pref = g_strdup_printf("/gaim/gtk/sound/file/%s",
+			gaim_gtk_sound_get_event_option(snd));
+	gaim_prefs_set_string(pref, file);
+	g_free(pref);
 
 	/* Set our text entry */
 	gtk_entry_set_text(GTK_ENTRY(sound_entry), file);
@@ -1965,13 +1978,18 @@
 static void prefs_sound_sel (GtkTreeSelection *sel, GtkTreeModel *model) {
 	GtkTreeIter  iter;
 	GValue val = { 0, };
-	char *file;
+	const char *file;
+	char *pref;
 
 	if (! gtk_tree_selection_get_selected (sel, &model, &iter))
 		return;
 	gtk_tree_model_get_value (model, &iter, 3, &val);
 	sound_row_sel = g_value_get_uint(&val);
-	file = gaim_sound_get_event_file(sound_row_sel);
+
+	pref = g_strdup_printf("/gaim/gtk/sound/file/%s",
+			gaim_gtk_sound_get_event_option(sound_row_sel));
+	file = gaim_prefs_get_string(pref);
+	g_free(pref);
 	if (sound_entry)
 		gtk_entry_set_text(GTK_ENTRY(sound_entry), file ? file : "(default)");
 	g_value_unset (&val);
@@ -1992,7 +2010,8 @@
 	GtkTreeSelection *sel;
 	GtkTreePath *path;
 	int j;
-	char *file;
+	const char *file;
+	char *pref;
 
 	ret = gtk_vbox_new(FALSE, 18);
 	gtk_container_set_border_width (GTK_CONTAINER (ret), 12);
@@ -2005,18 +2024,21 @@
 	event_store = gtk_list_store_new (4, G_TYPE_BOOLEAN, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_UINT);
 
 	for (j=0; j < GAIM_NUM_SOUNDS; j++) {
-		const char *pref = gaim_sound_get_event_option(j);
-
-		if (pref == NULL)
+		char *pref = g_strdup_printf("/gaim/gtk/sound/enabled/%s",
+				gaim_gtk_sound_get_event_option(j));
+		const char *label = gaim_gtk_sound_get_event_label(j);
+
+		if (label == NULL)
 			continue;
 
 		gtk_list_store_append (event_store, &iter);
 		gtk_list_store_set(event_store, &iter,
 				   0, gaim_prefs_get_bool(pref),
-				   1, _(gaim_sound_get_event_label(j)),
+				   1, _(label),
 				   2, pref,
 				   3, j,
 				   -1);
+		g_free(pref);
 	}
 
 	event_view = gtk_tree_view_new_with_model (GTK_TREE_MODEL(event_store));
@@ -2050,7 +2072,10 @@
 	hbox = gtk_hbox_new(FALSE, 6);
 	gtk_box_pack_start(GTK_BOX(ret), hbox, FALSE, FALSE, 0);
 	sound_entry = gtk_entry_new();
-	file = gaim_sound_get_event_file(0);
+	pref = g_strdup_printf("/gaim/gtk/sound/file/%s",
+			gaim_gtk_sound_get_event_option(0));
+	file = gaim_prefs_get_string(pref);
+	g_free(pref);
 	gtk_entry_set_text(GTK_ENTRY(sound_entry), file ? file : "(default)");
 	gtk_editable_set_editable(GTK_EDITABLE(sound_entry), FALSE);
 	gtk_box_pack_start(GTK_BOX(hbox), sound_entry, FALSE, FALSE, 5);
@@ -2766,20 +2791,6 @@
 	gaim_prefs_add_int("/gaim/gtk/blist/width", 0);
 	gaim_prefs_add_int("/gaim/gtk/blist/height", 0);
 
-	/* Debug window preferences. */
-	/*
-	 * NOTE: This must be set before prefs are loaded, and the callbacks
-	 *       set after they are loaded, since prefs sets the enabled
-	 *       preference here and that loads the window, which calls the
-	 *       configure event, which overrrides the width and height! :P
-	 */
-	gaim_prefs_add_none("/gaim/gtk/debug");
-	gaim_prefs_add_bool("/gaim/gtk/debug/enabled", FALSE);
-	gaim_prefs_add_bool("/gaim/gtk/debug/timestamps", FALSE);
-	gaim_prefs_add_bool("/gaim/gtk/debug/toolbar", TRUE);
-	gaim_prefs_add_int("/gaim/gtk/debug/width",  450);
-	gaim_prefs_add_int("/gaim/gtk/debug/height", 250);
-
 	/* Idle */
 	gaim_prefs_add_none("/gaim/gtk/idle");
 	gaim_prefs_add_string("/gaim/gtk/idle/reporting_method", "system");
@@ -2799,21 +2810,5 @@
 	gaim_prefs_add_none("/gaim/gtk/smileys");
 	gaim_prefs_add_string("/gaim/gtk/smileys/theme", "");
 
-	/* Sound */
-	gaim_prefs_add_none("/gaim/gtk/sound");
-	gaim_prefs_add_bool("/gaim/gtk/sound/login", TRUE);
-	gaim_prefs_add_bool("/gaim/gtk/sound/logout", TRUE);
-	gaim_prefs_add_bool("/gaim/gtk/sound/im_recv", TRUE);
-	gaim_prefs_add_bool("/gaim/gtk/sound/first_im_recv", FALSE);
-	gaim_prefs_add_bool("/gaim/gtk/sound/send_im", TRUE);
-	gaim_prefs_add_bool("/gaim/gtk/sound/join_chat", FALSE);
-	gaim_prefs_add_bool("/gaim/gtk/sound/left_chat", FALSE);
-	gaim_prefs_add_bool("/gaim/gtk/sound/send_chat_msg", FALSE);
-	gaim_prefs_add_bool("/gaim/gtk/sound/chat_msg_recv", FALSE);
-	gaim_prefs_add_bool("/gaim/gtk/sound/nick_said", FALSE);
-	gaim_prefs_add_bool("/gaim/gtk/sound/silent_signon", TRUE);
-	gaim_prefs_add_bool("/gaim/gtk/sound/while_away", TRUE);
-	gaim_prefs_add_string("/gaim/gtk/sound/command", "");
-	gaim_prefs_add_string("/gaim/gtk/sound/sound_method", "automatic");
 }