85 lines
3.1 KiB
Diff
85 lines
3.1 KiB
Diff
diff -urp libsexy-0.1.11.orig/libsexy/sexy-icon-entry.c libsexy-0.1.11/libsexy/sexy-icon-entry.c
|
|
--- libsexy-0.1.11.orig/libsexy/sexy-icon-entry.c 2007-03-17 23:30:00.000000000 -0400
|
|
+++ libsexy-0.1.11/libsexy/sexy-icon-entry.c 2009-11-15 18:21:08.560177737 -0500
|
|
@@ -468,9 +468,10 @@ static GdkPixbuf *
|
|
get_pixbuf_from_icon(SexyIconEntry *entry, SexyIconEntryPosition icon_pos)
|
|
{
|
|
GdkPixbuf *pixbuf = NULL;
|
|
- gchar *stock_id;
|
|
+ const gchar *stock_id;
|
|
SexyIconInfo *icon_info = &entry->priv->icons[icon_pos];
|
|
GtkIconSize size;
|
|
+ int w, h;
|
|
|
|
switch (gtk_image_get_storage_type(GTK_IMAGE(icon_info->icon)))
|
|
{
|
|
@@ -480,11 +481,17 @@ get_pixbuf_from_icon(SexyIconEntry *entr
|
|
break;
|
|
|
|
case GTK_IMAGE_STOCK:
|
|
- gtk_image_get_stock(GTK_IMAGE(icon_info->icon), &stock_id, &size);
|
|
+ gtk_image_get_stock(GTK_IMAGE(icon_info->icon), (char**)&stock_id, &size);
|
|
pixbuf = gtk_widget_render_icon(GTK_WIDGET(entry),
|
|
stock_id, size, NULL);
|
|
break;
|
|
|
|
+ case GTK_IMAGE_ICON_NAME:
|
|
+ gtk_image_get_icon_name (GTK_IMAGE(icon_info->icon), &stock_id, &size);
|
|
+ gtk_icon_size_lookup (size, &w, &h);
|
|
+ pixbuf = gtk_icon_theme_load_icon (gtk_icon_theme_get_default (), stock_id, size, 0, NULL);
|
|
+ break;
|
|
+
|
|
default:
|
|
return NULL;
|
|
}
|
|
@@ -655,7 +662,8 @@ update_icon(GObject *obj, GParamSpec *pa
|
|
|
|
if (strcmp(name, "pixbuf") && strcmp(name, "stock") &&
|
|
strcmp(name, "image") && strcmp(name, "pixmap") &&
|
|
- strcmp(name, "icon_set") && strcmp(name, "pixbuf_animation"))
|
|
+ strcmp(name, "icon-set") && strcmp(name, "pixbuf-animation") &&
|
|
+ strcmp(name, "icon-name"))
|
|
{
|
|
return;
|
|
}
|
|
diff -urp libsexy-0.1.11.orig/tests/test-icon-entry.c libsexy-0.1.11/tests/test-icon-entry.c
|
|
--- libsexy-0.1.11.orig/tests/test-icon-entry.c 2006-09-02 17:26:55.000000000 -0400
|
|
+++ libsexy-0.1.11/tests/test-icon-entry.c 2009-11-15 18:21:08.560913305 -0500
|
|
@@ -21,7 +21,7 @@ main(int argc, char **argv)
|
|
g_signal_connect(G_OBJECT(window), "destroy",
|
|
G_CALLBACK(gtk_main_quit), NULL);
|
|
|
|
- table = gtk_table_new(2, 4, FALSE);
|
|
+ table = gtk_table_new(2, 5, FALSE);
|
|
gtk_widget_show(table);
|
|
gtk_container_add(GTK_CONTAINER(window), table);
|
|
gtk_table_set_row_spacings(GTK_TABLE(table), 6);
|
|
@@ -128,6 +128,27 @@ main(int argc, char **argv)
|
|
gtk_table_attach(GTK_TABLE(table), icon_entry, 1, 2, 4, 5,
|
|
GTK_FILL | GTK_EXPAND, GTK_FILL, 0, 0);
|
|
|
|
+ /*
|
|
+ * Goto URL
|
|
+ */
|
|
+ label = gtk_label_new("URL:");
|
|
+ gtk_widget_show(label);
|
|
+ gtk_table_attach(GTK_TABLE(table), label, 0, 1, 5, 6,
|
|
+ GTK_FILL, GTK_FILL, 0, 0);
|
|
+ gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5);
|
|
+
|
|
+ icon_entry = sexy_icon_entry_new();
|
|
+ gtk_widget_show(icon_entry);
|
|
+ gtk_table_attach(GTK_TABLE(table), icon_entry, 1, 2, 5, 6,
|
|
+ GTK_FILL | GTK_EXPAND, GTK_FILL, 0, 0);
|
|
+
|
|
+ icon = gtk_image_new_from_icon_name ("stock_internet", GTK_ICON_SIZE_MENU);
|
|
+ gtk_widget_show(icon);
|
|
+ sexy_icon_entry_set_icon(SEXY_ICON_ENTRY(icon_entry),
|
|
+ SEXY_ICON_ENTRY_SECONDARY,
|
|
+ GTK_IMAGE(icon));
|
|
+ sexy_icon_entry_set_icon_highlight(SEXY_ICON_ENTRY(icon_entry),
|
|
+ SEXY_ICON_ENTRY_PRIMARY, TRUE);
|
|
gtk_main();
|
|
|
|
return 0;
|