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 gHandlerGroup = null;
var gAppPath = null; var gAppPath = null;
var gAskBeforeOpen = null; var gAskBeforeOpen = null;
var gIcon = null;
var gContentType = null; var gContentType = null;
var gPrefApplicationsBundle = null; var gPrefApplicationsBundle = null;
@ -57,7 +56,6 @@
{ {
doSetOKCancel(onOK); doSetOKCancel(onOK);
gIcon = document.getElementById("largeIcon");
gContentType = document.getElementById("contentType"); gContentType = document.getElementById("contentType");
gExtensionLabel = document.getElementById("extension"); gExtensionLabel = document.getElementById("extension");
gMIMEField = document.getElementById("mimeType"); gMIMEField = document.getElementById("mimeType");
@ -121,7 +119,14 @@
} }
gContentType.setAttribute("value", handlerInfo.description); 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(); gMIMEField.focus();
} }
@ -274,7 +279,7 @@
<keyset id="dialogKeys"/> <keyset id="dialogKeys"/>
<hbox autostretch="never"> <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"/> <text class="label" id="contentType" crop="right"/>
</hbox> </hbox>

View File

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

View File

@ -16,3 +16,6 @@
<!--LOCALIZATION NOTE (mimeType): 'MIME' should not be translated --> <!--LOCALIZATION NOTE (mimeType): 'MIME' should not be translated -->
<!ENTITY mimeType "MIME type:"> <!ENTITY mimeType "MIME type:">
<!ENTITY handle "Handled by:"> <!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">