зеркало из https://github.com/mozilla/gecko-dev.git
Initial checkin of Firefox cck into extensions
Not part of default build
This commit is contained in:
Родитель
aafe5aa40b
Коммит
a4801bf6b9
|
@ -0,0 +1,48 @@
|
|||
#
|
||||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public License Version
|
||||
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is mozilla.org code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is
|
||||
# Netscape Communications Corporation.
|
||||
# Portions created by the Initial Developer are Copyright (C) 1998
|
||||
# the Initial Developer. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the terms of
|
||||
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
# of those above. If you wish to allow use of your version of this file only
|
||||
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
# use your version of this file under the terms of the MPL, indicate your
|
||||
# decision by deleting the provisions above and replace them with the notice
|
||||
# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
# the provisions above, a recipient may use your version of this file under
|
||||
# the terms of any one of the MPL, the GPL or the LGPL.
|
||||
#
|
||||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
DEPTH = ../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(DEPTH)/config/autoconf.mk
|
||||
|
||||
MODULE = cckwizard
|
||||
DIRS = browser
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
|
@ -0,0 +1,98 @@
|
|||
#
|
||||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public License Version
|
||||
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is Website Reporter.
|
||||
#
|
||||
# The Initial Developer of the Original Code is
|
||||
# The Mozilla Foundation.
|
||||
# Portions created by the Initial Developer are Copyright (C) 2005
|
||||
# the Initial Developer. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
# Robert J. Accettura <robert@accettura.com>, original author
|
||||
# Jay Patel <jay@mozilla.org>
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the terms of
|
||||
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
# of those above. If you wish to allow use of your version of this file only
|
||||
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
# use your version of this file under the terms of the MPL, indicate your
|
||||
# decision by deleting the provisions above and replace them with the notice
|
||||
# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
# the provisions above, a recipient may use your version of this file under
|
||||
# the terms of any one of the MPL, the GPL or the LGPL.
|
||||
#
|
||||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
DEPTH = ../../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(DEPTH)/config/autoconf.mk
|
||||
|
||||
ifdef MOZ_XUL_APP
|
||||
XPI_NAME = cckwizard
|
||||
USE_EXTENSION_MANIFEST = 1
|
||||
NO_JAR_AUTO_REG = 1
|
||||
INSTALL_EXTENSION_ID = cckwizard@extensions.mozilla.org
|
||||
XPI_PKGNAME = cckwizard-$(MOZ_APP_VERSION)
|
||||
endif
|
||||
|
||||
ALL_LOCALES = \
|
||||
en-US \
|
||||
$(NULL)
|
||||
|
||||
DIST_FILES = install.rdf
|
||||
|
||||
# We should really pull FIREFOX_VERSION and THUNDERBIRD_VERSION from
|
||||
# # browser/config/version.txt mail/config/version.txt but we can't be assured
|
||||
# # that we've even pulled those files. So we hardcode them.
|
||||
|
||||
XULAPP_DEFINES = \
|
||||
-DFIREFOX_VERSION=$(FIREFOX_VERSION) \
|
||||
-DTHUNDERBIRD_VERSION=$(THUNDERBIRD_VERSION) \
|
||||
-DEXTENSION_VERSION=$(MOZILLA_VERSION) \
|
||||
$(NULL)
|
||||
|
||||
#PREF_JS_EXPORTS = $(srcdir)/resources/content/prefs/reporter.js
|
||||
|
||||
include $(topsrcdir)/config/config.mk
|
||||
|
||||
SUBMAKEFILES += locales/Makefile
|
||||
|
||||
# We need the locale-loop to happen before rules.mk, but we still want the
|
||||
# default all:: target. Hack it here.
|
||||
|
||||
SUPPRESS_DEFAULT_RULES = 1
|
||||
|
||||
all::
|
||||
$(MAKE) export
|
||||
$(MAKE) libs
|
||||
|
||||
# Do depend as well
|
||||
alldep::
|
||||
$(MAKE) export
|
||||
$(MAKE) depend
|
||||
$(MAKE) libs
|
||||
|
||||
libs realchrome:: locales/Makefile
|
||||
@$(EXIT_ON_ERROR) \
|
||||
for locale in $(ALL_LOCALES); do \
|
||||
$(MAKE) -C locales AB_CD=$$locale; \
|
||||
done
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
|
@ -0,0 +1,24 @@
|
|||
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:em="http://www.mozilla.org/2004/em-rdf#">
|
||||
|
||||
<Description about="urn:mozilla:install-manifest">
|
||||
|
||||
<em:id>cckwizard@extensions.mozilla.org</em:id>
|
||||
<em:name>CCK Wizard</em:name>
|
||||
<em:version>0.5</em:version>
|
||||
<em:description>XUL Wizard to create CCK Packages</em:description>
|
||||
<em:creator>Michael Kaply</em:creator>
|
||||
<em:homepageURL>http://www.mozilla.org/projects/cck/firefox</em:homepageURL>
|
||||
<em:iconURL>chrome://cckwizard/content/cckwizard.png</em:iconURL>
|
||||
|
||||
<em:targetApplication>
|
||||
<Description>
|
||||
<em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
|
||||
<em:minVersion>1.0</em:minVersion>
|
||||
<em:maxVersion>1.5.*</em:maxVersion>
|
||||
</Description>
|
||||
</em:targetApplication>
|
||||
|
||||
</Description>
|
||||
|
||||
</RDF>
|
|
@ -0,0 +1,18 @@
|
|||
cckwizard.jar:
|
||||
% content cckwizard %content/cckwizard/
|
||||
% overlay chrome://browser/content/browser.xul chrome://cckwizard/content/cckwizard-browser-overlay.xul
|
||||
content/cckwizard/cckwizard-browser-overlay.xul (resources/content/cckwizard/cckwizard-browser-overlay.xul)
|
||||
content/cckwizard/cckwizard.js (resources/content/cckwizard/cckwizard.js)
|
||||
content/cckwizard/cckwizard.png (resources/content/cckwizard/cckwizard.png)
|
||||
content/cckwizard/cckwizard.xul (resources/content/cckwizard/cckwizard.xul)
|
||||
content/cckwizard/cckwizard.properties (resources/content/cckwizard/cckwizard.properties)
|
||||
content/cckwizard/config.xul (resources/content/cckwizard/config.xul)
|
||||
content/cckwizard/showconfig.xul (resources/content/cckwizard/showconfig.xul)
|
||||
content/cckwizard/srcfiles/cck-browser-overlay.xul.in (resources/content/cckwizard/srcfiles/cck-browser-overlay.xul.in)
|
||||
content/cckwizard/srcfiles/cck.dtd.in (resources/content/cckwizard/srcfiles/cck.dtd.in)
|
||||
content/cckwizard/srcfiles/cck.js.in (resources/content/cckwizard/srcfiles/cck.js.in)
|
||||
content/cckwizard/srcfiles/cck.properties.in (resources/content/cckwizard/srcfiles/cck.properties.in)
|
||||
content/cckwizard/srcfiles/cckService.js.in (resources/content/cckwizard/srcfiles/cckService.js.in)
|
||||
content/cckwizard/srcfiles/chrome.manifest.in (resources/content/cckwizard/srcfiles/chrome.manifest.in)
|
||||
content/cckwizard/srcfiles/install.js.in (resources/content/cckwizard/srcfiles/install.js.in)
|
||||
content/cckwizard/srcfiles/install.rdf.in (resources/content/cckwizard/srcfiles/install.rdf.in)
|
|
@ -0,0 +1,59 @@
|
|||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public License Version
|
||||
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is the Mozilla Browser code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is
|
||||
# Benjamin Smedberg <bsmedberg@covad.net>
|
||||
# Portions created by the Initial Developer are Copyright (C) 2004
|
||||
# the Initial Developer. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the terms of
|
||||
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
# of those above. If you wish to allow use of your version of this file only
|
||||
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
# use your version of this file under the terms of the MPL, indicate your
|
||||
# decision by deleting the provisions above and replace them with the notice
|
||||
# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
# the provisions above, a recipient may use your version of this file under
|
||||
# the terms of any one of the MPL, the GPL or the LGPL.
|
||||
#
|
||||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
DEPTH = ../../../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
relativesrcdir = extensions/cck/firefox/locales
|
||||
|
||||
include $(DEPTH)/config/autoconf.mk
|
||||
|
||||
ifdef MOZ_XUL_APP
|
||||
XPI_NAME = cckwizard
|
||||
USE_EXTENSION_MANIFEST = 1
|
||||
NO_JAR_AUTO_REG = 1
|
||||
endif
|
||||
|
||||
DEFINES += -DAB_CD=$(AB_CD)
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
ifneq (en-US,$(AB_CD))
|
||||
libs realchrome::
|
||||
@echo "Comparing $(AB_CD) to en-US"
|
||||
@$(PERL) $(topsrcdir)/toolkit/locales/compare-locales.pl $(srcdir)/en-US $(srcdir)/$(AB_CD)
|
||||
endif
|
|
@ -0,0 +1,173 @@
|
|||
<!ENTITY cckWizard.title "Firefox Client Customization Kit (CCK)">
|
||||
<!ENTITY cckWizard.description "This tool helps you create an extension that customizes Firefox. This extension can either be installed by the user or included in an install package.">
|
||||
<!ENTITY cckWizard.oncancel "All changed data will be saved">
|
||||
<!ENTITY beforeYouBegin.label "Before You Begin">
|
||||
<!ENTITY beforeYouBegin.description "Decide which customizations you want to make and create/collect the customized files, such as:
|
||||
<html:ul>
|
||||
<html:li>Custom animation files for browser's animated logo</html:li>
|
||||
<html:li>Search pluginsfdsafdsafs</html:li>
|
||||
<html:li>Browser plug-ins</html:li>
|
||||
</html:ul>">
|
||||
<!ENTITY selectConfig.label "Select an Existing Configuration or Create a New One">
|
||||
<!ENTITY selectConfig.description "Select an existing configuration, or click 'New' to create a new configuration and workspace in which to store your custom files. To edit an existing configuration without overwriting the original configuration, select it from the list and click 'Copy'.">
|
||||
<!ENTITY showConfig.label "Show Config Info">
|
||||
<!ENTITY newConfig.label "New">
|
||||
<!ENTITY copyConfig.label "Copy">
|
||||
<!ENTITY deleteConfig.label "Delete">
|
||||
|
||||
<!ENTITY customizeExt.label "Customize Extension">
|
||||
<!ENTITY customizeExt.description "">
|
||||
|
||||
|
||||
<!ENTITY id.label "Unique ID:">
|
||||
<!ENTITY name.label "Name:">
|
||||
<!ENTITY version.label "Version:">
|
||||
<!ENTITY description.label "Description:">
|
||||
<!ENTITY creator.label "Creator:">
|
||||
<!ENTITY homepageURL.label "Homepage URL:">
|
||||
<!ENTITY updateURL.label "Update URL:">
|
||||
<!ENTITY icon.label "Icon:">
|
||||
<!ENTITY chooseFile.label "Choose File...">
|
||||
<!ENTITY chooseDir.label "Choose Dir...">
|
||||
|
||||
<!ENTITY filename.label "Filename:">
|
||||
|
||||
<!ENTITY customizePartOne.label "Customize the Browser - Part One">
|
||||
|
||||
<!ENTITY orgName.error "Company Identifier is required">
|
||||
<!ENTITY orgName.description "The Company Identifier is included as part of the browser's user agent string which appears when you open the Help menu and select About Mozilla Firefox.">
|
||||
<!ENTITY orgName.label "Enter Your Company Identifier (up to 10 characters; no spaces):">
|
||||
<!ENTITY orgName.caption "Company Identifier">
|
||||
|
||||
<!ENTITY homePage.caption "Default Home Page">
|
||||
<!ENTITY homePage.label "Home Page URL:">
|
||||
<!ENTITY homePage.description "This page is displayed when users first start the Firefox browser, or when they click the Home button.">
|
||||
|
||||
<!ENTITY titleBar.caption "Browser Window's Title Bar Text">
|
||||
<!ENTITY titleBar.label "Custom Title Bar Text:">
|
||||
<!ENTITY titleBar.description "The text you enter (for example, your company name) appears after the page title in the title bar. It is recommended that you use the format
|
||||
<html:i>Mozilla Firefox: Companyname Edition</html:i>">
|
||||
|
||||
<!ENTITY customizePartTwo.label "Customize the Browser - Part Two">
|
||||
|
||||
<!ENTITY animLogo.caption "Animated Logo">
|
||||
<!ENTITY animLogoURL.label "Logo Button URL:">
|
||||
<!ENTITY animLogoURL.description "Enter the URL that users will go to when they click the animated logo button.">
|
||||
<!ENTITY animLogoTooltip.description "Enter the tooltip that users will see when they mouse over the animated logo button.">
|
||||
<!ENTITY animLogoTooltip.label "Logo Button Tooltip:">
|
||||
<!ENTITY animLogoAnim.description "Path to Your Animated GIF File (16x16 pixels):">
|
||||
<!ENTITY animLogoStill.description "Path to Your At Rest GIF or PNG File (16x16 pixels):">
|
||||
|
||||
<!ENTITY customizePartThree.label "Customize the Browser - Part Three">
|
||||
|
||||
<!ENTITY helpMenu.caption "Help Menu">
|
||||
<!ENTITY helpMenu.description "You can add an item to the Help Menu which provides a link to your online customer support page.">
|
||||
<!ENTITY helpMenuText.label "Menu Item Text:">
|
||||
<!ENTITY helpMenuURL.label "Help Menu Item URL:">
|
||||
<!ENTITY helpMenuAccesskey.label "Help Menu Item Accesskey:">
|
||||
|
||||
<!ENTITY allowedSites.caption "Allowed Sites">
|
||||
<!ENTITY allowedSites.description "You can specify domains for which popups and/or XPI installs are allowed. List the domains, separated by a comma.">
|
||||
<!ENTITY popupAllowedSites.label "Popup Allowed Sites:">
|
||||
<!ENTITY installAllowedSites.label "Install Allowed Sites:">
|
||||
|
||||
<!ENTITY customizeBrowserPlugins.label "Customize Browser Plug-ins">
|
||||
<!ENTITY browserPlugins.description "You may select up to five browser plug-ins to be preinstalled.">
|
||||
|
||||
|
||||
|
||||
|
||||
<!ENTITY customizeSearchPlugins.label "Customize Search Plugins">
|
||||
<!ENTITY searchPlugins.description "You may select up to five search plugins to be preinstalled.">
|
||||
|
||||
<!ENTITY file.label "File:">
|
||||
<!ENTITY icon.label "Icon:">
|
||||
<!ENTITY folderTitle.label "Folder Title:">
|
||||
|
||||
<!ENTITY customizeToolbarOne.label "Customize the Personal Toolbar - Part One">
|
||||
|
||||
<!ENTITY addToolbarFolder.caption "Add a folder to the personal toolbar">
|
||||
<!ENTITY addToolbarFolder.description "You can add a folder with up to five bookmarks to the personal toolbar.">
|
||||
<!ENTITY addToolbarBookmark.caption "Add bookmarks to the personal toolbar">
|
||||
<!ENTITY addToolbarBookmark.description "You can add up to five bookmarks to the personal toolbar.">
|
||||
|
||||
|
||||
|
||||
<!ENTITY customizeToolbarTwo.label "Customize the Personal Toolbar - Part Two">
|
||||
|
||||
<!ENTITY customizeBookmarksOne.label "Customize Bookmarks - Part One">
|
||||
<!ENTITY customizeBookmarksTwo.label "Customize Bookmarks - Part Two">
|
||||
|
||||
<!ENTITY addBookmarkFolder.caption "Add a folder to bookmarks">
|
||||
<!ENTITY addBookmarkFolder.description "You can add a folder with up to five bookmarks to bookmarks.">
|
||||
<!ENTITY addBookmark.caption "Add bookmarks">
|
||||
<!ENTITY addBookmark.description "You can add up to five bookmarks.">
|
||||
|
||||
|
||||
|
||||
<!ENTITY bookmarkTitle.label "Bookmark Title">
|
||||
<!ENTITY bookmarkURL.label "URL">
|
||||
|
||||
|
||||
<!ENTITY customizePrefs.label "Customize Preferences">
|
||||
<!ENTITY prefs.label "Preferences">
|
||||
<!ENTITY prefs.description "You can add up to five custom preferences. Note these preferences are stored exactly as written, so put quotes around string preferences.">
|
||||
|
||||
<!ENTITY prefName.label "Preference Name">
|
||||
<!ENTITY prefValue.label "Value: ">
|
||||
|
||||
<!ENTITY customizeCerts.label "Customize Certificates">
|
||||
<!ENTITY customizeCerts.warning "You may select up to five certificates to be preinstalled.<html:br/><html:br/>
|
||||
<html:b>IMPORTANT: If you add certificates to Firefox, you CANNOT
|
||||
ship a browser outside of your company or institution and call it Firefox.
|
||||
This feature is intended primarily for corporate and institutional users
|
||||
that will be deploying Firefox inside their organization.</html:b>">
|
||||
|
||||
<!ENTITY customizeProxy.label "Customize Proxy Configurations">
|
||||
|
||||
<!ENTITY proxyTitle.label "Configure Proxies to Access the Internet">
|
||||
<!ENTITY directTypeRadio.label "Direct connection to the Internet">
|
||||
<!ENTITY directTypeRadio.accesskey "d">
|
||||
<!ENTITY WPADTypeRadio.label "Auto-detect proxy settings for this network">
|
||||
<!ENTITY WPADTypeRadio.accesskey "w">
|
||||
<!ENTITY manualTypeRadio.label "Manual proxy configuration:">
|
||||
<!ENTITY manualTypeRadio.accesskey "m">
|
||||
<!ENTITY autoTypeRadio.label "Automatic proxy configuration URL:">
|
||||
<!ENTITY autoTypeRadio.accesskey "a">
|
||||
<!ENTITY configAutoconfigText.label "Configuration location (URL):">
|
||||
<!ENTITY configAutoconfigText.accesskey "u">
|
||||
<!ENTITY reload.label "Reload">
|
||||
<!ENTITY reload.accesskey "l">
|
||||
<!ENTITY ftp.label "FTP Proxy:">
|
||||
<!ENTITY ftp.accesskey "f">
|
||||
<!ENTITY gopher.label "Gopher Proxy:">
|
||||
<!ENTITY gopher.accesskey "g">
|
||||
<!ENTITY http.label "HTTP Proxy:">
|
||||
<!ENTITY http.accesskey "h">
|
||||
<!ENTITY ssl.label "SSL Proxy:">
|
||||
<!ENTITY ssl.accesskey "s">
|
||||
<!ENTITY socks.label "SOCKS Host:">
|
||||
<!ENTITY socks.accesskey "c">
|
||||
<!ENTITY socks4.label "SOCKS v4">
|
||||
<!ENTITY socks4.accesskey "k">
|
||||
<!ENTITY socks5.label "SOCKS v5">
|
||||
<!ENTITY socks5.accesskey "v">
|
||||
<!ENTITY port.label "Port:">
|
||||
<!ENTITY HTTPport.accesskey "p">
|
||||
<!ENTITY SSLport.accesskey "o">
|
||||
<!ENTITY FTPport.accesskey "r">
|
||||
<!-- No accesskey for gopher (':' doesn't go well) - mpt's going to redesign the window -->
|
||||
<!ENTITY gopherPort.accesskey "">
|
||||
<!ENTITY SOCKSport.accesskey "t">
|
||||
<!ENTITY noproxy.label "No Proxy for:">
|
||||
<!ENTITY noproxy.accesskey "n">
|
||||
<!ENTITY noproxyExplain.label "Example: .mozilla.org, .net.nz, 192.168.1.0/24">
|
||||
<!ENTITY shareproxy.label "Use this proxy server for all protocols">
|
||||
<!ENTITY shareproxy.accesskey "x">
|
||||
|
||||
|
||||
<!ENTITY showConfig.title "Show Configuration">
|
||||
|
||||
<!ENTITY createConfig.title "Create New Configuration">
|
||||
<!ENTITY configName.label "Name of new configuration">
|
||||
<!ENTITY configLocation.label "Location of new configuration">
|
|
@ -0,0 +1,5 @@
|
|||
#filter substitution
|
||||
|
||||
cckwizard.jar:
|
||||
% locale cckwizard @AB_CD@ %locale/@AB_CD@/cckwizard/
|
||||
locale/@AB_CD@/cckwizard/cckWizard.dtd (@AB_CD@/chrome/cckWizard.dtd)
|
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0"?>
|
||||
<overlay id="cckwizardOverlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||
<script src="chrome://browser/content/utilityOverlay.js"/>
|
||||
|
||||
<menupopup id="menu_ToolsPopup">
|
||||
<menuitem label="CCK Wizard" insertafter="devToolsSeparator"
|
||||
oncommand="window.openDialog('chrome://cckwizard/content/cckwizard.xul','cckwizard','chrome,modal');"
|
||||
onclick="checkForMiddleClick(this, event);"/>
|
||||
</menupopup>
|
||||
</overlay>
|
||||
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
Двоичный файл не отображается.
После Ширина: | Высота: | Размер: 905 B |
|
@ -0,0 +1,4 @@
|
|||
windowTitle=Firefox CCK
|
||||
deleteConfirm=Are you sure you want to delete this configuration?
|
||||
outputLocation=Firefox CCK Wizard is completed. XPI is available at:\n
|
||||
|
|
@ -0,0 +1,665 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<!-- ***** BEGIN LICENSE BLOCK *****
|
||||
#if 0
|
||||
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
-
|
||||
- The contents of this file are subject to the Mozilla Public License Version
|
||||
- 1.1 (the "License"); you may not use this file except in compliance with
|
||||
- the License. You may obtain a copy of the License at
|
||||
- http://www.mozilla.org/MPL/
|
||||
-
|
||||
- Software distributed under the License is distributed on an "AS IS" basis,
|
||||
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
- for the specific language governing rights and limitations under the
|
||||
- License.
|
||||
-
|
||||
- The Original Code is the Client Customization Kit (CCK).
|
||||
-
|
||||
- The Initial Developer of the Original Code is IBM Corp.
|
||||
- Portions created by the Initial Developer are Copyright (C) 2005
|
||||
- the Initial Developer. All Rights Reserved.
|
||||
-
|
||||
- Contributor(s):
|
||||
-
|
||||
- Alternatively, the contents of this file may be used under the terms of
|
||||
- either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
- in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
- of those above. If you wish to allow use of your version of this file only
|
||||
- under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
- use your version of this file under the terms of the MPL, indicate your
|
||||
- decision by deleting the provisions above and replace them with the notice
|
||||
- and other provisions required by the LGPL or the GPL. If you do not delete
|
||||
- the provisions above, a recipient may use your version of this file under
|
||||
- the terms of any one of the MPL, the GPL or the LGPL.
|
||||
-
|
||||
#endif
|
||||
- ***** END LICENSE BLOCK ***** -->
|
||||
|
||||
<!DOCTYPE prefwindow SYSTEM "chrome://cckwizard/locale/cckWizard.dtd">
|
||||
|
||||
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
|
||||
|
||||
<wizard id="example-window" title="&cckWizard.title;"
|
||||
height="480"
|
||||
width="640"
|
||||
onwizardcancel="alert('&cckWizard.oncancel;');saveconfig();"
|
||||
onwizardfinish="CreateCCK();"
|
||||
xmlns:html="http://www.w3.org/1999/xhtml"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||
<script src="chrome://cckwizard/content/cckwizard.js"/>
|
||||
|
||||
<wizardpage onpageshow="ShowMain();">
|
||||
<description>&cckWizard.description;</description>
|
||||
<groupbox>
|
||||
<caption label="&beforeYouBegin.label;"/>
|
||||
<description>&beforeYouBegin.description;</description>
|
||||
</groupbox>
|
||||
<groupbox>
|
||||
<caption label="&selectConfig.label;"/>
|
||||
<description>&selectConfig.description;</description>
|
||||
<hbox>
|
||||
<menulist style="min-width: 50px;" flex="1" id="byb-configs" sizetopopup="false" oncommand="setcurrentconfig(this.selectedItem.value);">
|
||||
<menupopup>
|
||||
</menupopup>
|
||||
</menulist>
|
||||
<button label="&showConfig.label;" oncommand="ShowConfigInfo()"/>
|
||||
<button label="&newConfig.label;" oncommand="CreateConfig();"/>
|
||||
<button label="©Config.label;" disabled="true" oncommand="CopyConfig();"/>/>
|
||||
<button label="&deleteConfig.label;" id="deleteconfig" oncommand="DeleteConfig();"/>
|
||||
</hbox>
|
||||
</groupbox>
|
||||
</wizardpage>
|
||||
|
||||
<wizardpage label="&customizeExt.label;" description="&customizeExt.description;" onpageshow="initimage('iconURL','icon');" onpageadvanced="return ValidateFile('iconURL')">
|
||||
<hbox align="center">
|
||||
<spacer flex="1"/>
|
||||
<label>&id.label;</label>
|
||||
<textbox id="id" style="width: 350px;" tooltiptext="Format: cck-companyname@extensions.domainname.tld"/>
|
||||
</hbox>
|
||||
<hbox align="center">
|
||||
<spacer flex="1"/>
|
||||
<label>&name.label;</label>
|
||||
<textbox id="name" style="width: 350px;"/>
|
||||
</hbox>
|
||||
<hbox align="center">
|
||||
<spacer flex="1"/>
|
||||
<label>&version.label;</label>
|
||||
<textbox id="version" style="width: 350px;"/>
|
||||
</hbox>
|
||||
<hbox align="center">
|
||||
<spacer flex="1"/>
|
||||
<label>&description.label;</label>
|
||||
<textbox id="description" style="width: 350px;"/>
|
||||
</hbox>
|
||||
<hbox align="center">
|
||||
<spacer flex="1"/>
|
||||
<label>&creator.label;</label>
|
||||
<textbox id="creator" style="width: 350px;"/>
|
||||
</hbox>
|
||||
<hbox align="center">
|
||||
<spacer flex="1"/>
|
||||
<label>&homepageURL.label;</label>
|
||||
<textbox id="homepageURL" style="width: 350px;"/>
|
||||
</hbox>
|
||||
<hbox align="center">
|
||||
<spacer flex="1"/>
|
||||
<label>&updateURL.label;</label>
|
||||
<textbox id="updateURL" style="width: 350px;"/>
|
||||
</hbox>
|
||||
<hbox align="center">
|
||||
<spacer flex="1"/>
|
||||
<label>&icon.label;</label>
|
||||
<hbox>
|
||||
<textbox style="min-width: 226px;" flex="1" id="iconURL"/>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<image id="icon" src='' width='32' height='32'/>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<button label="&chooseFile.label;" oncommand="chooseimage('iconURL','icon');"/>
|
||||
</hbox>
|
||||
</hbox>
|
||||
<hbox align="center">
|
||||
<spacer flex="1"/>
|
||||
<label>&filename.label;</label>
|
||||
<textbox id="filename" style="width: 335px;"/>
|
||||
<label>.xpi</label>
|
||||
</hbox>
|
||||
</wizardpage>
|
||||
|
||||
<wizardpage label="&customizePartOne.label;" onpageadvanced="return Validate('OrganizationName','&orgName.error;')">
|
||||
<groupbox>
|
||||
<caption label="&orgName.caption;"/>
|
||||
<description>&orgName.description;</description>
|
||||
<hbox align="center">
|
||||
<label>&orgName.label;</label>
|
||||
<textbox id="OrganizationName" maxlength="10" flex="1"/>
|
||||
</hbox>
|
||||
</groupbox>
|
||||
<groupbox>
|
||||
<caption label="&homePage.caption;"/>
|
||||
<description>&homePage.description;</description>
|
||||
<hbox align="center">
|
||||
<label>&homePage.label;</label>
|
||||
<textbox id="HomePageURL" flex="1"/>
|
||||
</hbox>
|
||||
</groupbox>
|
||||
<groupbox>
|
||||
<caption label="&titleBar.caption;"/>
|
||||
<description>&titleBar.description;</description>
|
||||
<hbox align="center">
|
||||
<label>&titleBar.label;</label>
|
||||
<textbox id="CompanyName" flex="1"/>
|
||||
</hbox>
|
||||
</groupbox>
|
||||
</wizardpage>
|
||||
|
||||
<wizardpage label="&customizePartTwo.label;" onpageshow="initimage('LargeStillPath','LargeStill');initimage('LargeAnimPath','LargeAnim');" onpageadvanced="return ValidateFile('LargeAnimPath','LargeStillPath');">
|
||||
<groupbox>
|
||||
<caption label="&animLogo.caption;"/>
|
||||
<description>&animLogoURL.description;</description>
|
||||
<hbox align="center">
|
||||
<label>&animLogoURL.label;</label>
|
||||
<textbox flex="1" id="AnimatedLogoURL"/>
|
||||
</hbox>
|
||||
<description>&animLogoTooltip.description;</description>
|
||||
<hbox align="center">
|
||||
<label>&animLogoTooltip.label;</label>
|
||||
<textbox flex="1" id="AnimatedLogoTooltip"/>
|
||||
</hbox>
|
||||
<description>&animLogoAnim.description;</description>
|
||||
<hbox align="center">
|
||||
<textbox id="LargeAnimPath" flex="1"/>
|
||||
<image id="LargeAnim" src='' width='16' height='16'/>
|
||||
<button label="&chooseFile.label;" oncommand="chooseimage('LargeAnimPath','LargeAnim');"/>
|
||||
</hbox>
|
||||
<description>&animLogoStill.description;</description>
|
||||
<hbox align="center">
|
||||
<textbox id="LargeStillPath" flex="1"/>
|
||||
<image id="LargeStill" src='' width='16' height='16'/>
|
||||
<button label="&chooseFile.label;" oncommand="chooseimage('LargeStillPath','LargeStill');"/>
|
||||
</hbox>
|
||||
</groupbox>
|
||||
</wizardpage>
|
||||
|
||||
<wizardpage label="&customizePartThree.label;">
|
||||
<groupbox>
|
||||
<caption label="&helpMenu.caption;"/>
|
||||
<description>&helpMenu.description;</description>
|
||||
<vbox>
|
||||
<label>&helpMenuText.label;</label>
|
||||
<textbox id="HelpMenuCommandName" flex="1"/>
|
||||
</vbox>
|
||||
<vbox>
|
||||
<label>&helpMenuURL.label;</label>
|
||||
<textbox id="HelpMenuCommandURL" flex="1"/>
|
||||
</vbox>
|
||||
<vbox>
|
||||
<label>&helpMenuAccesskey.label;</label>
|
||||
<textbox id="HelpMenuCommandAccesskey" flex="1"/>
|
||||
</vbox>
|
||||
</groupbox>
|
||||
<groupbox>
|
||||
<caption label="&allowedSites.caption;"/>
|
||||
<description>&allowedSites.description;</description>
|
||||
<vbox>
|
||||
<label>&popupAllowedSites.label;</label>
|
||||
<textbox id="PopupAllowedSites" flex="1"/>
|
||||
</vbox>
|
||||
<vbox>
|
||||
<label>&installAllowedSites.label;</label>
|
||||
<textbox id="InstallAllowedSites" flex="1"/>
|
||||
</vbox>
|
||||
</groupbox>
|
||||
</wizardpage>
|
||||
|
||||
|
||||
<wizardpage label="&customizeBrowserPlugins.label;" onpageadvanced="return ValidateFile('BrowserPluginPath1','BrowserPluginPath2','BrowserPluginPath3','BrowserPluginPath4','BrowserPluginPath5');">
|
||||
<description>&browserPlugins.description;</description>
|
||||
<hbox>
|
||||
<textbox id="BrowserPluginPath1" flex="1"/>
|
||||
<button label="&chooseFile.label;" oncommand="choosefile('BrowserPluginPath1');"/>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<textbox id="BrowserPluginPath2" flex="1"/>
|
||||
<button label="&chooseFile.label;" oncommand="choosefile('BrowserPluginPath3');"/>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<textbox id="BrowserPluginPath3" flex="1"/>
|
||||
<button label="&chooseFile.label;" oncommand="choosefile('BrowserPluginPath3');"/>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<textbox id="BrowserPluginPath4" flex="1"/>
|
||||
<button label="&chooseFile.label;" oncommand="choosefile('BrowserPluginPath4');"/>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<textbox id="BrowserPluginPath5" flex="1"/>
|
||||
<button label="&chooseFile.label;" oncommand="choosefile('BrowserPluginPath5');"/>
|
||||
</hbox>
|
||||
</wizardpage>
|
||||
|
||||
<wizardpage label="&customizeSearchPlugins.label;" onpageadvanced="return ValidateFile('SearchPlugin1','SearchPluginIcon1','SearchPlugin2','SearchPluginIcon2','SearchPlugin3','SearchPluginIcon3','SearchPlugin4','SearchPluginIcon4','SearchPlugin5','SearchPluginIcon5');">
|
||||
<description>&searchPlugins.description;</description>
|
||||
<html:hr/>
|
||||
<hbox align="center">
|
||||
<spacer flex="1"/>
|
||||
<label>&file.label;</label>
|
||||
<textbox id="SearchPlugin1" style="min-width: 375px;" flex="1" />
|
||||
<button label="&chooseFile.label;" oncommand="choosefile('SearchPlugin1');"/>
|
||||
</hbox>
|
||||
<hbox style="width: 350px;">
|
||||
<spacer flex="1"/>
|
||||
<label>&icon.label;</label>
|
||||
<textbox id="SearchPluginIcon1" style="min-width: 380px;" flex="1" />
|
||||
<button label="&chooseFile.label;" oncommand="choosefile('SearchPluginIcon1');"/>
|
||||
</hbox>
|
||||
<html:hr/>
|
||||
<hbox align="center">
|
||||
<spacer flex="1"/>
|
||||
<label>&file.label;</label>
|
||||
<textbox id="SearchPlugin2" style="min-width: 375px;" flex="1" />
|
||||
<button label="&chooseFile.label;" oncommand="choosefile('SearchPlugin2');"/>
|
||||
</hbox>
|
||||
<hbox style="width: 350px;">
|
||||
<spacer flex="1"/>
|
||||
<label>&icon.label;</label>
|
||||
<textbox id="SearchPluginIcon2" style="min-width: 380px;" flex="1" />
|
||||
<button label="&chooseFile.label;" oncommand="choosefile('SearchPluginIcon2');"/>
|
||||
</hbox>
|
||||
<html:hr/>
|
||||
<hbox align="center">
|
||||
<spacer flex="1"/>
|
||||
<label>&file.label;</label>
|
||||
<textbox id="SearchPlugin3" style="min-width: 375px;" flex="1" />
|
||||
<button label="&chooseFile.label;" oncommand="choosefile('SearchPlugin3');"/>
|
||||
</hbox>
|
||||
<hbox style="width: 350px;">
|
||||
<spacer flex="1"/>
|
||||
<label>&icon.label;</label>
|
||||
<textbox id="SearchPluginIcon3" style="min-width: 380px;" flex="1" />
|
||||
<button label="&chooseFile.label;" oncommand="choosefile('SearchPluginIcon3');"/>
|
||||
</hbox>
|
||||
<html:hr/>
|
||||
<hbox align="center">
|
||||
<spacer flex="1"/>
|
||||
<label>&file.label;</label>
|
||||
<textbox id="SearchPlugin4" style="min-width: 375px;" flex="1" />
|
||||
<button label="&chooseFile.label;" oncommand="choosefile('SearchPlugin4');"/>
|
||||
</hbox>
|
||||
<hbox style="width: 350px;">
|
||||
<spacer flex="1"/>
|
||||
<label>&icon.label;</label>
|
||||
<textbox id="SearchPluginIcon4" style="min-width: 380px;" flex="1" />
|
||||
<button label="&chooseFile.label;" oncommand="choosefile('SearchPluginIcon4');"/>
|
||||
</hbox>
|
||||
<html:hr/>
|
||||
<hbox align="center">
|
||||
<spacer flex="1"/>
|
||||
<label>&file.label;</label>
|
||||
<textbox id="SearchPlugin5" style="min-width: 375px;" flex="1" />
|
||||
<button label="&chooseFile.label;" oncommand="choosefile('SearchPlugin5');"/>
|
||||
</hbox>
|
||||
<hbox style="width: 350px;">
|
||||
<spacer flex="1"/>
|
||||
<label>&icon.label;</label>
|
||||
<textbox id="SearchPluginIcon5" style="min-width: 380px;" flex="1" />
|
||||
<button label="&chooseFile.label;" oncommand="choosefile('SearchPluginIcon5');"/>
|
||||
</hbox>
|
||||
<html:hr/>
|
||||
</wizardpage>
|
||||
|
||||
<wizardpage label="&customizeToolbarOne.label;">
|
||||
<groupbox>
|
||||
<caption label="&addToolbarFolder.caption;"/>
|
||||
<description>&addToolbarFolder.description;</description>
|
||||
<hbox>
|
||||
<label>&folderTitle.label;</label>
|
||||
<textbox id="ToolbarFolder1"/>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label>&bookmarkTitle.label;1:</label>
|
||||
<textbox id="ToolbarFolder1.BookmarkTitle1"/>
|
||||
<label>&bookmarkURL.label;1:</label>
|
||||
<textbox id="ToolbarFolder1.BookmarkURL1"/>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label>&bookmarkTitle.label;2:</label>
|
||||
<textbox id="ToolbarFolder1.BookmarkTitle2"/>
|
||||
<label>&bookmarkURL.label;1:</label>
|
||||
<textbox id="ToolbarFolder1.BookmarkURL2"/>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label>&bookmarkTitle.label;3:</label>
|
||||
<textbox id="ToolbarFolder1.BookmarkTitle3"/>
|
||||
<label>&bookmarkURL.label;1:</label>
|
||||
<textbox id="ToolbarFolder1.BookmarkURL3"/>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label>&bookmarkTitle.label;4:</label>
|
||||
<textbox id="ToolbarFolder1.BookmarkTitle4"/>
|
||||
<label>&bookmarkURL.label;1:</label>
|
||||
<textbox id="ToolbarFolder1.BookmarkURL4"/>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label>&bookmarkTitle.label;5:</label>
|
||||
<textbox id="ToolbarFolder1.BookmarkTitle5"/>
|
||||
<label>&bookmarkURL.label;1:</label>
|
||||
<textbox id="ToolbarFolder1.BookmarkURL5"/>
|
||||
</hbox>
|
||||
</groupbox>
|
||||
</wizardpage>
|
||||
|
||||
<wizardpage label="&customizeToolbarTwo.label;">
|
||||
<groupbox>
|
||||
<caption label="&addToolbarBookmark.caption;"/>
|
||||
<description>&addToolbarBookmark.description;</description>
|
||||
<hbox>
|
||||
<label>&bookmarkTitle.label;1:</label>
|
||||
<textbox id="ToolbarBookmarkTitle1"/>
|
||||
<label>&bookmarkURL.label;1:</label>
|
||||
<textbox id="ToolbarBookmarkURL1"/>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label>&bookmarkTitle.label;2:</label>
|
||||
<textbox id="ToolbarBookmarkTitle2"/>
|
||||
<label>&bookmarkURL.label;1:</label>
|
||||
<textbox id="ToolbarBookmarkURL2"/>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label>&bookmarkTitle.label;3:</label>
|
||||
<textbox id="ToolbarBookmarkTitle3"/>
|
||||
<label>&bookmarkURL.label;1:</label>
|
||||
<textbox id="ToolbarBookmarkURL3"/>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label>&bookmarkTitle.label;4:</label>
|
||||
<textbox id="ToolbarBookmarkTitle4"/>
|
||||
<label>&bookmarkURL.label;1:</label>
|
||||
<textbox id="ToolbarBookmarkURL4"/>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label>&bookmarkTitle.label;5:</label>
|
||||
<textbox id="ToolbarBookmarkTitle5"/>
|
||||
<label>&bookmarkURL.label;1:</label>
|
||||
<textbox id="ToolbarBookmarkURL5"/>
|
||||
</hbox>
|
||||
</groupbox>
|
||||
</wizardpage>
|
||||
|
||||
<wizardpage label="&customizeBookmarksOne.label;">
|
||||
<groupbox>
|
||||
<caption label="&addBookmarkFolder.caption;"/>
|
||||
<description>&addBookmarkFolder.description;</description>
|
||||
<hbox>
|
||||
<label>&folderTitle.label;</label>
|
||||
<textbox id="BookmarkFolder1"/>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label>&bookmarkTitle.label;1:</label>
|
||||
<textbox id="BookmarkFolder1.BookmarkTitle1"/>
|
||||
<label>&bookmarkURL.label;1:</label>
|
||||
<textbox id="BookmarkFolder1.BookmarkURL1"/>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label>&bookmarkTitle.label;2:</label>
|
||||
<textbox id="BookmarkFolder1.BookmarkTitle2"/>
|
||||
<label>&bookmarkURL.label;1:</label>
|
||||
<textbox id="BookmarkFolder1.BookmarkURL2"/>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label>&bookmarkTitle.label;3:</label>
|
||||
<textbox id="BookmarkFolder1.BookmarkTitle3"/>
|
||||
<label>&bookmarkURL.label;1:</label>
|
||||
<textbox id="BookmarkFolder1.BookmarkURL3"/>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label>&bookmarkTitle.label;4:</label>
|
||||
<textbox id="BookmarkFolder1.BookmarkTitle4"/>
|
||||
<label>&bookmarkURL.label;1:</label>
|
||||
<textbox id="BookmarkFolder1.BookmarkURL4"/>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label>&bookmarkTitle.label;5:</label>
|
||||
<textbox id="BookmarkFolder1.BookmarkTitle5"/>
|
||||
<label>&bookmarkURL.label;1:</label>
|
||||
<textbox id="BookmarkFolder1.BookmarkURL5"/>
|
||||
</hbox>
|
||||
</groupbox>
|
||||
</wizardpage>
|
||||
|
||||
<wizardpage label="&customizeBookmarksTwo.label;">
|
||||
<groupbox>
|
||||
<caption label="&addBookmark.caption;"/>
|
||||
<description>&addBookmark.description;</description>
|
||||
<hbox>
|
||||
<label>&bookmarkTitle.label;1:</label>
|
||||
<textbox id="BookmarkTitle1"/>
|
||||
<label>&bookmarkURL.label;1:</label>
|
||||
<textbox id="BookmarkURL1"/>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label>&bookmarkTitle.label;2:</label>
|
||||
<textbox id="BookmarkTitle2"/>
|
||||
<label>&bookmarkURL.label;1:</label>
|
||||
<textbox id="BookmarkURL2"/>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label>&bookmarkTitle.label;3:</label>
|
||||
<textbox id="BookmarkTitle3"/>
|
||||
<label>&bookmarkURL.label;1:</label>
|
||||
<textbox id="BookmarkURL3"/>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label>&bookmarkTitle.label;4:</label>
|
||||
<textbox id="BookmarkTitle4"/>
|
||||
<label>&bookmarkURL.label;1:</label>
|
||||
<textbox id="BookmarkURL4"/>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label>&bookmarkTitle.label;5:</label>
|
||||
<textbox id="BookmarkTitle5"/>
|
||||
<label>&bookmarkURL.label;1:</label>
|
||||
<textbox id="BookmarkURL5"/>
|
||||
</hbox>
|
||||
</groupbox>
|
||||
</wizardpage>
|
||||
|
||||
<wizardpage label="&customizePrefs.label;">
|
||||
<groupbox>
|
||||
<caption label="&prefs.label;"/>
|
||||
<description>&prefs.description;</description>
|
||||
<hbox>
|
||||
<label>&prefName.label;1:</label>
|
||||
<textbox id="PreferenceName1"/>
|
||||
<label>&prefValue.label;</label>
|
||||
<textbox id="PreferenceValue1"/>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label>&prefName.label;2:</label>
|
||||
<textbox id="PreferenceName2"/>
|
||||
<label>&prefValue.label;</label>
|
||||
<textbox id="PreferenceValue2"/>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label>&prefName.label;3:</label>
|
||||
<textbox id="PreferenceName3"/>
|
||||
<label>&prefValue.label;</label>
|
||||
<textbox id="PreferenceValue3"/>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label>&prefName.label;4:</label>
|
||||
<textbox id="PreferenceName4"/>
|
||||
<label>&prefValue.label;</label>
|
||||
<textbox id="PreferenceValue4"/>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label>&prefName.label;5:</label>
|
||||
<textbox id="PreferenceName5"/>
|
||||
<label>&prefValue.label;</label>
|
||||
<textbox id="PreferenceValue5"/>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label>&prefName.label;6:</label>
|
||||
<textbox id="PreferenceName6"/>
|
||||
<label>&prefValue.label;</label>
|
||||
<textbox id="PreferenceValue6"/>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label>&prefName.label;7:</label>
|
||||
<textbox id="PreferenceName7"/>
|
||||
<label>&prefValue.label;</label>
|
||||
<textbox id="PreferenceValue7"/>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label>&prefName.label;8:</label>
|
||||
<textbox id="PreferenceName8"/>
|
||||
<label>&prefValue.label;</label>
|
||||
<textbox id="PreferenceValue8"/>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label>&prefName.label;9:</label>
|
||||
<textbox id="PreferenceName9"/>
|
||||
<label>&prefValue.label;</label>
|
||||
<textbox id="PreferenceValue9"/>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label>&prefName.label;10:</label>
|
||||
<textbox id="PreferenceName10"/>
|
||||
<label>&prefValue.label;</label>
|
||||
<textbox id="PreferenceValue10"/>
|
||||
</hbox>
|
||||
</groupbox>
|
||||
</wizardpage>
|
||||
|
||||
<wizardpage label="&customizeCerts.label;" onpageadvanced="return ValidateFile('CertPath1','CertPath2','CertPath3','CertPath4','CertPath5');">>
|
||||
<description>&customizeCerts.warning;</description>
|
||||
<hbox>
|
||||
<textbox id="CertPath1" flex="1"/>
|
||||
<button label="&chooseFile.label;" oncommand="choosefile('CertPath1');"/>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<textbox id="CertPath2" flex="1"/>
|
||||
<button label="&chooseFile.label;" oncommand="choosefile('CertPath2');"/>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<textbox id="CertPath3" flex="1"/>
|
||||
<button label="&chooseFile.label;" oncommand="choosefile('CertPath3');"/>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<textbox id="CertPath4" flex="1"/>
|
||||
<button label="&chooseFile.label;" oncommand="choosefile('CertPath4');"/>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<textbox id="CertPath5" flex="1"/>
|
||||
<button label="&chooseFile.label;" oncommand="choosefile('CertPath5');"/>
|
||||
</hbox>
|
||||
</wizardpage>
|
||||
|
||||
<wizardpage label="&customizeProxy.label;">
|
||||
<groupbox>
|
||||
<caption label="&proxyTitle.label;"/>
|
||||
|
||||
<radiogroup id="ProxyType" preference="network.proxy.type"
|
||||
onpreferenceread="return gConnectionsDialog.readProxyType();">
|
||||
<radio value="0" label="&directTypeRadio.label;" accesskey="&directTypeRadio.accesskey;" oncommand="DoEnabling();"/>
|
||||
<radio value="4" label="&WPADTypeRadio.label;" accesskey="&WPADTypeRadio.accesskey;" oncommand="DoEnabling();"/>
|
||||
<radio value="1" label="&manualTypeRadio.label;" accesskey="&manualTypeRadio.accesskey;" oncommand="DoEnabling();"/>
|
||||
<grid class="indent" flex="1">
|
||||
<columns>
|
||||
<column/>
|
||||
<column flex="1"/>
|
||||
</columns>
|
||||
<rows>
|
||||
<row align="center">
|
||||
<hbox pack="end">
|
||||
<label value="&http.label;" accesskey="&http.accesskey;" control="HTTPproxyname"/>
|
||||
</hbox>
|
||||
<hbox align="center">
|
||||
<textbox id="HTTPproxyname" flex="1" preference="network.proxy.http"/>
|
||||
<label value="&port.label;" accesskey="&HTTPport.accesskey;" control="HTTPportno"/>
|
||||
<textbox id="HTTPportno" size="5" preference="network.proxy.http_port"/>
|
||||
</hbox>
|
||||
</row>
|
||||
<row>
|
||||
<hbox/>
|
||||
<hbox>
|
||||
<checkbox id="shareAllProxies" label="&shareproxy.label;" accesskey="&shareproxy.accesskey;"
|
||||
preference="network.proxy.share_proxy_settings" oncommand="toggleProxySettings()"/>
|
||||
</hbox>
|
||||
</row>
|
||||
<row align="center">
|
||||
<hbox pack="end">
|
||||
<label value="&ssl.label;" accesskey="&ssl.accesskey;" control="SSLproxyname"/>
|
||||
</hbox>
|
||||
<hbox align="center">
|
||||
<textbox id="SSLproxyname" flex="1" preference="network.proxy.ssl"/>
|
||||
<label value="&port.label;" accesskey="&SSLport.accesskey;" control="SSLportno"/>
|
||||
<textbox id="SSLportno" size="5" preference="network.proxy.ssl_port"/>
|
||||
</hbox>
|
||||
</row>
|
||||
<row align="center">
|
||||
<hbox pack="end">
|
||||
<label value="&ftp.label;" accesskey="&ftp.accesskey;" control="FTPproxyname"/>
|
||||
</hbox>
|
||||
<hbox align="center">
|
||||
<textbox id="FTPproxyname" flex="1" preference="network.proxy.ftp"/>
|
||||
<label value="&port.label;" accesskey="&FTPport.accesskey;" control="FTPportno"/>
|
||||
<textbox id="FTPportno" size="5" preference="network.proxy.ftp_port"/>
|
||||
</hbox>
|
||||
</row>
|
||||
<row align="center">
|
||||
<hbox pack="end">
|
||||
<label value="&gopher.label;" accesskey="&gopher.accesskey;" control="Gopherproxyname"/>
|
||||
</hbox>
|
||||
<hbox align="center">
|
||||
<textbox id="Gopherproxyname" flex="1" preference="network.proxy.gopher"/>
|
||||
<label value="&port.label;" accesskey="&gopherPort.accesskey;" control="Gopherportno"/>
|
||||
<textbox id="Gopherportno" size="5" preference="network.proxy.gopher_port"/>
|
||||
</hbox>
|
||||
</row>
|
||||
<row align="center">
|
||||
<hbox pack="end">
|
||||
<label value="&socks.label;" accesskey="&socks.accesskey;" control="SOCKShostname"/>
|
||||
</hbox>
|
||||
<hbox align="center">
|
||||
<textbox id="SOCKShostname" flex="1" preference="network.proxy.socks"/>
|
||||
<label value="&port.label;" accesskey="&SOCKSport.accesskey;" control="SOCKSportno"/>
|
||||
<textbox id="SOCKSportno" size="5" preference="network.proxy.socks_port"/>
|
||||
</hbox>
|
||||
</row>
|
||||
<row>
|
||||
<spacer/>
|
||||
<radiogroup id="socksv" orient="horizontal"
|
||||
preference="network.proxy.socks_version">
|
||||
<radio id="SOCKSVersion4" value="4" label="&socks4.label;" accesskey="&socks4.accesskey;" />
|
||||
<radio id="SOCKSVersion5" value="5" label="&socks5.label;" accesskey="&socks5.accesskey;" />
|
||||
</radiogroup>
|
||||
</row>
|
||||
|
||||
<row align="center">
|
||||
<hbox align="center" pack="end">
|
||||
<label value="&noproxy.label;" accesskey="&noproxy.accesskey;" control="networkProxyNone"/>
|
||||
</hbox>
|
||||
<textbox id="NoProxyname" preference="network.proxy.no_proxies_on"/>
|
||||
</row>
|
||||
<row>
|
||||
<spacer/>
|
||||
<label value="&noproxyExplain.label;" control="networkProxyNone"/>
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
<radio value="2" label="&autoTypeRadio.label;" accesskey="&autoTypeRadio.accesskey;" oncommand="DoEnabling();"/>
|
||||
<hbox class="indent" flex="1" align="center">
|
||||
<textbox id="autoproxyurl" flex="1" preference="network.proxy.autoconfig_url"/>
|
||||
</hbox>
|
||||
</radiogroup>
|
||||
</groupbox>
|
||||
</wizardpage>
|
||||
|
||||
<stringbundleset id="stringbundleset">
|
||||
<stringbundle id="bundle_cckwizard" src="chrome://cckwizard/content/cckwizard.properties"/>
|
||||
</stringbundleset>
|
||||
|
||||
</wizard>
|
|
@ -0,0 +1,63 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<!-- ***** BEGIN LICENSE BLOCK *****
|
||||
#if 0
|
||||
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
-
|
||||
- The contents of this file are subject to the Mozilla Public License Version
|
||||
- 1.1 (the "License"); you may not use this file except in compliance with
|
||||
- the License. You may obtain a copy of the License at
|
||||
- http://www.mozilla.org/MPL/
|
||||
-
|
||||
- Software distributed under the License is distributed on an "AS IS" basis,
|
||||
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
- for the specific language governing rights and limitations under the
|
||||
- License.
|
||||
-
|
||||
- The Original Code is the Client Customization Kit (CCK).
|
||||
-
|
||||
- The Initial Developer of the Original Code is IBM Corp.
|
||||
- Portions created by the Initial Developer are Copyright (C) 2005
|
||||
- the Initial Developer. All Rights Reserved.
|
||||
-
|
||||
- Contributor(s):
|
||||
-
|
||||
- Alternatively, the contents of this file may be used under the terms of
|
||||
- either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
- in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
- of those above. If you wish to allow use of your version of this file only
|
||||
- under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
- use your version of this file under the terms of the MPL, indicate your
|
||||
- decision by deleting the provisions above and replace them with the notice
|
||||
- and other provisions required by the LGPL or the GPL. If you do not delete
|
||||
- the provisions above, a recipient may use your version of this file under
|
||||
- the terms of any one of the MPL, the GPL or the LGPL.
|
||||
-
|
||||
#endif
|
||||
- ***** END LICENSE BLOCK ***** -->
|
||||
|
||||
<!DOCTYPE prefwindow SYSTEM "chrome://cckwizard/locale/cckWizard.dtd">
|
||||
|
||||
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
|
||||
|
||||
|
||||
<dialog id="createconfig" title="&createConfig.title;"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
buttons="accept,cancel"
|
||||
ondialogaccept="return OnConfigOK()"
|
||||
width="500"
|
||||
height="200"
|
||||
>
|
||||
<script src="chrome://cckwizard/content/cckwizard.js"/>
|
||||
|
||||
<label>&configName.label;</label>
|
||||
<vbox>
|
||||
<textbox flex="1" id="cnc-name"/>
|
||||
&configLocation.label;
|
||||
<hbox>
|
||||
<textbox readonly="true" flex="1" id="cnc-location"/>
|
||||
<button label="&chooseDir.label;" oncommand="choosedir('cnc-location');"/>
|
||||
</hbox>
|
||||
</vbox>
|
||||
</dialog>
|
|
@ -0,0 +1,57 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<!-- ***** BEGIN LICENSE BLOCK *****
|
||||
#if 0
|
||||
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
-
|
||||
- The contents of this file are subject to the Mozilla Public License Version
|
||||
- 1.1 (the "License"); you may not use this file except in compliance with
|
||||
- the License. You may obtain a copy of the License at
|
||||
- http://www.mozilla.org/MPL/
|
||||
-
|
||||
- Software distributed under the License is distributed on an "AS IS" basis,
|
||||
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
- for the specific language governing rights and limitations under the
|
||||
- License.
|
||||
-
|
||||
- The Original Code is the Client Customization Kit (CCK).
|
||||
-
|
||||
- The Initial Developer of the Original Code is IBM Corp.
|
||||
- Portions created by the Initial Developer are Copyright (C) 2005
|
||||
- the Initial Developer. All Rights Reserved.
|
||||
-
|
||||
- Contributor(s):
|
||||
-
|
||||
- Alternatively, the contents of this file may be used under the terms of
|
||||
- either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
- in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
- of those above. If you wish to allow use of your version of this file only
|
||||
- under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
- use your version of this file under the terms of the MPL, indicate your
|
||||
- decision by deleting the provisions above and replace them with the notice
|
||||
- and other provisions required by the LGPL or the GPL. If you do not delete
|
||||
- the provisions above, a recipient may use your version of this file under
|
||||
- the terms of any one of the MPL, the GPL or the LGPL.
|
||||
-
|
||||
#endif
|
||||
- ***** END LICENSE BLOCK ***** -->
|
||||
|
||||
<!DOCTYPE prefwindow SYSTEM "chrome://cckwizard/locale/cckWizard.dtd">
|
||||
|
||||
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
|
||||
|
||||
|
||||
<dialog id="showconfig" title="&showConfig.title;"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
buttons="accept,cancel"
|
||||
onload="InitConfigInfo()"
|
||||
width="500"
|
||||
height="500"
|
||||
>
|
||||
<script src="chrome://cckwizard/content/cckwizard.js"/>
|
||||
|
||||
<vbox flex="1">
|
||||
<textbox multiline="true" id="showconfigy" flex="1"/>
|
||||
</vbox>
|
||||
</dialog>
|
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE overlay SYSTEM "chrome://cck/content/cck.dtd">
|
||||
<?xml-stylesheet href="chrome://cck/content/cck.css" type="text/css"?>
|
||||
<overlay id="cckOverlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||
<script src="chrome://browser/content/utilityOverlay.js"/>
|
||||
<script src="chrome://cck/content/cck.js"/>
|
||||
|
||||
%button%
|
||||
|
||||
%window%
|
||||
|
||||
%menupopup%
|
||||
|
||||
<stringbundleset id="stringbundleset">
|
||||
<stringbundle id="bundle_cck" src="chrome://cck/content/cck.properties"/>
|
||||
</stringbundleset>
|
||||
</overlay>
|
|
@ -0,0 +1,4 @@
|
|||
<!ENTITY throbber.tooltip "%throbber.tooltip%">
|
||||
<!ENTITY mainWindow.titlemodifier "%mainWindow.titlemodifier%">
|
||||
<!ENTITY cckHelp.label "%cckHelp.label%">
|
||||
<!ENTITY cckHelp.accesskey "%cckHelp.accesskey%">
|
|
@ -0,0 +1,6 @@
|
|||
function getCCKLink(item)
|
||||
{
|
||||
var bundle = document.getElementById("bundle_cck");
|
||||
|
||||
return bundle.getString(item);
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
OrganizationName=%OrganizationName%
|
||||
browser.throbber.url=%browser.throbber.url%
|
||||
cckhelp.url=%cckhelp.url%
|
||||
browser.startup.homepage=%browser.startup.homepage%
|
||||
browser.startup.homepage_reset=%browser.startup.homepage%
|
||||
PopupAllowedSites=%PopupAllowedSites%
|
||||
InstallAllowedSites=%InstallAllowedSites%
|
|
@ -0,0 +1,454 @@
|
|||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
*
|
||||
* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is the Client Customization Kit (CCK).
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Giorgio Maonem <g.maone@informaction.com>
|
||||
* Portions created by the Initial Developer are Copyright (C) 2005
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* IBM Corp.
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the MPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
function CCKService() {
|
||||
this.register();
|
||||
}
|
||||
|
||||
CCKService.prototype={
|
||||
get wrappedJSObject() {
|
||||
return this;
|
||||
}
|
||||
,
|
||||
QueryInterface: function(iid) {
|
||||
this.queryInterfaceSupport(iid,SERVICE_IIDS);
|
||||
return this;
|
||||
}
|
||||
,
|
||||
// nsIObserver implementation
|
||||
observe: function(subject, topic, data) {
|
||||
// dump(SERVICE_NAME+" notified of "+subject+","+topic+","+data); //DDEBUG
|
||||
|
||||
switch(topic) {
|
||||
case "xpcom-shutdown":
|
||||
this.unregister();
|
||||
break;
|
||||
case "profile-after-change":
|
||||
this.init();
|
||||
break;
|
||||
}
|
||||
}
|
||||
,
|
||||
register: function() {
|
||||
const osvr=Components.classes['@mozilla.org/observer-service;1'].getService(
|
||||
Components.interfaces.nsIObserverService);
|
||||
osvr.addObserver(this,"xpcom-shutdown",false);
|
||||
osvr.addObserver(this,"profile-after-change",false);
|
||||
}
|
||||
,
|
||||
unregister: function() {
|
||||
const osvr=Components.classes['@mozilla.org/observer-service;1'].getService(
|
||||
Components.interfaces.nsIObserverService);
|
||||
osvr.removeObserver(this,"xpcom-shutdown");
|
||||
osvr.removeObserver(this,"profile-after-change");
|
||||
}
|
||||
,
|
||||
_inited: false
|
||||
,
|
||||
init: function() {
|
||||
if(this._inited) return;
|
||||
this._inited=true;
|
||||
var prefbranch;
|
||||
try {
|
||||
prefbranch=Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
|
||||
} catch (ex) {
|
||||
return;
|
||||
}
|
||||
var cckinited;
|
||||
try {
|
||||
cckinited = prefbranch.getBoolPref("cck.initialized");
|
||||
} catch (ex) {
|
||||
cckinited = false;
|
||||
}
|
||||
|
||||
var sbs;
|
||||
var bundle;
|
||||
var pm;
|
||||
var ioService;
|
||||
try {
|
||||
sbs = Components.classes["@mozilla.org/intl/stringbundle;1"]
|
||||
.getService(Components.interfaces.nsIStringBundleService );
|
||||
bundle = sbs.createBundle("chrome://cck/content/cck.properties");
|
||||
pm = Components.classes["@mozilla.org/permissionmanager;1"].getService(Components.interfaces.nsIPermissionManager);
|
||||
ioService = Components.classes["@mozilla.org/network/io-service;1"].getService(Components.interfaces.nsIIOService);
|
||||
} catch (ex) {
|
||||
return;
|
||||
}
|
||||
|
||||
const nsIX509CertDB2 = Components.interfaces.nsIX509CertDB2;
|
||||
const nsX509CertDBContractID = "@mozilla.org/security/x509certdb;1";
|
||||
var certDB = Components.classes[nsX509CertDBContractID].getService(nsIX509CertDB2);
|
||||
|
||||
for (var i=1; i<=5; i++) {
|
||||
try {
|
||||
CertName = bundle.GetStringFromName("Cert" + i);
|
||||
} catch (ex) {
|
||||
CertName = "";
|
||||
}
|
||||
if (CertName && CertName.length) {
|
||||
var ioService=Components.classes["@mozilla.org/network/io-service;1"]
|
||||
.getService(Components.interfaces.nsIIOService);
|
||||
var scriptableStream=Components.classes["@mozilla.org/scriptableinputstream;1"]
|
||||
.getService(Components.interfaces.nsIScriptableInputStream);
|
||||
|
||||
var channel=ioService.newChannel("chrome://cck/content/"+CertName,null,null);
|
||||
var input=channel.open();
|
||||
scriptableStream.init(input);
|
||||
var cert=scriptableStream.read(input.available());
|
||||
scriptableStream.close();
|
||||
input.close();
|
||||
cert = cert.replace(/-----BEGIN CERTIFICATE-----[\r\n]/, "");
|
||||
cert = cert.replace(/-----END CERTIFICATE-----[\r\n]/, "");
|
||||
cert = cert.replace(/[\r\n]/g, "");
|
||||
if (!cert.isPerm )
|
||||
certDB.addCertFromBase64(cert, "C,C,C", "");
|
||||
}
|
||||
}
|
||||
|
||||
var popupAllowedSites;
|
||||
try {
|
||||
popupAllowedSites = bundle.GetStringFromName("PopupAllowedSites");
|
||||
} catch (ex) {}
|
||||
if (popupAllowedSites) {
|
||||
var popupAllowedSitesArray = popupAllowedSites.split(",");
|
||||
for (var i=0; i < popupAllowedSitesArray.length; i++) {
|
||||
try {
|
||||
var uri = ioService.newURI("http://" + popupAllowedSitesArray[i], null, null);
|
||||
pm.add(uri, "popup", 1);
|
||||
} catch (ex) {}
|
||||
}
|
||||
}
|
||||
|
||||
var installAllowedSites;
|
||||
try {
|
||||
installAllowedSites = bundle.GetStringFromName("InstallAllowedSites");
|
||||
} catch (ex) {}
|
||||
if (popupAllowedSites) {
|
||||
var installAllowedSitesArray = installAllowedSites.split(",");
|
||||
for (var i=0; i < installAllowedSitesArray.length; i++) {
|
||||
try {
|
||||
var uri = ioService.newURI("http://" + installAllowedSitesArray[i], null, null);
|
||||
pm.add(uri, "install", 1);
|
||||
} catch (ex) {}
|
||||
}
|
||||
}
|
||||
|
||||
/* Only do bookmarks if we haven't been inited to avoid duplicated */
|
||||
if (!cckinited) {
|
||||
var RDF;
|
||||
var BMSVC;
|
||||
var bmRoot;
|
||||
|
||||
try {
|
||||
RDF = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService)
|
||||
BMSVC = RDF.GetDataSource("rdf:bookmarks").QueryInterface(Components.interfaces.nsIBookmarksService);;
|
||||
BMSVC.readBookmarks();
|
||||
bmRoot = RDF.GetResource("NC:BookmarksRoot");
|
||||
} catch (ex) {
|
||||
return false;
|
||||
}
|
||||
|
||||
var ToolbarLocation;
|
||||
var tbIndex = -1; // last
|
||||
|
||||
try {
|
||||
ToolbarLocation = bundle.GetStringFromName("ToolbarLocation");
|
||||
} catch (ex) {}
|
||||
if ((ToolbarLocation) && (ToolbarLocation == "First")) {
|
||||
tbIndex = 1;
|
||||
addBookmarks(bundle, BMSVC, "Toolbar", BMSVC.getBookmarksToolbarFolder(), tbIndex);
|
||||
addLivemarks(bundle, BMSVC, "Toolbar", BMSVC.getBookmarksToolbarFolder(), tbIndex);
|
||||
addFolder(bundle, BMSVC, "Toolbar", BMSVC.getBookmarksToolbarFolder(), tbIndex);
|
||||
} else {
|
||||
addFolder(bundle, BMSVC, "Toolbar", BMSVC.getBookmarksToolbarFolder(), tbIndex);
|
||||
addLivemarks(bundle, BMSVC, "Toolbar", BMSVC.getBookmarksToolbarFolder(), tbIndex);
|
||||
addBookmarks(bundle, BMSVC, "Toolbar", BMSVC.getBookmarksToolbarFolder(), tbIndex);
|
||||
}
|
||||
|
||||
var BookmarkLocation;
|
||||
var bmIndex = -1; // last
|
||||
|
||||
try {
|
||||
BookmarkLocation = bundle.GetStringFromName("BookmarkLocation");
|
||||
} catch (ex) {}
|
||||
if ((BookmarkLocation) && (BookmarkLocation == "First")) {
|
||||
bmIndex = 1;
|
||||
addLivemarks(bundle, BMSVC, "Bookmark", bmRoot, bmIndex);
|
||||
addBookmarks(bundle, BMSVC, "", bmRoot, bmIndex);
|
||||
addFolder(bundle, BMSVC, "Bookmark", bmRoot, bmIndex);
|
||||
} else {
|
||||
addFolder(bundle, BMSVC, "Bookmark", bmRoot, bmIndex);
|
||||
addBookmarks(bundle, BMSVC, "", bmRoot, bmIndex);
|
||||
addLivemarks(bundle, BMSVC, "Bookmark", bmRoot, bmIndex);
|
||||
}
|
||||
|
||||
prefbranch.setBoolPref("cck.initialized", true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function addLivemarks(bundle, BMSVC, prefix, folder, location)
|
||||
{
|
||||
var LivemarkTitle;
|
||||
var LivemarkRSSURL;
|
||||
|
||||
// items are added in reverse order if we are set to "First"
|
||||
var start, end, increment;
|
||||
|
||||
if (location == -1) {
|
||||
start = 1;
|
||||
end = 6;
|
||||
increment = 1;
|
||||
} else {
|
||||
start = 5;
|
||||
end = 0;
|
||||
increment = -1;
|
||||
}
|
||||
|
||||
for (var i=start; i!=end; i+=increment) {
|
||||
try {
|
||||
LivemarkTitle = bundle.GetStringFromName(prefix + "LivemarkTitle" + i);
|
||||
} catch (ex) {
|
||||
LivemarkTitle = "";
|
||||
}
|
||||
if ((LivemarkTitle) && (LivemarkTitle.length)) {
|
||||
try {
|
||||
LivemarkRSSURL = bundle.GetStringFromName(prefix + "LivemarkRSSURL" + i);
|
||||
} catch (ex) {
|
||||
LivemarkRSSURL = "";
|
||||
}
|
||||
if ((LivemarkRSSURL) && (LivemarkRSSURL.length)) {
|
||||
if (BMSVC.createLivemarkInContainer)
|
||||
BMSVC.createLivemarkInContainer(LivemarkTitle, "", LivemarkRSSURL, "", folder, location);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function addBookmarks(bundle, BMSVC, prefix, folder, location)
|
||||
{
|
||||
var BookmarkTitle;
|
||||
var BookmarkURL;
|
||||
|
||||
// items are added in reverse order if we are set to "First"
|
||||
var start, end, increment;
|
||||
|
||||
if (location == -1) {
|
||||
start = 1;
|
||||
end = 6;
|
||||
increment = 1;
|
||||
} else {
|
||||
start = 5;
|
||||
end = 0;
|
||||
increment = -1;
|
||||
}
|
||||
|
||||
for (var i=start; i!=end; i+=increment) {
|
||||
try {
|
||||
BookmarkTitle = bundle.GetStringFromName(prefix + "BookmarkTitle" + i);
|
||||
} catch (ex) {
|
||||
BookmarkTitle = "";
|
||||
}
|
||||
if ((BookmarkTitle) && (BookmarkTitle.length)) {
|
||||
try {
|
||||
BookmarkURL = bundle.GetStringFromName(prefix + "BookmarkURL" + i);
|
||||
} catch (ex) {
|
||||
BookmarkURL = "";
|
||||
}
|
||||
if ((BookmarkURL) && (BookmarkURL.length)) {
|
||||
if (BMSVC.createBookmarkInContainer.length == 8)
|
||||
BMSVC.createBookmarkInContainer(BookmarkTitle, BookmarkURL, "", "", "", "", folder, location);
|
||||
else
|
||||
BMSVC.createBookmarkInContainer(BookmarkTitle, BookmarkURL, "", "", "", folder, location);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function addFolder(bundle, BMSVC, prefix, folder, location)
|
||||
{
|
||||
var BookmarkFolder;
|
||||
var BookmarkTitle;
|
||||
var BookmarkURL;
|
||||
|
||||
// items are added in reverse order if we are set to "First"
|
||||
var start, end, increment;
|
||||
|
||||
if (location == -1) {
|
||||
start = 1;
|
||||
end = 6;
|
||||
increment = 1;
|
||||
} else {
|
||||
start = 5;
|
||||
end = 0;
|
||||
increment = -1;
|
||||
}
|
||||
|
||||
// Bookmarks folder with bookmarks
|
||||
for (var i=start; i!=end; i+=increment) {
|
||||
try {
|
||||
BookmarkFolder = bundle.GetStringFromName(prefix + "Folder" + i);
|
||||
} catch (ex) {
|
||||
BookmarkFolder = "";
|
||||
}
|
||||
if ((BookmarkFolder) && (BookmarkFolder.length)) {
|
||||
var newfolder;
|
||||
if (BMSVC.createBookmarkInContainer.length == 8)
|
||||
newfolder = BMSVC.createFolderInContainer(BookmarkFolder, folder, location);
|
||||
else
|
||||
newfolder = BMSVC.createFolderInContainer(BookmarkFolder, folder, location);
|
||||
for (var j=1; j<=5; j++) {
|
||||
try {
|
||||
BookmarkTitle = bundle.GetStringFromName(prefix + "Folder" + i + ".BookmarkTitle" + j);
|
||||
} catch (ex) {
|
||||
BookmarkTitle = "";
|
||||
}
|
||||
if ((BookmarkTitle) && (BookmarkTitle.length)) {
|
||||
try {
|
||||
BookmarkURL = bundle.GetStringFromName(prefix + "Folder" + i + ".BookmarkURL" + j);
|
||||
} catch (ex) {
|
||||
BookmarkURL = "";
|
||||
}
|
||||
if ((BookmarkURL) && (BookmarkURL.length)) {
|
||||
if (BMSVC.createBookmarkInContainer.length == 8)
|
||||
BMSVC.createBookmarkInContainer(BookmarkTitle, BookmarkURL, "", "", "", "", newfolder, -1);
|
||||
else
|
||||
BMSVC.createBookmarkInContainer(BookmarkTitle, BookmarkURL, "", "", "", newfolder, -1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// XPCOM Scaffolding code
|
||||
|
||||
// component defined in this file
|
||||
const EXTENSION_ID="{73a6fe31-595d-460b-a920-fcc0f8843233}";
|
||||
const SERVICE_NAME="CCK Service";
|
||||
const SERVICE_ID="{31aec909-8e86-4397-9380-63a59e0c5ff6}";
|
||||
const SERVICE_CTRID = "@mozilla.org/cck-service;1";
|
||||
const SERVICE_CONSTRUCTOR=CCKService;
|
||||
|
||||
const SERVICE_CID = Components.ID(SERVICE_ID);
|
||||
|
||||
// interfaces implemented by this component
|
||||
const SERVICE_IIDS =
|
||||
[
|
||||
Components.interfaces.nsIObserver,
|
||||
Components.interfaces.nsISupports,
|
||||
Components.interfaces.nsISupportsWeakReference
|
||||
];
|
||||
|
||||
// Factory object
|
||||
const SERVICE_FACTORY = {
|
||||
_instance: new SERVICE_CONSTRUCTOR(),
|
||||
createInstance: function (outer, iid) {
|
||||
if (outer != null)
|
||||
throw Components.results.NS_ERROR_NO_AGGREGATION;
|
||||
|
||||
xpcom_checkInterfaces(iid,SERVICE_IIDS,Components.results.NS_ERROR_INVALID_ARG);
|
||||
// kept this for flexibility sake, but we're really adopting an
|
||||
// early instantiation and late init singleton pattern
|
||||
return this._instance==null?this._instance=new SERVICE_CONSTRUCTOR():this._instance;
|
||||
}
|
||||
};
|
||||
|
||||
function xpcom_checkInterfaces(iid,iids,ex) {
|
||||
for(var j=iids.length; j-- >0;) {
|
||||
if(iid.equals(iids[j])) return true;
|
||||
}
|
||||
throw ex;
|
||||
}
|
||||
|
||||
// Module
|
||||
|
||||
var Module = new Object();
|
||||
Module.firstTime=true;
|
||||
Module.registerSelf = function (compMgr, fileSpec, location, type) {
|
||||
if(this.firstTime) {
|
||||
|
||||
debug("*** Registering "+SERVICE_CTRID+".\n");
|
||||
|
||||
compMgr.QueryInterface(Components.interfaces.nsIComponentRegistrar
|
||||
).registerFactoryLocation(SERVICE_CID,
|
||||
SERVICE_NAME,
|
||||
SERVICE_CTRID,
|
||||
fileSpec,
|
||||
location,
|
||||
type);
|
||||
|
||||
Components.classes['@mozilla.org/categorymanager;1'].getService(
|
||||
Components.interfaces.nsICategoryManager
|
||||
).addCategoryEntry("app-startup",
|
||||
SERVICE_NAME, "service," + SERVICE_CTRID, true, true, null);
|
||||
|
||||
this.firstTime=false;
|
||||
}
|
||||
}
|
||||
Module.unregisterSelf = function(compMgr, fileSpec, location) {
|
||||
compMgr.QueryInterface(Components.interfaces.nsIComponentRegistrar
|
||||
).unregisterFactoryLocation(SERVICE_CID, fileSpec);
|
||||
Components.classes['@mozilla.org/categorymanager;1'].getService(
|
||||
Components.interfaces.nsICategoryManager
|
||||
).deleteCategoryEntry("app-startup",SERVICE_NAME, true);
|
||||
}
|
||||
|
||||
Module.getClassObject = function (compMgr, cid, iid) {
|
||||
if(cid.equals(SERVICE_CID))
|
||||
return SERVICE_FACTORY;
|
||||
|
||||
if (!iid.equals(Components.interfaces.nsIFactory))
|
||||
throw Components.results.NS_ERROR_NOT_IMPLEMENTED;
|
||||
|
||||
throw Components.results.NS_ERROR_NO_INTERFACE;
|
||||
|
||||
}
|
||||
|
||||
Module.canUnload = function(compMgr) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// entrypoint
|
||||
function NSGetModule(compMgr, fileSpec) {
|
||||
return Module;
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
overlay chrome://browser/content/browser.xul chrome://cck/content/cck-browser-overlay.xul
|
||||
content cck jar:chrome/cck.jar!/content/cck/
|
|
@ -0,0 +1,115 @@
|
|||
// this function verifies disk space in kilobytes
|
||||
function verifyDiskSpace(dirPath, spaceRequired)
|
||||
{
|
||||
var spaceAvailable;
|
||||
|
||||
// Get the available disk space on the given path
|
||||
spaceAvailable = fileGetDiskSpaceAvailable(dirPath);
|
||||
|
||||
// Convert the available disk space into kilobytes
|
||||
spaceAvailable = parseInt(spaceAvailable / 1024);
|
||||
|
||||
// do the verification
|
||||
if(spaceAvailable < spaceRequired)
|
||||
{
|
||||
logComment("Insufficient disk space: " + dirPath);
|
||||
logComment(" required : " + spaceRequired + " K");
|
||||
logComment(" available: " + spaceAvailable + " K");
|
||||
return(false);
|
||||
}
|
||||
|
||||
return(true);
|
||||
}
|
||||
|
||||
// this function deletes a file if it exists
|
||||
function deleteThisFile(dirKey, file)
|
||||
{
|
||||
var fFileToDelete;
|
||||
|
||||
fFileToDelete = getFolder(dirKey, file);
|
||||
logComment("File to delete: " + fFileToDelete);
|
||||
if(File.isFile(fFileToDelete))
|
||||
{
|
||||
File.remove(fFileToDelete);
|
||||
return(true);
|
||||
}
|
||||
else
|
||||
return(false);
|
||||
}
|
||||
|
||||
// this function deletes a folder if it exists
|
||||
function deleteThisFolder(dirKey, folder, recursiveDelete)
|
||||
{
|
||||
var fToDelete;
|
||||
|
||||
if(typeof recursiveDelete == "undefined")
|
||||
recursiveDelete = true;
|
||||
|
||||
fToDelete = getFolder(dirKey, folder);
|
||||
logComment("folder to delete: " + fToDelete);
|
||||
if(File.isDirectory(fToDelete))
|
||||
{
|
||||
File.dirRemove(fToDelete, recursiveDelete);
|
||||
return(true);
|
||||
}
|
||||
else
|
||||
return(false);
|
||||
}
|
||||
|
||||
// OS type detection
|
||||
// which platform?
|
||||
function getPlatform()
|
||||
{
|
||||
var platformStr;
|
||||
var platformNode;
|
||||
|
||||
if('platform' in Install)
|
||||
{
|
||||
platformStr = new String(Install.platform);
|
||||
|
||||
if (!platformStr.search(/^Macintosh/))
|
||||
platformNode = 'mac';
|
||||
else if (!platformStr.search(/^Win/))
|
||||
platformNode = 'win';
|
||||
else if (!platformStr.search(/^OS\/2/))
|
||||
platformNode = 'win';
|
||||
else
|
||||
platformNode = 'unix';
|
||||
}
|
||||
else
|
||||
{
|
||||
var fOSMac = getFolder("Mac System");
|
||||
var fOSWin = getFolder("Win System");
|
||||
|
||||
logComment("fOSMac: " + fOSMac);
|
||||
logComment("fOSWin: " + fOSWin);
|
||||
|
||||
if(fOSMac != null)
|
||||
platformNode = 'mac';
|
||||
else if(fOSWin != null)
|
||||
platformNode = 'win';
|
||||
else
|
||||
platformNode = 'unix';
|
||||
}
|
||||
|
||||
return platformNode;
|
||||
}
|
||||
|
||||
var err = initInstall("%name%", "%name%", "%version%");
|
||||
logComment("initInstall: " + err);
|
||||
|
||||
var extensionsdir = getFolder(getFolder("Program"), "extensions");
|
||||
var cckextensiondir = getFolder(extensionsdir, "%id%");
|
||||
|
||||
addDirectory("", "%version%", "chrome", cckextensiondir, "chrome", true);
|
||||
addDirectory("", "%version%", "components", cckextensiondir, "components", true);
|
||||
%plugins%
|
||||
%searchplugins%
|
||||
addFile("", "%version%", "chrome.manifest", cckextensiondir, "", true);
|
||||
addFile("", "%version%", "install.rdf", cckextensiondir, "", true);
|
||||
|
||||
err = getLastError();
|
||||
if (err==SUCCESS)
|
||||
performInstall();
|
||||
else
|
||||
cancelInstall(err);
|
|
@ -0,0 +1,25 @@
|
|||
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:em="http://www.mozilla.org/2004/em-rdf#">
|
||||
|
||||
<Description about="urn:mozilla:install-manifest">
|
||||
|
||||
%idline%
|
||||
%nameline%
|
||||
%versionline%
|
||||
%descriptionline%
|
||||
%creatorline%
|
||||
%homepageURLline%
|
||||
%updateURLline%
|
||||
%iconURLline%
|
||||
|
||||
<em:targetApplication>
|
||||
<Description>
|
||||
<em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
|
||||
<em:minVersion>1.0+</em:minVersion>
|
||||
<em:maxVersion>1.5.0.*</em:maxVersion>
|
||||
</Description>
|
||||
</em:targetApplication>
|
||||
|
||||
</Description>
|
||||
|
||||
</RDF>
|
Загрузка…
Ссылка в новой задаче