Merge branch 'master' into datetime
This commit is contained in:
commit
cd468021e2
@ -41,6 +41,17 @@ const State = {
|
|||||||
HIDING: 3
|
HIDING: 3
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// These reasons are useful when we destroy the notifications received through
|
||||||
|
// the notification daemon. We use EXPIRED for transient notifications that the
|
||||||
|
// user did not interact with, DISMISSED for all other notifications that were
|
||||||
|
// destroyed as a result of a user action, and SOURCE_CLOSED for the notifications
|
||||||
|
// that were requested to be destroyed by the associated source.
|
||||||
|
const NotificationDestroyedReason = {
|
||||||
|
EXPIRED: 1,
|
||||||
|
DISMISSED: 2,
|
||||||
|
SOURCE_CLOSED 3
|
||||||
|
};
|
||||||
|
|
||||||
// Message tray has its custom Urgency enumeration. LOW, NORMAL and CRITICAL
|
// Message tray has its custom Urgency enumeration. LOW, NORMAL and CRITICAL
|
||||||
// urgency values map to the corresponding values for the notifications received
|
// urgency values map to the corresponding values for the notifications received
|
||||||
// through the notification daemon. HIGH urgency value is used for chats received
|
// through the notification daemon. HIGH urgency value is used for chats received
|
||||||
@ -755,8 +766,10 @@ Notification.prototype = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
destroy: function() {
|
destroy: function(reason) {
|
||||||
this.emit('destroy');
|
if (!reason)
|
||||||
|
reason = NotificationDestroyedReason.DISMISSED;
|
||||||
|
this.emit('destroy', reason);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
Signals.addSignalMethods(Notification.prototype);
|
Signals.addSignalMethods(Notification.prototype);
|
||||||
@ -1596,7 +1609,7 @@ MessageTray.prototype = {
|
|||||||
let notification = this._notification;
|
let notification = this._notification;
|
||||||
this._notification = null;
|
this._notification = null;
|
||||||
if (notification.isTransient)
|
if (notification.isTransient)
|
||||||
notification.destroy();
|
notification.destroy(NotificationDestroyedReason.EXPIRED);
|
||||||
},
|
},
|
||||||
|
|
||||||
_expandNotification: function(autoExpanding) {
|
_expandNotification: function(autoExpanding) {
|
||||||
@ -1746,7 +1759,7 @@ MessageTray.prototype = {
|
|||||||
let summaryNotification = this._summaryNotification;
|
let summaryNotification = this._summaryNotification;
|
||||||
this._summaryNotification = null;
|
this._summaryNotification = null;
|
||||||
if (summaryNotification.isTransient && !this._reNotifyWithSummaryNotificationAfterHide)
|
if (summaryNotification.isTransient && !this._reNotifyWithSummaryNotificationAfterHide)
|
||||||
summaryNotification.destroy();
|
summaryNotification.destroy(NotificationDestroyedReason.EXPIRED);
|
||||||
if (this._reNotifyWithSummaryNotificationAfterHide) {
|
if (this._reNotifyWithSummaryNotificationAfterHide) {
|
||||||
this._onNotify(summaryNotification.source, summaryNotification);
|
this._onNotify(summaryNotification.source, summaryNotification);
|
||||||
this._reNotifyWithSummaryNotificationAfterHide = false;
|
this._reNotifyWithSummaryNotificationAfterHide = false;
|
||||||
|
@ -322,13 +322,22 @@ NotificationDaemon.prototype = {
|
|||||||
{ icon: iconActor,
|
{ icon: iconActor,
|
||||||
bannerMarkup: true });
|
bannerMarkup: true });
|
||||||
ndata.notification = notification;
|
ndata.notification = notification;
|
||||||
notification.connect('clicked', Lang.bind(this,
|
|
||||||
function(n) {
|
|
||||||
this._emitNotificationClosed(id, NotificationClosedReason.DISMISSED);
|
|
||||||
}));
|
|
||||||
notification.connect('destroy', Lang.bind(this,
|
notification.connect('destroy', Lang.bind(this,
|
||||||
function(n) {
|
function(n, reason) {
|
||||||
delete this._notifications[id];
|
delete this._notifications[id];
|
||||||
|
let notificationClosedReason;
|
||||||
|
switch (reason) {
|
||||||
|
case MessageTray.NotificationDestroyedReason.EXPIRED:
|
||||||
|
notificationClosedReason = NotificationClosedReason.EXPIRED;
|
||||||
|
break;
|
||||||
|
case MessageTray.NotificationDestroyedReason.DISMISSED:
|
||||||
|
notificationClosedReason = NotificationClosedReason.DISMISSED;
|
||||||
|
break;
|
||||||
|
case MessageTray.NotificationDestroyedReason.SOURCE_CLOSED:
|
||||||
|
notificationClosedReason = NotificationClosedReason.APP_CLOSED;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
this._emitNotificationClosed(id, notificationClosedReason);
|
||||||
}));
|
}));
|
||||||
notification.connect('action-invoked', Lang.bind(this,
|
notification.connect('action-invoked', Lang.bind(this,
|
||||||
function(n, actionId) {
|
function(n, actionId) {
|
||||||
@ -369,10 +378,9 @@ NotificationDaemon.prototype = {
|
|||||||
let ndata = this._notifications[id];
|
let ndata = this._notifications[id];
|
||||||
if (ndata) {
|
if (ndata) {
|
||||||
if (ndata.notification)
|
if (ndata.notification)
|
||||||
ndata.notification.destroy();
|
ndata.notification.destroy(MessageTray.NotificationDestroyedReason.SOURCE_CLOSED);
|
||||||
delete this._notifications[id];
|
delete this._notifications[id];
|
||||||
}
|
}
|
||||||
this._emitNotificationClosed(id, NotificationClosedReason.APP_CLOSED);
|
|
||||||
},
|
},
|
||||||
|
|
||||||
GetCapabilities: function() {
|
GetCapabilities: function() {
|
||||||
|
Loading…
Reference in New Issue
Block a user