X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/blobdiff_plain/812b526d127c6657e571db8b33a58137af6709cd..05fd0aa117566503026dbedfe4d9b0485da2d5ed:/disobedience/misc.c diff --git a/disobedience/misc.c b/disobedience/misc.c index c807a27..6a12fb6 100644 --- a/disobedience/misc.c +++ b/disobedience/misc.c @@ -1,6 +1,6 @@ /* * This file is part of DisOrder - * Copyright (C) 2006-2008 Richard Kettlewell + * Copyright (C) 2006-2008, 2010 Richard Kettlewell * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -22,12 +22,15 @@ #include "disobedience.h" #include "table.h" +/** @brief Embedded image */ struct image { + /** @brief Image name */ const char *name; + /** @brief Image data in GDK pixbuf inline format */ const guint8 *data; }; -#include "images.h" +#include "../images/images.h" /* Miscellaneous GTK+ stuff ------------------------------------------------ */ @@ -107,15 +110,18 @@ GdkPixbuf *find_image(const char *name) { if(!(pb = (GdkPixbuf *)cache_get(&image_cache_type, name))) { if((n = TABLE_FIND(images, name, name)) >= 0) { /* Use the built-in copy */ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" if(!(pb = gdk_pixbuf_new_from_inline(-1, images[n].data, FALSE, &err))) { - error(0, "%s", err->message); +#pragma GCC diagnostic pop + disorder_error(0, "%s", err->message); return 0; } } else { /* See if there's a copy on disk */ byte_xasprintf(&path, "%s/static/%s", pkgdatadir, name); if(!(pb = gdk_pixbuf_new_from_file(path, &err))) { - error(0, "%s", err->message); + disorder_error(0, "%s", err->message); return 0; } } @@ -172,7 +178,7 @@ GtkWidget *iconbutton(const char *path, const char *tip) { gtk_widget_set_style(content, tool_style); gtk_container_add(GTK_CONTAINER(button), content); if(tip) - gtk_tooltips_set_tip(tips, button, tip, ""); + gtk_widget_set_tooltip_text(button, tip); return button; } @@ -187,8 +193,15 @@ GtkWidget *create_buttons_box(struct button *buttons, gtk_widget_set_style(buttons[n].widget, tool_style); g_signal_connect(G_OBJECT(buttons[n].widget), "clicked", G_CALLBACK(buttons[n].clicked), 0); - gtk_box_pack_start(GTK_BOX(box), buttons[n].widget, FALSE, FALSE, 1); - gtk_tooltips_set_tip(tips, buttons[n].widget, buttons[n].tip, ""); + void (*pack)(GtkBox *box, + GtkWidget *child, + gboolean expand, + gboolean fill, + guint padding); + if(!(pack = buttons[n].pack)) + pack = gtk_box_pack_start; + pack(GTK_BOX(box), buttons[n].widget, FALSE, FALSE, 1); + gtk_widget_set_tooltip_text(buttons[n].widget, buttons[n].tip); } return box; }