mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-13 05:15:45 +00:00
Bug 730445 - Add UI to specify a default search engine. r=mfinkle
This commit is contained in:
parent
9542fc882f
commit
e21cd12cb8
@ -41,6 +41,7 @@ var ContextMenus = {
|
||||
document.getElementById("contextmenu-enable").setAttribute("hidden", "true");
|
||||
document.getElementById("contextmenu-disable").setAttribute("hidden", "true");
|
||||
document.getElementById("contextmenu-uninstall").setAttribute("hidden", "true");
|
||||
document.getElementById("contextmenu-default").setAttribute("hidden", "true");
|
||||
return;
|
||||
}
|
||||
|
||||
@ -58,6 +59,12 @@ var ContextMenus = {
|
||||
document.getElementById("contextmenu-enable").removeAttribute("hidden");
|
||||
document.getElementById("contextmenu-disable").setAttribute("hidden", "true");
|
||||
}
|
||||
|
||||
if (addon.type == "search") {
|
||||
document.getElementById("contextmenu-default").removeAttribute("hidden");
|
||||
} else {
|
||||
document.getElementById("contextmenu-default").setAttribute("hidden", "true");
|
||||
}
|
||||
},
|
||||
|
||||
enable: function(event) {
|
||||
@ -74,6 +81,11 @@ var ContextMenus = {
|
||||
Addons.uninstall(this.target.addon);
|
||||
this.target = null;
|
||||
},
|
||||
|
||||
setDefaultSearch: function(event) {
|
||||
Addons.setDefaultSearch(this.target.addon);
|
||||
this.target = null;
|
||||
}
|
||||
}
|
||||
|
||||
function init() {
|
||||
@ -316,6 +328,18 @@ var Addons = {
|
||||
else
|
||||
uninstallBtn.removeAttribute("disabled");
|
||||
|
||||
let defaultButton = document.getElementById("default-btn");
|
||||
if (addon.type == "search") {
|
||||
if (addon.id == Services.search.defaultEngine.name)
|
||||
defaultButton.setAttribute("disabled", "true");
|
||||
else
|
||||
defaultButton.removeAttribute("disabled");
|
||||
|
||||
defaultButton.removeAttribute("hidden");
|
||||
} else {
|
||||
defaultButton.setAttribute("hidden", "true");
|
||||
}
|
||||
|
||||
let box = document.querySelector("#addons-details > .addon-item .options-box");
|
||||
box.innerHTML = "";
|
||||
|
||||
@ -479,6 +503,20 @@ var Addons = {
|
||||
listItem.setAttribute("opType", opType);
|
||||
},
|
||||
|
||||
setDefaultSearch: function setDefaultSearch(aAddon) {
|
||||
let addon = aAddon || document.querySelector("#addons-details > .addon-item").addon;
|
||||
if (addon.type != "search")
|
||||
return;
|
||||
|
||||
let engine = Services.search.getEngineByName(addon.id);
|
||||
|
||||
// Move the new default search engine to the top of the search engine list.
|
||||
Services.search.moveEngine(engine, 0);
|
||||
Services.search.defaultEngine = engine;
|
||||
|
||||
document.getElementById("default-btn").setAttribute("disabled", "true");
|
||||
},
|
||||
|
||||
showRestart: function showRestart() {
|
||||
this._restartCount++;
|
||||
gChromeWin.XPInstallObserver.showRestartPrompt();
|
||||
|
@ -57,6 +57,7 @@
|
||||
<menuitem id="contextmenu-enable" label="&addonAction.enable;" onclick="ContextMenus.enable();"></menuitem>
|
||||
<menuitem id="contextmenu-disable" label="&addonAction.disable;" onclick="ContextMenus.disable();"></menuitem>
|
||||
<menuitem id="contextmenu-uninstall" label="&addonAction.uninstall;" onclick="ContextMenus.uninstall();"></menuitem>
|
||||
<menuitem id="contextmenu-default" label="&addonAction.setDefault;" onclick="ContextMenus.setDefaultSearch();"></menuitem>
|
||||
</menu>
|
||||
|
||||
<div id="addons-header" class="header">
|
||||
@ -83,6 +84,7 @@
|
||||
<button id="disable-btn" class="show-on-enable hide-on-disable hide-on-uninstall" onclick="Addons.disable();">&addonAction.disable;</button>
|
||||
<button id="uninstall-btn" class="hide-on-uninstall" onclick="Addons.uninstall();">&addonAction.uninstall;</button>
|
||||
<button id="cancel-btn" class="show-on-uninstall" onclick="Addons.cancelUninstall();">&addonAction.undo;</button>
|
||||
<button id="default-btn" class="show-on-enable hide-on-disable hide-on-uninstall" onclick="Addons.setDefaultSearch();">&addonAction.setDefault;</button>
|
||||
</div>
|
||||
<div class="options-header">&aboutAddons.options;</div>
|
||||
<div class="options-box"></div>
|
||||
|
@ -10,3 +10,4 @@
|
||||
<!ENTITY addonAction.disable "Disable">
|
||||
<!ENTITY addonAction.uninstall "Uninstall">
|
||||
<!ENTITY addonAction.undo "Undo">
|
||||
<!ENTITY addonAction.setDefault "Set as Default">
|
||||
|
@ -113,6 +113,10 @@ body[dir="ltr"] .icon {
|
||||
color: #b5b5b5;
|
||||
}
|
||||
|
||||
.buttons > button[hidden="true"] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.buttons:first-child {
|
||||
-moz-border-start-color: transparent;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user