[glade/wip/alban/rework-survey-3-36: 3/3] GladeRegistration: rework survey



commit 000316e277a9615afff3f7bc84ac7b02eccd6c74
Author: Juan Pablo Ugarte <juanpablougarte gmail com>
Date:   Fri Jul 10 18:01:37 2020 -0300

    GladeRegistration: rework survey
    
    - Implement survey using new backend at surveys.gnome.org
    - Save state in config file and do not alow to send a
      new survey if it was already completed.
    - Move buttons to headerbar.
    
    - Update mailing list link and fix automatic subscription.
    
    Fix issue #433 "Survey and registration"

 src/glade-registration.c     |  781 +++++---
 src/glade-registration.css   |    5 +
 src/glade-registration.glade | 4087 +++++++++++++++++++++---------------------
 src/meson.build              |    1 +
 4 files changed, 2614 insertions(+), 2260 deletions(-)
---
diff --git a/src/glade-registration.c b/src/glade-registration.c
index 29fac50c..400f8c91 100644
--- a/src/glade-registration.c
+++ b/src/glade-registration.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2014 Juan Pablo Ugarte.
+ * Copyright (C) 2014, 2020 Juan Pablo Ugarte.
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as
@@ -26,27 +26,32 @@
 #include <gladeui/glade.h>
 #include <glib/gi18n.h>
 
-#define CONFIG_GROUP             "User & Survey"
-
-/* translators: Email subject sent to the user after completing the survey */
-#define MAIL_SUBJECT _("Glade User Survey")
-/* translators: Email body sent to the user after completing the survey */
-#define MAIL_BODY _("Thank you for taking Glade Users survey, we appreciate it!\n\nTo validate this email 
address open the following 
link\n\nhttps://people.gnome.org/~jpu/glade/registration.php?email=$email&validation_token=$new_validation_token\n\nIn
 case you want to change or update the survey, your current update token is:\n$new_token\n\nCheers\n\n      
The Glade team\n")
-
-/* translators: Email subject sent to the user after updating the survey */
-#define UPDATE_MAIL_SUBJECT _("Glade User Survey (update)")
-/* translators: Email body sent to the user after updating the survey */
-#define UPDATE_MAIL_BODY _("Thank you for updating your Glade Users survey data, we appreciate it!\n\nIn 
case you want to change something again, your current update token is:\n$new_token\n\nCheers\n\n      The 
Glade team\n")
+#define USER_SURVEY_CONFIG_GROUP "User & Survey"
+#define SURVEY_DATA_CONFIG_GROUP "Survey Data"
 
 struct _GladeRegistrationPrivate
 {
+  GKeyFile     *config;
+  gchar        *user_agent;
+
   GtkWidget    *infobar;
+  GtkWidget    *statusbar;
   GtkWidget    *net_spinner;
   GtkLabel     *infobar_label;
   GtkLabel     *status_label;
+  GtkWidget    *submit_button;
+  GtkContainer *user_survey_box;
+
   GladeHTTP    *http;
   GladeHTTP    *sub_http;
   GCancellable *cancellable;
+  GCancellable *sub_cancellable;
+
+  /* HTML Form parsing */
+  GHashTable   *hidden_inputs;
+  gboolean      form_loaded;
+  GHashTable   *sub_hidden_inputs;
+  gboolean      sub_form_loaded;
 
   /* Form widgets */
 
@@ -59,9 +64,6 @@ struct _GladeRegistrationPrivate
   GtkWidget *contact_website;
   GtkWidget *subscribe;
 
-  GtkWidget *update_token_checkbutton;
-  GtkWidget *update_token;
-
   GtkWidget *experience;
   GtkWidget *experience_unit;
   GtkWidget *experience_not_programmer;
@@ -73,6 +75,7 @@ struct _GladeRegistrationPrivate
   GtkWidget *lang_javascript;
   GtkWidget *lang_vala;
   GtkWidget *lang_perl;
+  GtkWidget *lang_rust;
   GtkWidget *lang_other;
   GtkWidget *start_using;
   GtkWidget *start_using_unit;
@@ -119,6 +122,12 @@ enum
   PROP_SKIP_REMINDER
 };
 
+static void
+glade_registration_parse_response_form (GladeRegistration *registration,
+                                        const gchar       *response,
+                                        const gchar       *form_action,
+                                        GHashTable        *data);
+
 static void
 string_append_input_key_value_tuple (GString *string,
                                      const gchar *name,
@@ -155,8 +164,16 @@ string_append_input_key_value_tuple (GString *string,
             g_string_append (string, gtk_widget_get_name (group->data));
         }
     }
-  else if (GTK_IS_TOGGLE_BUTTON (input))
-    g_string_append_printf (string, "%d", gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (input)) ? 1 : 0);
+  else if (GTK_IS_TOGGLE_BUTTON (input) &&
+           gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (input)))
+    g_string_append_c (string,  'Y');
+}
+
+static void
+append_hidden_inputs (gpointer key, gpointer value, gpointer user_data)
+{
+  GString *str = user_data;
+  g_string_append_printf (str, "&%s=%s", (gchar *)key, (gchar *)value);
 }
 
 static void
@@ -177,19 +194,17 @@ glade_registration_show_message (GladeRegistration *registration,
 
   if (format)
     {
+      g_autofree gchar *string;
       va_list args;
-      gchar *string;
 
       va_start (args, format);
       string = g_strdup_vprintf (format, args);
       va_end (args);
 
-      gtk_label_set_text (priv->infobar_label, string);
-
-      g_free (string);
+      gtk_label_set_markup (priv->infobar_label, string);
     }
   else
-    gtk_label_set_text (priv->infobar_label, "");
+    gtk_label_set_markup (priv->infobar_label, "");
   
   /* Only show the infobar if the dialog is visible */
   if (gtk_widget_is_visible (GTK_WIDGET (registration)))
@@ -265,30 +280,51 @@ glade_registration_http_post (GladeRegistration *registration,
                               GString           *content)
 {
   const gchar *lang = pango_language_to_string (pango_language_get_default ());
+  g_autofree gchar *cookies = glade_http_get_cookies (http);
 
   glade_http_request_send_async (http, cancellable,
                                  "POST %s HTTP/1.1\r\n"
                                  "Host: %s\r\n"
-                                 "User-Agent: Glade/"PACKAGE_VERSION" (%s; Gtk+ %d.%d.%d; glib %d.%d.%d; 
%s)\r\n"
+                                 "User-Agent: %s\r\n"
                                  "Connection: close\r\n"
-                                 "Accept: text/plain\r\n"
+                                 "Accept: text/html\r\n"
                                  "Accept-Language: %s\r\n"
+                                 "Cookie: %s\r\n"
+                                 "Origin: https://%s\r\n";
+                                 "Referer: https://%s%s\r\n";
                                  "Content-Type: application/x-www-form-urlencoded\r\n"
                                  "Content-Length: %"G_GSIZE_FORMAT"\r\n"
                                  "\r\n%s",
-                                 url,                                                       /* POST url */
-                                 glade_http_get_host (http),                                /* Host */
-                                 get_gdk_backend (GTK_WIDGET (registration)),               /* User-Agent 
backend */
-                                 GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION,   /* User-Agent 
gtk version */
-                                 glib_major_version, glib_minor_version, glib_micro_version,/* User-Agent 
glib version */
-                                 lang,                                                      /* User-Agent 
language */
-                                 lang,                                                      /* 
Accept-Language */
-                                 content->len,                                              /* 
Content-length */
-                                 content->str);                                             /* content */
+                                 url,                            /* POST url */
+                                 glade_http_get_host (http),     /* Host */
+                                 registration->priv->user_agent, /* User-Agent */
+                                 lang,                           /* Accept-Language */
+                                 cookies,                        /* Cookie */
+                                 glade_http_get_host (http),     /* Origin */
+                                 glade_http_get_host (http),     /* Referer */
+                                 url,                            /* Referer */
+                                 content->len,                   /* Content-length */
+                                 content->str);                  /* content */
 }
 
-
-#define append_input_tuple(s,i) string_append_input_key_value_tuple (s, #i, priv->i)
+static void
+glade_registration_http_get (GladeRegistration *registration,
+                             GladeHTTP         *http,
+                             GCancellable      *cancellable,
+                             const gchar       *url)
+{
+  glade_http_request_send_async (http, cancellable,
+                                 "GET %s HTTP/1.1\r\n"
+                                 "Host: %s\r\n"
+                                 "User-Agent: %s\r\n"
+                                 "Connection: close\r\n"
+                                 "Accept: text/html\r\n"
+                                 "Content-Length: 0\r\n"
+                                 "\r\n",
+                                 url,                             /* POST url */
+                                 glade_http_get_host (http),      /* Host */
+                                 registration->priv->user_agent); /* User-Agent */
+}
 
 static void 
 on_http_status (GladeHTTP         *http,
@@ -296,7 +332,7 @@ on_http_status (GladeHTTP         *http,
                 GError            *error,
                 GladeRegistration *registration)
 {
-  gchar *text = NULL;
+  g_autofree gchar *text = NULL;
   
   switch (status)
     {
@@ -322,73 +358,181 @@ on_http_status (GladeHTTP         *http,
 
   gtk_label_set_text (registration->priv->status_label, text ? text : "");
   gtk_widget_set_visible (registration->priv->net_spinner, text != NULL);
-  g_free (text);
+  gtk_widget_set_visible (registration->priv->statusbar, text != NULL);
 }
 
+static void
+glade_registration_subscribe_email (GladeRegistration *registration)
+{
+  GladeRegistrationPrivate *priv = registration->priv;
+  g_autoptr(GString) post = g_string_new ("");
 
-static void 
+  string_append_input_key_value_tuple (post, "email", priv->email);
+  string_append_input_key_value_tuple (post, "fullname", priv->name);
+
+  /* Append magic token */
+  g_hash_table_foreach (priv->sub_hidden_inputs, append_hidden_inputs, post);
+
+  glade_registration_http_post (registration, priv->sub_http, NULL,
+                                "/mailman/subscribe/glade-users-list",
+                                post);
+}
+
+static void
 on_subscribe_http_request_done (GladeHTTP         *http,
                                 gint               code,
-                                const gchar      **headers,
-                                const gchar      **values,
                                 const gchar       *response,
                                 GladeRegistration *registration)
 {
-  GtkDialog *dialog;
-  GtkWidget *button;
-  
-  if (code == 200)
-    return;
+  GladeRegistrationPrivate *priv = registration->priv;
 
-  dialog = GTK_DIALOG (gtk_message_dialog_new (GTK_WINDOW (registration),
-                                               GTK_DIALOG_DESTROY_WITH_PARENT,
-                                               GTK_MESSAGE_WARNING, GTK_BUTTONS_OK,
-                                               "%s",
-                                               _("Sorry, automatic subscription to Glade Users mailing list 
failed")));
-  
-  button = gtk_link_button_new_with_label ("http://lists.ximian.com/mailman/listinfo/glade-users";,
-                                           _("Open Glade Users Website"));
-  gtk_widget_show (button);
-  gtk_dialog_add_action_widget (dialog, button, GTK_RESPONSE_CANCEL);
-  gtk_button_box_set_child_secondary (GTK_BUTTON_BOX (gtk_dialog_get_action_area (dialog)), button, TRUE);
+  switch (code)
+    {
+      case 100:
+        /* Ignore Continue HTTP response */
+      break;
+      case 200:
+        {
+          if (!priv->sub_form_loaded)
+            {
+              /* Get magic token from html form */
+              glade_registration_parse_response_form (registration,
+                                                      response,
+                                                      "subscribe/glade-users-list",
+                                                      priv->sub_hidden_inputs);
+              priv->sub_form_loaded = TRUE;
+
+              /* Now that we have the magic token we can make the actual POST */
+              glade_registration_subscribe_email (registration);
+            }
+          else
+            glade_registration_show_message (registration, GTK_MESSAGE_INFO, "%s",
+                                             _("Your subscription to the users list has been 
received!\nCheck you email!"));
+        }
+      break;
+      default:
+        {
+#define SUBSCRIPTION_FAILED "Sorry, automatic subscription to Glade Users mailing list failed.\n\
+<a href=\"https://mail.gnome.org/mailman/listinfo/glade-users-list\";>Open Glade Users Website</a>"
 
-  gtk_dialog_run (dialog);
-  gtk_widget_destroy (GTK_WIDGET (dialog));
+          glade_registration_show_message (registration, GTK_MESSAGE_WARNING,
+                                           "%s\nHTTP response %d",
+                                           _(SUBSCRIPTION_FAILED),
+                                           code);
+        }
+      break;
+    }
 }
 
 static void
-glade_registration_subscribe_email (GladeRegistration *registration)
+glade_registration_clear (GladeRegistrationPrivate *priv)
 {
-  GladeRegistrationPrivate *priv = registration->priv;
-  GString *post;
-
-  if (!priv->sub_http)
-    {
-      priv->sub_http = glade_http_new ("lists.ximian.com", 80, FALSE);
-      g_signal_connect_object (priv->sub_http, "request-done",
-                               G_CALLBACK (on_subscribe_http_request_done),
-                               registration, 0);
-    }
+  g_clear_object (&priv->cancellable);
+  g_clear_object (&priv->sub_cancellable);
   
-  post = g_string_new ("");
+  priv->cancellable = g_cancellable_new ();
+  priv->sub_cancellable = g_cancellable_new ();
 
-  string_append_input_key_value_tuple (post, "email", priv->email);
-  string_append_input_key_value_tuple (post, "fullname", priv->name);
+  gtk_widget_hide (priv->infobar);
+  g_hash_table_remove_all (priv->hidden_inputs);
+  g_hash_table_remove_all (priv->sub_hidden_inputs);
+  priv->form_loaded = FALSE;
+  priv->sub_form_loaded = FALSE;
+}
 
-  glade_registration_http_post (registration, priv->sub_http, NULL,
-                                "/mailman/subscribe/glade-users",
-                                post);
+#define ADD_USER_INPUT(p,q,i) string_append_input_key_value_tuple (p, "311811X51X"q, priv->i)
+#define ADD_SURVEY_INPUT(p,q,i) string_append_input_key_value_tuple (p, "311811X57X"q, priv->i)
 
-  g_string_free (post, TRUE);
+static void
+glade_registration_submit_survey (GladeRegistration *registration)
+{
+  GladeRegistrationPrivate *priv = registration->priv;
+  g_autoptr(GString) post;
+
+  post = g_string_new ("move=movesubmit&ajax=off&311811X51X843=");
+
+  /* User Agent */
+  g_string_append_uri_escaped (post, priv->user_agent, NULL, FALSE);
+
+  /* User info */
+  ADD_USER_INPUT (post, "849", name);
+  ADD_USER_INPUT (post, "852", email);
+  ADD_USER_INPUT (post, "1074", country_id);
+  ADD_USER_INPUT (post, "858", city);
+  ADD_USER_INPUT (post, "861", contact_type);
+  ADD_USER_INPUT (post, "864", contact_name);
+  ADD_USER_INPUT (post, "867", contact_website);
+
+  /* Survey data */
+  ADD_SURVEY_INPUT (post, "873", experience);
+  ADD_SURVEY_INPUT (post, "879", experience_unit);
+  ADD_SURVEY_INPUT (post, "882", experience_not_programmer);
+  ADD_SURVEY_INPUT (post, "885c", lang_c);
+  ADD_SURVEY_INPUT (post, "885cpp", lang_cpp);
+  ADD_SURVEY_INPUT (post, "885csharp", lang_csharp);
+  ADD_SURVEY_INPUT (post, "885java", lang_java);
+  ADD_SURVEY_INPUT (post, "885python", lang_python);
+  ADD_SURVEY_INPUT (post, "885javascript", lang_javascript);
+  ADD_SURVEY_INPUT (post, "885vala", lang_vala);
+  ADD_SURVEY_INPUT (post, "885perl", lang_perl);
+  ADD_SURVEY_INPUT (post, "885rust", lang_rust);
+  ADD_SURVEY_INPUT (post, "885other", lang_other);
+  ADD_SURVEY_INPUT (post, "915", start_using);
+  ADD_SURVEY_INPUT (post, "918", start_using_unit);
+  ADD_SURVEY_INPUT (post, "921", version);
+  ADD_SURVEY_INPUT (post, "924", version_other);
+  ADD_SURVEY_INPUT (post, "927", os);
+
+  ADD_SURVEY_INPUT (post, "930", os_linux);
+  ADD_SURVEY_INPUT (post, "933", os_bsd);
+  ADD_SURVEY_INPUT (post, "936", os_windows);
+  ADD_SURVEY_INPUT (post, "939", os_osx);
+  ADD_SURVEY_INPUT (post, "942", os_solaris);
+
+  ADD_SURVEY_INPUT (post, "945", os_other);
+
+  ADD_SURVEY_INPUT (post, "948", freq);
+  ADD_SURVEY_INPUT (post, "951", user_level);
+
+  ADD_SURVEY_INPUT (post, "954free", soft_free);
+  ADD_SURVEY_INPUT (post, "954open", soft_open);
+  ADD_SURVEY_INPUT (post, "954commercial", soft_commercial);
+  ADD_SURVEY_INPUT (post, "954none", soft_none);
+
+  ADD_SURVEY_INPUT (post, "969academic", field_academic);
+  ADD_SURVEY_INPUT (post, "969accounting", field_accounting);
+  ADD_SURVEY_INPUT (post, "969desktop", field_desktop);
+  ADD_SURVEY_INPUT (post, "969educational", field_educational);
+  ADD_SURVEY_INPUT (post, "969embedded", field_embedded);
+  ADD_SURVEY_INPUT (post, "969medical", field_medical);
+  ADD_SURVEY_INPUT (post, "969industrial", field_industrial);
+  ADD_SURVEY_INPUT (post, "969scientific", field_scientific);
+
+  ADD_SURVEY_INPUT (post, "1134", field_other);
+
+  ADD_SURVEY_INPUT (post, "999", improvement);
+  ADD_SURVEY_INPUT (post, "1002", problem);
+  ADD_SURVEY_INPUT (post, "1140", problem_other);
+  ADD_SURVEY_INPUT (post, "1005", bug);
+
+  ADD_SURVEY_INPUT (post, "1008", bugzilla);
+  ADD_SURVEY_INPUT (post, "1011", contributing);
+  ADD_SURVEY_INPUT (post, "1014", contributing_whynot);
+  ADD_SURVEY_INPUT (post, "1017", comments);
+
+  /* Append hidden inputs */
+  g_hash_table_foreach (priv->hidden_inputs, append_hidden_inputs, post);
+
+  glade_registration_http_post (GLADE_REGISTRATION (registration),
+                                priv->http,
+                                priv->cancellable,
+                                "/index.php/311811",
+                                post);
 }
 
-#define append_input_tuple(s,i) string_append_input_key_value_tuple (s, #i, priv->i)
-
-static void 
+static void
 on_http_request_done (GladeHTTP         *http,
                       gint               code,
-                      const gchar      **headers,
-                      const gchar      **values,
                       const gchar       *response,
                       GladeRegistration *registration)
 {
@@ -399,157 +543,235 @@ on_http_request_done (GladeHTTP         *http,
       break;
       case 200:
         {
-          const gchar *status = NULL, *message = _("Internal server error");
           GladeRegistrationPrivate *priv = registration->priv;
-          gint i;
 
-          for (i = 0; headers[i]; i++)
+          if (!priv->form_loaded)
             {
-              if (g_strcmp0 (headers[i], "X-Glade-Status") == 0)
-                status = values[i];
-              else if (g_strcmp0 (headers[i], "X-Glade-Message") == 0)
-                message = values[i];
+              glade_registration_parse_response_form (registration,
+                                                      response,
+                                                      "311811",
+                                                      priv->hidden_inputs);
+              priv->form_loaded = TRUE;
+
+              /* Now that we have the magic token we can make the actual POST */
+              glade_registration_submit_survey (registration);
+              return;
             }
 
-          if (status == NULL)
-            glade_registration_show_message (registration, GTK_MESSAGE_WARNING, 
-                                             "%s", message);
-          else if (g_strcmp0 (status, "ok") == 0)
+          if (g_strstr_len (response, -1, "GLADE_USER_REGISTRATION_SURVEY_OK") != NULL)
             {
               gtk_label_set_text (priv->status_label, "");
-              gtk_widget_hide (priv->net_spinner);
+              gtk_widget_hide (priv->statusbar);
 
-              if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (priv->subscribe)))
-                glade_registration_subscribe_email (registration);
+              g_object_set (registration, "completed", TRUE, NULL);
+              glade_app_config_save ();
 
               glade_util_ui_message (GTK_WIDGET (registration), GLADE_UI_INFO, NULL,
                                      "<big>%s</big>", _("Thank you for taking the time to complete the 
survey, we appreciate it!"));
               gtk_widget_hide (GTK_WIDGET (registration));
-
-              g_object_set (registration, "completed", TRUE, NULL);
-              glade_app_config_save ();
             }
-          else if (g_strcmp0 (status, "error_required_field") == 0)
-            glade_registration_show_message (registration, GTK_MESSAGE_INFO,
-                                             "%s", _("Name and Email fields are required"));
-          else if (g_strcmp0 (status, "error_email_in_use") == 0)
-            glade_registration_show_message (registration, GTK_MESSAGE_WARNING,
-                                             "%s", _("Oops! Email address is already in use!\nTo update 
information you need to provide the token that was sent to your inbox."));
-          else if (g_strcmp0 (status, "error_db_user_info") == 0)
-            glade_registration_show_message (registration, GTK_MESSAGE_WARNING,
-                                             _("Oops! Error saving user information: %s"), message);
-          else if (g_strcmp0 (status, "error_db_survey_data") == 0)
-            glade_registration_show_message (registration, GTK_MESSAGE_WARNING,
-                                             _("Oops! Error saving survey data: %s"), message);
-          else if (g_strcmp0 (status, "error_db") == 0)
-            glade_registration_show_message (registration, GTK_MESSAGE_WARNING,
-                                             _("Oops! Error accessing DB: %s"), message);
           else
-            glade_registration_show_message (registration, GTK_MESSAGE_WARNING, "%s", message);
+            glade_registration_show_message (registration, GTK_MESSAGE_WARNING,
+                                             "Internal server error");
         }
       break;
       default:
         glade_registration_show_message (registration, GTK_MESSAGE_WARNING,
-                                         "%s", response ? response : "");
+                                         "Got HTTP response %d", code);
       break;
     }
 }
 
-static void 
-glade_registration_clear_cancellable (GladeRegistrationPrivate *priv)
+static inline void
+survey_data_set_string (GKeyFile *config, const gchar *id, const gchar *value)
 {
-  if (priv->cancellable)
+  if (value)
+    g_key_file_set_string (config, SURVEY_DATA_CONFIG_GROUP, id, value);
+}
+
+void
+glade_registration_save_state_foreach (GtkWidget *widget, gpointer data)
+{
+  GladeRegistration *registration = GLADE_REGISTRATION (data);
+  const gchar *id = gtk_buildable_get_name (GTK_BUILDABLE (widget));
+
+  if (id)
     {
-      g_cancellable_cancel (priv->cancellable);
-      g_clear_object (&priv->cancellable);
+      GKeyFile *config = registration->priv->config;
+
+      if (GTK_IS_ENTRY (widget))
+        survey_data_set_string (config, id, gtk_entry_get_text (GTK_ENTRY (widget)));
+      else if (GTK_IS_TEXT_VIEW (widget))
+        {
+          GtkTextBuffer *buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (widget));
+          GtkTextIter start, end;
+          g_autofree gchar *text;
+
+          gtk_text_buffer_get_bounds (buffer, &start, &end);
+          text = gtk_text_buffer_get_text (buffer, &start, &end, FALSE);
+          survey_data_set_string (config, id, text);
+        }
+      else if (GTK_IS_COMBO_BOX (widget))
+        survey_data_set_string (config, id, gtk_combo_box_get_active_id (GTK_COMBO_BOX (widget)));
+      else if (GTK_IS_TOGGLE_BUTTON (widget))
+        g_key_file_set_boolean (config, SURVEY_DATA_CONFIG_GROUP, id,
+                                gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)));
     }
+
+  /* Recurse all containers */
+  if (GTK_IS_CONTAINER (widget))
+    gtk_container_foreach (GTK_CONTAINER (widget),
+                           glade_registration_save_state_foreach,
+                           data);
 }
 
-static void 
+void
+glade_registration_load_state_foreach (GtkWidget *widget, gpointer data)
+{
+  GladeRegistration *registration = GLADE_REGISTRATION (data);
+  const gchar *id = gtk_buildable_get_name (GTK_BUILDABLE (widget));
+
+  if (id)
+    {
+      GKeyFile *config = registration->priv->config;
+
+      if (GTK_IS_SPIN_BUTTON (widget))
+        {
+          gint val = g_key_file_get_integer (config, SURVEY_DATA_CONFIG_GROUP, id, NULL);
+          gtk_spin_button_set_value (GTK_SPIN_BUTTON (widget), val);
+        }
+      else if (GTK_IS_ENTRY (widget))
+        {
+          g_autofree gchar *val = NULL;
+          val = g_key_file_get_string (config, SURVEY_DATA_CONFIG_GROUP, id, NULL);
+          gtk_entry_set_text (GTK_ENTRY (widget), val ? val : "");
+        }
+      else if (GTK_IS_TEXT_VIEW (widget))
+        {
+          g_autofree gchar *val = NULL;
+
+          val = g_key_file_get_string (config, SURVEY_DATA_CONFIG_GROUP, id, NULL);
+          GtkTextBuffer *buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (widget));
+
+          gtk_text_buffer_set_text (buffer, val ? val : "", -1);
+        }
+      else if (GTK_IS_COMBO_BOX (widget)){
+        g_autofree gchar *val = NULL;
+
+        val = g_key_file_get_string (config, SURVEY_DATA_CONFIG_GROUP, id, NULL);
+        gtk_combo_box_set_active_id (GTK_COMBO_BOX (widget), val ? val : "");
+      }
+      else if (GTK_IS_TOGGLE_BUTTON (widget)){
+        gboolean val = g_key_file_get_boolean (config, SURVEY_DATA_CONFIG_GROUP, id, NULL);
+        gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), val);
+      }
+    }
+
+  /* Recurse all containers */
+  if (GTK_IS_CONTAINER (widget))
+    gtk_container_foreach (GTK_CONTAINER (widget),
+                           glade_registration_load_state_foreach,
+                           data);
+}
+
+static gboolean
+entry_is_empty (GtkWidget *entry)
+{
+  const gchar *text = gtk_entry_get_text (GTK_ENTRY (entry));
+  g_autofree gchar *str = NULL;
+
+  if (!text || *text == '\0')
+    return TRUE;
+
+  str = g_strstrip (g_strdup (text));
+
+  return (!str || *str == '\0');
+}
+
+static gboolean
+glade_registration_verify (GtkWidget *entry)
+{
+  GtkStyleContext *ctx = gtk_widget_get_style_context (entry);
+
+  gtk_style_context_remove_class (ctx, "error");
+
+  if (entry_is_empty (entry))
+    {
+      gtk_style_context_add_class (ctx, "error");
+      gtk_widget_grab_focus (entry);
+      return TRUE;
+    }
+
+  if (gtk_entry_get_input_purpose (GTK_ENTRY (entry)) == GTK_INPUT_PURPOSE_EMAIL)
+    {
+      const char *text = gtk_entry_get_text (GTK_ENTRY (entry));
+      g_auto(GStrv) email = NULL;
+
+      /* Check if this looks like an email */
+      if (g_strstr_len (text, -1, " ") ||
+          g_strstr_len (text, -1, "\t") ||
+          g_strstr_len (text, -1, "\n") ||
+          !(email = g_strsplit (text, "@", 2)) ||
+          g_strv_length (email) != 2 ||
+          *email[0] == '\0'|| *email[1] == '\0')
+        {
+          gtk_style_context_add_class (ctx, "error");
+          gtk_widget_grab_focus (entry);
+          return TRUE;
+        }
+    }
+
+  return FALSE;
+}
+
+static void
+glade_registration_verify_entry (GtkEntry *entry, GladeRegistration *registration)
+{
+  glade_registration_verify (GTK_WIDGET (entry));
+}
+
+static void
 on_registration_dialog_response (GtkDialog *dialog, gint response_id)
 {
-  GladeRegistrationPrivate *priv = GLADE_REGISTRATION (dialog)->priv;
-  GString *post;
+  GladeRegistration *registration = GLADE_REGISTRATION (dialog);
+  GladeRegistrationPrivate *priv = registration->priv;
 
   gtk_widget_hide (priv->infobar);
-  
-  if (response_id != GTK_RESPONSE_APPLY)
+
+  /* Save state */
+  gtk_container_foreach (priv->user_survey_box,
+                         glade_registration_save_state_foreach,
+                         registration);
+  glade_app_config_save ();
+
+  if (response_id != GTK_RESPONSE_OK)
     {
       gtk_widget_hide (GTK_WIDGET (dialog));
-      glade_registration_clear_cancellable (priv);
+      glade_registration_clear (priv);
       return;
     }
-  
-  glade_registration_clear_cancellable (priv);
-  priv->cancellable = g_cancellable_new ();
-  
-  post = g_string_new ("");
-
-  append_input_tuple (post, name);
-  append_input_tuple (post, email);
-  append_input_tuple (post, country_id);
-  append_input_tuple (post, city);
-  append_input_tuple (post, contact_type);
-  append_input_tuple (post, contact_name);
-  append_input_tuple (post, contact_website);
-
-  append_input_tuple (post, update_token_checkbutton);
-  append_input_tuple (post, update_token);
-  
-  append_input_tuple (post, experience);
-  append_input_tuple (post, experience_unit);
-  append_input_tuple (post, experience_not_programmer);
-  append_input_tuple (post, lang_c);
-  append_input_tuple (post, lang_cpp);
-  append_input_tuple (post, lang_csharp);
-  append_input_tuple (post, lang_java);
-  append_input_tuple (post, lang_python);
-  append_input_tuple (post, lang_javascript);
-  append_input_tuple (post, lang_vala);
-  append_input_tuple (post, lang_perl);
-  append_input_tuple (post, lang_other);
-  append_input_tuple (post, start_using);
-  append_input_tuple (post, start_using_unit);
-  append_input_tuple (post, version);
-  append_input_tuple (post, version_other);
-  append_input_tuple (post, os);
-  string_append_input_key_value_tuple (post, "linux", priv->os_linux);
-  string_append_input_key_value_tuple (post, "bsd", priv->os_bsd);
-  string_append_input_key_value_tuple (post, "windows", priv->os_windows);
-  string_append_input_key_value_tuple (post, "osx", priv->os_osx);
-  string_append_input_key_value_tuple (post, "solaris", priv->os_solaris);
-  append_input_tuple (post, os_other);
-  append_input_tuple (post, freq);
-  append_input_tuple (post, user_level);
-  append_input_tuple (post, soft_free);
-  append_input_tuple (post, soft_open);
-  append_input_tuple (post, soft_commercial);
-  append_input_tuple (post, soft_none);
-  append_input_tuple (post, field_academic);
-  append_input_tuple (post, field_accounting);
-  append_input_tuple (post, field_desktop);
-  append_input_tuple (post, field_educational);
-  append_input_tuple (post, field_embedded);
-  append_input_tuple (post, field_medical);
-  append_input_tuple (post, field_industrial);
-  append_input_tuple (post, field_scientific);
-  append_input_tuple (post, field_other);
-  append_input_tuple (post, improvement);
-  append_input_tuple (post, problem);
-  append_input_tuple (post, problem_other);
-  append_input_tuple (post, bug);
-  append_input_tuple (post, bugzilla);
-  append_input_tuple (post, contributing);
-  append_input_tuple (post, contributing_whynot);
-  append_input_tuple (post, comments);
-
-  glade_registration_http_post (GLADE_REGISTRATION (dialog),
-                                priv->http,
-                                priv->cancellable,
-                                "/~jpu/glade/registration.php",
-                                post);
-  
-  g_string_free (post, TRUE);
+
+  if (glade_registration_verify (priv->name) ||
+      glade_registration_verify (priv->email) ||
+      g_key_file_get_boolean (priv->config, USER_SURVEY_CONFIG_GROUP, "completed", NULL))
+      return;
+
+  /* Init state */
+  glade_registration_clear (priv);
+
+
+  /* Get survey form */
+  glade_registration_http_get (registration,
+                               priv->http,
+                               priv->cancellable,
+                               "/index.php/311811");
+
+  /* Get mailman form */
+  if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (priv->subscribe)))
+    glade_registration_http_get (registration,
+                                 priv->sub_http,
+                                 priv->sub_cancellable,
+                                 "/mailman/listinfo/glade-users-list");
 }
 
 static void
@@ -592,6 +814,24 @@ on_viewport_draw (GtkWidget *viewport, cairo_t *cr, GladeRegistration *widget)
   return FALSE;
 }
 
