summaryrefslogtreecommitdiff
path: root/gtk/login.c
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/login.c')
-rw-r--r--gtk/login.c31
1 files changed, 19 insertions, 12 deletions
diff --git a/gtk/login.c b/gtk/login.c
index daf9e9644..41f66de20 100644
--- a/gtk/login.c
+++ b/gtk/login.c
@@ -21,7 +21,6 @@
#include <string.h>
#include <assert.h>
#include <gtk/gtk.h>
-#include <glade/glade.h>
#include "utils/log.h"
#include "gtk/gui.h"
@@ -41,7 +40,7 @@ struct session_401 {
char *realm; /**< Authentication realm */
nserror (*cb)(bool proceed, void *pw); /**< Continuation callback */
void *cbpw; /**< Continuation data */
- GladeXML *x; /**< Our glade windows */
+ GtkBuilder *x; /**< Our glade windows */
GtkWindow *wnd; /**< The login window itself */
GtkEntry *user; /**< Widget with username */
GtkEntry *pass; /**< Widget with password */
@@ -78,18 +77,26 @@ void create_login_window(const char *url, const char *host, const char *realm,
* the widgets we're interested in.
*/
- GladeXML *x = glade_xml_new(glade_file_location->login, NULL, NULL);
- GtkWindow *wnd = GTK_WINDOW(glade_xml_get_widget(x, "wndLogin"));
+ GtkWindow *wnd;
GtkLabel *lhost, *lrealm;
GtkEntry *euser, *epass;
GtkButton *bok, *bcan;
-
- lhost = GTK_LABEL(glade_xml_get_widget(x, "labelLoginHost"));
- lrealm = GTK_LABEL(glade_xml_get_widget(x, "labelLoginRealm"));
- euser = GTK_ENTRY(glade_xml_get_widget(x, "entryLoginUser"));
- epass = GTK_ENTRY(glade_xml_get_widget(x, "entryLoginPass"));
- bok = GTK_BUTTON(glade_xml_get_widget(x, "buttonLoginOK"));
- bcan = GTK_BUTTON(glade_xml_get_widget(x, "buttonLoginCan"));
+ GError* error = NULL;
+ GtkBuilder* builder;
+
+ builder = gtk_builder_new ();
+ if (!gtk_builder_add_from_file(builder, glade_file_location->login, &error)) {
+ g_warning ("Couldn't load builder file: %s", error->message);
+ g_error_free (error);
+ }
+
+ wnd = GTK_WINDOW(gtk_builder_get_object(builder, "wndLogin"));
+ lhost = GTK_LABEL(gtk_builder_get_object(builder, "labelLoginHost"));
+ lrealm = GTK_LABEL(gtk_builder_get_object(builder, "labelLoginRealm"));
+ euser = GTK_ENTRY(gtk_builder_get_object(builder, "entryLoginUser"));
+ epass = GTK_ENTRY(gtk_builder_get_object(builder, "entryLoginPass"));
+ bok = GTK_BUTTON(gtk_builder_get_object(builder, "buttonLoginOK"));
+ bcan = GTK_BUTTON(gtk_builder_get_object(builder, "buttonLoginCan"));
/* create and fill in our session structure */
@@ -99,7 +106,7 @@ void create_login_window(const char *url, const char *host, const char *realm,
session->realm = strdup(realm ? realm : "Secure Area");
session->cb = cb;
session->cbpw = cbpw;
- session->x = x;
+ session->x = builder;
session->wnd = wnd;
session->user = euser;
session->pass = epass;