st-widget: Move reactivity tracking to StWidget, use "insensitive"
This lets use remove another few pieces of code that do the tracking manually. https://bugzilla.gnome.org/show_bug.cgi?id=680426
This commit is contained in:
parent
26031eb761
commit
414fe75d02
@ -202,7 +202,7 @@ StScrollBar StButton#vhandle:hover
|
||||
background-color: #4c4c4c;
|
||||
}
|
||||
|
||||
.popup-menu-item:insensitive {
|
||||
StButton.popup-menu-item:insensitive {
|
||||
color: #9f9f9f;
|
||||
}
|
||||
|
||||
@ -1630,7 +1630,7 @@ StScrollBar StButton#vhandle:hover
|
||||
padding: 4px 32px 5px;
|
||||
}
|
||||
|
||||
.modal-dialog-button:disabled {
|
||||
.modal-dialog-button:insensitive {
|
||||
color: rgb(60, 60, 60);
|
||||
}
|
||||
|
||||
|
@ -799,10 +799,6 @@ const Notification = new Lang.Class({
|
||||
return;
|
||||
|
||||
button.reactive = sensitive;
|
||||
if (sensitive)
|
||||
button.remove_style_pseudo_class('insensitive');
|
||||
else
|
||||
button.add_style_pseudo_class('insensitive');
|
||||
},
|
||||
|
||||
setUrgency: function(urgency) {
|
||||
|
@ -135,10 +135,6 @@ const PopupBaseMenuItem = new Lang.Class({
|
||||
this.sensitive = sensitive;
|
||||
this.actor.reactive = sensitive;
|
||||
|
||||
if (sensitive)
|
||||
this.actor.remove_style_pseudo_class('insensitive');
|
||||
else
|
||||
this.actor.add_style_pseudo_class('insensitive');
|
||||
this.emit('sensitive-changed', sensitive);
|
||||
},
|
||||
|
||||
@ -1900,10 +1896,6 @@ const RemoteMenu = new Lang.Class({
|
||||
}
|
||||
|
||||
item.actor.reactive = action.enabled;
|
||||
if (action.enabled)
|
||||
item.actor.remove_style_pseudo_class('insensitive');
|
||||
else
|
||||
item.actor.add_style_pseudo_class('insensitive');
|
||||
|
||||
destroyId = item.connect('destroy', Lang.bind(this, function() {
|
||||
item.disconnect(destroyId);
|
||||
@ -2036,11 +2028,6 @@ const RemoteMenu = new Lang.Class({
|
||||
for (let i = 0; i < action.items.length; i++) {
|
||||
let item = action.items[i];
|
||||
item.actor.reactive = action.enabled;
|
||||
|
||||
if (action.enabled)
|
||||
item.actor.remove_style_pseudo_class('insensitive');
|
||||
else
|
||||
item.actor.add_style_pseudo_class('insensitive');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -446,15 +446,6 @@ st_button_class_init (StButtonClass *klass)
|
||||
G_TYPE_INT);
|
||||
}
|
||||
|
||||
static void
|
||||
notify_reactive_cb (StWidget *button)
|
||||
{
|
||||
if (clutter_actor_get_reactive (CLUTTER_ACTOR (button)))
|
||||
st_widget_remove_style_pseudo_class (button, "disabled");
|
||||
else
|
||||
st_widget_add_style_pseudo_class (button, "disabled");
|
||||
}
|
||||
|
||||
static void
|
||||
st_button_init (StButton *button)
|
||||
{
|
||||
@ -464,9 +455,6 @@ st_button_init (StButton *button)
|
||||
|
||||
clutter_actor_set_reactive (CLUTTER_ACTOR (button), TRUE);
|
||||
st_widget_set_track_hover (ST_WIDGET (button), TRUE);
|
||||
|
||||
g_signal_connect(button, "notify::reactive",
|
||||
G_CALLBACK (notify_reactive_cb), NULL);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1404,6 +1404,17 @@ st_widget_name_notify (StWidget *widget,
|
||||
st_widget_style_changed (widget);
|
||||
}
|
||||
|
||||
static void
|
||||
st_widget_reactive_notify (StWidget *widget,
|
||||
GParamSpec *pspec,
|
||||
gpointer data)
|
||||
{
|
||||
if (clutter_actor_get_reactive (CLUTTER_ACTOR (widget)))
|
||||
st_widget_remove_style_pseudo_class (widget, "insensitive");
|
||||
else
|
||||
st_widget_add_style_pseudo_class (widget, "insensitive");
|
||||
}
|
||||
|
||||
static void
|
||||
st_widget_first_child_notify (StWidget *widget,
|
||||
GParamSpec *pspec,
|
||||
@ -1466,6 +1477,7 @@ st_widget_init (StWidget *actor)
|
||||
|
||||
/* connect style changed */
|
||||
g_signal_connect (actor, "notify::name", G_CALLBACK (st_widget_name_notify), NULL);
|
||||
g_signal_connect (actor, "notify::reactive", G_CALLBACK (st_widget_reactive_notify), NULL);
|
||||
|
||||
g_signal_connect (actor, "notify::first-child", G_CALLBACK (st_widget_first_child_notify), NULL);
|
||||
g_signal_connect (actor, "notify::last-child", G_CALLBACK (st_widget_last_child_notify), NULL);
|
||||
|
Loading…
Reference in New Issue
Block a user