st/button: Notify :pressed changes
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/846
This commit is contained in:
parent
c48330a986
commit
9790b0ee5d
@ -139,13 +139,17 @@ st_button_press (StButton *button,
|
|||||||
ClutterEventSequence *sequence)
|
ClutterEventSequence *sequence)
|
||||||
{
|
{
|
||||||
StButtonPrivate *priv = st_button_get_instance_private (button);
|
StButtonPrivate *priv = st_button_get_instance_private (button);
|
||||||
|
gboolean active_changed = priv->pressed == 0 || sequence;
|
||||||
|
|
||||||
if (priv->pressed == 0 || sequence)
|
if (active_changed)
|
||||||
st_widget_add_style_pseudo_class (ST_WIDGET (button), "active");
|
st_widget_add_style_pseudo_class (ST_WIDGET (button), "active");
|
||||||
|
|
||||||
priv->pressed |= mask;
|
priv->pressed |= mask;
|
||||||
priv->press_sequence = sequence;
|
priv->press_sequence = sequence;
|
||||||
priv->device = device;
|
priv->device = device;
|
||||||
|
|
||||||
|
if (active_changed)
|
||||||
|
g_object_notify_by_pspec (G_OBJECT (button), props[PROP_PRESSED]);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -171,6 +175,7 @@ st_button_release (StButton *button,
|
|||||||
priv->press_sequence = NULL;
|
priv->press_sequence = NULL;
|
||||||
priv->device = NULL;
|
priv->device = NULL;
|
||||||
st_widget_remove_style_pseudo_class (ST_WIDGET (button), "active");
|
st_widget_remove_style_pseudo_class (ST_WIDGET (button), "active");
|
||||||
|
g_object_notify_by_pspec (G_OBJECT (button), props[PROP_PRESSED]);
|
||||||
|
|
||||||
if (clicked_button || sequence)
|
if (clicked_button || sequence)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user