зеркало из https://github.com/mozilla/gecko-dev.git
finish renaming and moving all the profile xul, js and dtd files.
fix regression with Rename and Delete. (they work again.)
This commit is contained in:
Родитель
85f2d4b7ac
Коммит
bc1ccb9b9a
|
@ -22,25 +22,6 @@ VPATH = @srcdir@
|
|||
|
||||
include $(DEPTH)/config/autoconf.mk
|
||||
|
||||
DIRS = locale
|
||||
|
||||
FILES = \
|
||||
common.css \
|
||||
cpw.css \
|
||||
cpw.js \
|
||||
cpw.xul \
|
||||
pm.css \
|
||||
pm.js \
|
||||
pm.xul \
|
||||
pmDelete.xul \
|
||||
pmMigrateAll.xul \
|
||||
pmrename.xul \
|
||||
test-content1_1.xul \
|
||||
test-content1_2.xul \
|
||||
$(NULL)
|
||||
DIRS = content skin locale
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
install::
|
||||
$(INSTALL) $(addprefix $(srcdir)/, $(FILES)) $(DIST)/bin/res/profile
|
||||
|
||||
|
|
|
@ -1,51 +0,0 @@
|
|||
window {
|
||||
display: block;
|
||||
width: 100%;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
tree {
|
||||
display: table;
|
||||
background-color: #000000;
|
||||
border: none;
|
||||
border-spacing: 0px;
|
||||
//border-collapse: collapse;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
treeitem {
|
||||
display: table-row;
|
||||
}
|
||||
|
||||
treehead {
|
||||
display: table-header-group;
|
||||
}
|
||||
|
||||
treebody {
|
||||
display: table-row-group;
|
||||
|
||||
}
|
||||
|
||||
treecell {
|
||||
display: table-cell;
|
||||
color: white;
|
||||
font-family: Verdana;
|
||||
font-size: 10pt;
|
||||
}
|
||||
|
||||
treehead treeitem treecell {
|
||||
background-color: #a0a0a0;
|
||||
border: thin black solid;
|
||||
color: black;
|
||||
}
|
||||
|
||||
icon {
|
||||
display: list-item;
|
||||
height: 16px;
|
||||
width: 16px;
|
||||
list-style-image: url("resource:/res/mailnews/messenger/closedMailFolder.gif");
|
||||
}
|
||||
|
||||
treecell[selected] {
|
||||
background-color: #000080;
|
||||
}
|
|
@ -26,12 +26,12 @@ include $(DEPTH)/config/autoconf.mk
|
|||
FILES = \
|
||||
createProfileWizard.js \
|
||||
createProfileWizard.xul \
|
||||
profileManager.js \
|
||||
profileManager.xul \
|
||||
profileManager.js \
|
||||
profileManager.xul \
|
||||
deleteProfile.xul \
|
||||
migrateAllProfile.xul \
|
||||
renameProfile.xul \
|
||||
newProfile1_1.xul \
|
||||
newProfile1_1.xul \
|
||||
newProfile1_2.xul \
|
||||
$(NULL)
|
||||
|
||||
|
|
|
@ -4,8 +4,8 @@ var wizardHash = new Array;
|
|||
var firstTime = true;
|
||||
|
||||
var testMap = {
|
||||
newProfile1_1: { next: "newProfile1_2" },
|
||||
newProfile1_2: { previous: "newProfile1_1" },
|
||||
newProfile1_1: { previous: null, next: "newProfile1_2" },
|
||||
newProfile1_2: { previous: "newProfile1_1", next: null},
|
||||
}
|
||||
|
||||
var pagePostfix=".xul";
|
||||
|
@ -15,25 +15,22 @@ var currentPageTag;
|
|||
var profName = "";
|
||||
var profDir = "";
|
||||
|
||||
var toolkitCore;
|
||||
|
||||
|
||||
// hack for inability to gray out finish button in first screen on first load
|
||||
var isProfileData = false;
|
||||
|
||||
function wizardPageLoaded(tag) {
|
||||
dump("**********wizardPageLoaded\n");
|
||||
//dump("**********wizardPageLoaded\n");
|
||||
|
||||
if (firstTime) {
|
||||
Startup();
|
||||
}
|
||||
|
||||
currentPageTag = tag;
|
||||
dump("currentPageTag: "+currentPageTag+"\n");
|
||||
|
||||
currentPageTag = tag;
|
||||
//dump("currentPageTag: "+currentPageTag+"\n");
|
||||
SetButtons();
|
||||
populatePage();
|
||||
}
|
||||
|
||||
var backButton = null;
|
||||
var nextButton = null;
|
||||
var finishButton = null;
|
||||
|
||||
function loadPage(thePage)
|
||||
{
|
||||
|
@ -41,24 +38,62 @@ function loadPage(thePage)
|
|||
saveData();
|
||||
}
|
||||
|
||||
dump("**********loadPage\n");
|
||||
dump("thePage: "+thePage+"\n");
|
||||
//dump("**********loadPage\n");
|
||||
//dump("thePage: "+thePage+"\n");
|
||||
displayPage(thePage);
|
||||
|
||||
firstTime = false;
|
||||
return(true);
|
||||
}
|
||||
|
||||
function SetButtons()
|
||||
{
|
||||
if (!currentPageTag) return;
|
||||
|
||||
if (!backButton) {
|
||||
backButton = document.getElementById("back");
|
||||
}
|
||||
if (!nextButton) {
|
||||
nextButton = document.getElementById("next");
|
||||
}
|
||||
if (!finishButton) {
|
||||
finishButton = document.getElementById("finish");
|
||||
}
|
||||
|
||||
//dump("currentPageTag == " + currentPageTag + "\n");
|
||||
nextTag = testMap[currentPageTag].next;
|
||||
//dump("nextTag == " + nextTag + "\n");
|
||||
if (nextTag) {
|
||||
//dump("next on, finish off\n");
|
||||
nextButton.setAttribute("disabled", "false");
|
||||
finishButton.setAttribute("disabled", "true");
|
||||
}
|
||||
else {
|
||||
//dump("next off, finish on\n");
|
||||
nextButton.setAttribute("disabled", "true");
|
||||
finishButton.setAttribute("disabled", "false");
|
||||
}
|
||||
|
||||
prevTag = testMap[currentPageTag].previous;
|
||||
//dump("prevTag == " + prevTag + "\n");
|
||||
if (prevTag) {
|
||||
//dump("back on\n");
|
||||
backButton.setAttribute("disabled", "false");
|
||||
}
|
||||
else {
|
||||
//dump("back off\n");
|
||||
backButton.setAttribute("disabled", "true");
|
||||
}
|
||||
}
|
||||
|
||||
function onNext()
|
||||
{
|
||||
dump("***********onNext\n");
|
||||
|
||||
if (currentPageTag == "newProfile1_1") {
|
||||
isProfileData = true;
|
||||
if (nextButton.getAttribute("disabled") == "true") {
|
||||
return;
|
||||
}
|
||||
|
||||
//dump("***********onNext\n");
|
||||
|
||||
if (currentPageTag != "newProfile1_2") {
|
||||
saveData();
|
||||
var nextPageTag = testMap[currentPageTag].next;
|
||||
|
@ -69,19 +104,22 @@ function onNext()
|
|||
|
||||
function onBack()
|
||||
{
|
||||
dump("***********onBack\n");
|
||||
if (backButton.getAttribute("disabled") == "true") {
|
||||
return;
|
||||
}
|
||||
|
||||
if (currentPageTag != "newProfile1_1") {
|
||||
if (currentPageTag != "newProfile1_2") {
|
||||
saveData();
|
||||
previousPageTag = testMap[currentPageTag].previous;
|
||||
var url = getUrlFromTag(previousPageTag);
|
||||
var url = grtUrlFromTag(previousPageTag);
|
||||
displayPage(url);
|
||||
}
|
||||
}
|
||||
|
||||
function displayPage(content)
|
||||
{
|
||||
dump("********INSIDE DISPLAYPAGE\n\n");
|
||||
//dump(content + "\n");
|
||||
//dump("********INSIDE DISPLAYPAGE\n\n");
|
||||
|
||||
if (content != "")
|
||||
{
|
||||
|
@ -96,47 +134,47 @@ function displayPage(content)
|
|||
|
||||
function populatePage()
|
||||
{
|
||||
dump("************initializePage\n");
|
||||
//dump("************initializePage\n");
|
||||
var contentWindow = window.frames["content"];
|
||||
var doc = contentWindow.document;
|
||||
|
||||
for (var i in wizardHash) {
|
||||
var formElement=doc.getElementById(i);
|
||||
dump("formElement: "+formElement+"\n");
|
||||
//dump("formElement: "+formElement+"\n");
|
||||
|
||||
if (formElement) {
|
||||
formElement.value = wizardHash[i];
|
||||
dump("wizardHash["+"i]: "+wizardHash[i]+"\n");
|
||||
//dump("wizardHash["+"i]: "+wizardHash[i]+"\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function saveData()
|
||||
{
|
||||
dump("************ SAVE DATA\n");
|
||||
//dump("************ SAVE DATA\n");
|
||||
|
||||
var contentWindow = window.frames["content"];
|
||||
var doc = contentWindow.document;
|
||||
|
||||
var inputs = doc.getElementsByTagName("FORM")[0].elements;
|
||||
|
||||
dump("There are " + inputs.length + " input tags\n");
|
||||
//dump("There are " + inputs.length + " input tags\n");
|
||||
for (var i=0 ; i<inputs.length; i++) {
|
||||
dump("Saving: ");
|
||||
dump("ID=" + inputs[i].id + " Value=" + inputs[i].value + "..");
|
||||
//dump("Saving: ");
|
||||
//dump("ID=" + inputs[i].id + " Value=" + inputs[i].value + "..");
|
||||
wizardHash[inputs[i].id] = inputs[i].value;
|
||||
}
|
||||
dump("done.\n");
|
||||
//dump("done.\n");
|
||||
}
|
||||
|
||||
function onCancel()
|
||||
{
|
||||
dump("************** ON CANCEL\n");
|
||||
//dump("************** ON CANCEL\n");
|
||||
saveData();
|
||||
var i;
|
||||
for (i in wizardHash) {
|
||||
dump("element: "+i+"\n");
|
||||
dump("value: "+wizardHash[i]+"\n");
|
||||
//dump("element: "+i+"\n");
|
||||
//dump("value: "+wizardHash[i]+"\n");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -150,22 +188,17 @@ function getUrlFromTag(title)
|
|||
function Startup()
|
||||
{
|
||||
//dump("Doing Startup...\n");
|
||||
toolkitCore = XPAppCoresManager.Find("toolkitCore");
|
||||
if (!toolkitCore) {
|
||||
toolkitCore = new ToolkitCore();
|
||||
|
||||
if (toolkitCore) {
|
||||
toolkitCore.Init("toolkitCore");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function Finish(opener)
|
||||
{
|
||||
if (finishButton.getAttribute("disabled") == "true") {
|
||||
return;
|
||||
}
|
||||
|
||||
dump("******FINISH ROUTINE\n");
|
||||
//dump("******FINISH ROUTINE\n");
|
||||
|
||||
if (isProfileData) {
|
||||
try {
|
||||
saveData();
|
||||
processCreateProfileData();
|
||||
|
||||
|
@ -173,24 +206,23 @@ function Finish(opener)
|
|||
opener.CreateProfile();
|
||||
}
|
||||
}
|
||||
else {
|
||||
alert("You need to enter minimum profile info before clicking on finish.\n\nYou can do this by clicking on the next button.\n");
|
||||
catch (ex) {
|
||||
alert("Failed to create a profile.");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function processCreateProfileData()
|
||||
{
|
||||
//Process Create Profile Data
|
||||
|
||||
dump("******processCreateProfileData ROUTINE\n");
|
||||
//dump("******processCreateProfileData ROUTINE\n");
|
||||
|
||||
var i;
|
||||
var data = "";
|
||||
|
||||
for (i in wizardHash) {
|
||||
dump("element: "+i+"\n");
|
||||
dump("value: "+wizardHash[i]+"\n");
|
||||
//dump("element: "+i+"\n");
|
||||
//dump("value: "+wizardHash[i]+"\n");
|
||||
|
||||
if (i == "ProfileName") {
|
||||
profName = wizardHash[i];
|
||||
|
@ -203,41 +235,31 @@ function processCreateProfileData()
|
|||
}
|
||||
}
|
||||
|
||||
dump("data: "+data+"\n");
|
||||
dump("calling javascript reflection\n");
|
||||
var profileCore = XPAppCoresManager.Find("ProfileCore");
|
||||
if (!profileCore)
|
||||
{
|
||||
//dump("!profileCore\n");
|
||||
profileCore = new ProfileCore();
|
||||
//dump("!profileCore\n");
|
||||
|
||||
if (profileCore) {
|
||||
//dump("after ! yes profileCore in if loop\n");
|
||||
profileCore.Init("ProfileCore");
|
||||
}
|
||||
else {
|
||||
dump("profile not created\n");
|
||||
}
|
||||
//dump("data: "+data+"\n");
|
||||
var profile = Components.classes["component://netscape/profile/manager"].createInstance();
|
||||
profile = profile.QueryInterface(Components.interfaces.nsIProfile);
|
||||
//dump("profile = " + profile + "\n");
|
||||
//dump("********DATA: "+data+"\n\n");
|
||||
try {
|
||||
profile.createNewProfile(data);
|
||||
profile.startCommunicator(profName);
|
||||
}
|
||||
|
||||
if (profileCore) {
|
||||
//dump("yes profileCore\n");
|
||||
dump("********DATA: "+data+"\n\n");
|
||||
profileCore.CreateNewProfile(data);
|
||||
profileCore.StartCommunicator(profName);
|
||||
catch (ex) {
|
||||
alert("Failed to create a profile.");
|
||||
return;
|
||||
}
|
||||
|
||||
toolkitCore = XPAppCoresManager.Find("toolkitCore");
|
||||
if (!toolkitCore) {
|
||||
toolkitCore = new ToolkitCore();
|
||||
|
||||
if (toolkitCore) {
|
||||
toolkitCore.Init("toolkitCore");
|
||||
}
|
||||
}
|
||||
if (toolkitCore) {
|
||||
toolkitCore.CloseWindow(parent);
|
||||
}
|
||||
|
||||
ExitApp();
|
||||
}
|
||||
|
||||
function ExitApp()
|
||||
{
|
||||
// Need to call this to stop the event loop
|
||||
var appShell = Components.classes['component://netscape/appshell/appShellService'].getService();
|
||||
appShell = appShell.QueryInterface( Components.interfaces.nsIAppShellService);
|
||||
appShell.Quit();
|
||||
}
|
||||
|
||||
function cancelApp()
|
||||
{
|
||||
dump("fix this.\n");
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<?xml-stylesheet href="chrome://profile/skin/createProfileWizard.css" type="text/css"?>
|
||||
|
||||
|
||||
<!DOCTYPE window SYSTEM "chrome://profile/locale/createProfileWizard.dtd" >
|
||||
<!DOCTYPE window SYSTEM "chrome://profile/locale/createProfileWizard.dtd">
|
||||
|
||||
<window title="&window.title.label;" style="width: 100%; height: 100%" align="vertical"
|
||||
xmlns:html="http://www.w3.org/TR/REC-html40"
|
||||
|
@ -25,10 +25,10 @@
|
|||
<html:iframe src="about:blank" flex="100%" name="content" id="content" scrolling="auto"/>
|
||||
|
||||
<box align="horizontal">
|
||||
<titledbutton id="back" value="&back.label;" onclick="onBack()" align="left" style="margin-top: 1em;"/>
|
||||
<titledbutton id="back" value="&back.label;" onclick="onBack()" align="left" disabled="true" style="margin-top: 1em;"/>
|
||||
<titledbutton id="next" value="&next.label;" onclick="onNext()" align="left" style="margin-top: 1em;"/>
|
||||
<titledbutton id="cancel" value="&cancel.label;" onclick="cancelApp()" align="left" style=" margin-top: 1em;"/>
|
||||
<titledbutton id="finish" value="&finish.label;" onclick="Finish(opener)" align="left" style=" margin-top: 1em;"/>
|
||||
<titledbutton id="finish" value="&finish.label;" onclick="Finish(opener)" disabled="true" align="left" style=" margin-top: 1em;"/>
|
||||
|
||||
</box>
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<?xml-stylesheet href="chrome://global/skin/xul.css" type="text/css"?>
|
||||
<?xml-stylesheet href="chrome://profile/skin/profileManager.css" type="text/css"?>
|
||||
|
||||
<!DOCTYPE window SYSTEM "chrome://profile/locale/deleteProfile.dtd" >
|
||||
<!DOCTYPE window SYSTEM "chrome://profile/locale/profileManagerDelete.dtd" >
|
||||
<window
|
||||
xmlns:html="http://www.w3.org/TR/REC-html40"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
|
|
|
@ -21,15 +21,15 @@ MODULE=profile
|
|||
include <$(DEPTH)\config\rules.mak>
|
||||
|
||||
FILES=\
|
||||
createProfileWizard.js \
|
||||
createProfileWizard.xul \
|
||||
profileManager.js \
|
||||
profileManager.xul \
|
||||
deleteProfile.xul \
|
||||
migrateAllProfile.xul \
|
||||
renameProfile.xul \
|
||||
newProfile1_1.xul \
|
||||
newProfile1_2.xul \
|
||||
createProfileWizard.js \
|
||||
createProfileWizard.xul \
|
||||
deleteProfile.xul \
|
||||
migrateAllProfile.xul \
|
||||
newProfile1_1.xul \
|
||||
newProfile1_2.xul \
|
||||
profileManager.js \
|
||||
profileManager.xul \
|
||||
renameProfile.xul \
|
||||
$(NULL)
|
||||
|
||||
install::
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<?xml-stylesheet href="chrome://global/skin/xul.css" type="text/css"?>
|
||||
<?xml-stylesheet href="chrome://profile/skin/profileManager.css" type="text/css"?>
|
||||
|
||||
<!DOCTYPE window SYSTEM "chrome://profile/locale/migrateAllProfile.dtd" >
|
||||
<!DOCTYPE window SYSTEM "chrome://profile/locale/profileManagerMigrateAll.dtd" >
|
||||
<window
|
||||
xmlns:html="http://www.w3.org/TR/REC-html40"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
|
@ -14,7 +14,7 @@
|
|||
<html:center>
|
||||
<html:div>&intro;</html:div>
|
||||
<html:br />
|
||||
<titledbutton value="&ok.label;" class="push" onclick="opener.MigrateAllProfiles();window.close();" />
|
||||
<titledbutton value="&ok.label;" class="push" onclick="opener.migrateAllProfiles();window.close();" />
|
||||
<titledbutton value="&cancel.label;" class="push" onclick="window.close();" />
|
||||
</html:center>
|
||||
|
||||
|
|
|
@ -31,6 +31,7 @@ xmlns:html="http://www.w3.org/TR/REC-html40"
|
|||
<html:script>
|
||||
function foo()
|
||||
{
|
||||
// what the hell is this?
|
||||
}
|
||||
|
||||
function InitializeValues()
|
||||
|
|
|
@ -1,12 +1,14 @@
|
|||
var profileCore = "";
|
||||
var selected = null;
|
||||
var currProfile = "";
|
||||
var profile = Components.classes["component://netscape/profile/manager"].createInstance();
|
||||
profile = profile.QueryInterface(Components.interfaces.nsIProfile);
|
||||
//dump("profile = " + profile + "\n");
|
||||
|
||||
function openCreateProfile()
|
||||
{
|
||||
// Need to call CreateNewProfile xuls
|
||||
var win = window.openDialog('createProfileWizard.xul', 'CPW', 'chrome');
|
||||
return win;
|
||||
var win = window.openDialog('chrome://profile/content/createProfileWizard.xul', 'CPW', 'chrome');
|
||||
return win;
|
||||
}
|
||||
|
||||
function CreateProfile()
|
||||
|
@ -18,7 +20,7 @@ function RenameProfile(w)
|
|||
{
|
||||
if (!selected)
|
||||
{
|
||||
dump("Select a profile to rename.\n");
|
||||
//dump("Select a profile to rename.\n");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -28,12 +30,12 @@ function RenameProfile(w)
|
|||
|
||||
if (migrate == "true")
|
||||
{
|
||||
dump("Migrate this profile before renaming it.\n");
|
||||
//dump("Migrate this profile before renaming it.\n");
|
||||
return;
|
||||
}
|
||||
|
||||
//dump("RenameProfile : " + oldName + " to " + newName + "\n");
|
||||
profileCore.RenameProfile(oldName, newName);
|
||||
profile.renameProfile(oldName, newName);
|
||||
//this.location.replace(this.location);
|
||||
this.location.href = "chrome://profile/content/profileManager.xul";
|
||||
}
|
||||
|
@ -42,7 +44,7 @@ function DeleteProfile(deleteFilesFlag)
|
|||
{
|
||||
if (!selected)
|
||||
{
|
||||
dump("Select a profile to delete.\n");
|
||||
//dump("Select a profile to delete.\n");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -50,7 +52,7 @@ function DeleteProfile(deleteFilesFlag)
|
|||
|
||||
var name = selected.getAttribute("rowName");
|
||||
//dump("Delete '" + name + "'\n");
|
||||
profileCore.DeleteProfile(name, deleteFilesFlag);
|
||||
profile.deleteProfile(name, deleteFilesFlag);
|
||||
//this.location.replace(this.location);
|
||||
//this.location.href = this.location;
|
||||
this.location.href = "chrome://profile/content/profileManager.xul";
|
||||
|
@ -58,10 +60,10 @@ function DeleteProfile(deleteFilesFlag)
|
|||
|
||||
function StartCommunicator()
|
||||
{
|
||||
dump("************Inside Start Communicator prof\n");
|
||||
//dump("************Inside Start Communicator prof\n");
|
||||
if (!selected)
|
||||
{
|
||||
dump("Select a profile to migrate.\n");
|
||||
//dump("Select a profile to migrate.\n");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -70,49 +72,42 @@ function StartCommunicator()
|
|||
|
||||
if (migrate == "true")
|
||||
{
|
||||
profileCore.MigrateProfile(name);
|
||||
profile.migrateProfile(name);
|
||||
}
|
||||
|
||||
dump("************name: "+name+"\n");
|
||||
profileCore.StartCommunicator(name);
|
||||
//dump("************name: "+name+"\n");
|
||||
profile.startCommunicator(name);
|
||||
ExitApp();
|
||||
}
|
||||
|
||||
function ExitApp()
|
||||
{
|
||||
var toolkitCore = XPAppCoresManager.Find("toolkitCore");
|
||||
if (!toolkitCore) {
|
||||
toolkitCore = new ToolkitCore();
|
||||
|
||||
if (toolkitCore) {
|
||||
toolkitCore.Init("toolkitCore");
|
||||
}
|
||||
}
|
||||
if (toolkitCore) {
|
||||
toolkitCore.CloseWindow(parent);
|
||||
}
|
||||
// Need to call this to stop the event loop
|
||||
var appShell = Components.classes['component://netscape/appshell/appShellService'].getService();
|
||||
appShell = appShell.QueryInterface( Components.interfaces.nsIAppShellService);
|
||||
appShell.Quit();
|
||||
}
|
||||
|
||||
function showSelection(node)
|
||||
{
|
||||
dump("************** In showSelection routine!!!!!!!!! \n");
|
||||
//dump("************** In showSelection routine!!!!!!!!! \n");
|
||||
// (see tree's onclick definition)
|
||||
// Tree events originate in the smallest clickable object which is the cell. The object
|
||||
// originating the event is available as event.target. We want the cell's row, so we go
|
||||
// one further and get event.target.parentNode.
|
||||
selected = node;
|
||||
var num = node.getAttribute("rowNum");
|
||||
dump("num: "+num+"\n");
|
||||
//dump("num: "+num+"\n");
|
||||
|
||||
var name = node.getAttribute("rowName");
|
||||
dump("name: "+name+"\n");
|
||||
//dump("name: "+name+"\n");
|
||||
|
||||
//dump("Selected " + num + " : " + name + "\n");
|
||||
}
|
||||
|
||||
function addTreeItem(num, name, migrate)
|
||||
{
|
||||
dump("Adding element " + num + " : " + name + "\n");
|
||||
//dump("Adding element " + num + " : " + name + "\n");
|
||||
var body = document.getElementById("theTreeBody");
|
||||
|
||||
var newitem = document.createElement('treeitem');
|
||||
|
@ -143,18 +138,21 @@ function addTreeItem(num, name, migrate)
|
|||
|
||||
function loadElements()
|
||||
{
|
||||
dump("****************hacked onload handler adds elements to tree widget\n");
|
||||
//dump("****************hacked onload handler adds elements to tree widget\n");
|
||||
var profileList = "";
|
||||
|
||||
profileCore = Components.classes["component://netscape/profile/profile-services"].createInstance();
|
||||
profileCore = profileCore.QueryInterface(Components.interfaces.nsIProfileServices);
|
||||
dump("profile = " + profileCore + "\n");
|
||||
|
||||
profileList = profileCore.GetProfileList();
|
||||
profileList = profile.getProfileList();
|
||||
|
||||
//dump("Got profile list of '" + profileList + "'\n");
|
||||
profileList = profileList.split(",");
|
||||
currProfile = profileCore.GetCurrentProfile();
|
||||
try {
|
||||
currProfile = profile.currentProfile;
|
||||
}
|
||||
catch (ex) {
|
||||
if (profileList != "") {
|
||||
currProfile = profileList;
|
||||
}
|
||||
}
|
||||
|
||||
for (var i=0; i < profileList.length; i++)
|
||||
{
|
||||
|
@ -165,15 +163,17 @@ function loadElements()
|
|||
|
||||
function openRename()
|
||||
{
|
||||
if (!selected)
|
||||
dump("Select a profile to rename.\n");
|
||||
if (!selected) {
|
||||
//dump("Select a profile to rename.\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
var migrate = selected.getAttribute("rowMigrate");
|
||||
if (migrate == "true")
|
||||
dump("Migrate the profile before renaming it.\n");
|
||||
if (migrate == "true") {
|
||||
//dump("Migrate the profile before renaming it.\n");
|
||||
}
|
||||
else
|
||||
var win = window.openDialog('renameProfile.xul', 'Renamer', 'chrome');
|
||||
var win = window.openDialog('chrome://profile/content/renameProfile.xul', 'Renamer', 'chrome');
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -182,7 +182,7 @@ function ConfirmDelete()
|
|||
{
|
||||
if (!selected)
|
||||
{
|
||||
dump("Select a profile to delete.\n");
|
||||
//dump("Select a profile to delete.\n");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -191,18 +191,18 @@ function ConfirmDelete()
|
|||
|
||||
if (migrate == "true")
|
||||
{
|
||||
dump("Migrate this profile before deleting it.\n");
|
||||
//dump("Migrate this profile before deleting it.\n");
|
||||
return;
|
||||
}
|
||||
|
||||
var win = window.openDialog('deleteProfile.xul', 'Deleter', 'chrome');
|
||||
var win = window.openDialog('chrome://profile/content/deleteProfile.xul', 'Deleter', 'chrome');
|
||||
return win;
|
||||
}
|
||||
|
||||
|
||||
function ConfirmMigrateAll()
|
||||
{
|
||||
var win = window.openDialog('migrateAllProfile.xul', 'MigrateAll', 'chrome');
|
||||
var win = window.openDialog('chrome://profile/content/profileManagerMigrateAll.xul', 'MigrateAll', 'chrome');
|
||||
return win;
|
||||
}
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<?xml-stylesheet href="chrome://global/skin/xul.css" type="text/css"?>
|
||||
<?xml-stylesheet href="chrome://profile/skin/profileManager.css" type="text/css"?>
|
||||
|
||||
<!DOCTYPE window SYSTEM "chrome://profile/locale/renameProfile.dtd" >
|
||||
<!DOCTYPE window SYSTEM "chrome://profile/locale/profileManagerRename.dtd" >
|
||||
<window
|
||||
xmlns:html="http://www.w3.org/TR/REC-html40"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
|
|
|
@ -1,35 +0,0 @@
|
|||
window {
|
||||
display: block;
|
||||
background-color: light-gray;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
iframe {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
box {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: block;
|
||||
}
|
||||
|
||||
titledbutton.active {
|
||||
color: yellow;
|
||||
border: 0px;
|
||||
margin: 1px;
|
||||
padding: 3px 2px 0px 1px
|
||||
}
|
||||
|
||||
titledbutton[disabled] {
|
||||
color: black;
|
||||
}
|
||||
|
||||
titledbutton {
|
||||
color: black;
|
||||
margin: 1px;
|
||||
padding: 2px 1px 1px 2px
|
||||
}
|
||||
|
|
@ -1,264 +0,0 @@
|
|||
var wizardMap = ["test-content1_1.xul"];
|
||||
var content;
|
||||
var wizardHash = new Array;
|
||||
var firstTime = true;
|
||||
|
||||
var testMap = {
|
||||
content1_1: { previous: null, next: "content1_2" },
|
||||
content1_2: { previous: "content1_1" , next: null},
|
||||
}
|
||||
|
||||
var pagePrefix="test-";
|
||||
var pagePostfix=".xul";
|
||||
var currentPageTag;
|
||||
|
||||
|
||||
var profName = "";
|
||||
var profDir = "";
|
||||
|
||||
// hack for inability to gray out finish button in first screen on first load
|
||||
var isProfileData = false;
|
||||
|
||||
function wizardPageLoaded(tag) {
|
||||
//dump("**********wizardPageLoaded\n");
|
||||
|
||||
if (firstTime) {
|
||||
Startup();
|
||||
}
|
||||
|
||||
currentPageTag = tag;
|
||||
//dump("currentPageTag: "+currentPageTag+"\n");
|
||||
SetButtons();
|
||||
populatePage();
|
||||
}
|
||||
|
||||
var backButton = null;
|
||||
var nextButton = null;
|
||||
var finishButton = null;
|
||||
|
||||
function loadPage(thePage)
|
||||
{
|
||||
if (!firstTime) {
|
||||
saveData();
|
||||
}
|
||||
|
||||
//dump("**********loadPage\n");
|
||||
//dump("thePage: "+thePage+"\n");
|
||||
displayPage(thePage);
|
||||
|
||||
firstTime = false;
|
||||
return(true);
|
||||
}
|
||||
|
||||
function SetButtons()
|
||||
{
|
||||
if (!currentPageTag) return;
|
||||
|
||||
if (!backButton) {
|
||||
backButton = document.getElementById("back");
|
||||
}
|
||||
if (!nextButton) {
|
||||
nextButton = document.getElementById("next");
|
||||
}
|
||||
if (!finishButton) {
|
||||
finishButton = document.getElementById("finish");
|
||||
}
|
||||
|
||||
//dump("currentPageTag == " + currentPageTag + "\n");
|
||||
nextTag = testMap[currentPageTag].next;
|
||||
//dump("nextTag == " + nextTag + "\n");
|
||||
if (nextTag) {
|
||||
nextButton.setAttribute("disabled", "false");
|
||||
finishButton.setAttribute("disabled", "true");
|
||||
}
|
||||
else {
|
||||
nextButton.setAttribute("disabled", "true");
|
||||
finishButton.setAttribute("disabled", "false");
|
||||
}
|
||||
|
||||
prevTag = testMap[currentPageTag].previous;
|
||||
//dump("prevTag == " + prevTag + "\n");
|
||||
if (prevTag) {
|
||||
backButton.setAttribute("disabled", "false");
|
||||
}
|
||||
else {
|
||||
backButton.setAttribute("disabled", "true");
|
||||
}
|
||||
}
|
||||
|
||||
function onNext()
|
||||
{
|
||||
if (nextButton.getAttribute("disabled") == "true") {
|
||||
return;
|
||||
}
|
||||
|
||||
//dump("***********onNext\n");
|
||||
|
||||
if (currentPageTag == "content1_1") {
|
||||
isProfileData = true;
|
||||
}
|
||||
|
||||
if (currentPageTag != "content1_2") {
|
||||
saveData();
|
||||
var nextPageTag = testMap[currentPageTag].next;
|
||||
var url = getUrlFromTag(nextPageTag);
|
||||
displayPage(url);
|
||||
}
|
||||
}
|
||||
|
||||
function onBack()
|
||||
{
|
||||
if (backButton.getAttribute("disabled") == "true") {
|
||||
return;
|
||||
}
|
||||
|
||||
if (currentPageTag != "content1_1") {
|
||||
saveData();
|
||||
previousPageTag = testMap[currentPageTag].previous;
|
||||
var url = getUrlFromTag(previousPageTag);
|
||||
displayPage(url);
|
||||
}
|
||||
}
|
||||
|
||||
function displayPage(content)
|
||||
{
|
||||
//dump("********INSIDE DISPLAYPAGE\n\n");
|
||||
|
||||
if (content != "")
|
||||
{
|
||||
var contentFrame = document.getElementById("content");
|
||||
if (contentFrame)
|
||||
{
|
||||
contentFrame.setAttribute("src", content);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function populatePage()
|
||||
{
|
||||
//dump("************initializePage\n");
|
||||
var contentWindow = window.frames["content"];
|
||||
var doc = contentWindow.document;
|
||||
|
||||
for (var i in wizardHash) {
|
||||
var formElement=doc.getElementById(i);
|
||||
//dump("formElement: "+formElement+"\n");
|
||||
|
||||
if (formElement) {
|
||||
formElement.value = wizardHash[i];
|
||||
//dump("wizardHash["+"i]: "+wizardHash[i]+"\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function saveData()
|
||||
{
|
||||
//dump("************ SAVE DATA\n");
|
||||
|
||||
var contentWindow = window.frames["content"];
|
||||
var doc = contentWindow.document;
|
||||
|
||||
var inputs = doc.getElementsByTagName("FORM")[0].elements;
|
||||
|
||||
//dump("There are " + inputs.length + " input tags\n");
|
||||
for (var i=0 ; i<inputs.length; i++) {
|
||||
//dump("Saving: ");
|
||||
//dump("ID=" + inputs[i].id + " Value=" + inputs[i].value + "..");
|
||||
wizardHash[inputs[i].id] = inputs[i].value;
|
||||
}
|
||||
//dump("done.\n");
|
||||
}
|
||||
|
||||
function onCancel()
|
||||
{
|
||||
//dump("************** ON CANCEL\n");
|
||||
saveData();
|
||||
var i;
|
||||
for (i in wizardHash) {
|
||||
//dump("element: "+i+"\n");
|
||||
//dump("value: "+wizardHash[i]+"\n");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// utility functions
|
||||
function getUrlFromTag(title)
|
||||
{
|
||||
return pagePrefix + title + pagePostfix;
|
||||
}
|
||||
|
||||
function Startup()
|
||||
{
|
||||
//dump("Doing Startup...\n");
|
||||
}
|
||||
|
||||
function Finish(opener)
|
||||
{
|
||||
if (finishButton.getAttribute("disabled") == "true") {
|
||||
return;
|
||||
}
|
||||
|
||||
//dump("******FINISH ROUTINE\n");
|
||||
|
||||
if (isProfileData) {
|
||||
saveData();
|
||||
processCreateProfileData();
|
||||
|
||||
if (opener) {
|
||||
opener.CreateProfile();
|
||||
}
|
||||
}
|
||||
else {
|
||||
alert("You need to enter minimum profile info before clicking on finish.\n\nYou can do this by clicking on the next button.\n");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function processCreateProfileData()
|
||||
{
|
||||
//Process Create Profile Data
|
||||
|
||||
//dump("******processCreateProfileData ROUTINE\n");
|
||||
|
||||
var i;
|
||||
var data = "";
|
||||
|
||||
for (i in wizardHash) {
|
||||
//dump("element: "+i+"\n");
|
||||
//dump("value: "+wizardHash[i]+"\n");
|
||||
|
||||
if (i == "ProfileName") {
|
||||
profName = wizardHash[i];
|
||||
data = data+i+"="+profName+"%";
|
||||
}
|
||||
|
||||
if (i == "ProfileDir") {
|
||||
profDir = wizardHash[i];
|
||||
data = data+i+"="+profDir+"%";
|
||||
}
|
||||
}
|
||||
|
||||
//dump("data: "+data+"\n");
|
||||
var profile = Components.classes["component://netscape/profile/manager"].createInstance();
|
||||
profile = profile.QueryInterface(Components.interfaces.nsIProfile);
|
||||
//dump("profile = " + profile + "\n");
|
||||
//dump("********DATA: "+data+"\n\n");
|
||||
try {
|
||||
profile.createNewProfile(data);
|
||||
profile.startCommunicator(profName);
|
||||
}
|
||||
catch (ex) {
|
||||
//dump("failed to create & start\n");
|
||||
return;
|
||||
}
|
||||
ExitApp();
|
||||
}
|
||||
|
||||
function ExitApp()
|
||||
{
|
||||
// Need to call this to stop the event loop
|
||||
var appShell = Components.classes['component://netscape/appshell/appShellService'].getService();
|
||||
appShell = appShell.QueryInterface( Components.interfaces.nsIAppShellService);
|
||||
appShell.Quit();
|
||||
}
|
|
@ -1,36 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<?xml-stylesheet href="chrome://global/skin/xul.css" type="text/css"?>
|
||||
<?xml-stylesheet href="cpw.css" type="text/css"?>
|
||||
|
||||
|
||||
<!DOCTYPE window SYSTEM "chrome://profile/locale/en-US/cpw.dtd" >
|
||||
|
||||
<window title="&window.title.label;" style="width: 100%; height: 100%" align="vertical"
|
||||
xmlns:html="http://www.w3.org/TR/REC-html40"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
onload="loadPage('test-content1_1.xul')"
|
||||
width="500" height="400">
|
||||
|
||||
<html:script src="cpw.js" />
|
||||
|
||||
<tabcontrol align="vertical">
|
||||
<tabbox align="horizontal">
|
||||
<tab onclick="loadPage('test-content1_1.xul');">&newprofile.title;</tab>
|
||||
</tabbox>
|
||||
|
||||
<tabpanel />
|
||||
</tabcontrol>
|
||||
|
||||
<html:iframe src="about:blank" flex="100%" name="content" id="content" scrolling="auto"/>
|
||||
|
||||
<box align="horizontal">
|
||||
<titledbutton id="back" value="&back.label;" onclick="onBack()" align="left" disabled="true" style="margin-top: 1em;"/>
|
||||
<titledbutton id="next" value="&next.label;" onclick="onNext()" align="left" style="margin-top: 1em;"/>
|
||||
<titledbutton id="cancel" value="&cancel.label;" onclick="cancelApp()" align="left" style=" margin-top: 1em;"/>
|
||||
<titledbutton id="finish" value="&finish.label;" onclick="Finish(opener)" disabled="true" align="left" style=" margin-top: 1em;"/>
|
||||
|
||||
</box>
|
||||
|
||||
|
||||
</window>
|
|
@ -1,7 +1,7 @@
|
|||
cpw.dtd
|
||||
pm.dtd
|
||||
pmDelete.dtd
|
||||
pmMigrateAll.dtd
|
||||
pmrename.dtd
|
||||
test-content1_1.dtd
|
||||
test-content1_2.dtd
|
||||
createProfileWizard.dtd
|
||||
newProfile1_1.dtd
|
||||
newProfile1_2.dtd
|
||||
profileManager.dtd
|
||||
profileManagerDelete.dtd
|
||||
profileManagerMigrateAll.dtd
|
||||
profileManagerRename.dtd
|
||||
|
|
|
@ -24,14 +24,14 @@ include $(DEPTH)/config/autoconf.mk
|
|||
|
||||
|
||||
FILES = \
|
||||
cpw.dtd \
|
||||
pm.dtd \
|
||||
pmDelete.dtd \
|
||||
pmMigrateAll.dtd \
|
||||
pmrename.dtd \
|
||||
test-content1_1.dtd \
|
||||
test-content1_2.dtd \
|
||||
$(NULL)
|
||||
createProfileWizard.dtd \
|
||||
newProfile1_1.dtd \
|
||||
newProfile1_2.dtd \
|
||||
profileManager.dtd \
|
||||
profileManagerDelete.dtd \
|
||||
profileManagerMigrateAll.dtd \
|
||||
profileManagerRename.dtd \
|
||||
$(NULL)
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
<!-- extracted from cpw.xul -->
|
||||
|
||||
<!ENTITY window.title.label "Communicator Profile Manager">
|
||||
<!ENTITY newprofile.title "New Profile">
|
||||
<!ENTITY dialup.title "Dialup">
|
||||
<!ENTITY mailnews.title "Mail News">
|
||||
<!ENTITY addrbook.title "Address Book">
|
||||
<!ENTITY back.label "Back">
|
||||
<!ENTITY next.label "Next">
|
||||
<!ENTITY cancel.label "Cancel">
|
||||
<!ENTITY finish.label "Finish">
|
|
@ -21,13 +21,13 @@ MODULE=profile
|
|||
include <$(DEPTH)\config\rules.mak>
|
||||
|
||||
FILES=\
|
||||
cpw.dtd \
|
||||
pm.dtd \
|
||||
pmDelete.dtd \
|
||||
pmMigrateAll.dtd \
|
||||
pmrename.dtd \
|
||||
test-content1_1.dtd \
|
||||
test-content1_2.dtd \
|
||||
createProfileWizard.dtd \
|
||||
newProfile1_1.dtd \
|
||||
newProfile1_2.dtd \
|
||||
profileManager.dtd \
|
||||
profileManagerDelete.dtd \
|
||||
profileManagerMigrateAll.dtd \
|
||||
profileManagerRename.dtd \
|
||||
$(NULL)
|
||||
|
||||
install::
|
||||
|
|
|
@ -1,15 +0,0 @@
|
|||
<!-- extracted from pm.xul -->
|
||||
|
||||
<!ENTITY reg.gif "reg.gif">
|
||||
<!ENTITY intro "Communicator stores information about your settings, preferences, bookmarks, and stored messages in your personal Netscape Name.">
|
||||
<!ENTITY intro.new "Click New to create a new Netscape Name.">
|
||||
<!ENTITY intro.delete "Click Delete to remove a selected Netscape Name.">
|
||||
<!ENTITY intro.rename "Click Rename to change the name of a selected Netscape Name.">
|
||||
<!ENTITY migration.label "Migration">
|
||||
<!ENTITY user.label "User Name">
|
||||
<!ENTITY newCmd.label "New...">
|
||||
<!ENTITY renameCmd.label "Rename...">
|
||||
<!ENTITY deleteCmd.label "Delete">
|
||||
<!ENTITY startCmd.label "Start">
|
||||
<!ENTITY closeCmd.label "Close">
|
||||
<!ENTITY windowtitle.label "Profiles and Migration">
|
|
@ -1,7 +0,0 @@
|
|||
<!-- extracted from pmDelete.xul -->
|
||||
|
||||
<!ENTITY title "Delete Profile">
|
||||
<!ENTITY intro "Confirm delete?">
|
||||
<!ENTITY delete.yes.label "Delete Files">
|
||||
<!ENTITY delete.no.label "Don't Delete Files">
|
||||
<!ENTITY cancel.label "Cancel">
|
|
@ -1,6 +0,0 @@
|
|||
<!-- extracted from pmMigrateAll.xul -->
|
||||
|
||||
<!ENTITY title "Migrate All Profiles">
|
||||
<!ENTITY intro "Migrate all profiles? ">
|
||||
<!ENTITY ok.label "Ok">
|
||||
<!ENTITY cancel.label "Cancel">
|
|
@ -1,6 +0,0 @@
|
|||
<!-- extracted from pmrename.xul -->
|
||||
|
||||
<!ENTITY title "Rename Profile">
|
||||
<!ENTITY intro "Enter a new name for the profile: ">
|
||||
<!ENTITY ok.label "Ok">
|
||||
<!ENTITY cancel.label "Cancel">
|
|
@ -1,8 +0,0 @@
|
|||
<!-- extracted from test-content1_1.xul -->
|
||||
|
||||
<!ENTITY heading "Communicator Profile Manager">
|
||||
<!ENTITY title "Creating a New Profile">
|
||||
<!ENTITY para.one "Communicator stores information about your settings, preferences, bookmarks, and stored messages in your personal profile.">
|
||||
<!ENTITY para.two "If you are sharing this copy of Communicator with other users, you can use profiles to keep each user's information separate. To do this, each user should create his or her own profile and optionally protect it with a password.">
|
||||
<!ENTITY para.three "If you are the only person using this copy of Communicator, you must create at least one profile. If you would like, you can create multiple profiles for yourself to store different sets of setting and preferences. For example, you may want to have separate profiles for business and personal use.">
|
||||
<!ENTITY para.four "To begin creating your profile, click Next.">
|
|
@ -1,6 +0,0 @@
|
|||
<!-- extracted from test-content1_2.xul -->
|
||||
|
||||
<!ENTITY intro "If you create several profiles you can tell them apart by the profile names. You may use the name provided here or use one of your own.">
|
||||
<!ENTITY profile.name "Enter New Profile name.">
|
||||
<!ENTITY profile.dir "Your user settings, preferences, bookmarks and stored messages will be stored in the directory below. We recommend that you use the default directory (by leaving the box blank).">
|
||||
<!ENTITY para "Click Finish to create this new profile.">
|
|
@ -18,23 +18,6 @@
|
|||
DEPTH=..\..
|
||||
MODULE=profile
|
||||
|
||||
DIRS= locale
|
||||
DIRS=locale content skin
|
||||
|
||||
include <$(DEPTH)\config\rules.mak>
|
||||
|
||||
FILES=\
|
||||
common.css \
|
||||
cpw.css \
|
||||
cpw.js \
|
||||
cpw.xul \
|
||||
pm.css \
|
||||
pm.js \
|
||||
pm.xul \
|
||||
pmDelete.xul \
|
||||
pmMigrateAll.xul \
|
||||
pmRename.xul \
|
||||
test-content1_1.xul \
|
||||
test-content1_2.xul \
|
||||
$(NULL)
|
||||
|
||||
install::
|
||||
-for %i in ($(FILES:/=\)) do $(MAKE_INSTALL) %i $(DIST)\bin\res\profile
|
||||
|
|
|
@ -1,43 +0,0 @@
|
|||
window {
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
tree {
|
||||
background-color: #FFFFFF;
|
||||
border: 5px ridge;
|
||||
border-spacing: 0px;
|
||||
width: 75%;
|
||||
}
|
||||
|
||||
treecol[id="migration"] {
|
||||
width: 25%;
|
||||
}
|
||||
|
||||
treecol[id="username"] {
|
||||
width: 75%;
|
||||
}
|
||||
|
||||
treecell {
|
||||
font-family: Verdana, Sans-Serif;
|
||||
font-size: 8pt;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
treeitem[selected] {
|
||||
background-color: yellow;
|
||||
}
|
||||
|
||||
//treecell[selectedcell] {
|
||||
//background-color: yellow;
|
||||
//}
|
||||
|
||||
treehead treeitem treecell {
|
||||
background-color: #00C0FF;
|
||||
border: outset 1px;
|
||||
border-color: white #707070 #707070 white;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
//popup {
|
||||
//display: none;
|
||||
//}
|
|
@ -1,212 +0,0 @@
|
|||
var selected = null;
|
||||
var currProfile = "";
|
||||
var profile = Components.classes["component://netscape/profile/manager"].createInstance();
|
||||
profile = profile.QueryInterface(Components.interfaces.nsIProfile);
|
||||
//dump("profile = " + profile + "\n");
|
||||
|
||||
function openCreateProfile()
|
||||
{
|
||||
// Need to call CreateNewProfile xuls
|
||||
var win = window.openDialog('cpw.xul', 'CPW', 'chrome');
|
||||
return win;
|
||||
}
|
||||
|
||||
function CreateProfile()
|
||||
{
|
||||
this.location.href = "resource:/res/profile/pm.xul";
|
||||
}
|
||||
|
||||
function RenameProfile(w)
|
||||
{
|
||||
if (!selected)
|
||||
{
|
||||
//dump("Select a profile to rename.\n");
|
||||
return;
|
||||
}
|
||||
|
||||
var newName = w.document.getElementById("NewName").value;
|
||||
var oldName = selected.getAttribute("rowName");
|
||||
var migrate = selected.getAttribute("rowMigrate");
|
||||
|
||||
if (migrate == "true")
|
||||
{
|
||||
//dump("Migrate this profile before renaming it.\n");
|
||||
return;
|
||||
}
|
||||
|
||||
//dump("RenameProfile : " + oldName + " to " + newName + "\n");
|
||||
profile.RenameProfile(oldName, newName);
|
||||
//this.location.replace(this.location);
|
||||
this.location.href = "resource:/res/profile/pm.xul";
|
||||
}
|
||||
|
||||
function DeleteProfile(deleteFilesFlag)
|
||||
{
|
||||
if (!selected)
|
||||
{
|
||||
//dump("Select a profile to delete.\n");
|
||||
return;
|
||||
}
|
||||
|
||||
var migrate = selected.getAttribute("rowMigrate");
|
||||
|
||||
var name = selected.getAttribute("rowName");
|
||||
//dump("Delete '" + name + "'\n");
|
||||
profile.DeleteProfile(name, deleteFilesFlag);
|
||||
//this.location.replace(this.location);
|
||||
//this.location.href = this.location;
|
||||
this.location.href = "resource:/res/profile/pm.xul";
|
||||
}
|
||||
|
||||
function StartCommunicator()
|
||||
{
|
||||
//dump("************Inside Start Communicator prof\n");
|
||||
if (!selected)
|
||||
{
|
||||
//dump("Select a profile to migrate.\n");
|
||||
return;
|
||||
}
|
||||
|
||||
var migrate = selected.getAttribute("rowMigrate");
|
||||
var name = selected.getAttribute("rowName");
|
||||
|
||||
if (migrate == "true")
|
||||
{
|
||||
profile.migrateProfile(name);
|
||||
}
|
||||
|
||||
//dump("************name: "+name+"\n");
|
||||
profile.startCommunicator(name);
|
||||
ExitApp();
|
||||
}
|
||||
|
||||
function ExitApp()
|
||||
{
|
||||
// Need to call this to stop the event loop
|
||||
var appShell = Components.classes['component://netscape/appshell/appShellService'].getService();
|
||||
appShell = appShell.QueryInterface( Components.interfaces.nsIAppShellService);
|
||||
appShell.Quit();
|
||||
}
|
||||
|
||||
function showSelection(node)
|
||||
{
|
||||
//dump("************** In showSelection routine!!!!!!!!! \n");
|
||||
// (see tree's onclick definition)
|
||||
// Tree events originate in the smallest clickable object which is the cell. The object
|
||||
// originating the event is available as event.target. We want the cell's row, so we go
|
||||
// one further and get event.target.parentNode.
|
||||
selected = node;
|
||||
var num = node.getAttribute("rowNum");
|
||||
//dump("num: "+num+"\n");
|
||||
|
||||
var name = node.getAttribute("rowName");
|
||||
//dump("name: "+name+"\n");
|
||||
|
||||
//dump("Selected " + num + " : " + name + "\n");
|
||||
}
|
||||
|
||||
function addTreeItem(num, name, migrate)
|
||||
{
|
||||
//dump("Adding element " + num + " : " + name + "\n");
|
||||
var body = document.getElementById("theTreeBody");
|
||||
|
||||
var newitem = document.createElement('treeitem');
|
||||
var newrow = document.createElement('treerow');
|
||||
newrow.setAttribute("rowNum", num);
|
||||
newrow.setAttribute("rowName", name);
|
||||
newrow.setAttribute("rowMigrate", migrate);
|
||||
|
||||
var elem = document.createElement('treecell');
|
||||
|
||||
// Hack in a differentation for migration
|
||||
if (migrate)
|
||||
var text = document.createTextNode('Migrate');
|
||||
else
|
||||
var text = document.createTextNode('');
|
||||
|
||||
elem.appendChild(text);
|
||||
newrow.appendChild(elem);
|
||||
|
||||
var elem = document.createElement('treecell');
|
||||
var text = document.createTextNode(name);
|
||||
elem.appendChild(text);
|
||||
newrow.appendChild(elem);
|
||||
|
||||
newitem.appendChild(newrow);
|
||||
body.appendChild(newitem);
|
||||
}
|
||||
|
||||
function loadElements()
|
||||
{
|
||||
//dump("****************hacked onload handler adds elements to tree widget\n");
|
||||
var profileList = "";
|
||||
|
||||
profileList = profile.getProfileList();
|
||||
|
||||
//dump("Got profile list of '" + profileList + "'\n");
|
||||
profileList = profileList.split(",");
|
||||
try {
|
||||
currProfile = profile.currentProfile;
|
||||
}
|
||||
catch (ex) {
|
||||
if (profileList != "") {
|
||||
currProfile = profileList;
|
||||
}
|
||||
}
|
||||
|
||||
for (var i=0; i < profileList.length; i++)
|
||||
{
|
||||
var pvals = profileList[i].split(" - ");
|
||||
addTreeItem(i, pvals[0], (pvals[1] == "migrate"));
|
||||
}
|
||||
}
|
||||
|
||||
function openRename()
|
||||
{
|
||||
if (!selected) {
|
||||
//dump("Select a profile to rename.\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
var migrate = selected.getAttribute("rowMigrate");
|
||||
if (migrate == "true") {
|
||||
//dump("Migrate the profile before renaming it.\n");
|
||||
}
|
||||
else
|
||||
var win = window.openDialog('pmrename.xul', 'Renamer', 'chrome');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function ConfirmDelete()
|
||||
{
|
||||
if (!selected)
|
||||
{
|
||||
//dump("Select a profile to delete.\n");
|
||||
return;
|
||||
}
|
||||
|
||||
var migrate = selected.getAttribute("rowMigrate");
|
||||
var name = selected.getAttribute("rowName");
|
||||
|
||||
if (migrate == "true")
|
||||
{
|
||||
//dump("Migrate this profile before deleting it.\n");
|
||||
return;
|
||||
}
|
||||
|
||||
var win = window.openDialog('pmDelete.xul', 'Deleter', 'chrome');
|
||||
return win;
|
||||
}
|
||||
|
||||
|
||||
function ConfirmMigrateAll()
|
||||
{
|
||||
var win = window.openDialog('pmMigrateAll.xul', 'MigrateAll', 'chrome');
|
||||
return win;
|
||||
}
|
||||
|
||||
|
||||
// -------------------------------------------- begin Hack for OnLoad handling
|
||||
setTimeout('loadElements()', 0);
|
||||
// -------------------------------------------- end Hack for OnLoad handling
|
|
@ -1,88 +0,0 @@
|
|||
<?xml version="1.0"?> <!-- -*- Mode: SGML; indent-tabs-mode: nil; -*- -->
|
||||
<!--
|
||||
|
||||
The contents of this file are subject to the Netscape Public License
|
||||
Version 1.0 (the "NPL"); you may not use this file except in
|
||||
compliance with the NPL. You may obtain a copy of the NPL at
|
||||
http://www.mozilla.org/NPL/
|
||||
|
||||
Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
for the specific language governing rights and limitations under the
|
||||
NPL.
|
||||
|
||||
The Initial Developer of this code under the NPL is Netscape
|
||||
Communications Corporation. Portions created by Netscape are
|
||||
Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
Reserved.
|
||||
|
||||
-->
|
||||
|
||||
<?xml-stylesheet href="chrome://global/skin/xul.css" type="text/css"?>
|
||||
<?xml-stylesheet href="pm.css" type="text/css"?>
|
||||
|
||||
<!DOCTYPE window SYSTEM "chrome://profile/locale/en-US/pm.dtd" >
|
||||
<window
|
||||
xmlns:html="http://www.w3.org/TR/REC-html40"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" class="dialog"
|
||||
title="&windowtitle.label;"
|
||||
width="500" height="500">
|
||||
|
||||
<html:script language="javascript" src="pm.js"/>
|
||||
|
||||
<html:div flex="100%" style="width: 100%; height: 100%;">
|
||||
<html:div style="width: 300px; margin: 5px;">&intro;</html:div>
|
||||
<html:div>&intro.new;</html:div>
|
||||
<html:div>&intro.delete;</html:div>
|
||||
<html:div>&intro.rename;</html:div>
|
||||
<html:br></html:br>
|
||||
<html:br></html:br>
|
||||
<box align="horizontal" style="width: 75%; height: 70%;">
|
||||
<tree id="tree" flex="100%" style="background-color: white; width: 75%; height: 70%; margin: 2px;"
|
||||
onclick="return showSelection(event.target.parentNode);">
|
||||
<treecol style="width: 25%"/>
|
||||
<treecol style="width: 50%"/>
|
||||
|
||||
<treehead>
|
||||
<treerow>
|
||||
<treecell style="background-color: #CCCCCC; border-right: 1px solid white;padding: 2px;">&migration.label;</treecell>
|
||||
<treecell style="background-color: #CCCCCC; border-right: 1px solid white;padding: 2px;">&user.label;</treecell>
|
||||
</treerow>
|
||||
</treehead>
|
||||
|
||||
<treechildren id="theTreeBody" style="background-color: white; border: 1px inset white;">
|
||||
</treechildren>
|
||||
</tree>
|
||||
|
||||
<box align="horizontal">
|
||||
<box align="vertical">
|
||||
<titledbutton value="&newCmd.label;" onclick="openCreateProfile();" />
|
||||
<titledbutton value="&renameCmd.label;" onclick="openRename();" />
|
||||
<titledbutton value="&deleteCmd.label;" onclick="ConfirmDelete();" />
|
||||
</box>
|
||||
<!--<html:br></html:br>-->
|
||||
|
||||
<box align="vertical" flex="100%">
|
||||
<!-- A workaorund to add some vertical space before the Start/Exit buttons are displayed-->
|
||||
<box align="vertical" flex="100%">
|
||||
<html:p></html:p>
|
||||
<html:p></html:p>
|
||||
<html:p></html:p>
|
||||
<html:p></html:p>
|
||||
<html:p></html:p>
|
||||
<html:p></html:p>
|
||||
<html:p></html:p>
|
||||
<html:p></html:p>
|
||||
<html:br></html:br>
|
||||
</box>
|
||||
<box align="horizontal">
|
||||
<titledbutton value="&startCmd.label;" onclick="StartCommunicator();" />
|
||||
<titledbutton value="&closeCmd.label;" onclick="ExitApp();" />
|
||||
</box>
|
||||
</box>
|
||||
</box>
|
||||
</box>
|
||||
|
||||
</html:div>
|
||||
|
||||
</window>
|
|
@ -1,23 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<?xml-stylesheet href="chrome://global/skin/xul.css" type="text/css"?>
|
||||
<?xml-stylesheet href="pm.css" type="text/css"?>
|
||||
|
||||
<!DOCTYPE window SYSTEM "chrome://profile/locale/en-US/pmDelete.dtd" >
|
||||
<window
|
||||
xmlns:html="http://www.w3.org/TR/REC-html40"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
title="&title;" width="300" height="120">
|
||||
|
||||
<html:div flex="100%">
|
||||
|
||||
<html:center>
|
||||
<html:div>&intro;</html:div>
|
||||
<html:br />
|
||||
<titledbutton value="&delete.yes.label;" class="push" onclick="opener.DeleteProfile('true');window.close();" />
|
||||
<titledbutton value="&delete.no.label;" class="push" onclick="opener.DeleteProfile('false');window.close();" />
|
||||
<titledbutton value="&cancel.label;" class="push" onclick="window.close();" />
|
||||
</html:center>
|
||||
|
||||
</html:div>
|
||||
</window>
|
|
@ -1,22 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<?xml-stylesheet href="chrome://global/skin/xul.css" type="text/css"?>
|
||||
<?xml-stylesheet href="pm.css" type="text/css"?>
|
||||
|
||||
<!DOCTYPE window SYSTEM "chrome://profile/locale/en-US/pmMigrateAll.dtd" >
|
||||
<window
|
||||
xmlns:html="http://www.w3.org/TR/REC-html40"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
title="&title;" width="300" height="120">
|
||||
|
||||
<html:div flex="100%">
|
||||
|
||||
<html:center>
|
||||
<html:div>&intro;</html:div>
|
||||
<html:br />
|
||||
<titledbutton value="&ok.label;" class="push" onclick="opener.MigrateAllProfiles();window.close();" />
|
||||
<titledbutton value="&cancel.label;" class="push" onclick="window.close();" />
|
||||
</html:center>
|
||||
|
||||
</html:div>
|
||||
</window>
|
|
@ -1,24 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<?xml-stylesheet href="chrome://global/skin/xul.css" type="text/css"?>
|
||||
<?xml-stylesheet href="pm.css" type="text/css"?>
|
||||
|
||||
<!DOCTYPE window SYSTEM "chrome://profile/locale/en-US/pmrename.dtd" >
|
||||
<window
|
||||
xmlns:html="http://www.w3.org/TR/REC-html40"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
title="&title;" width="300" height="120">
|
||||
|
||||
<html:div flex="100%">
|
||||
|
||||
<html:center>
|
||||
<html:div>&intro;</html:div>
|
||||
<html:input type="text" id="NewName" size="20" />
|
||||
<html:br />
|
||||
<html:br />
|
||||
<titledbutton value="&ok.label;" class="push" onclick="opener.RenameProfile(window);window.close();" />
|
||||
<titledbutton value="&cancel.label;" class="push" onclick="window.close();" />
|
||||
</html:center>
|
||||
|
||||
</html:div>
|
||||
</window>
|
|
@ -24,7 +24,7 @@ include $(DEPTH)/config/autoconf.mk
|
|||
|
||||
|
||||
FILES = \
|
||||
common.css \
|
||||
profile.css \
|
||||
createProfileWizard.css \
|
||||
profileManager.css \
|
||||
$(NULL)
|
||||
|
|
|
@ -1,51 +0,0 @@
|
|||
window {
|
||||
display: block;
|
||||
width: 100%;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
tree {
|
||||
display: table;
|
||||
background-color: #000000;
|
||||
border: none;
|
||||
border-spacing: 0px;
|
||||
//border-collapse: collapse;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
treeitem {
|
||||
display: table-row;
|
||||
}
|
||||
|
||||
treehead {
|
||||
display: table-header-group;
|
||||
}
|
||||
|
||||
treebody {
|
||||
display: table-row-group;
|
||||
|
||||
}
|
||||
|
||||
treecell {
|
||||
display: table-cell;
|
||||
color: white;
|
||||
font-family: Verdana;
|
||||
font-size: 10pt;
|
||||
}
|
||||
|
||||
treehead treeitem treecell {
|
||||
background-color: #a0a0a0;
|
||||
border: thin black solid;
|
||||
color: black;
|
||||
}
|
||||
|
||||
icon {
|
||||
display: list-item;
|
||||
height: 16px;
|
||||
width: 16px;
|
||||
list-style-image: url("resource:/res/mailnews/messenger/closedMailFolder.gif");
|
||||
}
|
||||
|
||||
treecell[selected] {
|
||||
background-color: #000080;
|
||||
}
|
|
@ -21,7 +21,7 @@ MODULE=profile
|
|||
include <$(DEPTH)\config\rules.mak>
|
||||
|
||||
FILES=\
|
||||
common.css \
|
||||
profile.css \
|
||||
createProfileWizard.css \
|
||||
profileManager.css \
|
||||
$(NULL)
|
||||
|
|
|
@ -1,47 +0,0 @@
|
|||
<?xml version="1.0"?> <!-- -*- Mode: SGML; indent-tabs-mode: nil; -*- -->
|
||||
<!--
|
||||
|
||||
The contents of this file are subject to the Netscape Public License
|
||||
Version 1.0 (the "NPL"); you may not use this file except in
|
||||
compliance with the NPL. You may obtain a copy of the NPL at
|
||||
http://www.mozilla.org/NPL/
|
||||
|
||||
Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
for the specific language governing rights and limitations under the
|
||||
NPL.
|
||||
|
||||
The Initial Developer of this code under the NPL is Netscape
|
||||
Communications Corporation. Portions created by Netscape are
|
||||
Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
Reserved.
|
||||
|
||||
-->
|
||||
|
||||
<?xml-stylesheet href="chrome://global/skin/xul.css" type="text/css"?>
|
||||
<?xml-stylesheet href="pm.css" type="text/css"?>
|
||||
|
||||
<!DOCTYPE window SYSTEM "chrome://profile/locale/en-US/test-content1_1.dtd" >
|
||||
<window
|
||||
xmlns:html="http://www.w3.org/TR/REC-html40"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" class="dialog"
|
||||
width="500" height="500"
|
||||
onload="parent.wizardPageLoaded('content1_1');">
|
||||
|
||||
<html:div flex="100%" style="width: 100%; height: 100%;">
|
||||
<html:div style="width: 300px;">&heading;</html:div>
|
||||
<html:br/>
|
||||
|
||||
<html:div>&title;</html:div>
|
||||
<html:div>¶.one;</html:div>
|
||||
<html:br/>
|
||||
|
||||
<html:div>¶.two;</html:div>
|
||||
<html:br/>
|
||||
|
||||
<html:div>¶.three;</html:div>
|
||||
<html:br/>
|
||||
<html:div>¶.four;</html:div>
|
||||
</html:div>
|
||||
|
||||
</window>
|
|
@ -1,79 +0,0 @@
|
|||
<?xml version="1.0"?> <!-- -*- Mode: SGML; indent-tabs-mode: nil; -*- -->
|
||||
<!--
|
||||
|
||||
The contents of this file are subject to the Netscape Public License
|
||||
Version 1.0 (the "NPL"); you may not use this file except in
|
||||
compliance with the NPL. You may obtain a copy of the NPL at
|
||||
http://www.mozilla.org/NPL/
|
||||
|
||||
Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
for the specific language governing rights and limitations under the
|
||||
NPL.
|
||||
|
||||
The Initial Developer of this code under the NPL is Netscape
|
||||
Communications Corporation. Portions created by Netscape are
|
||||
Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
Reserved.
|
||||
|
||||
-->
|
||||
|
||||
<?xml-stylesheet href="chrome://global/skin/xul.css" type="text/css"?>
|
||||
<?xml-stylesheet href="pm.css" type="text/css"?>
|
||||
|
||||
<!DOCTYPE window SYSTEM "chrome://profile/locale/en-US/test-content1_2.dtd" >
|
||||
<window
|
||||
xmlns:html="http://www.w3.org/TR/REC-html40"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" class="dialog"
|
||||
width="500" height="500"
|
||||
onload="parent.wizardPageLoaded('content1_2');">
|
||||
|
||||
<html:script>
|
||||
function foo()
|
||||
{
|
||||
}
|
||||
|
||||
function InitializeValues()
|
||||
{
|
||||
element = document.getElementById("ProfileName");
|
||||
element.value = parent.profName;
|
||||
|
||||
element = document.getElementById("ProfileDir");
|
||||
element.value = parent.profDir;
|
||||
}
|
||||
|
||||
function commit()
|
||||
{
|
||||
var element;
|
||||
|
||||
element = document.getElementById("ProfileName");
|
||||
parent.SetValue(element.id, element.value);
|
||||
parent.profName = element.value;
|
||||
|
||||
element = document.getElementById("ProfileDir");
|
||||
data += "ProfileDir="+element.value+"%";
|
||||
parent.SetValue(element.id, element.value);
|
||||
parent.profDir = element.value;
|
||||
}
|
||||
|
||||
setTimeout("foo()", 0);
|
||||
</html:script>
|
||||
|
||||
<html:div flex="100%" style="width: 100%; height: 100%;">
|
||||
|
||||
<html:div>&intro;</html:div>
|
||||
<html:br/>
|
||||
<html:div>&profile.name;</html:div>
|
||||
<html:input type="text" id="ProfileName" value="mozProfile" size="30"/>
|
||||
<html:br/>
|
||||
<html:br/>
|
||||
|
||||
<html:div>&profile.dir;</html:div>
|
||||
<html:input type="text" id="ProfileDir" size="30"/>
|
||||
|
||||
<html:br/>
|
||||
<html:br/>
|
||||
<html:div>¶</html:div>
|
||||
</html:div>
|
||||
|
||||
</window>
|
|
@ -97,10 +97,12 @@
|
|||
#define REGISTRY_DIRECTORY_STRING "directory"
|
||||
#define REGISTRY_NEED_MIGRATION_STRING "NeedMigration"
|
||||
|
||||
#define PROFILE_PREG_URL "resource:/res/profile/cpwPreg.xul"
|
||||
#define PROFILE_MANAGER_URL "resource:/res/profile/pm.xul"
|
||||
// this used to be cpwPreg.xul, that no longer exists. we need to fix this.
|
||||
#define PROFILE_PREG_URL "chrome://profile/content/createProfileWizard.xul"
|
||||
|
||||
#define PROFILE_MANAGER_URL "chrome://profile/content/profileManager.xul"
|
||||
#define PROFILE_MANAGER_CMD_LINE_ARG "-ProfileManager"
|
||||
#define PROFILE_WIZARD_URL "resource:/res/profile/cpw.xul"
|
||||
#define PROFILE_WIZARD_URL "chrome://profile/content/createProfileWizard.xul"
|
||||
#define PROFILE_WIZARD_CMD_LINE_ARG "-ProfileWizard"
|
||||
#define INSTALLER_CMD_LINE_ARG "-installer"
|
||||
#define CREATE_PROFILE_CMD_LINE_ARG "-CreateProfile"
|
||||
|
@ -159,6 +161,7 @@ private:
|
|||
nsCString & profileURLStr);
|
||||
nsresult LoadDefaultProfileDir(nsCString & profileURLStr);
|
||||
nsresult OpenRegistry();
|
||||
nsresult CloseRegistry();
|
||||
|
||||
char mNewProfileData[_MAX_NUM_PROFILES][_MAX_LENGTH];
|
||||
char mProfiles[_MAX_NUM_PROFILES][_MAX_LENGTH];
|
||||
|
@ -244,6 +247,14 @@ NS_IMETHODIMP nsProfile::Startup(const char *filename)
|
|||
return rv;
|
||||
}
|
||||
|
||||
nsresult
|
||||
nsProfile::CloseRegistry()
|
||||
{
|
||||
nsresult rv;
|
||||
rv = m_reg->Close();
|
||||
return rv;
|
||||
}
|
||||
|
||||
nsresult
|
||||
nsProfile::OpenRegistry()
|
||||
{
|
||||
|
@ -295,13 +306,13 @@ nsProfile::StartupWithArgs(nsICmdLineService *cmdLineArgs)
|
|||
rv = LoadDefaultProfileDir(profileURLStr);
|
||||
|
||||
// Closing the registry that was opened in Startup()
|
||||
m_reg->Close();
|
||||
rv = CloseRegistry();
|
||||
|
||||
#ifdef DEBUG_profile
|
||||
printf("Profile Manager : Profile Wizard and Manager activites : End\n");
|
||||
#endif
|
||||
|
||||
return NS_OK;
|
||||
return rv;
|
||||
}
|
||||
|
||||
|
||||
|
@ -1701,7 +1712,9 @@ NS_IMETHODIMP nsProfile::StartCommunicator(const char* profileName)
|
|||
NS_WITH_SERVICE(nsIBookmarksService, bookmarks, kBookmarksCID, &rv);
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
rv = bookmarks->ReadBookmarks();
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
|
||||
rv = CloseRegistry();
|
||||
return rv;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче