search: Ensure that the default result is visible in the scroll view

The default result is set to selected when key focus enters the search
entry. We must also scroll the view if needed.

https://bugzilla.gnome.org/show_bug.cgi?id=726759
This commit is contained in:
Rui Matos 2014-03-20 11:27:05 +01:00
parent bc4a75a732
commit e339e2658d

View File

@ -629,8 +629,11 @@ const SearchResults = new Lang.Class({
if (newDefaultResult != this._defaultResult) { if (newDefaultResult != this._defaultResult) {
if (this._defaultResult) if (this._defaultResult)
this._defaultResult.setSelected(false); this._defaultResult.setSelected(false);
if (newDefaultResult) if (newDefaultResult) {
newDefaultResult.setSelected(this._highlightDefault); newDefaultResult.setSelected(this._highlightDefault);
if (this._highlightDefault)
Util.ensureActorVisibleInScrollView(this._scrollView, newDefaultResult.actor);
}
this._defaultResult = newDefaultResult; this._defaultResult = newDefaultResult;
} }
@ -667,8 +670,11 @@ const SearchResults = new Lang.Class({
highlightDefault: function(highlight) { highlightDefault: function(highlight) {
this._highlightDefault = highlight; this._highlightDefault = highlight;
if (this._defaultResult) if (this._defaultResult) {
this._defaultResult.setSelected(highlight); this._defaultResult.setSelected(highlight);
if (highlight)
Util.ensureActorVisibleInScrollView(this._scrollView, this._defaultResult.actor);
}
}, },
navigateFocus: function(direction) { navigateFocus: function(direction) {