remote-search: implement new ActivateResult() method

This allows us to fix the shortcomings of the original ActivateResult()
method. In particular:
- allow to pass the search terms to the provider
- allow to pass a user interaction timestamp

https://bugzilla.gnome.org/show_bug.cgi?id=689735
This commit is contained in:
Cosimo Cecchi 2012-12-05 11:48:22 -05:00
parent 9b846cbb83
commit ec7ade4ee6
2 changed files with 5 additions and 4 deletions

View File

@ -285,8 +285,8 @@ const RemoteSearchProvider2 = new Lang.Class({
this.canLaunchSearch = true; this.canLaunchSearch = true;
}, },
activateResult: function(id) { activateResult: function(id, terms) {
this.proxy.ActivateResultRemote(id, [], 0); this.proxy.ActivateResultRemote(id, terms, global.get_current_time());
}, },
launchSearch: function(terms) { launchSearch: function(terms) {

View File

@ -22,6 +22,7 @@ const SearchResult = new Lang.Class({
_init: function(provider, metaInfo, terms) { _init: function(provider, metaInfo, terms) {
this.provider = provider; this.provider = provider;
this.metaInfo = metaInfo; this.metaInfo = metaInfo;
this.terms = terms;
this.actor = new St.Button({ style_class: 'search-result', this.actor = new St.Button({ style_class: 'search-result',
reactive: true, reactive: true,
x_align: St.Align.START, x_align: St.Align.START,
@ -73,7 +74,7 @@ const SearchResult = new Lang.Class({
}, },
activate: function() { activate: function() {
this.provider.activateResult(this.metaInfo.id); this.provider.activateResult(this.metaInfo.id, this.terms);
Main.overview.toggle(); Main.overview.toggle();
}, },
@ -96,7 +97,7 @@ const SearchResult = new Lang.Class({
if (this.provider.dragActivateResult) if (this.provider.dragActivateResult)
this.provider.dragActivateResult(this.metaInfo.id, params); this.provider.dragActivateResult(this.metaInfo.id, params);
else else
this.provider.activateResult(this.metaInfo.id); this.provider.activateResult(this.metaInfo.id, this.terms);
} }
}); });