+static void
+glade_registration_update_state (GladeRegistration *registration)
+{
+  GladeRegistrationPrivate *priv = glade_registration_get_instance_private (registration);
+
+  if (g_key_file_get_boolean (priv->config, USER_SURVEY_CONFIG_GROUP, "completed", NULL))
+    {
+      GtkWidget *headerbar = gtk_dialog_get_header_bar (GTK_DIALOG (registration));
+
+      gtk_widget_set_sensitive (GTK_WIDGET (priv->user_survey_box), FALSE);
+      gtk_widget_set_sensitive (GTK_WIDGET (priv->submit_button), FALSE);
+
+      if (headerbar)
+        gtk_header_bar_set_subtitle(GTK_HEADER_BAR (headerbar),
+                                    _("Completed and submitted!"));
+    }
+}
+
 static void
 glade_registration_init (GladeRegistration *registration)
 {
@@ -599,8 +839,21 @@ glade_registration_init (GladeRegistration *registration)
 
   registration->priv = priv;
 
+  priv->config = glade_app_get_config ();
+
+  /* Create user agent */
+  priv->user_agent =
+    g_strdup_printf ("Glade/"PACKAGE_VERSION" (%s; Gtk+ %d.%d.%d; glib %d.%d.%d; %s)",
+                     glade_window_get_gdk_backend (),                           /* Gdk backend */
+                     GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION,   /* Gtk version */
+                     glib_major_version, glib_minor_version, glib_micro_version,/* Glib version */
+                     pango_language_to_string (pango_language_get_default ()));
+
+  priv->hidden_inputs = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free);
+  priv->sub_hidden_inputs = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free);
+
   /* HTTPS default port is 443 */
-  priv->http = glade_http_new ("people.gnome.org", 443, TRUE);
+  priv->http = glade_http_new ("surveys.gnome.org", 443, TRUE);
 
   g_signal_connect_object (priv->http, "request-done",
                            G_CALLBACK (on_http_request_done),
@@ -609,8 +862,14 @@ glade_registration_init (GladeRegistration *registration)
                            G_CALLBACK (on_http_status),
                            registration, 0);
   
+  priv->sub_http = glade_http_new ("mail.gnome.org", 443, TRUE);
+  g_signal_connect_object (priv->sub_http, "request-done",
+                           G_CALLBACK (on_subscribe_http_request_done),
+                           registration, 0);
+
   gtk_widget_init_template (GTK_WIDGET (registration));
 
+  /* Generate Glade versions */
   if (GTK_IS_COMBO_BOX_TEXT (priv->version_other))
     {
       GtkComboBoxText *combo = GTK_COMBO_BOX_TEXT (priv->version_other);
@@ -621,11 +880,24 @@ glade_registration_init (GladeRegistration *registration)
         {
           g_snprintf (id, 16, "%d", minor);
           g_snprintf (text, 18, "3.%d", minor);
-          gtk_combo_box_text_append (combo, id, text);
+          gtk_combo_box_text_prepend (combo, id, text);
+
+          /* Skip non released version 24-34 */
+          if (minor == 22)
+            minor = 34;
         }
 
       gtk_combo_box_set_active (GTK_COMBO_BOX (combo), 0);
     }
+
+  /* Load survey state */
+  gtk_container_foreach (priv->user_survey_box,
+                         glade_registration_load_state_foreach,
+                         registration);
+
+  gtk_dialog_set_default_response (GTK_DIALOG (registration), GTK_RESPONSE_OK);
+
+  glade_registration_update_state (registration);
 }
 
 static void
@@ -633,9 +905,13 @@ glade_registration_finalize (GObject *object)
 {
   GladeRegistrationPrivate *priv = GLADE_REGISTRATION (object)->priv;
 
+  g_clear_pointer (&priv->user_agent, g_free);
   g_clear_object (&priv->http);
   g_clear_object (&priv->sub_http);
   g_clear_object (&priv->cancellable);
+  g_clear_object (&priv->sub_cancellable);
+  g_hash_table_destroy (priv->hidden_inputs);
+  g_hash_table_destroy (priv->sub_hidden_inputs);
 
   G_OBJECT_CLASS (glade_registration_parent_class)->finalize (object);
 }
