[seahorse/wip/nielsdg/add-uid-gtktemplate] pgp: Convert the Add UID dialog to GtkTemplate



commit a52f80b868421a767cd48e1981903063f7c8314f
Author: Niels De Graef <nielsdegraef gmail com>
Date:   Fri Feb 15 01:57:48 2019 +0100

    pgp: Convert the Add UID dialog to GtkTemplate

 data/seahorse.gresource.xml       |   2 +-
 pgp/seahorse-add-uid.ui           | 187 --------------------------
 pgp/seahorse-gpgme-add-uid.c      | 269 +++++++++++++++++++++++++++-----------
 pgp/seahorse-gpgme-add-uid.h      |  34 +++++
 pgp/seahorse-gpgme-add-uid.ui     | 142 ++++++++++++++++++++
 pgp/seahorse-gpgme-dialogs.h      |   3 -
 pgp/seahorse-pgp-key-properties.c |  23 +++-
 po/POTFILES.in                    |   2 +-
 8 files changed, 390 insertions(+), 272 deletions(-)
---
diff --git a/data/seahorse.gresource.xml b/data/seahorse.gresource.xml
index 9b529408..b35007c0 100644
--- a/data/seahorse.gresource.xml
+++ b/data/seahorse.gresource.xml
@@ -27,8 +27,8 @@
 
     <!-- PGP -->
     <file alias="seahorse-add-subkey.ui" preprocess="xml-stripblanks">../pgp/seahorse-add-subkey.ui</file>
-    <file alias="seahorse-add-uid.ui" preprocess="xml-stripblanks">../pgp/seahorse-add-uid.ui</file>
     <file alias="seahorse-expires.ui" preprocess="xml-stripblanks">../pgp/seahorse-expires.ui</file>
+    <file alias="seahorse-gpgme-add-uid.ui" 
preprocess="xml-stripblanks">../pgp/seahorse-gpgme-add-uid.ui</file>
     <file alias="seahorse-keyserver-results.ui" 
preprocess="xml-stripblanks">../pgp/seahorse-keyserver-results.ui</file>
     <file alias="seahorse-keyserver-search.ui" 
preprocess="xml-stripblanks">../pgp/seahorse-keyserver-search.ui</file>
     <file alias="seahorse-keyserver-sync.ui" 
preprocess="xml-stripblanks">../pgp/seahorse-keyserver-sync.ui</file>
diff --git a/pgp/seahorse-gpgme-add-uid.c b/pgp/seahorse-gpgme-add-uid.c
index 3a2abcbc..95210554 100644
--- a/pgp/seahorse-gpgme-add-uid.c
+++ b/pgp/seahorse-gpgme-add-uid.c
@@ -17,122 +17,235 @@
  * <http://www.gnu.org/licenses/>.
  */
 
-#include "config.h" 
+#include "config.h"
 
-#include "seahorse-gpgme-key-op.h"
-
-#include "seahorse-gpgme-dialogs.h"
+#include "seahorse-gpgme-add-uid.h"
 
-#include "libseahorse/seahorse-object-widget.h"
+#include "seahorse-gpgme-key-op.h"
 #include "libseahorse/seahorse-util.h"
 
 #include <glib/gi18n.h>
 
-#include <string.h>
+/**
+ * SECTION:seahorse-gpgme-add-uid
+ * @short_description: A dialog that allows a user to add a new UID to a key
+ **/
 
-#define NAME "name"
-#define EMAIL "email"
+struct _SeahorseGpgmeAddUid {
+    GtkDialog parent_instance;
 
-void            on_gpgme_add_uid_name_changed          (GtkEditable *editable,
-                                                        gpointer user_data);
+    SeahorseGpgmeKey *key;
 
-void            on_gpgme_add_uid_email_changed         (GtkEditable *editable,
-                                                        gpointer user_data);
+    GtkWidget *name_entry;
+    GtkWidget *email_entry;
+    GtkWidget *comment_entry;
+};
 
-void            on_gpgme_add_uid_ok_clicked            (GtkButton *button,
-                                                        gpointer user_data);
+enum {
+    PROP_0,
+    PROP_KEY,
+};
 
