# HG changeset patch # User Mark Doliner # Date 1057385216 0 # Node ID d2d5d1984b0903f855c1f960ad1e31e8e134578b # Parent 3b6f48766acb8cf41be160d23bc5a5cf8dc4ea78 [gaim-migrate @ 6471] The "ok" button on the privacy dialog no longer gets grayed out when you sign off your last account. The privacy dialog now updates itself for new accounts when you sign online. You can no longer open multiple privacy dialogs. committer: Tailor Script diff -r 3b6f48766acb -r d2d5d1984b09 src/dialogs.c --- a/src/dialogs.c Sat Jul 05 03:09:43 2003 +0000 +++ b/src/dialogs.c Sat Jul 05 06:06:56 2003 +0000 @@ -1413,6 +1413,9 @@ /*------------------------------------------------------------------------* * Privacy Settings * *------------------------------------------------------------------------*/ +static GtkWidget *privacy_win; +static GtkWidget *privacy_sensbox; + static GtkWidget *deny_type = NULL; static GtkWidget *deny_conn_hbox = NULL; static GtkWidget *deny_opt_menu = NULL; @@ -1671,8 +1674,6 @@ gaim_blist_save(); } -static GtkWidget *privacy_win; - void update_privacy_connections() { /* This is a slightly better name */ gboolean needdeny = FALSE; GList *c = gaim_connections_get_all(); @@ -1692,22 +1693,24 @@ if (needdeny) { - gtk_widget_set_sensitive(privacy_win, TRUE); + gtk_widget_set_sensitive(privacy_sensbox, TRUE); build_deny_menu(); build_allow_list(); build_block_list(); } else { - gtk_widget_set_sensitive(privacy_win, FALSE); + gtk_widget_set_sensitive(privacy_sensbox, FALSE); } } static void destroy_privacy() { current_deny_gc = NULL; privacy_win = NULL; + privacy_sensbox = NULL; } void show_privacy_options() { GtkWidget *pwin; GtkWidget *box; + GtkWidget *box2; GtkWidget *hbox; GtkWidget *label; GtkWidget *sw; @@ -1721,6 +1724,12 @@ GtkTreeViewColumn *col; GtkWidget *table; + if (privacy_win != NULL) { + gtk_widget_show(privacy_win); + gdk_window_raise(privacy_win->window); + return; + } + current_deny_gc = gaim_connections_get_all()->data; /* this is safe because this screen will only be available when there are gaim_connections_get_all() */ current_is_deny = TRUE; @@ -1739,13 +1748,18 @@ gtk_container_add(GTK_CONTAINER(pwin), box); gtk_widget_show(box); + privacy_sensbox = box2 = gtk_vbox_new(FALSE, 5); + gtk_container_set_border_width(GTK_CONTAINER(box2), 5); + gtk_box_pack_start(GTK_BOX(box), box2, TRUE, TRUE, 0); + gtk_widget_show(box2); + label = gtk_label_new(_("Changes to privacy settings take effect immediately.")); - gtk_box_pack_start(GTK_BOX(box), label, FALSE, FALSE, 5); + gtk_box_pack_start(GTK_BOX(box2), label, FALSE, FALSE, 0); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); gtk_widget_show(label); deny_conn_hbox = gtk_hbox_new(FALSE, 5); - gtk_box_pack_start(GTK_BOX(box), deny_conn_hbox, FALSE, FALSE, 0); + gtk_box_pack_start(GTK_BOX(box2), deny_conn_hbox, FALSE, FALSE, 5); gtk_widget_show(deny_conn_hbox); label = gtk_label_new(_("Set privacy for:")); @@ -1760,7 +1774,7 @@ build_deny_menu(); table = gtk_table_new(5, 2, FALSE); - gtk_box_pack_start(GTK_BOX(box), table, TRUE, TRUE, 0); + gtk_box_pack_start(GTK_BOX(box2), table, TRUE, TRUE, 0); gtk_table_set_row_spacings(GTK_TABLE(table), 7); gtk_table_set_col_spacings(GTK_TABLE(table), 5); gtk_widget_show(table); @@ -1867,7 +1881,6 @@ gtk_widget_show(close_button); gtk_widget_show(pwin); - } diff -r 3b6f48766acb -r d2d5d1984b09 src/gtkconn.c --- a/src/gtkconn.c Sat Jul 05 03:09:43 2003 +0000 +++ b/src/gtkconn.c Sat Jul 05 06:06:56 2003 +0000 @@ -230,6 +230,7 @@ gaim_setup(gc); + update_privacy_connections(); do_away_menu(); gaim_gtk_blist_update_protocol_actions();