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;
|
background-color: #4c4c4c;
|
||||||
}
|
}
|
||||||
|
|
||||||
.popup-menu-item:insensitive {
|
StButton.popup-menu-item:insensitive {
|
||||||
color: #9f9f9f;
|
color: #9f9f9f;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1630,7 +1630,7 @@ StScrollBar StButton#vhandle:hover
|
|||||||
padding: 4px 32px 5px;
|
padding: 4px 32px 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.modal-dialog-button:disabled {
|
.modal-dialog-button:insensitive {
|
||||||
color: rgb(60, 60, 60);
|
color: rgb(60, 60, 60);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -799,10 +799,6 @@ const Notification = new Lang.Class({
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
button.reactive = sensitive;
|
button.reactive = sensitive;
|
||||||
if (sensitive)
|
|
||||||
button.remove_style_pseudo_class('insensitive');
|
|
||||||
else
|
|
||||||
button.add_style_pseudo_class('insensitive');
|
|
||||||
},
|
},
|
||||||
|
|
||||||
setUrgency: function(urgency) {
|
setUrgency: function(urgency) {
|
||||||
|
@ -135,10 +135,6 @@ const PopupBaseMenuItem = new Lang.Class({
|
|||||||
this.sensitive = sensitive;
|
this.sensitive = sensitive;
|
||||||
this.actor.reactive = 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);
|
this.emit('sensitive-changed', sensitive);
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -1900,10 +1896,6 @@ const RemoteMenu = new Lang.Class({
|
|||||||
}
|
}
|
||||||
|
|
||||||
item.actor.reactive = action.enabled;
|
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() {
|
destroyId = item.connect('destroy', Lang.bind(this, function() {
|
||||||
item.disconnect(destroyId);
|
item.disconnect(destroyId);
|
||||||
@ -2036,11 +2028,6 @@ const RemoteMenu = new Lang.Class({
|
|||||||
for (let i = 0; i < action.items.length; i++) {
|
for (let i = 0; i < action.items.length; i++) {
|
||||||
let item = action.items[i];
|
let item = action.items[i];
|
||||||
item.actor.reactive = action.enabled;
|
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);
|
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
|
static void
|
||||||
st_button_init (StButton *button)
|
st_button_init (StButton *button)
|
||||||
{
|
{
|
||||||
@ -464,9 +455,6 @@ st_button_init (StButton *button)
|
|||||||
|
|
||||||
clutter_actor_set_reactive (CLUTTER_ACTOR (button), TRUE);
|
clutter_actor_set_reactive (CLUTTER_ACTOR (button), TRUE);
|
||||||
st_widget_set_track_hover (ST_WIDGET (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);
|
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
|
static void
|
||||||
st_widget_first_child_notify (StWidget *widget,
|
st_widget_first_child_notify (StWidget *widget,
|
||||||
GParamSpec *pspec,
|
GParamSpec *pspec,
|
||||||
@ -1466,6 +1477,7 @@ st_widget_init (StWidget *actor)
|
|||||||
|
|
||||||
/* connect style changed */
|
/* connect style changed */
|
||||||
g_signal_connect (actor, "notify::name", G_CALLBACK (st_widget_name_notify), NULL);
|
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::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);
|
g_signal_connect (actor, "notify::last-child", G_CALLBACK (st_widget_last_child_notify), NULL);
|
||||||
|
Loading…
Reference in New Issue
Block a user