overview: Add API to remove search providers

As extensions are now expected to provide a "disable" function,
they need to remove search providers they added. Implement the
removal functionality and add a public removeSearchProvider()
method.

https://bugzilla.gnome.org/show_bug.cgi?id=657548
This commit is contained in:
Philippe Normand
2011-08-28 13:20:37 +02:00
committed by Florian Müllner
parent 8b796e745d
commit 595be5083c
4 changed files with 34 additions and 1 deletions

View File

@ -294,11 +294,23 @@ SearchResults.prototype = {
}
resultDisplayBin.set_child(resultDisplay.actor);
this._providerMeta.push({ actor: providerBox,
this._providerMeta.push({ provider: provider,
actor: providerBox,
resultDisplay: resultDisplay });
this._content.add(providerBox);
},
destroyProviderMeta: function(provider) {
for (let i=0; i < this._providerMeta.length; i++) {
let meta = this._providerMeta[i];
if (meta.provider == provider) {
meta.actor.destroy();
this._providerMeta.splice(i, 1);
break;
}
}
},
_clearDisplay: function() {
this._selectedProvider = -1;
this._visibleResultsCount = 0;