Mercurial > pidgin.yaz
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"));