From 5643e136ad1c8f3f0ef83b03b392d3b824d637d8 Mon Sep 17 00:00:00 2001 From: "pchen%netscape.com" Date: Wed, 17 May 2006 02:27:39 +0000 Subject: [PATCH] bug 61079, r=blake, a/sr=ben, fix editing of helper app mappings, by creating a full new mapping (which will actually show up in the list) and deleting the old one (makes old one go away, duh) --- suite/common/pref/pref-applications-edit.xul | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/suite/common/pref/pref-applications-edit.xul b/suite/common/pref/pref-applications-edit.xul index 67a45d537dc3..9bd497dde721 100644 --- a/suite/common/pref/pref-applications-edit.xul +++ b/suite/common/pref/pref-applications-edit.xul @@ -52,6 +52,10 @@ var gOldMIME = null; + var gOldDesc = null; + + var gOldExtensions = null; + function Startup() { doSetOKCancel(onOK); @@ -71,6 +75,8 @@ gExtensionLabel.setAttribute("value", handlerInfo.extensions); gMIMEField.value = handlerInfo.mimeType; gOldMIME = handlerInfo.mimeType; + gOldDesc = handlerInfo.description; + gOldExtensions = handlerInfo.extensions; // figure out how this type is handled var data = 0; @@ -167,6 +173,15 @@ handlerInfo.mUpdateMode = mimeHandlerExists(gMIMEField.value); handlerInfo.mimeType = gMIMEField.value; + // set description, editable, and extensions + handlerInfo.description = gOldDesc + handlerInfo.isEditable = true; + var extensions = gOldExtensions.split(" "); + for (var i = 0; i < extensions.length; i++) { + var currExtension = extensions[i]; + handlerInfo.addExtension(currExtension); + } + // other info we need to set (not reflected in UI) if (gHandlerGroup.data == "2") { handlerInfo.appPath = gAppPath.value; @@ -196,6 +211,10 @@ handlerInfo.appDisplayName = gAppPath.value; } } + // delete old handler + if (gOldMIME) + removeOverride(gOldMIME); + // do the rest of the work (ugly yes, but it works) handlerInfo.buildLinks();