Enabling/disabling extensions works!

git-svn-id: svn://10.0.0.236/trunk@130409 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
hyatt%netscape.com
2002-09-25 06:09:26 +00:00
parent b805af063a
commit 73f2e30ca6
2 changed files with 70 additions and 18 deletions

View File

@@ -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
}

View File

@@ -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>