Add Clear button to remove remembered helper app pref (88435). r=bz sr=ben

This commit is contained in:
blakeross%telocity.com 2006-05-17 02:30:39 +00:00
parent 4e360eb8c2
commit d03086ea15
4 changed files with 114 additions and 85 deletions

View File

@ -45,7 +45,6 @@
var gHandlerGroup = null;
var gAppPath = null;
var gAskBeforeOpen = null;
var gIcon = null;
var gContentType = null;
var gPrefApplicationsBundle = null;
@ -57,7 +56,6 @@
{
doSetOKCancel(onOK);
gIcon = document.getElementById("largeIcon");
gContentType = document.getElementById("contentType");
gExtensionLabel = document.getElementById("extension");
gMIMEField = document.getElementById("mimeType");
@ -121,7 +119,14 @@
}
gContentType.setAttribute("value", handlerInfo.description);
gIcon.setAttribute("src", handlerInfo.largeIconURL);
var ext;
var posOfFirstSpace = handlerInfo.extensions.indexOf(" ");
if (posOfFirstSpace > -1)
ext = handlerInfo.extensions.substr(0, posOfFirstSpace - 1);
else
ext = handlerInfo.extensions;
var imageString = "moz-icon://" + "dummy." + ext.toLowerCase() + "?size=32&contentType=" + handlerInfo.mimeType;
document.getElementById("contentTypeImage").setAttribute("src", imageString);
gMIMEField.focus();
}
@ -274,7 +279,7 @@
<keyset id="dialogKeys"/>
<hbox autostretch="never">
<image id="largeIcon" class="file-icon-large" style="width: 32px; height: 32px;"/>
<image id="contentTypeImage"/>
<text class="label" id="contentType" crop="right"/>
</hbox>

View File

@ -95,7 +95,14 @@ function selectApplication()
gPrefApplicationsBundle.getString("saveToDisk"));
else
gHandlerField.setAttribute("value", handlerOverride.appDisplayName);
var ext;
var posOfFirstSpace = handlerOverride.extensions.indexOf(" ");
if (posOfFirstSpace > -1)
ext = handlerOverride.extensions.substr(0, posOfFirstSpace - 1);
else
ext = handlerOverride.extensions;
var imageString = "moz-icon://" + "dummy." + ext.toLowerCase() + "?size=32&contentType=" + handlerOverride.mimeType;
document.getElementById("contentTypeImage").setAttribute("src", imageString);
updateLockedButtonState(handlerOverride.isEditable == "true");
delete handlerOverride;
} else {
@ -122,3 +129,11 @@ function updateLockedButtonState(handlerEditable)
}
}
function clearRememberedSettings()
{
var prefBranch = Components.classes["@mozilla.org/preferences;1"].getService(Components.interfaces.nsIPrefBranch);
if (prefBranch) {
prefBranch.setCharPref("browser.helperApps.neverAsk.saveToDisk", "");
prefBranch.setCharPref("browser.helperApps.neverAsk.openFile", "");
}
}

View File

