diff --git a/src/keysigndlg.c b/src/keysigndlg.c index 77920e7..d6197e9 100644 --- a/src/keysigndlg.c +++ b/src/keysigndlg.c @@ -1,160 +1,159 @@ /* keysigndlg.c - The GNU Privacy Assistant Copyright (C) 2000, 2001 G-N-U GmbH. Copyright (C) 2005, 2008 g10 Code GmbH. This file is part of GPA GPA is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. GPA is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GPA; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA */ #include <config.h> #include <gdk/gdkkeysyms.h> #include <gtk/gtk.h> #include <stdlib.h> #include <string.h> #include <stdio.h> #include <gpgme.h> #include "gpa.h" #include "gtktools.h" #include "gpawidgets.h" #include "keysigndlg.h" /* Run the key sign dialog for signing the public key key with the * default key as a modal dialog and return when the user ends the * dialog. If the user clicks OK, return TRUE and set sign_locally * according to the "sign locally" check box. * * If the user clicked Cancel, return FALSE and do not modify *sign_locally * * When in simplified_ui mode, don't show the "sign locally" check box * and if the user clicks OK, set *sign_locally to false. */ gboolean gpa_key_sign_run_dialog (GtkWidget * parent, gpgme_key_t key, gboolean * sign_locally) { GtkWidget *window; GtkWidget *vboxSign; GtkWidget *check = NULL; - GtkWidget *table; + GtkWidget *grid; GtkWidget *label; GtkWidget *uid_box; GtkResponseType response; gchar *string; gpgme_user_id_t uid; window = gtk_dialog_new_with_buttons (_("Sign Key"), GTK_WINDOW(parent), GTK_DIALOG_MODAL, _("_Yes"), GTK_RESPONSE_YES, _("_No"), GTK_RESPONSE_NO, NULL); gtk_dialog_set_default_response (GTK_DIALOG (window), GTK_RESPONSE_YES); gtk_container_set_border_width (GTK_CONTAINER (window), 5); // vboxSign = GTK_DIALOG (window)->vbox; - vboxSign = gtk_dialog_get_content_area(window); + vboxSign = GTK_WIDGET (gtk_dialog_get_content_area(window)); gtk_container_set_border_width (GTK_CONTAINER (vboxSign), 5); label = gtk_label_new (_("Do you want to sign the following key?")); gtk_box_pack_start (GTK_BOX (vboxSign), label, FALSE, TRUE, 5); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); - table = gtk_table_new (2, 2, FALSE); - gtk_box_pack_start (GTK_BOX (vboxSign), table, FALSE, TRUE, 10); - gtk_table_set_row_spacing (GTK_TABLE (table), 0, 2); - gtk_table_set_col_spacing (GTK_TABLE (table), 0, 4); + grid = gtk_grid_new (); + gtk_box_pack_start (GTK_BOX (vboxSign), grid, FALSE, TRUE, 10); + gtk_grid_set_column_spacing (GTK_GRID (grid), 4); + gtk_grid_set_row_spacing (GTK_GRID (grid), 2); /* Build this first, so that we can know how may user ID's there are */ - uid_box = gtk_vbox_new (TRUE, 0); + uid_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); uid = key->uids; while (uid) { if (!uid->revoked) { /* One user ID on each line. */ string = gpa_gpgme_key_get_userid (uid); label = gtk_label_new (string); gpa_add_tooltip (label, string); g_free (string); gtk_label_set_max_width_chars (GTK_LABEL (label), GPA_MAX_UID_WIDTH); gtk_label_set_ellipsize (GTK_LABEL (label), PANGO_ELLIPSIZE_END); gtk_box_pack_start (GTK_BOX(uid_box), label, TRUE, TRUE, 0); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); } uid = uid->next; } label = gtk_label_new (key->uids->next == NULL ? _("User Name:") : _("User Names:")); - gtk_table_attach (GTK_TABLE (table), label, 0, 1, 0, 1, - GTK_FILL, GTK_FILL, 0, 0); + gtk_grid_attach (GTK_GRID (grid), label, 0, 0, 1, 1); gtk_misc_set_alignment (GTK_MISC (label), 1.0, 0.0); - gtk_table_attach (GTK_TABLE (table), uid_box, 1, 2, 0, 1, GTK_FILL, 0, 0, 0); + gtk_grid_attach (GTK_GRID (grid), uid_box, 1, 0, 1, 1); label = gtk_label_new (_("Fingerprint:")); - gtk_table_attach (GTK_TABLE (table), label, 0, 1, 1, 2, GTK_FILL, 0, 0, 0); + gtk_grid_attach (GTK_GRID (grid), label, 0, 1, 1, 1); gtk_misc_set_alignment (GTK_MISC (label), 1.0, 0.5); string = gpa_gpgme_key_format_fingerprint (key->subkeys->fpr); label = gtk_label_new (string); g_free (string); - gtk_table_attach (GTK_TABLE (table), label, 1, 2, 1, 2, GTK_FILL, 0, 0, 0); + gtk_grid_attach (GTK_GRID (grid), label, 1, 1, 1, 1); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); label = gtk_label_new (_("Check the name and fingerprint carefully to" " be sure that it really is the key you want to sign.")); gtk_box_pack_start (GTK_BOX (vboxSign), label, FALSE, TRUE, 10); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 1.0); gtk_label_set_line_wrap (GTK_LABEL (label), TRUE); if (key->uids->next) { label = gtk_label_new (_("All user names in this key will be signed.")); gtk_box_pack_start (GTK_BOX (vboxSign), label, FALSE, TRUE, 10); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 1.0); gtk_label_set_line_wrap (GTK_LABEL (label), TRUE); } label = gtk_label_new (_("The key will be signed with your default" " private key.")); gtk_box_pack_start (GTK_BOX (vboxSign), label, FALSE, TRUE, 5); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); if (! gpa_options_get_simplified_ui (gpa_options_get_instance ())) { check = gtk_check_button_new_with_mnemonic (_("Sign only _locally")); gtk_box_pack_start (GTK_BOX (vboxSign), check, FALSE, FALSE, 0); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check), *sign_locally); } gtk_widget_show_all (window); response = gtk_dialog_run (GTK_DIALOG (window)); if (response == GTK_RESPONSE_YES) { *sign_locally = check && gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (check)); gtk_widget_destroy (window); return TRUE; } else { gtk_widget_destroy (window); return FALSE; } }