viewSelector: Don't focus search entry on whitespace
We recently started to trim leading and trailing whitespace from the search string, and not to trigger a search when the resulting string was empty. However we still allow whitespace to trigger type-ahead-find, so that the key focus is moved briefly to the search entry and back to the stage, resulting in a disruptive flickering of the entry. Fix this by excluding whitespace from triggering type-ahead-find. https://bugzilla.gnome.org/show_bug.cgi?id=694475
This commit is contained in:
parent
b37afcdba1
commit
fb0cf64536
@ -279,8 +279,7 @@ const ViewSelector = new Lang.Class({
|
|||||||
else
|
else
|
||||||
Main.overview.hide();
|
Main.overview.hide();
|
||||||
return true;
|
return true;
|
||||||
} else if (Clutter.keysym_to_unicode(symbol) ||
|
} else if (this._shouldTriggerSearch(symbol)) {
|
||||||
(symbol == Clutter.BackSpace && this._searchActive)) {
|
|
||||||
this.startSearch(event);
|
this.startSearch(event);
|
||||||
} else if (!this._searchActive) {
|
} else if (!this._searchActive) {
|
||||||
if (symbol == Clutter.Tab || symbol == Clutter.Down) {
|
if (symbol == Clutter.Tab || symbol == Clutter.Down) {
|
||||||
@ -345,6 +344,17 @@ const ViewSelector = new Lang.Class({
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
_shouldTriggerSearch: function(symbol) {
|
||||||
|
let unicode = Clutter.keysym_to_unicode(symbol);
|
||||||
|
if (unicode == 0)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if (getTermsForSearchString(String.fromCharCode(unicode)).length > 0)
|
||||||
|
return true;
|
||||||
|
|
||||||
|
return symbol == Clutter.BackSpace && this._searchActive;
|
||||||
|
},
|
||||||
|
|
||||||
startSearch: function(event) {
|
startSearch: function(event) {
|
||||||
global.stage.set_key_focus(this._text);
|
global.stage.set_key_focus(this._text);
|
||||||
this._text.event(event, true);
|
this._text.event(event, true);
|
||||||
|
Loading…
Reference in New Issue
Block a user