Enabling/disabling extensions works!
git-svn-id: svn://10.0.0.236/trunk@130409 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -76,7 +76,7 @@ function Startup()
|
||||
var child = list.childNodes[i];
|
||||
var name = child.getAttribute("name");
|
||||
if (!theme)
|
||||
matches = chromeRegistry.isSkinSelected(name, true) == Components.interfaces.nsIChromeRegistry.FULL;
|
||||
matches = chromeRegistry.isSkinSelectedForPackage(name, "browser", true);
|
||||
else
|
||||
matches = name == theme;
|
||||
if (matches) {
|
||||
@@ -94,6 +94,14 @@ function Startup()
|
||||
while (description.hasChildNodes())
|
||||
description.removeChild(description.firstChild);
|
||||
}
|
||||
|
||||
var extList = document.getElementById("extList");
|
||||
for (var i = 0; i < extList.childNodes.length; ++i) {
|
||||
if (extList.childNodes[i].getAttribute("name")) {
|
||||
extList.selectItem(extList.childNodes[i]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function applyTheme()
|
||||
@@ -264,4 +272,54 @@ function themeSelect()
|
||||
}
|
||||
|
||||
|
||||
function extensionSelect()
|
||||
{
|
||||
var list = document.getElementById("extList");
|
||||
|
||||
if (!list)
|
||||
return;
|
||||
|
||||
var selectedItem = list.selectedItems.length ? list.selectedItems[0] : null;
|
||||
if (selectedItem) {
|
||||
var extName = selectedItem.getAttribute("displayName");
|
||||
var nameField = document.getElementById("extDisplayName");
|
||||
var author = document.getElementById("extAuthor");
|
||||
var descText = document.createTextNode(selectedItem.getAttribute("description"));
|
||||
var description = document.getElementById("extDescription");
|
||||
var uninstallButton = document.getElementById("uninstallExtension");
|
||||
|
||||
while (description.hasChildNodes())
|
||||
description.removeChild(description.firstChild);
|
||||
|
||||
nameField.setAttribute("value", extName);
|
||||
author.setAttribute("value", selectedItem.getAttribute("author"));
|
||||
|
||||
description.appendChild(descText);
|
||||
|
||||
updateDisableExtButton(selectedItem);
|
||||
}
|
||||
}
|
||||
|
||||
function toggleExtension()
|
||||
{
|
||||
var list = document.getElementById("extList");
|
||||
|
||||
if (!list)
|
||||
return;
|
||||
|
||||
var selectedItem = list.selectedItems.length ? list.selectedItems[0] : null;
|
||||
if (selectedItem) {
|
||||
var disabled = (selectedItem.getAttribute("disabledState") == "true");
|
||||
chromeRegistry.setAllowOverlaysForPackage(selectedItem.getAttribute("name"), disabled);
|
||||
updateDisableExtButton(selectedItem);
|
||||
}
|
||||
}
|
||||
|
||||
function updateDisableExtButton(item)
|
||||
{
|
||||
var disableButton = document.getElementById("disableExtension");
|
||||
if (item.getAttribute("disabledState") == "true")
|
||||
disableButton.setAttribute("label", "Enable Extension"); // XXXdwh localize
|
||||
else
|
||||
disableButton.setAttribute("label", "Disable Extension"); // XXXdwh localize
|
||||
}
|
||||
|
||||
@@ -94,7 +94,7 @@
|
||||
<vbox flex="1">
|
||||
<spacer flex="1"/>
|
||||
<hbox align="start">
|
||||
<html:a id="themesLink" href="&getNewThemesURL;"
|
||||
<html:a class="themesLink" id="themesLink" href="&getNewThemesURL;"
|
||||
style="padding-left:4px; display: block;" target="_new">&getNewThemes.label;</html:a>
|
||||
</hbox>
|
||||
</vbox>
|
||||
@@ -106,8 +106,8 @@
|
||||
<vbox flex="1">
|
||||
|
||||
<listbox id="extList" datasources="rdf:chrome"
|
||||
onselect=""
|
||||
ref="urn:mozilla:package:root" rows="3">
|
||||
onselect="extensionSelect();"
|
||||
ref="urn:mozilla:package:root" rows="10">
|
||||
<template xmlns:chrome="http://www.mozilla.org/rdf/chrome">
|
||||
<rule chrome:extension="true">
|
||||
<listitem uri="..."
|
||||
@@ -116,35 +116,29 @@
|
||||
displayName="rdf:http://www.mozilla.org/rdf/chrome#displayName"
|
||||
name="rdf:http://www.mozilla.org/rdf/chrome#name"
|
||||
description="rdf:http://www.mozilla.org/rdf/chrome#description"
|
||||
image="rdf:http://www.mozilla.org/rdf/chrome#image"
|
||||
loctype="rdf:http://www.mozilla.org/rdf/chrome#locType"/>
|
||||
disabledState="rdf:http://www.mozilla.org/rdf/chrome#disabled"/>
|
||||
</rule>
|
||||
</template>
|
||||
</listbox>
|
||||
|
||||
<separator class="thin"/>
|
||||
|
||||
<hbox class="inset" align="center" pack="center">
|
||||
<image/>
|
||||
</hbox>
|
||||
|
||||
<separator class="thin"/>
|
||||
<hbox>
|
||||
<vbox flex="1">
|
||||
<label class="header" id="displayName" value=""/>
|
||||
<label class="header" id="extDisplayName"/>
|
||||
<hbox align="center">
|
||||
<label value="&author.label;"/>
|
||||
<label/>
|
||||
<label id="extAuthor"/>
|
||||
</hbox>
|
||||
<label flex="1"/>
|
||||
<label id="extDescription" flex="1"/>
|
||||
</vbox>
|
||||
<vbox>
|
||||
<button label="&uninstallSkin.label;" oncommand="uninstallSkin();"/>
|
||||
<button id="disableExtension" label="Disable Extension" oncommand="toggleExtension();"/> <!-- XXXdwh localize -->
|
||||
<button label="Uninstall Extension" oncommand="uninstallExtension();"/> <!-- XXXdwh localize -->
|
||||
<vbox flex="1">
|
||||
<spacer flex="1"/>
|
||||
<hbox align="start">
|
||||
<html:a href="&getNewThemesURL;"
|
||||
style="padding-left:4px; display: block;" target="_new">&getNewThemes.label;</html:a>
|
||||
<html:a class="themesLink" href="&getNewThemesURL;"
|
||||
style="padding-left:4px; display: block;" target="_new">Get New Extensions</html:a>
|
||||
</hbox>
|
||||
</vbox>
|
||||
</vbox>
|
||||
|
||||
Reference in New Issue
Block a user