[krb5-auth-dialog] Switch from Libglade to GtkBuilder



commit 1117ad35cc15b84cd253ad770cfe406d73874f0d
Author: Guido Günther <agx sigxcpu org>
Date:   Tue May 5 00:16:47 2009 +0200

    Switch from Libglade to GtkBuilder
---
 ChangeLog                                          |   14 +
 configure.ac                                       |    6 +-
 etpo/Makefile.am                                   |    2 -
 po/POTFILES.in                                     |    4 +-
 preferences/Makefile.am                            |    3 +-
 preferences/krb5-auth-dialog-preferences.c         |   27 +-
 ...nces.glade => krb5-auth-dialog-preferences.xml} |  347 +++++++++++---------
 src/Makefile.am                                    |    3 +-
 src/krb5-auth-applet.c                             |    2 +-
 src/krb5-auth-applet.h                             |    3 +-
 src/krb5-auth-dialog.c                             |   32 +--
 ...krb5-auth-dialog.glade => krb5-auth-dialog.xml} |  109 ++++---
 src/krb5-auth-pwdialog.c                           |   16 +-
 src/krb5-auth-pwdialog.h                           |    3 +-
 14 files changed, 306 insertions(+), 265 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 10e57a9..0863323 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+Thu May  7 10:39:32 CEST 2009 Guido Günther <agx sigxcpu org>
+
+	Switch from Libglade to GtkBuilder
+	* src/krb5-auth-dialog.xml: new file
+	* preferences/krb5-auth-dialog-preferences.xml: likewise
+	* src/krb5-auth-dialog.glade: remove
+	* preferences/krb5-auth-dialog-preferences.glade: likewise
+	* src/krb5-auth-{applet,pwdialog}.[ch]: use GtkBuilder instead of
+	  glade
+	* configure.ac: drop libglade check
+	* po/POTFILES.in: look for krb5-auth-dialog{,-preferences}.xml instead
+	  of .glade
+	* {src,preferences,etpo}/Makefile.am: drop libglade
+
 Sun May  3 17:33:22 CEST 2009 Guido Günther <agx sigxcpu org>
 
 	fix build with GLib < 2.18
diff --git a/configure.ac b/configure.ac
index 43cb375..500a5e9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -24,8 +24,7 @@ KA_COMPILE_WARNINGS([maximum])
 ALL_LINGUAS="nb de sv"
 AM_GLIB_GNU_GETTEXT
 
-GTK_REQUIRED="2.4.0"
-GLADE_REQUIRED="2.4.0"
+GTK_REQUIRED="2.16.0"
 DBUS_REQUIRED="0.60"
 GCONF_REQUIRED="2.8"
 LIBNOTIFY_REQUIRED="0.4"
@@ -33,7 +32,6 @@ GIO_UNIX_REQUIRED="0.0"
 GIO_REQUIRED="0.0"
 
 PKG_CHECK_MODULES(GTK, gtk+-2.0 >= $GTK_REQUIRED)
-PKG_CHECK_MODULES(GLADE, libglade-2.0 >= $GLADE_REQUIRED)
 PKG_CHECK_MODULES(DBUS, dbus-glib-1 >= $DBUS_REQUIRED)
 PKG_CHECK_MODULES(GCONF, gconf-2.0 >= $GCONF_REQUIRED)
 PKG_CHECK_MODULES(GIO_UNIX, gio-unix-2.0 >= $GIO_UNIX_REQUIRED)
@@ -200,7 +198,6 @@ AC_SUBST(minimum_lifetime)
 
 CFLAGS="\
 	$GTK_CFLAGS \
-	$GLADE_CFLAGS \
 	$DBUS_CFLAGS \
 	$GCONF_CFLAGS \
 	$KRB5_CFLAGS \
@@ -230,7 +227,6 @@ AC_MSG_NOTICE([Libraries])
 AC_MSG_NOTICE([])
 AC_MSG_NOTICE([         kerberos: $KRB5_CFLAGS $KRB5_LIBS])
 AC_MSG_NOTICE([              gtk: $GTK_CFLAGS $GTK_LIBS])
-AC_MSG_NOTICE([            glade: $GLADE_CFLAGS $GLADE_LIBS])
 AC_MSG_NOTICE([             dbus: $DBUS_CFLAGS $DBUS_LIBS])
 AC_MSG_NOTICE([            gconf: $GCONF_CFLAGS $GCONF_LIBS])
 AC_MSG_NOTICE([         gio-unix: $GIO_UNIX_CFLAGS $GIO_UNIX_LIBS $GIO_CFLAGS $GIO_LIBS])
diff --git a/etpo/Makefile.am b/etpo/Makefile.am
index 632ec22..040da00 100644
--- a/etpo/Makefile.am
+++ b/etpo/Makefile.am
@@ -4,7 +4,6 @@ lexer.c: grammar.h
 AM_YFLAGS=-d
 AM_CFLAGS=\
 	@GTK_CFLAGS@ 		 \
-	@GLADE_CFLAGS@		 \
 	@DBUS_CFLAGS@		 \
 	@GCONF_CFLAGS@		 \
 	@KRB5_CFLAGS@		 \
@@ -17,7 +16,6 @@ AM_LDFLAGS=\
 	@LIBNOTIFY_LIBS@ \
 	@DBUS_LIBS@ \
 	@GCONF_LIBS@ \
-	@GLADE_LIBS@ \
 	@GTK_LIBS@
 
 DISTCLEANFILES=lexer.c
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 70977d4..133ceed 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -1,4 +1,4 @@
-src/krb5-auth-dialog.glade
+src/krb5-auth-dialog.xml
 src/krb5-auth-dialog.c
 src/krb5-auth-pwdialog.c
 src/dummy-strings.c
@@ -9,4 +9,4 @@ gtksecentry/gtksecentry.c
 secmem/util.c
 preferences/krb5-auth-dialog-preferences.c
 preferences/krb5-auth-dialog-preferences.desktop.in
