MessageTray: actually respect other components acking notifications
If a notification is marked acknowledged from outside, filter it out from the queue. https://bugzilla.gnome.org/show_bug.cgi?id=698812
This commit is contained in:
parent
2591bc90ac
commit
ae6d7bbfa3
@ -2196,7 +2196,10 @@ const MessageTray = new Lang.Class({
|
|||||||
// at the present time.
|
// at the present time.
|
||||||
_updateState: function() {
|
_updateState: function() {
|
||||||
// Notifications
|
// Notifications
|
||||||
let notificationQueue = this._notificationQueue;
|
let notificationQueue = this._notificationQueue.filter(function(n) {
|
||||||
|
return !n.acknowledged;
|
||||||
|
});
|
||||||
|
this._notificationQueue = notificationQueue;
|
||||||
let notificationUrgent = notificationQueue.length > 0 && notificationQueue[0].urgency == Urgency.CRITICAL;
|
let notificationUrgent = notificationQueue.length > 0 && notificationQueue[0].urgency == Urgency.CRITICAL;
|
||||||
let notificationForFeedback = notificationQueue.length > 0 && notificationQueue[0].forFeedback;
|
let notificationForFeedback = notificationQueue.length > 0 && notificationQueue[0].forFeedback;
|
||||||
let notificationsLimited = this._busy || Main.layoutManager.bottomMonitor.inFullscreen;
|
let notificationsLimited = this._busy || Main.layoutManager.bottomMonitor.inFullscreen;
|
||||||
@ -2637,16 +2640,8 @@ const MessageTray = new Lang.Class({
|
|||||||
|
|
||||||
let hasRightClickMenu = this._summaryBoxPointerItem.rightClickMenu != null;
|
let hasRightClickMenu = this._summaryBoxPointerItem.rightClickMenu != null;
|
||||||
if (this._clickedSummaryItemMouseButton == 1 || !hasRightClickMenu) {
|
if (this._clickedSummaryItemMouseButton == 1 || !hasRightClickMenu) {
|
||||||
let newQueue = [];
|
// Acknowledge all our notifications
|
||||||
for (let i = 0; i < this._notificationQueue.length; i++) {
|
this._summmaryBoxPointerItem.source.notifications.forEach(function(n) { n.acknowledged = true; });
|
||||||
let notification = this._notificationQueue[i];
|
|
||||||
let sameSource = this._summaryBoxPointerItem.source == notification.source;
|
|
||||||
if (sameSource)
|
|
||||||
notification.acknowledged = true;
|
|
||||||
else
|
|
||||||
newQueue.push(notification);
|
|
||||||
}
|
|
||||||
this._notificationQueue = newQueue;
|
|
||||||
|
|
||||||
this._summaryBoxPointer.bin.child = this._summaryBoxPointerItem.notificationStackWidget;
|
this._summaryBoxPointer.bin.child = this._summaryBoxPointerItem.notificationStackWidget;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user