@ -41,87 +41,93 @@
<hbox class="box-smallheader" title="&lHeader;"/>
<groupbox flex="1">
<groupbox orient="vertical" flex="1">
<label value="&descript;"/>
<vbox flex="1">
<text class="label" value="&fileTypes.label;"/>
<tree id="appTree" class="inset" flex="1" style="width: 0px; height: 0px;"
datasources="rdf:null" ref="urn:mimetypes"
onselect="selectApplication();">
<treecolgroup>
<treecol flex="1"/>
</treecolgroup>
<template>
<rule>
<conditions>
<content uri="?uri"/>
<!-- the RDF Seq of MIME types -->
<triple subject="?uri" object="?MIME-types"
predicate="http://home.netscape.com/NC-rdf#MIME-types"/>
<!-- each MIME type -->
<member container="?MIME-types" child="?type"/>
<!-- MIME type value -->
<triple subject="?type" object="?value"
predicate="http://home.netscape.com/NC-rdf#value"/>
<triple subject="?type" object="?editable"
predicate="http://home.netscape.com/NC-rdf#editable"/>
</conditions>
<action>
<treechildren flex="1">
<treeitem uri="?type">
<treerow>
<treecell label="?value"/>
</treerow>
</treeitem>
</treechildren>
</action>
</rule>
</template>
</tree>
</vbox>
<vbox>
<button id="newTypeButton"
label="&newTypeButton.label;" accesskey="&newTypeButton.accesskey;"
oncommand="newType();"
pref="true" preftype="bool"
prefstring="pref.application.disable_button.new_type" prefattribute="disabled"/>
<button id="editButton"
label="&editButton.label;" accesskey="&editButton.accesskey;"
oncommand="editType();"
pref="true" preftype="bool"
prefstring="pref.application.disable_button.edit" prefattribute="disabled"/>
<button id="removeButton"
label="&removeButton.label;" accesskey="&removeButton.accesskey;"
oncommand="removeType();"
pref="true" preftype="bool"
prefstring="pref.application.disable_button.remove" prefattribute="disabled"/>
</vbox>
<text class="label" value="&fileTypes.label;"/>
<hbox flex="1">
<vbox flex="1">
<tree id="appTree" class="inset" flex="1"
datasources="rdf:null" ref="urn:mimetypes"
onselect="selectApplication();">
<treecolgroup>
<treecol flex="1"/>
</treecolgroup>
<template>
<rule>
<conditions>
<content uri="?uri"/>
<!-- the RDF Seq of MIME types -->
<triple subject="?uri" object="?MIME-types"
predicate="http://home.netscape.com/NC-rdf#MIME-types"/>
<!-- each MIME type -->
<member container="?MIME-types" child="?type"/>
<!-- MIME type value -->
<triple subject="?type" object="?value"
predicate="http://home.netscape.com/NC-rdf#value"/>
<triple subject="?type" object="?editable"
predicate="http://home.netscape.com/NC-rdf#editable"/>
</conditions>
<action>
<treechildren flex="1">
<treeitem uri="?type">
<treerow>
<treecell label="?value"/>
</treerow>
</treeitem>
</treechildren>
</action>
</rule>
</template>
</tree>
<hbox>
<image id="contentTypeImage"/>
<grid orient="horizontal">
<columns>
<column/>
<column flex="1"/>
</columns>
<rows>
<row>
<text class="label" value="&exten;"/>
<text class="label" id="extension"/>
</row>
<row>
<text class="label" value="&mimeType;"/>
<text class="label" id="mimeType"/>
</row>
<row>
<text class="label" value="&handle;"/>
<text class="label" id="handler"/>
</row>
</rows>
</grid>
</hbox>
</vbox>
<vbox>
<button id="newTypeButton"
label="&newTypeButton.label;" accesskey="&newTypeButton.accesskey;"
oncommand="newType();"
pref="true" preftype="bool"
prefstring="pref.application.disable_button.new_type" prefattribute="disabled"/>
<button id="editButton"
label="&editButton.label;" accesskey="&editButton.accesskey;"
oncommand="editType();"
pref="true" preftype="bool"
prefstring="pref.application.disable_button.edit" prefattribute="disabled"/>
<button id="removeButton"
label="&removeButton.label;" accesskey="&removeButton.accesskey;"
oncommand="removeType();"
pref="true" preftype="bool"
prefstring="pref.application.disable_button.remove" prefattribute="disabled"/>
</vbox>
</hbox>
</groupbox>
<groupbox orient="vertical">
<label value="&file;"/>
<grid flex="1">
<columns>
<column/>
<column flex="1"/>
</columns>
<rows>
<row>
<text class="label" value="&exten;"/>
<text class="label" id="extension"/>
</row>
<row>
<text class="label" value="&mimeType;"/>
<text class="label" id="mimeType"/>
</row>
<row>
<text class="label" value="&handle;"/>
<text class="label" id="handler"/>
</row>
</rows>
</grid>
<groupbox flex="1">
<label value="&fileOpening.label;"/>
<html flex="1">&resetText.label;</html>
<separator orient="vertical"/>
<hbox autostretch="never">
<button label="&resetButton.label;" oncommand="clearRememberedSettings();"/>
</hbox>
</groupbox>
</window>

View File

@ -16,3 +16,6 @@
<!--LOCALIZATION NOTE (mimeType): 'MIME' should not be translated -->
<!ENTITY mimeType "MIME type:">
<!ENTITY handle "Handled by:">
<!ENTITY resetText.label "Click &quot;Reset&quot; to clear your file-opening preferences and be asked before opening files.">
<!ENTITY resetButton.label "Reset">
<!ENTITY fileOpening.label "Opening files">