src/prefs.c

changeset 1026
fa6230b217bc
parent 1006
fb2f2a403962
child 1030
b9fa9eadc0a4
--- a/src/prefs.c	Thu Oct 26 02:12:34 2000 +0000
+++ b/src/prefs.c	Thu Oct 26 07:22:32 2000 +0000
@@ -73,10 +73,33 @@
 	debugbutton = NULL;
 }
 
+static void set_idle(GtkWidget *w, int *data)
+{
+        report_idle = (int)data;
+	save_prefs();
+}
+
+static GtkWidget *idle_radio(char *label, int which, GtkWidget *box, GtkWidget *set)
+{
+	GtkWidget *opt;
+
+	if (!set)
+		opt = gtk_radio_button_new_with_label(NULL, label);
+	else
+		opt = gtk_radio_button_new_with_label(gtk_radio_button_group(GTK_RADIO_BUTTON(set)), label);
+	gtk_box_pack_start(GTK_BOX(box), opt, FALSE, FALSE, 0);
+	gtk_signal_connect(GTK_OBJECT(opt), "clicked", GTK_SIGNAL_FUNC(set_idle), (void *)which);
+	gtk_widget_show(opt);
+	if (report_idle == which)
+		gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(opt), TRUE);
+
+	return opt;
+}
+
 static void general_page()
 {
 	GtkWidget *parent;
-	GtkWidget *box;
+	GtkWidget *box, *box2;
 	GtkWidget *label;
 	GtkWidget *sep;
 	GtkWidget *idle;
@@ -117,8 +140,18 @@
 	gtk_box_pack_start(GTK_BOX(box), sep, FALSE, FALSE, 5);
 	gtk_widget_show(sep);
 
-	idle = gaim_button(_("Report Idle Times"), &report_idle, 1, box);
-	gtk_signal_connect(GTK_OBJECT(idle), "clicked", set_option, &report_idle);
+	box2 = gtk_hbox_new(FALSE, 5);
+	gtk_box_pack_start(GTK_BOX(box), box2, FALSE, FALSE, 5);
+	gtk_widget_show(box2);
+
+	label = gtk_label_new(_("Report Idle Times:"));
+	gtk_box_pack_start(GTK_BOX(box2), label, FALSE, FALSE, 5);
+	gtk_widget_show (label);
+	idle = idle_radio(_("None"), IDLE_NONE, box2, NULL);
+	idle = idle_radio(_("GAIM Use"), IDLE_GAIM, box2, idle);
+#ifdef USE_SCREENSAVER
+	idle = idle_radio(_("X Use"), IDLE_SCREENSAVER, box2, idle);
+#endif
 
 	gtk_widget_show(prefdialog);
 }

mercurial