-static void
-check_ok (SeahorseWidget *swidget)
+G_DEFINE_TYPE (SeahorseGpgmeAddUid, seahorse_gpgme_add_uid, GTK_TYPE_DIALOG)
+
+static gboolean
+check_name_input (SeahorseGpgmeAddUid *self)
+{
+    const gchar *name;
+
+    name = gtk_entry_get_text (GTK_ENTRY (self->name_entry));
+    return strlen (name) >= 5;
+}
+
+static gboolean
+check_email_input (SeahorseGpgmeAddUid *self)
 {
-       const gchar *name, *email;
-       
-       /* must be at least 5 characters */
-       name = gtk_entry_get_text (GTK_ENTRY (
-               seahorse_widget_get_widget (swidget, NAME)));
-       /* must be empty or be *@* */
-       email = gtk_entry_get_text (GTK_ENTRY (
-               seahorse_widget_get_widget (swidget, EMAIL)));
-       
-       gtk_widget_set_sensitive (GTK_WIDGET (seahorse_widget_get_widget (swidget, "ok")),
-               strlen (name) >= 5 && (strlen (email) == 0  ||
-               (g_pattern_match_simple ("?*@?*", email))));
+    const gchar *email;
+
+    email = gtk_entry_get_text (GTK_ENTRY (self->email_entry));
+    return strlen (email) == 0 || g_pattern_match_simple ("?*@?*", email);
 }
 
-G_MODULE_EXPORT void
-on_gpgme_add_uid_name_changed (GtkEditable *editable,
-                               gpointer user_data)
+static void
+check_ok (SeahorseGpgmeAddUid *self)
 {
-       SeahorseWidget *swidget = SEAHORSE_WIDGET (user_data);
-       check_ok (swidget);
+    gtk_dialog_set_response_sensitive (GTK_DIALOG (self),
+                                       GTK_RESPONSE_OK,
+                                       check_name_input (self)
+                                       && check_email_input (self));
 }
 
-G_MODULE_EXPORT void
-on_gpgme_add_uid_email_changed (GtkEditable *editable,
-                                gpointer user_data)
+static void
+on_name_entry_changed (GtkEditable *editable, gpointer user_data)
 {
-       SeahorseWidget *swidget = SEAHORSE_WIDGET (user_data);
-       check_ok (swidget);
+    SeahorseGpgmeAddUid *self = SEAHORSE_GPGME_ADD_UID (user_data);
+    check_ok (self);
 }
 
 static void
-on_gpgme_key_op_uid_added (GObject *source, GAsyncResult *result, gpointer user_data)
+on_email_entry_changed (GtkEditable *editable, gpointer user_data)
 {
-    SeahorseGpgmeKey *pkey = SEAHORSE_GPGME_KEY (source);
-    SeahorseWidget *swidget = SEAHORSE_WIDGET (user_data);
-    g_autoptr(GError) error = NULL;
+    SeahorseGpgmeAddUid *self = SEAHORSE_GPGME_ADD_UID (user_data);
+    check_ok (self);
+}
 
