diff src/prefs.c @ 4978:307c16c4b57e

[gaim-migrate @ 5313] (08:55:48) Robot101: patch to: (08:56:07) Robot101: * make online buddies appear black, not grey, when you have 'show offline buddies' turned on (08:56:21) Robot101: * random cleanup in buddy.c (tooltip/timer freeing) (08:56:43) Robot101: * stop the add buddy dialog resetting your choice of group when you choose an account (08:57:03) Robot101: * fix little memleak when loading the default window icon (08:57:16) Robot101: * make the main window use the default instead of loading the same icon itself (08:57:42) Robot101: * make the manual browser pref validate and save when the entry widget loses focus, not with a crappy button committer: Tailor Script <tailor@pidgin.im>
author Luke Schierer <lschiere@pidgin.im>
date Thu, 03 Apr 2003 14:05:43 +0000
parents 42bd8ab53234
children 06baf1e9094c
line wrap: on
line diff
--- a/src/prefs.c	Thu Apr 03 14:04:02 2003 +0000
+++ b/src/prefs.c	Thu Apr 03 14:05:43 2003 +0000
@@ -812,9 +812,9 @@
 }
 
 #ifndef _WIN32
-static void manual_browser_set(GtkButton *button, GtkEntry *entry) {
-
-	const char *program = gtk_entry_get_text(entry);
+static gboolean manual_browser_set(GtkWidget *entry, GdkEventFocus *event, gpointer data) {
+	const char *program = gtk_entry_get_text(GTK_ENTRY(entry));
+
 	if (!program_is_valid(program)) {
 		char *error = g_strdup_printf(_("The entered manual browser "
 						"'%s' is not valid. Hyperlinks will "
@@ -823,10 +823,9 @@
 	}
 
 	g_strlcpy(web_command, program, sizeof(web_command));
-}
-
-static void manual_browser_reset(GtkButton *button, GtkEntry *entry) {
-	gtk_entry_set_text(entry, web_command);
+
+	/* carry on normally */
+	return FALSE;
 }
 
 static GList *get_available_browsers() 
@@ -890,6 +889,7 @@
 	gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
 	gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
 	gtk_size_group_add_widget(sg, label);
+
 	browser_entry = gtk_entry_new();
 	gtk_label_set_mnemonic_widget(GTK_LABEL(label), browser_entry);
 	if (web_browser != BROWSER_MANUAL)
@@ -897,16 +897,7 @@
 	gtk_box_pack_start (GTK_BOX (hbox), browser_entry, FALSE, FALSE, 0);
 
 	gtk_entry_set_text(GTK_ENTRY(browser_entry), web_command);
-	g_signal_connect_swapped(GTK_OBJECT(browser_entry), "activate",
-				 G_CALLBACK(manual_browser_set), NULL);
-	label = gtk_button_new_with_label(_("Set"));
-	gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
-	g_signal_connect(GTK_OBJECT(label), "clicked", 
-			 G_CALLBACK(manual_browser_set), browser_entry);
-	label = gtk_button_new_with_label(_("Reset"));
-	gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
-	g_signal_connect(GTK_OBJECT(label), "clicked", 
-			 G_CALLBACK(manual_browser_reset), browser_entry);
+	g_signal_connect(G_OBJECT(browser_entry), "focus-out-event", G_CALLBACK(manual_browser_set), NULL);
 
 	if (browsers != NULL) {
 		vbox = make_frame (ret, _("Browser Options"));