-preferences/krb5-auth-dialog-preferences.glade
+preferences/krb5-auth-dialog-preferences.xml
diff --git a/preferences/Makefile.am b/preferences/Makefile.am
index 83541ea..f15b573 100644
--- a/preferences/Makefile.am
+++ b/preferences/Makefile.am
@@ -18,7 +18,6 @@ krb5_auth_dialog_preferences_SOURCES = \
 
 krb5_auth_dialog_preferences_LDADD = \
 			@GCONF_LIBS@ \
-			@GLADE_LIBS@ \
 			@GTK_LIBS@ \
 			$(NULL)
 
@@ -30,7 +29,7 @@ desktop_DATA     = $(desktop_in_files:.desktop.in=.desktop)
 
 pkgdatadir = $(datadir)/krb5-auth-dialog
 pkgdata_DATA =			\
-	krb5-auth-dialog-preferences.glade
+	krb5-auth-dialog-preferences.xml
 
 CLEANFILES = \
 	$(desktop_DATA) \
diff --git a/preferences/krb5-auth-dialog-preferences.c b/preferences/krb5-auth-dialog-preferences.c
index a46394f..c0d75c6 100644
--- a/preferences/krb5-auth-dialog-preferences.c
+++ b/preferences/krb5-auth-dialog-preferences.c
@@ -32,14 +32,13 @@
 
 #include <gtk/gtk.h>
 #include <glib/gi18n.h>
