Changing from default action to a different one should work (didn't if the

default was "save").  Bug 193054, r=pkw@us.ibm.com, sr=mscott, a=asa
This commit is contained in:
bzbarsky%mit.edu 2003-02-13 19:00:08 +00:00
Родитель a2440ed2cd
Коммит 4d57f08e78
1 изменённых файлов: 19 добавлений и 14 удалений

Просмотреть файл

@ -515,9 +515,7 @@ nsHelperAppDialog.prototype = {
return this.helperAppChoice() != this.mLauncher.MIMEInfo.preferredApplicationHandler;
},
// See if the user changed things, and if so, update the
// mimeTypes.rdf entry for this mime type.
updateHelperAppPref: function() {
updateMIMEInfo: function() {
var needUpdate = false;
// If current selection differs from what's in the mime info object,
// then we need to update.
@ -554,16 +552,20 @@ nsHelperAppDialog.prototype = {
// Make sure mime info has updated setting for the "always ask" flag.
this.mLauncher.MIMEInfo.alwaysAskBeforeHandling = this.dialogElement( "alwaysAskMe" ).checked;
if ( needUpdate ) {
// We update by passing this mime info into the "Edit Type" helper app
// pref dialog. It will update the data source and close the dialog
// automatically.
this.mDialog.openDialog( "chrome://communicator/content/pref/pref-applications-edit.xul",
"_blank",
"chrome,modal=yes,resizable=no",
this );
}
return needUpdate;
},
// See if the user changed things, and if so, update the
// mimeTypes.rdf entry for this mime type.
updateHelperAppPref: function() {
// We update by passing this mime info into the "Edit Type" helper app
// pref dialog. It will update the data source and close the dialog
// automatically.
this.mDialog.openDialog( "chrome://communicator/content/pref/pref-applications-edit.xul",
"_blank",
"chrome,modal=yes,resizable=no",
this );
},
// onOK:
@ -601,6 +603,7 @@ nsHelperAppDialog.prototype = {
// "Save to Disk" dialog. In those cases, we don't want to
// update the helper application preferences in the RDF file.
try {
var needUpdate = this.updateMIMEInfo();
if ( this.dialogElement( "saveToDisk" ).selected )
this.mLauncher.saveToDisk( null, false );
else
@ -609,8 +612,10 @@ nsHelperAppDialog.prototype = {
// Update user pref for this mime type (if necessary). We do not
// store anything in the mime type preferences for the ambiguous
// type application/octet-stream.
if ( this.mLauncher.MIMEInfo.MIMEType != "application/octet-stream" )
if ( needUpdate &&
this.mLauncher.MIMEInfo.MIMEType != "application/octet-stream" ) {
this.updateHelperAppPref();
}
} catch(e) { }