From 2622adaa1fd3a6f24ed3ba527ee132148fd25beb Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Wed, 16 May 2012 19:57:43 +0000 Subject: allow netsurf to build with gtk3 svn path=/trunk/netsurf/; revision=13926 --- gtk/login.c | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) (limited to 'gtk/login.c') 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 #include #include -#include #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; -- cgit v1.2.3