-#include <glade/glade.h>
 
 #include "krb5-auth-gconf-tools.h"
 
 #define N_LISTENERS 8
 
 typedef struct {
-  GladeXML    *xml;
+  GtkBuilder  *xml;
   GConfClient *client;
 
   GtkWidget *dialog;
@@ -102,7 +101,7 @@ ka_preferences_dialog_setup_principal_entry (KaPreferencesDialog *dialog)
 {
   char     *principal = NULL;
 
-  dialog->principal_entry = glade_xml_get_widget (dialog->xml, "principal_entry");
+  dialog->principal_entry = GTK_WIDGET(gtk_builder_get_object (dialog->xml, "principal_entry"));
   g_assert (dialog->principal_entry != NULL);
 
   if (!ka_gconf_get_string (dialog->client, KA_GCONF_KEY_PRINCIPAL, &principal))
@@ -173,7 +172,7 @@ ka_preferences_dialog_setup_pkuserid_entry (KaPreferencesDialog *dialog)
 {
   char     *pkuserid = NULL;
 
-  dialog->pkuserid_entry = glade_xml_get_widget (dialog->xml, "pkuserid_entry");
+  dialog->pkuserid_entry = GTK_WIDGET(gtk_builder_get_object (dialog->xml, "pkuserid_entry"));
   g_assert (dialog->pkuserid_entry != NULL);
 
   if (!ka_gconf_get_string (dialog->client, KA_GCONF_KEY_PK_USERID, &pkuserid))
@@ -243,7 +242,7 @@ ka_preferences_dialog_setup_pkanchors_entry (KaPreferencesDialog *dialog)
 {
   char     *pkanchors = NULL;
 
-  dialog->pkanchors_entry = glade_xml_get_widget (dialog->xml, "pkanchors_entry");
+  dialog->pkanchors_entry = GTK_WIDGET(gtk_builder_get_object (dialog->xml, "pkanchors_entry"));
   g_assert (dialog->pkanchors_entry != NULL);
 
   if (!ka_gconf_get_string (dialog->client, KA_GCONF_KEY_PK_ANCHORS, &pkanchors))
@@ -303,7 +302,7 @@ ka_preferences_dialog_setup_forwardable_toggle (KaPreferencesDialog *dialog)
 {
   gboolean forwardable;
 
-  dialog->forwardable_toggle = glade_xml_get_widget (dialog->xml, "forwardable_toggle");
+  dialog->forwardable_toggle = GTK_WIDGET(gtk_builder_get_object (dialog->xml, "forwardable_toggle"));
   g_assert (dialog->forwardable_toggle != NULL);
 
   forwardable = gconf_client_get_bool (dialog->client, KA_GCONF_KEY_FORWARDABLE, NULL);
@@ -361,7 +360,7 @@ ka_preferences_dialog_setup_proxiable_toggle (KaPreferencesDialog *dialog)
 {
   gboolean proxiable;
 
-  dialog->proxiable_toggle = glade_xml_get_widget (dialog->xml, "proxiable_toggle");
+  dialog->proxiable_toggle = GTK_WIDGET(gtk_builder_get_object (dialog->xml, "proxiable_toggle"));
   g_assert (dialog->proxiable_toggle != NULL);
 
   proxiable = gconf_client_get_bool (dialog->client, KA_GCONF_KEY_PROXIABLE, NULL);
@@ -419,7 +418,7 @@ ka_preferences_dialog_setup_renewable_toggle (KaPreferencesDialog *dialog)
 {
   gboolean renewable;
 
-  dialog->renewable_toggle = glade_xml_get_widget (dialog->xml, "renewable_toggle");
+  dialog->renewable_toggle = GTK_WIDGET(gtk_builder_get_object (dialog->xml, "renewable_toggle"));
   g_assert (dialog->renewable_toggle != NULL);
 
   renewable = gconf_client_get_bool (dialog->client, KA_GCONF_KEY_RENEWABLE, NULL);
@@ -475,7 +474,7 @@ ka_preferences_dialog_setup_trayicon_toggle (KaPreferencesDialog *dialog)
 {
   gboolean trayicon;
 
-  dialog->trayicon_toggle = glade_xml_get_widget (dialog->xml, "trayicon_toggle");
+  dialog->trayicon_toggle = GTK_WIDGET(gtk_builder_get_object (dialog->xml, "trayicon_toggle"));
   g_assert (dialog->trayicon_toggle != NULL);
 
   trayicon = gconf_client_get_bool (dialog->client, KA_GCONF_KEY_SHOW_TRAYICON, NULL);
@@ -532,7 +531,7 @@ ka_preferences_dialog_setup_prompt_mins_entry (KaPreferencesDialog *dialog)
 {
   gint prompt_mins;
 
-  dialog->prompt_mins_entry = glade_xml_get_widget (dialog->xml, "prompt_mins_entry");
+  dialog->prompt_mins_entry = GTK_WIDGET(gtk_builder_get_object (dialog->xml, "prompt_mins_entry"));
   g_assert (dialog->prompt_mins_entry != NULL);
 
   prompt_mins = gconf_client_get_int (dialog->client, KA_GCONF_KEY_PROMPT_MINS, NULL);
@@ -611,10 +610,12 @@ ka_preferences_dialog_destroyed (GtkWidget *widget G_GNUC_UNUSED,
 static gboolean
 ka_preferences_dialog_init(KaPreferencesDialog* dialog)
 {
-  dialog->xml = glade_xml_new (KA_DATA_DIR G_DIR_SEPARATOR_S
-                                   PACKAGE "-preferences.glade", NULL, NULL);
+  dialog->xml = gtk_builder_new ();
 
-  dialog->dialog = glade_xml_get_widget (dialog->xml, "krb5_auth_dialog_prefs");
+  g_assert(gtk_builder_add_from_file(dialog->xml, KA_DATA_DIR G_DIR_SEPARATOR_S
+                                     PACKAGE "-preferences.xml", NULL));
+
+  dialog->dialog = GTK_WIDGET(gtk_builder_get_object (dialog->xml, "krb5_auth_dialog_prefs"));
   g_assert (dialog->dialog);
 
   g_signal_connect (dialog->dialog, "response",
diff --git a/preferences/krb5-auth-dialog-preferences.glade b/preferences/krb5-auth-dialog-preferences.xml
similarity index 71%
rename from preferences/krb5-auth-dialog-preferences.glade
rename to preferences/krb5-auth-dialog-preferences.xml
index 8e23b2f..5bb48bd 100644
--- a/preferences/krb5-auth-dialog-preferences.glade
+++ b/preferences/krb5-auth-dialog-preferences.xml
@@ -1,109 +1,113 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
-<!--Generated with glade3 3.4.5 on Tue Apr 14 22:22:46 2009 -->
-<glade-interface>
-  <widget class="GtkDialog" id="krb5_auth_dialog_prefs">
+<?xml version="1.0"?>
+<interface>
+  <requires lib="gtk+" version="2.16"/>
+  <!-- interface-naming-policy toplevel-contextual -->
+  <object class="GtkDialog" id="krb5_auth_dialog_prefs">
     <property name="border_width">5</property>
     <property name="title" translatable="yes">Kerberos Authentication Configuration</property>
-    <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
+    <property name="window_position">center-on-parent</property>
     <property name="icon_name">gtk-dialog-authentication</property>
-    <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+    <property name="type_hint">dialog</property>
     <property name="has_separator">False</property>
     <child internal-child="vbox">
-      <widget class="GtkVBox" id="dialog-vbox1">
+      <object class="GtkVBox" id="dialog-vbox1">
         <property name="visible">True</property>
         <property name="spacing">2</property>
         <child>
-          <widget class="GtkNotebook" id="notebook1">
+          <object class="GtkNotebook" id="notebook1">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
             <child>
-              <widget class="GtkVBox" id="vbox1">
+              <object class="GtkVBox" id="vbox1">
                 <property name="visible">True</property>
                 <property name="border_width">12</property>
                 <property name="spacing">18</property>
                 <child>
-                  <widget class="GtkVBox" id="vbox2">
+                  <object class="GtkVBox" id="vbox2">
                     <property name="visible">True</property>
                     <property name="spacing">12</property>
                     <child>
-                      <widget class="GtkLabel" id="label4">
+                      <object class="GtkLabel" id="label4">
                         <property name="visible">True</property>
                         <property name="xalign">0</property>
                         <property name="label" translatable="yes">&lt;b&gt;Kerberos User&lt;/b&gt;</property>
                         <property name="use_markup">True</property>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkHBox" id="hbox1">
+                      <object class="GtkHBox" id="hbox1">
                         <property name="visible">True</property>
                         <property name="spacing">12</property>
                         <child>
-                          <widget class="GtkImage" id="access">
+                          <object class="GtkImage" id="access">
                             <property name="visible">True</property>
                             <property name="yalign">0</property>
-                            <property name="icon_size">6</property>
                             <property name="icon_name">gtk-dialog-authentication</property>
-                          </widget>
+                            <property name="icon-size">6</property>
+                          </object>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
+                            <property name="position">0</property>
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkVBox" id="vbox5">
+                          <object class="GtkVBox" id="vbox5">
                             <property name="visible">True</property>
                             <property name="spacing">6</property>
                             <child>
-                              <widget class="GtkLabel" id="label6">
+                              <object class="GtkLabel" id="label6">
                                 <property name="visible">True</property>
                                 <property name="xalign">0</property>
                                 <property name="label" translatable="yes">Kerberos principal:</property>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
+                                <property name="position">0</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkHBox" id="hbox5">
+                              <object class="GtkHBox" id="hbox5">
                                 <property name="visible">True</property>
                                 <property name="spacing">6</property>
                                 <child>
-                                  <widget class="GtkLabel" id="label8">
+                                  <object class="GtkLabel" id="label8">
                                     <property name="visible">True</property>
                                     <property name="label" translatable="yes">    </property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
+                                    <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkEntry" id="principal_entry">
+                                  <object class="GtkEntry" id="principal_entry">
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property name="activates_default">True</property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="position">1</property>
                                   </packing>
                                 </child>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="position">1</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label7">
+                              <object class="GtkLabel" id="label7">
                                 <property name="visible">True</property>
                                 <property name="xalign">0</property>
                                 <property name="label" translatable="yes">PKINIT userid:	</property>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
@@ -111,41 +115,42 @@
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkHBox" id="hbox6">
+                              <object class="GtkHBox" id="hbox6">
                                 <property name="visible">True</property>
                                 <property name="spacing">6</property>
                                 <child>
-                                  <widget class="GtkLabel" id="label9">
+                                  <object class="GtkLabel" id="label9">
                                     <property name="visible">True</property>
                                     <property name="label" translatable="yes">    </property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
+                                    <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkEntry" id="pkuserid_entry">
+                                  <object class="GtkEntry" id="pkuserid_entry">
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
-                                    <property name="tooltip" translatable="yes">The principal's public/private/certificate identifier. Leave empty if not using PKINIT.</property>
+                                    <property name="tooltip_text" translatable="yes">The principal's public/private/certificate identifier. Leave empty if not using PKINIT.</property>
                                     <property name="activates_default">True</property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="position">1</property>
                                   </packing>
                                 </child>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="position">3</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label3">
+                              <object class="GtkLabel" id="label3">
                                 <property name="visible">True</property>
                                 <property name="xalign">0</property>
                                 <property name="label" translatable="yes">PKINT anchors:</property>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
@@ -153,122 +158,128 @@
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkHBox" id="hbox12">
+                              <object class="GtkHBox" id="hbox12">
                                 <property name="visible">True</property>
                                 <property name="spacing">6</property>
                                 <child>
-                                  <widget class="GtkLabel" id="label20">
+                                  <object class="GtkLabel" id="label20">
                                     <property name="visible">True</property>
                                     <property name="label" translatable="yes">    </property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
+                                    <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkEntry" id="pkanchors_entry">
+                                  <object class="GtkEntry" id="pkanchors_entry">
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
-                                    <property name="tooltip" translatable="yes">Path to CA certificates used as trust anchors for PKINIT</property>
+                                    <property name="tooltip_text" translatable="yes">Path to CA certificates used as trust anchors for PKINIT</property>
                                     <property name="activates_default">True</property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="position">1</property>
                                   </packing>
                                 </child>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="position">5</property>
                               </packing>
                             </child>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="position">1</property>
                           </packing>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="position">1</property>
                       </packing>
                     </child>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="expand">False</property>
+                    <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkVBox" id="vbox3">
+                  <object class="GtkVBox" id="vbox3">
                     <property name="visible">True</property>
                     <property name="spacing">12</property>
                     <child>
-                      <widget class="GtkLabel" id="label5">
+                      <object class="GtkLabel" id="label5">
                         <property name="visible">True</property>
                         <property name="xalign">0</property>
                         <property name="label" translatable="yes">&lt;b&gt;Ticket Options&lt;/b&gt;</property>
                         <property name="use_markup">True</property>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkHBox" id="hbox2">
+                      <object class="GtkHBox" id="hbox2">
                         <property name="visible">True</property>
                         <property name="spacing">12</property>
                         <child>
-                          <widget class="GtkImage" id="image1">
+                          <object class="GtkImage" id="image1">
                             <property name="visible">True</property>
                             <property name="yalign">0</property>
-                            <property name="icon_size">6</property>
                             <property name="icon_name">system-lock-screen</property>
-                          </widget>
+                            <property name="icon-size">6</property>
+                          </object>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
+                            <property name="position">0</property>
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkVBox" id="vbox4">
+                          <object class="GtkVBox" id="vbox4">
                             <property name="visible">True</property>
                             <property name="spacing">6</property>
                             <child>
-                              <widget class="GtkLabel" id="label10">
+                              <object class="GtkLabel" id="label10">
                                 <property name="visible">True</property>
                                 <property name="label" translatable="yes">Requested Kerberos tickets should be:</property>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
+                                <property name="position">0</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkHBox" id="hbox3">
+                              <object class="GtkHBox" id="hbox3">
                                 <property name="visible">True</property>
                                 <child>
-                                  <widget class="GtkLabel" id="label11">
+                                  <object class="GtkLabel" id="label11">
                                     <property name="visible">True</property>
                                     <property name="label" translatable="yes">    </property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
+                                    <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkCheckButton" id="forwardable_toggle">
+                                  <object class="GtkCheckButton" id="forwardable_toggle">
+                                    <property name="label" translatable="yes">forwardable</property>
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
-                                    <property name="tooltip" translatable="yes">If checked, request forwardable tickets</property>
-                                    <property name="label" translatable="yes">forwardable</property>
-                                    <property name="response_id">0</property>
+                                    <property name="receives_default">False</property>
+                                    <property name="tooltip_text" translatable="yes">If checked, request forwardable tickets</property>
                                     <property name="draw_indicator">True</property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="position">1</property>
                                   </packing>
                                 </child>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
@@ -276,155 +287,159 @@
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkHBox" id="hbox4">
+                              <object class="GtkHBox" id="hbox4">
                                 <property name="visible">True</property>
                                 <child>
-                                  <widget class="GtkLabel" id="label12">
+                                  <object class="GtkLabel" id="label12">
                                     <property name="visible">True</property>
                                     <property name="label" translatable="yes">    </property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
+                                    <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkCheckButton" id="renewable_toggle">
+                                  <object class="GtkCheckButton" id="renewable_toggle">
+                                    <property name="label" translatable="yes">renewable</property>
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
-                                    <property name="tooltip" translatable="yes">If checked, request renewable tickets</property>
-                                    <property name="label" translatable="yes">renewable</property>
-                                    <property name="response_id">0</property>
+                                    <property name="receives_default">False</property>
+                                    <property name="tooltip_text" translatable="yes">If checked, request renewable tickets</property>
                                     <property name="draw_indicator">True</property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
                                     <property name="position">1</property>
                                   </packing>
                                 </child>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="position">2</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkHBox" id="hbox11">
+                              <object class="GtkHBox" id="hbox11">
                                 <property name="visible">True</property>
                                 <child>
-                                  <widget class="GtkLabel" id="label19">
+                                  <object class="GtkLabel" id="label19">
                                     <property name="visible">True</property>
                                     <property name="label" translatable="yes">    </property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
+                                    <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkCheckButton" id="proxiable_toggle">
+                                  <object class="GtkCheckButton" id="proxiable_toggle">
+                                    <property name="label" translatable="yes">proxiable</property>
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
-                                    <property name="tooltip" translatable="yes">If checked, request proxiable tickets</property>
-                                    <property name="label" translatable="yes">proxiable</property>
-                                    <property name="response_id">0</property>
+                                    <property name="receives_default">False</property>
+                                    <property name="tooltip_text" translatable="yes">If checked, request proxiable tickets</property>
                                     <property name="draw_indicator">True</property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
                                     <property name="position">1</property>
                                   </packing>
                                 </child>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="position">3</property>
                               </packing>
                             </child>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="position">1</property>
                           </packing>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="position">1</property>
                       </packing>
                     </child>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="expand">False</property>
                     <property name="position">1</property>
                   </packing>
                 </child>
-              </widget>
+              </object>
             </child>
-            <child>
-              <widget class="GtkLabel" id="label1">
+            <child type="tab">
+              <object class="GtkLabel" id="label1">
                 <property name="visible">True</property>
                 <property name="label" translatable="yes">Kerberos</property>
-              </widget>
+              </object>
               <packing>
-                <property name="type">tab</property>
                 <property name="tab_fill">False</property>
               </packing>
             </child>
             <child>
-              <widget class="GtkVBox" id="vbox9">
+              <object class="GtkVBox" id="vbox9">
                 <property name="visible">True</property>
                 <property name="border_width">12</property>
                 <property name="spacing">18</property>
                 <child>
-                  <widget class="GtkVBox" id="vbox8">
+                  <object class="GtkVBox" id="vbox8">
                     <property name="visible">True</property>
                     <property name="spacing">12</property>
                     <child>
-                      <widget class="GtkLabel" id="label17">
+                      <object class="GtkLabel" id="label17">
                         <property name="visible">True</property>
                         <property name="xalign">0</property>
                         <property name="label" translatable="yes">&lt;b&gt;Notifications&lt;/b&gt;</property>
                         <property name="use_markup">True</property>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkHBox" id="hbox9">
+                      <object class="GtkHBox" id="hbox9">
                         <property name="visible">True</property>
                         <property name="spacing">12</property>
                         <child>
-                          <widget class="GtkImage" id="image3">
+                          <object class="GtkImage" id="image3">
                             <property name="visible">True</property>
                             <property name="yalign">0</property>
                             <property name="stock">gtk-dialog-warning</property>
-                            <property name="icon_size">6</property>
-                          </widget>
+                            <property name="icon-size">6</property>
+                          </object>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
+                            <property name="position">0</property>
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkHBox" id="hbox8">
+                          <object class="GtkHBox" id="hbox8">
                             <property name="visible">True</property>
                             <property name="spacing">6</property>
                             <child>
-                              <widget class="GtkLabel" id="label14">
+                              <object class="GtkLabel" id="label14">
                                 <property name="visible">True</property>
                                 <property name="label" translatable="yes">    </property>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
+                                <property name="position">0</property>
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label15">
+                              <object class="GtkLabel" id="label15">
                                 <property name="visible">True</property>
                                 <property name="label" translatable="yes">Warn</property>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
@@ -432,13 +447,13 @@
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkSpinButton" id="prompt_mins_entry">
+                              <object class="GtkSpinButton" id="prompt_mins_entry">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="tooltip" translatable="yes">Send notification about ticket expiry that many minutes before it finally expires. </property>
+                                <property name="tooltip_text" translatable="yes">Send notification about ticket expiry that many minutes before it finally expires. </property>
                                 <property name="activates_default">True</property>
-                                <property name="adjustment">0 0 100 1 10 10</property>
-                              </widget>
+                                <property name="adjustment">adjustment1</property>
+                              </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
@@ -446,175 +461,197 @@
                               </packing>
                             </child>
                             <child>
-                              <widget class="GtkLabel" id="label16">
+                              <object class="GtkLabel" id="label16">
                                 <property name="visible">True</property>
                                 <property name="label" translatable="yes">minutes before expiry</property>
-                              </widget>
+                              </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">False</property>
                                 <property name="position">3</property>
                               </packing>
                             </child>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="expand">False</property>
                             <property name="position">1</property>
                           </packing>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="position">1</property>
                       </packing>
                     </child>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="expand">False</property>
+                    <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkVBox" id="vbox10">
+                  <object class="GtkVBox" id="vbox10">
                     <property name="visible">True</property>
                     <property name="spacing">12</property>
                     <child>
-                      <widget class="GtkLabel" id="label18">
+                      <object class="GtkLabel" id="label18">
                         <property name="visible">True</property>
                         <property name="xalign">0</property>
                         <property name="label" translatable="yes">&lt;b&gt;Appearance&lt;/b&gt;</property>
                         <property name="use_markup">True</property>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
-                      <widget class="GtkHBox" id="hbox10">
+                      <object class="GtkHBox" id="hbox10">
                         <property name="visible">True</property>
                         <property name="spacing">12</property>
                         <child>
-                          <widget class="GtkImage" id="image2">
+                          <object class="GtkImage" id="image2">
                             <property name="visible">True</property>
                             <property name="xalign">0</property>
                             <property name="yalign">0</property>
                             <property name="stock">gtk-zoom-in</property>
-                            <property name="icon_size">6</property>
-                          </widget>
+                            <property name="icon-size">6</property>
+                          </object>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
+                            <property name="position">0</property>
                           </packing>
                         </child>
                         <child>
-                          <widget class="GtkVBox" id="vbox7">
+                          <object class="GtkVBox" id="vbox7">
                             <property name="visible">True</property>
                             <child>
-                              <widget class="GtkHBox" id="hbox7">
+                              <object class="GtkHBox" id="hbox7">
                                 <property name="visible">True</property>
                                 <property name="spacing">6</property>
                                 <child>
-                                  <widget class="GtkLabel" id="label13">
+                                  <object class="GtkLabel" id="label13">
                                     <property name="visible">True</property>
                                     <property name="label" translatable="yes">    </property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
+                                    <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkCheckButton" id="trayicon_toggle">
+                                  <object class="GtkCheckButton" id="trayicon_toggle">
+                                    <property name="label" translatable="yes">Show tray icon</property>
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
-                                    <property name="tooltip" translatable="yes">If checked, display the tray icon in the status bar.</property>
-                                    <property name="label" translatable="yes">Show tray icon</property>
-                                    <property name="response_id">0</property>
+                                    <property name="receives_default">False</property>
+                                    <property name="tooltip_text" translatable="yes">If checked, display the tray icon in the status bar.</property>
                                     <property name="draw_indicator">True</property>
-                                  </widget>
+                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="position">1</property>
                                   </packing>
                                 </child>
-                              </widget>
+                              </object>
+                              <packing>
+                                <property name="position">0</property>
+                              </packing>
                             </child>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
                             <property name="position">1</property>
                           </packing>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
                         <property name="position">1</property>
                       </packing>
                     </child>
-                  </widget>
+                  </object>
                   <packing>
                     <property name="expand">False</property>
                     <property name="position">1</property>
                   </packing>
                 </child>
-              </widget>
+              </object>
               <packing>
                 <property name="position">1</property>
               </packing>
             </child>
-            <child>
-              <widget class="GtkLabel" id="label2">
+            <child type="tab">
+              <object class="GtkLabel" id="label2">
                 <property name="visible">True</property>
                 <property name="label" translatable="yes">Applet</property>
-              </widget>
+              </object>
               <packing>
-                <property name="type">tab</property>
                 <property name="position">1</property>
                 <property name="tab_fill">False</property>
               </packing>
             </child>
-          </widget>
+          </object>
           <packing>
             <property name="position">1</property>
           </packing>
         </child>
         <child internal-child="action_area">
-          <widget class="GtkHButtonBox" id="dialog-action_area1">
+          <object class="GtkHButtonBox" id="dialog-action_area1">
             <property name="visible">True</property>
-            <property name="layout_style">GTK_BUTTONBOX_END</property>
+            <property name="layout_style">end</property>
             <child>
-              <widget class="GtkButton" id="button2">
+              <object class="GtkButton" id="button2">
+                <property name="label" translatable="yes">gtk-help</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="label" translatable="yes">gtk-help</property>
                 <property name="use_stock">True</property>
-                <property name="response_id">-11</property>
-              </widget>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
             </child>
             <child>
-              <widget class="GtkButton" id="button1">
+              <object class="GtkButton" id="button1">
+                <property name="label" translatable="yes">gtk-close</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="has_default">True</property>
                 <property name="receives_default">True</property>
-                <property name="label" translatable="yes">gtk-close</property>
                 <property name="use_stock">True</property>
-                <property name="response_id">0</property>
-              </widget>
+              </object>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">1</property>
               </packing>
             </child>
-          </widget>
+          </object>
           <packing>
             <property name="expand">False</property>
-            <property name="pack_type">GTK_PACK_END</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
           </packing>
         </child>
-      </widget>
+      </object>
     </child>
-  </widget>
-</glade-interface>
+    <action-widgets>
+      <action-widget response="-11">button2</action-widget>
+      <action-widget response="0">button1</action-widget>
+    </action-widgets>
+  </object>
+  <object class="GtkAdjustment" id="adjustment1">
+    <property name="upper">100</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+    <property name="page_size">10</property>
+  </object>
+</interface>
diff --git a/src/Makefile.am b/src/Makefile.am
index 2557add..c875d83 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -47,7 +47,6 @@ krb5_auth_dialog_LDADD = \
 			@LIBNOTIFY_LIBS@ \
 			@DBUS_LIBS@ \
 			@GCONF_LIBS@ \
-			@GLADE_LIBS@ \
 			@GIO_LIBS@ \
 			@GTK_LIBS@
 
@@ -64,7 +63,7 @@ AM_CPPFLAGS = -I $(top_srcdir)/gtksecentry/ -I $(top_srcdir)/secmem/
 
 pkgdatadir = $(datadir)/krb5-auth-dialog
 pkgdata_DATA =			\
-	krb5-auth-dialog.glade
+	krb5-auth-dialog.xml
 
 EXTRA_DIST =		\
 	$(pkgdata_DATA)   \
diff --git a/src/krb5-auth-applet.c b/src/krb5-auth-applet.c
index b528ae9..a9a840e 100644
--- a/src/krb5-auth-applet.c
+++ b/src/krb5-auth-applet.c
@@ -664,7 +664,7 @@ ka_applet_get_pwdialog(const KaApplet* applet)
 
 /* create the tray icon applet */
 KaApplet*
-ka_applet_create(GladeXML* xml)
+ka_applet_create(GtkBuilder *xml)
 {
 	KaApplet* applet = ka_applet_new();
 
diff --git a/src/krb5-auth-applet.h b/src/krb5-auth-applet.h
index 93830a5..9f2dcf1 100644
--- a/src/krb5-auth-applet.h
+++ b/src/krb5-auth-applet.h
@@ -23,7 +23,6 @@
 
 #include <glib-object.h>
 #include <glib/gprintf.h>
-#include <glade/glade.h>
 #include <krb5.h>
 
 #include "config.h"
@@ -57,7 +56,7 @@ guint ka_applet_get_pw_prompt_secs(const KaApplet* applet);
 KaPwDialog* ka_applet_get_pwdialog(const KaApplet* applet);
 
 /* create the applet */
-KaApplet* ka_applet_create(GladeXML* xml);
+KaApplet* ka_applet_create(GtkBuilder* xml);
 /* update tooltip and icon */
 int ka_applet_update_status(KaApplet* applet, krb5_timestamp expiry);
 
diff --git a/src/krb5-auth-dialog.c b/src/krb5-auth-dialog.c
index 9fcfbce..76cc611 100644
--- a/src/krb5-auth-dialog.c
+++ b/src/krb5-auth-dialog.c
@@ -30,7 +30,6 @@
 #include <string.h>
 #include <gtk/gtk.h>
 #include <glib/gi18n.h>
-#include <glade/glade.h>
 #include <gio/gio.h>
 
 #include "gtksecentry.h"
@@ -935,36 +934,13 @@ ka_nm_init(void)
 }
 
 
-static GtkWidget*
-ka_create_gtk_secure_entry (GladeXML *xml G_GNUC_UNUSED,
-			    gchar *func_name G_GNUC_UNUSED,
-			    gchar *name,
-			    gchar *s1 G_GNUC_UNUSED,
-			    gchar *s2 G_GNUC_UNUSED,
-			    gint i1 G_GNUC_UNUSED,
-			    gint i2 G_GNUC_UNUSED,
-			    gpointer user_data G_GNUC_UNUSED)
-{
-	GtkWidget* entry = NULL;
-
-	if (!strcmp(name, "krb5_entry")) {
-		entry = gtk_secure_entry_new ();
-		gtk_secure_entry_set_activates_default(GTK_SECURE_ENTRY(entry), TRUE);
-		gtk_widget_show (entry);
-	} else {
-		g_warning("Don't know anything about widget %s", name);
-	}
-	return entry;
-}
-
-
 int
 main (int argc, char *argv[])
 {
 	KaApplet *applet;
 	GOptionContext *context;
 	GError *error = NULL;
-	GladeXML *xml;
+	GtkBuilder *xml;
 
 	guint status = 0;
 	gboolean run_auto = FALSE, run_always = FALSE;
@@ -1003,9 +979,9 @@ main (int argc, char *argv[])
 	if (using_krb5 () || always_run) {
 		g_set_application_name (_("Network Authentication"));
 
-		glade_set_custom_handler (&ka_create_gtk_secure_entry, NULL);
-		xml = glade_xml_new (KA_DATA_DIR G_DIR_SEPARATOR_S
-				     PACKAGE ".glade", NULL, NULL);
+		xml = gtk_builder_new();
+		g_assert(gtk_builder_add_from_file(xml, KA_DATA_DIR G_DIR_SEPARATOR_S
+				                   PACKAGE ".xml", NULL));
 		applet = ka_applet_create (xml);
 		if (!applet)
 			return 1;
diff --git a/src/krb5-auth-dialog.glade b/src/krb5-auth-dialog.xml
similarity index 61%
rename from src/krb5-auth-dialog.glade
rename to src/krb5-auth-dialog.xml
index e252817..3f58588 100644
--- a/src/krb5-auth-dialog.glade
+++ b/src/krb5-auth-dialog.xml
@@ -1,138 +1,155 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
-<!--*- mode: xml -*-->
-<glade-interface>
-  <widget class="GtkDialog" id="krb5_dialog">
+<?xml version="1.0"?>
+<interface>
+  <requires lib="gtk+" version="2.16"/>
+  <!-- interface-naming-policy toplevel-contextual -->
+  <object class="GtkDialog" id="krb5_dialog">
     <property name="border_width">6</property>
     <property name="title" translatable="yes">Network Authentication</property>
     <property name="resizable">False</property>
-    <property name="window_position">GTK_WIN_POS_CENTER</property>
-    <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
+    <property name="window_position">center</property>
+    <property name="type_hint">normal</property>
     <property name="has_separator">False</property>
     <child internal-child="vbox">
-      <widget class="GtkVBox" id="dialog-vbox2">
+      <object class="GtkVBox" id="dialog-vbox2">
         <property name="visible">True</property>
         <child>
-          <widget class="GtkHBox" id="hbox1">
+          <object class="GtkHBox" id="hbox1">
             <property name="visible">True</property>
             <property name="border_width">6</property>
             <property name="spacing">12</property>
             <child>
-              <widget class="GtkImage" id="image1">
+              <object class="GtkImage" id="image1">
                 <property name="visible">True</property>
                 <property name="yalign">0</property>
                 <property name="stock">gtk-dialog-authentication</property>
-                <property name="icon_size">6</property>
-              </widget>
+                <property name="icon-size">6</property>
+              </object>
               <packing>
                 <property name="expand">False</property>
+                <property name="position">0</property>
               </packing>
             </child>
             <child>
-              <widget class="GtkAlignment" id="alignment4">
+              <object class="GtkAlignment" id="alignment4">
                 <property name="visible">True</property>
                 <property name="bottom_padding">10</property>
                 <child>
-                  <widget class="GtkVBox" id="vbox2">
+                  <object class="GtkVBox" id="vbox2">
                     <property name="visible">True</property>
                     <property name="spacing">12</property>
                     <child>
-                      <widget class="GtkVBox" id="vbox1">
+                      <object class="GtkVBox" id="vbox1">
                         <property name="visible">True</property>
                         <child>
-                          <widget class="GtkLabel" id="krb5_message_label">
+                          <object class="GtkLabel" id="krb5_message_label">
                             <property name="visible">True</property>
                             <property name="xalign">0</property>
                             <property name="use_markup">True</property>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
+                            <property name="position">0</property>
                           </packing>
                         </child>
-                      </widget>
+                      </object>
+                      <packing>
+                        <property name="position">0</property>
+                      </packing>
                     </child>
                     <child>
-                      <widget class="GtkVBox" id="vbox3">
+                      <object class="GtkVBox" id="vbox3">
                         <property name="visible">True</property>
                         <property name="spacing">3</property>
                         <child>
-                          <widget class="GtkHBox" id="hbox5">
+                          <object class="GtkHBox" id="entry_hbox">
                             <property name="visible">True</property>
                             <property name="spacing">3</property>
                             <child>
-                              <widget class="Custom" id="krb5_entry">
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                              </widget>
+                              <placeholder/>
                             </child>
-                          </widget>
+                          </object>
+                          <packing>
+                            <property name="position">0</property>
+                          </packing>
                         </child>
                         <child>
-                          <widget class="GtkLabel" id="krb5_status_label">
+                          <object class="GtkLabel" id="krb5_status_label">
                             <property name="visible">True</property>
                             <property name="xalign">1</property>
                             <property name="label">&lt;span size="smaller"&gt; &lt;/span&gt;</property>
                             <property name="use_markup">True</property>
-                          </widget>
+                          </object>
                           <packing>
                             <property name="expand">False</property>
                             <property name="fill">False</property>
                             <property name="position">1</property>
                           </packing>
                         </child>
-                      </widget>
+                      </object>
                       <packing>
                         <property name="position">1</property>
                       </packing>
                     </child>
-                  </widget>
+                  </object>
                 </child>
-              </widget>
+              </object>
               <packing>
                 <property name="position">1</property>
               </packing>
             </child>
-          </widget>
+          </object>
           <packing>
             <property name="position">1</property>
           </packing>
         </child>
         <child internal-child="action_area">
-          <widget class="GtkHButtonBox" id="dialog-action_area2">
+          <object class="GtkHButtonBox" id="dialog-action_area2">
             <property name="visible">True</property>
-            <property name="layout_style">GTK_BUTTONBOX_END</property>
+            <property name="layout_style">end</property>
             <child>
-              <widget class="GtkButton" id="cancelbutton1">
+              <object class="GtkButton" id="cancelbutton1">
+                <property name="label">gtk-cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
-                <property name="label">gtk-cancel</property>
+                <property name="receives_default">False</property>
                 <property name="use_stock">True</property>
-                <property name="response_id">-6</property>
-              </widget>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
             </child>
             <child>
-              <widget class="GtkButton" id="krb5_renew_button">
+              <object class="GtkButton" id="krb5_renew_button">
+                <property name="label" translatable="yes">_Renew Ticket</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
                 <property name="has_default">True</property>
-                <property name="label" translatable="yes">_Renew Ticket</property>
+                <property name="receives_default">False</property>
                 <property name="use_underline">True</property>
-                <property name="response_id">-5</property>
-              </widget>
+              </object>
               <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
                 <property name="position">1</property>
               </packing>
             </child>
-          </widget>
+          </object>
           <packing>
             <property name="expand">False</property>
-            <property name="pack_type">GTK_PACK_END</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
           </packing>
         </child>
-      </widget>
+      </object>
     </child>
-  </widget>
-</glade-interface>
+    <action-widgets>
+      <action-widget response="-6">cancelbutton1</action-widget>
+      <action-widget response="-5">krb5_renew_button</action-widget>
+    </action-widgets>
+  </object>
+</interface>
diff --git a/src/krb5-auth-pwdialog.c b/src/krb5-auth-pwdialog.c
index b3ed068..dd0270a 100644
--- a/src/krb5-auth-pwdialog.c
+++ b/src/krb5-auth-pwdialog.c
@@ -237,15 +237,21 @@ ka_pwdialog_setup (KaPwDialog* pwdialog, const gchar *krb5prompt,
 }
 
 KaPwDialog*
-ka_pwdialog_create(GladeXML* xml)
+ka_pwdialog_create(GtkBuilder* xml)
 {
 	KaPwDialog *pwdialog = ka_pwdialog_new();
 	KaPwDialogPrivate *priv = pwdialog->priv;
+	GtkWidget *entry_hbox = NULL;
 
-	priv->dialog = glade_xml_get_widget (xml, "krb5_dialog");
-	priv->status_label = glade_xml_get_widget (xml, "krb5_status_label");
-	priv->pw_entry = glade_xml_get_widget (xml, "krb5_entry");
-	priv->krb_label = glade_xml_get_widget (xml, "krb5_message_label");
+	priv->dialog = GTK_WIDGET (gtk_builder_get_object (xml, "krb5_dialog"));
+	priv->status_label = GTK_WIDGET (gtk_builder_get_object (xml, "krb5_status_label"));
+	priv->krb_label = GTK_WIDGET (gtk_builder_get_object (xml, "krb5_message_label"));
+	priv->pw_entry = GTK_WIDGET (gtk_secure_entry_new ());
+
+	entry_hbox = GTK_WIDGET (gtk_builder_get_object (xml, "entry_hbox"));
+	gtk_container_add (GTK_CONTAINER (entry_hbox), priv->pw_entry);
+	gtk_secure_entry_set_activates_default (GTK_SECURE_ENTRY (priv->pw_entry), TRUE);
+	gtk_widget_show (priv->pw_entry);
 
 	return pwdialog;
 }
diff --git a/src/krb5-auth-pwdialog.h b/src/krb5-auth-pwdialog.h
index efd73e6..1e5c93d 100644
--- a/src/krb5-auth-pwdialog.h
+++ b/src/krb5-auth-pwdialog.h
@@ -23,7 +23,6 @@
 
 #include <glib.h>
 #include <glib-object.h>
-#include <glade/glade.h>
 
 #include "config.h"
 #include "gtksecentry.h"
@@ -49,7 +48,7 @@ typedef struct _KaPwDialogPrivate KaPwDialogPrivate;
 GType ka_pwdialog_get_type (void);
 
 /* public functions */
-KaPwDialog* ka_pwdialog_create(GladeXML *xml);
+KaPwDialog* ka_pwdialog_create(GtkBuilder *xml);
 /* setup everything for the next prompting */
 void ka_pwdialog_setup (KaPwDialog* pwdialog, const gchar *krb5prompt,
                         gboolean invalid_auth);



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