[search] Fix activation of results from custom renderers
The previous commit broke activation when selecting an actor from a custom renderer. Fix this by explicitly defining a method activateSelected on the search renderer.
This commit is contained in:
parent
83f11870da
commit
fbb88da134
@ -251,6 +251,14 @@ AppSearchResultDisplay.prototype = {
|
||||
targetActor._delegate.setSelected(true);
|
||||
this.selectionIndex = index;
|
||||
return true;
|
||||
},
|
||||
|
||||
activateSelected: function() {
|
||||
if (this.selectionIndex < 0)
|
||||
return;
|
||||
let children = this._container.get_children();
|
||||
let targetActor = children[this.selectionIndex];
|
||||
this.provider.activateResult(targetActor._delegate.app.get_id())
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -432,6 +432,12 @@ OverflowSearchResults.prototype = {
|
||||
targetActor._delegate.setSelected(true);
|
||||
this.selectionIndex = index;
|
||||
return true;
|
||||
},
|
||||
|
||||
activateSelected: function() {
|
||||
let children = this.actor.get_children();
|
||||
let targetActor = children[this.selectionIndex];
|
||||
targetActor._delegate.activate();
|
||||
}
|
||||
}
|
||||
|
||||
@ -597,9 +603,8 @@ SearchResults.prototype = {
|
||||
return;
|
||||
let meta = this._providerMeta[current];
|
||||
let resultDisplay = meta.resultDisplay;
|
||||
let children = resultDisplay.actor.get_children();
|
||||
let targetActor = children[resultDisplay.getSelectionIndex()];
|
||||
targetActor._delegate.activate();
|
||||
resultDisplay.activateSelected();
|
||||
Main.overview.hide();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -80,6 +80,13 @@ SearchResultDisplay.prototype = {
|
||||
*/
|
||||
selectIndex: function() {
|
||||
throw new Error("not implemented");
|
||||
},
|
||||
|
||||
/**
|
||||
* Activate the currently selected search result.
|
||||
*/
|
||||
activateSelected: function() {
|
||||
throw new Error("not implemented");
|
||||
}
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user