diff options
author | Vincent Sanders <vince@netsurf-browser.org> | 2012-05-16 19:57:43 +0000 |
---|---|---|
committer | Vincent Sanders <vince@netsurf-browser.org> | 2012-05-16 19:57:43 +0000 |
commit | 2622adaa1fd3a6f24ed3ba527ee132148fd25beb (patch) | |
tree | 1a40026a0693e61bf7e46ab0b79838eb3d918e35 /gtk/history.c | |
parent | 6d125e79b364e844523faa69d7d0861cc8f1bbf4 (diff) | |
download | netsurf-2622adaa1fd3a6f24ed3ba527ee132148fd25beb.tar.gz netsurf-2622adaa1fd3a6f24ed3ba527ee132148fd25beb.tar.bz2 |
allow netsurf to build with gtk3
svn path=/trunk/netsurf/; revision=13926
Diffstat (limited to 'gtk/history.c')
-rw-r--r-- | gtk/history.c | 43 |
1 files changed, 24 insertions, 19 deletions
diff --git a/gtk/history.c b/gtk/history.c index 34c76cd7d..e7b083671 100644 --- a/gtk/history.c +++ b/gtk/history.c @@ -85,7 +85,7 @@ static struct menu_events menu_events[] = { }; static struct nsgtk_treeview *global_history_window; -static GladeXML *gladeFile; +static GtkBuilder *gladeFile; GtkWindow *wndHistory; @@ -95,31 +95,33 @@ bool nsgtk_history_init(const char *glade_file_location) GtkWindow *window; GtkScrolledWindow *scrolled; GtkDrawingArea *drawing_area; - - gladeFile = glade_xml_new(glade_file_location, NULL, NULL); - if (gladeFile == NULL) + GError* error = NULL; + + gladeFile = gtk_builder_new(); + if (!gtk_builder_add_from_file(gladeFile, glade_file_location, &error)) { + g_warning ("Couldn't load builder file: %s", error->message); + g_error_free (error); return false; + } - glade_xml_signal_autoconnect(gladeFile); + gtk_builder_connect_signals(gladeFile, NULL); - wndHistory = GTK_WINDOW(glade_xml_get_widget(gladeFile, "wndHistory")); + wndHistory = GTK_WINDOW(gtk_builder_get_object(gladeFile, "wndHistory")); window = wndHistory; - scrolled = GTK_SCROLLED_WINDOW(glade_xml_get_widget(gladeFile, - "globalHistoryScrolled")); + scrolled = GTK_SCROLLED_WINDOW(gtk_builder_get_object(gladeFile, "globalHistoryScrolled")); - drawing_area = GTK_DRAWING_AREA(glade_xml_get_widget(gladeFile, - "globalHistoryDrawingArea")); + drawing_area = GTK_DRAWING_AREA(gtk_builder_get_object(gladeFile, "globalHistoryDrawingArea")); global_history_window = nsgtk_treeview_create( - history_global_get_tree_flags(), window, scrolled, - drawing_area); + history_global_get_tree_flags(), window, scrolled, + drawing_area); if (global_history_window == NULL) return false; -#define CONNECT(obj, sig, callback, ptr) \ +#define CONNECT(obj, sig, callback, ptr) \ g_signal_connect(G_OBJECT(obj), (sig), G_CALLBACK(callback), (ptr)) CONNECT(window, "delete_event", gtk_widget_hide_on_delete, NULL); @@ -141,12 +143,15 @@ bool nsgtk_history_init(const char *glade_file_location) void nsgtk_history_init_menu(void) { struct menu_events *event = menu_events; - - while (event->widget != NULL) - { - GtkWidget *w = glade_xml_get_widget(gladeFile, event->widget); - g_signal_connect(G_OBJECT(w), "activate", event->handler, - global_history_window); + GtkWidget *w; + + while (event->widget != NULL) { + w = GTK_WIDGET(gtk_builder_get_object(gladeFile, event->widget)); + if (w == NULL) { + LOG(("Unable to connect menu widget ""%s""", event->widget)); + } else { + g_signal_connect(G_OBJECT(w), "activate", event->handler, global_history_window); + } event++; } } |