From db810ccde4f01a08f82f9732b821d9dc5f36703b Mon Sep 17 00:00:00 2001 From: Sergey Yanovich Date: Thu, 14 Feb 2008 17:50:20 +0200 Subject: [PATCH] Import 3.0 beta 3 tarball --- extensions/cck/browser/install.rdf | 4 +- .../cck/browser/locales/en-US/chrome/cckWizard.dtd | 34 +- .../locales/en-US/chrome/cckwizard.properties | 8 +- .../resources/content/cckwizard/bookmark.xul | 8 +- .../resources/content/cckwizard/cckwizard.js | 467 ++++-- .../resources/content/cckwizard/cckwizard.xul | 9 +- .../browser/resources/content/cckwizard/reg.xul | 2 +- .../browser/resources/content/cckwizard/search.js | 119 +- .../resources/content/cckwizard/srcfiles/cck.js.in | 20 + .../content/cckwizard/srcfiles/cckService.js.in | 310 +++- .../cckwizard/srcfiles/disableAboutConfig.js.in | 3 + .../content/cckwizard/srcfiles/install.rdf.in | 6 +- .../content/cckwizard/srcfiles/install.rdf.mip.in | 4 +- extensions/irc/Makefile.in | 17 +- extensions/irc/jar.mn | 1 + extensions/irc/js/lib/command-manager.js | 2 +- extensions/irc/js/lib/irc.js | 145 +- extensions/irc/locales/Makefile.in | 48 +- extensions/irc/locales/all-locales | 6 + .../irc/locales/en-US/chrome/chatzilla.properties | 27 +- extensions/irc/locales/en-US/defines.inc | 11 + extensions/irc/locales/generic/install.js | 54 + extensions/irc/locales/generic/install.rdf | 78 + extensions/irc/locales/jar.mn | 2 + extensions/irc/makefiles.sh | 1 + .../irc/xpi/{makexpi.sh => makelocalexpi.sh} | 132 +- extensions/irc/xpi/makexpi.sh | 59 +- extensions/irc/xul/content/chatzilla.xul | 12 +- extensions/irc/xul/content/commands.js | 172 +- extensions/irc/xul/content/config.js | 10 + extensions/irc/xul/content/contents.rdf | 2 +- extensions/irc/xul/content/handlers.js | 113 +- extensions/irc/xul/content/menus.js | 23 +- extensions/irc/xul/content/mungers.js | 50 +- extensions/irc/xul/content/output-base.css | 1 + extensions/irc/xul/content/prefs.js | 53 +- extensions/irc/xul/content/static.js | 567 ++++++- extensions/irc/xul/skin/chatzilla.css | 15 + .../irc/xul/skin/images/drop-indicator-bottom.png | Bin 0 -> 416 bytes .../schema-validation/public/nsISVSchema.idl | 353 ++++ .../public/nsISVSchemaErrorHandler.idl} | 22 +- .../schema-validation/public/nsISVSchemaLoader.idl | 85 + extensions/schema-validation/src/Makefile.in | 7 +- extensions/schema-validation/src/nsDOMUtils.h | 162 ++ extensions/schema-validation/src/nsSchema.cpp | 542 ++++++ .../schema-validation/src/nsSchemaAtomList.h | 119 ++ .../schema-validation/src/nsSchemaAttributes.cpp | 744 +++++++++ .../schema-validation/src/nsSchemaComplexType.cpp | 631 +++++++ .../src/nsSchemaComponentBase.cpp} | 43 +- .../schema-validation/src/nsSchemaDuration.cpp | 3 +- .../src/nsSchemaLoader.cpp | 4 +- extensions/schema-validation/src/nsSchemaLoader.h | 235 +++ .../schema-validation/src/nsSchemaParticles.cpp | 833 ++++++++++ extensions/schema-validation/src/nsSchemaPrivate.h | 757 +++++++++ .../schema-validation/src/nsSchemaSimpleTypes.cpp | 892 ++++++++++ .../schema-validation/src/nsSchemaValidator.cpp | 147 +- .../schema-validation/src/nsSchemaValidator.h | 2 + .../src/nsSchemaValidatorUtils.cpp | 145 +- .../schema-validation/src/nsSchemaValidatorUtils.h | 4 +- .../src/nsSpatialNavigationService.cpp | 8 +- extensions/venkman/Makefile.in | 18 +- extensions/{irc => venkman}/locales/Makefile.in | 59 +- extensions/venkman/locales/all-locales | 5 + .../en-US => locales/en-US/chrome}/profile.csv.tpl | 0 .../en-US/chrome}/profile.html.tpl | 0 .../en-US => locales/en-US/chrome}/profile.txt.tpl | 0 .../en-US => locales/en-US/chrome}/profile.xml.tpl | 0 .../en-US/chrome}/venkman-help.tpl | 0 .../en-US/chrome}/venkman-output-locale.css | 0 .../en-US/chrome}/venkman-overlay.dtd | 0 .../en-US => locales/en-US/chrome}/venkman.dtd | 0 .../en-US/chrome}/venkman.properties | 2 + extensions/venkman/locales/en-US/defines.inc | 11 + .../en-US => locales/generic/chrome}/contents.rdf | 0 extensions/venkman/locales/generic/install.js | 54 + extensions/venkman/locales/generic/install.rdf | 94 ++ extensions/venkman/locales/jar.mn | 15 + extensions/venkman/makefiles.sh | 1 + extensions/venkman/resources/Makefile.in | 2 - .../venkman/resources/content/venkman-commands.js | 33 +- .../venkman/resources/content/venkman-overlay.xul | 4 +- .../venkman/resources/content/venkman-records.js | 3 +- .../venkman/resources/content/venkman-static.js | 66 +- .../venkman/resources/content/venkman-utils.js | 31 + .../venkman/resources/content/venkman-views.js | 7 +- extensions/venkman/resources/jar.mn | 11 - .../venkman/resources/skin/venkman-overlay.css | 4 +- .../makexpi.sh => venkman/xpi/makelocalexpi.sh} | 152 +- extensions/venkman/xpi/makexpi.sh | 64 +- extensions/webdav/src/Makefile.in | 3 +- .../webservices/schema/src/nsSchemaLoader.cpp | 4 +- .../security/src/nsWebScriptsAccess.cpp | 4 +- extensions/webservices/soap/src/nsSOAPBlock.cpp | 4 +- extensions/webservices/soap/src/nsSOAPBlock.h | 4 +- extensions/webservices/wsdl/src/nsWSDLLoader.cpp | 4 +- extensions/xforms/Makefile.in | 12 +- extensions/xforms/nsIXFormsActionModuleElement.idl | 8 +- ...ormsXPathXMLUtil.h => nsIXFormsContextInfo.idl} | 72 +- ...tionModuleElement.idl => nsIXFormsDOMEvent.idl} | 31 +- extensions/xforms/nsIXFormsXPathFunctions.idl | 5 +- extensions/xforms/nsXFormsAccessors.cpp | 5 +- extensions/xforms/nsXFormsActionElement.cpp | 17 +- extensions/xforms/nsXFormsActionElement.h | 16 +- extensions/xforms/nsXFormsActionModuleBase.cpp | 54 +- extensions/xforms/nsXFormsActionModuleBase.h | 87 +- extensions/xforms/nsXFormsAtoms.cpp | 17 +- extensions/xforms/nsXFormsAtoms.h | 18 +- extensions/xforms/nsXFormsCaseElement.cpp | 5 +- extensions/xforms/nsXFormsChoicesElement.cpp | 5 +- extensions/xforms/nsXFormsContextInfo.cpp | 227 +++ extensions/xforms/nsXFormsContextInfo.h | 126 ++ extensions/xforms/nsXFormsControlStub.cpp | 10 +- extensions/xforms/nsXFormsControlStub.h | 8 +- extensions/xforms/nsXFormsCopyElement.cpp | 7 +- extensions/xforms/nsXFormsDOMEvent.cpp | 180 ++ .../{nsXFormsXPathXMLUtil.h => nsXFormsDOMEvent.h} | 80 +- extensions/xforms/nsXFormsDelegateStub.cpp | 7 +- extensions/xforms/nsXFormsDelegateStub.h | 2 +- extensions/xforms/nsXFormsDispatchElement.cpp | 6 +- extensions/xforms/nsXFormsElementFactory.cpp | 2 +- extensions/xforms/nsXFormsGroupElement.cpp | 2 +- extensions/xforms/nsXFormsInsertDeleteElement.cpp | 1744 ++++++++++---------- extensions/xforms/nsXFormsInstanceElement.cpp | 9 +- extensions/xforms/nsXFormsInstanceElement.h | 1 + extensions/xforms/nsXFormsItemElement.cpp | 8 +- extensions/xforms/nsXFormsItemSetElement.cpp | 2 +- extensions/xforms/nsXFormsLabelElement.cpp | 49 +- extensions/xforms/nsXFormsLoadElement.cpp | 8 +- extensions/xforms/nsXFormsMessageElement.cpp | 88 +- extensions/xforms/nsXFormsModelElement.cpp | 127 +- extensions/xforms/nsXFormsModelElement.h | 11 + extensions/xforms/nsXFormsModule.cpp | 3 +- extensions/xforms/nsXFormsOutputElement.cpp | 5 +- extensions/xforms/nsXFormsRangeAccessors.cpp | 5 +- extensions/xforms/nsXFormsRebuildElement.cpp | 8 +- extensions/xforms/nsXFormsRecalculateElement.cpp | 8 +- extensions/xforms/nsXFormsRefreshElement.cpp | 8 +- extensions/xforms/nsXFormsRepeatElement.cpp | 8 +- extensions/xforms/nsXFormsResetElement.cpp | 8 +- extensions/xforms/nsXFormsRevalidateElement.cpp | 8 +- extensions/xforms/nsXFormsSchemaValidator.cpp | 5 +- extensions/xforms/nsXFormsSelect1Element.cpp | 2 +- extensions/xforms/nsXFormsSelectElement.cpp | 2 +- extensions/xforms/nsXFormsSendElement.cpp | 10 +- extensions/xforms/nsXFormsSetFocusElement.cpp | 10 +- extensions/xforms/nsXFormsSetIndexElement.cpp | 8 +- extensions/xforms/nsXFormsSetValueElement.cpp | 8 +- extensions/xforms/nsXFormsStubElement.h | 3 - extensions/xforms/nsXFormsSubmissionElement.cpp | 605 +++++-- extensions/xforms/nsXFormsSubmissionElement.h | 51 +- extensions/xforms/nsXFormsSwitchElement.cpp | 2 +- extensions/xforms/nsXFormsToggleElement.cpp | 10 +- extensions/xforms/nsXFormsTriggerElement.cpp | 2 +- extensions/xforms/nsXFormsUploadElement.cpp | 19 +- extensions/xforms/nsXFormsUtils.cpp | 349 +++- extensions/xforms/nsXFormsUtils.h | 62 +- extensions/xforms/nsXFormsValueElement.cpp | 2 +- extensions/xforms/nsXFormsXPathAnalyzer.h | 2 +- extensions/xforms/nsXFormsXPathFunctions.cpp | 153 +- extensions/xforms/nsXFormsXPathParser.cpp | 1 + extensions/xforms/nsXFormsXPathScanner.h | 2 +- extensions/xforms/nsXFormsXPathXMLUtil.h | 2 +- .../xforms/resources/content/widgets-xhtml.xml | 12 +- .../xforms/resources/content/widgets-xul.xml | 16 +- .../xforms/resources/content/xforms-message.xul | 3 +- .../xforms/resources/content/xforms-xhtml.xml | 9 +- extensions/xforms/resources/content/xforms-xul.xml | 4 +- 167 files changed, 11060 insertions(+), 2403 deletions(-) create mode 100644 extensions/irc/locales/en-US/defines.inc create mode 100644 extensions/irc/locales/generic/install.js create mode 100644 extensions/irc/locales/generic/install.rdf copy extensions/irc/xpi/{makexpi.sh => makelocalexpi.sh} (57%) mode change 100644 => 100755 create mode 100644 extensions/irc/xul/skin/images/drop-indicator-bottom.png create mode 100644 extensions/schema-validation/public/nsISVSchema.idl copy extensions/{xforms/nsIXFormsActionModuleElement.idl => schema-validation/public/nsISVSchemaErrorHandler.idl} (74%) create mode 100644 extensions/schema-validation/public/nsISVSchemaLoader.idl create mode 100644 extensions/schema-validation/src/nsDOMUtils.h create mode 100644 extensions/schema-validation/src/nsSchema.cpp create mode 100644 extensions/schema-validation/src/nsSchemaAtomList.h create mode 100644 extensions/schema-validation/src/nsSchemaAttributes.cpp create mode 100644 extensions/schema-validation/src/nsSchemaComplexType.cpp copy extensions/{xforms/nsIXFormsActionModuleElement.idl => schema-validation/src/nsSchemaComponentBase.cpp} (62%) copy extensions/{webservices/schema => schema-validation}/src/nsSchemaLoader.cpp (99%) create mode 100644 extensions/schema-validation/src/nsSchemaLoader.h create mode 100644 extensions/schema-validation/src/nsSchemaParticles.cpp create mode 100644 extensions/schema-validation/src/nsSchemaPrivate.h create mode 100644 extensions/schema-validation/src/nsSchemaSimpleTypes.cpp copy extensions/{irc => venkman}/locales/Makefile.in (51%) create mode 100644 extensions/venkman/locales/all-locales rename extensions/venkman/{resources/locale/en-US => locales/en-US/chrome}/profile.csv.tpl (100%) rename extensions/venkman/{resources/locale/en-US => locales/en-US/chrome}/profile.html.tpl (100%) rename extensions/venkman/{resources/locale/en-US => locales/en-US/chrome}/profile.txt.tpl (100%) rename extensions/venkman/{resources/locale/en-US => locales/en-US/chrome}/profile.xml.tpl (100%) rename extensions/venkman/{resources/locale/en-US => locales/en-US/chrome}/venkman-help.tpl (100%) rename extensions/venkman/{resources/locale/en-US => locales/en-US/chrome}/venkman-output-locale.css (100%) rename extensions/venkman/{resources/locale/en-US => locales/en-US/chrome}/venkman-overlay.dtd (100%) rename extensions/venkman/{resources/locale/en-US => locales/en-US/chrome}/venkman.dtd (100%) rename extensions/venkman/{resources/locale/en-US => locales/en-US/chrome}/venkman.properties (99%) create mode 100644 extensions/venkman/locales/en-US/defines.inc rename extensions/venkman/{resources/locale/en-US => locales/generic/chrome}/contents.rdf (100%) create mode 100644 extensions/venkman/locales/generic/install.js create mode 100644 extensions/venkman/locales/generic/install.rdf create mode 100644 extensions/venkman/locales/jar.mn copy extensions/{irc/xpi/makexpi.sh => venkman/xpi/makelocalexpi.sh} (50%) mode change 100644 => 100755 copy extensions/xforms/{nsXFormsXPathXMLUtil.h => nsIXFormsContextInfo.idl} (56%) copy extensions/xforms/{nsIXFormsActionModuleElement.idl => nsIXFormsDOMEvent.idl} (69%) create mode 100644 extensions/xforms/nsXFormsContextInfo.cpp create mode 100644 extensions/xforms/nsXFormsContextInfo.h create mode 100644 extensions/xforms/nsXFormsDOMEvent.cpp copy extensions/xforms/{nsXFormsXPathXMLUtil.h => nsXFormsDOMEvent.h} (52%) rewrite extensions/xforms/nsXFormsInsertDeleteElement.cpp (64%) diff --git a/extensions/cck/browser/install.rdf b/extensions/cck/browser/install.rdf index d53c2da..1c3e7b7 100755 --- a/extensions/cck/browser/install.rdf +++ b/extensions/cck/browser/install.rdf @@ -5,7 +5,7 @@ xmlns:em="http://www.mozilla.org/2004/em-rdf#"> cckwizard@extensions.mozilla.org CCK Wizard - 1.0.3 + 1.1.1 Michael Kaply http://www.mozilla.org/projects/cck/firefox @@ -15,7 +15,7 @@ xmlns:em="http://www.mozilla.org/2004/em-rdf#"> {ec8030f7-c20a-464f-9b0e-13a3a9e97384} 1.5 - 3.0a1 + 3.0.* diff --git a/extensions/cck/browser/locales/en-US/chrome/cckWizard.dtd b/extensions/cck/browser/locales/en-US/chrome/cckWizard.dtd index 9e58240..b5fd28b 100755 --- a/extensions/cck/browser/locales/en-US/chrome/cckWizard.dtd +++ b/extensions/cck/browser/locales/en-US/chrome/cckWizard.dtd @@ -5,7 +5,7 @@ Custom animation files for browser's animated logo - Search engines (SRC files and the corresponding images) + Search engines Browser plug-ins Extensions/themes "> @@ -24,14 +24,9 @@ - - - - +Important: In order to create the XPI, we need to use ZIP or 7-Zip. Use the 'Choose File' button to locate one of these executables. Note we will also attempt to use ZIP.EXE if it is in the path."> - - @@ -42,8 +37,8 @@ - - + + @@ -62,9 +57,9 @@ - - - + + + @@ -106,9 +101,9 @@ - + - + @@ -146,6 +141,8 @@ + + @@ -173,6 +170,9 @@ + + + @@ -214,7 +214,9 @@ - + + + @@ -239,8 +241,6 @@ - - diff --git a/extensions/cck/browser/locales/en-US/chrome/cckwizard.properties b/extensions/cck/browser/locales/en-US/chrome/cckwizard.properties index 5f89f01..2137bca 100755 --- a/extensions/cck/browser/locales/en-US/chrome/cckwizard.properties +++ b/extensions/cck/browser/locales/en-US/chrome/cckwizard.properties @@ -6,9 +6,9 @@ zipError=Unable to create JAR or XPI file. Please ensure that a command line ver intError=The value must be an integer lockError=You cannot set this value here, you can only lock it. prefExistsError=This preference already exists in the list. -chooseFile=Choose File… -chooseDirectory=Choose Directory… -chooseImage=Choose Image… +chooseFile=Choose File... +chooseDirectory=Choose Directory... +chooseImage=Choose Image... createDir=The following directory does not exist: %S\nWould you like to create it? createDirError=Could not create folder: %S\nMake sure you have access to create the folder. extensions.cckwizard@extensions.mozilla.org.description=XUL Wizard to create CCK Packages @@ -19,4 +19,4 @@ OrganizationName.error=Company Identifier is required and cannot contain any spa BookmarkFolder1.error=You must specify a folder name ToolbarFolder1.error=You must specify a folder name useBrowserDefault=(use the browser default) -searchEngine.error=SRC file is invalid +searchEngine.error=Search engine source file is invalid diff --git a/extensions/cck/browser/resources/content/cckwizard/bookmark.xul b/extensions/cck/browser/resources/content/cckwizard/bookmark.xul index b32b9e8..92b9bdc 100644 --- a/extensions/cck/browser/resources/content/cckwizard/bookmark.xul +++ b/extensions/cck/browser/resources/content/cckwizard/bookmark.xul @@ -57,6 +57,12 @@ - + + + + + + + diff --git a/extensions/cck/browser/resources/content/cckwizard/cckwizard.js b/extensions/cck/browser/resources/content/cckwizard/cckwizard.js index b0f48e7..554ff18 100755 --- a/extensions/cck/browser/resources/content/cckwizard/cckwizard.js +++ b/extensions/cck/browser/resources/content/cckwizard/cckwizard.js @@ -143,7 +143,8 @@ function DeleteConfig() var bundle = document.getElementById("bundle_cckwizard"); var button = gPromptService.confirmEx(window, bundle.getString("windowTitle"), bundle.getString("deleteConfirm"), - gPromptService.STD_YES_NO_BUTTONS, + gPromptService.BUTTON_TITLE_YES * gPromptService.BUTTON_POS_0 + + gPromptService.BUTTON_TITLE_NO * gPromptService.BUTTON_POS_1, null, null, null, null, {}); if (button == 0) { gPrefBranch.deleteBranch("cck.config."+currentconfigname); @@ -266,7 +267,8 @@ function CloseCCKWizard() var bundle = document.getElementById("bundle_cckwizard"); var button = gPromptService.confirmEx(window, bundle.getString("windowTitle"), bundle.getString("cancelConfirm"), - gPromptService.STD_YES_NO_BUTTONS, + (gPromptService.BUTTON_TITLE_YES * gPromptService.BUTTON_POS_0) + + (gPromptService.BUTTON_TITLE_NO * gPromptService.BUTTON_POS_1), null, null, null, null, {}); } else { button = 0; @@ -304,6 +306,7 @@ function ClearAll() document.getElementById(elements[i].id).clear(); } else if (elements[i].id == "defaultSearchEngine") { document.getElementById(elements[i].id).removeAllItems(); + document.getElementById(elements[i].id).value = ""; } } } @@ -362,7 +365,7 @@ var prefsLockOnly = ["browser.startup.homepage", "browser.throbber.url", function OnPrefLoad() { - listbox = this.opener.document.getElementById('prefList'); + var listbox = this.opener.document.getElementById('prefList'); if (window.name == 'editpref') { window.title = listbox.selectedItem.cck['type']; if (listbox.selectedItem.cck['type'] == "integer") { @@ -443,7 +446,7 @@ function OnPrefOK() { var bundle = this.opener.document.getElementById("bundle_cckwizard"); - listbox = this.opener.document.getElementById("prefList"); + var listbox = this.opener.document.getElementById("prefList"); for (var i=0; i < listbox.getRowCount(); i++) { if ((document.getElementById('prefname').value == listbox.getItemAtIndex(i).label) && (window.name == 'newpref')) { gPromptService.alert(window, bundle.getString("windowTitle"), @@ -504,7 +507,7 @@ function OnPrefOK() function getPageId() { - temp = document.getElementById('example-window'); + var temp = document.getElementById('example-window'); if (!temp) temp = this.opener.document.getElementById('example-window'); return temp.currentPage.id; @@ -523,49 +526,65 @@ function onEditBookmark() function OnBookmarkLoad() { - listbox = this.opener.document.getElementById(getPageId() +'.bookmarkList'); + var listbox = this.opener.document.getElementById(getPageId() +'.bookmarkList'); if (window.name == 'editbookmark') { document.getElementById('bookmarkname').value = listbox.selectedItem.label; document.getElementById('bookmarkurl').value = listbox.selectedItem.value; - if (listbox.selectedItem.cck['type'] == "live") - document.getElementById('liveBookmark').checked = true; + document.getElementById('bookmarktype').value = listbox.selectedItem.cck['type']; } bookmarkCheckOKButton(); } function bookmarkCheckOKButton() { - if ((document.getElementById("bookmarkname").value) && (document.getElementById("bookmarkurl").value)) { - document.documentElement.getButton("accept").setAttribute( "disabled", "false" ); + if (document.getElementById('bookmarktype').value == "separator") { + document.getElementById('bookmarkname').disabled = true; + document.getElementById('bookmarkurl').disabled = true; } else { - document.documentElement.getButton("accept").setAttribute( "disabled", "true" ); + document.getElementById('bookmarkname').disabled = false; + document.getElementById('bookmarkurl').disabled = false; + } + if ((document.getElementById('bookmarktype').value == "separator") || ((document.getElementById("bookmarkname").value) && (document.getElementById("bookmarkurl").value))) { + document.documentElement.getButton("accept").disabled = false; + } else { + document.documentElement.getButton("accept").disabled = true; } } function OnBookmarkOK() { - listbox = this.opener.document.getElementById(getPageId() +'.bookmarkList'); + var listbox = this.opener.document.getElementById(getPageId() +'.bookmarkList'); var listitem; if (window.name == 'newbookmark') { - listitem = listbox.appendItem(document.getElementById('bookmarkname').value, document.getElementById('bookmarkurl').value); + if (document.getElementById('bookmarktype').value == "separator") { + listitem = listbox.appendItem("----------", ""); + } else { + listitem = listbox.appendItem(document.getElementById('bookmarkname').value, document.getElementById('bookmarkurl').value); + } listitem.setAttribute("class", "listitem-iconic"); } else { listitem = listbox.selectedItem; - listitem.setAttribute("label", document.getElementById('bookmarkname').value); - listitem.setAttribute("value", document.getElementById('bookmarkurl').value); + if (document.getElementById('bookmarktype').value == "separator") { + listitem.setAttribute("label", "----------"); + listitem.setAttribute("value", ""); + } else { + listitem.setAttribute("label", document.getElementById('bookmarkname').value); + listitem.setAttribute("value", document.getElementById('bookmarkurl').value); + } } - if (document.getElementById('liveBookmark').checked) { - listitem.cck['type'] = "live"; + listitem.cck['type'] = document.getElementById('bookmarktype').value; + if (document.getElementById('bookmarktype').value == "live") { listitem.setAttribute("image", "chrome://browser/skin/page-livemarks.png"); + } else if (document.getElementById('bookmarktype').value == "separator") { + listitem.setAttribute("image", ""); } else { listitem.setAttribute("image", "chrome://browser/skin/Bookmarks-folder.png"); - listitem.cck['type'] = ""; } } function enableBookmarkButtons() { - listbox = document.getElementById(getPageId() +'.bookmarkList'); + var listbox = document.getElementById(getPageId() +'.bookmarkList'); if (listbox.selectedItem) { document.getElementById(getPageId() +'editBookmarkButton').disabled = false; document.getElementById(getPageId() +'deleteBookmarkButton').disabled = false; @@ -587,7 +606,7 @@ function onEditBrowserPlugin() function OnPluginLoad() { - listbox = this.opener.document.getElementById('browserPluginList'); + var listbox = this.opener.document.getElementById('browserPluginList'); if (window.name == 'editplugin') { document.getElementById('pluginpath').value = listbox.selectedItem.label; document.getElementById('plugintype').value = listbox.selectedItem.value; @@ -611,9 +630,9 @@ function OnBrowserPluginOK() return false; } - listbox = this.opener.document.getElementById('browserPluginList'); + var listbox = this.opener.document.getElementById('browserPluginList'); if (window.name == 'newplugin') { - listitem = listbox.appendItem(document.getElementById('pluginpath').value, document.getElementById('plugintype').value); + var listitem = listbox.appendItem(document.getElementById('pluginpath').value, document.getElementById('plugintype').value); } else { listbox.selectedItem.label = document.getElementById('pluginpath').value; listbox.selectedItem.value = document.getElementById('plugintype').selectedItem.value; @@ -632,7 +651,7 @@ function onEditRegKey() function OnRegLoad() { - listbox = this.opener.document.getElementById('regList'); + var listbox = this.opener.document.getElementById('regList'); if (window.name == 'editreg') { document.getElementById('PrettyName').value = listbox.selectedItem.label; document.getElementById('RootKey').value = listbox.selectedItem.cck['rootkey']; @@ -658,7 +677,7 @@ function regCheckOKButton() function OnRegOK() { - listbox = this.opener.document.getElementById('regList'); + var listbox = this.opener.document.getElementById('regList'); var listitem; if (window.name == 'newreg') { listitem = listbox.appendItem(document.getElementById('PrettyName').value, ""); @@ -693,10 +712,10 @@ function RefreshDefaultSearchEngines() var setcuritem = false; var bundle = document.getElementById("bundle_cckwizard"); - menulistitem = menulist.appendItem(bundle.getString("useBrowserDefault"), ""); + var menulistitem = menulist.appendItem(bundle.getString("useBrowserDefault"), ""); menulistitem.minWidth=menulist.width; for (var i=0; i < listbox.getRowCount(); i++) { - listitem = listbox.getItemAtIndex(i); + var listitem = listbox.getItemAtIndex(i); name = listitem.getAttribute("label"); menulistitem = menulist.appendItem(name, name); if (name == curitem) @@ -721,11 +740,15 @@ function onEditSearchEngine() function OnSearchEngineLoad() { - listbox = this.opener.document.getElementById('searchEngineList'); + var listbox = this.opener.document.getElementById('searchEngineList'); if (window.name == 'editsearchengine') { document.getElementById('searchengine').value = listbox.selectedItem.cck['engineurl']; document.getElementById('searchengineicon').value = listbox.selectedItem.cck['iconurl']; - document.getElementById('icon').src = listbox.selectedItem.cck['iconurl']; + if (listbox.selectedItem.cck['iconurl'].length > 0) { + document.getElementById('icon').src = listbox.selectedItem.cck['iconurl']; + } else { + document.getElementById('icon').src = getSearchEngineImage(listbox.selectedItem.cck['engineurl']); + } } searchEngineCheckOKButton(); @@ -733,11 +756,33 @@ function OnSearchEngineLoad() function searchEngineCheckOKButton() { - if ((document.getElementById("searchengine").value) && (document.getElementById("searchengineicon").value)) { + if (document.getElementById("searchengine").value) { document.documentElement.getButton("accept").setAttribute( "disabled", "false" ); } else { document.documentElement.getButton("accept").setAttribute( "disabled", "true" ); } + if (!(document.getElementById("searchengineicon").value)) { + var searchengineimage; + if (searchengineimage = getSearchEngineImage(document.getElementById("searchengine").value)) { + document.getElementById('icon').src = searchengineimage; + document.getElementById("searchengineicon").setAttribute( "disabled", "true" ); + } else { + document.getElementById('icon').src = ""; + document.getElementById("searchengineicon").removeAttribute( "disabled"); + } + } else { + try { + var sourcefile = Components.classes["@mozilla.org/file/local;1"] + .createInstance(Components.interfaces.nsILocalFile); + sourcefile.initWithPath(document.getElementById('searchengineicon').value); + var ioServ = Components.classes["@mozilla.org/network/io-service;1"] + .getService(Components.interfaces.nsIIOService); + var imgfile = ioServ.newFileURI(sourcefile); + document.getElementById('icon').src = imgfile.spec; + } catch (ex) { + document.getElementById('icon').src = ""; + } + } } function OnSearchEngineOK() @@ -746,7 +791,7 @@ function OnSearchEngineOK() return false; } - listbox = this.opener.document.getElementById('searchEngineList'); + var listbox = this.opener.document.getElementById('searchEngineList'); var listitem; var name = getSearchEngineName(document.getElementById('searchengine').value); if (!name) { @@ -762,13 +807,17 @@ function OnSearchEngineOK() listitem = listbox.selectedItem; listbox.selectedItem.label = name; } - var sourcefile = Components.classes["@mozilla.org/file/local;1"] - .createInstance(Components.interfaces.nsILocalFile); - sourcefile.initWithPath(document.getElementById('searchengineicon').value); - var ioServ = Components.classes["@mozilla.org/network/io-service;1"] - .getService(Components.interfaces.nsIIOService); - var imgfile = ioServ.newFileURI(sourcefile); - listitem.setAttribute("image", imgfile.spec); + if (document.getElementById('searchengineicon').value) { + var sourcefile = Components.classes["@mozilla.org/file/local;1"] + .createInstance(Components.interfaces.nsILocalFile); + sourcefile.initWithPath(document.getElementById('searchengineicon').value); + var ioServ = Components.classes["@mozilla.org/network/io-service;1"] + .getService(Components.interfaces.nsIIOService); + var imgfile = ioServ.newFileURI(sourcefile); + listitem.setAttribute("image", imgfile.spec); + } else { + listitem.setAttribute("image", getSearchEngineImage(document.getElementById('searchengine').value)); + } listitem.cck['name'] = name; listitem.cck['engineurl'] = document.getElementById('searchengine').value; @@ -795,7 +844,7 @@ function onEditCert() function OnCertLoad() { - listbox = this.opener.document.getElementById('certList'); + var listbox = this.opener.document.getElementById('certList'); if (window.name == 'editcert') { document.getElementById('certpath').value = listbox.selectedItem.label; var trustString = listbox.selectedItem.value; @@ -844,7 +893,7 @@ function OnCertOK() trustString += "c" } - listbox = this.opener.document.getElementById('certList'); + var listbox = this.opener.document.getElementById('certList'); var listitem; if (window.name == 'newcert') { listitem = listbox.appendItem(document.getElementById('certpath').value, trustString); @@ -863,13 +912,14 @@ function onNewBundle() try { var nsIFilePicker = Components.interfaces.nsIFilePicker; var fp = Components.classes["@mozilla.org/filepicker;1"].createInstance(nsIFilePicker); - fp.init(window, "Choose File...", nsIFilePicker.modeOpen); + var bundle = document.getElementById("bundle_cckwizard"); + fp.init(window, bundle.getString("chooseFile"), nsIFilePicker.modeOpen); fp.appendFilters(nsIFilePicker.filterHTML | nsIFilePicker.filterText | nsIFilePicker.filterAll | nsIFilePicker.filterImages | nsIFilePicker.filterXML); if (fp.show() == nsIFilePicker.returnOK && fp.fileURL.spec && fp.fileURL.spec.length > 0) { - listbox = document.getElementById('bundleList'); - listitem = listbox.appendItem(fp.file.path, ""); + var listbox = document.getElementById('bundleList'); + var listitem = listbox.appendItem(fp.file.path, ""); } } catch(ex) { @@ -878,8 +928,8 @@ function onNewBundle() function onEditBundle() { - listbox = document.getElementById('bundleList'); - filename = listbox.selectedItem.label; + var listbox = document.getElementById('bundleList'); + var filename = listbox.selectedItem.label; var sourcefile = Components.classes["@mozilla.org/file/local;1"] .createInstance(Components.interfaces.nsILocalFile); try { @@ -938,10 +988,10 @@ function CreateCCK() if (document.getElementById("noaboutconfig").checked) CCKCopyChromeToFile("cck-config.css", destdir) - listbox = document.getElementById('certList'); + var listbox = document.getElementById('certList'); for (var i=0; i < listbox.getRowCount(); i++) { - listitem = listbox.getItemAtIndex(i); + var listitem = listbox.getItemAtIndex(i); CCKCopyFile(listitem.getAttribute("label"), destdir); } @@ -986,7 +1036,8 @@ function CreateCCK() destdir.create(Components.interfaces.nsIFile.DIRECTORY_TYPE, 0775); } catch(ex) {} - CCKCopyChromeToFile("cckService.js", destdir); +// CCKCopyChromeToFile("cckService.js", destdir); + CCKWriteCCKServiceJS(destdir); if (document.getElementById("noaboutconfig").checked) CCKCopyChromeToFile("disableAboutConfig.js", destdir); @@ -1044,7 +1095,8 @@ function CreateCCK() for (var i=0; i < listbox.getRowCount(); i++) { listitem = listbox.getItemAtIndex(i); CCKCopyFile(listitem.cck['engineurl'], destdir); - CCKCopyFile(listitem.cck['iconurl'], destdir); + if (listitem.cck['iconurl'].length > 0) + CCKCopyFile(listitem.cck['iconurl'], destdir); } destdir.initWithPath(currentconfigpath); @@ -1168,63 +1220,84 @@ function CCKZip(zipfile, location) file.remove(false); } catch (ex) {} - if ((document.getElementById("zipLocation").value == "") && (Components.interfaces.IZipWriterComponent)) { + if ((document.getElementById("zipLocation").value == "") && Components.interfaces.IZipWriterComponent) { var archivefileobj = location.clone(); archivefileobj.append(zipfile); - - try { - var zipwriterobj = Components.classes["@ottley.org/libzip/zip-writer;1"] - .createInstance(Components.interfaces.IZipWriterComponent); - - zipwriterobj.CURR_COMPRESS_LEVEL = Components.interfaces.IZipWriterComponent.COMPRESS_LEVEL9; - - var sourcepathobj = Components.classes["@mozilla.org/file/local;1"] - .createInstance(Components.interfaces.nsILocalFile); - sourcepathobj.initWithPath(location.path); - - zipwriterobj.init(archivefileobj); - - zipwriterobj.basepath = sourcepathobj; - - var zipentriestoadd = new Array(); - - for (var i=2; i < arguments.length; i++) { - var sourcepathobj = location.clone(); - sourcepathobj.append(arguments[i]); - if (sourcepathobj.exists() && sourcepathobj.isDirectory()) { - var entries = sourcepathobj.directoryEntries; - - while (entries.hasMoreElements()) { - zipentriestoadd.push(entries.getNext()); - } - } else if (sourcepathobj.exists()) { - zipentriestoadd.push(sourcepathobj); + var zipWriter = new Components.Constructor("@mozilla.org/zipwriter;1", "nsIZipWriter"); + zipWriter.open(archivefileobj, 0x01 | 0x08 | 0x20); + for (var i=2; i < arguments.length; i++) { + var sourcepathobj = location.clone(); + sourcepathobj.append(arguments[i]); + if (sourcepathobj.exists() && sourcepathobj.isDirectory()) { + var entries = sourcepathobj.directoryEntries; + while (entries.hasMoreElements()) { + zipentriestoadd.push(entries.getNext()); + var foo = entries.getNext(); + zipWriter.addEntryFile(foo.path, 9, foo, true); } + } else if (sourcepathobj.exists()) { + zipWriter.addEntryFile(sourcepathobj.path, 9, sourcepathobj, true); } - - // Add files depth first - while (zipentriestoadd.length > 0) { - var zipentry = zipentriestoadd.pop(); + } + + + + if (Components.interfaces.nsIZipWriter) { + } else if (Components.interfaces.IZipWriterComponent) { + try { + var zipwriterobj = Components.classes["@ottley.org/libzip/zip-writer;1"] + .createInstance(Components.interfaces.IZipWriterComponent); + + zipwriterobj.CURR_COMPRESS_LEVEL = Components.interfaces.IZipWriterComponent.COMPRESS_LEVEL9; + + var sourcepathobj = Components.classes["@mozilla.org/file/local;1"] + .createInstance(Components.interfaces.nsILocalFile); + sourcepathobj.initWithPath(location.path); + + zipwriterobj.init(archivefileobj); + + zipwriterobj.basepath = sourcepathobj; - zipentry.QueryInterface(Components.interfaces.nsILocalFile); - - if (!zipentry.isDirectory()) { - zipwriterobj.add(zipentry); + var zipentriestoadd = new Array(); + + for (var i=2; i < arguments.length; i++) { + var sourcepathobj = location.clone(); + sourcepathobj.append(arguments[i]); + if (sourcepathobj.exists() && sourcepathobj.isDirectory()) { + var entries = sourcepathobj.directoryEntries; + + while (entries.hasMoreElements()) { + zipentriestoadd.push(entries.getNext()); + } + } else if (sourcepathobj.exists()) { + zipentriestoadd.push(sourcepathobj); + } } - if (zipentry.exists() && zipentry.isDirectory()) { - var entries = zipentry.directoryEntries; - - while (entries.hasMoreElements()) { - zipentriestoadd.push(entries.getNext()); + // Add files depth first + while (zipentriestoadd.length > 0) { + var zipentry = zipentriestoadd.pop(); + + zipentry.QueryInterface(Components.interfaces.nsILocalFile); + + if (!zipentry.isDirectory()) { + zipwriterobj.add(zipentry); } - } + + if (zipentry.exists() && zipentry.isDirectory()) { + var entries = zipentry.directoryEntries; + + while (entries.hasMoreElements()) { + zipentriestoadd.push(entries.getNext()); + } + } + } + + zipwriterobj.commitUpdates(); + return; + } catch (e) { + gPromptService.alert(window, "", "ZIPWriterComponent error - attempting ZIP"); } - - zipwriterobj.commitUpdates(); - return; - } catch (e) { - gPromptService.alert(window, "", "ZIPWriterComponent error - attempting ZIP"); } } @@ -1233,7 +1306,7 @@ function CCKZip(zipfile, location) zipLocation = "zip"; } - platform = navigator.platform; + var platform = navigator.platform; var scriptfile = location.clone(); if ((navigator.platform == "Win32") || (navigator.platform == "OS/2")) @@ -1250,10 +1323,15 @@ function CCKZip(zipfile, location) line += "/d "; line += "\"" + location.path + "\"\n"; fos.write(line, line.length); + var zipParams = "-r"; + /* check for 7zip */ + if (zipLocation.match("7z")) { + zipParams = "a -tZIP"; + } if ((navigator.platform == "Win32") || (navigator.platform == "OS/2")) - line = "\"" + zipLocation + "\" -r \"" + location.path + "\\" + zipfile + "\""; + line = "\"" + zipLocation + "\" " + zipParams + " \"" + location.path + "\\" + zipfile + "\""; else - line = zipLocation + " -r \"" + location.path + "/" + zipfile + "\""; + line = zipLocation + " " + zipParams + " \"" + location.path + "/" + zipfile + "\""; for (var i=2; i < arguments.length; i++) { line += " " + arguments[i]; } @@ -1302,8 +1380,7 @@ function CCKZip(zipfile, location) function CCKWriteXULOverlay(destdir) { - var tooltipXUL = '