forked from AuroraMiddleware/gtk
Make the file property readable. (#170674, Lorenzo Gil Sanchez)
2005-06-08 Matthias Clasen <mclasen@redhat.com> * gtk/gtkimage.c: Make the file property readable. (#170674, Lorenzo Gil Sanchez)
This commit is contained in:
parent
9bdd5b9345
commit
e413007784
@ -1,3 +1,8 @@
|
|||||||
|
2005-06-08 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
|
* gtk/gtkimage.c: Make the file property readable.
|
||||||
|
(#170674, Lorenzo Gil Sanchez)
|
||||||
|
|
||||||
2005-06-08 Matthias Clasen <mclasen@redhat.com>
|
2005-06-08 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
* gtk/gtkfilesystem.c (gtk_file_info_get_display_key): Use
|
* gtk/gtkfilesystem.c (gtk_file_info_get_display_key): Use
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2005-06-08 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
|
* gtk/gtkimage.c: Make the file property readable.
|
||||||
|
(#170674, Lorenzo Gil Sanchez)
|
||||||
|
|
||||||
2005-06-08 Matthias Clasen <mclasen@redhat.com>
|
2005-06-08 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
* gtk/gtkfilesystem.c (gtk_file_info_get_display_key): Use
|
* gtk/gtkfilesystem.c (gtk_file_info_get_display_key): Use
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2005-06-08 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
|
* gtk/gtkimage.c: Make the file property readable.
|
||||||
|
(#170674, Lorenzo Gil Sanchez)
|
||||||
|
|
||||||
2005-06-08 Matthias Clasen <mclasen@redhat.com>
|
2005-06-08 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
* gtk/gtkfilesystem.c (gtk_file_info_get_display_key): Use
|
* gtk/gtkfilesystem.c (gtk_file_info_get_display_key): Use
|
||||||
|
@ -41,6 +41,9 @@ typedef struct _GtkImagePrivate GtkImagePrivate;
|
|||||||
|
|
||||||
struct _GtkImagePrivate
|
struct _GtkImagePrivate
|
||||||
{
|
{
|
||||||
|
/* Only used with GTK_IMAGE_ANIMATION, GTK_IMAGE_PIXBUF */
|
||||||
|
gchar *filename;
|
||||||
|
|
||||||
gint pixel_size;
|
gint pixel_size;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -192,7 +195,7 @@ gtk_image_class_init (GtkImageClass *class)
|
|||||||
P_("Filename"),
|
P_("Filename"),
|
||||||
P_("Filename to load and display"),
|
P_("Filename to load and display"),
|
||||||
NULL,
|
NULL,
|
||||||
GTK_PARAM_WRITABLE));
|
GTK_PARAM_READWRITE));
|
||||||
|
|
||||||
|
|
||||||
g_object_class_install_property (gobject_class,
|
g_object_class_install_property (gobject_class,
|
||||||
@ -285,6 +288,8 @@ gtk_image_init (GtkImage *image)
|
|||||||
image->mask = NULL;
|
image->mask = NULL;
|
||||||
|
|
||||||
priv->pixel_size = -1;
|
priv->pixel_size = -1;
|
||||||
|
|
||||||
|
priv->filename = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -349,8 +354,7 @@ gtk_image_set_property (GObject *object,
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case PROP_FILE:
|
case PROP_FILE:
|
||||||
gtk_image_set_from_file (image,
|
gtk_image_set_from_file (image, g_value_get_string (value));
|
||||||
g_value_get_string (value));
|
|
||||||
break;
|
break;
|
||||||
case PROP_STOCK:
|
case PROP_STOCK:
|
||||||
gtk_image_set_from_stock (image, g_value_get_string (value),
|
gtk_image_set_from_stock (image, g_value_get_string (value),
|
||||||
@ -439,6 +443,9 @@ gtk_image_get_property (GObject *object,
|
|||||||
g_value_set_object (value,
|
g_value_set_object (value,
|
||||||
image->data.image.image);
|
image->data.image.image);
|
||||||
break;
|
break;
|
||||||
|
case PROP_FILE:
|
||||||
|
g_value_set_string (value, priv->filename);
|
||||||
|
break;
|
||||||
case PROP_STOCK:
|
case PROP_STOCK:
|
||||||
if (image->storage_type != GTK_IMAGE_STOCK)
|
if (image->storage_type != GTK_IMAGE_STOCK)
|
||||||
g_value_set_string (value, NULL);
|
g_value_set_string (value, NULL);
|
||||||
@ -827,6 +834,7 @@ void
|
|||||||
gtk_image_set_from_file (GtkImage *image,
|
gtk_image_set_from_file (GtkImage *image,
|
||||||
const gchar *filename)
|
const gchar *filename)
|
||||||
{
|
{
|
||||||
|
GtkImagePrivate *priv = GTK_IMAGE_GET_PRIVATE (image);
|
||||||
GdkPixbufAnimation *anim;
|
GdkPixbufAnimation *anim;
|
||||||
|
|
||||||
g_return_if_fail (GTK_IS_IMAGE (image));
|
g_return_if_fail (GTK_IS_IMAGE (image));
|
||||||
@ -837,10 +845,11 @@ gtk_image_set_from_file (GtkImage *image,
|
|||||||
|
|
||||||
if (filename == NULL)
|
if (filename == NULL)
|
||||||
{
|
{
|
||||||
|
priv->filename = NULL;
|
||||||
g_object_thaw_notify (G_OBJECT (image));
|
g_object_thaw_notify (G_OBJECT (image));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
anim = gdk_pixbuf_animation_new_from_file (filename, NULL);
|
anim = gdk_pixbuf_animation_new_from_file (filename, NULL);
|
||||||
|
|
||||||
if (anim == NULL)
|
if (anim == NULL)
|
||||||
@ -858,17 +867,15 @@ gtk_image_set_from_file (GtkImage *image,
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
if (gdk_pixbuf_animation_is_static_image (anim))
|
if (gdk_pixbuf_animation_is_static_image (anim))
|
||||||
{
|
gtk_image_set_from_pixbuf (image,
|
||||||
gtk_image_set_from_pixbuf (image,
|
gdk_pixbuf_animation_get_static_image (anim));
|
||||||
gdk_pixbuf_animation_get_static_image (anim));
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
gtk_image_set_from_animation (image, anim);
|
||||||
gtk_image_set_from_animation (image, anim);
|
|
||||||
}
|
|
||||||
|
|
||||||
g_object_unref (anim);
|
g_object_unref (anim);
|
||||||
|
|
||||||
|
priv->filename = g_strdup (filename);
|
||||||
|
|
||||||
g_object_thaw_notify (G_OBJECT (image));
|
g_object_thaw_notify (G_OBJECT (image));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1835,6 +1842,8 @@ gtk_image_expose (GtkWidget *widget,
|
|||||||
static void
|
static void
|
||||||
gtk_image_clear (GtkImage *image)
|
gtk_image_clear (GtkImage *image)
|
||||||
{
|
{
|
||||||
|
GtkImagePrivate *priv = GTK_IMAGE_GET_PRIVATE (image);
|
||||||
|
|
||||||
g_object_freeze_notify (G_OBJECT (image));
|
g_object_freeze_notify (G_OBJECT (image));
|
||||||
|
|
||||||
if (image->storage_type != GTK_IMAGE_EMPTY)
|
if (image->storage_type != GTK_IMAGE_EMPTY)
|
||||||
@ -1930,6 +1939,13 @@ gtk_image_clear (GtkImage *image)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (priv->filename)
|
||||||
|
{
|
||||||
|
g_free (priv->filename);
|
||||||
|
priv->filename = NULL;
|
||||||
|
g_object_notify (G_OBJECT (image), "file");
|
||||||
|
}
|
||||||
|
|
||||||
image->storage_type = GTK_IMAGE_EMPTY;
|
image->storage_type = GTK_IMAGE_EMPTY;
|
||||||
|
|
||||||
memset (&image->data, '\0', sizeof (image->data));
|
memset (&image->data, '\0', sizeof (image->data));
|
||||||
|
Loading…
Reference in New Issue
Block a user