fixes for profile manager bug 32065 & some minor skinnability tweaks

This commit is contained in:
ben%netscape.com 2000-03-17 05:56:34 +00:00
parent f4bf2dd0f0
commit 5502d5ec20
3 changed files with 42 additions and 36 deletions

View File

@ -30,11 +30,11 @@ function GetFields()
{
var profName = document.getElementById("ProfileName").value;
var profDir = document.getElementById("ProfileDir");
var profDirContent = profDir.getAttribute("value");
var profDirContent = profDir.hasChildNodes() ? profDir.firstChild.nodeValue : "";
var profDirRootFolder = profDir.getAttribute("rootFolder");
var rv = {
ProfileName: { id: "ProfileName", value: profName },
ProfileDir: { id: "ProfileDir", value: profDirContent, rootFolder: profDirRootFolder }
ProfileDir: { id: "ProfileDir", value: profDirRootFolder }
}
return rv;
}
@ -45,8 +45,7 @@ function SetFields( aElement, aValue, aDataObject )
{
element = document.getElementById( aElement );
if(element.id == "ProfileDir" && aValue != "") {
element.setAttribute( "rootFolder", aDataObject.rootFolder );
chooseProfileFolder( aValue, false );
chooseProfileFolder( aValue );
}
else if(element.id == "ProfileName")
element.value = aValue;
@ -63,43 +62,41 @@ function initFields()
// function createProfileWizard.js::chooseProfileFolder();
// invoke a folder selection dialog for choosing the directory of profile storage.
function chooseProfileFolder(folder, showPopup)
function chooseProfileFolder( aRootFolder )
{
if(showPopup) {
if( !aRootFolder ) {
try {
var fileSpec = Components.classes["component://netscape/filespecwithui"].createInstance();
if(fileSpec) {
fileSpec = fileSpec.QueryInterface(Components.interfaces.nsIFileSpecWithUI);
folder = fileSpec.chooseDirectory( bundle.GetStringFromName("chooseFolder"));
fileSpec.URLString = fileSpec.chooseDirectory( bundle.GetStringFromName("chooseFolder"));
aRootFolder = fileSpec.nativePath;
}
else folder = null;
else
aRootFolder = null;
}
catch(e) {
folder = null;
aRootFolder = null;
}
}
if( folder != undefined && folder ) {
if( aRootFolder ) {
var folderText = document.getElementById("ProfileDir");
if (showPopup) {
try {
var spec = Components.classes["component://netscape/filespec"].createInstance();
spec = spec.QueryInterface(Components.interfaces.nsIFileSpec);
spec.URLString = folder;
folder = spec.nativePath;
}
catch (ex) {
dump("failed to convert URL to native path\n");
}
}
folderText.setAttribute( "value",folder );
if( showPopup )
folderText.setAttribute( "rootFolder", folder );
// show the 'use default' button
document.getElementById( "useDefault" ).setAttribute( "style", "display: inherit" );
folderText.setAttribute( "rootFolder", aRootFolder );
if ( aRootFolder != top.profile.defaultProfileParentDir.nativePath )
document.getElementById( "useDefault" ).removeAttribute("disabled");
updateProfileName();
}
}
function clearFolderDisplay()
{
var folderText = document.getElementById("ProfileDir");
if ( folderText.hasChildNodes() ) {
while ( folderText.hasChildNodes() )
folderText.removeChild( folderText.firstChild );
}
}
function updateProfileName()
{
var profileName = document.getElementById( "ProfileName" );
@ -112,7 +109,10 @@ function updateProfileName()
if ( fileSpec )
fileSpec.nativePath = rootFolder;
fileSpec.appendRelativeUnixPath( profileName.value );
folderDisplayElement.setAttribute( "value", fileSpec.nativePath );
clearFolderDisplay();
var value = document.createTextNode( fileSpec.nativePath );
folderDisplayElement.appendChild( value );
}
catch(e) {
}
@ -134,7 +134,7 @@ function setDisplayToDefaultFolder()
catch(e) {
}
document.getElementById("useDefault").setAttribute("style","display:none");
document.getElementById("useDefault").setAttribute("disabled", "true");
// reset the display field
updateProfileName();

View File

@ -39,11 +39,14 @@
<!-- spank me -->
<html:input type="text" id="ProfileName" value="&pnl2.defaultPName.label;" onblur="updateProfileName();"/>
<html>&pnl2.pdir.label;</html>
<box id="dirbox" autostretch="never">
<text id="ProfileDir" flex="1" crop="right"/>
<box id="dirbox">
<box orient="vertical" flex="1">
<html id="ProfileDir"/>
<spring flex="1"/>
</box>
<box orient="vertical">
<button value="&button.choosefolder.label;" oncommand="chooseProfileFolder(null,true);"/>
<button id="useDefault" value="&button.usedefault.label;" oncommand="setDisplayToDefaultFolder();" style="display: none;"/>
<button value="&button.choosefolder.label;" oncommand="chooseProfileFolder();"/>
<button id="useDefault" value="&button.usedefault.label;" oncommand="setDisplayToDefaultFolder();" disabled="true"/>
</box>
</box>
<spring flex="1"/>

View File

@ -61,10 +61,13 @@
<box orient="vertical" id="manager">
<html class="label" style="width: 200px;">&pmTextA.label;</html>
<spring flex="1"/>
<box orient="vertical" autostretch="never" id="managebuttons">
<button id="newbutton" value="&newButton.label;" onclick="CreateProfileWizard();"/>
<button id="renbutton" value="&renameButton.label;" onclick="RenameProfile();"/>
<button id="delbutton" value="&deleteButton.label;" onclick="ConfirmDelete();"/>
<box>
<box orient="vertical" flex="1" id="managebuttons">
<button id="newbutton" value="&newButton.label;" oncommand="CreateProfileWizard();"/>
<button id="renbutton" value="&renameButton.label;" oncommand="RenameProfile();"/>
<button id="delbutton" value="&deleteButton.label;" oncommand="ConfirmDelete();"/>
</box>
<spring flex="2"/>
</box>
</box>
</deck>