summaryrefslogtreecommitdiff
path: root/src/util.c
diff options
context:
space:
mode:
authorLucas Rocha <lucasr@gnome.org>2006-07-28 21:25:11 +0000
committerLucas Almeida Rocha <lucasr@src.gnome.org>2006-07-28 21:25:11 +0000
commitd373b3f3ce9e1876f2e267bf240fbb807abd6815 (patch)
treed5a34fee0582667ea12d1905540dabb5ed68577e /src/util.c
parente46814b46ac4687de519dfdd0fd8f578cfa17946 (diff)
src/notification.c (-set_scaled_pixbuf, +zenity_notification_icon_update,
2006-07-27 Lucas Rocha <lucasr@gnome.org> * src/notification.c (-set_scaled_pixbuf, +zenity_notification_icon_update, -zenity_notification_icon_press_callback, +zenity_notification_icon_size_changed_cb, -zenity_notification_icon_expose_callback, -zenity_notification_icon_destroy_callback, +zenity_notification_icon_activate_cb, zenity_notification_handle_stdin, zenity_notification), src/util.[ch] (+zenity_util_stock_from_filename, zenity_util_pixbuf_new_from_file), Makefile.am, configure.in: Migration to gtk_status_icon (Fixes bug #341451). Patch from Christian Persch <chpe@gnome.org>. * src/eggtrayicon.[ch]: removed.
Diffstat (limited to 'src/util.c')
-rw-r--r--src/util.c36
1 files changed, 25 insertions, 11 deletions
diff --git a/src/util.c b/src/util.c
index 4fc7f8d..41c7c55 100644
--- a/src/util.c
+++ b/src/util.c
@@ -145,19 +145,33 @@ zenity_util_fill_file_buffer (GtkTextBuffer *buffer, const gchar *filename)
return TRUE;
}
+const gchar *
+zenity_util_stock_from_filename (const gchar *filename)
+{
+ if (!filename || !filename[0])
+ return GTK_STOCK_DIALOG_WARNING; /* default */
+
+ if (!g_ascii_strcasecmp (filename, "warning"))
+ return GTK_STOCK_DIALOG_WARNING;
+ if (!g_ascii_strcasecmp (filename, "info"))
+ return GTK_STOCK_DIALOG_INFO;
+ if (!g_ascii_strcasecmp (filename, "question"))
+ return GTK_STOCK_DIALOG_QUESTION;
+ if (!g_ascii_strcasecmp (filename, "error"))
+ return GTK_STOCK_DIALOG_ERROR;
+ return NULL;
+}
+
GdkPixbuf *
-zenity_util_pixbuf_new_from_file (GtkWidget *widget, gchar *filename)
+zenity_util_pixbuf_new_from_file (GtkWidget *widget, const gchar *filename)
{
- if (!strcasecmp (filename, "warning"))
- return gtk_widget_render_icon (widget, GTK_STOCK_DIALOG_WARNING, GTK_ICON_SIZE_BUTTON, NULL);
- if (!strcasecmp (filename, "info"))
- return gtk_widget_render_icon (widget, GTK_STOCK_DIALOG_INFO, GTK_ICON_SIZE_BUTTON, NULL);
- if (!strcasecmp (filename, "question"))
- return gtk_widget_render_icon (widget, GTK_STOCK_DIALOG_QUESTION, GTK_ICON_SIZE_BUTTON, NULL);
- if (!strcasecmp (filename, "error"))
- return gtk_widget_render_icon (widget, GTK_STOCK_DIALOG_ERROR, GTK_ICON_SIZE_BUTTON, NULL);
- else
- return gdk_pixbuf_new_from_file (filename, NULL);
+ const gchar *stock;
+
+ stock = zenity_util_stock_from_filename (filename);
+ if (stock)
+ return gtk_widget_render_icon (widget, stock, GTK_ICON_SIZE_BUTTON, NULL);
+
+ return gdk_pixbuf_new_from_file (filename, NULL);
}
void