summaryrefslogtreecommitdiff
path: root/gtk/history.c
diff options
context:
space:
mode:
authorVincent Sanders <vince@netsurf-browser.org>2012-05-16 19:57:43 +0000
committerVincent Sanders <vince@netsurf-browser.org>2012-05-16 19:57:43 +0000
commit2622adaa1fd3a6f24ed3ba527ee132148fd25beb (patch)
tree1a40026a0693e61bf7e46ab0b79838eb3d918e35 /gtk/history.c
parent6d125e79b364e844523faa69d7d0861cc8f1bbf4 (diff)
downloadnetsurf-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.c43
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++;
}
}