# HG changeset patch # User Christian Hammond # Date 1055643594 0 # Node ID 8d6e5f804325fe5a6db40a6b4d45253bbdab7c68 # Parent 448f2f4ca3ec4e0a98f4e5e8cbde1ca22784e05d [gaim-migrate @ 6308] The Save button is now insensitive if the buddy entry is blank. Maybe it's because it doesn't have any friends. committer: Tailor Script diff -r 448f2f4ca3ec -r 8d6e5f804325 src/gtkpounce.c --- a/src/gtkpounce.c Sun Jun 15 02:03:23 2003 +0000 +++ b/src/gtkpounce.c Sun Jun 15 02:19:54 2003 +0000 @@ -74,6 +74,9 @@ GtkWidget *save_pounce; + /* Buttons */ + GtkWidget *save_button; + } GaimGtkPounceDialog; /************************************************************************** @@ -319,6 +322,16 @@ return opt_menu; } +static void +buddy_changed_cb(GtkEntry *entry, GaimGtkPounceDialog *dialog) +{ + if (dialog->save_button == NULL) + return; + + gtk_widget_set_sensitive(dialog->save_button, + *gtk_entry_get_text(entry) != '\0'); +} + void gaim_gtkpounce_dialog_show(struct buddy *buddy, GaimPounce *cur_pounce) @@ -411,6 +424,9 @@ gtk_box_pack_start(GTK_BOX(hbox), dialog->buddy_entry, TRUE, TRUE, 0); gtk_widget_show(dialog->buddy_entry); + g_signal_connect(G_OBJECT(dialog->buddy_entry), "changed", + G_CALLBACK(buddy_changed_cb), dialog); + if (cur_pounce != NULL) { gtk_entry_set_text(GTK_ENTRY(dialog->buddy_entry), gaim_pounce_get_pouncee(cur_pounce)); @@ -605,13 +621,16 @@ G_CALLBACK(cancel_cb), dialog); /* Save button */ - button = gtk_button_new_from_stock(GTK_STOCK_SAVE); + dialog->save_button = button = gtk_button_new_from_stock(GTK_STOCK_SAVE); gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0); gtk_widget_show(button); g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(save_pounce_cb), dialog); + if (*gtk_entry_get_text(GTK_ENTRY(dialog->buddy_entry)) == '\0') + gtk_widget_set_sensitive(button, FALSE); + /* Set the values of stuff. */ if (cur_pounce != NULL) { GaimPounceEvent events = gaim_pounce_get_events(cur_pounce);