-    if (seahorse_gpgme_key_op_add_uid_finish (pkey, result, &error)) {
-        seahorse_gpgme_key_refresh (pkey);
-    } else {
-        GtkWidget *window;
+static void
+seahorse_gpgme_add_uid_get_property (GObject *object,
+                                     guint prop_id,
+                                     GValue *value,
+                                     GParamSpec *pspec)
+{
+    SeahorseGpgmeAddUid *self = SEAHORSE_GPGME_ADD_UID (object);
+
+    switch (prop_id) {
+    case PROP_KEY:
+        g_value_set_object (value, self->key);
+        break;
+    default:
+        G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+        break;
+    }
+}
 
-        window = GTK_WIDGET (seahorse_widget_get_toplevel (swidget));
-        seahorse_util_show_error (window, _("Couldn’t add user ID"), error->message);
+static void
+seahorse_gpgme_add_uid_set_property (GObject *object,
+                                     guint prop_id,
+                                     const GValue *value,
+                                     GParamSpec *pspec)
+{
+    SeahorseGpgmeAddUid *self = SEAHORSE_GPGME_ADD_UID (object);
+
+    switch (prop_id) {
+    case PROP_KEY:
+        g_clear_object (&self->key);
+        self->key = g_value_dup_object (value);
+        break;
+    default:
+        G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+        break;
     }
+}
+
+static void
+seahorse_gpgme_add_uid_finalize (GObject *obj)
+{
+    SeahorseGpgmeAddUid *self = SEAHORSE_GPGME_ADD_UID (obj);
 
-    g_object_unref (swidget);
+    g_clear_object (&self->key);
+
+    G_OBJECT_CLASS (seahorse_gpgme_add_uid_parent_class)->finalize (obj);
 }
 
-G_MODULE_EXPORT void
-on_gpgme_add_uid_ok_clicked (GtkButton *button,
-                             gpointer user_data)
+static void
+seahorse_gpgme_add_uid_constructed (GObject *obj)
 {
-    SeahorseWidget *swidget = SEAHORSE_WIDGET (user_data);
-    GObject *object;
-    const gchar *name, *email, *comment;
+    SeahorseGpgmeAddUid *self = SEAHORSE_GPGME_ADD_UID (obj);
+    const gchar *user;
 
-    object = SEAHORSE_OBJECT_WIDGET (swidget)->object;
+    G_OBJECT_CLASS (seahorse_gpgme_add_uid_parent_class)->constructed (obj);
 
-    name = gtk_entry_get_text (GTK_ENTRY (
-        seahorse_widget_get_widget (swidget, NAME)));
-    email = gtk_entry_get_text (GTK_ENTRY (
-        seahorse_widget_get_widget (swidget, EMAIL)));
-    comment = gtk_entry_get_text (GTK_ENTRY (
-        seahorse_widget_get_widget (swidget, "comment")));
+    user = seahorse_object_get_label (SEAHORSE_OBJECT (self->key));
+    gtk_window_set_title (GTK_WINDOW (self),
+                          g_strdup_printf (_("Add user ID to %s"), user));
+}
 
-    seahorse_gpgme_key_op_add_uid_async (SEAHORSE_GPGME_KEY (object),
-                                         name, email, comment,
-                                         NULL,
-                                         on_gpgme_key_op_uid_added, swidget);
+static void
+seahorse_gpgme_add_uid_init (SeahorseGpgmeAddUid *self)
+{
+    gtk_widget_init_template (GTK_WIDGET (self));
+}
+
+static void
+seahorse_gpgme_add_uid_class_init (SeahorseGpgmeAddUidClass *klass)
+{
+    GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+    GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
+
+    gobject_class->constructed = seahorse_gpgme_add_uid_constructed;
+    gobject_class->get_property = seahorse_gpgme_add_uid_get_property;
+    gobject_class->set_property = seahorse_gpgme_add_uid_set_property;
+    gobject_class->finalize = seahorse_gpgme_add_uid_finalize;
+
+    g_object_class_install_property (gobject_class, PROP_KEY,
+        g_param_spec_object ("key", "GPGME key",
+                             "The GPGME key which we're adding a new UID to",
+                             SEAHORSE_TYPE_GPGME_KEY,
+                             G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS));
+
+    gtk_widget_class_set_template_from_resource (widget_class, 
"/org/gnome/Seahorse/seahorse-gpgme-add-uid.ui");
+
+    gtk_widget_class_bind_template_child (widget_class, SeahorseGpgmeAddUid, name_entry);
+    gtk_widget_class_bind_template_child (widget_class, SeahorseGpgmeAddUid, email_entry);
+    gtk_widget_class_bind_template_child (widget_class, SeahorseGpgmeAddUid, comment_entry);
+
+    gtk_widget_class_bind_template_callback (widget_class, on_name_entry_changed);
+    gtk_widget_class_bind_template_callback (widget_class, on_email_entry_changed);
 }
 
 /**
  * seahorse_add_uid_new:
  * @skey: #SeahorseKey
  *
- * Creates a new #SeahorseKeyWidget dialog for adding a user ID to @skey.
- **/
-void
+ * Creates a new #SeahorseGpgmeAddUid dialog for adding a user ID to @skey.
+ */
+SeahorseGpgmeAddUid *
 seahorse_gpgme_add_uid_new (SeahorseGpgmeKey *pkey, GtkWindow *parent)
 {
-       SeahorseWidget *swidget;
-       const gchar *userid;
-
-       swidget = seahorse_object_widget_new ("add-uid", parent, G_OBJECT (pkey));
-       g_return_if_fail (swidget != NULL);
-       
-       userid = seahorse_object_get_label (SEAHORSE_OBJECT (pkey));
-       gtk_window_set_title (GTK_WINDOW (seahorse_widget_get_widget (swidget, swidget->name)),
-               g_strdup_printf (_("Add user ID to %s"), userid));
+    g_autoptr(SeahorseGpgmeAddUid) self = NULL;
+
+    g_return_val_if_fail (SEAHORSE_IS_GPGME_KEY (pkey), NULL);
+
+    self = g_object_new (SEAHORSE_GPGME_TYPE_ADD_UID,
+                         "key", pkey,
+                         "transient-for", parent,
+                         "use-header-bar", 1,
+                         NULL);
+
+    return g_steal_pointer (&self);
+}
+
+static void
+on_gpgme_key_op_uid_added (GObject *source, GAsyncResult *result, gpointer user_data)
+{
+    g_autoptr(SeahorseGpgmeAddUid) dialog = SEAHORSE_GPGME_ADD_UID (user_data);
+    SeahorseGpgmeKey *key = SEAHORSE_GPGME_KEY (source);
+    g_autoptr(GError) error = NULL;
+
+    if (!seahorse_gpgme_key_op_add_uid_finish (key, result, &error)) {
+        GtkWindow *window = gtk_window_get_transient_for (GTK_WINDOW (dialog));
+        seahorse_util_show_error (GTK_WIDGET (window),
+                                  _("Couldn’t add user ID"),
+                                  error->message);
+        return;
+    }
+
+    seahorse_gpgme_key_refresh (key);
+    gtk_widget_destroy (GTK_WIDGET (g_steal_pointer (&dialog)));
+}
+
+void
+seahorse_gpgme_add_uid_run_dialog (SeahorseGpgmeKey *pkey, GtkWindow *parent)
+{
+    g_autoptr(SeahorseGpgmeAddUid) dialog = NULL;
+    GtkResponseType response;
+    const gchar *name, *email, *comment;
+
+    g_return_if_fail (SEAHORSE_IS_GPGME_KEY (pkey));
+
+    dialog = seahorse_gpgme_add_uid_new (pkey, parent);
+    response = gtk_dialog_run (GTK_DIALOG (dialog));
+    if (response != GTK_RESPONSE_OK) {
+        gtk_widget_destroy (GTK_WIDGET (g_steal_pointer (&dialog)));
+        return;
+    }
+
+    name = gtk_entry_get_text (GTK_ENTRY (dialog->name_entry));
+    email = gtk_entry_get_text (GTK_ENTRY (dialog->email_entry));
+    comment = gtk_entry_get_text (GTK_ENTRY (dialog->comment_entry));
+
+    seahorse_gpgme_key_op_add_uid_async (pkey,
+                                         name, email, comment,
+                                         NULL,
+                                         on_gpgme_key_op_uid_added,
+                                         g_steal_pointer (&dialog));
 }
diff --git a/pgp/seahorse-gpgme-add-uid.h b/pgp/seahorse-gpgme-add-uid.h
new file mode 100644
index 00000000..08524462
--- /dev/null
+++ b/pgp/seahorse-gpgme-add-uid.h
@@ -0,0 +1,34 @@
+/*
+ * Seahorse
+ *
+ * Copyright (C) 2003 Jacob Perkins
+ *
+ * This program 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.
+ *
+ * This program 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 this program; if not, see
+ * <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include <gtk/gtk.h>
+#include "seahorse-gpgme-key.h"
+
+#define SEAHORSE_GPGME_TYPE_ADD_UID (seahorse_gpgme_add_uid_get_type ())
+G_DECLARE_FINAL_TYPE (SeahorseGpgmeAddUid, seahorse_gpgme_add_uid,
+                      SEAHORSE_GPGME, ADD_UID,
+                      GtkDialog)
+
+SeahorseGpgmeAddUid * seahorse_gpgme_add_uid_new        (SeahorseGpgmeKey *pkey,
+                                                         GtkWindow *parent);
+
+void                  seahorse_gpgme_add_uid_run_dialog (SeahorseGpgmeKey *pkey,
+                                                         GtkWindow *parent);
diff --git a/pgp/seahorse-gpgme-add-uid.ui b/pgp/seahorse-gpgme-add-uid.ui
new file mode 100644
index 00000000..30f73fdd
--- /dev/null
+++ b/pgp/seahorse-gpgme-add-uid.ui
@@ -0,0 +1,142 @@
+<?xml version="1.0"?>
+<interface>
+  <requires lib="gtk+" version="3.22"/>
+  <template class="SeahorseGpgmeAddUid" parent="GtkDialog">
+    <property name="visible">True</property>
+    <property name="default-width">400</property>
+    <property name="border_width">5</property>
+    <property name="title" translatable="yes">Add User ID</property>
+    <child internal-child="vbox">
+      <object class="GtkBox" id="dialog-vbox1">
+        <property name="visible">True</property>
+        <property name="orientation">vertical</property>
+        <property name="spacing">2</property>
+        <child>
+          <object class="GtkGrid">
+            <property name="visible">True</property>
+            <property name="margin">6</property>
+            <property name="row_spacing">6</property>
+            <property name="column_spacing">6</property>
+            <child>
+              <object class="GtkLabel">
+                <property name="visible">True</property>
+                <property name="halign">end</property>
+                <property name="label" translatable="yes" comments="Full name of the key, usually the name 
of the user.">Full _Name</property>
+                <property name="use_underline">True</property>
+                <property name="mnemonic_widget">name_entry</property>
+                <style>
+                  <class name="dim-label"/>
+                </style>
+              </object>
+              <packing>
+                <property name="top_attach">0</property>
+                <property name="left_attach">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkEntry" id="name_entry">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="has_focus">True</property>
+                <property name="hexpand">True</property>
+                <property name="tooltip_text" translatable="yes">Must be at least 5 characters 
long</property>
+                <property name="activates_default">True</property>
+                <signal name="changed" handler="on_name_entry_changed"/>
+              </object>
+              <packing>
+                <property name="top_attach">0</property>
+                <property name="left_attach">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel">
+                <property name="visible">True</property>
+                <property name="halign">end</property>
+                <property name="label" translatable="yes">_Email Address</property>
+                <property name="use_underline">True</property>
+                <property name="mnemonic_widget">email_entry</property>
+                <style>
+                  <class name="dim-label"/>
+                </style>
+              </object>
+              <packing>
+                <property name="top_attach">1</property>
+                <property name="left_attach">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkEntry" id="email_entry">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="hexpand">True</property>
+                <property name="tooltip_text" translatable="yes">Optional email address</property>
+                <property name="activates_default">True</property>
+                <signal name="changed" handler="on_email_entry_changed"/>
+              </object>
+              <packing>
+                <property name="top_attach">1</property>
+                <property name="left_attach">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel">
+                <property name="visible">True</property>
+                <property name="halign">end</property>
+                <property name="label" translatable="yes">Key Co_mment</property>
+                <property name="use_underline">True</property>
+                <property name="mnemonic_widget">comment_entry</property>
+                <style>
+                  <class name="dim-label"/>
+                </style>
+              </object>
+              <packing>
+                <property name="top_attach">2</property>
+                <property name="left_attach">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkEntry" id="comment_entry">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="hexpand">True</property>
+                <property name="tooltip_text" translatable="yes">Optional comment describing key</property>
+                <property name="activates_default">True</property>
+              </object>
+              <packing>
+                <property name="top_attach">2</property>
+                <property name="left_attach">1</property>
+              </packing>
+            </child>
+          </object>
+        </child>
+      </object>
+    </child>
+    <child type="action">
+      <object class="GtkButton" id="cancel_button">
+        <property name="visible">True</property>
+        <property name="use-underline">True</property>
+        <property name="label" translatable="yes">_Cancel</property>
+        <property name="can_focus">True</property>
+        <property name="can_default">True</property>
+        <property name="receives_default">False</property>
+      </object>
+    </child>
+    <child type="action">
+      <object class="GtkButton" id="ok_button">
+        <property name="visible">True</property>
+        <property name="label" translatable="yes">_OK</property>
+        <property name="use-underline">True</property>
+        <property name="sensitive">False</property>
+        <property name="can_focus">True</property>
+        <property name="can_default">True</property>
+        <property name="has_default">True</property>
+        <property name="receives_default">False</property>
+        <property name="tooltip_text" translatable="yes">Create the new user ID</property>
+      </object>
+    </child>
+    <action-widgets>
+      <action-widget response="cancel">cancel_button</action-widget>
+      <action-widget response="ok">ok_button</action-widget>
+    </action-widgets>
+  </template>
+</interface>
diff --git a/pgp/seahorse-gpgme-dialogs.h b/pgp/seahorse-gpgme-dialogs.h
index 9b53c05f..fdc8dfd0 100644
--- a/pgp/seahorse-gpgme-dialogs.h
+++ b/pgp/seahorse-gpgme-dialogs.h
@@ -65,9 +65,6 @@ void            seahorse_gpgme_expires_new          (SeahorseGpgmeSubkey *subkey
 void            seahorse_gpgme_add_subkey_new       (SeahorseGpgmeKey *pkey,
                                                      GtkWindow *parent);
 
-void            seahorse_gpgme_add_uid_new          (SeahorseGpgmeKey *pkey,
-                                                     GtkWindow *parent);
-
 void            seahorse_gpgme_revoke_new           (SeahorseGpgmeSubkey *subkey,
                                                      GtkWindow *parent);
 
diff --git a/pgp/seahorse-pgp-key-properties.c b/pgp/seahorse-pgp-key-properties.c
index 681b5a7a..92d93cfe 100644
--- a/pgp/seahorse-pgp-key-properties.c
+++ b/pgp/seahorse-pgp-key-properties.c
@@ -24,6 +24,7 @@
 #include "config.h"
 
 #include "seahorse-pgp-dialogs.h"
+#include "seahorse-gpgme-add-uid.h"
 #include "seahorse-gpgme-dialogs.h"
 #include "seahorse-gpgme-exporter.h"
 #include "seahorse-gpgme-key.h"
@@ -221,13 +222,31 @@ names_get_selected_uid (SeahorsePgpKeyProperties *self)
     return get_selected_object (self->names_tree, UIDSIG_OBJECT);
 }
 
+static void
+on_gpgme_key_op_uid_added (GObject *source, GAsyncResult *result, gpointer user_data)
+{
+    g_autoptr(SeahorseGpgmeAddUid) self = SEAHORSE_GPGME_ADD_UID (user_data);
+    SeahorseGpgmeKey *key = SEAHORSE_GPGME_KEY (source);
+    g_autoptr(GError) error = NULL;
+
+    if (!seahorse_gpgme_key_op_add_uid_finish (key, result, &error)) {
+        GtkWindow *window = gtk_window_get_transient_for (GTK_WINDOW (self));
+        seahorse_util_show_error (GTK_WIDGET (window),
+                                  _("Couldn’t add user ID"),
+                                  error->message);
+        return;
+    }
+
+    seahorse_gpgme_key_refresh (key);
+}
+
 static void
 on_uids_add (GSimpleAction *action, GVariant *param, gpointer user_data)
 {
     SeahorsePgpKeyProperties *self = SEAHORSE_PGP_KEY_PROPERTIES (user_data);
     g_return_if_fail (SEAHORSE_IS_GPGME_KEY (self->key));
-    seahorse_gpgme_add_uid_new (SEAHORSE_GPGME_KEY (self->key),
-                                GTK_WINDOW (self));
+    seahorse_gpgme_add_uid_run_dialog (SEAHORSE_GPGME_KEY (self->key),
+                                       GTK_WINDOW (self));
 }
 
 static void
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 38a05d7f..ca06fd1d 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -35,10 +35,10 @@ libseahorse/seahorse-progress.ui
 libseahorse/seahorse-util.c
 libseahorse/seahorse-widget.c
 pgp/seahorse-add-subkey.ui
-pgp/seahorse-add-uid.ui
 pgp/seahorse-expires.ui
 pgp/seahorse-gpgme-add-subkey.c
 pgp/seahorse-gpgme-add-uid.c
+pgp/seahorse-gpgme-add-uid.ui
 pgp/seahorse-gpgme.c
 pgp/seahorse-gpgme-expires.c
 pgp/seahorse-gpgme-exporter.c


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]