mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 1119250 - remove old searchbar UI - part 5 - remove the old engine manager, r=Mossop.
This commit is contained in:
parent
9dc2257f1d
commit
437832fd8b
@ -1,492 +0,0 @@
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
|
||||
Components.utils.import("resource://gre/modules/Services.jsm");
|
||||
XPCOMUtils.defineLazyModuleGetter(this, "PlacesUtils",
|
||||
"resource://gre/modules/PlacesUtils.jsm");
|
||||
XPCOMUtils.defineLazyModuleGetter(this, "Task",
|
||||
"resource://gre/modules/Task.jsm");
|
||||
|
||||
const Ci = Components.interfaces;
|
||||
const Cc = Components.classes;
|
||||
|
||||
const ENGINE_FLAVOR = "text/x-moz-search-engine";
|
||||
|
||||
const BROWSER_SUGGEST_PREF = "browser.search.suggest.enabled";
|
||||
|
||||
var gEngineView = null;
|
||||
|
||||
var gEngineManagerDialog = {
|
||||
init: function engineManager_init() {
|
||||
gEngineView = new EngineView(new EngineStore());
|
||||
|
||||
var suggestEnabled = Services.prefs.getBoolPref(BROWSER_SUGGEST_PREF);
|
||||
document.getElementById("enableSuggest").checked = suggestEnabled;
|
||||
|
||||
var tree = document.getElementById("engineList");
|
||||
tree.view = gEngineView;
|
||||
|
||||
Services.obs.addObserver(this, "browser-search-engine-modified", false);
|
||||
},
|
||||
|
||||
destroy: function engineManager_destroy() {
|
||||
// Remove the observer
|
||||
Services.obs.removeObserver(this, "browser-search-engine-modified");
|
||||
},
|
||||
|
||||
observe: function engineManager_observe(aEngine, aTopic, aVerb) {
|
||||
if (aTopic == "browser-search-engine-modified") {
|
||||
aEngine.QueryInterface(Ci.nsISearchEngine);
|
||||
switch (aVerb) {
|
||||
case "engine-added":
|
||||
gEngineView._engineStore.addEngine(aEngine);
|
||||
gEngineView.rowCountChanged(gEngineView.lastIndex, 1);
|
||||
break;
|
||||
case "engine-changed":
|
||||
gEngineView._engineStore.reloadIcons();
|
||||
gEngineView.invalidate();
|
||||
break;
|
||||
case "engine-removed":
|
||||
case "engine-current":
|
||||
case "engine-default":
|
||||
// Not relevant
|
||||
break;
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
onOK: function engineManager_onOK() {
|
||||
// Set the preference
|
||||
var newSuggestEnabled = document.getElementById("enableSuggest").checked;
|
||||
Services.prefs.setBoolPref(BROWSER_SUGGEST_PREF, newSuggestEnabled);
|
||||
|
||||
// Commit the changes
|
||||
gEngineView._engineStore.commit();
|
||||
},
|
||||
|
||||
onRestoreDefaults: function engineManager_onRestoreDefaults() {
|
||||
var num = gEngineView._engineStore.restoreDefaultEngines();
|
||||
gEngineView.rowCountChanged(0, num);
|
||||
gEngineView.invalidate();
|
||||
},
|
||||
|
||||
showRestoreDefaults: function engineManager_showRestoreDefaults(val) {
|
||||
document.documentElement.getButton("extra2").disabled = !val;
|
||||
},
|
||||
|
||||
loadAddEngines: function engineManager_loadAddEngines() {
|
||||
this.onOK();
|
||||
window.opener.BrowserSearch.loadAddEngines();
|
||||
window.close();
|
||||
},
|
||||
|
||||
remove: function engineManager_remove() {
|
||||
gEngineView._engineStore.removeEngine(gEngineView.selectedEngine);
|
||||
var index = gEngineView.selectedIndex;
|
||||
gEngineView.rowCountChanged(index, -1);
|
||||
gEngineView.invalidate();
|
||||
gEngineView.selection.select(Math.min(index, gEngineView.lastIndex));
|
||||
gEngineView.ensureRowIsVisible(gEngineView.currentIndex);
|
||||
document.getElementById("engineList").focus();
|
||||
},
|
||||
|
||||
/**
|
||||
* Moves the selected engine either up or down in the engine list
|
||||
* @param aDir
|
||||
* -1 to move the selected engine down, +1 to move it up.
|
||||
*/
|
||||
bump: function engineManager_move(aDir) {
|
||||
var selectedEngine = gEngineView.selectedEngine;
|
||||
var newIndex = gEngineView.selectedIndex - aDir;
|
||||
|
||||
gEngineView._engineStore.moveEngine(selectedEngine, newIndex);
|
||||
|
||||
gEngineView.invalidate();
|
||||
gEngineView.selection.select(newIndex);
|
||||
gEngineView.ensureRowIsVisible(newIndex);
|
||||
this.showRestoreDefaults(true);
|
||||
document.getElementById("engineList").focus();
|
||||
},
|
||||
|
||||
editKeyword: Task.async(function* () {
|
||||
var selectedEngine = gEngineView.selectedEngine;
|
||||
if (!selectedEngine)
|
||||
return;
|
||||
|
||||
var alias = { value: selectedEngine.alias };
|
||||
var strings = document.getElementById("engineManagerBundle");
|
||||
var title = strings.getString("editTitle");
|
||||
var msg = strings.getFormattedString("editMsg", [selectedEngine.name]);
|
||||
|
||||
while (Services.prompt.prompt(window, title, msg, alias, null, {})) {
|
||||
var bduplicate = false;
|
||||
var eduplicate = false;
|
||||
var dupName = "";
|
||||
|
||||
if (alias.value != "") {
|
||||
// Check for duplicates in Places keywords.
|
||||
bduplicate = !!(yield PlacesUtils.keywords.fetch(alias.value));
|
||||
|
||||
// Check for duplicates in changes we haven't committed yet
|
||||
let engines = gEngineView._engineStore.engines;
|
||||
for each (let engine in engines) {
|
||||
if (engine.alias == alias.value &&
|
||||
engine.name != selectedEngine.name) {
|
||||
eduplicate = true;
|
||||
dupName = engine.name;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Notify the user if they have chosen an existing engine/bookmark keyword
|
||||
if (eduplicate || bduplicate) {
|
||||
var dtitle = strings.getString("duplicateTitle");
|
||||
var bmsg = strings.getString("duplicateBookmarkMsg");
|
||||
var emsg = strings.getFormattedString("duplicateEngineMsg", [dupName]);
|
||||
|
||||
Services.prompt.alert(window, dtitle, eduplicate ? emsg : bmsg);
|
||||
} else {
|
||||
gEngineView._engineStore.changeEngine(selectedEngine, "alias",
|
||||
alias.value);
|
||||
gEngineView.invalidate();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}),
|
||||
|
||||
onSelect: function engineManager_onSelect() {
|
||||
// Buttons only work if an engine is selected and it's not the last engine,
|
||||
// the latter is true when the selected is first and last at the same time.
|
||||
var lastSelected = (gEngineView.selectedIndex == gEngineView.lastIndex);
|
||||
var firstSelected = (gEngineView.selectedIndex == 0);
|
||||
var noSelection = (gEngineView.selectedIndex == -1);
|
||||
|
||||
document.getElementById("cmd_remove")
|
||||
.setAttribute("disabled", noSelection ||
|
||||
(firstSelected && lastSelected));
|
||||
|
||||
document.getElementById("cmd_moveup")
|
||||
.setAttribute("disabled", noSelection || firstSelected);
|
||||
|
||||
document.getElementById("cmd_movedown")
|
||||
.setAttribute("disabled", noSelection || lastSelected);
|
||||
|
||||
document.getElementById("cmd_editkeyword")
|
||||
.setAttribute("disabled", noSelection);
|
||||
}
|
||||
};
|
||||
|
||||
function onDragEngineStart(event) {
|
||||
var selectedIndex = gEngineView.selectedIndex;
|
||||
if (selectedIndex >= 0) {
|
||||
event.dataTransfer.setData(ENGINE_FLAVOR, selectedIndex.toString());
|
||||
event.dataTransfer.effectAllowed = "move";
|
||||
}
|
||||
}
|
||||
|
||||
// "Operation" objects
|
||||
function EngineMoveOp(aEngineClone, aNewIndex) {
|
||||
if (!aEngineClone)
|
||||
throw new Error("bad args to new EngineMoveOp!");
|
||||
this._engine = aEngineClone.originalEngine;
|
||||
this._newIndex = aNewIndex;
|
||||
}
|
||||
EngineMoveOp.prototype = {
|
||||
_engine: null,
|
||||
_newIndex: null,
|
||||
commit: function EMO_commit() {
|
||||
Services.search.moveEngine(this._engine, this._newIndex);
|
||||
}
|
||||
}
|
||||
|
||||
function EngineRemoveOp(aEngineClone) {
|
||||
if (!aEngineClone)
|
||||
throw new Error("bad args to new EngineRemoveOp!");
|
||||
this._engine = aEngineClone.originalEngine;
|
||||
}
|
||||
EngineRemoveOp.prototype = {
|
||||
_engine: null,
|
||||
commit: function ERO_commit() {
|
||||
Services.search.removeEngine(this._engine);
|
||||
}
|
||||
}
|
||||
|
||||
function EngineUnhideOp(aEngineClone, aNewIndex) {
|
||||
if (!aEngineClone)
|
||||
throw new Error("bad args to new EngineUnhideOp!");
|
||||
this._engine = aEngineClone.originalEngine;
|
||||
this._newIndex = aNewIndex;
|
||||
}
|
||||
EngineUnhideOp.prototype = {
|
||||
_engine: null,
|
||||
_newIndex: null,
|
||||
commit: function EUO_commit() {
|
||||
this._engine.hidden = false;
|
||||
Services.search.moveEngine(this._engine, this._newIndex);
|
||||
}
|
||||
}
|
||||
|
||||
function EngineChangeOp(aEngineClone, aProp, aValue) {
|
||||
if (!aEngineClone)
|
||||
throw new Error("bad args to new EngineChangeOp!");
|
||||
|
||||
this._engine = aEngineClone.originalEngine;
|
||||
this._prop = aProp;
|
||||
this._newValue = aValue;
|
||||
}
|
||||
EngineChangeOp.prototype = {
|
||||
_engine: null,
|
||||
_prop: null,
|
||||
_newValue: null,
|
||||
commit: function ECO_commit() {
|
||||
this._engine[this._prop] = this._newValue;
|
||||
}
|
||||
}
|
||||
|
||||
function EngineStore() {
|
||||
this._engines = Services.search.getVisibleEngines().map(this._cloneEngine);
|
||||
this._defaultEngines = Services.search.getDefaultEngines().map(this._cloneEngine);
|
||||
|
||||
this._ops = [];
|
||||
|
||||
// check if we need to disable the restore defaults button
|
||||
var someHidden = this._defaultEngines.some(function (e) e.hidden);
|
||||
gEngineManagerDialog.showRestoreDefaults(someHidden);
|
||||
}
|
||||
EngineStore.prototype = {
|
||||
_engines: null,
|
||||
_defaultEngines: null,
|
||||
_ops: null,
|
||||
|
||||
get engines() {
|
||||
return this._engines;
|
||||
},
|
||||
set engines(val) {
|
||||
this._engines = val;
|
||||
return val;
|
||||
},
|
||||
|
||||
_getIndexForEngine: function ES_getIndexForEngine(aEngine) {
|
||||
return this._engines.indexOf(aEngine);
|
||||
},
|
||||
|
||||
_getEngineByName: function ES_getEngineByName(aName) {
|
||||
for each (var engine in this._engines)
|
||||
if (engine.name == aName)
|
||||
return engine;
|
||||
|
||||
return null;
|
||||
},
|
||||
|
||||
_cloneEngine: function ES_cloneEngine(aEngine) {
|
||||
var clonedObj={};
|
||||
for (var i in aEngine)
|
||||
clonedObj[i] = aEngine[i];
|
||||
clonedObj.originalEngine = aEngine;
|
||||
return clonedObj;
|
||||
},
|
||||
|
||||
// Callback for Array's some(). A thisObj must be passed to some()
|
||||
_isSameEngine: function ES_isSameEngine(aEngineClone) {
|
||||
return aEngineClone.originalEngine == this.originalEngine;
|
||||
},
|
||||
|
||||
commit: function ES_commit() {
|
||||
var currentEngine = this._cloneEngine(Services.search.currentEngine);
|
||||
for (var i = 0; i < this._ops.length; i++)
|
||||
this._ops[i].commit();
|
||||
|
||||
// Restore currentEngine if it is a default engine that is still visible.
|
||||
// Needed if the user deletes currentEngine and then restores it.
|
||||
if (this._defaultEngines.some(this._isSameEngine, currentEngine) &&
|
||||
!currentEngine.originalEngine.hidden)
|
||||
Services.search.currentEngine = currentEngine.originalEngine;
|
||||
},
|
||||
|
||||
addEngine: function ES_addEngine(aEngine) {
|
||||
this._engines.push(this._cloneEngine(aEngine));
|
||||
},
|
||||
|
||||
moveEngine: function ES_moveEngine(aEngine, aNewIndex) {
|
||||
if (aNewIndex < 0 || aNewIndex > this._engines.length - 1)
|
||||
throw new Error("ES_moveEngine: invalid aNewIndex!");
|
||||
var index = this._getIndexForEngine(aEngine);
|
||||
if (index == -1)
|
||||
throw new Error("ES_moveEngine: invalid engine?");
|
||||
|
||||
if (index == aNewIndex)
|
||||
return; // nothing to do
|
||||
|
||||
// Move the engine in our internal store
|
||||
var removedEngine = this._engines.splice(index, 1)[0];
|
||||
this._engines.splice(aNewIndex, 0, removedEngine);
|
||||
|
||||
this._ops.push(new EngineMoveOp(aEngine, aNewIndex));
|
||||
},
|
||||
|
||||
removeEngine: function ES_removeEngine(aEngine) {
|
||||
var index = this._getIndexForEngine(aEngine);
|
||||
if (index == -1)
|
||||
throw new Error("invalid engine?");
|
||||
|
||||
this._engines.splice(index, 1);
|
||||
this._ops.push(new EngineRemoveOp(aEngine));
|
||||
if (this._defaultEngines.some(this._isSameEngine, aEngine))
|
||||
gEngineManagerDialog.showRestoreDefaults(true);
|
||||
},
|
||||
|
||||
restoreDefaultEngines: function ES_restoreDefaultEngines() {
|
||||
var added = 0;
|
||||
|
||||
for (var i = 0; i < this._defaultEngines.length; ++i) {
|
||||
var e = this._defaultEngines[i];
|
||||
|
||||
// If the engine is already in the list, just move it.
|
||||
if (this._engines.some(this._isSameEngine, e)) {
|
||||
this.moveEngine(this._getEngineByName(e.name), i);
|
||||
} else {
|
||||
// Otherwise, add it back to our internal store
|
||||
this._engines.splice(i, 0, e);
|
||||
this._ops.push(new EngineUnhideOp(e, i));
|
||||
added++;
|
||||
}
|
||||
}
|
||||
gEngineManagerDialog.showRestoreDefaults(false);
|
||||
return added;
|
||||
},
|
||||
|
||||
changeEngine: function ES_changeEngine(aEngine, aProp, aNewValue) {
|
||||
var index = this._getIndexForEngine(aEngine);
|
||||
if (index == -1)
|
||||
throw new Error("invalid engine?");
|
||||
|
||||
this._engines[index][aProp] = aNewValue;
|
||||
this._ops.push(new EngineChangeOp(aEngine, aProp, aNewValue));
|
||||
},
|
||||
|
||||
reloadIcons: function ES_reloadIcons() {
|
||||
this._engines.forEach(function (e) {
|
||||
e.uri = e.originalEngine.uri;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function EngineView(aEngineStore) {
|
||||
this._engineStore = aEngineStore;
|
||||
}
|
||||
EngineView.prototype = {
|
||||
_engineStore: null,
|
||||
tree: null,
|
||||
|
||||
get lastIndex() {
|
||||
return this.rowCount - 1;
|
||||
},
|
||||
get selectedIndex() {
|
||||
var seln = this.selection;
|
||||
if (seln.getRangeCount() > 0) {
|
||||
var min = {};
|
||||
seln.getRangeAt(0, min, {});
|
||||
return min.value;
|
||||
}
|
||||
return -1;
|
||||
},
|
||||
get selectedEngine() {
|
||||
return this._engineStore.engines[this.selectedIndex];
|
||||
},
|
||||
|
||||
// Helpers
|
||||
rowCountChanged: function (index, count) {
|
||||
this.tree.rowCountChanged(index, count);
|
||||
},
|
||||
|
||||
invalidate: function () {
|
||||
this.tree.invalidate();
|
||||
},
|
||||
|
||||
ensureRowIsVisible: function (index) {
|
||||
this.tree.ensureRowIsVisible(index);
|
||||
},
|
||||
|
||||
getSourceIndexFromDrag: function (dataTransfer) {
|
||||
return parseInt(dataTransfer.getData(ENGINE_FLAVOR));
|
||||
},
|
||||
|
||||
// nsITreeView
|
||||
get rowCount() {
|
||||
return this._engineStore.engines.length;
|
||||
},
|
||||
|
||||
getImageSrc: function(index, column) {
|
||||
if (column.id == "engineName" && this._engineStore.engines[index].iconURI)
|
||||
return this._engineStore.engines[index].iconURI.spec;
|
||||
return "";
|
||||
},
|
||||
|
||||
getCellText: function(index, column) {
|
||||
if (column.id == "engineName")
|
||||
return this._engineStore.engines[index].name;
|
||||
else if (column.id == "engineKeyword")
|
||||
return this._engineStore.engines[index].alias;
|
||||
return "";
|
||||
},
|
||||
|
||||
setTree: function(tree) {
|
||||
this.tree = tree;
|
||||
},
|
||||
|
||||
canDrop: function(targetIndex, orientation, dataTransfer) {
|
||||
var sourceIndex = this.getSourceIndexFromDrag(dataTransfer);
|
||||
return (sourceIndex != -1 &&
|
||||
sourceIndex != targetIndex &&
|
||||
sourceIndex != targetIndex + orientation);
|
||||
},
|
||||
|
||||
drop: function(dropIndex, orientation, dataTransfer) {
|
||||
var sourceIndex = this.getSourceIndexFromDrag(dataTransfer);
|
||||
var sourceEngine = this._engineStore.engines[sourceIndex];
|
||||
|
||||
if (dropIndex > sourceIndex) {
|
||||
if (orientation == Ci.nsITreeView.DROP_BEFORE)
|
||||
dropIndex--;
|
||||
} else {
|
||||
if (orientation == Ci.nsITreeView.DROP_AFTER)
|
||||
dropIndex++;
|
||||
}
|
||||
|
||||
this._engineStore.moveEngine(sourceEngine, dropIndex);
|
||||
gEngineManagerDialog.showRestoreDefaults(true);
|
||||
|
||||
// Redraw, and adjust selection
|
||||
this.invalidate();
|
||||
this.selection.select(dropIndex);
|
||||
},
|
||||
|
||||
selection: null,
|
||||
getRowProperties: function(index) { return ""; },
|
||||
getCellProperties: function(index, column) { return ""; },
|
||||
getColumnProperties: function(column) { return ""; },
|
||||
isContainer: function(index) { return false; },
|
||||
isContainerOpen: function(index) { return false; },
|
||||
isContainerEmpty: function(index) { return false; },
|
||||
isSeparator: function(index) { return false; },
|
||||
isSorted: function(index) { return false; },
|
||||
getParentIndex: function(index) { return -1; },
|
||||
hasNextSibling: function(parentIndex, index) { return false; },
|
||||
getLevel: function(index) { return 0; },
|
||||
getProgressMode: function(index, column) { },
|
||||
getCellValue: function(index, column) { },
|
||||
toggleOpenState: function(index) { },
|
||||
cycleHeader: function(column) { },
|
||||
selectionChanged: function() { },
|
||||
cycleCell: function(row, column) { },
|
||||
isEditable: function(index, column) { return false; },
|
||||
isSelectable: function(index, column) { return false; },
|
||||
setCellValue: function(index, column, value) { },
|
||||
setCellText: function(index, column, value) { },
|
||||
performAction: function(action) { },
|
||||
performActionOnRow: function(action, index) { },
|
||||
performActionOnCell: function(action, index, column) { }
|
||||
};
|
@ -1,93 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
|
||||
|
||||
<?xml-stylesheet href="chrome://global/skin/"?>
|
||||
<?xml-stylesheet href="chrome://browser/skin/engineManager.css"?>
|
||||
|
||||
<!DOCTYPE dialog SYSTEM "chrome://browser/locale/engineManager.dtd">
|
||||
|
||||
<dialog id="engineManager"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
buttons="accept,cancel,extra2"
|
||||
buttonlabelextra2="&restoreDefaults.label;"
|
||||
buttonaccesskeyextra2="&restoreDefaults.accesskey;"
|
||||
onload="gEngineManagerDialog.init();"
|
||||
onunload="gEngineManagerDialog.destroy();"
|
||||
ondialogaccept="gEngineManagerDialog.onOK();"
|
||||
ondialogextra2="gEngineManagerDialog.onRestoreDefaults();"
|
||||
title="&engineManager.title;"
|
||||
style="&engineManager.style;"
|
||||
persist="screenX screenY width height"
|
||||
windowtype="Browser:SearchManager">
|
||||
|
||||
<script type="application/javascript"
|
||||
src="chrome://browser/content/search/engineManager.js"/>
|
||||
|
||||
<commandset id="engineManagerCommandSet">
|
||||
<command id="cmd_remove"
|
||||
oncommand="gEngineManagerDialog.remove();"
|
||||
disabled="true"/>
|
||||
<command id="cmd_moveup"
|
||||
oncommand="gEngineManagerDialog.bump(1);"
|
||||
disabled="true"/>
|
||||
<command id="cmd_movedown"
|
||||
oncommand="gEngineManagerDialog.bump(-1);"
|
||||
disabled="true"/>
|
||||
<command id="cmd_editkeyword"
|
||||
oncommand="gEngineManagerDialog.editKeyword().catch(Components.utils.reportError);"
|
||||
disabled="true"/>
|
||||
</commandset>
|
||||
|
||||
<keyset id="engineManagerKeyset">
|
||||
<key id="delete" keycode="VK_DELETE" command="cmd_remove"/>
|
||||
</keyset>
|
||||
|
||||
<stringbundleset id="engineManagerBundleset">
|
||||
<stringbundle id="engineManagerBundle" src="chrome://browser/locale/engineManager.properties"/>
|
||||
</stringbundleset>
|
||||
|
||||
<description>&engineManager.intro;</description>
|
||||
<separator class="thin"/>
|
||||
<hbox flex="1">
|
||||
<tree id="engineList" flex="1" rows="10" hidecolumnpicker="true"
|
||||
seltype="single" onselect="gEngineManagerDialog.onSelect();">
|
||||
<treechildren id="engineChildren" flex="1"
|
||||
ondragstart="onDragEngineStart(event);"/>
|
||||
<treecols>
|
||||
<treecol id="engineName" flex="4" label="&columnLabel.name;"/>
|
||||
<treecol id="engineKeyword" flex="1" label="&columnLabel.keyword;"/>
|
||||
</treecols>
|
||||
</tree>
|
||||
<vbox>
|
||||
<spacer flex="1"/>
|
||||
<button id="edit"
|
||||
label="&edit.label;"
|
||||
accesskey="&edit.accesskey;"
|
||||
command="cmd_editkeyword"/>
|
||||
<button id="up"
|
||||
label="&up.label;"
|
||||
accesskey="&up.accesskey;"
|
||||
command="cmd_moveup"/>
|
||||
<button id="down"
|
||||
label="&dn.label;"
|
||||
accesskey="&dn.accesskey;"
|
||||
command="cmd_movedown"/>
|
||||
<spacer flex="1"/>
|
||||
<button id="remove"
|
||||
label="&remove.label;"
|
||||
accesskey="&remove.accesskey;"
|
||||
command="cmd_remove"/>
|
||||
</vbox>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<checkbox id="enableSuggest"
|
||||
label="&enableSuggest.label;"
|
||||
accesskey="&enableSuggest.accesskey;"/>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label id="addEngines" class="text-link" value="&addEngine.label;"
|
||||
onclick="if (event.button == 0) { gEngineManagerDialog.loadAddEngines(); }"/>
|
||||
</hbox>
|
||||
</dialog>
|
@ -5,5 +5,3 @@
|
||||
browser.jar:
|
||||
content/browser/search/search.xml (content/search.xml)
|
||||
content/browser/search/searchbarBindings.css (content/searchbarBindings.css)
|
||||
content/browser/search/engineManager.xul (content/engineManager.xul)
|
||||
content/browser/search/engineManager.js (content/engineManager.js)
|
||||
|
@ -1,29 +0,0 @@
|
||||
<!-- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
|
||||
|
||||
<!ENTITY engineManager.title "Manage Search Engine List">
|
||||
<!ENTITY engineManager.style "min-width: 35em;">
|
||||
<!ENTITY engineManager.intro "You have the following search engines installed:">
|
||||
|
||||
<!ENTITY columnLabel.name "Name">
|
||||
<!ENTITY columnLabel.keyword "Keyword">
|
||||
|
||||
<!-- Buttons -->
|
||||
<!ENTITY up.label "Move Up">
|
||||
<!ENTITY up.accesskey "U">
|
||||
<!ENTITY dn.label "Move Down">
|
||||
<!ENTITY dn.accesskey "D">
|
||||
<!ENTITY remove.label "Remove">
|
||||
<!ENTITY remove.accesskey "R">
|
||||
<!ENTITY edit.label "Edit Keyword…">
|
||||
<!ENTITY edit.accesskey "t">
|
||||
|
||||
<!ENTITY addEngine.label "Get more search engines…">
|
||||
<!ENTITY addEngine.accesskey "A">
|
||||
|
||||
<!ENTITY enableSuggest.label "Show search suggestions">
|
||||
<!ENTITY enableSuggest.accesskey "S">
|
||||
|
||||
<!ENTITY restoreDefaults.label "Restore Defaults">
|
||||
<!ENTITY restoreDefaults.accesskey "e">
|
@ -2,8 +2,6 @@
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
editTitle=Edit Keyword
|
||||
editMsg=Enter a new keyword for "%S":
|
||||
duplicateTitle=Duplicate Keyword
|
||||
duplicateEngineMsg=You have chosen a keyword that is currently in use by "%S". Please select another.
|
||||
duplicateBookmarkMsg=You have chosen a keyword that is currently in use by a bookmark. Please select another.
|
||||
|
@ -92,7 +92,6 @@
|
||||
locale/browser/search.properties (%chrome/browser/search.properties)
|
||||
locale/browser/searchbar.dtd (%chrome/browser/searchbar.dtd)
|
||||
locale/browser/sitePermissions.properties (%chrome/browser/sitePermissions.properties)
|
||||
locale/browser/engineManager.dtd (%chrome/browser/engineManager.dtd)
|
||||
locale/browser/engineManager.properties (%chrome/browser/engineManager.properties)
|
||||
locale/browser/setDesktopBackground.dtd (%chrome/browser/setDesktopBackground.dtd)
|
||||
locale/browser/shellservice.properties (%chrome/browser/shellservice.properties)
|
||||
|
@ -1,16 +0,0 @@
|
||||
%if 0
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
%endif
|
||||
|
||||
#engineList treechildren::-moz-tree-image(engineName) {
|
||||
-moz-margin-end: 4px;
|
||||
-moz-margin-start: 1px;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
}
|
||||
|
||||
#engineList treechildren::-moz-tree-row {
|
||||
height: 20px;
|
||||
}
|
@ -37,7 +37,6 @@ browser.jar:
|
||||
skin/classic/browser/click-to-play-warning-stripes.png
|
||||
skin/classic/browser/content-contextmenu.svg
|
||||
skin/classic/browser/drm-icon.svg (../shared/drm-icon.svg)
|
||||
* skin/classic/browser/engineManager.css
|
||||
skin/classic/browser/fullscreen/insecure.svg (../shared/fullscreen/insecure.svg)
|
||||
skin/classic/browser/fullscreen/secure.svg (../shared/fullscreen/secure.svg)
|
||||
skin/classic/browser/Geolocation-16.png
|
||||
|
@ -1,16 +0,0 @@
|
||||
%if 0
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
%endif
|
||||
|
||||
#engineList treechildren::-moz-tree-image(engineName) {
|
||||
-moz-margin-end: 4px;
|
||||
-moz-margin-start: 1px;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
}
|
||||
|
||||
#engineList treechildren::-moz-tree-row {
|
||||
height: 20px;
|
||||
}
|
@ -37,7 +37,6 @@ browser.jar:
|
||||
skin/classic/browser/click-to-play-warning-stripes.png
|
||||
skin/classic/browser/content-contextmenu.svg
|
||||
skin/classic/browser/drm-icon.svg (../shared/drm-icon.svg)
|
||||
* skin/classic/browser/engineManager.css (engineManager.css)
|
||||
skin/classic/browser/fullscreen/insecure.svg (../shared/fullscreen/insecure.svg)
|
||||
skin/classic/browser/fullscreen/secure.svg (../shared/fullscreen/secure.svg)
|
||||
skin/classic/browser/Geolocation-16.png
|
||||
|
@ -1,16 +0,0 @@
|
||||
%if 0
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
%endif
|
||||
|
||||
#engineList treechildren::-moz-tree-image(engineName) {
|
||||
-moz-margin-end: 4px;
|
||||
-moz-margin-start: 1px;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
}
|
||||
|
||||
#engineList treechildren::-moz-tree-row {
|
||||
height: 20px;
|
||||
}
|
@ -39,7 +39,6 @@ browser.jar:
|
||||
skin/classic/browser/click-to-play-warning-stripes.png
|
||||
skin/classic/browser/content-contextmenu.svg
|
||||
skin/classic/browser/drm-icon.svg (../shared/drm-icon.svg)
|
||||
* skin/classic/browser/engineManager.css
|
||||
skin/classic/browser/fullscreen/insecure.svg (../shared/fullscreen/insecure.svg)
|
||||
skin/classic/browser/fullscreen/secure.svg (../shared/fullscreen/secure.svg)
|
||||
skin/classic/browser/Geolocation-16.png
|
||||
|
Loading…
Reference in New Issue
Block a user