From f3158f79b6357558e3a0083039857bba21c6ca5b Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Sat, 11 Apr 2015 22:32:08 +0100 Subject: remove usage of deprecated gtk alignment interface --- gtk/compat.c | 5 +++ gtk/scaffolding.c | 4 +- gtk/theme.h | 4 +- gtk/toolbar.c | 116 +++++++++++++++++++++++++++++++----------------------- gtk/window.c | 12 +++--- 5 files changed, 82 insertions(+), 59 deletions(-) (limited to 'gtk') diff --git a/gtk/compat.c b/gtk/compat.c index 0717f5260..51469b26e 100644 --- a/gtk/compat.c +++ b/gtk/compat.c @@ -588,8 +588,13 @@ void nsgtk_widget_set_alignment(GtkWidget *widget, GtkAlign halign, GtkAlign val void nsgtk_widget_set_margins(GtkWidget *widget, gint hmargin, gint vmargin) { #if GTK_CHECK_VERSION(3,0,0) +#if GTK_CHECK_VERSION(3,12,0) + gtk_widget_set_margin_start(widget, hmargin); + gtk_widget_set_margin_end(widget, hmargin); +#else gtk_widget_set_margin_left(widget, hmargin); gtk_widget_set_margin_right(widget, hmargin); +#endif gtk_widget_set_margin_top(widget, vmargin); gtk_widget_set_margin_bottom(widget, vmargin); #else diff --git a/gtk/scaffolding.c b/gtk/scaffolding.c index d7569f162..2b30a3ed7 100644 --- a/gtk/scaffolding.c +++ b/gtk/scaffolding.c @@ -2572,8 +2572,8 @@ void nsgtk_scaffolding_update_url_bar_ref(struct nsgtk_scaffolding *g) /* exported interface documented in gtk/scaffolding.h */ void nsgtk_scaffolding_update_throbber_ref(struct nsgtk_scaffolding *g) { - g->throbber = GTK_IMAGE(gtk_bin_get_child(GTK_BIN(gtk_bin_get_child( - GTK_BIN(g->buttons[THROBBER_ITEM]->button))))); + g->throbber = GTK_IMAGE(gtk_bin_get_child( + GTK_BIN(g->buttons[THROBBER_ITEM]->button))); } /* exported interface documented in gtk/scaffolding.h */ diff --git a/gtk/theme.h b/gtk/theme.h index 175757b4a..b3059ee93 100644 --- a/gtk/theme.h +++ b/gtk/theme.h @@ -30,8 +30,8 @@ typedef enum search_buttons { } nsgtk_search_buttons; struct nsgtk_theme { - GtkImage *image[PLACEHOLDER_BUTTON]; - GtkImage *searchimage[SEARCH_BUTTONS_COUNT]; + GtkImage *image[PLACEHOLDER_BUTTON]; + GtkImage *searchimage[SEARCH_BUTTONS_COUNT]; /* apng throbber element */ }; diff --git a/gtk/toolbar.c b/gtk/toolbar.c index dd542d7fa..0a518a511 100644 --- a/gtk/toolbar.c +++ b/gtk/toolbar.c @@ -573,21 +573,22 @@ gboolean nsgtk_toolbar_data(GtkWidget *widget, GdkDragContext *gdc, gint x, nsgtk_scaffolding_button(g, window->currentbutton)->location = ind; /* complete action */ - gtk_toolbar_insert(nsgtk_scaffolding_toolbar(g), - nsgtk_scaffolding_button(g, - window->currentbutton)->button, ind); - gtk_tool_item_set_use_drag_window(GTK_TOOL_ITEM( - nsgtk_scaffolding_button(g, - window->currentbutton)->button), TRUE); - gtk_drag_source_set(GTK_WIDGET( - nsgtk_scaffolding_button(g, - window->currentbutton)->button), - GDK_BUTTON1_MASK, &entry, 1, GDK_ACTION_COPY); + GtkToolItem *current_button; + + current_button = GTK_TOOL_ITEM(nsgtk_scaffolding_button(g, window->currentbutton)->button); + + gtk_toolbar_insert(nsgtk_scaffolding_toolbar(g), current_button, ind); + + gtk_tool_item_set_use_drag_window(current_button, TRUE); + gtk_drag_source_set(GTK_WIDGET(current_button), + GDK_BUTTON1_MASK, &entry, 1, + GDK_ACTION_COPY); nsgtk_toolbar_temp_connect(g, window->currentbutton); - gtk_widget_show_all(GTK_WIDGET( - nsgtk_scaffolding_button(g, - window->currentbutton)->button)); + gtk_widget_show_all(GTK_WIDGET(current_button)); + + window->currentbutton = -1; + return TRUE; } @@ -681,13 +682,14 @@ void nsgtk_toolbar_clear(GtkWidget *widget, GdkDragContext *gdc, guint time, GtkWidget *nsgtk_toolbar_make_widget(struct nsgtk_scaffolding *g, nsgtk_toolbar_button i, struct nsgtk_theme *theme) { + GtkWidget *w = NULL; + switch(i) { /* gtk_tool_button_new() accepts NULL args */ -#define MAKE_STOCKBUTTON(p, q) \ +#define MAKE_STOCKBUTTON(p, q) \ case p##_BUTTON: { \ GtkStockItem item; \ - GtkWidget *w; \ if (nsgtk_stock_lookup(q, &item) && \ (item.label != NULL)) { \ char *label = NULL; \ @@ -700,7 +702,7 @@ GtkWidget *nsgtk_toolbar_make_widget(struct nsgtk_scaffolding *g, w = GTK_WIDGET(gtk_tool_button_new(GTK_WIDGET( \ theme->image[p##_BUTTON]), q)); \ } \ - return w; \ + break; \ } MAKE_STOCKBUTTON(HOME, NSGTK_STOCK_HOME) @@ -709,12 +711,15 @@ GtkWidget *nsgtk_toolbar_make_widget(struct nsgtk_scaffolding *g, MAKE_STOCKBUTTON(STOP, NSGTK_STOCK_STOP) MAKE_STOCKBUTTON(RELOAD, NSGTK_STOCK_REFRESH) #undef MAKE_STOCKBUTTON + case HISTORY_BUTTON: - return GTK_WIDGET(gtk_tool_button_new(GTK_WIDGET( + w = GTK_WIDGET(gtk_tool_button_new(GTK_WIDGET( theme->image[HISTORY_BUTTON]), "")); + break; + case URL_BAR_ITEM: { GtkWidget *entry = nsgtk_entry_new(); - GtkWidget *w = GTK_WIDGET(gtk_tool_item_new()); + w = GTK_WIDGET(gtk_tool_item_new()); if ((entry == NULL) || (w == NULL)) { warn_user(messages_get("NoMemory"), 0); @@ -727,32 +732,39 @@ GtkWidget *nsgtk_toolbar_make_widget(struct nsgtk_scaffolding *g, gtk_container_add(GTK_CONTAINER(w), entry); gtk_tool_item_set_expand(GTK_TOOL_ITEM(w), TRUE); - return w; + break; } + case THROBBER_ITEM: { - if (edit_mode) - return GTK_WIDGET(gtk_tool_button_new(GTK_WIDGET( + if ((nsgtk_throbber == NULL) || + (nsgtk_throbber->framedata == NULL) || + (nsgtk_throbber->framedata[0] == NULL)) { + return NULL; + } + + if (edit_mode) { + w = GTK_WIDGET(gtk_tool_button_new(GTK_WIDGET( gtk_image_new_from_pixbuf( nsgtk_throbber->framedata[0])), - "[throbber]")); - if ((nsgtk_throbber == NULL) || (nsgtk_throbber->framedata == - NULL) || (nsgtk_throbber->framedata[0] == - NULL)) - return NULL; - GtkWidget *image = GTK_WIDGET(gtk_image_new_from_pixbuf( - nsgtk_throbber->framedata[0])); - GtkWidget *w = GTK_WIDGET(gtk_tool_item_new()); - GtkWidget *al = GTK_WIDGET(gtk_alignment_new(0.5, 0.5, 1, 1)); - if ((w == NULL) || (al == NULL)) { - warn_user(messages_get("NoMemory"), 0); - return NULL; + "[throbber]")); + } else { + GtkWidget *image; + + w = GTK_WIDGET(gtk_tool_item_new()); + + image = gtk_image_new_from_pixbuf(nsgtk_throbber->framedata[0]); + if (image != NULL) { + nsgtk_widget_set_alignment(image, + GTK_ALIGN_CENTER, + GTK_ALIGN_CENTER); + nsgtk_widget_set_margins(image, 3, 0); + + gtk_container_add(GTK_CONTAINER(w), image); + } } - gtk_alignment_set_padding(GTK_ALIGNMENT(al), 0, 0, 3, 3); - if (image != NULL) - gtk_container_add(GTK_CONTAINER(al), image); - gtk_container_add(GTK_CONTAINER(w), al); - return w; + break; } + case WEBSEARCH_ITEM: { if (edit_mode) return GTK_WIDGET(gtk_tool_button_new(GTK_WIDGET( @@ -762,7 +774,7 @@ GtkWidget *nsgtk_toolbar_make_widget(struct nsgtk_scaffolding *g, GtkWidget *entry = nsgtk_entry_new(); - GtkWidget *w = GTK_WIDGET(gtk_tool_item_new()); + w = GTK_WIDGET(gtk_tool_item_new()); if ((entry == NULL) || (w == NULL)) { warn_user(messages_get("NoMemory"), 0); @@ -775,18 +787,19 @@ GtkWidget *nsgtk_toolbar_make_widget(struct nsgtk_scaffolding *g, NSGTK_STOCK_INFO); gtk_container_add(GTK_CONTAINER(w), entry); - return w; + break; } /* gtk_tool_button_new accepts NULL args */ -#define MAKE_MENUBUTTON(p, q) case p##_BUTTON: {\ - char *label = NULL;\ - label = remove_underscores(messages_get(#q), false);\ - GtkWidget *w = GTK_WIDGET(gtk_tool_button_new(GTK_WIDGET(\ - theme->image[p##_BUTTON]), label));\ - if (label != NULL)\ - free(label);\ - return w;\ +#define MAKE_MENUBUTTON(p, q) \ + case p##_BUTTON: { \ + char *label = NULL; \ + label = remove_underscores(messages_get(#q), false); \ + w = GTK_WIDGET(gtk_tool_button_new(GTK_WIDGET( \ + theme->image[p##_BUTTON]), label)); \ + if (label != NULL) \ + free(label); \ + break; \ } MAKE_MENUBUTTON(NEWWINDOW, gtkNewWindow) @@ -831,10 +844,13 @@ GtkWidget *nsgtk_toolbar_make_widget(struct nsgtk_scaffolding *g, MAKE_MENUBUTTON(PREVTAB, gtkPrevTab) MAKE_MENUBUTTON(GUIDE, gtkGuide) MAKE_MENUBUTTON(INFO, gtkUserInformation) - default: - return NULL; #undef MAKE_MENUBUTTON + + default: + break; + } + return w; } /** diff --git a/gtk/window.c b/gtk/window.c index 00d969216..685ff913a 100644 --- a/gtk/window.c +++ b/gtk/window.c @@ -50,9 +50,6 @@ #include "gtk/bitmap.h" #include "gtk/gdk.h" -/* helper macro to conenct signals to callbacks */ -#define CONNECT(obj, sig, callback, ptr) \ - g_signal_connect(G_OBJECT(obj), (sig), G_CALLBACK(callback), (ptr)) extern const GdkPixdata menu_cursor_pixdata; @@ -812,8 +809,13 @@ gui_window_create(struct browser_window *bw, GTK_STATE_NORMAL, 0, 0xffff, 0xffff, 0xffff); - nsgtk_connect_draw_event(GTK_WIDGET(g->layout), - G_CALLBACK(nsgtk_window_draw_event), g); + g->signalhandler[NSGTK_WINDOW_SIGNAL_REDRAW] = + nsgtk_connect_draw_event(GTK_WIDGET(g->layout), + G_CALLBACK(nsgtk_window_draw_event), g); + + /* helper macro to conect signals to callbacks */ +#define CONNECT(obj, sig, callback, ptr) \ + g_signal_connect(G_OBJECT(obj), (sig), G_CALLBACK(callback), (ptr)) /* layout signals */ CONNECT(g->layout, "motion-notify-event", -- cgit v1.2.3