@@ -643,14 +919,22 @@ glade_registration_finalize (GObject *object)
 static void
 glade_registration_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
 {
-  GKeyFile *config = glade_app_get_config ();
+  GladeRegistrationPrivate *priv;
+
   g_return_if_fail (GLADE_IS_REGISTRATION (object));
 
+  priv = GLADE_REGISTRATION (object)->priv;
+
   switch (prop_id)
     {
       case PROP_SKIP_REMINDER:
+        g_key_file_set_boolean (priv->config, USER_SURVEY_CONFIG_GROUP,
+                                pspec->name, g_value_get_boolean (value));
+        break;
       case PROP_COMPLETED:
-        g_key_file_set_boolean (config, CONFIG_GROUP, pspec->name, g_value_get_boolean (value));
+        g_key_file_set_boolean (priv->config, USER_SURVEY_CONFIG_GROUP,
+                                pspec->name, g_value_get_boolean (value));
+        glade_registration_update_state (GLADE_REGISTRATION (object));
         break;
       default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -661,14 +945,17 @@ glade_registration_set_property (GObject *object, guint prop_id, const GValue *v
 static void
 glade_registration_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
 {
-  GKeyFile *config = glade_app_get_config ();
+  GladeRegistrationPrivate *priv;
+
   g_return_if_fail (GLADE_IS_REGISTRATION (object));
 
+  priv = GLADE_REGISTRATION (object)->priv;
+
   switch (prop_id)
     {
       case PROP_SKIP_REMINDER:
       case PROP_COMPLETED:
-        g_value_set_boolean (value, g_key_file_get_boolean (config, CONFIG_GROUP, pspec->name, NULL));
+        g_value_set_boolean (value, g_key_file_get_boolean (priv->config, USER_SURVEY_CONFIG_GROUP, 
pspec->name, NULL));
         break;
       default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -686,9 +973,12 @@ glade_registration_class_init (GladeRegistrationClass *klass)
   gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/glade/glade-registration.glade");
 
   gtk_widget_class_bind_template_child_private (widget_class, GladeRegistration, infobar);
+  gtk_widget_class_bind_template_child_private (widget_class, GladeRegistration, statusbar);
   gtk_widget_class_bind_template_child_private (widget_class, GladeRegistration, net_spinner);
   gtk_widget_class_bind_template_child_private (widget_class, GladeRegistration, infobar_label);
   gtk_widget_class_bind_template_child_private (widget_class, GladeRegistration, status_label);
+  gtk_widget_class_bind_template_child_private (widget_class, GladeRegistration, submit_button);
+  gtk_widget_class_bind_template_child_private (widget_class, GladeRegistration, user_survey_box);
   
   gtk_widget_class_bind_template_child_private (widget_class, GladeRegistration, name);
   gtk_widget_class_bind_template_child_private (widget_class, GladeRegistration, email);
@@ -698,8 +988,6 @@ glade_registration_class_init (GladeRegistrationClass *klass)
   gtk_widget_class_bind_template_child_private (widget_class, GladeRegistration, contact_name);
   gtk_widget_class_bind_template_child_private (widget_class, GladeRegistration, contact_website);
   gtk_widget_class_bind_template_child_private (widget_class, GladeRegistration, subscribe);
-  gtk_widget_class_bind_template_child_private (widget_class, GladeRegistration, update_token_checkbutton);
-  gtk_widget_class_bind_template_child_private (widget_class, GladeRegistration, update_token);
 
   gtk_widget_class_bind_template_child_private (widget_class, GladeRegistration, experience);
   gtk_widget_class_bind_template_child_private (widget_class, GladeRegistration, experience_unit);
@@ -712,6 +1000,7 @@ glade_registration_class_init (GladeRegistrationClass *klass)
   gtk_widget_class_bind_template_child_private (widget_class, GladeRegistration, lang_javascript);
   gtk_widget_class_bind_template_child_private (widget_class, GladeRegistration, lang_vala);
   gtk_widget_class_bind_template_child_private (widget_class, GladeRegistration, lang_perl);
+  gtk_widget_class_bind_template_child_private (widget_class, GladeRegistration, lang_rust);
   gtk_widget_class_bind_template_child_private (widget_class, GladeRegistration, lang_other);
   gtk_widget_class_bind_template_child_private (widget_class, GladeRegistration, start_using);
   gtk_widget_class_bind_template_child_private (widget_class, GladeRegistration, start_using_unit);
@@ -748,6 +1037,7 @@ glade_registration_class_init (GladeRegistrationClass *klass)
   gtk_widget_class_bind_template_child_private (widget_class, GladeRegistration, contributing_whynot);
   gtk_widget_class_bind_template_child_private (widget_class, GladeRegistration, comments);
   
+  gtk_widget_class_bind_template_callback (widget_class, glade_registration_verify_entry);
   gtk_widget_class_bind_template_callback (widget_class, on_registration_dialog_response);
   gtk_widget_class_bind_template_callback (widget_class, toggle_button_set_visible_on_toggle);
   gtk_widget_class_bind_template_callback (widget_class, toggle_button_set_sensitive_on_toggle);
@@ -786,6 +1076,85 @@ glade_registration_class_init (GladeRegistrationClass *klass)
 GtkWidget*
 glade_registration_new (void)
 {
-  return GTK_WIDGET (g_object_new (GLADE_TYPE_REGISTRATION, NULL));
+  return GTK_WIDGET (g_object_new (GLADE_TYPE_REGISTRATION,
+                                   "use-header-bar", TRUE,
+                                   NULL));
+}
+
+/* HTML Form parsing utils */
+#include <libxml/HTMLparser.h>
+
+typedef struct {
+  const gchar *form_action;
+  GHashTable  *inputs;
+
+  gboolean     in_form;
+} ParseData;
+
+static void
+start_element (ParseData *data, const gchar *name, const gchar **atts)
+{
+  gboolean is_hidden = FALSE;
+  const gchar *input_name = NULL, *input_value = NULL;
+  gint i;
+
+  if (g_strcmp0 (name, "form") == 0)
+    {
+      for (i = 0; atts[i]; i++)
+        if (g_strcmp0 (atts[i], "action") == 0 &&
+            g_strstr_len (atts[i+1], -1, data->form_action))
+          data->in_form = TRUE;
+
+      return;
+    }
+
+  /* Ignore elements outside of the form */
+  if (!data->in_form)
+    return;
+
+  if (g_strcmp0 (name, "input"))
+    return;
+
+  for (i = 0; atts[i]; i += 2)
+    {
+      gint val = i + 1;
+
+      if (!g_strcmp0 (atts[i], "type") && !g_strcmp0 (atts[val], "hidden"))
+        is_hidden = TRUE;
+
+      if (!g_strcmp0 (atts[i], "name"))
+        input_name = atts[val];
+
+      if (!g_strcmp0 (atts[i], "value"))
+        input_value = atts[val];
+    }
+
+  if (is_hidden && input_name && input_value)
+    g_hash_table_insert (data->inputs,
+                         g_uri_escape_string (input_name, NULL, FALSE),
+                         g_uri_escape_string (input_value, NULL, FALSE));
+}
+
+static void
+end_element (ParseData *data, const gchar *name)
+{
+  if (g_strcmp0 (name, "form") == 0)
+    data->in_form = FALSE;
+}
+
+static void
+glade_registration_parse_response_form (GladeRegistration *registration,
+                                        const gchar       *response,
+                                        const gchar       *form_action,
+                                        GHashTable        *inputs)
+{
+  ParseData data = { .form_action = form_action, .inputs = inputs };
+  htmlSAXHandler sax = { NULL, };
+
+  sax.startElement = (startElementSAXFunc) start_element;
+  sax.endElement = (endElementSAXFunc) end_element;
+
+  /* Parse response and collect hidden inputs in the hash table */
+  xmlFreeDoc (htmlSAXParseDoc ((guchar *)response, NULL, &sax, &data));
 }
 
diff --git a/src/glade-registration.css b/src/glade-registration.css
index 0e2baf81..c3aedbb9 100644
--- a/src/glade-registration.css
+++ b/src/glade-registration.css
@@ -72,3 +72,8 @@
   text-shadow: 1px 1px @theme_bg_color;
 }
 
+#glade-registration box.statusbar {
+  border-top-right-radius: 1ex;
+  background: @theme_bg_color;
+}
+
diff --git a/src/glade-registration.glade b/src/glade-registration.glade
index e51c7563..27324347 100644
--- a/src/glade-registration.glade
+++ b/src/glade-registration.glade
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.22.2
+<!-- Generated with glade 3.37.0 
 
 Glade - A user interface designer for GTK+ and GNOME
-Copyright (C) 2014 Juan Pablo Ugarte
+Copyright (C) 2014-2020 Juan Pablo Ugarte
 
 This program is free software; you can redistribute it and/or
 modify it under the terms of the GNU General Public License
@@ -22,7 +22,7 @@ Author: Juan Pablo Ugarte <juanpablougarte gmail com>
 
 -->
 <interface domain="glade">
-  <requires lib="gtk+" version="3.10"/>
+  <requires lib="gtk+" version="3.24"/>
   <!-- interface-css-provider-path glade-registration.css -->
   <!-- interface-license-type gplv2 -->
   <!-- interface-name Glade -->
@@ -31,78 +31,40 @@ Author: Juan Pablo Ugarte <juanpablougarte gmail com>
   <!-- interface-authors Juan Pablo Ugarte <juanpablougarte gmail com> -->
   <object class="GtkAdjustment" id="experience_adjustment">
     <property name="upper">256</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">10</property>
+    <property name="step-increment">1</property>
+    <property name="page-increment">10</property>
   </object>
   <object class="GtkAdjustment" id="start_using_adjustment">
     <property name="upper">256</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">10</property>
+    <property name="step-increment">1</property>
+    <property name="page-increment">10</property>
   </object>
   <template class="GladeRegistration" parent="GtkDialog">
-    <property name="can_focus">False</property>
+    <property name="can-focus">False</property>
     <property name="title" translatable="yes">Glade Registration &amp; User Survey</property>
-    <property name="default_width">512</property>
-    <property name="default_height">640</property>
-    <property name="icon_name">glade</property>
-    <property name="type_hint">dialog</property>
+    <property name="default-width">512</property>
+    <property name="default-height">640</property>
+    <property name="icon-name">glade</property>
+    <property name="type-hint">dialog</property>
     <signal name="delete-event" handler="gtk_true" swapped="no"/>
     <signal name="response" handler="on_registration_dialog_response" swapped="no"/>
     <child internal-child="vbox">
       <object class="GtkBox" id="dialog-vbox1">
         <property name="name">glade-registration</property>
-        <property name="can_focus">False</property>
+        <property name="can-focus">False</property>
         <property name="orientation">vertical</property>
         <property name="spacing">2</property>
         <child internal-child="action_area">
           <object class="GtkButtonBox" id="dialog-action_area1">
-            <property name="can_focus">False</property>
-            <property name="layout_style">end</property>
-            <child>
-              <object class="GtkBox" id="box9">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="spacing">4</property>
-                <child>
-                  <object class="GtkSpinner" id="net_spinner">
-                    <property name="can_focus">False</property>
-                    <property name="active">True</property>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="position">0</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="status_label">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="hexpand">True</property>
-                    <property name="xalign">0</property>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">True</property>
-                    <property name="position">1</property>
-                  </packing>
-                </child>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">True</property>
-                <property name="position">1</property>
-                <property name="secondary">True</property>
-                <property name="non_homogeneous">True</property>
-              </packing>
-            </child>
+            <property name="can-focus">False</property>
+            <property name="layout-style">end</property>
             <child>
               <object class="GtkButton" id="cancel_button">
-                <property name="label" translatable="yes">Cancel</property>
+                <property name="label" translatable="yes">_Close</property>
                 <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_underline">True</property>
+                <property name="can-focus">True</property>
+                <property name="receives-default">True</property>
+                <property name="use-underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -114,10 +76,11 @@ Author: Juan Pablo Ugarte <juanpablougarte gmail com>
               <object class="GtkButton" id="submit_button">
                 <property name="label" translatable="yes">Submit</property>
                 <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">True</property>
-                <property name="tooltip_text" translatable="yes">Information will be sent to 
https://people.gnome.org/~jpu</property>
-                <property name="use_underline">True</property>
+                <property name="can-focus">True</property>
+                <property name="can-default">True</property>
+                <property name="receives-default">True</property>
+                <property name="tooltip-text" translatable="yes">Information will be sent to 
https://survey.gnome.org</property>
+                <property name="use-underline">True</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -129,23 +92,23 @@ Author: Juan Pablo Ugarte <juanpablougarte gmail com>
           <packing>
             <property name="expand">False</property>
             <property name="fill">True</property>
-            <property name="pack_type">end</property>
+            <property name="pack-type">end</property>
             <property name="position">2</property>
           </packing>
         </child>
         <child>
           <object class="GtkInfoBar" id="infobar">
-            <property name="app_paintable">True</property>
-            <property name="can_focus">False</property>
+            <property name="app-paintable">True</property>
+            <property name="can-focus">False</property>
             <property name="vexpand">False</property>
-            <property name="show_close_button">True</property>
+            <property name="show-close-button">True</property>
             <signal name="close" handler="gtk_widget_hide" swapped="no"/>
             <signal name="response" handler="gtk_widget_hide" swapped="no"/>
             <child internal-child="action_area">
               <object class="GtkButtonBox" id="infobar-action_area1">
-                <property name="can_focus">False</property>
+                <property name="can-focus">False</property>
                 <property name="spacing">6</property>
-                <property name="layout_style">end</property>
+                <property name="layout-style">end</property>
                 <child>
                   <placeholder/>
                 </child>
@@ -161,13 +124,16 @@ Author: Juan Pablo Ugarte <juanpablougarte gmail com>
             </child>
             <child internal-child="content_area">
               <object class="GtkBox" id="infobar-content_area1">
-                <property name="can_focus">False</property>
+                <property name="can-focus">False</property>
+                <property name="orientation">vertical</property>
                 <property name="spacing">16</property>
                 <child>
                   <object class="GtkLabel" id="infobar_label">
                     <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="no_show_all">True</property>
+                    <property name="can-focus">False</property>
+                    <property name="no-show-all">True</property>
+                    <property name="halign">start</property>
+                    <property name="use-markup">True</property>
                   </object>
                   <packing>
                     <property name="expand">False</property>
@@ -190,473 +156,34 @@ Author: Juan Pablo Ugarte <juanpablougarte gmail com>
           </packing>
         </child>
         <child>
-          <object class="GtkScrolledWindow" id="scrolledwindow">
+          <object class="GtkOverlay">
             <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="hscrollbar_policy">never</property>
-            <property name="min_content_height">480</property>
+            <property name="can-focus">False</property>
             <child>
-              <object class="GtkViewport" id="viewport">
+              <object class="GtkScrolledWindow" id="scrolledwindow">
                 <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <signal name="draw" handler="on_viewport_draw" swapped="no"/>
+                <property name="can-focus">True</property>
+                <property name="hscrollbar-policy">never</property>
+                <property name="min-content-height">480</property>
                 <child>
-                  <object class="GtkBox" id="box16">
+                  <object class="GtkViewport" id="viewport">
                     <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="orientation">vertical</property>
-                    <property name="spacing">8</property>
-                    <child>
-                      <object class="GtkLabel" id="label24">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="label" translatable="yes">User Information</property>
-                        <property name="xalign">0</property>
-                        <style>
-                          <class name="title"/>
-                        </style>
-                      </object>
-                      <packing>
-                        <property name="expand">False</property>
-                        <property name="fill">True</property>
-                        <property name="position">0</property>
-                      </packing>
-                    </child>
+                    <property name="can-focus">False</property>
+                    <signal name="draw" handler="on_viewport_draw" swapped="no"/>
                     <child>
-                      <object class="GtkBox" id="box12">
+                      <object class="GtkBox" id="user_survey_box">
                         <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="valign">start</property>
-                        <property name="margin_left">12</property>
-                        <property name="margin_right">12</property>
-                        <property name="margin_end">12</property>
-                        <property name="hexpand">False</property>
-                        <property name="vexpand">False</property>
-                        <property name="spacing">4</property>
+                        <property name="can-focus">False</property>
+                        <property name="orientation">vertical</property>
+                        <property name="spacing">8</property>
                         <child>
-                          <object class="GtkGrid" id="grid1">
+                          <object class="GtkLabel" id="label24">
                             <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="column_spacing">4</property>
-                            <child>
-                              <object class="GtkEntry" id="name">
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="hexpand">True</property>
-                                <property name="width_chars">32</property>
-                                <property name="placeholder_text" translatable="yes">&lt;Your name or 
nickname is required&gt;</property>
-                              </object>
-                              <packing>
-                                <property name="left_attach">1</property>
-                                <property name="top_attach">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="label2">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="label" translatable="yes">Name:</property>
-                                <property name="xalign">1</property>
-                              </object>
-                              <packing>
-                                <property name="left_attach">0</property>
-                                <property name="top_attach">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="label3">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="label" translatable="yes">Email:</property>
-                                <property name="xalign">1</property>
-                              </object>
-                              <packing>
-                                <property name="left_attach">0</property>
-                                <property name="top_attach">1</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkEntry" id="email">
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="tooltip_text" translatable="yes">Tokens are processed 
manually in batches.
-Please be patient.</property>
-                                <property name="margin_top">4</property>
-                                <property name="placeholder_text" translatable="yes">&lt;Required to send 
back registration token&gt;</property>
-                              </object>
-                              <packing>
-                                <property name="left_attach">1</property>
-                                <property name="top_attach">1</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="label4">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="label" translatable="yes">Country:</property>
-                                <property name="xalign">1</property>
-                              </object>
-                              <packing>
-                                <property name="left_attach">0</property>
-                                <property name="top_attach">2</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="label19">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="label" translatable="yes">City:</property>
-                                <property name="xalign">1</property>
-                              </object>
-                              <packing>
-                                <property name="left_attach">0</property>
-                                <property name="top_attach">3</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkComboBoxText" id="contact_type">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="active">0</property>
-                                <items>
-                                  <item id="c" translatable="yes">Company</item>
-                                  <item id="o" translatable="yes">Organization</item>
-                                  <item id="p" translatable="yes">Personal</item>
-                                </items>
-                              </object>
-                              <packing>
-                                <property name="left_attach">0</property>
-                                <property name="top_attach">4</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="label27">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="label" translatable="yes">Website</property>
-                                <property name="xalign">1</property>
-                              </object>
-                              <packing>
-                                <property name="left_attach">0</property>
-                                <property name="top_attach">5</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkEntry" id="city">
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="width_chars">16</property>
-                              </object>
-                              <packing>
-                                <property name="left_attach">1</property>
-                                <property name="top_attach">3</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkEntry" id="contact_name">
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                              </object>
-                              <packing>
-                                <property name="left_attach">1</property>
-                                <property name="top_attach">4</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkEntry" id="contact_website">
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                              </object>
-                              <packing>
-                                <property name="left_attach">1</property>
-                                <property name="top_attach">5</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkCheckButton" id="subscribe">
-                                <property name="label" translatable="yes">Subscribe me to the mailing 
list</property>
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">False</property>
-                                <property name="tooltip_text" translatable="yes">Subscribe to Glade Users 
mailing list.
-You will be sent email requesting confirmation!</property>
-                                <property name="xalign">0</property>
-                                <property name="draw_indicator">True</property>
-                              </object>
-                              <packing>
-                                <property name="left_attach">1</property>
-                                <property name="top_attach">6</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkComboBoxText" id="country_id">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="margin_top">4</property>
-                                <property name="margin_bottom">4</property>
-                                <property name="active">0</property>
-                                <items>
-                                  <item id="other" translatable="yes">Choose your country</item>
-                                  <item id="af">Afghanistan</item>
-                                  <item id="ax">Ã…land Islands</item>
-                                  <item id="al">Albania</item>
-                                  <item id="dz">Algeria</item>
-                                  <item id="as">American Samoa</item>
-                                  <item id="ao">Angola</item>
-                                  <item id="ai">Anguilla</item>
-                                  <item id="aq">Antarctica</item>
-                                  <item id="ag">Antigua and Barbuda</item>
-                                  <item id="ar">Argentina</item>
-                                  <item id="am">Armenia</item>
-                                  <item id="aw">Aruba</item>
-                                  <item id="au">Australia</item>
-                                  <item id="at">Austria</item>
-                                  <item id="az">Azerbaijan</item>
-                                  <item id="bs">Bahamas</item>
-                                  <item id="bh">Bahrain</item>
-                                  <item id="bd">Bangladesh</item>
-                                  <item id="bb">Barbados</item>
-                                  <item id="by">Belarus</item>
-                                  <item id="be">Belgium</item>
-                                  <item id="bz">Belize</item>
-                                  <item id="bj">Benin</item>
-                                  <item id="bm">Bermuda</item>
-                                  <item id="bt">Bhutan</item>
-                                  <item id="bo">Bolivia, Plurinational State of</item>
-                                  <item id="bq">Bonaire, Sint Eustatius and Saba</item>
-                                  <item id="ba">Bosnia and Herzegovina</item>
-                                  <item id="bw">Botswana</item>
-                                  <item id="bv">Bouvet Island</item>
-                                  <item id="br">Brazil</item>
-                                  <item id="io">British Indian Ocean Territory</item>
-                                  <item id="bn">Brunei Darussalam</item>
-                                  <item id="bg">Bulgaria</item>
-                                  <item id="bf">Burkina Faso</item>
-                                  <item id="bi">Burundi</item>
-                                  <item id="kh">Cambodia</item>
-                                  <item id="cm">Cameroon</item>
-                                  <item id="ca">Canada</item>
-                                  <item id="cv">Cape Verde</item>
-                                  <item id="ky">Cayman Islands</item>
-                                  <item id="cf">Central African Republic</item>
-                                  <item id="td">Chad</item>
-                                  <item id="cl">Chile</item>
-                                  <item id="cn">China</item>
-                                  <item id="cx">Christmas Island</item>
-                                  <item id="cc">Cocos (Keeling) Islands</item>
-                                  <item id="co">Colombia</item>
-                                  <item id="km">Comoros</item>
-                                  <item id="cg">Congo</item>
-                                  <item id="cd">Congo, The Democratic Republic of the</item>
-                                  <item id="ck">Cook Islands</item>
-                                  <item id="cr">Costa Rica</item>
-                                  <item id="ci">Côte D'ivoire</item>
-                                  <item id="hr">Croatia</item>
-                                  <item id="cu">Cuba</item>
-                                  <item id="cw">Curaçao</item>
-                                  <item id="cy">Cyprus</item>
-                                  <item id="cz">Czech Republic</item>
-                                  <item id="dk">Denmark</item>
-                                  <item id="dj">Djibouti</item>
-                                  <item id="dm">Dominica</item>
-                                  <item id="do">Dominican Republic</item>
-                                  <item id="ec">Ecuador</item>
-                                  <item id="eg">Egypt</item>
-                                  <item id="sv">El Salvador</item>
-                                  <item id="gq">Equatorial Guinea</item>
-                                  <item id="er">Eritrea</item>
-                                  <item id="ee">Estonia</item>
-                                  <item id="et">Ethiopia</item>
-                                  <item id="fk">Falkland Islands (Malvinas)</item>
-                                  <item id="fo">Faroe Islands</item>
-                                  <item id="fj">Fiji</item>
-                                  <item id="fi">Finland</item>
-                                  <item id="fr">France</item>
-                                  <item id="gf">French Guiana</item>
-                                  <item id="pf">French Polynesia</item>
-                                  <item id="tf">French Southern Territories</item>
-                                  <item id="ga">Gabon</item>
-                                  <item id="gm">Gambia</item>
-                                  <item id="ge">Georgia</item>
-                                  <item id="de">Germany</item>
-                                  <item id="gh">Ghana</item>
-                                  <item id="gi">Gibraltar</item>
-                                  <item id="gr">Greece</item>
-                                  <item id="gl">Greenland</item>
-                                  <item id="gd">Grenada</item>
-                                  <item id="gp">Guadeloupe</item>
-                                  <item id="gu">Guam</item>
-                                  <item id="gt">Guatemala</item>
-                                  <item id="gg">Guernsey</item>
-                                  <item id="gn">Guinea</item>
-                                  <item id="gw">Guinea-bissau</item>
-                                  <item id="gy">Guyana</item>
-                                  <item id="ht">Haiti</item>
-                                  <item id="hm">Heard Island and Mcdonald Islands</item>
-                                  <item id="va">Holy See (Vatican City State)</item>
-                                  <item id="hn">Honduras</item>
-                                  <item id="hk">Hong Kong</item>
-                                  <item id="hu">Hungary</item>
-                                  <item id="is">Iceland</item>
-                                  <item id="in">India</item>
-                                  <item id="id">Indonesia</item>
-                                  <item id="ir">Iran, Islamic Republic of</item>
-                                  <item id="iq">Iraq</item>
-                                  <item id="ie">Ireland</item>
-                                  <item id="im">Isle of Man</item>
-                                  <item id="il">Israel</item>
-                                  <item id="it">Italy</item>
-                                  <item id="jm">Jamaica</item>
-                                  <item id="jp">Japan</item>
-                                  <item id="je">Jersey</item>
-                                  <item id="jo">Jordan</item>
-                                  <item id="kz">Kazakhstan</item>
-                                  <item id="ke">Kenya</item>
-                                  <item id="ki">Kiribati</item>
-                                  <item id="kp">Korea, Democratic People's Republic of</item>
-                                  <item id="kr">Korea, Republic of</item>
-                                  <item id="kw">Kuwait</item>
-                                  <item id="kg">Kyrgyzstan</item>
-                                  <item id="la">Lao People's Democratic Republic</item>
-                                  <item id="lv">Latvia</item>
-                                  <item id="lb">Lebanon</item>
-                                  <item id="ls">Lesotho</item>
-                                  <item id="lr">Liberia</item>
-                                  <item id="ly">Libya</item>
-                                  <item id="li">Liechtenstein</item>
-                                  <item id="lt">Lithuania</item>
-                                  <item id="lu">Luxembourg</item>
-                                  <item id="mo">Macao</item>
-                                  <item id="mk">Macedonia, The Former Yugoslav Republic of</item>
-                                  <item id="mg">Madagascar</item>
-                                  <item id="mw">Malawi</item>
-                                  <item id="my">Malaysia</item>
-                                  <item id="mv">Maldives</item>
-                                  <item id="ml">Mali</item>
-                                  <item id="mt">Malta</item>
-                                  <item id="mh">Marshall Islands</item>
-                                  <item id="mq">Martinique</item>
-                                  <item id="mr">Mauritania</item>
-                                  <item id="mu">Mauritius</item>
-                                  <item id="yt">Mayotte</item>
-                                  <item id="mx">Mexico</item>
-                                  <item id="fm">Micronesia, Federated States of</item>
-                                  <item id="md">Moldova, Republic of</item>
-                                  <item id="mc">Monaco</item>
-                                  <item id="mn">Mongolia</item>
-                                  <item id="me">Montenegro</item>
-                                  <item id="ms">Montserrat</item>
-                                  <item id="ma">Morocco</item>
-                                  <item id="mz">Mozambique</item>
-                                  <item id="mm">Myanmar</item>
-                                  <item id="na">Namibia</item>
-                                  <item id="nr">Nauru</item>
-                                  <item id="np">Nepal</item>
-                                  <item id="nl">Netherlands</item>
-                                  <item id="nc">New Caledonia</item>
-                                  <item id="nz">New Zealand</item>
-                                  <item id="ni">Nicaragua</item>
-                                  <item id="ne">Niger</item>
-                                  <item id="ng">Nigeria</item>
-                                  <item id="nu">Niue</item>
-                                  <item id="nf">Norfolk Island</item>
-                                  <item id="mp">Northern Mariana Islands</item>
-                                  <item id="no">Norway</item>
-                                  <item id="om">Oman</item>
-                                  <item id="pk">Pakistan</item>
-                                  <item id="pw">Palau</item>
-                                  <item id="ps">Palestine, State of</item>
-                                  <item id="pa">Panama</item>
-                                  <item id="pg">Papua New Guinea</item>
-                                  <item id="py">Paraguay</item>
-                                  <item id="pe">Peru</item>
-                                  <item id="ph">Philippines</item>
-                                  <item id="pn">Pitcairn</item>
-                                  <item id="pl">Poland</item>
-                                  <item id="pt">Portugal</item>
-                                  <item id="pr">Puerto Rico</item>
-                                  <item id="qa">Qatar</item>
-                                  <item id="re">Réunion</item>
-                                  <item id="ro">Romania</item>
-                                  <item id="ru">Russian Federation</item>
-                                  <item id="rw">Rwanda</item>
-                                  <item id="bl">Saint Barthélemy</item>
-                                  <item id="sh">Saint Helena, Ascension and Tristan Da Cunha</item>
-                                  <item id="kn">Saint Kitts and Nevis</item>
-                                  <item id="lc">Saint Lucia</item>
-                                  <item id="mf">Saint Martin (French Part)</item>
-                                  <item id="pm">Saint Pierre and Miquelon</item>
-                                  <item id="vc">Saint Vincent and The Grenadines</item>
-                                  <item id="ws">Samoa</item>
-                                  <item id="sm">San Marino</item>
-                                  <item id="st">Sao Tome and Principe</item>
-                                  <item id="sa">Saudi Arabia</item>
-                                  <item id="sn">Senegal</item>
-                                  <item id="rs">Serbia</item>
-                                  <item id="sc">Seychelles</item>
-                                  <item id="sl">Sierra Leone</item>
-                                  <item id="sg">Singapore</item>
-                                  <item id="sx">Sint Maarten (Dutch Part)</item>
-                                  <item id="sk">Slovakia</item>
-                                  <item id="si">Slovenia</item>
-                                  <item id="sb">Solomon Islands</item>
-                                  <item id="so">Somalia</item>
-                                  <item id="za">South Africa</item>
-                                  <item id="gs">South Georgia and The South Sandwich Islands</item>
-                                  <item id="ss">South Sudan</item>
-                                  <item id="es">Spain</item>
-                                  <item id="lk">Sri Lanka</item>
-                                  <item id="sd">Sudan</item>
-                                  <item id="sr">Suriname</item>
-                                  <item id="sj">Svalbard and Jan Mayen</item>
-                                  <item id="sz">Swaziland</item>
-                                  <item id="se">Sweden</item>
-                                  <item id="ch">Switzerland</item>
-                                  <item id="sy">Syrian Arab Republic</item>
-                                  <item id="tw">Taiwan</item>
-                                  <item id="tj">Tajikistan</item>
-                                  <item id="tz">Tanzania, United Republic of</item>
-                                  <item id="th">Thailand</item>
-                                  <item id="tl">Timor-leste</item>
-                                  <item id="tg">Togo</item>
-                                  <item id="tk">Tokelau</item>
-                                  <item id="to">Tonga</item>
-                                  <item id="tt">Trinidad and Tobago</item>
-                                  <item id="tn">Tunisia</item>
-                                  <item id="tr">Turkey</item>
-                                  <item id="tm">Turkmenistan</item>
-                                  <item id="tc">Turks and Caicos Islands</item>
-                                  <item id="tv">Tuvalu</item>
-                                  <item id="ug">Uganda</item>
-                                  <item id="ua">Ukraine</item>
-                                  <item id="ae">United Arab Emirates</item>
-                                  <item id="gb">United Kingdom</item>
-                                  <item id="us">United States</item>
-                                  <item id="um">United States Minor Outlying Islands</item>
-                                  <item id="uy">Uruguay</item>
-                                  <item id="uz">Uzbekistan</item>
-                                  <item id="vu">Vanuatu</item>
-                                  <item id="ve">Venezuela, Bolivarian Republic of</item>
-                                  <item id="vn">Vietnam</item>
-                                  <item id="vg">Virgin Islands, British</item>
-                                  <item id="vi">Virgin Islands, U.S.</item>
-                                  <item id="wf">Wallis and Futuna</item>
-                                  <item id="eh">Western Sahara</item>
-                                  <item id="ye">Yemen</item>
-                                  <item id="zm">Zambia</item>
-                                  <item id="zw">Zimbabwe</item>
-                                </items>
-                              </object>
-                              <packing>
-                                <property name="left_attach">1</property>
-                                <property name="top_attach">2</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <placeholder/>
-                            </child>
+                            <property name="can-focus">False</property>
+                            <property name="label" translatable="yes">User Information</property>
+                            <property name="xalign">0</property>
                             <style>
-                              <class name="info-box"/>
+                              <class name="title"/>
                             </style>
                           </object>
                           <packing>
@@ -666,22 +193,444 @@ You will be sent email requesting confirmation!</property>
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkBox" id="box2">
+                          <object class="GtkBox" id="user_box">
                             <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="halign">center</property>
+                            <property name="can-focus">False</property>
                             <property name="valign">start</property>
-                            <property name="orientation">vertical</property>
+                            <property name="margin-start">12</property>
+                            <property name="margin-end">12</property>
+                            <property name="hexpand">False</property>
+                            <property name="vexpand">False</property>
+                            <property name="spacing">4</property>
                             <child>
-                              <object class="GtkLabel" id="label6">
+                              <object class="GtkGrid" id="grid1">
                                 <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="label" translatable="yes">We care about privacy!</property>
-                                <property name="wrap">True</property>
-                                <property name="max_width_chars">8</property>
-                                <property name="xalign">0</property>
+                                <property name="can-focus">False</property>
+                                <property name="row-spacing">4</property>
+                                <property name="column-spacing">4</property>
+                                <child>
+                                  <object class="GtkEntry" id="name">
+                                    <property name="visible">True</property>
+                                    <property name="can-focus">True</property>
+                                    <property name="hexpand">True</property>
+                                    <property name="width-chars">32</property>
+                                    <property name="placeholder-text" translatable="yes">&lt;Your name or 
nickname is required&gt;</property>
+                                    <property name="input-purpose">name</property>
+                                    <signal name="activate" handler="glade_registration_verify_entry" 
swapped="no"/>
+                                  </object>
+                                  <packing>
+                                    <property name="left-attach">1</property>
+                                    <property name="top-attach">0</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkLabel" id="label2">
+                                    <property name="visible">True</property>
+                                    <property name="can-focus">False</property>
+                                    <property name="label" translatable="yes">Name:</property>
+                                    <property name="xalign">1</property>
+                                  </object>
+                                  <packing>
+                                    <property name="left-attach">0</property>
+                                    <property name="top-attach">0</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkLabel" id="label3">
+                                    <property name="visible">True</property>
+                                    <property name="can-focus">False</property>
+                                    <property name="label" translatable="yes">Email:</property>
+                                    <property name="xalign">1</property>
+                                  </object>
+                                  <packing>
+                                    <property name="left-attach">0</property>
+                                    <property name="top-attach">1</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkEntry" id="email">
+                                    <property name="visible">True</property>
+                                    <property name="can-focus">True</property>
+                                    <property name="tooltip-text" translatable="yes">Tokens are processed 
manually in batches.
+Please be patient.</property>
+                                    <property name="placeholder-text" translatable="yes">&lt;Required to 
send back registration token&gt;</property>
+                                    <property name="input-purpose">email</property>
+                                    <signal name="activate" handler="glade_registration_verify_entry" 
swapped="no"/>
+                                  </object>
+                                  <packing>
+                                    <property name="left-attach">1</property>
+                                    <property name="top-attach">1</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkLabel" id="label4">
+                                    <property name="visible">True</property>
+                                    <property name="can-focus">False</property>
+                                    <property name="label" translatable="yes">Country:</property>
+                                    <property name="xalign">1</property>
+                                  </object>
+                                  <packing>
+                                    <property name="left-attach">0</property>
+                                    <property name="top-attach">2</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkLabel" id="label19">
+                                    <property name="visible">True</property>
+                                    <property name="can-focus">False</property>
+                                    <property name="label" translatable="yes">City:</property>
+                                    <property name="xalign">1</property>
+                                  </object>
+                                  <packing>
+                                    <property name="left-attach">0</property>
+                                    <property name="top-attach">3</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkComboBoxText" id="contact_type">
+                                    <property name="visible">True</property>
+                                    <property name="can-focus">False</property>
+                                    <property name="active">0</property>
+                                    <items>
+                                      <item id="c" translatable="yes">Company</item>
+                                      <item id="o" translatable="yes">Organization</item>
+                                      <item id="p" translatable="yes">Personal</item>
+                                    </items>
+                                  </object>
+                                  <packing>
+                                    <property name="left-attach">0</property>
+                                    <property name="top-attach">4</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkLabel" id="label27">
+                                    <property name="visible">True</property>
+                                    <property name="can-focus">False</property>
+                                    <property name="label" translatable="yes">Website</property>
+                                    <property name="xalign">1</property>
+                                  </object>
+                                  <packing>
+                                    <property name="left-attach">0</property>
+                                    <property name="top-attach">5</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkEntry" id="city">
+                                    <property name="visible">True</property>
+                                    <property name="can-focus">True</property>
+                                    <property name="width-chars">16</property>
+                                    <property name="input-purpose">name</property>
+                                  </object>
+                                  <packing>
+                                    <property name="left-attach">1</property>
+                                    <property name="top-attach">3</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkEntry" id="contact_name">
+                                    <property name="visible">True</property>
+                                    <property name="can-focus">True</property>
+                                    <property name="input-purpose">name</property>
+                                  </object>
+                                  <packing>
+                                    <property name="left-attach">1</property>
+                                    <property name="top-attach">4</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkEntry" id="contact_website">
+                                    <property name="visible">True</property>
+                                    <property name="can-focus">True</property>
+                                    <property name="input-purpose">url</property>
+                                  </object>
+                                  <packing>
+                                    <property name="left-attach">1</property>
+                                    <property name="top-attach">5</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkCheckButton" id="subscribe">
+                                    <property name="label" translatable="yes">Subscribe me to the mailing 
list</property>
+                                    <property name="visible">True</property>
+                                    <property name="can-focus">True</property>
+                                    <property name="receives-default">False</property>
+                                    <property name="tooltip-text" translatable="yes">Subscribe to Glade 
Users mailing list.
+You will be sent email requesting confirmation!</property>
+                                    <property name="halign">start</property>
+                                    <property name="draw-indicator">True</property>
+                                  </object>
+                                  <packing>
+                                    <property name="left-attach">1</property>
+                                    <property name="top-attach">6</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkComboBoxText" id="country_id">
+                                    <property name="visible">True</property>
+                                    <property name="can-focus">False</property>
+                                    <property name="active">0</property>
+                                    <items>
+                                      <item id="other" translatable="yes">Choose your country</item>
+                                      <item id="af">Afghanistan</item>
+                                      <item id="ax">Ã…land Islands</item>
+                                      <item id="al">Albania</item>
+                                      <item id="dz">Algeria</item>
+                                      <item id="as">American Samoa</item>
+                                      <item id="ao">Angola</item>
+                                      <item id="ai">Anguilla</item>
+                                      <item id="aq">Antarctica</item>
+                                      <item id="ag">Antigua and Barbuda</item>
+                                      <item id="ar">Argentina</item>
+                                      <item id="am">Armenia</item>
+                                      <item id="aw">Aruba</item>
+                                      <item id="au">Australia</item>
+                                      <item id="at">Austria</item>
+                                      <item id="az">Azerbaijan</item>
+                                      <item id="bs">Bahamas</item>
+                                      <item id="bh">Bahrain</item>
+                                      <item id="bd">Bangladesh</item>
+                                      <item id="bb">Barbados</item>
+                                      <item id="by">Belarus</item>
+                                      <item id="be">Belgium</item>
+                                      <item id="bz">Belize</item>
+                                      <item id="bj">Benin</item>
+                                      <item id="bm">Bermuda</item>
+                                      <item id="bt">Bhutan</item>
+                                      <item id="bo">Bolivia, Plurinational State of</item>
+                                      <item id="bq">Bonaire, Sint Eustatius and Saba</item>
+                                      <item id="ba">Bosnia and Herzegovina</item>
+                                      <item id="bw">Botswana</item>
+                                      <item id="bv">Bouvet Island</item>
+                                      <item id="br">Brazil</item>
+                                      <item id="io">British Indian Ocean Territory</item>
+                                      <item id="bn">Brunei Darussalam</item>
+                                      <item id="bg">Bulgaria</item>
+                                      <item id="bf">Burkina Faso</item>
+                                      <item id="bi">Burundi</item>
+                                      <item id="kh">Cambodia</item>
+                                      <item id="cm">Cameroon</item>
+                                      <item id="ca">Canada</item>
+                                      <item id="cv">Cape Verde</item>
+                                      <item id="ky">Cayman Islands</item>
+                                      <item id="cf">Central African Republic</item>
+                                      <item id="td">Chad</item>
+                                      <item id="cl">Chile</item>
+                                      <item id="cn">China</item>
+                                      <item id="cx">Christmas Island</item>
+                                      <item id="cc">Cocos (Keeling) Islands</item>
+                                      <item id="co">Colombia</item>
+                                      <item id="km">Comoros</item>
+                                      <item id="cg">Congo</item>
+                                      <item id="cd">Congo, The Democratic Republic of the</item>
+                                      <item id="ck">Cook Islands</item>
+                                      <item id="cr">Costa Rica</item>
+                                      <item id="ci">Côte D'ivoire</item>
+                                      <item id="hr">Croatia</item>
+                                      <item id="cu">Cuba</item>
+                                      <item id="cw">Curaçao</item>
+                                      <item id="cy">Cyprus</item>
+                                      <item id="cz">Czech Republic</item>
+                                      <item id="dk">Denmark</item>
+                                      <item id="dj">Djibouti</item>
+                                      <item id="dm">Dominica</item>
+                                      <item id="do">Dominican Republic</item>
+                                      <item id="ec">Ecuador</item>
+                                      <item id="eg">Egypt</item>
+                                      <item id="sv">El Salvador</item>
+                                      <item id="gq">Equatorial Guinea</item>
+                                      <item id="er">Eritrea</item>
+                                      <item id="ee">Estonia</item>
+                                      <item id="et">Ethiopia</item>
+                                      <item id="fk">Falkland Islands (Malvinas)</item>
+                                      <item id="fo">Faroe Islands</item>
+                                      <item id="fj">Fiji</item>
+                                      <item id="fi">Finland</item>
+                                      <item id="fr">France</item>
+                                      <item id="gf">French Guiana</item>
+                                      <item id="pf">French Polynesia</item>
+                                      <item id="tf">French Southern Territories</item>
+                                      <item id="ga">Gabon</item>
+                                      <item id="gm">Gambia</item>
+                                      <item id="ge">Georgia</item>
+                                      <item id="de">Germany</item>
+                                      <item id="gh">Ghana</item>
+                                      <item id="gi">Gibraltar</item>
+                                      <item id="gr">Greece</item>
+                                      <item id="gl">Greenland</item>
+                                      <item id="gd">Grenada</item>
+                                      <item id="gp">Guadeloupe</item>
+                                      <item id="gu">Guam</item>
+                                      <item id="gt">Guatemala</item>
+                                      <item id="gg">Guernsey</item>
+                                      <item id="gn">Guinea</item>
+                                      <item id="gw">Guinea-bissau</item>
+                                      <item id="gy">Guyana</item>
+                                      <item id="ht">Haiti</item>
+                                      <item id="hm">Heard Island and Mcdonald Islands</item>
+                                      <item id="va">Holy See (Vatican City State)</item>
+                                      <item id="hn">Honduras</item>
+                                      <item id="hk">Hong Kong</item>
+                                      <item id="hu">Hungary</item>
+                                      <item id="is">Iceland</item>
+                                      <item id="in">India</item>
+                                      <item id="id">Indonesia</item>
+                                      <item id="ir">Iran, Islamic Republic of</item>
+                                      <item id="iq">Iraq</item>
+                                      <item id="ie">Ireland</item>
+                                      <item id="im">Isle of Man</item>
+                                      <item id="il">Israel</item>
+                                      <item id="it">Italy</item>
+                                      <item id="jm">Jamaica</item>
+                                      <item id="jp">Japan</item>
+                                      <item id="je">Jersey</item>
+                                      <item id="jo">Jordan</item>
+                                      <item id="kz">Kazakhstan</item>
+                                      <item id="ke">Kenya</item>
+                                      <item id="ki">Kiribati</item>
+                                      <item id="kp">Korea, Democratic People's Republic of</item>
+                                      <item id="kr">Korea, Republic of</item>
+                                      <item id="kw">Kuwait</item>
+                                      <item id="kg">Kyrgyzstan</item>
+                                      <item id="la">Lao People's Democratic Republic</item>
+                                      <item id="lv">Latvia</item>
+                                      <item id="lb">Lebanon</item>
+                                      <item id="ls">Lesotho</item>
+                                      <item id="lr">Liberia</item>
+                                      <item id="ly">Libya</item>
+                                      <item id="li">Liechtenstein</item>
+                                      <item id="lt">Lithuania</item>
+                                      <item id="lu">Luxembourg</item>
+                                      <item id="mo">Macao</item>
+                                      <item id="mk">Macedonia, The Former Yugoslav Republic of</item>
+                                      <item id="mg">Madagascar</item>
+                                      <item id="mw">Malawi</item>
+                                      <item id="my">Malaysia</item>
+                                      <item id="mv">Maldives</item>
+                                      <item id="ml">Mali</item>
+                                      <item id="mt">Malta</item>
+                                      <item id="mh">Marshall Islands</item>
+                                      <item id="mq">Martinique</item>
+                                      <item id="mr">Mauritania</item>
+                                      <item id="mu">Mauritius</item>
+                                      <item id="yt">Mayotte</item>
+                                      <item id="mx">Mexico</item>
+                                      <item id="fm">Micronesia, Federated States of</item>
+                                      <item id="md">Moldova, Republic of</item>
+                                      <item id="mc">Monaco</item>
+                                      <item id="mn">Mongolia</item>
+                                      <item id="me">Montenegro</item>
+                                      <item id="ms">Montserrat</item>
+                                      <item id="ma">Morocco</item>
+                                      <item id="mz">Mozambique</item>
+                                      <item id="mm">Myanmar</item>
+                                      <item id="na">Namibia</item>
+                                      <item id="nr">Nauru</item>
+                                      <item id="np">Nepal</item>
+                                      <item id="nl">Netherlands</item>
+                                      <item id="nc">New Caledonia</item>
+                                      <item id="nz">New Zealand</item>
+                                      <item id="ni">Nicaragua</item>
+                                      <item id="ne">Niger</item>
+                                      <item id="ng">Nigeria</item>
+                                      <item id="nu">Niue</item>
+                                      <item id="nf">Norfolk Island</item>
+                                      <item id="mp">Northern Mariana Islands</item>
+                                      <item id="no">Norway</item>
+                                      <item id="om">Oman</item>
+                                      <item id="pk">Pakistan</item>
+                                      <item id="pw">Palau</item>
+                                      <item id="ps">Palestine, State of</item>
+                                      <item id="pa">Panama</item>
+                                      <item id="pg">Papua New Guinea</item>
+                                      <item id="py">Paraguay</item>
+                                      <item id="pe">Peru</item>
+                                      <item id="ph">Philippines</item>
+                                      <item id="pn">Pitcairn</item>
+                                      <item id="pl">Poland</item>
+                                      <item id="pt">Portugal</item>
+                                      <item id="pr">Puerto Rico</item>
+                                      <item id="qa">Qatar</item>
+                                      <item id="re">Réunion</item>
+                                      <item id="ro">Romania</item>
+                                      <item id="ru">Russian Federation</item>
+                                      <item id="rw">Rwanda</item>
+                                      <item id="bl">Saint Barthélemy</item>
+                                      <item id="sh">Saint Helena, Ascension and Tristan Da Cunha</item>
+                                      <item id="kn">Saint Kitts and Nevis</item>
+                                      <item id="lc">Saint Lucia</item>
+                                      <item id="mf">Saint Martin (French Part)</item>
+                                      <item id="pm">Saint Pierre and Miquelon</item>
+                                      <item id="vc">Saint Vincent and The Grenadines</item>
+                                      <item id="ws">Samoa</item>
+                                      <item id="sm">San Marino</item>
+                                      <item id="st">Sao Tome and Principe</item>
+                                      <item id="sa">Saudi Arabia</item>
+                                      <item id="sn">Senegal</item>
+                                      <item id="rs">Serbia</item>
+                                      <item id="sc">Seychelles</item>
+                                      <item id="sl">Sierra Leone</item>
+                                      <item id="sg">Singapore</item>
+                                      <item id="sx">Sint Maarten (Dutch Part)</item>
+                                      <item id="sk">Slovakia</item>
+                                      <item id="si">Slovenia</item>
+                                      <item id="sb">Solomon Islands</item>
+                                      <item id="so">Somalia</item>
+                                      <item id="za">South Africa</item>
+                                      <item id="gs">South Georgia and The South Sandwich Islands</item>
+                                      <item id="ss">South Sudan</item>
+                                      <item id="es">Spain</item>
+                                      <item id="lk">Sri Lanka</item>
+                                      <item id="sd">Sudan</item>
+                                      <item id="sr">Suriname</item>
+                                      <item id="sj">Svalbard and Jan Mayen</item>
+                                      <item id="sz">Swaziland</item>
+                                      <item id="se">Sweden</item>
+                                      <item id="ch">Switzerland</item>
+                                      <item id="sy">Syrian Arab Republic</item>
+                                      <item id="tw">Taiwan</item>
+                                      <item id="tj">Tajikistan</item>
+                                      <item id="tz">Tanzania, United Republic of</item>
+                                      <item id="th">Thailand</item>
+                                      <item id="tl">Timor-leste</item>
+                                      <item id="tg">Togo</item>
+                                      <item id="tk">Tokelau</item>
+                                      <item id="to">Tonga</item>
+                                      <item id="tt">Trinidad and Tobago</item>
+                                      <item id="tn">Tunisia</item>
+                                      <item id="tr">Turkey</item>
+                                      <item id="tm">Turkmenistan</item>
+                                      <item id="tc">Turks and Caicos Islands</item>
+                                      <item id="tv">Tuvalu</item>
+                                      <item id="ug">Uganda</item>
+                                      <item id="ua">Ukraine</item>
+                                      <item id="ae">United Arab Emirates</item>
+                                      <item id="gb">United Kingdom</item>
+                                      <item id="us">United States</item>
+                                      <item id="um">United States Minor Outlying Islands</item>
+                                      <item id="uy">Uruguay</item>
+                                      <item id="uz">Uzbekistan</item>
+                                      <item id="vu">Vanuatu</item>
+                                      <item id="ve">Venezuela, Bolivarian Republic of</item>
+                                      <item id="vn">Vietnam</item>
+                                      <item id="vg">Virgin Islands, British</item>
+                                      <item id="vi">Virgin Islands, U.S.</item>
+                                      <item id="wf">Wallis and Futuna</item>
+                                      <item id="eh">Western Sahara</item>
+                                      <item id="ye">Yemen</item>
+                                      <item id="zm">Zambia</item>
+                                      <item id="zw">Zimbabwe</item>
+                                    </items>
+                                  </object>
+                                  <packing>
+                                    <property name="left-attach">1</property>
+                                    <property name="top-attach">2</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <placeholder/>
+                                </child>
                                 <style>
-                                  <class name="textbox-title"/>
+                                  <class name="info-box"/>
                                 </style>
                               </object>
                               <packing>
@@ -691,25 +640,57 @@ You will be sent email requesting confirmation!</property>
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkLabel" id="label25">
+                              <object class="GtkBox" id="box2">
                                 <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="label" translatable="yes">All the data will be stored in a 
private location and will not be shared with the public or any third party.</property>
-                                <property name="wrap">True</property>
-                                <property name="wrap_mode">word-char</property>
-                                <property name="width_chars">18</property>
-                                <property name="max_width_chars">18</property>
-                                <property name="xalign">0</property>
+                                <property name="can-focus">False</property>
+                                <property name="halign">center</property>
+                                <property name="valign">start</property>
+                                <property name="orientation">vertical</property>
+                                <child>
+                                  <object class="GtkLabel" id="label6">
+                                    <property name="visible">True</property>
+                                    <property name="can-focus">False</property>
+                                    <property name="label" translatable="yes">We care about 
privacy!</property>
+                                    <property name="wrap">True</property>
+                                    <property name="max-width-chars">8</property>
+                                    <property name="xalign">0</property>
+                                    <style>
+                                      <class name="textbox-title"/>
+                                    </style>
+                                  </object>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">True</property>
+                                    <property name="position">0</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkLabel" id="label25">
+                                    <property name="visible">True</property>
+                                    <property name="can-focus">False</property>
+                                    <property name="label" translatable="yes">All the data will be stored in 
a private location and will not be shared with the public or any third party.</property>
+                                    <property name="wrap">True</property>
+                                    <property name="wrap-mode">word-char</property>
+                                    <property name="width-chars">18</property>
+                                    <property name="max-width-chars">18</property>
+                                    <property name="xalign">0</property>
+                                  </object>
+                                  <packing>
+                                    <property name="expand">True</property>
+                                    <property name="fill">True</property>
+                                    <property name="position">1</property>
+                                  </packing>
+                                </child>
+                                <style>
+                                  <class name="textbox"/>
+                                </style>
                               </object>
                               <packing>
-                                <property name="expand">True</property>
+                                <property name="expand">False</property>
                                 <property name="fill">True</property>
                                 <property name="position">1</property>
                               </packing>
                             </child>
-                            <style>
-                              <class name="textbox"/>
-                            </style>
                           </object>
                           <packing>
                             <property name="expand">False</property>
@@ -717,113 +698,42 @@ You will be sent email requesting confirmation!</property>
                             <property name="position">1</property>
                           </packing>
                         </child>
-                      </object>
-                      <packing>
-                        <property name="expand">False</property>
-                        <property name="fill">True</property>
-                        <property name="position">1</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkBox" id="box14">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="margin_left">12</property>
-                        <property name="margin_right">12</property>
-                        <property name="spacing">4</property>
                         <child>
-                          <object class="GtkCheckButton" id="update_token_checkbutton">
-                            <property name="label" translatable="yes">Update Info</property>
+                          <object class="GtkLabel" id="label12">
                             <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="receives_default">False</property>
+                            <property name="can-focus">False</property>
+                            <property name="label" translatable="yes">Glade User Survey</property>
                             <property name="xalign">0</property>
-                            <property name="draw_indicator">True</property>
-                            <signal name="toggled" handler="toggle_button_set_sensitive_on_toggle" 
object="update_token" swapped="no"/>
+                            <style>
+                              <class name="title"/>
+                            </style>
                           </object>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">True</property>
-                            <property name="position">0</property>
+                            <property name="position">2</property>
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkEntry" id="update_token">
+                          <object class="GtkBox" id="survey_box">
                             <property name="visible">True</property>
-                            <property name="sensitive">False</property>
-                            <property name="can_focus">True</property>
-                            <property name="width_chars">48</property>
-                            <property name="placeholder_text" translatable="yes">&lt;Insert update token, if 
you want to update previously sent data&gt;</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                      </object>
-                      <packing>
-                        <property name="expand">False</property>
-                        <property name="fill">True</property>
-                        <property name="position">2</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkLabel" id="label12">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="label" translatable="yes">Glade User Survey</property>
-                        <property name="xalign">0</property>
-                        <style>
-                          <class name="title"/>
-                        </style>
-                      </object>
-                      <packing>
-                        <property name="expand">False</property>
-                        <property name="fill">True</property>
-                        <property name="position">3</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkBox" id="question_box">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="margin_left">12</property>
-                        <property name="margin_right">12</property>
-                        <property name="margin_end">12</property>
-                        <property name="margin_bottom">4</property>
-                        <property name="orientation">vertical</property>
-                        <property name="spacing">8</property>
-                        <child>
-                          <object class="GtkBox" id="box1">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
+                            <property name="can-focus">False</property>
+                            <property name="margin-start">12</property>
+                            <property name="margin-end">12</property>
+                            <property name="margin-bottom">4</property>
                             <property name="orientation">vertical</property>
+                            <property name="spacing">8</property>
                             <child>
-                              <object class="GtkLabel" id="label5">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="label" translatable="yes">How long have you been 
programming?</property>
-                                <property name="xalign">0</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkBox" id="box3">
+                              <object class="GtkBox" id="box1">
                                 <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="spacing">4</property>
+                                <property name="can-focus">False</property>
+                                <property name="orientation">vertical</property>
                                 <child>
-                                  <object class="GtkSpinButton" id="experience">
+                                  <object class="GtkLabel" id="label5">
                                     <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="text" translatable="yes">0</property>
-                                    <property name="adjustment">experience_adjustment</property>
-                                    <property name="numeric">True</property>
+                                    <property name="can-focus">False</property>
+                                    <property name="label" translatable="yes">How long have you been 
programming?</property>
+                                    <property name="xalign">0</property>
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
@@ -832,14 +742,55 @@ You will be sent email requesting confirmation!</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <object class="GtkComboBoxText" id="experience_unit">
+                                  <object class="GtkBox" id="box3">
                                     <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="active">0</property>
-                                    <items>
-                                      <item id="y" translatable="yes">years</item>
-                                      <item id="m" translatable="yes">months</item>
-                                    </items>
+                                    <property name="can-focus">False</property>
+                                    <property name="spacing">4</property>
+                                    <child>
+                                      <object class="GtkSpinButton" id="experience">
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="text" translatable="yes">0</property>
+                                        <property name="adjustment">experience_adjustment</property>
+                                        <property name="numeric">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">0</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkComboBoxText" id="experience_unit">
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">False</property>
+                                        <property name="active">0</property>
+                                        <items>
+                                          <item id="y" translatable="yes">years</item>
+                                          <item id="m" translatable="yes">months</item>
+                                        </items>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">1</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkCheckButton" id="experience_not_programmer">
+                                        <property name="label" translatable="yes">I am not a 
programmer</property>
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="draw-indicator">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">2</property>
+                                      </packing>
+                                    </child>
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
@@ -847,46 +798,6 @@ You will be sent email requesting confirmation!</property>
                                     <property name="position">1</property>
                                   </packing>
                                 </child>
-                                <child>
-                                  <object class="GtkCheckButton" id="experience_not_programmer">
-                                    <property name="label" translatable="yes">I am not a 
programmer</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="draw_indicator">True</property>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">True</property>
-                                    <property name="position">2</property>
-                                  </packing>
-                                </child>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkBox" id="box22">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="orientation">vertical</property>
-                            <child>
-                              <object class="GtkLabel" id="label7">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="label" translatable="yes">Which programming languages do you 
prefer?</property>
-                                <property name="xalign">0</property>
                               </object>
                               <packing>
                                 <property name="expand">False</property>
@@ -895,18 +806,16 @@ You will be sent email requesting confirmation!</property>
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkBox" id="box13">
+                              <object class="GtkBox" id="box22">
                                 <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="spacing">8</property>
+                                <property name="can-focus">False</property>
+                                <property name="orientation">vertical</property>
                                 <child>
-                                  <object class="GtkCheckButton" id="lang_c">
-                                    <property name="label" translatable="yes">C</property>
+                                  <object class="GtkLabel" id="label7">
                                     <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
+                                    <property name="can-focus">False</property>
+                                    <property name="label" translatable="yes">Which programming languages do 
you prefer?</property>
                                     <property name="xalign">0</property>
-                                    <property name="draw_indicator">True</property>
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
@@ -915,13 +824,160 @@ You will be sent email requesting confirmation!</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <object class="GtkCheckButton" id="lang_cpp">
-                                    <property name="label" translatable="yes">C++</property>
+                                  <object class="GtkBox" id="box13">
                                     <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="draw_indicator">True</property>
+                                    <property name="can-focus">False</property>
+                                    <property name="spacing">8</property>
+                                    <child>
+                                      <object class="GtkCheckButton" id="lang_c">
+                                        <property name="label" translatable="yes">C</property>
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="draw-indicator">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">0</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkCheckButton" id="lang_cpp">
+                                        <property name="label" translatable="yes">C++</property>
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="draw-indicator">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">1</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkCheckButton" id="lang_csharp">
+                                        <property name="label" translatable="yes">C#</property>
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="draw-indicator">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">2</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkCheckButton" id="lang_java">
+                                        <property name="label" translatable="yes">Java</property>
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="draw-indicator">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">3</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkCheckButton" id="lang_python">
+                                        <property name="label" translatable="yes">Python</property>
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="draw-indicator">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">4</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkCheckButton" id="lang_javascript">
+                                        <property name="label" translatable="yes">JavaScript</property>
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="draw-indicator">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">5</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkCheckButton" id="lang_vala">
+                                        <property name="label" translatable="yes">Vala</property>
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="draw-indicator">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">6</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkCheckButton" id="lang_perl">
+                                        <property name="label" translatable="yes">Perl</property>
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="draw-indicator">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">7</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkCheckButton" id="lang_rust">
+                                        <property name="label" translatable="yes">Rust</property>
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="draw-indicator">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">8</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkCheckButton" id="lang_other">
+                                        <property name="label" translatable="yes">Other</property>
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="draw-indicator">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">9</property>
+                                      </packing>
+                                    </child>
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
@@ -929,155 +985,249 @@ You will be sent email requesting confirmation!</property>
                                     <property name="position">1</property>
                                   </packing>
                                 </child>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">True</property>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkBox" id="box25">
+                                <property name="visible">True</property>
+                                <property name="can-focus">False</property>
+                                <property name="orientation">vertical</property>
                                 <child>
-                                  <object class="GtkCheckButton" id="lang_csharp">
-                                    <property name="label" translatable="yes">C#</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="draw_indicator">True</property>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">True</property>
-                                    <property name="position">2</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkCheckButton" id="lang_java">
-                                    <property name="label" translatable="yes">Java</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="draw_indicator">True</property>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">True</property>
-                                    <property name="position">3</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkCheckButton" id="lang_python">
-                                    <property name="label" translatable="yes">Python</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="draw_indicator">True</property>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">True</property>
-                                    <property name="position">4</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkCheckButton" id="lang_javascript">
-                                    <property name="label" translatable="yes">JavaScript</property>
+                                  <object class="GtkLabel" id="label8">
                                     <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
+                                    <property name="can-focus">False</property>
+                                    <property name="label" translatable="yes">When did you start using 
Glade?</property>
                                     <property name="xalign">0</property>
-                                    <property name="draw_indicator">True</property>
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">True</property>
-                                    <property name="position">5</property>
+                                    <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <object class="GtkCheckButton" id="lang_vala">
-                                    <property name="label" translatable="yes">Vala</property>
+                                  <object class="GtkBox" id="box4">
                                     <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="draw_indicator">True</property>
+                                    <property name="can-focus">False</property>
+                                    <property name="spacing">4</property>
+                                    <child>
+                                      <object class="GtkSpinButton" id="start_using">
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="text" translatable="yes">0</property>
+                                        <property name="adjustment">start_using_adjustment</property>
+                                        <property name="numeric">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">0</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkComboBoxText" id="start_using_unit">
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">False</property>
+                                        <property name="active">0</property>
+                                        <items>
+                                          <item id="y" translatable="yes">years</item>
+                                          <item id="m" translatable="yes">months</item>
+                                        </items>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">1</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="label21">
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">False</property>
+                                        <property name="label" translatable="yes">ago</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">2</property>
+                                      </packing>
+                                    </child>
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">True</property>
-                                    <property name="position">6</property>
+                                    <property name="position">1</property>
                                   </packing>
                                 </child>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">True</property>
+                                <property name="position">2</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkBox" id="box26">
+                                <property name="visible">True</property>
+                                <property name="can-focus">False</property>
+                                <property name="hexpand">False</property>
+                                <property name="orientation">vertical</property>
                                 <child>
-                                  <object class="GtkCheckButton" id="lang_perl">
-                                    <property name="label" translatable="yes">Perl</property>
+                                  <object class="GtkLabel" id="label22">
                                     <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
+                                    <property name="can-focus">False</property>
+                                    <property name="label" translatable="yes">Which version do you normally 
use?</property>
                                     <property name="xalign">0</property>
-                                    <property name="draw_indicator">True</property>
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">True</property>
-                                    <property name="position">7</property>
+                                    <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <object class="GtkCheckButton" id="lang_other">
-                                    <property name="label" translatable="yes">Other</property>
+                                  <object class="GtkBox" id="box10">
                                     <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="draw_indicator">True</property>
+                                    <property name="can-focus">False</property>
+                                    <property name="halign">start</property>
+                                    <property name="orientation">vertical</property>
+                                    <child>
+                                      <object class="GtkRadioButton" id="version">
+                                        <property name="label" translatable="yes">What is available in my 
OS</property>
+                                        <property name="name">0</property>
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="active">True</property>
+                                        <property name="draw-indicator">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">0</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkRadioButton" id="version_stable">
+                                        <property name="label" translatable="yes">Latest stable from 
sources</property>
+                                        <property name="name">1</property>
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="draw-indicator">True</property>
+                                        <property name="group">version</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">1</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkRadioButton" id="version_3_8">
+                                        <property name="label" translatable="yes">3.8 for GTK+ 2</property>
+                                        <property name="name">2</property>
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="draw-indicator">True</property>
+                                        <property name="group">version</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">2</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkRadioButton" id="version_master">
+                                        <property name="label" translatable="yes">Master</property>
+                                        <property name="name">3</property>
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="draw-indicator">True</property>
+                                        <property name="group">version</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">3</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkBox" id="box23">
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">False</property>
+                                        <child>
+                                          <object class="GtkRadioButton" id="version_other_radio">
+                                            <property name="label" translatable="yes">Other</property>
+                                            <property name="name">4</property>
+                                            <property name="visible">True</property>
+                                            <property name="can-focus">True</property>
+                                            <property name="receives-default">False</property>
+                                            <property name="halign">start</property>
+                                            <property name="draw-indicator">True</property>
+                                            <property name="group">version</property>
+                                            <signal name="toggled" 
handler="toggle_button_set_visible_on_toggle" object="version_other" swapped="no"/>
+                                          </object>
+                                          <packing>
+                                            <property name="expand">False</property>
+                                            <property name="fill">True</property>
+                                            <property name="position">0</property>
+                                          </packing>
+                                        </child>
+                                        <child>
+                                          <object class="GtkComboBoxText" id="version_other">
+                                            <property name="can-focus">False</property>
+                                          </object>
+                                          <packing>
+                                            <property name="expand">False</property>
+                                            <property name="fill">True</property>
+                                            <property name="position">1</property>
+                                          </packing>
+                                        </child>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">4</property>
+                                      </packing>
+                                    </child>
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">True</property>
-                                    <property name="position">8</property>
+                                    <property name="position">1</property>
                                   </packing>
                                 </child>
                               </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">True</property>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkBox" id="box25">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="orientation">vertical</property>
-                            <child>
-                              <object class="GtkLabel" id="label8">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="label" translatable="yes">When did you start using 
Glade?</property>
-                                <property name="xalign">0</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">0</property>
+                                <property name="position">3</property>
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkBox" id="box4">
+                              <object class="GtkBox" id="box27">
                                 <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="spacing">4</property>
+                                <property name="can-focus">False</property>
+                                <property name="orientation">vertical</property>
                                 <child>
-                                  <object class="GtkSpinButton" id="start_using">
+                                  <object class="GtkLabel" id="label9">
                                     <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="text" translatable="yes">0</property>
-                                    <property name="adjustment">start_using_adjustment</property>
-                                    <property name="numeric">True</property>
+                                    <property name="can-focus">False</property>
+                                    <property name="label" translatable="yes">On what operating 
systems?</property>
+                                    <property name="xalign">0</property>
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
@@ -1086,14 +1236,247 @@ You will be sent email requesting confirmation!</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <object class="GtkComboBoxText" id="start_using_unit">
+                                  <object class="GtkGrid" id="grid2">
                                     <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="active">0</property>
-                                    <items>
-                                      <item id="y" translatable="yes">years</item>
-                                      <item id="m" translatable="yes">months</item>
-                                    </items>
+                                    <property name="can-focus">False</property>
+                                    <property name="row-spacing">4</property>
+                                    <child>
+                                      <object class="GtkComboBoxText" id="os_linux">
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">False</property>
+                                        <property name="active">0</property>
+                                        <items>
+                                          <item id="0" translatable="yes">distribution</item>
+                                          <item id="18" translatable="yes">Alpine</item>
+                                          <item id="1" translatable="yes">Arch Linux</item>
+                                          <item id="28" translatable="yes">Ataraxia Linux</item>
+                                          <item id="15" translatable="yes">CentOS</item>
+                                          <item id="13" translatable="yes">Chrome OS</item>
+                                          <item id="23" translatable="yes">Clear Linux</item>
+                                          <item id="2" translatable="yes">Debian</item>
+                                          <item id="21" translatable="yes">elementary OS</item>
+                                          <item id="12" translatable="yes">Endless OS</item>
+                                          <item id="4" translatable="yes">Fedora</item>
+                                          <item id="5" translatable="yes">Gentoo</item>
+                                          <item id="16" translatable="yes">Kubuntu</item>
+                                          <item id="14" translatable="yes">Linux Mint</item>
+                                          <item id="19" translatable="yes">Mageia</item>
+                                          <item id="6" translatable="yes">Mandriva</item>
+                                          <item id="25" translatable="yes">Nix OS</item>
+                                          <item id="3" translatable="yes">openSUSE</item>
+                                          <item id="11" translatable="yes">Oracle</item>
+                                          <item id="20" translatable="yes">Pop!_OS</item>
+                                          <item id="26" translatable="yes">PureOS</item>
+                                          <item id="22" translatable="yes">Raspbian</item>
+                                          <item id="7" translatable="yes">Red Hat</item>
+                                          <item id="17" translatable="yes">Solus</item>
+                                          <item id="27" translatable="yes">SulinOS</item>
+                                          <item id="8" translatable="yes">Turbolinux</item>
+                                          <item id="9" translatable="yes">Ubuntu</item>
+                                          <item id="24" translatable="yes">Void Linux</item>
+                                          <item id="10" translatable="yes">Xandros</item>
+                                          <item id="-1" translatable="yes">Other</item>
+                                        </items>
+                                      </object>
+                                      <packing>
+                                        <property name="left-attach">1</property>
+                                        <property name="top-attach">0</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkComboBoxText" id="os_bsd">
+                                        <property name="can-focus">False</property>
+                                        <property name="active">0</property>
+                                        <items>
+                                          <item id="0" translatable="yes">variant</item>
+                                          <item id="1" translatable="yes">FreeBSD</item>
+                                          <item id="2" translatable="yes">OpenBSD</item>
+                                          <item id="3" translatable="yes">NetBSD</item>
+                                          <item id="-1" translatable="yes">Other</item>
+                                        </items>
+                                      </object>
+                                      <packing>
+                                        <property name="left-attach">1</property>
+                                        <property name="top-attach">1</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkComboBoxText" id="os_solaris">
+                                        <property name="can-focus">False</property>
+                                        <property name="active">0</property>
+                                        <items>
+                                          <item id="0" translatable="yes">variant</item>
+                                          <item id="1" translatable="yes">Oracle Solaris</item>
+                                          <item id="2" translatable="yes">OpenSolaris</item>
+                                          <item id="3" translatable="yes">illumos</item>
+                                          <item id="-1" translatable="yes">Other</item>
+                                        </items>
+                                      </object>
+                                      <packing>
+                                        <property name="left-attach">1</property>
+                                        <property name="top-attach">4</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkEntry" id="os_other">
+                                        <property name="can-focus">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="left-attach">1</property>
+                                        <property name="top-attach">5</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkComboBoxText" id="os_windows">
+                                        <property name="can-focus">False</property>
+                                        <property name="active">0</property>
+                                        <items>
+                                          <item id="0" translatable="yes">version</item>
+                                          <item id="9" translatable="yes">10</item>
+                                          <item id="7" translatable="yes">8</item>
+                                          <item id="6" translatable="yes">7</item>
+                                          <item id="4" translatable="yes">Vista</item>
+                                          <item id="8" translatable="yes">2012</item>
+                                          <item id="5" translatable="yes">2008</item>
+                                          <item id="3" translatable="yes">2003</item>
+                                          <item id="2" translatable="yes">XP</item>
+                                          <item id="1" translatable="yes">2000</item>
+                                          <item id="-1" translatable="yes">Other</item>
+                                        </items>
+                                      </object>
+                                      <packing>
+                                        <property name="left-attach">1</property>
+                                        <property name="top-attach">2</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkComboBoxText" id="os_osx">
+                                        <property name="can-focus">False</property>
+                                        <property name="active">0</property>
+                                        <items>
+                                          <item id="0" translatable="yes">version</item>
+                                          <item id="12" translatable="yes">Catalina</item>
+                                          <item id="11" translatable="yes">Mojave</item>
+                                          <item id="10" translatable="yes">High Sierra</item>
+                                          <item id="9" translatable="yes">Sierra</item>
+                                          <item id="8" translatable="yes">El Capitan</item>
+                                          <item id="7" translatable="yes">Yosemite</item>
+                                          <item id="6" translatable="yes">Mavericks</item>
+                                          <item id="5" translatable="yes">Mountain Lion</item>
+                                          <item id="4" translatable="yes">Lion</item>
+                                          <item id="3" translatable="yes">Snow Leopard</item>
+                                          <item id="2" translatable="yes">Leopard</item>
+                                          <item id="1" translatable="yes">Tiger</item>
+                                          <item id="-1" translatable="yes">Other</item>
+                                        </items>
+                                      </object>
+                                      <packing>
+                                        <property name="left-attach">1</property>
+                                        <property name="top-attach">3</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkRadioButton" id="os">
+                                        <property name="label" translatable="yes">GNU/Linux</property>
+                                        <property name="name">0</property>
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="active">True</property>
+                                        <property name="draw-indicator">True</property>
+                                        <signal name="toggled" handler="toggle_button_set_visible_on_toggle" 
object="os_linux" swapped="no"/>
+                                      </object>
+                                      <packing>
+                                        <property name="left-attach">0</property>
+                                        <property name="top-attach">0</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkRadioButton" id="os_bsd_radiobutton">
+                                        <property name="label" translatable="yes">BSD</property>
+                                        <property name="name">1</property>
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="draw-indicator">True</property>
+                                        <property name="group">os</property>
+                                        <signal name="toggled" handler="toggle_button_set_visible_on_toggle" 
object="os_bsd" swapped="no"/>
+                                      </object>
+                                      <packing>
+                                        <property name="left-attach">0</property>
+                                        <property name="top-attach">1</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkRadioButton" id="os_windows_radiobutton">
+                                        <property name="label" translatable="yes">Windows</property>
+                                        <property name="name">2</property>
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="draw-indicator">True</property>
+                                        <property name="group">os</property>
+                                        <signal name="toggled" handler="toggle_button_set_visible_on_toggle" 
object="os_windows" swapped="no"/>
+                                      </object>
+                                      <packing>
+                                        <property name="left-attach">0</property>
+                                        <property name="top-attach">2</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkRadioButton" id="os_osx_radiobutton">
+                                        <property name="label" translatable="yes">Mac OS X</property>
+                                        <property name="name">3</property>
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="draw-indicator">True</property>
+                                        <property name="group">os</property>
+                                        <signal name="toggled" handler="toggle_button_set_visible_on_toggle" 
object="os_osx" swapped="no"/>
+                                      </object>
+                                      <packing>
+                                        <property name="left-attach">0</property>
+                                        <property name="top-attach">3</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkRadioButton" id="os_solaris_radiobutton">
+                                        <property name="label" translatable="yes">Solaris</property>
+                                        <property name="name">4</property>
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="draw-indicator">True</property>
+                                        <property name="group">os</property>
+                                        <signal name="toggled" handler="toggle_button_set_visible_on_toggle" 
object="os_solaris" swapped="no"/>
+                                      </object>
+                                      <packing>
+                                        <property name="left-attach">0</property>
+                                        <property name="top-attach">4</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkRadioButton" id="os_other_radiobutton">
+                                        <property name="label" translatable="yes">Other</property>
+                                        <property name="name">5</property>
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="draw-indicator">True</property>
+                                        <property name="group">os</property>
+                                        <signal name="toggled" handler="toggle_button_set_visible_on_toggle" 
object="os_other" swapped="no"/>
+                                      </object>
+                                      <packing>
+                                        <property name="left-attach">0</property>
+                                        <property name="top-attach">5</property>
+                                      </packing>
+                                    </child>
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
@@ -1101,67 +1484,24 @@ You will be sent email requesting confirmation!</property>
                                     <property name="position">1</property>
                                   </packing>
                                 </child>
-                                <child>
-                                  <object class="GtkLabel" id="label21">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="label" translatable="yes">ago</property>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">True</property>
-                                    <property name="position">2</property>
-                                  </packing>
-                                </child>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">2</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkBox" id="box26">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="hexpand">False</property>
-                            <property name="orientation">vertical</property>
-                            <child>
-                              <object class="GtkLabel" id="label22">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="label" translatable="yes">Which version do you normally 
use?</property>
-                                <property name="xalign">0</property>
                               </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">True</property>
-                                <property name="position">0</property>
+                                <property name="position">4</property>
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkBox" id="box10">
+                              <object class="GtkBox" id="box28">
                                 <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="halign">start</property>
+                                <property name="can-focus">False</property>
                                 <property name="orientation">vertical</property>
                                 <child>
-                                  <object class="GtkRadioButton" id="version">
-                                    <property name="label" translatable="yes">What is available in my 
OS</property>
-                                    <property name="name">0</property>
+                                  <object class="GtkLabel" id="label10">
                                     <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
+                                    <property name="can-focus">False</property>
+                                    <property name="label" translatable="yes">How often do you use 
it?</property>
                                     <property name="xalign">0</property>
-                                    <property name="active">True</property>
-                                    <property name="draw_indicator">True</property>
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
@@ -1170,71 +1510,21 @@ You will be sent email requesting confirmation!</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <object class="GtkRadioButton" id="version_stable">
-                                    <property name="label" translatable="yes">Latest stable from 
sources</property>
-                                    <property name="name">1</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="draw_indicator">True</property>
-                                    <property name="group">version</property>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">True</property>
-                                    <property name="position">1</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkRadioButton" id="version_3_8">
-                                    <property name="label" translatable="yes">3.8 for GTK+ 2</property>
-                                    <property name="name">2</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="draw_indicator">True</property>
-                                    <property name="group">version</property>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">True</property>
-                                    <property name="position">2</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkRadioButton" id="version_master">
-                                    <property name="label" translatable="yes">Master</property>
-                                    <property name="name">3</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="draw_indicator">True</property>
-                                    <property name="group">version</property>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">True</property>
-                                    <property name="position">3</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkBox" id="box23">
+                                  <object class="GtkBox" id="box6">
                                     <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
+                                    <property name="can-focus">False</property>
+                                    <property name="halign">start</property>
+                                    <property name="orientation">vertical</property>
                                     <child>
-                                      <object class="GtkRadioButton" id="version_other_radio">
-                                        <property name="label" translatable="yes">Other</property>
-                                        <property name="name">4</property>
+                                      <object class="GtkRadioButton" id="freq">
+                                        <property name="label" translatable="yes">Every day</property>
+                                        <property name="name">0</property>
                                         <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="receives_default">False</property>
-                                        <property name="xalign">0</property>
-                                        <property name="draw_indicator">True</property>
-                                        <property name="group">version</property>
-                                        <signal name="toggled" handler="toggle_button_set_visible_on_toggle" 
object="version_other" swapped="no"/>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="active">True</property>
+                                        <property name="draw-indicator">True</property>
                                       </object>
                                       <packing>
                                         <property name="expand">False</property>
@@ -1243,8 +1533,15 @@ You will be sent email requesting confirmation!</property>
                                       </packing>
                                     </child>
                                     <child>
-                                      <object class="GtkComboBoxText" id="version_other">
-                                        <property name="can_focus">False</property>
+                                      <object class="GtkRadioButton" id="freq_few_week_radiobutton">
+                                        <property name="label" translatable="yes">Few days a week</property>
+                                        <property name="name">1</property>
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="draw-indicator">True</property>
+                                        <property name="group">freq</property>
                                       </object>
                                       <packing>
                                         <property name="expand">False</property>
@@ -1252,769 +1549,121 @@ You will be sent email requesting confirmation!</property>
                                         <property name="position">1</property>
                                       </packing>
                                     </child>
+                                    <child>
+                                      <object class="GtkRadioButton" id="freq_week_radiobutton">
+                                        <property name="label" translatable="yes">Every week</property>
+                                        <property name="name">2</property>
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="draw-indicator">True</property>
+                                        <property name="group">freq</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">2</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkRadioButton" id="freq_few_month_radiobutton">
+                                        <property name="label" translatable="yes">A few times a 
month</property>
+                                        <property name="name">3</property>
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="draw-indicator">True</property>
+                                        <property name="group">freq</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">3</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkRadioButton" id="freq_month_radiobutton">
+                                        <property name="label" translatable="yes">Once a month</property>
+                                        <property name="name">4</property>
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="draw-indicator">True</property>
+                                        <property name="group">freq</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">4</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkRadioButton" id="freq_few_year_radiobutton">
+                                        <property name="label" translatable="yes">A few times a 
year</property>
+                                        <property name="name">5</property>
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="draw-indicator">True</property>
+                                        <property name="group">freq</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">5</property>
+                                      </packing>
+                                    </child>
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">True</property>
-                                    <property name="position">4</property>
+                                    <property name="position">1</property>
                                   </packing>
                                 </child>
                               </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">True</property>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">3</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkBox" id="box27">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="orientation">vertical</property>
-                            <child>
-                              <object class="GtkLabel" id="label9">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="label" translatable="yes">On what operating 
systems?</property>
-                                <property name="xalign">0</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkGrid" id="grid2">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <child>
-                                  <object class="GtkComboBoxText" id="os_linux">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="active">0</property>
-                                    <items>
-                                      <item id="0" translatable="yes">distribution</item>
-                                      <item id="18" translatable="yes">Alpine</item>
-                                      <item id="1" translatable="yes">Arch Linux</item>
-                                      <item id="28" translatable="yes">Ataraxia Linux</item>
-                                      <item id="15" translatable="yes">CentOS</item>
-                                      <item id="13" translatable="yes">Chrome OS</item>
-                                      <item id="23" translatable="yes">Clear Linux</item>
-                                      <item id="2" translatable="yes">Debian</item>
-                                      <item id="21" translatable="yes">elementary OS</item>
-                                      <item id="12" translatable="yes">Endless OS</item>
-                                      <item id="4" translatable="yes">Fedora</item>
-                                      <item id="5" translatable="yes">Gentoo</item>
-                                      <item id="16" translatable="yes">Kubuntu</item>
-                                      <item id="14" translatable="yes">Linux Mint</item>
-                                      <item id="19" translatable="yes">Mageia</item>
-                                      <item id="6" translatable="yes">Mandriva</item>
-                                      <item id="25" translatable="yes">Nix OS</item>
-                                      <item id="3" translatable="yes">openSUSE</item>
-                                      <item id="11" translatable="yes">Oracle</item>
-                                      <item id="20" translatable="yes">Pop!_OS</item>
-                                      <item id="26" translatable="yes">PureOS</item>
-                                      <item id="22" translatable="yes">Raspbian</item>
-                                      <item id="7" translatable="yes">Red Hat</item>
-                                      <item id="17" translatable="yes">Solus</item>
-                                      <item id="27" translatable="yes">SulinOS</item>
-                                      <item id="8" translatable="yes">Turbolinux</item>
-                                      <item id="9" translatable="yes">Ubuntu</item>
-                                      <item id="24" translatable="yes">Void Linux</item>
-                                      <item id="10" translatable="yes">Xandros</item>
-                                      <item id="-1" translatable="yes">Other</item>
-                                    </items>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">1</property>
-                                    <property name="top_attach">0</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkComboBoxText" id="os_bsd">
-                                    <property name="can_focus">False</property>
-                                    <property name="active">0</property>
-                                    <items>
-                                      <item id="0" translatable="yes">variant</item>
-                                      <item id="1" translatable="yes">FreeBSD</item>
-                                      <item id="2" translatable="yes">OpenBSD</item>
-                                      <item id="3" translatable="yes">NetBSD</item>
-                                      <item id="-1" translatable="yes">Other</item>
-                                    </items>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">1</property>
-                                    <property name="top_attach">1</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkComboBoxText" id="os_solaris">
-                                    <property name="can_focus">False</property>
-                                    <property name="active">0</property>
-                                    <items>
-                                      <item id="0" translatable="yes">variant</item>
-                                      <item id="1" translatable="yes">Oracle Solaris</item>
-                                      <item id="2" translatable="yes">OpenSolaris</item>
-                                      <item id="3" translatable="yes">illumos</item>
-                                      <item id="-1" translatable="yes">Other</item>
-                                    </items>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">1</property>
-                                    <property name="top_attach">4</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkEntry" id="os_other">
-                                    <property name="can_focus">True</property>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">1</property>
-                                    <property name="top_attach">5</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkComboBoxText" id="os_windows">
-                                    <property name="can_focus">False</property>
-                                    <property name="active">0</property>
-                                    <items>
-                                      <item id="0" translatable="yes">version</item>
-                                      <item id="9" translatable="yes">10</item>
-                                      <item id="7" translatable="yes">8</item>
-                                      <item id="6" translatable="yes">7</item>
-                                      <item id="4" translatable="yes">Vista</item>
-                                      <item id="8" translatable="yes">2012</item>
-                                      <item id="5" translatable="yes">2008</item>
-                                      <item id="3" translatable="yes">2003</item>
-                                      <item id="2" translatable="yes">XP</item>
-                                      <item id="1" translatable="yes">2000</item>
-                                      <item id="-1" translatable="yes">Other</item>
-                                    </items>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">1</property>
-                                    <property name="top_attach">2</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkComboBoxText" id="os_osx">
-                                    <property name="can_focus">False</property>
-                                    <property name="active">0</property>
-                                    <items>
-                                      <item id="0" translatable="yes">version</item>
-                                      <item id="12" translatable="yes">Catalina</item>
-                                      <item id="11" translatable="yes">Mojave</item>
-                                      <item id="10" translatable="yes">High Sierra</item>
-                                      <item id="9" translatable="yes">Sierra</item>
-                                      <item id="8" translatable="yes">El Capitan</item>
-                                      <item id="7" translatable="yes">Yosemite</item>
-                                      <item id="6" translatable="yes">Mavericks</item>
-                                      <item id="5" translatable="yes">Mountain Lion</item>
-                                      <item id="4" translatable="yes">Lion</item>
-                                      <item id="3" translatable="yes">Snow Leopard</item>
-                                      <item id="2" translatable="yes">Leopard</item>
-                                      <item id="1" translatable="yes">Tiger</item>
-                                      <item id="-1" translatable="yes">Other</item>
-                                    </items>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">1</property>
-                                    <property name="top_attach">3</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkRadioButton" id="os">
-                                    <property name="label" translatable="yes">GNU/Linux</property>
-                                    <property name="name">0</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="active">True</property>
-                                    <property name="draw_indicator">True</property>
-                                    <signal name="toggled" handler="toggle_button_set_visible_on_toggle" 
object="os_linux" swapped="no"/>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">0</property>
-                                    <property name="top_attach">0</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkRadioButton" id="os_bsd_radiobutton">
-                                    <property name="label" translatable="yes">BSD</property>
-                                    <property name="name">1</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="draw_indicator">True</property>
-                                    <property name="group">os</property>
-                                    <signal name="toggled" handler="toggle_button_set_visible_on_toggle" 
object="os_bsd" swapped="no"/>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">0</property>
-                                    <property name="top_attach">1</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkRadioButton" id="os_windows_radiobutton">
-                                    <property name="label" translatable="yes">Windows</property>
-                                    <property name="name">2</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="draw_indicator">True</property>
-                                    <property name="group">os</property>
-                                    <signal name="toggled" handler="toggle_button_set_visible_on_toggle" 
object="os_windows" swapped="no"/>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">0</property>
-                                    <property name="top_attach">2</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkRadioButton" id="os_osx_radiobutton">
-                                    <property name="label" translatable="yes">Mac OS X</property>
-                                    <property name="name">3</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="draw_indicator">True</property>
-                                    <property name="group">os</property>
-                                    <signal name="toggled" handler="toggle_button_set_visible_on_toggle" 
object="os_osx" swapped="no"/>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">0</property>
-                                    <property name="top_attach">3</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkRadioButton" id="os_solaris_radiobutton">
-                                    <property name="label" translatable="yes">Solaris</property>
-                                    <property name="name">4</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="draw_indicator">True</property>
-                                    <property name="group">os</property>
-                                    <signal name="toggled" handler="toggle_button_set_visible_on_toggle" 
object="os_solaris" swapped="no"/>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">0</property>
-                                    <property name="top_attach">4</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkRadioButton" id="os_other_radiobutton">
-                                    <property name="label" translatable="yes">Other</property>
-                                    <property name="name">5</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="draw_indicator">True</property>
-                                    <property name="group">os</property>
-                                    <signal name="toggled" handler="toggle_button_set_visible_on_toggle" 
object="os_other" swapped="no"/>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">0</property>
-                                    <property name="top_attach">5</property>
-                                  </packing>
-                                </child>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">4</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkBox" id="box28">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="orientation">vertical</property>
-                            <child>
-                              <object class="GtkLabel" id="label10">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="label" translatable="yes">How often do you use it?</property>
-                                <property name="xalign">0</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkBox" id="box6">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="halign">start</property>
-                                <property name="orientation">vertical</property>
-                                <child>
-                                  <object class="GtkRadioButton" id="freq">
-                                    <property name="label" translatable="yes">Every day</property>
-                                    <property name="name">0</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="active">True</property>
-                                    <property name="draw_indicator">True</property>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">True</property>
-                                    <property name="position">0</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkRadioButton" id="freq_few_week_radiobutton">
-                                    <property name="label" translatable="yes">Few days a week</property>
-                                    <property name="name">1</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="draw_indicator">True</property>
-                                    <property name="group">freq</property>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">True</property>
-                                    <property name="position">1</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkRadioButton" id="freq_week_radiobutton">
-                                    <property name="label" translatable="yes">Every week</property>
-                                    <property name="name">2</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="draw_indicator">True</property>
-                                    <property name="group">freq</property>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">True</property>
-                                    <property name="position">2</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkRadioButton" id="freq_few_month_radiobutton">
-                                    <property name="label" translatable="yes">A few times a month</property>
-                                    <property name="name">3</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="draw_indicator">True</property>
-                                    <property name="group">freq</property>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">True</property>
-                                    <property name="position">3</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkRadioButton" id="freq_month_radiobutton">
-                                    <property name="label" translatable="yes">Once a month</property>
-                                    <property name="name">4</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="draw_indicator">True</property>
-                                    <property name="group">freq</property>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">True</property>
-                                    <property name="position">4</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkRadioButton" id="freq_few_year_radiobutton">
-                                    <property name="label" translatable="yes">A few times a year</property>
-                                    <property name="name">5</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="draw_indicator">True</property>
-                                    <property name="group">freq</property>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">True</property>
-                                    <property name="position">5</property>
-                                  </packing>
-                                </child>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">5</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkBox" id="box29">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="orientation">vertical</property>
-                            <child>
-                              <object class="GtkLabel" id="label11">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="label" translatable="yes">What level of Glade user would you 
say you are?</property>
-                                <property name="xalign">0</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkBox" id="box5">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="spacing">4</property>
-                                <child>
-                                  <object class="GtkRadioButton" id="user_level">
-                                    <property name="label" translatable="yes">Beginner</property>
-                                    <property name="name">0</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="active">True</property>
-                                    <property name="draw_indicator">True</property>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">True</property>
-                                    <property name="position">0</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkRadioButton" id="user_intermediate_radiobutton">
-                                    <property name="label" translatable="yes">Intermediate</property>
-                                    <property name="name">1</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="draw_indicator">True</property>
-                                    <property name="group">user_level</property>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">True</property>
-                                    <property name="position">1</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkRadioButton" id="user_advanced_radiobutton">
-                                    <property name="label" translatable="yes">Advanced</property>
-                                    <property name="name">2</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="draw_indicator">True</property>
-                                    <property name="group">user_level</property>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">True</property>
-                                    <property name="position">2</property>
-                                  </packing>
-                                </child>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">6</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkBox" id="box30">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="orientation">vertical</property>
-                            <child>
-                              <object class="GtkLabel" id="label13">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="label" translatable="yes">Under what kind of license(s) do 
you release the software you used Glade to create?</property>
-                                <property name="wrap">True</property>
-                                <property name="xalign">0</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkGrid" id="grid3">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <child>
-                                  <object class="GtkCheckButton" id="soft_free">
-                                    <property name="label" translatable="yes">Free software</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="draw_indicator">True</property>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">0</property>
-                                    <property name="top_attach">0</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkCheckButton" id="soft_open">
-                                    <property name="label" translatable="yes">Open source software</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="draw_indicator">True</property>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">1</property>
-                                    <property name="top_attach">0</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkCheckButton" id="soft_commercial">
-                                    <property name="label" translatable="yes">Commercial/Closed 
software</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="draw_indicator">True</property>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">0</property>
-                                    <property name="top_attach">1</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkCheckButton" id="soft_none">
-                                    <property name="label" translatable="yes">None - distributed 
internally</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="draw_indicator">True</property>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">1</property>
-                                    <property name="top_attach">1</property>
-                                  </packing>
-                                </child>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">7</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkBox" id="box33">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="orientation">vertical</property>
-                            <child>
-                              <object class="GtkLabel" id="label23">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="label" translatable="yes">In what field(s) is the software 
you used Glade to create generally used?</property>
-                                <property name="xalign">0</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkGrid" id="grid4">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <child>
-                                  <object class="GtkCheckButton" id="field_academic">
-                                    <property name="label" translatable="yes">Academic</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="draw_indicator">True</property>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">0</property>
-                                    <property name="top_attach">0</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkCheckButton" id="field_embedded">
-                                    <property name="label" translatable="yes">Embedded 
applications</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="draw_indicator">True</property>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">1</property>
-                                    <property name="top_attach">0</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkCheckButton" id="field_accounting">
-                                    <property name="label" translatable="yes">Accounting</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="draw_indicator">True</property>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">0</property>
-                                    <property name="top_attach">1</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkCheckButton" id="field_desktop">
-                                    <property name="label" translatable="yes">Desktop applications</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="draw_indicator">True</property>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">0</property>
-                                    <property name="top_attach">2</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkCheckButton" id="field_educational">
-                                    <property name="label" translatable="yes">Educational</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="draw_indicator">True</property>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">0</property>
-                                    <property name="top_attach">3</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkCheckButton" id="field_medical">
-                                    <property name="label" translatable="yes">Medical</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="draw_indicator">True</property>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">1</property>
-                                    <property name="top_attach">1</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkCheckButton" id="field_industrial">
-                                    <property name="label" translatable="yes">Industrial 
applications</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="draw_indicator">True</property>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">1</property>
-                                    <property name="top_attach">2</property>
-                                  </packing>
-                                </child>
+                                <property name="position">5</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkBox" id="box29">
+                                <property name="visible">True</property>
+                                <property name="can-focus">False</property>
+                                <property name="orientation">vertical</property>
                                 <child>
-                                  <object class="GtkCheckButton" id="field_scientific">
-                                    <property name="label" translatable="yes">Scientific</property>
+                                  <object class="GtkLabel" id="label11">
                                     <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
+                                    <property name="can-focus">False</property>
+                                    <property name="label" translatable="yes">What level of Glade user would 
you say you are?</property>
                                     <property name="xalign">0</property>
-                                    <property name="draw_indicator">True</property>
                                   </object>
                                   <packing>
-                                    <property name="left_attach">1</property>
-                                    <property name="top_attach">3</property>
+                                    <property name="expand">False</property>
+                                    <property name="fill">True</property>
+                                    <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <object class="GtkBox" id="box24">
+                                  <object class="GtkBox" id="box5">
                                     <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
+                                    <property name="can-focus">False</property>
                                     <property name="spacing">4</property>
                                     <child>
-                                      <object class="GtkCheckButton" id="field_other_checkbox">
-                                        <property name="label" translatable="yes">Other</property>
+                                      <object class="GtkRadioButton" id="user_level">
+                                        <property name="label" translatable="yes">Beginner</property>
+                                        <property name="name">0</property>
                                         <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="receives_default">False</property>
-                                        <property name="xalign">0</property>
-                                        <property name="draw_indicator">True</property>
-                                        <signal name="toggled" handler="toggle_button_set_visible_on_toggle" 
object="field_other" swapped="no"/>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="active">True</property>
+                                        <property name="draw-indicator">True</property>
                                       </object>
                                       <packing>
                                         <property name="expand">False</property>
@@ -2023,8 +1672,15 @@ You will be sent email requesting confirmation!</property>
                                       </packing>
                                     </child>
                                     <child>
-                                      <object class="GtkEntry" id="field_other">
-                                        <property name="can_focus">True</property>
+                                      <object class="GtkRadioButton" id="user_intermediate_radiobutton">
+                                        <property name="label" translatable="yes">Intermediate</property>
+                                        <property name="name">1</property>
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="draw-indicator">True</property>
+                                        <property name="group">user_level</property>
                                       </object>
                                       <packing>
                                         <property name="expand">False</property>
@@ -2032,108 +1688,49 @@ You will be sent email requesting confirmation!</property>
                                         <property name="position">1</property>
                                       </packing>
                                     </child>
+                                    <child>
+                                      <object class="GtkRadioButton" id="user_advanced_radiobutton">
+                                        <property name="label" translatable="yes">Advanced</property>
+                                        <property name="name">2</property>
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="draw-indicator">True</property>
+                                        <property name="group">user_level</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">2</property>
+                                      </packing>
+                                    </child>
                                   </object>
                                   <packing>
-                                    <property name="left_attach">0</property>
-                                    <property name="top_attach">4</property>
-                                    <property name="width">2</property>
+                                    <property name="expand">False</property>
+                                    <property name="fill">True</property>
+                                    <property name="position">1</property>
                                   </packing>
                                 </child>
                               </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">True</property>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">8</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkBox" id="box34">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="orientation">vertical</property>
-                            <child>
-                              <object class="GtkLabel" id="label14">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="label" translatable="yes">What aspect of the software needs 
the most improvement?</property>
-                                <property name="xalign">0</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkScrolledWindow" id="scrolledwindow1">
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="shadow_type">in</property>
-                                <property name="min_content_height">64</property>
-                                <child>
-                                  <object class="GtkTextView" id="improvement">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="accepts_tab">False</property>
-                                  </object>
-                                </child>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">9</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkBox" id="box35">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="orientation">vertical</property>
-                            <child>
-                              <object class="GtkLabel" id="label15">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="label" translatable="yes">In your opinion what is the 
biggest problem with Glade?</property>
-                                <property name="xalign">0</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">0</property>
+                                <property name="position">6</property>
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkBox" id="box7">
+                              <object class="GtkBox" id="box30">
                                 <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="halign">start</property>
+                                <property name="can-focus">False</property>
                                 <property name="orientation">vertical</property>
                                 <child>
-                                  <object class="GtkRadioButton" id="problem">
-                                    <property name="label" translatable="yes">Lack of 
documentation</property>
-                                    <property name="name">0</property>
+                                  <object class="GtkLabel" id="label13">
                                     <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="opacity">0.9882352941176471</property>
-                                    <property name="halign">start</property>
+                                    <property name="can-focus">False</property>
+                                    <property name="label" translatable="yes">Under what kind of license(s) 
do you release the software you used Glade to create?</property>
+                                    <property name="wrap">True</property>
                                     <property name="xalign">0</property>
-                                    <property name="active">True</property>
-                                    <property name="draw_indicator">True</property>
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
@@ -2142,16 +1739,65 @@ You will be sent email requesting confirmation!</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <object class="GtkRadioButton" id="problem_support_radiobutton">
-                                    <property name="label" translatable="yes">Lack of professional 
support</property>
-                                    <property name="name">1</property>
+                                  <object class="GtkGrid" id="grid3">
                                     <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="halign">start</property>
-                                    <property name="xalign">0</property>
-                                    <property name="draw_indicator">True</property>
-                                    <property name="group">problem</property>
+                                    <property name="can-focus">False</property>
+                                    <child>
+                                      <object class="GtkCheckButton" id="soft_free">
+                                        <property name="label" translatable="yes">Free software</property>
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="draw-indicator">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="left-attach">0</property>
+                                        <property name="top-attach">0</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkCheckButton" id="soft_open">
+                                        <property name="label" translatable="yes">Open source 
software</property>
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="draw-indicator">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="left-attach">1</property>
+                                        <property name="top-attach">0</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkCheckButton" id="soft_commercial">
+                                        <property name="label" translatable="yes">Commercial/Closed 
software</property>
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="draw-indicator">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="left-attach">0</property>
+                                        <property name="top-attach">1</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkCheckButton" id="soft_none">
+                                        <property name="label" translatable="yes">None - distributed 
internally</property>
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="draw-indicator">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="left-attach">1</property>
+                                        <property name="top-attach">1</property>
+                                      </packing>
+                                    </child>
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
@@ -2159,219 +1805,417 @@ You will be sent email requesting confirmation!</property>
                                     <property name="position">1</property>
                                   </packing>
                                 </child>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">True</property>
+                                <property name="position">7</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkBox" id="box33">
+                                <property name="visible">True</property>
+                                <property name="can-focus">False</property>
+                                <property name="orientation">vertical</property>
                                 <child>
-                                  <object class="GtkRadioButton" id="problem_training_radiobutton">
-                                    <property name="label" translatable="yes">Lack of professional 
training</property>
-                                    <property name="name">2</property>
+                                  <object class="GtkLabel" id="label23">
                                     <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="halign">start</property>
+                                    <property name="can-focus">False</property>
+                                    <property name="label" translatable="yes">In what field(s) is the 
software you used Glade to create generally used?</property>
                                     <property name="xalign">0</property>
-                                    <property name="draw_indicator">True</property>
-                                    <property name="group">problem</property>
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">True</property>
-                                    <property name="position">2</property>
+                                    <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <object class="GtkRadioButton" id="problem_publicity_radiobutton">
-                                    <property name="label" translatable="yes">Lack of 
publicity/exposure</property>
-                                    <property name="name">3</property>
+                                  <object class="GtkGrid" id="grid4">
                                     <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="halign">start</property>
-                                    <property name="xalign">0</property>
-                                    <property name="draw_indicator">True</property>
-                                    <property name="group">problem</property>
+                                    <property name="can-focus">False</property>
+                                    <child>
+                                      <object class="GtkCheckButton" id="field_academic">
+                                        <property name="label" translatable="yes">Academic</property>
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="draw-indicator">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="left-attach">0</property>
+                                        <property name="top-attach">0</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkCheckButton" id="field_embedded">
+                                        <property name="label" translatable="yes">Embedded 
applications</property>
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="draw-indicator">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="left-attach">1</property>
+                                        <property name="top-attach">0</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkCheckButton" id="field_accounting">
+                                        <property name="label" translatable="yes">Accounting</property>
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="draw-indicator">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="left-attach">0</property>
+                                        <property name="top-attach">1</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkCheckButton" id="field_desktop">
+                                        <property name="label" translatable="yes">Desktop 
applications</property>
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="draw-indicator">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="left-attach">0</property>
+                                        <property name="top-attach">2</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkCheckButton" id="field_educational">
+                                        <property name="label" translatable="yes">Educational</property>
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="draw-indicator">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="left-attach">0</property>
+                                        <property name="top-attach">3</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkCheckButton" id="field_medical">
+                                        <property name="label" translatable="yes">Medical</property>
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="draw-indicator">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="left-attach">1</property>
+                                        <property name="top-attach">1</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkCheckButton" id="field_industrial">
+                                        <property name="label" translatable="yes">Industrial 
applications</property>
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="draw-indicator">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="left-attach">1</property>
+                                        <property name="top-attach">2</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkCheckButton" id="field_scientific">
+                                        <property name="label" translatable="yes">Scientific</property>
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="draw-indicator">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="left-attach">1</property>
+                                        <property name="top-attach">3</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkBox" id="box24">
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">False</property>
+                                        <property name="spacing">4</property>
+                                        <child>
+                                          <object class="GtkCheckButton" id="field_other_checkbox">
+                                            <property name="label" translatable="yes">Other</property>
+                                            <property name="visible">True</property>
+                                            <property name="can-focus">True</property>
+                                            <property name="receives-default">False</property>
+                                            <property name="halign">start</property>
+                                            <property name="draw-indicator">True</property>
+                                            <signal name="toggled" 
handler="toggle_button_set_visible_on_toggle" object="field_other" swapped="no"/>
+                                          </object>
+                                          <packing>
+                                            <property name="expand">False</property>
+                                            <property name="fill">True</property>
+                                            <property name="position">0</property>
+                                          </packing>
+                                        </child>
+                                        <child>
+                                          <object class="GtkEntry" id="field_other">
+                                            <property name="can-focus">True</property>
+                                          </object>
+                                          <packing>
+                                            <property name="expand">False</property>
+                                            <property name="fill">True</property>
+                                            <property name="position">1</property>
+                                          </packing>
+                                        </child>
+                                      </object>
+                                      <packing>
+                                        <property name="left-attach">0</property>
+                                        <property name="top-attach">4</property>
+                                        <property name="width">2</property>
+                                      </packing>
+                                    </child>
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">True</property>
-                                    <property name="position">3</property>
+                                    <property name="position">1</property>
                                   </packing>
                                 </child>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">True</property>
+                                <property name="position">8</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkBox" id="box34">
+                                <property name="visible">True</property>
+                                <property name="can-focus">False</property>
+                                <property name="orientation">vertical</property>
                                 <child>
-                                  <object class="GtkRadioButton" id="problem_binaries_radiobutton">
-                                    <property name="label" translatable="yes">Lack of official binary 
releases for other OS (Windows, Mac OS X)</property>
-                                    <property name="name">4</property>
+                                  <object class="GtkLabel" id="label14">
                                     <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="halign">start</property>
+                                    <property name="can-focus">False</property>
+                                    <property name="label" translatable="yes">What aspect of the software 
needs the most improvement?</property>
                                     <property name="xalign">0</property>
-                                    <property name="draw_indicator">True</property>
-                                    <property name="group">problem</property>
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">True</property>
-                                    <property name="position">4</property>
+                                    <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <object class="GtkRadioButton" id="problem_other_radiobutton">
-                                    <property name="label" translatable="yes">Other</property>
-                                    <property name="name">5</property>
+                                  <object class="GtkScrolledWindow" id="scrolledwindow1">
                                     <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="halign">start</property>
-                                    <property name="xalign">0</property>
-                                    <property name="draw_indicator">True</property>
-                                    <property name="group">problem</property>
-                                    <signal name="toggled" handler="toggle_button_set_visible_on_toggle" 
object="problem_other_scrolledwindow" swapped="no"/>
+                                    <property name="can-focus">True</property>
+                                    <property name="shadow-type">in</property>
+                                    <property name="min-content-height">64</property>
+                                    <child>
+                                      <object class="GtkTextView" id="improvement">
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="accepts-tab">False</property>
+                                      </object>
+                                    </child>
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">True</property>
-                                    <property name="position">5</property>
+                                    <property name="position">1</property>
                                   </packing>
                                 </child>
                               </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">True</property>
-                                <property name="position">1</property>
+                                <property name="position">9</property>
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkScrolledWindow" id="problem_other_scrolledwindow">
-                                <property name="can_focus">True</property>
-                                <property name="shadow_type">in</property>
-                                <property name="min_content_height">64</property>
+                              <object class="GtkBox" id="box35">
+                                <property name="visible">True</property>
+                                <property name="can-focus">False</property>
+                                <property name="orientation">vertical</property>
                                 <child>
-                                  <object class="GtkTextView" id="problem_other">
+                                  <object class="GtkLabel" id="label15">
                                     <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="accepts_tab">False</property>
+                                    <property name="can-focus">False</property>
+                                    <property name="label" translatable="yes">In your opinion what is the 
biggest problem with Glade?</property>
+                                    <property name="xalign">0</property>
                                   </object>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">True</property>
+                                    <property name="position">0</property>
+                                  </packing>
                                 </child>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">2</property>
-                              </packing>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">10</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkBox" id="box31">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="orientation">vertical</property>
-                            <property name="spacing">4</property>
-                            <child>
-                              <object class="GtkLabel" id="label16">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="label" translatable="yes">Have you ever encountered a 
bug?</property>
-                                <property name="angle">0.059999998658895493</property>
-                                <property name="xalign">0</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkBox" id="box21">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="spacing">4</property>
                                 <child>
-                                  <object class="GtkRadioButton" id="bug_yes">
-                                    <property name="label" translatable="yes">Yes</property>
-                                    <property name="name">1</property>
+                                  <object class="GtkBox" id="box7">
                                     <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="draw_indicator">True</property>
-                                    <property name="group">bug</property>
+                                    <property name="can-focus">False</property>
+                                    <property name="halign">start</property>
+                                    <property name="orientation">vertical</property>
+                                    <child>
+                                      <object class="GtkRadioButton" id="problem">
+                                        <property name="label" translatable="yes">Lack of 
documentation</property>
+                                        <property name="name">0</property>
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="opacity">0.9882352941176471</property>
+                                        <property name="halign">start</property>
+                                        <property name="active">True</property>
+                                        <property name="draw-indicator">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">0</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkRadioButton" id="problem_support_radiobutton">
+                                        <property name="label" translatable="yes">Lack of professional 
support</property>
+                                        <property name="name">1</property>
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="draw-indicator">True</property>
+                                        <property name="group">problem</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">1</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkRadioButton" id="problem_training_radiobutton">
+                                        <property name="label" translatable="yes">Lack of professional 
training</property>
+                                        <property name="name">2</property>
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="draw-indicator">True</property>
+                                        <property name="group">problem</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">2</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkRadioButton" id="problem_publicity_radiobutton">
+                                        <property name="label" translatable="yes">Lack of 
publicity/exposure</property>
+                                        <property name="name">3</property>
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="draw-indicator">True</property>
+                                        <property name="group">problem</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">3</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkRadioButton" id="problem_binaries_radiobutton">
+                                        <property name="label" translatable="yes">Lack of official binary 
releases for other OS (Windows, Mac OS X)</property>
+                                        <property name="name">4</property>
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="draw-indicator">True</property>
+                                        <property name="group">problem</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">4</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkRadioButton" id="problem_other_radiobutton">
+                                        <property name="label" translatable="yes">Other</property>
+                                        <property name="name">5</property>
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="draw-indicator">True</property>
+                                        <property name="group">problem</property>
+                                        <signal name="toggled" handler="toggle_button_set_visible_on_toggle" 
object="problem_other_scrolledwindow" swapped="no"/>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">5</property>
+                                      </packing>
+                                    </child>
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">True</property>
-                                    <property name="position">0</property>
+                                    <property name="position">1</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <object class="GtkRadioButton" id="bug">
-                                    <property name="label" translatable="yes">No</property>
-                                    <property name="name">0</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="active">True</property>
-                                    <property name="draw_indicator">True</property>
+                                  <object class="GtkScrolledWindow" id="problem_other_scrolledwindow">
+                                    <property name="can-focus">True</property>
+                                    <property name="shadow-type">in</property>
+                                    <property name="min-content-height">64</property>
+                                    <child>
+                                      <object class="GtkTextView" id="problem_other">
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="accepts-tab">False</property>
+                                      </object>
+                                    </child>
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">True</property>
-                                    <property name="position">1</property>
+                                    <property name="position">2</property>
                                   </packing>
                                 </child>
                               </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">True</property>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">11</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkBox" id="box32">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="orientation">vertical</property>
-                            <property name="spacing">4</property>
-                            <child>
-                              <object class="GtkLabel" id="label17">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="label" translatable="yes">If so, did you file a bug 
report?</property>
-                                <property name="xalign">0</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">0</property>
+                                <property name="position">10</property>
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkBox" id="box19">
+                              <object class="GtkBox" id="box31">
                                 <property name="visible">True</property>
-                                <property name="can_focus">False</property>
+                                <property name="can-focus">False</property>
+                                <property name="orientation">vertical</property>
                                 <property name="spacing">4</property>
                                 <child>
-                                  <object class="GtkRadioButton" id="bugzilla_yes">
-                                    <property name="label" translatable="yes">Yes</property>
-                                    <property name="name">1</property>
+                                  <object class="GtkLabel" id="label16">
                                     <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
+                                    <property name="can-focus">False</property>
+                                    <property name="label" translatable="yes">Have you ever encountered a 
bug?</property>
                                     <property name="xalign">0</property>
-                                    <property name="draw_indicator">True</property>
-                                    <property name="group">bugzilla</property>
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
@@ -2380,15 +2224,44 @@ You will be sent email requesting confirmation!</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <object class="GtkRadioButton" id="bugzilla">
-                                    <property name="label" translatable="yes">No</property>
-                                    <property name="name">0</property>
+                                  <object class="GtkBox" id="box21">
                                     <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="active">True</property>
-                                    <property name="draw_indicator">True</property>
+                                    <property name="can-focus">False</property>
+                                    <property name="spacing">4</property>
+                                    <child>
+                                      <object class="GtkRadioButton" id="bug_yes">
+                                        <property name="label" translatable="yes">Yes</property>
+                                        <property name="name">Y</property>
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="draw-indicator">True</property>
+                                        <property name="group">bug</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">0</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkRadioButton" id="bug">
+                                        <property name="label" translatable="yes">No</property>
+                                        <property name="name">N</property>
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="active">True</property>
+                                        <property name="draw-indicator">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">1</property>
+                                      </packing>
+                                    </child>
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
@@ -2400,35 +2273,21 @@ You will be sent email requesting confirmation!</property>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">True</property>
-                                <property name="position">1</property>
+                                <property name="position">11</property>
                               </packing>
                             </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">12</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkBox" id="box36">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="orientation">vertical</property>
                             <child>
-                              <object class="GtkBox" id="box17">
+                              <object class="GtkBox" id="box32">
                                 <property name="visible">True</property>
-                                <property name="can_focus">False</property>
+                                <property name="can-focus">False</property>
                                 <property name="orientation">vertical</property>
+                                <property name="spacing">4</property>
                                 <child>
-                                  <object class="GtkLabel" id="label18">
+                                  <object class="GtkLabel" id="label17">
                                     <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="label" translatable="yes">Have you ever thought about 
contributing?</property>
+                                    <property name="can-focus">False</property>
+                                    <property name="label" translatable="yes">If so, did you file a bug 
report?</property>
                                     <property name="xalign">0</property>
-                                    <style>
-                                      <class name="survey_question"/>
-                                    </style>
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
@@ -2437,20 +2296,20 @@ You will be sent email requesting confirmation!</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <object class="GtkBox" id="box18">
+                                  <object class="GtkBox" id="box19">
                                     <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
+                                    <property name="can-focus">False</property>
                                     <property name="spacing">4</property>
                                     <child>
-                                      <object class="GtkRadioButton" id="contributing_yes">
+                                      <object class="GtkRadioButton" id="bugzilla_yes">
                                         <property name="label" translatable="yes">Yes</property>
-                                        <property name="name">1</property>
+                                        <property name="name">Y</property>
                                         <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="receives_default">False</property>
-                                        <property name="xalign">0</property>
-                                        <property name="draw_indicator">True</property>
-                                        <property name="group">contributing</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
+                                        <property name="draw-indicator">True</property>
+                                        <property name="group">bugzilla</property>
                                       </object>
                                       <packing>
                                         <property name="expand">False</property>
@@ -2459,16 +2318,15 @@ You will be sent email requesting confirmation!</property>
                                       </packing>
                                     </child>
                                     <child>
-                                      <object class="GtkRadioButton" id="contributing">
+                                      <object class="GtkRadioButton" id="bugzilla">
                                         <property name="label" translatable="yes">No</property>
-                                        <property name="name">0</property>
+                                        <property name="name">N</property>
                                         <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="receives_default">False</property>
-                                        <property name="xalign">0</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="receives-default">False</property>
+                                        <property name="halign">start</property>
                                         <property name="active">True</property>
-                                        <property name="draw_indicator">True</property>
-                                        <signal name="toggled" handler="toggle_button_set_visible_on_toggle" 
object="why_not_box" swapped="no"/>
+                                        <property name="draw-indicator">True</property>
                                       </object>
                                       <packing>
                                         <property name="expand">False</property>
@@ -2487,23 +2345,82 @@ You will be sent email requesting confirmation!</property>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">True</property>
-                                <property name="position">0</property>
+                                <property name="position">12</property>
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkBox" id="why_not_box">
+                              <object class="GtkBox" id="box36">
                                 <property name="visible">True</property>
-                                <property name="can_focus">False</property>
+                                <property name="can-focus">False</property>
                                 <property name="orientation">vertical</property>
                                 <child>
-                                  <object class="GtkLabel" id="label20">
+                                  <object class="GtkBox" id="box17">
                                     <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="label" translatable="yes">Why not?</property>
-                                    <property name="xalign">0</property>
-                                    <style>
-                                      <class name="survey_question"/>
-                                    </style>
+                                    <property name="can-focus">False</property>
+                                    <property name="orientation">vertical</property>
+                                    <child>
+                                      <object class="GtkLabel" id="label18">
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">False</property>
+                                        <property name="label" translatable="yes">Have you ever thought 
about contributing?</property>
+                                        <property name="xalign">0</property>
+                                        <style>
+                                          <class name="survey_question"/>
+                                        </style>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">0</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkBox" id="box18">
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">False</property>
+                                        <property name="spacing">4</property>
+                                        <child>
+                                          <object class="GtkRadioButton" id="contributing_yes">
+                                            <property name="label" translatable="yes">Yes</property>
+                                            <property name="name">Y</property>
+                                            <property name="visible">True</property>
+                                            <property name="can-focus">True</property>
+                                            <property name="receives-default">False</property>
+                                            <property name="halign">start</property>
+                                            <property name="draw-indicator">True</property>
+                                            <property name="group">contributing</property>
+                                          </object>
+                                          <packing>
+                                            <property name="expand">False</property>
+                                            <property name="fill">True</property>
+                                            <property name="position">0</property>
+                                          </packing>
+                                        </child>
+                                        <child>
+                                          <object class="GtkRadioButton" id="contributing">
+                                            <property name="label" translatable="yes">No</property>
+                                            <property name="name">N</property>
+                                            <property name="visible">True</property>
+                                            <property name="can-focus">True</property>
+                                            <property name="receives-default">False</property>
+                                            <property name="halign">start</property>
+                                            <property name="active">True</property>
+                                            <property name="draw-indicator">True</property>
+                                            <signal name="toggled" 
handler="toggle_button_set_visible_on_toggle" object="why_not_box" swapped="no"/>
+                                          </object>
+                                          <packing>
+                                            <property name="expand">False</property>
+                                            <property name="fill">True</property>
+                                            <property name="position">1</property>
+                                          </packing>
+                                        </child>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">1</property>
+                                      </packing>
+                                    </child>
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
@@ -2512,17 +2429,45 @@ You will be sent email requesting confirmation!</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <object class="GtkScrolledWindow" id="scrolledwindow4">
+                                  <object class="GtkBox" id="why_not_box">
                                     <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="shadow_type">in</property>
-                                    <property name="min_content_height">64</property>
+                                    <property name="can-focus">False</property>
+                                    <property name="orientation">vertical</property>
+                                    <child>
+                                      <object class="GtkLabel" id="label20">
+                                        <property name="visible">True</property>
+                                        <property name="can-focus">False</property>
+                                        <property name="label" translatable="yes">Why not?</property>
+                                        <property name="xalign">0</property>
+                                        <style>
+                                          <class name="survey_question"/>
+                                        </style>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">0</property>
+                                      </packing>
+                                    </child>
                                     <child>
-                                      <object class="GtkTextView" id="contributing_whynot">
+                                      <object class="GtkScrolledWindow" id="scrolledwindow4">
                                         <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="accepts_tab">False</property>
+                                        <property name="can-focus">True</property>
+                                        <property name="shadow-type">in</property>
+                                        <property name="min-content-height">64</property>
+                                        <child>
+                                          <object class="GtkTextView" id="contributing_whynot">
+                                            <property name="visible">True</property>
+                                            <property name="can-focus">True</property>
+                                            <property name="accepts-tab">False</property>
+                                          </object>
+                                        </child>
                                       </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">1</property>
+                                      </packing>
                                     </child>
                                   </object>
                                   <packing>
@@ -2535,124 +2480,158 @@ You will be sent email requesting confirmation!</property>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">True</property>
-                                <property name="position">1</property>
+                                <property name="position">13</property>
                               </packing>
                             </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">13</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkLabel" id="label26">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="label" translatable="yes">Comments:</property>
-                            <property name="xalign">0</property>
-                            <style>
-                              <class name="survey_question"/>
-                            </style>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">15</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkScrolledWindow" id="scrolledwindow3">
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="shadow_type">in</property>
-                            <property name="min_content_height">64</property>
                             <child>
-                              <object class="GtkTextView" id="comments">
+                              <object class="GtkLabel" id="label26">
                                 <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="accepts_tab">False</property>
+                                <property name="can-focus">False</property>
+                                <property name="label" translatable="yes">Comments:</property>
+                                <property name="xalign">0</property>
+                                <style>
+                                  <class name="survey_question"/>
+                                </style>
                               </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">True</property>
+                                <property name="position">15</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkScrolledWindow" id="scrolledwindow3">
+                                <property name="visible">True</property>
+                                <property name="can-focus">True</property>
+                                <property name="shadow-type">in</property>
+                                <property name="min-content-height">64</property>
+                                <child>
+                                  <object class="GtkTextView" id="comments">
+                                    <property name="visible">True</property>
+                                    <property name="can-focus">True</property>
+                                    <property name="accepts-tab">False</property>
+                                  </object>
+                                </child>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">True</property>
+                                <property name="position">16</property>
+                              </packing>
                             </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">16</property>
-                          </packing>
-                        </child>
-                        <style>
-                          <class name="questions"/>
-                        </style>
-                      </object>
-                      <packing>
-                        <property name="expand">False</property>
-                        <property name="fill">True</property>
-                        <property name="position">4</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkBox" id="box8">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="orientation">vertical</property>
-                        <child>
-                          <object class="GtkLabel" id="label28">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="label" translatable="yes">Privacy Note:</property>
-                            <property name="wrap">True</property>
-                            <property name="xalign">0</property>
                             <style>
-                              <class name="textbox-title"/>
+                              <class name="questions"/>
                             </style>
                           </object>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">True</property>
-                            <property name="position">0</property>
+                            <property name="position">4</property>
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkLabel" id="label29">
+                          <object class="GtkBox" id="box8">
                             <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="halign">center</property>
-                            <property name="valign">start</property>
-                            <property name="hexpand">False</property>
-                            <property name="label" translatable="yes">The sole purpose of this survey is to 
better know our user base.
+                            <property name="can-focus">False</property>
+                            <property name="orientation">vertical</property>
+                            <child>
+                              <object class="GtkLabel" id="label28">
+                                <property name="visible">True</property>
+                                <property name="can-focus">False</property>
+                                <property name="label" translatable="yes">Privacy Note:</property>
+                                <property name="wrap">True</property>
+                                <property name="xalign">0</property>
+                                <style>
+                                  <class name="textbox-title"/>
+                                </style>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">True</property>
+                                <property name="position">0</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkLabel" id="label29">
+                                <property name="visible">True</property>
+                                <property name="can-focus">False</property>
+                                <property name="halign">center</property>
+                                <property name="valign">start</property>
+                                <property name="hexpand">False</property>
+                                <property name="label" translatable="yes">The sole purpose of this survey is 
to better know our user base.
 Your email address will be used to uniquely identify you as a Glade user and send you back a modification 
token in case you want to modify something or add extra comments.
 Only statistics compiled from the whole dataset will be shared publicly.
 Individual data will be stored in a private database and it will not be shared with the public or any other 
third party.</property>
-                            <property name="wrap">True</property>
-                            <property name="xalign">0</property>
+                                <property name="wrap">True</property>
+                                <property name="xalign">0</property>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">True</property>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                            <style>
+                              <class name="textbox"/>
+                            </style>
                           </object>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">True</property>
-                            <property name="position">1</property>
+                            <property name="position">5</property>
                           </packing>
                         </child>
                         <style>
-                          <class name="textbox"/>
+                          <class name="main-box"/>
                         </style>
                       </object>
-                      <packing>
-                        <property name="expand">False</property>
-                        <property name="fill">True</property>
-                        <property name="position">5</property>
-                      </packing>
                     </child>
-                    <style>
-                      <class name="main-box"/>
-                    </style>
                   </object>
                 </child>
+                <style>
+                  <class name="survey_page"/>
+                </style>
+              </object>
+              <packing>
+                <property name="index">-1</property>
+              </packing>
+            </child>
+            <child type="overlay">
+              <object class="GtkBox" id="statusbar">
+                <property name="can-focus">False</property>
+                <property name="halign">start</property>
+                <property name="valign">end</property>
+                <child>
+                  <object class="GtkSpinner" id="net_spinner">
+                    <property name="can-focus">False</property>
+                    <property name="active">True</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="status_label">
+                    <property name="visible">True</property>
+                    <property name="can-focus">False</property>
+                    <property name="halign">start</property>
+                    <property name="margin-start">4</property>
+                    <property name="margin-end">4</property>
+                    <property name="margin-top">2</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+                <style>
+                  <class name="statusbar"/>
+                </style>
               </object>
             </child>
-            <style>
-              <class name="survey_page"/>
-            </style>
           </object>
           <packing>
             <property name="expand">True</property>
@@ -2664,7 +2643,7 @@ Individual data will be stored in a private database and it will not be shared w
     </child>
     <action-widgets>
       <action-widget response="-6">cancel_button</action-widget>
-      <action-widget response="-10">submit_button</action-widget>
+      <action-widget response="-5">submit_button</action-widget>
     </action-widgets>
   </template>
 </interface>
diff --git a/src/meson.build b/src/meson.build
index 0e4679aa..f1f80bc4 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -29,6 +29,7 @@ sources += gnome.compile_resources(
 deps = [
   gmodule_export_dep,
   libgladeui_dep,
+  libxml_dep,
 ]
 
 ldflags = []


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