diff --git a/mozilla/editor/ui/dialogs/content/EdLinkChecker.js b/mozilla/editor/ui/dialogs/content/EdLinkChecker.js
index 808f94aafd4..880348778ad 100644
--- a/mozilla/editor/ui/dialogs/content/EdLinkChecker.js
+++ b/mozilla/editor/ui/dialogs/content/EdLinkChecker.js
@@ -24,8 +24,8 @@
// Variables used across all the links being checked:
var gNumLinksToCheck = 0; // The number of nsILinkCheckers
-var gLinksBeingChecked = {}; // Array of nsIURICheckers
-var gURIRefObjects = {}; // Array of nsIURIRefObjects
+var gLinksBeingChecked = []; // Array of nsIURICheckers
+var gURIRefObjects = []; // Array of nsIURIRefObjects
var gNumLinksCalledBack = 0;
var gStartedAllChecks = false;
var gLinkCheckTimerID = 0;
@@ -64,8 +64,12 @@ function Startup()
if (!InitEditorShell())
return;
+ gDialog.LinksList = document.getElementById("LinksList");
+ gDialog.Close = document.documentElement.getButton("cancel");
+
// Set window location relative to parent window (based on persisted attributes)
SetWindowLocation();
+
// Get all objects that refer to other locations
var objects = editorShell.GetLinkedObjects();
@@ -89,16 +93,17 @@ function Startup()
= Components.classes["@mozilla.org/network/urichecker;1"]
.createInstance()
.QueryInterface(Components.interfaces.nsIURIChecker);
-
- // XXX Calling this is related to crash deleting gLinksBeingChecked when dialog is closed
- // (if this isn't called, no crash)
gLinksBeingChecked[gNumLinksToCheck].asyncCheckURI(uri, gRequestObserver, null,
Components.interfaces.nsIRequest.LOAD_NORMAL);
+
+ // Add item
+ var linkChecker = gLinksBeingChecked[gNumLinksToCheck].QueryInterface(Components.interfaces.nsIURIChecker);
+ SetItemStatus(linkChecker.name, "busy");
+dump(" *** Linkcount = "+gNumLinksToCheck+"\n");
gNumLinksToCheck++;
+
};
- } catch (e) {
-dump(" Exception ERROR in Link checker. e.result="+e.result+", gNumLinksToCheck="+gNumLinksToCheck+"\n");
- }
+ } catch (e) { dump (" *** EXCEPTION\n");}
}
}
// Done with the loop, now we can be prepared for the finish:
@@ -106,6 +111,7 @@ dump(" Exception ERROR in Link checker. e.result="+e.result+", gNumLinksToCheck=
// Start timer to limit how long we wait for link checking
gLinkCheckTimerID = setTimeout("LinkCheckTimeOut()", 5000);
+ window.sizeToContent();
}
function LinkCheckTimeOut()
@@ -115,40 +121,70 @@ function LinkCheckTimeOut()
return;
gLinkCheckTimerID = 0;
-dump("*** LinkCheckTimeout: Heard from " + gNumLinksCalledBack + " of "+gNumLinksToCheck + "\n");
-
gNumLinksToCheck = 0;
gStartedAllChecks = false;
- if ("length" in gLinksBeingChecked)
+ for (var i=0; i < gLinksBeingChecked.length; i++)
{
- for (var i=0; i < gLinksBeingChecked.length; i++)
+ var linkChecker = gLinksBeingChecked[i].QueryInterface(Components.interfaces.nsIURIChecker);
+ // nsIURIChecker status values:
+ // NS_BINDING_SUCCEEDED link is valid
+ // NS_BINDING_FAILED link is invalid (gave an error)
+ // NS_BINDING_ABORTED timed out, or cancelled
+ switch (linkChecker.status)
{
- var linkChecker = gLinksBeingChecked[i].QueryInterface(Components.interfaces.nsIURIChecker);
- // nsIURIChecker status values:
- // NS_BINDING_SUCCEEDED link is valid
- // NS_BINDING_FAILED link is invalid (gave an error)
- // NS_BINDING_ABORTED timed out, or cancelled
- switch (linkChecker.status)
+ case 0: // NS_BINDING_SUCCEEDED
+ SetItemStatus(linkChecker.name, "done");
+ break;
+ case 0x804b0001: // NS_BINDING_FAILED
+ dump(">> " + linkChecker.name + " is broken\n");
+ case 0x804b0002: // NS_BINDING_ABORTED
+// dump(">> " + linkChecker.name + " timed out\n");
+ default:
+// dump(">> " + linkChecker.name + " not checked\n");
+ SetItemStatus(linkChecker.name, "failed");
+ break;
+ }
+ }
+ gDialog.Close.setAttribute("label", GetString("Close"));
+}
+
+// Add url to list of links to check
+// or set status for file already in the list
+// Returns true if url was in the list
+function SetItemStatus(url, status)
+{
+ if (!url)
+ return false;
+
+ if (!status)
+ status = "busy";
+
+ // Just set attribute for status icon
+ // if we already have this url
+ var listitems = document.getElementsByTagName("listitem");
+ if (listitems)
+ {
+ for (var i=0; i < listitems.length; i++)
+ {
+ if (listitems[i].getAttribute("label") == url)
{
- case 0: // NS_BINDING_SUCCEEDED
- dump(" " + linkChecker.name + " OK!\n");
- break;
- case 0x804b0001: // NS_BINDING_FAILED
- dump(">> " + linkChecker.name + " is broken\n");
- break;
- case 0x804b0002: // NS_BINDING_ABORTED
- dump(">> " + linkChecker.name + " timed out\n");
- break;
- default:
- dump(">> " + linkChecker.name + " not checked\n");
- break;
+ listitems[i].setAttribute("progress", status);
+ return true;
}
}
}
-}
-function ChangeUrl()
-{
+ // We're adding a new item to list
+ var listitem = document.createElementNS(XUL_NS, "listitem");
+ if (listitem)
+ {
+ listitem.setAttribute("class", "listitem-iconic progressitem");
+ // This triggers CSS to show icon for each status state
+ listitem.setAttribute("progress", status);
+ listitem.setAttribute("label", url);
+ gDialog.LinksList.appendChild(listitem);
+ }
+ return false;
}
function onAccept()
diff --git a/mozilla/editor/ui/dialogs/content/EdLinkChecker.xul b/mozilla/editor/ui/dialogs/content/EdLinkChecker.xul
index 1dd7ff54cec..72649b6ab41 100644
--- a/mozilla/editor/ui/dialogs/content/EdLinkChecker.xul
+++ b/mozilla/editor/ui/dialogs/content/EdLinkChecker.xul
@@ -19,6 +19,7 @@
- Rights Reserved.
-
- Contributor(s):
+ - Charles Manske (cmanske@netscape.com)
-->
@@ -44,16 +45,15 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mozilla/editor/ui/dialogs/content/EdListProps.js b/mozilla/editor/ui/dialogs/content/EdListProps.js
index 68d589b4deb..5e56eddf3d8 100644
--- a/mozilla/editor/ui/dialogs/content/EdListProps.js
+++ b/mozilla/editor/ui/dialogs/content/EdListProps.js
@@ -60,16 +60,14 @@ function Startup()
if (ListElement)
globalElement = ListElement.cloneNode(false);
- // Show extra options for changing entire list if we have one already.
+ // Radio button index is persistent
+ if (ListElement && gDialog.RadioGroup.getAttribute("index") == "1")
+ gDialog.RadioGroup.selectedItem = gDialog.ChangeSelectedRadio;
+ else
+ gDialog.RadioGroup.selectedItem = gDialog.ChangeAllRadio;
+
+ // Show extra options for changing entire list only if we already have a list
gDialog.RadioGroup.setAttribute("collapsed", ListElement ? "false" : "true");
- if (ListElement)
- {
- // Radio button index is persistant
- if (gDialog.RadioGroup.getAttribute("index") == "1")
- gDialog.RadioGroup.selectedItem = gDialog.ChangeSelectedRadio;
- else
- gDialog.RadioGroup.selectedItem = gDialog.ChangeAllRadio;
- }
InitDialog();
diff --git a/mozilla/editor/ui/dialogs/content/EdListProps.xul b/mozilla/editor/ui/dialogs/content/EdListProps.xul
index 90f461a0b4b..9d32ad0d750 100644
--- a/mozilla/editor/ui/dialogs/content/EdListProps.xul
+++ b/mozilla/editor/ui/dialogs/content/EdListProps.xul
@@ -18,7 +18,9 @@
- Copyright (C) 1998-1999 Netscape Communications Corporation. All
- Rights Reserved.
-
- - Contributor(s):
+ - Contributor(s):
+ - Charles Manske (cmanske@netscape.com)
+ - Ryan Cassin (rcassin@supernova.org)
-->
@@ -64,10 +66,9 @@
-
+
- &startingHelp.label;
diff --git a/mozilla/editor/ui/dialogs/content/EdSpellCheck.js b/mozilla/editor/ui/dialogs/content/EdSpellCheck.js
index d9191e398d1..165c669679c 100644
--- a/mozilla/editor/ui/dialogs/content/EdSpellCheck.js
+++ b/mozilla/editor/ui/dialogs/content/EdSpellCheck.js
@@ -134,31 +134,17 @@ function InitLanguageMenu(curLang)
// Load the string bundles that will help us map
// RFC 1766 strings to UI strings.
- var languageBundle;
+ // Load the language string bundle.
+ var languageBundle = document.getElementById("languageBundle");
var regionBundle;
+ // If we have a language string bundle, load the region string bundle.
+ if (languageBundle)
+ regionBundle = document.getElementById("regionBundle");
+
var menuStr2;
var isoStrArray;
var defaultIndex = 0;
var langId;
-
- // Try to load the language string bundle.
-
- try {
- languageBundle = srGetStrBundle("chrome://global/locale/languageNames.properties");
- } catch(ex) {
- languageBundle = null;
- }
-
- // If we have a language string bundle, try to load the region string bundle.
-
- if (languageBundle)
- {
- try {
- regionBundle = srGetStrBundle("chrome://global/locale/regionNames.properties");
- } catch(ex) {
- regionBundle = null;
- }
- }
var i;
for (i = 0; i < dictList.length; i++)
{
@@ -170,11 +156,11 @@ function InitLanguageMenu(curLang)
dictList[i][1] = langId; // second subarray element - language ID
if (languageBundle && isoStrArray[0])
- dictList[i][0] = languageBundle.GetStringFromName(isoStrArray[0].toLowerCase());
+ dictList[i][0] = languageBundle.getString(isoStrArray[0].toLowerCase());
if (regionBundle && dictList[i][0] && isoStrArray.length > 1 && isoStrArray[1])
{
- menuStr2 = regionBundle.GetStringFromName(isoStrArray[1].toLowerCase());
+ menuStr2 = regionBundle.getString(isoStrArray[1].toLowerCase());
if (menuStr2)
dictList[i][0] = dictList[i][0] + "/" + menuStr2;
}
@@ -182,7 +168,7 @@ function InitLanguageMenu(curLang)
if (!dictList[i][0])
dictList[i][0] = dictList[i][1];
} catch (ex) {
- // GetStringFromName throws an exception when
+ // GetString throws an exception when
// a key is not found in the bundle. In that
// case, just use the original dictList string.
@@ -196,7 +182,7 @@ function InitLanguageMenu(curLang)
for (i = 0; i < dictList.length; i++)
{
- AppendLabelAndValueToMenulist(gDialog.LanguageMenulist, dictList[i][0], dictList[i][1]);
+ gDialog.LanguageMenulist.appendItem(dictList[i][0], dictList[i][1]);
if (curLang && dictList[i][1] == curLang)
defaultIndex = i+2; //first two items are pre-populated and fixed
}
diff --git a/mozilla/editor/ui/dialogs/content/EdSpellCheck.xul b/mozilla/editor/ui/dialogs/content/EdSpellCheck.xul
index cdbc7ba187f..e119bec6505 100644
--- a/mozilla/editor/ui/dialogs/content/EdSpellCheck.xul
+++ b/mozilla/editor/ui/dialogs/content/EdSpellCheck.xul
@@ -42,6 +42,9 @@
+
+
+
diff --git a/mozilla/editor/ui/dialogs/content/EditorPublish.js b/mozilla/editor/ui/dialogs/content/EditorPublish.js
index 3f970370ccd..676cd242877 100644
--- a/mozilla/editor/ui/dialogs/content/EditorPublish.js
+++ b/mozilla/editor/ui/dialogs/content/EditorPublish.js
@@ -159,7 +159,7 @@ function Startup()
} catch (e) {}
gDialog.PageTitleInput.value = gPreviousTitle;
- gDialog.FilenameInput.value = unescape(filename);
+ gDialog.FilenameInput.value = filename;
if (!addNewSite)
{
@@ -188,6 +188,8 @@ function Startup()
gDialog.OtherDirRadiogroup.selectedItem = gDialog.UseSubdirRadio;
}
+ gDialog.PublishUrlInput.setAttribute("tooltiptext", "The FTP:// or HTTP:// address provided by\nyour ISP or web hosting service");
+
doEnabling();
SetWindowLocation();
@@ -396,6 +398,8 @@ function ValidateSettings()
}
// Extract username and password while removing them from publishingUrl
+ /// XXX Problem: If username contains "@", StripUsernamePassword will not
+ // extract the username correctly
var urlUserObj = {};
var urlPassObj = {};
var publishUrl = StripUsernamePassword(gDialog.PublishUrlInput.value, urlUserObj, urlPassObj);
diff --git a/mozilla/editor/ui/dialogs/content/EditorPublish.xul b/mozilla/editor/ui/dialogs/content/EditorPublish.xul
index 718051eeebe..0bfe52a6b4a 100644
--- a/mozilla/editor/ui/dialogs/content/EditorPublish.xul
+++ b/mozilla/editor/ui/dialogs/content/EditorPublish.xul
@@ -30,6 +30,7 @@
+
+
+
+
+ &siteNameTip.label;
+
+
+
+
@@ -62,31 +71,36 @@
-
+
-
+
-
+
-
+
-
+