mirror of
https://github.com/edu4rdshl/gnome-shell.git
synced 2026-07-18 07:34:54 +00:00
telepathyClient: reset badge as soon as the summary notification is shown
That way the user will not see an outdated pending messages count while they are viewing them or chatting with the sender. https://bugzilla.gnome.org/show_bug.cgi?id=659272
This commit is contained in:
parent
f0d0e025dd
commit
efe6d06ddd
1 changed files with 3 additions and 27 deletions
|
|
@ -502,15 +502,9 @@ const ChatSource = new Lang.Class({
|
|||
this._notification.setUrgency(MessageTray.Urgency.HIGH);
|
||||
this._notifyTimeoutId = 0;
|
||||
|
||||
// We ack messages when the message box is collapsed if user has
|
||||
// interacted with it before and so read the messages:
|
||||
// - user clicked on it the tray
|
||||
// - user expanded the notification by hovering over the toaster notification
|
||||
this._shouldAck = false;
|
||||
|
||||
this.connect('summary-item-clicked', Lang.bind(this, this._summaryItemClicked));
|
||||
this._notification.connect('expanded', Lang.bind(this, this._notificationExpanded));
|
||||
this._notification.connect('collapsed', Lang.bind(this, this._notificationCollapsed));
|
||||
// We ack messages when the user expands the new notification or views the summary
|
||||
// notification, in which case the notification is also expanded.
|
||||
this._notification.connect('expanded', Lang.bind(this, this._ackMessages));
|
||||
|
||||
this._presence = contact.get_presence_type();
|
||||
|
||||
|
|
@ -774,24 +768,6 @@ const ChatSource = new Lang.Class({
|
|||
// 'pending-message-removed' for each one.
|
||||
this._channel.ack_all_pending_messages_async(Lang.bind(this, function(src, result) {
|
||||
this._channel.ack_all_pending_messages_finish(result);}));
|
||||
},
|
||||
|
||||
_summaryItemClicked: function(source, button) {
|
||||
if (button != 1)
|
||||
return;
|
||||
|
||||
this._shouldAck = true;
|
||||
},
|
||||
|
||||
_notificationExpanded: function() {
|
||||
this._shouldAck = true;
|
||||
},
|
||||
|
||||
_notificationCollapsed: function() {
|
||||
if (this._shouldAck)
|
||||
this._ackMessages();
|
||||
|
||||
this._shouldAck = false;
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue