Bug 220891 Create Profile Wizard overhaul

patch by borggraefe@despammed.com r=neil sr=roc
This commit is contained in:
timeless%mozdev.org 2003-11-06 13:33:51 +00:00
Родитель 19c719917b
Коммит 245c412b56
17 изменённых файлов: 269 добавлений и 202 удалений

Просмотреть файл

@ -14,7 +14,6 @@
<?xml-stylesheet href="chrome://communicator/skin/toolbar.css"?>
<?xml-stylesheet href="chrome://communicator/skin/bookmarks/bookmarks.css"?>
<?xml-stylesheet href="chrome://communicator/skin/directory/directory.css"?>
<?xml-stylesheet href="chrome://communicator/skin/profile/newProfile1_2.css"?>
<?xml-stylesheet href="chrome://communicator/skin/profile/profile.css"?>
<?xml-stylesheet href="chrome://communicator/skin/profile/profileManager.css"?>
<?xml-stylesheet href="chrome://communicator/skin/regviewer/regviewer.css"?>
@ -55,7 +54,6 @@
<?xml-stylesheet href="chrome://global/skin/textfield.css"?>
<?xml-stylesheet href="chrome://global/skin/toolbar.css"?>
<?xml-stylesheet href="chrome://global/skin/tree.css"?>
<?xml-stylesheet href="chrome://global/skin/wizardOverlay.css"?>
<?xml-stylesheet href="chrome://messenger/skin/AccountManager.css"?>
<?xml-stylesheet href="chrome://messenger/skin/fieldMapImport.css"?>
<?xml-stylesheet href="chrome://messenger/skin/folderPane.css"?>

Просмотреть файл

