[gnome-shell] StIcon: Remove content-image capability
- From: Owen Taylor <otaylor src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] StIcon: Remove content-image capability
- Date: Fri, 12 Nov 2010 22:37:37 +0000 (UTC)
commit a9a8b1ec6aa19ca92816140edd9f020620e10eb4
Author: Owen W. Taylor <otaylor fishsoup net>
Date: Sat Oct 30 20:08:49 2010 -0400
StIcon: Remove content-image capability
The ability to set a "content image" on an icon relies on the ability
to have custom theme properties of a "border image" (9-slice) type.
We don't have this, and the capability of a bordered image specified
by the theme can be achieved more naturally with standard CSS facilities.
https://bugzilla.gnome.org/show_bug.cgi?id=633865
src/st/st-icon.c | 74 +++++------------------------------------------------
1 files changed, 7 insertions(+), 67 deletions(-)
---
diff --git a/src/st/st-icon.c b/src/st/st-icon.c
index 2534fef..f175117 100644
--- a/src/st/st-icon.c
+++ b/src/st/st-icon.c
@@ -51,7 +51,6 @@ G_DEFINE_TYPE_WITH_CODE (StIcon, st_icon, ST_TYPE_WIDGET,
struct _StIconPrivate
{
ClutterActor *icon_texture;
- gboolean is_content_image;
gchar *icon_name;
gint icon_size;
@@ -70,13 +69,6 @@ st_stylable_iface_init (StStylableIface *iface)
is_initialized = TRUE;
- pspec = g_param_spec_boxed ("x-st-content-image",
- "Content Image",
- "Image used as the button",
- ST_TYPE_BORDER_IMAGE,
- G_PARAM_READWRITE);
- st_stylable_iface_install_property (iface, ST_TYPE_ICON, pspec);
-
pspec = g_param_spec_string ("x-st-icon-name",
"Icon name",
"Icon name to load from the theme",
@@ -189,15 +181,10 @@ st_icon_get_preferred_height (ClutterActor *actor,
&width,
&height);
- if (!priv->is_content_image)
- {
- if (width <= height)
- pref_height = priv->icon_size;
- else
- pref_height = height / (gfloat)width * priv->icon_size;
- }
+ if (width <= height)
+ pref_height = priv->icon_size;
else
- pref_height = height;
+ pref_height = height / (gfloat)width * priv->icon_size;
}
else
pref_height = 0;
@@ -230,15 +217,10 @@ st_icon_get_preferred_width (ClutterActor *actor,
&width,
&height);
- if (!priv->is_content_image)
- {
- if (height <= width)
- pref_width = priv->icon_size;
- else
- pref_width = width / (gfloat)height * priv->icon_size;
- }
+ if (height <= width)
+ pref_width = priv->icon_size;
else
- pref_width = width;
+ pref_width = width / (gfloat)height * priv->icon_size;
}
else
pref_width = 0;
@@ -283,8 +265,7 @@ st_icon_paint (ClutterActor *actor)
StIconPrivate *priv = ST_ICON (actor)->priv;
/* Chain up to paint background */
- if (!priv->is_content_image)
- CLUTTER_ACTOR_CLASS (st_icon_parent_class)->paint (actor);
+ CLUTTER_ACTOR_CLASS (st_icon_parent_class)->paint (actor);
if (priv->icon_texture)
clutter_actor_paint (priv->icon_texture);
@@ -352,13 +333,6 @@ st_icon_update (StIcon *icon)
{
StIconPrivate *priv = icon->priv;
- if (priv->is_content_image)
- {
- priv->is_content_image = FALSE;
- g_signal_connect (st_icon_theme_get_default (), "notify::theme-name",
- G_CALLBACK (st_icon_notify_theme_name_cb), icon);
- }
-
/* Get rid of the old one */
if (priv->icon_texture)
{
@@ -393,49 +367,15 @@ st_icon_style_changed_cb (StWidget *widget)
StIcon *self = ST_ICON (widget);
StIconPrivate *priv = self->priv;
- StBorderImage *content_image = NULL;
gboolean changed = FALSE;
gchar *icon_name = NULL;
gint icon_size = -1;
st_stylable_get (ST_STYLABLE (widget),
- "x-st-content-image", &content_image,
"x-st-icon-name", &icon_name,
"x-st-icon-size", &icon_size,
NULL);
- /* Content-image overrides drawing of the icon, so
- * don't bother reading those properties if it's set.
- */
- if (content_image)
- {
- GError *error = NULL;
-
- priv->is_content_image = TRUE;
- g_signal_handlers_disconnect_by_func (st_icon_theme_get_default (),
- st_icon_notify_theme_name_cb,
- self);
-
- if (priv->icon_texture)
- clutter_actor_destroy (priv->icon_texture);
-
- priv->icon_texture = clutter_texture_new_from_file (content_image->uri,
- &error);
- if (priv->icon_texture)
- clutter_actor_set_parent (priv->icon_texture, CLUTTER_ACTOR (widget));
-
- if (error)
- {
- g_warning ("Could not load content image: %s", error->message);
- g_error_free (error);
- }
-
- g_boxed_free (ST_TYPE_BORDER_IMAGE, content_image);
- g_free (icon_name);
-
- return;
- }
-
if (icon_name && (!priv->icon_name ||
!g_str_equal (icon_name, priv->icon_name)))
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]