messageTray: Ensure notifications are focused after they are expanded

If we focus notifications before they're expanded, the body and action
area won't be visible, and the can_focus members like the text entry
will not be able to be focused.

Ensure that all of the all actors that would be in an expanded notification
are visible before we attempt to focus them.

https://bugzilla.gnome.org/show_bug.cgi?id=698778
This commit is contained in:
Jasper St. Pierre 2013-06-21 15:24:50 -04:00 committed by Ray Strode
parent 35abf39971
commit 4a5e276551

View File

@ -2604,16 +2604,16 @@ const MessageTray = new Lang.Class({
}, },
_expandNotification: function(autoExpanding) { _expandNotification: function(autoExpanding) {
// Don't focus notifications that are auto-expanding.
if (!autoExpanding)
this._ensureNotificationFocused();
if (!this._notificationExpandedId) if (!this._notificationExpandedId)
this._notificationExpandedId = this._notificationExpandedId =
this._notification.connect('expanded', this._notification.connect('expanded',
Lang.bind(this, this._onNotificationExpanded)); Lang.bind(this, this._onNotificationExpanded));
// Don't animate changes in notifications that are auto-expanding. // Don't animate changes in notifications that are auto-expanding.
this._notification.expand(!autoExpanding); this._notification.expand(!autoExpanding);
// Don't focus notifications that are auto-expanding.
if (!autoExpanding)
this._ensureNotificationFocused();
}, },
_onNotificationExpanded: function() { _onNotificationExpanded: function() {