From deb9674fbe938fd51cbd105003519204977b7308 Mon Sep 17 00:00:00 2001 From: "disttsc%bart.nl" Date: Wed, 17 May 2006 02:29:30 +0000 Subject: [PATCH] Bug 76445: "Edit and Remove should be disabled in Prefs->Helper Applications if no File Types selected", author=Boris Zbarsky , r=eddyk@netscape.com, sr=alecf --- suite/common/pref/pref-applications.js | 34 ++++++++++++++------------ 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/suite/common/pref/pref-applications.js b/suite/common/pref/pref-applications.js index d94eb74d6c33..b3180748a17a 100644 --- a/suite/common/pref/pref-applications.js +++ b/suite/common/pref/pref-applications.js @@ -62,9 +62,7 @@ function Startup() gRemoveButton = document.getElementById("removeButton"); // Disable the Edit & Remove buttons until we click on something - gEditButton.disabled=true; - gRemoveButton.disabled=true; - updateLockedButtonState(); + updateLockedButtonState(false); const mimeTypes = "UMimTyp"; var fileLocator = Components.classes["@mozilla.org/file/directory_service;1"].getService(); @@ -101,25 +99,29 @@ function selectApplication() else gHandlerField.setAttribute("value", handlerOverride.appDisplayName); - if (handlerOverride.isEditable == "false") { - gEditButton.disabled=true; - gRemoveButton.disabled=true; - } - else { - gEditButton.disabled=false; - gRemoveButton.disabled=false; - } - + updateLockedButtonState(handlerOverride.isEditable == "true"); delete handlerOverride; - updateLockedButtonState(); + } else { + updateLockedButtonState(false) } } // disable locked buttons -function updateLockedButtonState() +function updateLockedButtonState(handlerEditable) { gNewTypeButton.disabled = parent.hPrefWindow.getPrefIsLocked(gNewTypeButton.getAttribute("prefstring") ); - gEditButton.disabled = parent.hPrefWindow.getPrefIsLocked(gEditButton.getAttribute("prefstring")); - gRemoveButton.disabled = parent.hPrefWindow.getPrefIsLocked(gRemoveButton.getAttribute("prefstring")); + if (!handlerEditable || + parent.hPrefWindow.getPrefIsLocked(gEditButton.getAttribute("prefstring"))) { + gEditButton.disabled = true; + } else { + gEditButton.disabled = false; + } + + if (!handlerEditable || + parent.hPrefWindow.getPrefIsLocked(gRemoveButton.getAttribute("prefstring"))) { + gRemoveButton.disabled = true; + } else { + gRemoveButton.disabled = false; + } }