@ -20,159 +20,205 @@
* Contributor(s):
* Ben Goodger (30/09/99)
* Brant Gurganus (23/03/03)
* Stefan Borggraefe (17/10/03)
*/
// The WIZARD of GORE
var profile = Components.classes["@mozilla.org/profile/manager;1"].getService();
profile = profile.QueryInterface(Components.interfaces.nsIProfileInternal);
var gCreateProfileWizardBundle;
var gProfile = Components.classes["@mozilla.org/profile/manager;1"].getService(Components.interfaces.nsIProfileInternal);
var gProfileManagerBundle;
// Navigation Set for pages contained in wizard
var wizardMap = {
newProfile1_1: { previous: null, next: "newProfile1_2", finish: false },
newProfile1_2: { previous: "newProfile1_1", next: null, finish: true }
// The directory where the profile will be created.
var gProfileRoot;
// Text node to display the location and name of the profile to create.
var gProfileDisplay;
// Called once when the wizard is opened.
function initWizard()
{
gProfileManagerBundle = document.getElementById("bundle_profileManager");
// Initialize the profile location display.
gProfileDisplay = document.getElementById("profileDisplay").firstChild;
setDisplayToDefaultFolder();
}
// page specific variables
var profName = "";
var profDir = "";
var wizardManager = null;
// startup procedure
function Startup( startPage, frame_id )
// Called every time the second wizard page is displayed.
function initSecondWizardPage()
{
if( frame_id == "" ) {
dump("Please supply a content_frame ID!");
var profileName = document.getElementById("profileName");
profileName.select();
profileName.focus();
// Initialize profile name validation.
checkCurrentInput(profileName.value);
}
function setDisplayToDefaultFolder()
{
setDisplayToFolder(gProfile.defaultProfileParentDir);
document.getElementById("useDefault").disabled = true;
}
function setDisplayToFolder(profileRoot)
{
var profileName = document.getElementById("profileName");
profileName.focus();
gProfileRoot = profileRoot;
}
function updateProfileDisplay()
{
var currentProfileName = document.getElementById("profileName").value;
var profilePathAndName = gProfileRoot.clone();
profilePathAndName.append(currentProfileName);
gProfileDisplay.data = profilePathAndName.path;
}
// Shows the Language/Region Selection dialog and updates the data-Attributes to
// the selected values.
function showLangDialog()
{
var languageCode = document.getElementById("profileLanguage").getAttribute("data");
var regionCode = document.getElementById("profileRegion").getAttribute("data");
window.openDialog("chrome://communicator/content/profile/selectLang.xul",
"", "centerscreen,modal,titlebar",
languageCode, regionCode);
}
// Invoke a folder selection dialog for choosing the directory of profile storage.
function chooseProfileFolder()
{
var newProfileRoot;
try {
var dirChooser = Components.classes["@mozilla.org/filepicker;1"].createInstance(Components.interfaces.nsIFilePicker);
dirChooser.init(window, gProfileManagerBundle.getString("chooseFolder"), Components.interfaces.nsIFilePicker.modeGetFolder);
dirChooser.appendFilters(Components.interfaces.nsIFilePicker.filterAll);
dirChooser.show();
newProfileRoot = dirChooser.file;
}
catch(e) {
// If something fails, change nothing.
return;
}
gCreateProfileWizardBundle = document.getElementById("bundle_createProfileWizard");
gProfileManagerBundle = document.getElementById("bundle_profileManager");
// instantiate the Wizard Manager
wizardManager = new WizardManager( frame_id, null, null, wizardMap );
wizardManager.URL_PagePrefix = "chrome://communicator/content/profile/";
wizardManager.URL_PagePostfix = ".xul";
// set the button handler functions
wizardManager.SetHandlers( null, null, onFinish, onCancel, null, null );
// load the start page
wizardManager.LoadPage (startPage, false);
// move to center of screen if no opener, otherwise, to center of opener
if( window.opener )
moveToAlertPosition();
else
centerWindowOnScreen();
// Disable the "Default Folder..." button when the default profile folder
// was selected manually in the File Picker.
// This is always false on Windows, until bug 221872 is fixed.
document.getElementById("useDefault").disabled = (newProfileRoot.equals(gProfile.defaultProfileParentDir));
setDisplayToFolder(newProfileRoot);
updateProfileDisplay();
}
// Checks the current user input for validity and triggers an error message accordingly.
function checkCurrentInput(currentInput)
{
var finishButton = document.documentElement.getButton("finish");
var finishText = document.getElementById("finishText");
var canAdvance;
var errorMessage = checkProfileName(currentInput);
if (!errorMessage) {
finishText.className = "";
finishText.firstChild.data = gProfileManagerBundle.getString("profileFinishText");
canAdvance = true;
}
else {
finishText.className = "error";
finishText.firstChild.data = errorMessage;
canAdvance = false;
}
document.documentElement.canAdvance = canAdvance;
finishButton.disabled = !canAdvance;
updateProfileDisplay();
}
// Checks whether the given string is a valid profile name.
// Returns an error message describing the error in the name or "" when it's valid.
function checkProfileName(profileNameToCheck)
{
// Check for emtpy profile name.
if (!/\S/.test(profileNameToCheck))
return gProfileManagerBundle.getString("profileNameEmpty");
// Check whether all characters in the profile name are allowed.
if (/([\\*:?<>|\/\"])/.test(profileNameToCheck))
return gProfileManagerBundle.getFormattedString("invalidChar", [RegExp.$1]);
// Check whether a profile with the same name already exists.
if (gProfile.profileExists(profileNameToCheck))
return gProfileManagerBundle.getString("profileExists");
// profileNameToCheck is valid.
return "";
}
// Called when the first wizard page is shown.
function enableNextButton()
{
document.documentElement.canAdvance = true;
}
function onCancel()
{
if( top.window.opener )
window.close();
else {
try {
profile.forgetCurrentProfile();
}
catch (ex) {
dump("failed to forget current profile.\n");
}
window.close();
// window.opener is false if the Create Profile Wizard was opened from the command line.
if (!window.opener)
return true;
try {
gProfile.forgetCurrentProfile();
}
catch (ex) {
}
return true;
}
function onFinish()
function onFinish()
{
var profileName = document.getElementById("profileName").value;
var languageCode = document.getElementById("profileLanguage").getAttribute("data");
var regionCode = document.getElementById("profileRegion").getAttribute("data");
// check if we're at final stage
if( !wizardManager.wizardMap[wizardManager.currentPageTag].finish )
return;
var proceed = processCreateProfileData(profileName, gProfileRoot, languageCode, regionCode);
var tag = wizardManager.WSM.GetTagFromURL( wizardManager.content_frame.src, "/", ".xul" );
wizardManager.WSM.SavePageData( tag, null, null, null );
// Error on profile creation. Don't leave the wizard so the user can correct his input.
if (!proceed)
return false;
var profName = wizardManager.WSM.PageData["newProfile1_2"].ProfileName.value;
var profDir = wizardManager.WSM.PageData["newProfile1_2"].ProfileDir.value;
var profLang = wizardManager.WSM.PageData["newProfile1_2"].ProfileLanguage.value;
var profRegion = wizardManager.WSM.PageData["newProfile1_2"].ProfileRegion.value;
// Get & select langcode
var proceed = processCreateProfileData(profName, profDir, profLang, profRegion);
if( proceed ) {
if( window.opener ) {
window.opener.CreateProfile(profName, profDir);
}
else {
profile.currentProfile = profName;
}
window.close();
}
// window.opener is false if the Create Profile Wizard was opened from the command line.
if (window.opener)
// Add new profile to the list in the Profile Manager.
window.opener.CreateProfile(profileName, gProfileRoot);
else
return;
// Use the newly created Profile.
gProfile.currentProfile = profileName;
// Exit the wizard.
return true;
}
/** void processCreateProfileData( void ) ;
* - purpose:
* - in: nothing
* - out: nothing
**/
function processCreateProfileData( aProfName, aProfDir, langcode, regioncode)
// Create profile named profileName in profileRoot.
function processCreateProfileData(profileName, profileRoot, languageCode, regionCode)
{
try {
// note: deleted check for empty profName string here as this should be
// done by panel. -bmg (31/10/99)
// todo: move this check into the panel itself, activated ontyping :P
// this should definetly be moved to that page.. but how about providing
// user with some feedback about what's wrong. .. TOOLTIP! o_O
// or.. some sort of onblur notification. like a dialog then, or a
// dropout layery thing. yeah. something like that to tell them when
// it happens, not when the whole wizard is complete. blah.
if (profile.profileExists(aProfName)) {
alert(gCreateProfileWizardBundle.getString("profileExists"));
// this is a bad but probably acceptable solution for now.
// when we add more panels, we will want a better solution.
window.frames["content"].document.getElementById("ProfileName").focus();
return false;
}
var invalidChars = ["/", "\\", "*", ":"];
for( var i = 0; i < invalidChars.length; i++ )
{
if( aProfName.indexOf( invalidChars[i] ) != -1 ) {
var aString = gProfileManagerBundle.getString("invalidCharA");
var bString = gProfileManagerBundle.getString("invalidCharB");
bString = bString.replace(/\s*<html:br\/>/g,"\n");
var lString = aString + invalidChars[i] + bString;
alert( lString );
window.frames["content"].document.getElementById("ProfileName").focus();
return false;
}
}
// Adding code to see if the profile directory already exists....
// XXXX - Further modifications like adding propmt dialog are required - XXXX
var useExistingDir = false;
var fileSpec = Components.classes["@mozilla.org/file/local;1"].createInstance();
if ( fileSpec )
fileSpec = fileSpec.QueryInterface( Components.interfaces.nsILocalFile );
if (aProfDir == null)
fileSpec.initWithPath(profile.defaultProfileParentDir.path);
else
fileSpec.initWithPath(aProfDir);
fileSpec.append(aProfName);
if (fileSpec != null && fileSpec.exists())
useExistingDir = true;
dump("*** going to create a new profile called " + aProfName + " in folder: " + aProfDir + "\n");
profile.createNewProfileWithLocales(aProfName, aProfDir, langcode, regioncode, useExistingDir);
var profileLocation = profileRoot.clone();
profileLocation.append(profileName);
gProfile.createNewProfileWithLocales(profileName, profileRoot.path, languageCode, regionCode, profileLocation.exists());
return true;
}
catch(e) {
dump("*** Failed to create a profile\n");
catch (e) {
var profileCreationFailed = gProfileManagerBundle.getString("profileCreationFailed");
var profileCreationFailedTitle = gProfileManagerBundle.getString("profileCreationFailedTitle");
var promptService = Components.classes["@mozilla.org/embedcomp/prompt-service;1"].getService(Components.interfaces.nsIPromptService);
promptService.alert(window, profileCreationFailedTitle, profileCreationFailed);
return false;
}
}

Просмотреть файл

@ -1,43 +1,70 @@
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://communicator/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://communicator/skin/profile/profile.css" type="text/css"?>
<?xul-overlay href="chrome://global/content/wizardOverlay.xul"?>
<?xul-overlay href="chrome://global/content/dialogOverlay.xul"?>
<!DOCTYPE window [
<!DOCTYPE wizard [
<!ENTITY % brandDTD SYSTEM "chrome://global/locale/brand.dtd">
%brandDTD;
<!ENTITY % profileDTD SYSTEM "chrome://communicator/locale/profile/createProfileWizard.dtd">
%profileDTD;
]>
<window title="&newprofile.title;" orient="vertical"
class="color-dialog"
<wizard id="createProfileWizard"
title="&newprofile.title;"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
onclose="onCancel();"
onload="Startup('newProfile1_1','content');">
onwizardcancel="return onCancel();"
onwizardfinish="return onFinish();"
onload="initWizard();"
style="&window.size;">
<stringbundle id="bundle_createProfileWizard"
src="chrome://communicator/locale/profile/createProfileWizard.properties"/>
<stringbundle id="bundle_profileManager"
src="chrome://communicator/locale/profile/profileManager.properties"/>
<!-- XXX: strres.js is needed so that wizardManager.js will work -->
<script type="application/x-javascript" src="chrome://global/content/strres.js"/>
<script type="application/x-javascript" src="chrome://communicator/content/profile/createProfileWizard.js"/>
<script type="application/x-javascript" src="chrome://global/content/wizardOverlay.js"/>
<script type="application/x-javascript" src="chrome://global/content/wizardHandlerSet.js"/>
<script type="application/x-javascript" src="chrome://global/content/wizardManager.js"/>
<script type="application/x-javascript" src="chrome://global/content/widgetStateManager.js"/>
<hbox class="box-header" id="header" title="&window.title.label;" description="&profileWizard.title;"/>
<hbox class="wizard-box" flex="1">
<html:iframe src="about:blank" style="width: 40em; height: 23em; overflow: auto;" name="content" id="content" flex="1"/>
</hbox>
<separator class="groove"/>
<hbox id="wizardButtons"/>
<wizardpage id="explanation" onpageshow="enableNextButton();">
<description>&profileCreationExplanation_1.text;</description>
<description>&profileCreationExplanation_2.text;</description>
<description>&profileCreationExplanation_3.text;</description>
<spacer flex="1"/>
<description>&profileCreationExplanation_4.text;</description>
</wizardpage>
</window>
<wizardpage id="createProfile" onpageshow="initSecondWizardPage();">
<description>&profileCreationIntro.text;</description>
<label accesskey="&profilePrompt.accesskey;" control="ProfileName">&profilePrompt.label;</label>
<textbox id="profileName" value="&profileDefaultName;"
oninput="checkCurrentInput(this.value);"/>
<separator/>
<description>&profileDirExplanation.text;</description>
<vbox class="indent" flex="1" style="overflow: auto;">
<description id="profileDisplay">*</description>
</vbox>
<hbox>
<button label="&button.choosefolder.label;" oncommand="chooseProfileFolder();"
accesskey="&button.choosefolder.accesskey;"/>
<button id="useDefault" label="&button.usedefault.label;"
oncommand="setDisplayToDefaultFolder(); updateProfileDisplay();"
accesskey="&button.usedefault.accesskey;" disabled="true"/>
<button label="&button.langSelection.label;" oncommand="showLangDialog();"
accesskey="&button.langSelection.accesskey;"/>
</hbox>
<separator/>
<description id="finishText">*</description>
<data id="profileLanguage"/>
<data id="profileRegion"/>
</wizardpage>
</wizard>

Просмотреть файл

@ -33,8 +33,8 @@ var set = null;
// invoke the createProfile Wizard
function CreateProfileWizard()
{
// Need to call CreateNewProfile xuls
window.openDialog('chrome://communicator/content/profile/createProfileWizard.xul', 'CPW', 'centerscreen,chrome,modal=yes,titlebar=yes');
window.openDialog('chrome://communicator/content/profile/createProfileWizard.xul',
'', 'centerscreen,chrome,modal,titlebar');
}
// update the display to show the additional profile
@ -74,7 +74,7 @@ function RenameProfile()
var errorMessage = gProfileManagerBundle.getString("sourceProfileDirMissing");
var profileDirMissingTitle = gProfileManagerBundle.getString("sourceProfileDirMissingTitle");
promptService.alert(window, profileDirMissingTitle, errorMessage);
return false;
return false;
}
}
}
@ -93,18 +93,16 @@ function RenameProfile()
var rv = promptService.prompt(window, dialogTitle, msg, newName, null, {value:0});
if (rv) {
newName = newName.value;
if (!newName) return false;
var invalidChars = ["/", "\\", "*", ":"];
for( var i = 0; i < invalidChars.length; i++ )
{
if( newName.indexOf( invalidChars[i] ) != -1 ) {
var aString = gProfileManagerBundle.getString("invalidCharA");
var bString = gProfileManagerBundle.getString("invalidCharB");
bString = bString.replace(/\s*<html:br\/>/g,"\n");
lString = aString + invalidChars[i] + bString;
alert( lString );
return false;
}
// User hasn't changed the profile name. Treat as if cancel was pressed.
if (newName == oldName)
return false;
var errorMessage = checkProfileName(newName);
if (errorMessage) {
var profileNameInvalidTitle = gProfileManagerBundle.getString("profileNameInvalidTitle");
promptService.alert(window, profileNameInvalidTitle, errorMessage);
return false;
}
var migrate = selected.getAttribute("rowMigrate");

Просмотреть файл

@ -54,6 +54,7 @@
<script type="application/x-javascript" src="chrome://communicator/content/profile/profileSelection.js"/>
<script type="application/x-javascript" src="chrome://communicator/content/profile/profileManager.js"/>
<script type="application/x-javascript" src="chrome://communicator/content/profile/createProfileWizard.js"/>
<keyset id="dialogKeys"/>

Просмотреть файл

@ -3,13 +3,7 @@ comm.jar:
content/communicator/profile/confirmMigration.xul (content/confirmMigration.xul)
content/communicator/profile/createProfileWizard.js (content/createProfileWizard.js)
content/communicator/profile/createProfileWizard.xul (content/createProfileWizard.xul)
content/communicator/profile/deleteProfile.js (content/deleteProfile.js)
content/communicator/profile/deleteProfile.xul (content/deleteProfile.xul)
content/communicator/profile/migrateAllProfile.xul (content/migrateAllProfile.xul)
content/communicator/profile/newProfile1_1.js (content/newProfile1_1.js)
content/communicator/profile/newProfile1_1.xul (content/newProfile1_1.xul)
content/communicator/profile/newProfile1_2.js (content/newProfile1_2.js)
content/communicator/profile/newProfile1_2.xul (content/newProfile1_2.xul)
content/communicator/profile/profileManager.js (content/profileManager.js)
content/communicator/profile/profileSelection.js (content/profileSelection.js)
content/communicator/profile/profileSelection.xul (content/profileSelection.xul)
@ -19,13 +13,8 @@ comm.jar:
en-US.jar:
locale/en-US/communicator/profile/confirmMigration.dtd (locale/en-US/confirmMigration.dtd)
locale/en-US/communicator/profile/createProfileWizard.dtd (locale/en-US/createProfileWizard.dtd)
locale/en-US/communicator/profile/createProfileWizard.properties (locale/en-US/createProfileWizard.properties)
locale/en-US/communicator/profile/migration.properties (locale/en-US/migration.properties)
locale/en-US/communicator/profile/newProfile1_1.dtd (locale/en-US/newProfile1_1.dtd)
locale/en-US/communicator/profile/newProfile1_2.dtd (locale/en-US/newProfile1_2.dtd)
locale/en-US/communicator/profile/newProfile1_2.properties (locale/en-US/newProfile1_2.properties)
locale/en-US/communicator/profile/profileManager.properties (locale/en-US/profileManager.properties)
locale/en-US/communicator/profile/profileManagerDelete.dtd (locale/en-US/profileManagerDelete.dtd)
locale/en-US/communicator/profile/profileManagerMigrateAll.dtd (locale/en-US/profileManagerMigrateAll.dtd)
locale/en-US/communicator/profile/profileSelection.dtd (locale/en-US/profileSelection.dtd)
locale/en-US/communicator/profile/selectLang.dtd (locale/en-US/selectLang.dtd)

Просмотреть файл

@ -1,11 +1,23 @@
<!-- extracted from cpw.xul -->
<!ENTITY profileWizard.title "Create Profile">
<!-- LOCALIZATION NOTE (window.title.label): Don't translate "&brandShortName" -->
<!ENTITY window.title.label "&brandShortName; Profile Manager">
<!ENTITY newprofile.title "Create Profile">
<!ENTITY dialup.title "Dialup">
<!ENTITY mailnews.title "Mail News">
<!ENTITY addrbook.title "Address Book">
<!ENTITY newprofile.title "Create Profile Wizard">
<!ENTITY window.size "width: 45em; height: 32em;">
<!-- First wizard page -->
<!ENTITY profileCreationExplanation_1.text "&brandShortName; stores information about your settings, preferences, bookmarks, and mail in your personal profile.">
<!ENTITY profileCreationExplanation_2.text "If you are sharing this copy of &brandShortName; with other users, you can use profiles to keep each user's information separate. To do this, each user should create his or her own profile.">
<!ENTITY profileCreationExplanation_3.text "If you are the only person using this copy of &brandShortName;, you must have at least one profile. If you would like, you can create multiple profiles for yourself to store different sets of settings and preferences. For example, you may want to have separate profiles for business and personal use.">
<!ENTITY profileCreationExplanation_4.text "To begin creating your profile, click Next.">
<!-- Second wizard page -->
<!ENTITY profileCreationIntro.text "If you create several profiles you can tell them apart by the profile names. You may use the name provided here or use one of your own.">
<!ENTITY profilePrompt.label "Enter new profile name:">
<!ENTITY profilePrompt.accesskey "E">
<!ENTITY profileDirExplanation.text "Your user settings, preferences, bookmarks and mail will be stored in:">
<!ENTITY profileDefaultName "Default User">
<!ENTITY button.choosefolder.label "Choose Folder...">
<!ENTITY button.choosefolder.accesskey "C">
<!ENTITY button.usedefault.label "Use Default Folder">
<!ENTITY button.usedefault.accesskey "U">
<!ENTITY button.langSelection.label "Region Selection...">
<!ENTITY button.langSelection.accesskey "R">

Просмотреть файл

@ -10,6 +10,7 @@ migrateallprofilestitle=Migrate All Profiles
renameProfilePrompt=Rename the profile "%oldProfileName%" to:
renameprofiletitle=Rename Profile
chooseFolder=Choose Profile Folder
deletetitle=Delete Profile
delete4xprofile=The profile you selected was created with a previous version of Netscape. %S can remove this profile from the list of profiles that it maintains but you must remove it from your system using the version of Netscape that created it, or by hand.<html:br/><html:br/> Do you want to remove this profile from the list of profiles?<html:br/><html:br/>
deleteprofile=Deleting a profile will remove the profile from the list of available profiles and cannot be undone.<html:br/>You may also choose to delete the profile data files, including your saved mail, settings, and certificates. This option will delete the folder "%S" and cannot be undone.<html:br/><html:br/>Would you like to delete the profile data files?
@ -31,11 +32,15 @@ exitButton=Exit
cancel=Cancel
invalidCharA=You cannot create or rename a profile to a name containing the character: "
invalidCharB="<html:br/><html:br/>Please choose a different name for the profile.
invalidChar=The character "%S" is not allowed in profile names. Please choose a different name.
profileCreationFailed=Profile couldn't be created. Probably the chosen folder isn't writable.
profileCreationFailedTitle=Profile Creation failed
profileNameInvalidTitle=Invalid profile name
profileNameEmpty=An empty profile name is not allowed.
profileExists=A profile with this name already exists. Please choose another name.
profileExistsTitle=Profile Exists
profileFinishText=Click Finish to create this new profile.
profDirMissing=%S cannot use the profile "%S" because the directory containing the profile cannot be found.<html:br/><html:br/> Please choose another profile or create a new one.
profDirLocked=%S cannot use the profile "%S" because it is in use.<html:br/><html:br/> Please choose another profile or create a new one.
profileSwitchFailed=%S cannot switch to profile "%S" automatically.<html:br/><html:br/>%S will now exit.<html:br/><html:br/>Please start %S again.

Просмотреть файл

@ -32,10 +32,6 @@ window.dialog {
padding: 0;
}
.dimmed-highcontrast {
color: #99cccc ! important;
}
#profiles > listitem {
list-style-image: url("chrome://communicator/skin/profile/profileicon-large.gif");
}
@ -69,3 +65,7 @@ box#wizardButtons {
box.selection {
margin-top: 4px;
}
description.error {
color: #FF0000;
}

Просмотреть файл

@ -30,7 +30,6 @@ classic.jar:
skin/classic/global/toolbarbutton.css
skin/classic/global/tree.css
skin/classic/global/wizard.css
skin/classic/global/wizardOverlay.css
skin/classic/global/icons/alert-exclam.gif (icons/alert-exclam.gif)
skin/classic/global/icons/alert-error.gif (icons/alert-error.gif)
skin/classic/global/icons/alert-message.gif (icons/alert-message.gif)

Просмотреть файл

@ -25,7 +25,6 @@ classic.jar:
skin/classic/global/toolbarbutton.css
skin/classic/global/tree.css
skin/classic/global/wizard.css
skin/classic/global/wizardOverlay.css
skin/classic/global/button.css
skin/classic/global/menu.css
skin/classic/global/toolbar.css

Просмотреть файл

@ -34,7 +34,6 @@ classic.jar:
skin/classic/communicator/directory/folder-open.gif (communicator/directory/folder-open.gif)
skin/classic/communicator/directory/file.gif (communicator/directory/file.gif)
skin/classic/communicator/profile/migrate.gif (communicator/profile/migrate.gif)
skin/classic/communicator/profile/newProfile1_2.css (communicator/profile/newProfile1_2.css)
skin/classic/communicator/profile/profile.css (communicator/profile/profile.css)
skin/classic/communicator/profile/profileManager.css (communicator/profile/profileManager.css)
skin/classic/communicator/profile/profileicon-large.gif (communicator/profile/profileicon-large.gif)

Просмотреть файл

@ -26,7 +26,6 @@
======================================================================= */
@import url("chrome://messenger/skin/");
@import url("chrome://global/skin/wizardOverlay.css");
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");

Просмотреть файл

@ -70,3 +70,7 @@ box.selection {
#finishtext {
margin-top: -20px;
}
description.error {
color: #FF0000;
}

Просмотреть файл

@ -46,7 +46,6 @@ modern.jar:
skin/modern/communicator/icons/search.gif (communicator/icons/search.gif)
skin/modern/communicator/profile/migrate.gif (communicator/profile/migrate.gif)
skin/modern/communicator/profile/profile.gif (communicator/profile/profile.gif)
skin/modern/communicator/profile/newProfile1_2.css (communicator/profile/newProfile1_2.css)
skin/modern/communicator/profile/profile.css (communicator/profile/profile.css)
skin/modern/communicator/related/sitemap.gif (communicator/related/sitemap.gif)
skin/modern/communicator/related/related.css (communicator/related/related.css)
@ -147,7 +146,6 @@ modern.jar:
skin/modern/global/toolbarbutton.css (global/toolbarbutton.css)
skin/modern/global/tree.css (global/tree.css)
skin/modern/global/wizard.css (global/wizard.css)
skin/modern/global/wizardOverlay.css (global/wizardOverlay.css)
skin/modern/global/autocomplete.css (global/autocomplete.css)
skin/modern/global/global.css (global/global.css)
skin/modern/global/popup.css (global/popup.css)

Просмотреть файл

@ -40,7 +40,6 @@
======================================================================= */
@import url("chrome://messenger/skin/");
@import url("chrome://global/skin/wizardOverlay.css");
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");

Просмотреть файл

@ -24,10 +24,6 @@ toolkit.jar:
content/global/selectDialog.xul (resources/content/selectDialog.xul)
content/global/nsWidgetStateManager.js (resources/content/nsWidgetStateManager.js)
content/global/widgetStateManager.js (resources/content/widgetStateManager.js)
content/global/wizardHandlerSet.js (resources/content/wizardHandlerSet.js)
content/global/wizardManager.js (resources/content/wizardManager.js)
content/global/wizardOverlay.js (resources/content/wizardOverlay.js)
content/global/wizardOverlay.xul (resources/content/wizardOverlay.xul)
content/global/nsTreeController.js (resources/content/nsTreeController.js)
content/global/nsTreeSorting.js (resources/content/nsTreeSorting.js)
content/global/nsClipboard.js (resources/content/nsClipboard.js)
@ -88,8 +84,6 @@ en-US.jar:
locale/en-US/global/brand.dtd (resources/locale/en-US/brand.dtd)
locale/en-US/global/tabbrowser.dtd (resources/locale/en-US/tabbrowser.dtd)
locale/en-US/global/tabbrowser.properties (resources/locale/en-US/tabbrowser.properties)
locale/en-US/global/wizardManager.properties (resources/locale/en-US/wizardManager.properties)
locale/en-US/global/wizardOverlay.dtd (resources/locale/en-US/wizardOverlay.dtd)
locale/en-US/global/keys.properties (resources/locale/en-US/keys.properties)
locale/en-US/global/config.properties (resources/locale/en-US/config.properties)
locale/en-US/global/config.dtd (resources/locale/en-US/config.dtd)