messageTray: Don't close the tray when responding to a notification stack
This is against the designed behavior.
This commit is contained in:
parent
e818ddf152
commit
6521951e82
@ -1409,7 +1409,7 @@ const SummaryItem = new Lang.Class({
|
|||||||
this._closeButton = Util.makeCloseButton();
|
this._closeButton = Util.makeCloseButton();
|
||||||
this._closeButton.connect('clicked', Lang.bind(this, function() {
|
this._closeButton.connect('clicked', Lang.bind(this, function() {
|
||||||
source.destroy();
|
source.destroy();
|
||||||
source.emit('done-displaying-content');
|
source.emit('done-displaying-content', false);
|
||||||
}));
|
}));
|
||||||
this.notificationStackWidget.add_actor(this._closeButton);
|
this.notificationStackWidget.add_actor(this._closeButton);
|
||||||
this._stackedNotifications = [];
|
this._stackedNotifications = [];
|
||||||
@ -1460,7 +1460,6 @@ const SummaryItem = new Lang.Class({
|
|||||||
let stackedNotification = this._stackedNotifications[i];
|
let stackedNotification = this._stackedNotifications[i];
|
||||||
let notification = stackedNotification.notification;
|
let notification = stackedNotification.notification;
|
||||||
notification.collapseCompleted();
|
notification.collapseCompleted();
|
||||||
notification.disconnect(stackedNotification.notificationDoneDisplayingId);
|
|
||||||
notification.disconnect(stackedNotification.notificationDestroyedId);
|
notification.disconnect(stackedNotification.notificationDestroyedId);
|
||||||
if (notification.actor.get_parent() == this.notificationStack)
|
if (notification.actor.get_parent() == this.notificationStack)
|
||||||
this.notificationStack.remove_actor(notification.actor);
|
this.notificationStack.remove_actor(notification.actor);
|
||||||
@ -1478,7 +1477,6 @@ const SummaryItem = new Lang.Class({
|
|||||||
_appendNotificationToStack: function(notification) {
|
_appendNotificationToStack: function(notification) {
|
||||||
let stackedNotification = {};
|
let stackedNotification = {};
|
||||||
stackedNotification.notification = notification;
|
stackedNotification.notification = notification;
|
||||||
stackedNotification.notificationDoneDisplayingId = notification.connect('done-displaying', Lang.bind(this, this._notificationDoneDisplaying));
|
|
||||||
stackedNotification.notificationDestroyedId = notification.connect('destroy', Lang.bind(this, this._notificationDestroyed));
|
stackedNotification.notificationDestroyedId = notification.connect('destroy', Lang.bind(this, this._notificationDestroyed));
|
||||||
this._stackedNotifications.push(stackedNotification);
|
this._stackedNotifications.push(stackedNotification);
|
||||||
if (!this.source.isChat)
|
if (!this.source.isChat)
|
||||||
@ -1505,15 +1503,10 @@ const SummaryItem = new Lang.Class({
|
|||||||
this.emit('content-updated');
|
this.emit('content-updated');
|
||||||
},
|
},
|
||||||
|
|
||||||
_notificationDoneDisplaying: function() {
|
|
||||||
this.source.emit('done-displaying-content', true);
|
|
||||||
},
|
|
||||||
|
|
||||||
_notificationDestroyed: function(notification) {
|
_notificationDestroyed: function(notification) {
|
||||||
for (let i = 0; i < this._stackedNotifications.length; i++) {
|
for (let i = 0; i < this._stackedNotifications.length; i++) {
|
||||||
if (this._stackedNotifications[i].notification == notification) {
|
if (this._stackedNotifications[i].notification == notification) {
|
||||||
let stackedNotification = this._stackedNotifications[i];
|
let stackedNotification = this._stackedNotifications[i];
|
||||||
notification.disconnect(stackedNotification.notificationDoneDisplayingId);
|
|
||||||
notification.disconnect(stackedNotification.notificationDestroyedId);
|
notification.disconnect(stackedNotification.notificationDestroyedId);
|
||||||
this._stackedNotifications.splice(i, 1);
|
this._stackedNotifications.splice(i, 1);
|
||||||
if (notification.actor.get_parent() == this.notificationStack)
|
if (notification.actor.get_parent() == this.notificationStack)
|
||||||
|
Loading…
Reference in New Issue
Block a user