messageTray: Focusing the text entry should force chats to stay open
https://bugzilla.gnome.org/show_bug.cgi?id=682236
This commit is contained in:
parent
ec52928736
commit
5030d59fcc
@ -756,6 +756,14 @@ const ChatNotification = new Lang.Class({
|
|||||||
this._responseEntry.clutter_text.connect('text-changed', Lang.bind(this, this._onEntryChanged));
|
this._responseEntry.clutter_text.connect('text-changed', Lang.bind(this, this._onEntryChanged));
|
||||||
this.setActionArea(this._responseEntry);
|
this.setActionArea(this._responseEntry);
|
||||||
|
|
||||||
|
this._responseEntry.clutter_text.connect('key-focus-in', Lang.bind(this, function() {
|
||||||
|
this.focused = true;
|
||||||
|
}));
|
||||||
|
this._responseEntry.clutter_text.connect('key-focus-out', Lang.bind(this, function() {
|
||||||
|
this.focused = false;
|
||||||
|
this.emit('unfocused');
|
||||||
|
}));
|
||||||
|
|
||||||
this._oldMaxScrollAdjustment = 0;
|
this._oldMaxScrollAdjustment = 0;
|
||||||
this._createScrollArea();
|
this._createScrollArea();
|
||||||
this._lastGroup = null;
|
this._lastGroup = null;
|
||||||
|
@ -318,6 +318,7 @@ const Notification = new Lang.Class({
|
|||||||
// 'transient' is a reserved keyword in JS, so we have to use an alternate variable name
|
// 'transient' is a reserved keyword in JS, so we have to use an alternate variable name
|
||||||
this.isTransient = false;
|
this.isTransient = false;
|
||||||
this.expanded = false;
|
this.expanded = false;
|
||||||
|
this.focused = false;
|
||||||
this.showWhenLocked = false;
|
this.showWhenLocked = false;
|
||||||
this.acknowledged = false;
|
this.acknowledged = false;
|
||||||
this._destroyed = false;
|
this._destroyed = false;
|
||||||
@ -1913,6 +1914,7 @@ const MessageTray = new Lang.Class({
|
|||||||
let notificationExpanded = this._notification && this._notification.expanded;
|
let notificationExpanded = this._notification && this._notification.expanded;
|
||||||
let notificationExpired = this._notificationTimeoutId == 0 &&
|
let notificationExpired = this._notificationTimeoutId == 0 &&
|
||||||
!(this._notification && this._notification.urgency == Urgency.CRITICAL) &&
|
!(this._notification && this._notification.urgency == Urgency.CRITICAL) &&
|
||||||
|
!(this._notification && this._notification.focused) &&
|
||||||
!this._pointerInTray &&
|
!this._pointerInTray &&
|
||||||
!this._locked &&
|
!this._locked &&
|
||||||
!(this._pointerInKeyboard && notificationExpanded);
|
!(this._pointerInKeyboard && notificationExpanded);
|
||||||
@ -2125,6 +2127,9 @@ const MessageTray = new Lang.Class({
|
|||||||
Lang.bind(this, this._onIdleMonitorWatch));
|
Lang.bind(this, this._onIdleMonitorWatch));
|
||||||
this._notificationClickedId = this._notification.connect('done-displaying',
|
this._notificationClickedId = this._notification.connect('done-displaying',
|
||||||
Lang.bind(this, this._escapeTray));
|
Lang.bind(this, this._escapeTray));
|
||||||
|
this._notification.connect('unfocused', Lang.bind(this, function() {
|
||||||
|
this._updateState();
|
||||||
|
}));
|
||||||
this._notificationBin.child = this._notification.actor;
|
this._notificationBin.child = this._notification.actor;
|
||||||
|
|
||||||
this._notificationWidget.opacity = 0;
|
this._notificationWidget.opacity = 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user