shell/app: Expose icon as property

A property can be more convenient than a method. More importantly,
we are about to allow the icon to change, so a property will be
useful to get notified about those changes.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1761>
This commit is contained in:
Florian Müllner 2021-03-12 23:13:25 +01:00 committed by Marge Bot
parent 0cf22f4a1b
commit 16b0d0d07c

View File

@ -93,6 +93,7 @@ enum {
PROP_ID, PROP_ID,
PROP_DBUS_ID, PROP_DBUS_ID,
PROP_ACTION_GROUP, PROP_ACTION_GROUP,
PROP_ICON,
PROP_APP_INFO PROP_APP_INFO
}; };
@ -127,6 +128,9 @@ shell_app_get_property (GObject *gobject,
case PROP_ID: case PROP_ID:
g_value_set_string (value, shell_app_get_id (app)); g_value_set_string (value, shell_app_get_id (app));
break; break;
case PROP_ICON:
g_value_set_object (value, shell_app_get_icon (app));
break;
case PROP_ACTION_GROUP: case PROP_ACTION_GROUP:
if (app->running_state) if (app->running_state)
g_value_set_object (value, app->running_state->muxer); g_value_set_object (value, app->running_state->muxer);
@ -1645,6 +1649,19 @@ shell_app_class_init(ShellAppClass *klass)
NULL, NULL,
G_PARAM_READABLE | G_PARAM_STATIC_STRINGS)); G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
/**
* ShellApp:icon:
*
* The #GIcon representing this ShellApp
*/
g_object_class_install_property (gobject_class,
PROP_ICON,
g_param_spec_object ("icon",
"GIcon",
"The GIcon representing this app",
G_TYPE_ICON,
G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
/** /**
* ShellApp:action-group: * ShellApp:action-group:
* *