messageTray: Replace setButtonSensitive by simply returning the button
We want to remove 'id's from buttons, and simply returning the button actor is more powerful anyway. https://bugzilla.gnome.org/show_bug.cgi?id=710137
This commit is contained in:
parent
06cb8c52d7
commit
88d0731d80
@ -859,7 +859,6 @@ const Notification = new Lang.Class({
|
|||||||
}
|
}
|
||||||
|
|
||||||
let button = new St.Button({ can_focus: true });
|
let button = new St.Button({ can_focus: true });
|
||||||
button._actionId = id;
|
|
||||||
|
|
||||||
let iconName = strHasSuffix(id, '-symbolic') ? id : id + '-symbolic';
|
let iconName = strHasSuffix(id, '-symbolic') ? id : id + '-symbolic';
|
||||||
if (this._useActionIcons && Gtk.IconTheme.get_default().has_icon(iconName)) {
|
if (this._useActionIcons && Gtk.IconTheme.get_default().has_icon(iconName)) {
|
||||||
@ -874,27 +873,7 @@ const Notification = new Lang.Class({
|
|||||||
button.connect('clicked', Lang.bind(this, this._onActionInvoked, id));
|
button.connect('clicked', Lang.bind(this, this._onActionInvoked, id));
|
||||||
|
|
||||||
this.updated();
|
this.updated();
|
||||||
},
|
return button;
|
||||||
|
|
||||||
// setButtonSensitive:
|
|
||||||
// @id: the action ID
|
|
||||||
// @sensitive: whether the button should be sensitive
|
|
||||||
//
|
|
||||||
// If the notification contains a button with action ID @id,
|
|
||||||
// its sensitivity will be set to @sensitive. Insensitive
|
|
||||||
// buttons cannot be clicked.
|
|
||||||
setButtonSensitive: function(id, sensitive) {
|
|
||||||
if (!this._buttonBox)
|
|
||||||
return;
|
|
||||||
|
|
||||||
let button = this._buttonBox.get_children().filter(function(b) {
|
|
||||||
return b._actionId == id;
|
|
||||||
})[0];
|
|
||||||
|
|
||||||
if (!button || button.reactive == sensitive)
|
|
||||||
return;
|
|
||||||
|
|
||||||
button.reactive = sensitive;
|
|
||||||
},
|
},
|
||||||
|
|
||||||
setUrgency: function(urgency) {
|
setUrgency: function(urgency) {
|
||||||
|
@ -217,14 +217,13 @@ const PinNotification = new Lang.Class({
|
|||||||
}));
|
}));
|
||||||
this.addActor(this._entry);
|
this.addActor(this._entry);
|
||||||
|
|
||||||
this.addButton('ok', _("OK"));
|
let okButton = this.addButton('ok', _("OK"));
|
||||||
this.addButton('cancel', _("Cancel"));
|
this.addButton('cancel', _("Cancel"));
|
||||||
|
|
||||||
this.setButtonSensitive('ok', this._canActivateOkButton());
|
okButton.reactive = this._canActivateOkButton();
|
||||||
this._entry.clutter_text.connect('text-changed', Lang.bind(this,
|
this._entry.clutter_text.connect('text-changed', Lang.bind(this, function() {
|
||||||
function() {
|
okButton.reactive = this._canActivateOkButton();
|
||||||
this.setButtonSensitive('ok', this._canActivateOkButton());
|
}));
|
||||||
}));
|
|
||||||
|
|
||||||
this.connect('action-invoked', Lang.bind(this, function(self, action) {
|
this.connect('action-invoked', Lang.bind(this, function(self, action) {
|
||||||
if (action == 'ok') {
|
if (action == 'ok') {
|
||||||
|
Loading…
Reference in New Issue
Block a user