From c4805bdcd23159cebebfc1aefb5627d16109dea4 Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Thu, 7 Dec 2006 22:53:28 +0000 Subject: [PATCH] 2006-12-07 Dan Williams Patch from Christian Persch * auth-dialog/gnome-two-password-dialog.c - HIG-ify (Gnome.org #383124) git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2176 4912f4e0-d625-0410-9fb7-b9a5a253dbdc --- vpn-daemons/vpnc/ChangeLog | 7 ++ .../auth-dialog/gnome-two-password-dialog.c | 107 +++++++++--------- 2 files changed, 60 insertions(+), 54 deletions(-) diff --git a/vpn-daemons/vpnc/ChangeLog b/vpn-daemons/vpnc/ChangeLog index 6c261fa53c..c6b28fe3b2 100644 --- a/vpn-daemons/vpnc/ChangeLog +++ b/vpn-daemons/vpnc/ChangeLog @@ -1,3 +1,10 @@ +2006-12-07 Dan Williams + + Patch from Christian Persch + + * auth-dialog/gnome-two-password-dialog.c + - HIG-ify (Gnome.org #383124) + 2006-12-07 Dan Williams Patch from Christian Persch diff --git a/vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c b/vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c index d7a4c3be34..f4b772d147 100644 --- a/vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c +++ b/vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c @@ -63,7 +63,8 @@ struct GnomeTwoPasswordDialogDetails GtkWidget *password_entry; GtkWidget *password_entry_secondary; GtkWidget *domain_entry; - + + GtkWidget *table_alignment; GtkWidget *table; GtkWidget *remember_session_button; @@ -82,10 +83,6 @@ struct GnomeTwoPasswordDialogDetails static const guint CAPTION_TABLE_USERNAME_ROW = 0; static const guint CAPTION_TABLE_PASSWORD_ROW = 1; -/* Layout constants */ -static const guint DIALOG_BORDER_WIDTH = 6; -static const guint CAPTION_TABLE_BORDER_WIDTH = 4; - /* GnomeTwoPasswordDialogClass methods */ static void gnome_two_password_dialog_class_init (GnomeTwoPasswordDialogClass *password_dialog_class); static void gnome_two_password_dialog_init (GnomeTwoPasswordDialog *password_dialog); @@ -213,26 +210,17 @@ userpass_radio_button_clicked (GtkWidget *widget, gpointer callback_data) } static void -add_row (GtkWidget *table, int row, const char *label_text, GtkWidget *entry, int offset) +add_row (GtkWidget *table, int row, const char *label_text, GtkWidget *entry) { GtkWidget *label; label = gtk_label_new_with_mnemonic (label_text); - gtk_misc_set_alignment (GTK_MISC (label), 1.0, 0.5); + gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); - gtk_table_attach (GTK_TABLE (table), label, - 0, 1, - row, row + 1, - GTK_FILL, - (GTK_FILL|GTK_EXPAND), - offset, 0); - - gtk_table_attach (GTK_TABLE (table), entry, - 1, 2, - row, row + 1, - (GTK_FILL|GTK_EXPAND), - (GTK_FILL|GTK_EXPAND), - 0, 0); + gtk_table_attach_defaults (GTK_TABLE (table), label, + 0, 1, row, row + 1); + gtk_table_attach_defaults (GTK_TABLE (table), entry, + 1, 2, row, row + 1); gtk_label_set_mnemonic_widget (GTK_LABEL (label), entry); } @@ -251,12 +239,15 @@ add_table_rows (GnomeTwoPasswordDialog *password_dialog) int offset; if (password_dialog->details->anon_support_on) { - offset = 20; + offset = 12; } else { offset = 0; } + gtk_alignment_set_padding (GTK_ALIGNMENT (password_dialog->details->table_alignment), + 0, 0, offset, 0); + table = password_dialog->details->table; /* This will not kill the entries, since they are ref:ed */ gtk_container_foreach (GTK_CONTAINER (table), @@ -264,14 +255,14 @@ add_table_rows (GnomeTwoPasswordDialog *password_dialog) row = 0; if (password_dialog->details->show_username) - add_row (table, row++, _("_Username:"), password_dialog->details->username_entry, offset); + add_row (table, row++, _("_Username:"), password_dialog->details->username_entry); if (password_dialog->details->show_domain) - add_row (table, row++, _("_Domain:"), password_dialog->details->domain_entry, offset); + add_row (table, row++, _("_Domain:"), password_dialog->details->domain_entry); if (password_dialog->details->show_password) - add_row (table, row++, _("_Password:"), password_dialog->details->password_entry, offset); + add_row (table, row++, _("_Password:"), password_dialog->details->password_entry); if (password_dialog->details->show_password_secondary) add_row (table, row++, password_dialog->details->secondary_password_label, - password_dialog->details->password_entry_secondary, offset); + password_dialog->details->password_entry_secondary); gtk_widget_show_all (table); } @@ -319,31 +310,37 @@ gnome_two_password_dialog_new (const char *dialog_title, gboolean readonly_username) { GnomeTwoPasswordDialog *password_dialog; + GtkDialog *dialog; GtkWidget *table; GtkLabel *message_label; GtkWidget *hbox; GtkWidget *vbox; + GtkWidget *main_vbox; GtkWidget *dialog_icon; GSList *group; password_dialog = GNOME_TWO_PASSWORD_DIALOG (gtk_widget_new (gnome_two_password_dialog_get_type (), NULL)); + dialog = GTK_DIALOG (password_dialog); gtk_window_set_title (GTK_WINDOW (password_dialog), dialog_title); - gtk_dialog_add_buttons (GTK_DIALOG (password_dialog), + gtk_window_set_resizable (GTK_WINDOW (dialog), FALSE); + + gtk_dialog_add_buttons (dialog, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL); + gtk_dialog_set_default_response (GTK_DIALOG (password_dialog), GTK_RESPONSE_OK); /* Setup the dialog */ - gtk_dialog_set_has_separator (GTK_DIALOG (password_dialog), FALSE); + gtk_dialog_set_has_separator (dialog, FALSE); + gtk_container_set_border_width (GTK_CONTAINER (dialog), 5); + gtk_box_set_spacing (GTK_BOX (dialog->vbox), 2); /* 2 * 5 + 2 = 12 */ + gtk_container_set_border_width (GTK_CONTAINER (dialog->action_area), 5); + gtk_box_set_spacing (GTK_BOX (dialog->action_area), 6); gtk_window_set_position (GTK_WINDOW (password_dialog), GTK_WIN_POS_CENTER); gtk_window_set_modal (GTK_WINDOW (password_dialog), TRUE); - gtk_container_set_border_width (GTK_CONTAINER (password_dialog), DIALOG_BORDER_WIDTH); - - gtk_dialog_set_default_response (GTK_DIALOG (password_dialog), GTK_RESPONSE_OK); - g_signal_connect (password_dialog, "show", G_CALLBACK (dialog_show_callback), password_dialog); g_signal_connect (password_dialog, "close", @@ -364,8 +361,7 @@ gnome_two_password_dialog_new (const char *dialog_title, gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (password_dialog->details->connect_with_no_userpass_button), TRUE); } - - password_dialog->details->radio_vbox = gtk_vbox_new (FALSE, 0); + password_dialog->details->radio_vbox = gtk_vbox_new (FALSE, 6); gtk_box_pack_start (GTK_BOX (password_dialog->details->radio_vbox), password_dialog->details->connect_with_no_userpass_button, FALSE, FALSE, 0); @@ -378,9 +374,12 @@ gnome_two_password_dialog_new (const char *dialog_title, G_CALLBACK (userpass_radio_button_clicked), password_dialog); /* The table that holds the captions */ + password_dialog->details->table_alignment = gtk_alignment_new (0.0, 0.0, 0.0, 0.0); + password_dialog->details->table = table = gtk_table_new (3, 2, FALSE); gtk_table_set_col_spacings (GTK_TABLE (table), 12); gtk_table_set_row_spacings (GTK_TABLE (table), 6); + gtk_container_add (GTK_CONTAINER (password_dialog->details->table_alignment), table); password_dialog->details->username_entry = gtk_entry_new (); password_dialog->details->domain_entry = gtk_entry_new (); @@ -388,6 +387,12 @@ gnome_two_password_dialog_new (const char *dialog_title, password_dialog->details->password_entry_secondary = gtk_entry_new (); /* We want to hold on to these during the table rearrangement */ +#if GLIB_CHECK_VERSION (2, 10, 0) + g_object_ref_sink (password_dialog->details->username_entry); + g_object_ref_sink (password_dialog->details->domain_entry); + g_object_ref_sink (password_dialog->details->password_entry); + g_object_ref_sink (password_dialog->details->password_entry_secondary); +#else g_object_ref (password_dialog->details->username_entry); gtk_object_sink (GTK_OBJECT (password_dialog->details->username_entry)); g_object_ref (password_dialog->details->domain_entry); @@ -396,6 +401,7 @@ gnome_two_password_dialog_new (const char *dialog_title, gtk_object_sink (GTK_OBJECT (password_dialog->details->password_entry)); g_object_ref (password_dialog->details->password_entry_secondary); gtk_object_sink (GTK_OBJECT (password_dialog->details->password_entry_secondary)); +#endif gtk_entry_set_visibility (GTK_ENTRY (password_dialog->details->password_entry), FALSE); gtk_entry_set_visibility (GTK_ENTRY (password_dialog->details->password_entry_secondary), FALSE); @@ -420,38 +426,32 @@ gnome_two_password_dialog_new (const char *dialog_title, /* Adds some eye-candy to the dialog */ hbox = gtk_hbox_new (FALSE, 12); + gtk_container_set_border_width (GTK_CONTAINER (hbox), 5); dialog_icon = gtk_image_new_from_stock (GTK_STOCK_DIALOG_AUTHENTICATION, GTK_ICON_SIZE_DIALOG); gtk_misc_set_alignment (GTK_MISC (dialog_icon), 0.5, 0.0); gtk_box_pack_start (GTK_BOX (hbox), dialog_icon, FALSE, FALSE, 0); - gtk_box_set_spacing (GTK_BOX (GTK_DIALOG (password_dialog)->vbox), 12); - gtk_container_set_border_width (GTK_CONTAINER(hbox), 6); - gtk_box_set_spacing (GTK_BOX (hbox), 12); - /* Fills the vbox */ - vbox = gtk_vbox_new (FALSE, 0); + main_vbox = gtk_vbox_new (FALSE, 18); if (message) { message_label = GTK_LABEL (gtk_label_new (message)); gtk_label_set_justify (message_label, GTK_JUSTIFY_LEFT); gtk_label_set_line_wrap (message_label, TRUE); - gtk_box_pack_start (GTK_BOX (vbox), - GTK_WIDGET (message_label), - TRUE, /* expand */ - TRUE, /* fill */ - 5); /* padding */ + gtk_box_pack_start (GTK_BOX (main_vbox), GTK_WIDGET (message_label), + FALSE, FALSE, 0); } + + vbox = gtk_vbox_new (FALSE, 6); + gtk_box_pack_start (GTK_BOX (main_vbox), vbox, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (vbox), password_dialog->details->radio_vbox, - TRUE, TRUE, 5); - gtk_box_pack_start (GTK_BOX (vbox), table, - TRUE, TRUE, 5); + FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (vbox), password_dialog->details->table_alignment, + FALSE, FALSE, 0); - /* Configure the table */ - gtk_container_set_border_width (GTK_CONTAINER (table), - CAPTION_TABLE_BORDER_WIDTH); - - gtk_box_pack_start (GTK_BOX (hbox), vbox, TRUE, TRUE, 5); + gtk_box_pack_start (GTK_BOX (hbox), main_vbox, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (password_dialog)->vbox), hbox, @@ -467,10 +467,9 @@ gnome_two_password_dialog_new (const char *dialog_title, gtk_check_button_new_with_mnemonic (_("_Save passwords in keyring")); gtk_box_pack_start (GTK_BOX (vbox), password_dialog->details->remember_session_button, - TRUE, TRUE, 6); + FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), password_dialog->details->remember_forever_button, - TRUE, TRUE, 0); - + FALSE, FALSE, 0); gnome_two_password_dialog_set_username (password_dialog, username); gnome_two_password_dialog_set_password (password_dialog, password);