X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/blobdiff_plain/b6ba548b7628455c9f9ededfd37815c4dd4681f6..HEAD:/disobedience/misc.c diff --git a/disobedience/misc.c b/disobedience/misc.c index 8c4ed09..6a12fb6 100644 --- a/disobedience/misc.c +++ b/disobedience/misc.c @@ -1,21 +1,19 @@ /* * 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 + * 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 - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 - * USA + * along with this program. If not, see . */ /** @file disobedience/misc.c * @brief Miscellaneous GTK+ interfacing stuff @@ -24,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 ------------------------------------------------ */ @@ -109,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; } } @@ -174,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; } @@ -189,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; }