Bug 1834327 - Port bug 1826063: Automatic HTML prettier fixes (mailnews/). r=aleca

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D179475

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Rob Lemley 2023-05-31 22:33:22 +00:00
Родитель ca3970d286
Коммит 452a5a1799
42 изменённых файлов: 5437 добавлений и 3516 удалений

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

@ -8,25 +8,43 @@
<!DOCTYPE html SYSTEM "chrome://messenger/locale/addressbook/abAddressBookNameDialog.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
scrolling="false"
style="min-width: 540px; min-height: 210px;">
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
scrolling="false"
style="min-width: 540px; min-height: 210px"
>
<head>
<title><!-- addressBookTitleEdit --></title>
<script defer="defer" src="chrome://messenger/content/globalOverlay.js"></script>
<script defer="defer" src="chrome://global/content/editMenuOverlay.js"></script>
<script defer="defer" src="chrome://messenger/content/addressbook/abAddressBookNameDialog.js"></script>
<script
defer="defer"
src="chrome://messenger/content/globalOverlay.js"
></script>
<script
defer="defer"
src="chrome://global/content/editMenuOverlay.js"
></script>
<script
defer="defer"
src="chrome://messenger/content/addressbook/abAddressBookNameDialog.js"
></script>
</head>
<body>
<xul:dialog>
<xul:stringbundle id="bundle_addressBook" src="chrome://messenger/locale/addressbook/addressBook.properties"/>
<xul:stringbundle
id="bundle_addressBook"
src="chrome://messenger/locale/addressbook/addressBook.properties"
/>
<div class="input-container">
<label id="nameLabel" for="name">&name.label;</label>
<input id="name" type="text" class="input-inline"
oninput="abNameDoOkEnabling();"/>
<input
id="name"
type="text"
class="input-inline"
oninput="abNameDoOkEnabling();"
/>
</div>
</xul:dialog>
</body>

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

@ -7,63 +7,90 @@
<?xml-stylesheet href="chrome://messenger/skin/input-fields.css" type="text/css"?>
<?xml-stylesheet href="chrome://messenger/skin/shared/cardDAV.css" type="text/css"?>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
scrolling="false"
style="min-width: 540px; min-height: 210px;">
<head>
<title data-l10n-id="carddav-window-title"></title>
<link rel="localization" href="branding/brand.ftl" />
<link rel="localization" href="messenger/addressbook/abCardDAVDialog.ftl" />
<script defer="defer" src="chrome://messenger/content/globalOverlay.js"></script>
<script defer="defer" src="chrome://global/content/editMenuOverlay.js"></script>
<script defer="defer" src="chrome://messenger/content/addressbook/abCardDAVDialog.js"></script>
</head>
<html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<dialog id="carddav-dialog"
data-l10n-id="carddav-dialog"
data-l10n-attrs="buttonlabelaccept,buttonaccesskeyaccept">
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
scrolling="false"
style="min-width: 540px; min-height: 210px"
>
<head>
<title data-l10n-id="carddav-window-title"></title>
<link rel="localization" href="branding/brand.ftl" />
<link rel="localization" href="messenger/addressbook/abCardDAVDialog.ftl" />
<script
defer="defer"
src="chrome://messenger/content/globalOverlay.js"
></script>
<script
defer="defer"
src="chrome://global/content/editMenuOverlay.js"
></script>
<script
defer="defer"
src="chrome://messenger/content/addressbook/abCardDAVDialog.js"
></script>
</head>
<html:body
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<dialog
id="carddav-dialog"
data-l10n-id="carddav-dialog"
data-l10n-attrs="buttonlabelaccept,buttonaccesskeyaccept"
>
<html:div id="carddav-properties-table">
<html:div>
<label
control="carddav-username"
data-l10n-id="carddav-username-label"
data-l10n-attrs="value,accesskey"
/>
</html:div>
<html:div class="input-container">
<html:input
id="carddav-username"
type="text"
oninput="fillLocationPlaceholder();"
/>
</html:div>
<html:div>
<label
control="carddav-location"
data-l10n-id="carddav-location-label"
data-l10n-attrs="value,accesskey"
/>
</html:div>
<html:div class="input-container">
<html:input
id="carddav-location"
type="url"
data-l10n-id="carddav-location"
data-l10n-attrs="default-placeholder"
required="required"
onblur="handleCardDAVURLBlur(event);"
oninput="handleCardDAVURLInput(event);"
/>
</html:div>
</html:div>
<html:div id="carddav-properties-table">
<html:div>
<label control="carddav-username"
data-l10n-id="carddav-username-label"
data-l10n-attrs="value,accesskey"/>
</html:div>
<html:div class="input-container">
<html:input id="carddav-username" type="text"
oninput="fillLocationPlaceholder();"/>
</html:div>
<html:div>
<label control="carddav-location"
data-l10n-id="carddav-location-label"
data-l10n-attrs="value,accesskey"/>
</html:div>
<html:div class="input-container">
<html:input id="carddav-location" type="url"
data-l10n-id="carddav-location"
data-l10n-attrs="default-placeholder"
required="required"
onblur="handleCardDAVURLBlur(event);"
oninput="handleCardDAVURLInput(event);"/>
</html:div>
</html:div>
<html:div id="carddav-statusArea">
<html:div id="carddav-statusContainer">
<html:img id="carddav-statusImage" alt="" />
<html:span id="carddav-statusMessage">&#160;</html:span>
<!-- Include 160 = nbsp, to make the element occupy the
<html:div id="carddav-statusArea">
<html:div id="carddav-statusContainer">
<html:img id="carddav-statusImage" alt="" />
<html:span id="carddav-statusMessage">&#160;</html:span>
<!-- Include 160 = nbsp, to make the element occupy the
full height, for at least one line. With a normal space,
it does not have sufficient height. -->
</html:div>
</html:div>
</html:div>
</html:div>
<vbox id="carddav-resultsArea" hidden="true" flex="1">
<label id="carddav-availableBooksHeader" data-l10n-id="carddav-available-books"/>
<vbox id="carddav-availableBooks" class="indent" flex="1"></vbox>
</vbox>
</dialog>
</html:body>
<vbox id="carddav-resultsArea" hidden="true" flex="1">
<label
id="carddav-availableBooksHeader"
data-l10n-id="carddav-available-books"
/>
<vbox id="carddav-availableBooks" class="indent" flex="1"></vbox>
</vbox>
</dialog>
</html:body>
</html>

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

@ -9,62 +9,85 @@
<!DOCTYPE html SYSTEM "chrome://messenger/locale/addressbook/abAddressBookNameDialog.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
width="540" height="210"
scrolling="false">
<head>
<title><!-- addressBookTitleEdit --></title>
<link rel="localization" href="messenger/addressbook/abCardDAVProperties.ftl" />
<script defer="defer" src="chrome://messenger/content/globalOverlay.js"></script>
<script defer="defer" src="chrome://global/content/editMenuOverlay.js"></script>
<script defer="defer" src="chrome://messenger/content/addressbook/abCardDAVProperties.js"></script>
</head>
<body>
<xul:dialog id="carddav-properties-dialog">
<div id="carddav-properties-table">
<div>
<xul:label control="carddav-name"
value="&name.label;"
accesskey="&name.accesskey;"/>
</div>
<div class="input-container">
<input id="carddav-name"
type="text"
class="input-inline"/>
</div>
<div>
<xul:label data-l10n-id="carddav-url-label"
data-l10n-attrs="value,accesskey"
control="carddav-url"/>
</div>
<div class="input-container">
<input id="carddav-url"
type="url"
class="input-inline"
readonly="readonly"/>
</div>
<div id="carddav-refreshActive-cell">
<xul:checkbox id="carddav-refreshActive"
data-l10n-id="carddav-refreshinterval-label"
data-l10n-attrs="label,accesskey"
control="carddav-refreshInterval"/>
</div>
<div id="carddav-refreshInterval-cell">
<xul:menulist id="carddav-refreshInterval">
<xul:menupopup>
<!-- This will be filled programmatically to reduce the number of needed strings -->
</xul:menupopup>
</xul:menulist>
</div>
<div></div>
<div>
<xul:checkbox id="carddav-readOnly"
data-l10n-id="carddav-readonly-label"
data-l10n-attrs="label,accesskey"/>
</div>
</div>
</xul:dialog>
</body>
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
width="540"
height="210"
scrolling="false"
>
<head>
<title><!-- addressBookTitleEdit --></title>
<link
rel="localization"
href="messenger/addressbook/abCardDAVProperties.ftl"
/>
<script
defer="defer"
src="chrome://messenger/content/globalOverlay.js"
></script>
<script
defer="defer"
src="chrome://global/content/editMenuOverlay.js"
></script>
<script
defer="defer"
src="chrome://messenger/content/addressbook/abCardDAVProperties.js"
></script>
</head>
<body>
<xul:dialog id="carddav-properties-dialog">
<div id="carddav-properties-table">
<div>
<xul:label
control="carddav-name"
value="&name.label;"
accesskey="&name.accesskey;"
/>
</div>
<div class="input-container">
<input id="carddav-name" type="text" class="input-inline" />
</div>
<div>
<xul:label
data-l10n-id="carddav-url-label"
data-l10n-attrs="value,accesskey"
control="carddav-url"
/>
</div>
<div class="input-container">
<input
id="carddav-url"
type="url"
class="input-inline"
readonly="readonly"
/>
</div>
<div id="carddav-refreshActive-cell">
<xul:checkbox
id="carddav-refreshActive"
data-l10n-id="carddav-refreshinterval-label"
data-l10n-attrs="label,accesskey"
control="carddav-refreshInterval"
/>
</div>
<div id="carddav-refreshInterval-cell">
<xul:menulist id="carddav-refreshInterval">
<xul:menupopup>
<!-- This will be filled programmatically to reduce the number of needed strings -->
</xul:menupopup>
</xul:menulist>
</div>
<div></div>
<div>
<xul:checkbox
id="carddav-readOnly"
data-l10n-id="carddav-readonly-label"
data-l10n-attrs="label,accesskey"
/>
</div>
</div>
</xul:dialog>
</body>
</html>

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

@ -7,41 +7,71 @@
<!DOCTYPE html SYSTEM "chrome://messenger/locale/addressbook/pref-directory.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
scrolling="false">
<head>
<title>&pref.ldap.window.title;</title>
<link rel="localization" href="messenger/addressbook/aboutAddressBook.ftl" />
<script defer="defer" src="chrome://messenger/content/addressbook/abCommon.js"></script>
<script defer="defer" src="chrome://messenger/content/addressbook/pref-editdirectories.js"></script>
</head>
<html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<dialog id="editDirectories"
buttons="accept">
<stringbundle id="bundle_addressBook"
src="chrome://messenger/locale/addressbook/addressBook.properties"/>
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
scrolling="false"
>
<head>
<title>&pref.ldap.window.title;</title>
<link
rel="localization"
href="messenger/addressbook/aboutAddressBook.ftl"
/>
<script
defer="defer"
src="chrome://messenger/content/addressbook/abCommon.js"
></script>
<script
defer="defer"
src="chrome://messenger/content/addressbook/pref-editdirectories.js"
></script>
</head>
<html:body
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<dialog id="editDirectories" buttons="accept">
<stringbundle
id="bundle_addressBook"
src="chrome://messenger/locale/addressbook/addressBook.properties"
/>
<label value="&directoriesText.label;"
accesskey="&directoriesText.accesskey;" control="directoriesList"/>
<hbox flex="1">
<richlistbox id="directoriesList"
flex="1"
onselect="selectDirectory();"
ondblclick="dblClickDirectory(event);"/>
<vbox>
<button id="addButton" label="&addDirectory.label;"
accesskey="&addDirectory.accesskey;"
oncommand="addDirectory();"/>
<button id="editButton" label="&editDirectory.label;"
accesskey="&editDirectory.accesskey;" disabled="true"
oncommand="editDirectory();"/>
<button id="removeButton" label="&deleteDirectory.label;"
accesskey="&deleteDirectory.accesskey;" disabled="true"
oncommand="removeDirectory();"/>
</vbox>
</hbox>
</dialog>
</html:body>
<label
value="&directoriesText.label;"
accesskey="&directoriesText.accesskey;"
control="directoriesList"
/>
<hbox flex="1">
<richlistbox
id="directoriesList"
flex="1"
onselect="selectDirectory();"
ondblclick="dblClickDirectory(event);"
/>
<vbox>
<button
id="addButton"
label="&addDirectory.label;"
accesskey="&addDirectory.accesskey;"
oncommand="addDirectory();"
/>
<button
id="editButton"
label="&editDirectory.label;"
accesskey="&editDirectory.accesskey;"
disabled="true"
oncommand="editDirectory();"
/>
<button
id="removeButton"
label="&deleteDirectory.label;"
accesskey="&deleteDirectory.accesskey;"
disabled="true"
oncommand="removeDirectory();"
/>
</vbox>
</hbox>
</dialog>
</html:body>
</html>

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

@ -1,4 +1,5 @@
<?xml version="1.0"?> <!-- -*- Mode: SGML; indent-tabs-mode: nil; -*- -->
<?xml version="1.0"?>
<!-- -*- Mode: SGML; indent-tabs-mode: nil; -*- -->
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at https://mozilla.org/MPL/2.0/. -->
@ -12,196 +13,331 @@
<?xml-stylesheet href="chrome://messenger/skin/folderColors.css"?>
<!DOCTYPE html SYSTEM "chrome://messenger/locale/folderProps.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
lightweightthemes="true"
scrolling="false">
<head>
<title>&folderProps.windowtitle.label;</title>
<link rel="localization" href="messenger/folderprops.ftl" />
<script defer="defer" src="chrome://messenger/content/globalOverlay.js"></script>
<script defer="defer" src="chrome://global/content/editMenuOverlay.js"></script>
<script defer="defer" src="chrome://messenger/content/retention.js"></script>
<script defer="defer" src="chrome://messenger/content/dialogShadowDom.js"></script>
<script defer="defer" src="chrome://messenger/content/folderProps.js"></script>
</head>
<html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<!-- NOTE: The body both has a -moz-box display (from messenger.css). We give
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
lightweightthemes="true"
scrolling="false"
>
<head>
<title>&folderProps.windowtitle.label;</title>
<link rel="localization" href="messenger/folderprops.ftl" />
<script
defer="defer"
src="chrome://messenger/content/globalOverlay.js"
></script>
<script
defer="defer"
src="chrome://global/content/editMenuOverlay.js"
></script>
<script
defer="defer"
src="chrome://messenger/content/retention.js"
></script>
<script
defer="defer"
src="chrome://messenger/content/dialogShadowDom.js"
></script>
<script
defer="defer"
src="chrome://messenger/content/folderProps.js"
></script>
</head>
<html:body
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<!-- NOTE: The body both has a -moz-box display (from messenger.css). We give
- the child dialog a style `width` of `0` as a kind of "flex-basis". This
- ensures that sizeToContent (called in dialog.js) does not stretch the
- dialog to the max-content width of the xul:description elements. -->
<dialog id="folderPropertiesDialog"
buttons="accept,cancel">
<tabbox id="folderPropTabBox">
<tabs id="folderPropTabs">
<tab id="GeneralTab" label="&generalInfo.label;"/>
<tab id="Retention" label="&retention.label;"/>
<tab id="SynchronizationTab" hidefor="pop3,rss,none" label="&folderSynchronizationTab.label;"/>
<tab id="SharingTab" hidefor="pop3,rss,none,nntp" label="&folderSharingTab.label;"/>
<tab id="QuotaTab" hidefor="pop3,rss,none,nntp" label="&folderQuotaTab.label;"/>
</tabs>
<tabpanels id="folderPropTabPanels">
<vbox id="GeneralPanel">
<hbox id="nameBox" align="center" class="input-container">
<label id="nameLabel" value="&folderProps.name.label;" control="name"
accesskey="&folderProps.name.accesskey;"/>
<hbox align="center" class="input-container">
<html:input id="name"
type="text"
readonly="readonly"
oninput="doEnabling();"
class="input-inline"
aria-labelledby="nameLabel"/>
<label id="colorLabel" value="&folderProps.color.label;" control="color"
accesskey="&folderProps.color.accesskey;"/>
<html:input id="color"
type="color"
value=""
class="input-inline-color"
aria-labelledby="colorLabel"/>
<button id="resetColor"
<dialog id="folderPropertiesDialog" buttons="accept,cancel">
<tabbox id="folderPropTabBox">
<tabs id="folderPropTabs">
<tab id="GeneralTab" label="&generalInfo.label;" />
<tab id="Retention" label="&retention.label;" />
<tab
id="SynchronizationTab"
hidefor="pop3,rss,none"
label="&folderSynchronizationTab.label;"
/>
<tab
id="SharingTab"
hidefor="pop3,rss,none,nntp"
label="&folderSharingTab.label;"
/>
<tab
id="QuotaTab"
hidefor="pop3,rss,none,nntp"
label="&folderQuotaTab.label;"
/>
</tabs>
<tabpanels id="folderPropTabPanels">
<vbox id="GeneralPanel">
<hbox id="nameBox" align="center" class="input-container">
<label
id="nameLabel"
value="&folderProps.name.label;"
control="name"
accesskey="&folderProps.name.accesskey;"
/>
<hbox align="center" class="input-container">
<html:input
id="name"
type="text"
readonly="readonly"
oninput="doEnabling();"
class="input-inline"
aria-labelledby="nameLabel"
/>
<label
id="colorLabel"
value="&folderProps.color.label;"
control="color"
accesskey="&folderProps.color.accesskey;"
/>
<html:input
id="color"
type="color"
value=""
class="input-inline-color"
aria-labelledby="colorLabel"
/>
<button
id="resetColor"
tooltiptext="&folderProps.reset.tooltip;"
class="toolbarbutton-1 btn-flat btn-reset"/>
</hbox>
<label id="locationLabel" value="&folderProps.location.label;"
control="location" accesskey="&folderProps.location.accesskey;"/>
<html:input id="location"
type="text"
readonly="readonly"
class="uri-element input-inline"
aria-labelledby="locationLabel"/>
</hbox>
<vbox>
<spacer height="2"/>
<hbox align="center">
<label value="&numberOfMessages.label;"/>
<label id="numberOfMessages" value="&numberUnknown.label;"/>
<spacer flex="1"/>
<label value="&sizeOnDisk.label;"/>
<label id="sizeOnDisk" value="&sizeUnknown.label;"/>
</hbox>
<spacer height="2"/>
</vbox>
<checkbox id="folderIncludeInGlobalSearch" hidefor="nntp"
label="&folderIncludeInGlobalSearch.label;"
accesskey="&folderIncludeInGlobalSearch.accesskey;"/>
<checkbox hidefor="pop3,none,nntp"
id="folderCheckForNewMessages"
label="&folderCheckForNewMessages2.label;"
accesskey="&folderCheckForNewMessages2.accesskey;"/>
<separator class="thin"/>
<hbox>
<description id="folderRebuildSummaryExplanation" flex="1">
&folderRebuildSummaryFile.explanation;
</description>
<vbox>
<button id="folderRebuildSummaryButton"
class="toolbarbutton-1 btn-flat btn-reset"
/>
</hbox>
<label
id="locationLabel"
value="&folderProps.location.label;"
control="location"
accesskey="&folderProps.location.accesskey;"
/>
<html:input
id="location"
type="text"
readonly="readonly"
class="uri-element input-inline"
aria-labelledby="locationLabel"
/>
</hbox>
<vbox>
<spacer height="2" />
<hbox align="center">
<label value="&numberOfMessages.label;" />
<label id="numberOfMessages" value="&numberUnknown.label;" />
<spacer flex="1" />
<label value="&sizeOnDisk.label;" />
<label id="sizeOnDisk" value="&sizeUnknown.label;" />
</hbox>
<spacer height="2" />
</vbox>
<checkbox
id="folderIncludeInGlobalSearch"
hidefor="nntp"
label="&folderIncludeInGlobalSearch.label;"
accesskey="&folderIncludeInGlobalSearch.accesskey;"
/>
<checkbox
hidefor="pop3,none,nntp"
id="folderCheckForNewMessages"
label="&folderCheckForNewMessages2.label;"
accesskey="&folderCheckForNewMessages2.accesskey;"
/>
<separator class="thin" />
<hbox>
<description id="folderRebuildSummaryExplanation" flex="1">
&folderRebuildSummaryFile.explanation;
</description>
<vbox>
<button
id="folderRebuildSummaryButton"
label="&folderRebuildSummaryFile2.label;"
oncommand="RebuildSummaryInformation();"
accesskey="&folderRebuildSummaryFile2.accesskey;"
tooltiptext="&folderRebuildSummaryFileTip2.label;"
align="center"/>
</vbox>
</hbox>
</vbox>
align="center"
/>
</vbox>
</hbox>
</vbox>
<vbox id="RetentionPanel" align="start">
<description hidefor="imap,pop3" class="desc">&retentionCleanup.label;</description>
<description hidefor="pop3,rss,none,nntp" class="desc">&retentionCleanupImap.label;</description>
<description hidefor="imap,rss,none,nntp" class="desc">&retentionCleanupPop.label;</description>
<vbox id="RetentionPanel" align="start">
<description hidefor="imap,pop3" class="desc"
>&retentionCleanup.label;</description
>
<description hidefor="pop3,rss,none,nntp" class="desc"
>&retentionCleanupImap.label;</description
>
<description hidefor="imap,rss,none,nntp" class="desc"
>&retentionCleanupPop.label;</description
>
<hbox align="center" class="indent">
<checkbox wsm_persist="true" id="retention.useDefault" accesskey="&retentionUseAccount.accesskey;"
label="&retentionUseAccount.label;" checked="true" oncommand="onUseDefaultRetentionSettings()"/>
</hbox>
<vbox class="indent">
<hbox class="indent">
<radiogroup wsm_persist="true" id="retention.keepMsg" aria-labelledby="retention.useDefault">
<radio wsm_persist="true" value="1" accesskey="&retentionKeepAll.accesskey;"
label="&retentionKeepAll.label;" oncommand="onCheckKeepMsg();"/>
<hbox flex="1" align="center">
<radio wsm_persist="true" id="keepNewMsg" accesskey="&retentionKeepRecent.accesskey;"
value="3" label="&retentionKeepRecent.label;" oncommand="onCheckKeepMsg();"/>
<html:input id="retention.keepNewMsgMin" type="number"
class="size4" min="1" value="2000"
wsm_persist="true"
aria-labelledby="keepNewMsg retention.keepNewMsgMin retention.keepNewMsgMinLabel"/>
<label value="&message.label;" control="retention.keepNewMsgMin" id="retention.keepNewMsgMinLabel"/>
<hbox align="center" class="indent">
<checkbox
wsm_persist="true"
id="retention.useDefault"
accesskey="&retentionUseAccount.accesskey;"
label="&retentionUseAccount.label;"
checked="true"
oncommand="onUseDefaultRetentionSettings()"
/>
</hbox>
<vbox class="indent">
<hbox class="indent">
<radiogroup
wsm_persist="true"
id="retention.keepMsg"
aria-labelledby="retention.useDefault"
>
<radio
wsm_persist="true"
value="1"
accesskey="&retentionKeepAll.accesskey;"
label="&retentionKeepAll.label;"
oncommand="onCheckKeepMsg();"
/>
<hbox flex="1" align="center">
<radio
wsm_persist="true"
id="keepNewMsg"
accesskey="&retentionKeepRecent.accesskey;"
value="3"
label="&retentionKeepRecent.label;"
oncommand="onCheckKeepMsg();"
/>
<html:input
id="retention.keepNewMsgMin"
type="number"
class="size4"
min="1"
value="2000"
wsm_persist="true"
aria-labelledby="keepNewMsg retention.keepNewMsgMin retention.keepNewMsgMinLabel"
/>
<label
value="&message.label;"
control="retention.keepNewMsgMin"
id="retention.keepNewMsgMinLabel"
/>
</hbox>
<hbox flex="1" align="center">
<radio
wsm_persist="true"
id="keepMsg"
accesskey="&retentionDeleteMsg.accesskey;"
value="2"
label="&retentionDeleteMsg.label;"
oncommand="onCheckKeepMsg();"
/>
<html:input
id="retention.keepOldMsgMin"
type="number"
class="size4"
min="1"
value="30"
wsm_persist="true"
aria-labelledby="keepMsg retention.keepOldMsgMin retention.keepOldMsgMinLabel"
/>
<label
value="&daysOld.label;"
control="retention.keepOldMsgMin"
id="retention.keepOldMsgMinLabel"
/>
</hbox>
</radiogroup>
</hbox>
<hbox flex="1" align="center">
<radio wsm_persist="true" id="keepMsg" accesskey="&retentionDeleteMsg.accesskey;"
value="2" label="&retentionDeleteMsg.label;" oncommand="onCheckKeepMsg();"/>
<html:input id="retention.keepOldMsgMin" type="number"
class="size4" min="1" value="30"
wsm_persist="true"
aria-labelledby="keepMsg retention.keepOldMsgMin retention.keepOldMsgMinLabel"/>
<label value="&daysOld.label;" control="retention.keepOldMsgMin" id="retention.keepOldMsgMinLabel"/>
<hbox class="indent">
<checkbox
id="retention.applyToFlagged"
wsm_persist="true"
label="&retentionApplyToFlagged.label;"
accesskey="&retentionApplyToFlagged.accesskey;"
observes="retention.keepMsg"
checked="true"
/>
</hbox>
</radiogroup>
</hbox>
<hbox class="indent">
<checkbox id="retention.applyToFlagged" wsm_persist="true"
label="&retentionApplyToFlagged.label;"
accesskey="&retentionApplyToFlagged.accesskey;"
observes="retention.keepMsg" checked="true"/>
</hbox>
</vbox>
</vbox>
</vbox>
</vbox>
<vbox id="SyncPanel" align="start">
<vbox>
<checkbox hidefor="nntp"
wsm_persist="true" id="offline.selectForOfflineFolder"
label="&offlineFolder.check.label;"
accesskey="&offlineFolder.check.accesskey;"/>
<checkbox hidefor="imap"
wsm_persist="true" id="offline.selectForOfflineNewsgroup"
label="&selectofflineNewsgroup.check.label;"
accesskey="&selectofflineNewsgroup.check.accesskey;"/>
</vbox>
<button hidefor="nntp" label="&offlineFolder.button.label;"
oncommand="onOfflineFolderDownload();" accesskey="&offlineFolder.button.accesskey;"
id="offline.offlineFolderDownloadButton" orient="right"/>
<button hidefor="imap" label="&offlineNewsgroup.button.label;"
oncommand="onOfflineFolderDownload();" accesskey="&offlineNewsgroup.button.accesskey;"
id="offline.offlineNewsgroupDownloadButton" orient="right"/>
</vbox>
<vbox id="SyncPanel" align="start">
<vbox>
<checkbox
hidefor="nntp"
wsm_persist="true"
id="offline.selectForOfflineFolder"
label="&offlineFolder.check.label;"
accesskey="&offlineFolder.check.accesskey;"
/>
<checkbox
hidefor="imap"
wsm_persist="true"
id="offline.selectForOfflineNewsgroup"
label="&selectofflineNewsgroup.check.label;"
accesskey="&selectofflineNewsgroup.check.accesskey;"
/>
</vbox>
<button
hidefor="nntp"
label="&offlineFolder.button.label;"
oncommand="onOfflineFolderDownload();"
accesskey="&offlineFolder.button.accesskey;"
id="offline.offlineFolderDownloadButton"
orient="right"
/>
<button
hidefor="imap"
label="&offlineNewsgroup.button.label;"
oncommand="onOfflineFolderDownload();"
accesskey="&offlineNewsgroup.button.accesskey;"
id="offline.offlineNewsgroupDownloadButton"
orient="right"
/>
</vbox>
<vbox id="SharingPanel">
<hbox align="start">
<label value="&folderType.label;" id="folderTypeLabel"/>
<label value="" id="folderType.text"/>
</hbox>
<vbox align="start">
<label value="" id="folderDescription.text"/>
<label value=" "/>
<label value="&permissionsDesc.label;" id="permissionsDescLabel"/>
<vbox id="SharingPanel">
<hbox align="start">
<label value="&folderType.label;" id="folderTypeLabel" />
<label value="" id="folderType.text" />
</hbox>
<vbox align="start">
<label value="" id="folderDescription.text" />
<label value=" " />
<label
value="&permissionsDesc.label;"
id="permissionsDescLabel"
/>
<description id="folderPermissions.text"></description>
</vbox>
<vbox id="folderOtherUsers" align="start" hidden="true">
<label value=" "/>
<label value="&folderOtherUsers.label;"/>
<description id="folderOtherUsersText"></description>
</vbox>
<spacer flex="1"/>
<vbox align="start">
<button hidefor="pop3,none,rss,nntp" label="&privileges.button.label;"
oncommand="onFolderPrivileges();" accesskey="&privileges.button.accesskey;"
id="imap.FolderPrivileges" orient="right"/>
</vbox>
</vbox>
<description id="folderPermissions.text"></description>
</vbox>
<vbox id="folderOtherUsers" align="start" hidden="true">
<label value=" " />
<label value="&folderOtherUsers.label;" />
<description id="folderOtherUsersText"></description>
</vbox>
<spacer flex="1" />
<vbox align="start">
<button
hidefor="pop3,none,rss,nntp"
label="&privileges.button.label;"
oncommand="onFolderPrivileges();"
accesskey="&privileges.button.accesskey;"
id="imap.FolderPrivileges"
orient="right"
/>
</vbox>
</vbox>
<vbox id="quotaPanel">
<label id="folderQuotaStatus" flex="1"/>
<hbox id="folderQuotaData" hidden="true">
<html:ul id="quotaDetails"></html:ul>
</hbox>
</vbox>
</tabpanels>
</tabbox>
</dialog>
</html:body>
<vbox id="quotaPanel">
<label id="folderQuotaStatus" flex="1" />
<hbox id="folderQuotaData" hidden="true">
<html:ul id="quotaDetails"></html:ul>
</hbox>
</vbox>
</tabpanels>
</tabbox>
</dialog>
</html:body>
</html>

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

@ -7,40 +7,51 @@
<!DOCTYPE html SYSTEM "chrome://messenger/locale/junkLog.dtd">
<html id="viewLogWindow" xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
persist="screenX screenY width height"
width="600" height="375"
scrolling="false">
<head>
<title>&adaptiveJunkLog.title;</title>
<script defer="defer" src="chrome://messenger/content/junkLog.js"></script>
</head>
<html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<dialog buttons="accept"
buttonlabelaccept="&closeLog.label;"
buttonaccesskeyaccept="&closeLog.accesskey;">
<vbox flex="1">
<hbox>
<label value="&adaptiveJunkLogInfo.label;"/>
<spacer flex="1"/>
<button label="&clearLog.label;"
accesskey="&clearLog.accesskey;"
oncommand="clearLog();"/>
</hbox>
<separator class="thin"/>
<hbox flex="1">
<browser id="logView"
type="content"
disablehistory="true"
disablesecurity="true"
src="about:blank"
autofind="false"
flex="1"/>
</hbox>
</vbox>
</dialog>
</html:body>
<html
id="viewLogWindow"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
persist="screenX screenY width height"
width="600"
height="375"
scrolling="false"
>
<head>
<title>&adaptiveJunkLog.title;</title>
<script defer="defer" src="chrome://messenger/content/junkLog.js"></script>
</head>
<html:body
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<dialog
buttons="accept"
buttonlabelaccept="&closeLog.label;"
buttonaccesskeyaccept="&closeLog.accesskey;"
>
<vbox flex="1">
<hbox>
<label value="&adaptiveJunkLogInfo.label;" />
<spacer flex="1" />
<button
label="&clearLog.label;"
accesskey="&clearLog.accesskey;"
oncommand="clearLog();"
/>
</hbox>
<separator class="thin" />
<hbox flex="1">
<browser
id="logView"
type="content"
disablehistory="true"
disablesecurity="true"
src="about:blank"
autofind="false"
flex="1"
/>
</hbox>
</vbox>
</dialog>
</html:body>
</html>

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

@ -9,42 +9,71 @@
<?xml-stylesheet href="chrome://messenger/skin/themeableDialog.css" type="text/css"?>
<!DOCTYPE html SYSTEM "chrome://messenger/locale/markByDate.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
lightweightthemes="true"
scrolling="false">
<head>
<title>&messageMarkByDate.label;</title>
<link rel="localization" href="branding/brand.ftl" />
<script defer="defer" src="chrome://messenger/content/globalOverlay.js"></script>
<script defer="defer" src="chrome://global/content/editMenuOverlay.js"></script>
<script defer="defer" src="chrome://messenger/content/dialogShadowDom.js"></script>
<script defer="defer" src="chrome://messenger/content/dateFormat.js"></script>
<script defer="defer" src="chrome://messenger/content/markByDate.js"></script>
</head>
<html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<dialog buttons="accept,cancel">
<hbox align="center" pack="end">
<label id="lowerDateLabel" control="lowerDate"
value="&markByDateLower.label;"
accesskey="&markByDateLower.accesskey;"/>
<html:input id="lowerDate"
type="text"
class="input-inline"
aria-labelledby="lowerDateLabel"
size="11"/>
</hbox>
<hbox align="center" pack="end">
<label id="upperDateLabel" control="upperDate"
value="&markByDateUpper.label;"
accesskey="&markByDateUpper.accesskey;"/>
<html:input id="upperDate"
type="text"
class="input-inline"
aria-labelledby="upperDateLabel"
size="11"/>
</hbox>
</dialog>
</html:body>
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
lightweightthemes="true"
scrolling="false"
>
<head>
<title>&messageMarkByDate.label;</title>
<link rel="localization" href="branding/brand.ftl" />
<script
defer="defer"
src="chrome://messenger/content/globalOverlay.js"
></script>
<script
defer="defer"
src="chrome://global/content/editMenuOverlay.js"
></script>
<script
defer="defer"
src="chrome://messenger/content/dialogShadowDom.js"
></script>
<script
defer="defer"
src="chrome://messenger/content/dateFormat.js"
></script>
<script
defer="defer"
src="chrome://messenger/content/markByDate.js"
></script>
</head>
<html:body
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<dialog buttons="accept,cancel">
<hbox align="center" pack="end">
<label
id="lowerDateLabel"
control="lowerDate"
value="&markByDateLower.label;"
accesskey="&markByDateLower.accesskey;"
/>
<html:input
id="lowerDate"
type="text"
class="input-inline"
aria-labelledby="lowerDateLabel"
size="11"
/>
</hbox>
<hbox align="center" pack="end">
<label
id="upperDateLabel"
control="upperDate"
value="&markByDateUpper.label;"
accesskey="&markByDateUpper.accesskey;"
/>
<html:input
id="upperDate"
type="text"
class="input-inline"
aria-labelledby="upperDateLabel"
size="11"
/>
</hbox>
</dialog>
</html:body>
</html>

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

@ -7,13 +7,14 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
windowtype="mail:accountcentral"
lightweightthemes="true">
<html
xmlns="http://www.w3.org/1999/xhtml"
windowtype="mail:accountcentral"
lightweightthemes="true"
>
<head>
<link rel="localization" href="branding/brand.ftl"/>
<link rel="localization" href="messenger/accountCentral.ftl"/>
<link rel="localization" href="branding/brand.ftl" />
<link rel="localization" href="messenger/accountCentral.ftl" />
<script src="chrome://communicator/content/utilityOverlay.js"></script>
<script src="chrome://messenger/content/msgAccountCentral.js"></script>
@ -21,140 +22,198 @@
<body onload="OnInit();">
<main id="accountCentral">
<header id="headerFirstRun" class="account-central-header" hidden="hidden">
<img id="brandLogo" src="chrome://branding/content/about-logo.svg"
alt="" />
<header
id="headerFirstRun"
class="account-central-header"
hidden="hidden"
>
<img
id="brandLogo"
src="chrome://branding/content/about-logo.svg"
alt=""
/>
<aside>
<h1 class="account-central-title"
data-l10n-id="account-central-title"></h1>
<h1
class="account-central-title"
data-l10n-id="account-central-title"
></h1>
<div class="account-central-version">
<span id="version"></span>
<a id="releasenotes" data-l10n-id="release-notes"
onclick="openAboutDialog();"
onkeypress="if (event.key == 'Enter') { openAboutDialog(); }">
<img src="chrome://messenger/skin/icons/new/compact/info.svg" alt="" />
<a
id="releasenotes"
data-l10n-id="release-notes"
onclick="openAboutDialog();"
onkeypress="if (event.key == 'Enter') { openAboutDialog(); }"
>
<img
src="chrome://messenger/skin/icons/new/compact/info.svg"
alt=""
/>
</a>
</div>
</aside>
</header>
<header id="headerExistingAccounts" class="account-central-header summary-header">
<header
id="headerExistingAccounts"
class="account-central-header summary-header"
>
<span id="accountLogo"></span>
<aside>
<h1 id="accountName"></h1>
</aside>
<aside class="settings-btn-container">
<button id="settingsButton" type="button"
data-l10n-id="account-settings"
class="btn-link" onclick="viewSettings(null);">
</button>
<button
id="settingsButton"
type="button"
data-l10n-id="account-settings"
class="btn-link"
onclick="viewSettings(null);"
></button>
</aside>
</header>
<section id="accountFeaturesSection" class="account-central-section">
<aside class="row-container account-options">
<button id="nntpSubscriptionButton" type="button"
data-l10n-id="nntp-subscription" class="btn-link btn-inline"
onclick="subscribe();" hidden="hidden">
</button>
<button id="rssSubscriptionButton" type="button"
data-l10n-id="rss-subscription" class="btn-link btn-inline"
onclick="subscribe();" hidden="hidden">
</button>
<button id="readButton" type="button"
data-l10n-id="read" class="btn-link btn-inline"
onclick="readMessages();" hidden="hidden">
</button>
<button id="composeButton" type="button"
data-l10n-id="compose" class="btn-link btn-inline"
onclick="window.browsingContext.topChromeWindow.MsgNewMessage(event);" hidden="hidden">
</button>
<button id="searchButton" type="button"
data-l10n-id="search" class="btn-link btn-inline"
onclick="searchMessages();" hidden="hidden">
</button>
<button id="filterButton" type="button"
data-l10n-id="filter" class="btn-link btn-inline"
onclick="createMsgFilters();" hidden="hidden">
</button>
<button id="e2eButton" type="button"
data-l10n-id="e2e" class="btn-link btn-inline"
onclick="viewSettings('am-e2e.xhtml');" hidden="hidden">
</button>
<button
id="nntpSubscriptionButton"
type="button"
data-l10n-id="nntp-subscription"
class="btn-link btn-inline"
onclick="subscribe();"
hidden="hidden"
></button>
<button
id="rssSubscriptionButton"
type="button"
data-l10n-id="rss-subscription"
class="btn-link btn-inline"
onclick="subscribe();"
hidden="hidden"
></button>
<button
id="readButton"
type="button"
data-l10n-id="read"
class="btn-link btn-inline"
onclick="readMessages();"
hidden="hidden"
></button>
<button
id="composeButton"
type="button"
data-l10n-id="compose"
class="btn-link btn-inline"
onclick="window.browsingContext.topChromeWindow.MsgNewMessage(event);"
hidden="hidden"
></button>
<button
id="searchButton"
type="button"
data-l10n-id="search"
class="btn-link btn-inline"
onclick="searchMessages();"
hidden="hidden"
></button>
<button
id="filterButton"
type="button"
data-l10n-id="filter"
class="btn-link btn-inline"
onclick="createMsgFilters();"
hidden="hidden"
></button>
<button
id="e2eButton"
type="button"
data-l10n-id="e2e"
class="btn-link btn-inline"
onclick="viewSettings('am-e2e.xhtml');"
hidden="hidden"
></button>
</aside>
</section>
<section id="accountSetupSection" class="account-central-section setup-section zebra">
<section
id="accountSetupSection"
class="account-central-section setup-section zebra"
>
<h2 id="setupTitle" class="section-title"></h2>
<aside class="row-container">
<button id="setupEmail"
type="button"
data-l10n-id="email-label"
class="btn-hub btn-inline"
onclick="top.openAccountSetupTab();">
</button>
<button
id="setupEmail"
type="button"
data-l10n-id="email-label"
class="btn-hub btn-inline"
onclick="top.openAccountSetupTab();"
></button>
<div class="account-description">
<p data-l10n-id="email-description"></p>
</div>
<button id="setupAddressBook"
type="button"
data-l10n-id="addressbook-label"
class="btn-hub btn-inline"
onclick="top.addNewAddressBook('CARDDAV');">
</button>
<button
id="setupAddressBook"
type="button"
data-l10n-id="addressbook-label"
class="btn-hub btn-inline"
onclick="top.addNewAddressBook('CARDDAV');"
></button>
<div class="account-description">
<p data-l10n-id="addressbook-description"></p>
</div>
<button id="setupCalendar"
type="button"
data-l10n-id="calendar-label"
class="btn-hub btn-inline"
onclick="window.browsingContext.topChromeWindow.cal.window.openCalendarWizard(window);">
</button>
<button
id="setupCalendar"
type="button"
data-l10n-id="calendar-label"
class="btn-hub btn-inline"
onclick="window.browsingContext.topChromeWindow.cal.window.openCalendarWizard(window);"
></button>
<div class="account-description">
<p data-l10n-id="calendar-description"></p>
</div>
<button id="setupChat"
type="button"
data-l10n-id="chat-label"
class="btn-hub btn-inline"
onclick="top.AddIMAccount();">
</button>
<button
id="setupChat"
type="button"
data-l10n-id="chat-label"
class="btn-hub btn-inline"
onclick="top.AddIMAccount();"
></button>
<div class="account-description">
<p data-l10n-id="chat-description"></p>
</div>
<button id="setupFilelink"
type="button"
data-l10n-id="filelink-label"
class="btn-hub btn-inline"
onclick="top.openOptionsDialog('paneCompose', 'compositionAttachmentsCategory');">
</button>
<button
id="setupFilelink"
type="button"
data-l10n-id="filelink-label"
class="btn-hub btn-inline"
onclick="top.openOptionsDialog('paneCompose', 'compositionAttachmentsCategory');"
></button>
<div class="account-description">
<p data-l10n-id="filelink-description"></p>
</div>
<button id="setupFeeds"
type="button"
data-l10n-id="feeds-label"
class="btn-hub btn-inline"
onclick="top.AddFeedAccount();">
</button>
<button
id="setupFeeds"
type="button"
data-l10n-id="feeds-label"
class="btn-hub btn-inline"
onclick="top.AddFeedAccount();"
></button>
<div class="account-description">
<p data-l10n-id="feeds-description"></p>
</div>
<button id="setupNewsgroups"
type="button"
data-l10n-id="newsgroups-label"
class="btn-hub btn-inline"
onclick="top.openNewsgroupAccountWizard();">
</button>
<button
id="setupNewsgroups"
type="button"
data-l10n-id="newsgroups-label"
class="btn-hub btn-inline"
onclick="top.openNewsgroupAccountWizard();"
></button>
<div class="account-description">
<p data-l10n-id="newsgroups-description"></p>
</div>
@ -168,12 +227,13 @@
<p data-l10n-id="import-paragraph2"></p>
</aside>
<aside class="row-container">
<button id="importButton"
type="button"
data-l10n-id="import-label"
class="btn-hub btn-inline"
onclick="top.toImport();">
</button>
<button
id="importButton"
type="button"
data-l10n-id="import-label"
class="btn-hub btn-inline"
onclick="top.toImport();"
></button>
</aside>
</section>
@ -182,13 +242,18 @@
<aside class="row-container">
<p data-l10n-id="about-paragraph"></p>
<p id="donationParagraph" data-l10n-id="about-paragraph-consider-donation">
<a href="https://give.thunderbird.net/en-US/?utm_source=account_hub_tb_release&amp;utm_medium=referral&amp;utm_content=paragraph_text"
class="donation-link"
data-l10n-name="donation-link"
onclick="openLink(event);"
onkeypress="if (event.key == 'Enter') { openLink(event); }"
tabindex="0"></a>
<p
id="donationParagraph"
data-l10n-id="about-paragraph-consider-donation"
>
<a
href="https://give.thunderbird.net/en-US/?utm_source=account_hub_tb_release&amp;utm_medium=referral&amp;utm_content=paragraph_text"
class="donation-link"
data-l10n-name="donation-link"
onclick="openLink(event);"
onkeypress="if (event.key == 'Enter') { openLink(event); }"
tabindex="0"
></a>
</p>
</aside>
</section>
@ -197,37 +262,44 @@
<h2 class="section-title" data-l10n-id="resources-title"></h2>
<aside class="row-container">
<a id="featuresLink"
href="https://www.thunderbird.net/en-US/features/"
class="resource-link"
data-l10n-id="explore-link"
onclick="openLink(event);"
onkeypress="if (event.key == 'Enter') { openLink(event); }"
tabindex="0"></a>
<a id="supportLink"
href="https://support.mozilla.org/products/thunderbird"
class="resource-link"
data-l10n-id="support-link"
onclick="openLink(event);"
onkeypress="if (event.key == 'Enter') { openLink(event); }"
tabindex="0"></a>
<a id="involvedLink"
href="https://www.thunderbird.net/en-US/get-involved/"
class="resource-link"
data-l10n-id="involved-link"
onclick="openLink(event);"
onkeypress="if (event.key == 'Enter') { openLink(event); }"
tabindex="0"></a>
<a id="developerLink"
href="https://developer.thunderbird.net/"
class="resource-link"
data-l10n-id="developer-link"
onclick="openLink(event);"
onkeypress="if (event.key == 'Enter') { openLink(event); }"
tabindex="0"></a>
<a
id="featuresLink"
href="https://www.thunderbird.net/en-US/features/"
class="resource-link"
data-l10n-id="explore-link"
onclick="openLink(event);"
onkeypress="if (event.key == 'Enter') { openLink(event); }"
tabindex="0"
></a>
<a
id="supportLink"
href="https://support.mozilla.org/products/thunderbird"
class="resource-link"
data-l10n-id="support-link"
onclick="openLink(event);"
onkeypress="if (event.key == 'Enter') { openLink(event); }"
tabindex="0"
></a>
<a
id="involvedLink"
href="https://www.thunderbird.net/en-US/get-involved/"
class="resource-link"
data-l10n-id="involved-link"
onclick="openLink(event);"
onkeypress="if (event.key == 'Enter') { openLink(event); }"
tabindex="0"
></a>
<a
id="developerLink"
href="https://developer.thunderbird.net/"
class="resource-link"
data-l10n-id="developer-link"
onclick="openLink(event);"
onkeypress="if (event.key == 'Enter') { openLink(event); }"
tabindex="0"
></a>
</aside>
</section>
</main>
</body>
</html>

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

@ -10,29 +10,53 @@
<!DOCTYPE html SYSTEM "chrome://messenger/locale/msgSynchronize.dtd">
<html id="selectOffline" xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
windowtype="mailnews:selectOffline"
lightweightthemes="true"
width="450" height="400"
persist="width height screenX screenY"
scrolling="false">
<head>
<title>&MsgSelect.label;</title>
<script defer="defer" src="chrome://messenger/content/dialogShadowDom.js"></script>
<script defer="defer" src="chrome://messenger/content/jsTreeView.js"></script>
<script defer="defer" src="chrome://messenger/content/msgSelectOfflineFolders.js"></script>
<style id="folderColorsStyle"></style>
</head>
<html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<dialog>
<stringbundle id="bundle_messenger" src="chrome://messenger/locale/messenger.properties"/>
<stringbundle id="bundle_brand" src="chrome://branding/locale/brand.properties"/>
<html
id="selectOffline"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
windowtype="mailnews:selectOffline"
lightweightthemes="true"
width="450"
height="400"
persist="width height screenX screenY"
scrolling="false"
>
<head>
<title>&MsgSelect.label;</title>
<script
defer="defer"
src="chrome://messenger/content/dialogShadowDom.js"
></script>
<script
defer="defer"
src="chrome://messenger/content/jsTreeView.js"
></script>
<script
defer="defer"
src="chrome://messenger/content/msgSelectOfflineFolders.js"
></script>
<style id="folderColorsStyle"></style>
</head>
<html:body
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<dialog>
<stringbundle
id="bundle_messenger"
src="chrome://messenger/locale/messenger.properties"
/>
<stringbundle
id="bundle_brand"
src="chrome://branding/locale/brand.properties"
/>
<label class="desc" control="synchronizeTree">&MsgSelectDesc.label;</label>
<label class="desc" control="synchronizeTree"
>&MsgSelectDesc.label;</label
>
<tree id="synchronizeTree"
<tree
id="synchronizeTree"
flex="1"
hidecolumnpicker="true"
seltype="multiple"
@ -40,14 +64,26 @@
simplelist="true"
mode="offline"
onkeypress="gSelectOffline.onKeyPress(event);"
onclick="gSelectOffline.onClick(event);">
<treecols>
<treecol id="folderNameCol" persist="hidden width" label="&MsgSelectItems.label;" primary="true"/>
<splitter class="tree-splitter"/>
<treecol id="syncCol" style="flex: 1 auto" persist="hidden width" label="&MsgSelectInd.label;" cycler="true"/>
</treecols>
<treechildren/>
</tree>
</dialog>
</html:body>
onclick="gSelectOffline.onClick(event);"
>
<treecols>
<treecol
id="folderNameCol"
persist="hidden width"
label="&MsgSelectItems.label;"
primary="true"
/>
<splitter class="tree-splitter" />
<treecol
id="syncCol"
style="flex: 1 auto"
persist="hidden width"
label="&MsgSelectInd.label;"
cycler="true"
/>
</treecols>
<treechildren />
</tree>
</dialog>
</html:body>
</html>

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

@ -8,37 +8,70 @@
<?xml-stylesheet href="chrome://messenger/skin/themeableDialog.css" type="text/css"?>
<!DOCTYPE html SYSTEM "chrome://messenger/locale/msgSynchronize.dtd">
<html id="msgSynchronize" xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
windowtype="mailnews:synchronizeOffline"
lightweightthemes="true"
width="510" height="300"
scrolling="false">
<head>
<title>&MsgSynchronize.label;</title>
<script defer="defer" src="chrome://messenger/content/dialogShadowDom.js"></script>
<script defer="defer" src="chrome://messenger/content/msgSynchronize.js"></script>
</head>
<html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<dialog id="msg-synchronizer">
<html:p>&MsgSyncDesc.label;</html:p>
<html:p>&MsgSyncDirections.label;</html:p>
<html
id="msgSynchronize"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
windowtype="mailnews:synchronizeOffline"
lightweightthemes="true"
width="510"
height="300"
scrolling="false"
>
<head>
<title>&MsgSynchronize.label;</title>
<script
defer="defer"
src="chrome://messenger/content/dialogShadowDom.js"
></script>
<script
defer="defer"
src="chrome://messenger/content/msgSynchronize.js"
></script>
</head>
<html:body
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<dialog id="msg-synchronizer">
<html:p>&MsgSyncDesc.label;</html:p>
<html:p>&MsgSyncDirections.label;</html:p>
<vbox class="indent" align="start">
<checkbox id="syncMail" hidable="true" hidefor="pop3" label="&syncTypeMail.label;"
accesskey="&syncTypeMail.accesskey;"/>
<checkbox id="syncNews" label="&syncTypeNews.label;" accesskey="&syncTypeNews.accesskey;"/>
</vbox>
<vbox align="start">
<checkbox id="sendMessage" label="&sendMessage.label;" accesskey="&sendMessage.accesskey;"/>
<checkbox id="workOffline" label="&workOffline.label;" accesskey="&workOffline.accesskey;"/>
</vbox>
<separator class="thin"/>
<hbox pack="end">
<button id="select" label="&selectButton.label;" accesskey="&selectButton.accesskey;"
oncommand="OnSelect();"/>
</hbox>
</dialog>
</html:body>
<vbox class="indent" align="start">
<checkbox
id="syncMail"
hidable="true"
hidefor="pop3"
label="&syncTypeMail.label;"
accesskey="&syncTypeMail.accesskey;"
/>
<checkbox
id="syncNews"
label="&syncTypeNews.label;"
accesskey="&syncTypeNews.accesskey;"
/>
</vbox>
<vbox align="start">
<checkbox
id="sendMessage"
label="&sendMessage.label;"
accesskey="&sendMessage.accesskey;"
/>
<checkbox
id="workOffline"
label="&workOffline.label;"
accesskey="&workOffline.accesskey;"
/>
</vbox>
<separator class="thin" />
<hbox pack="end">
<button
id="select"
label="&selectButton.label;"
accesskey="&selectButton.accesskey;"
oncommand="OnSelect();"
/>
</hbox>
</dialog>
</html:body>
</html>

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

@ -12,61 +12,96 @@
<?xml-stylesheet href="chrome://messenger/skin/themeableDialog.css" type="text/css"?>
<?xml-stylesheet href="chrome://messenger/skin/contextMenu.css" type="text/css"?>
<!DOCTYPE html [
<!ENTITY % newFolderDTD SYSTEM "chrome://messenger/locale/newFolderDialog.dtd">%newFolderDTD;
]>
<!DOCTYPE html [ <!ENTITY % newFolderDTD SYSTEM "chrome://messenger/locale/newFolderDialog.dtd">
%newFolderDTD; ]>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
lightweightthemes="true"
scrolling="false">
<head>
<title>&newFolderDialog.title;</title>
<script defer="defer" src="chrome://messenger/content/globalOverlay.js"></script>
<script defer="defer" src="chrome://global/content/editMenuOverlay.js"></script>
<script defer="defer" src="chrome://messenger/content/dialogShadowDom.js"></script>
<script defer="defer" src="chrome://messenger/content/newFolderDialog.js"></script>
</head>
<html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<dialog buttonlabelaccept="&accept.label;"
buttonaccesskeyaccept="&accept.accesskey;">
<label id="nameLabel" value="&name.label;" accesskey="&name.accesskey;"
control="name"/>
<html:input id="name"
type="text"
class="input-inline"
aria-labelledby="nameLabel"
oninput="doEnabling();"/>
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
lightweightthemes="true"
scrolling="false"
>
<head>
<title>&newFolderDialog.title;</title>
<script
defer="defer"
src="chrome://messenger/content/globalOverlay.js"
></script>
<script
defer="defer"
src="chrome://global/content/editMenuOverlay.js"
></script>
<script
defer="defer"
src="chrome://messenger/content/dialogShadowDom.js"
></script>
<script
defer="defer"
src="chrome://messenger/content/newFolderDialog.js"
></script>
</head>
<html:body
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<dialog
buttonlabelaccept="&accept.label;"
buttonaccesskeyaccept="&accept.accesskey;"
>
<label
id="nameLabel"
value="&name.label;"
accesskey="&name.accesskey;"
control="name"
/>
<html:input
id="name"
type="text"
class="input-inline"
aria-labelledby="nameLabel"
oninput="doEnabling();"
/>
<separator/>
<separator />
<label value="&description.label;" accesskey="&description.accesskey;" control="msgNewFolderPicker"/>
<label
value="&description.label;"
accesskey="&description.accesskey;"
control="msgNewFolderPicker"
/>
<menulist id="msgNewFolderPicker" class="folderMenuItem"
displayformat="verbose">
<menupopup is="folder-menupopup" id="MsgNewFolderPopup"
showFileHereLabel="true"
class="menulist-menupopup"
mode="newFolder"
oncommand="onFolderSelect(event)"/>
</menulist>
<menulist
id="msgNewFolderPicker"
class="folderMenuItem"
displayformat="verbose"
>
<menupopup
is="folder-menupopup"
id="MsgNewFolderPopup"
showFileHereLabel="true"
class="menulist-menupopup"
mode="newFolder"
oncommand="onFolderSelect(event)"
/>
</menulist>
<vbox id="newFolderTypeBox">
<vbox id="newFolderTypeBox">
<separator class="thin" />
<separator class="thin"/>
<label value="&folderRestriction1.label;" />
<label value="&folderRestriction2.label;" />
<label value="&folderRestriction1.label;"/>
<label value="&folderRestriction2.label;"/>
<separator class="thin" />
<separator class="thin"/>
<radiogroup id="folderGroup" orient="horizontal" class="indent">
<radio oncommand="onFoldersOnly();" label="&foldersOnly.label;"/>
<radio oncommand="onMessagesOnly();" label="&messagesOnly.label;" selected="true"/>
</radiogroup>
</vbox>
</dialog>
</html:body>
<radiogroup id="folderGroup" orient="horizontal" class="indent">
<radio oncommand="onFoldersOnly();" label="&foldersOnly.label;" />
<radio
oncommand="onMessagesOnly();"
label="&messagesOnly.label;"
selected="true"
/>
</radiogroup>
</vbox>
</dialog>
</html:body>
</html>

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

@ -6,32 +6,50 @@
<?xml-stylesheet href="chrome://messenger/skin/newmailalert.css" type="text/css"?>
<html id="newMailAlertNotification" xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
windowtype="alert:alert"
scrolling="false">
<head>
<script defer="defer" src="chrome://messenger/content/newmailalert.js"></script>
</head>
<html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
role="alert">
<stringbundle id="bundle_messenger" src="chrome://messenger/locale/messenger.properties"/>
<html
id="newMailAlertNotification"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
windowtype="alert:alert"
scrolling="false"
>
<head>
<script
defer="defer"
src="chrome://messenger/content/newmailalert.js"
></script>
</head>
<html:body
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
role="alert"
>
<stringbundle
id="bundle_messenger"
src="chrome://messenger/locale/messenger.properties"
/>
<hbox id="alertContainer" align="start">
<hbox id ="alertImageBox" align="center" pack="center">
<html:img id="alertImage" alt=""
src="chrome://branding/content/icon64.png"
srcset="chrome://branding/content/icon128.png 2x" />
<hbox id="alertContainer" align="start">
<hbox id="alertImageBox" align="center" pack="center">
<html:img
id="alertImage"
alt=""
src="chrome://branding/content/icon64.png"
srcset="chrome://branding/content/icon128.png 2x"
/>
</hbox>
<vbox id="alertTextBox">
<label id="alertTitle" />
<separator id="alertSeparator" />
<folder-summary id="folderSummaryInfo" />
</vbox>
<toolbarbutton
id="closeButton"
class="close-icon"
onclick="closeAlert();"
/>
</hbox>
<vbox id="alertTextBox">
<label id="alertTitle"/>
<separator id="alertSeparator"/>
<folder-summary id="folderSummaryInfo"/>
</vbox>
<toolbarbutton id="closeButton" class="close-icon" onclick="closeAlert();"/>
</hbox>
</html:body>
</html:body>
</html>

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

@ -3,23 +3,29 @@
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!DOCTYPE html [
<!ENTITY % htmlDTD
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"DTD/xhtml1-strict.dtd">
%htmlDTD;
<!ENTITY % netErrorDTD
<!DOCTYPE html [ <!ENTITY % htmlDTD PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
%htmlDTD;
<!ENTITY % netErrorDTD
SYSTEM "chrome://messenger/locale/newsError.dtd">
%netErrorDTD;
]>
%netErrorDTD; ]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Security-Policy" content="default-src chrome:"/>
<meta http-equiv="Content-Security-Policy" content="default-src chrome:" />
<title>&newsError.title;</title>
<link rel="stylesheet" href="chrome://global/skin/aboutNetError.css" type="text/css" media="all" />
<link
rel="stylesheet"
href="chrome://global/skin/aboutNetError.css"
type="text/css"
media="all"
/>
<!-- If the location of the favicon is changed here, the FAVICON_ERRORPAGE_URL symbol in
toolkit/components/places/src/nsFaviconService.h should be updated. -->
<link rel="icon" type="image/png" id="favicon" href="chrome://global/skin/icons/warning.svg"/>
<link
rel="icon"
type="image/png"
id="favicon"
href="chrome://global/skin/icons/warning.svg"
/>
</head>
<body>
<div id="errorPageContainer">
@ -32,9 +38,13 @@
</div>
<div id="errorLongDesc">
<ul>
<li>&serverResponded.title; <span id="ngResp"/></li>
<li>&serverResponded.title; <span id="ngResp" /></li>
<li>&articleExpired.title;</li>
<li id="messageIdDesc">&trySearching.title; &lt;<span id="msgId"/>&gt; (<span id="msgKey"/>)</li>
<li id="messageIdDesc">
&trySearching.title; &lt;<span id="msgId" />&gt; (<span
id="msgKey"
/>)
</li>
</ul>
</div>
</div>
@ -42,6 +52,6 @@
the "errorTryAgain" id to piggyback on toolkit's CSS. -->
<button id="errorTryAgain">&removeExpiredArticles.title;</button>
</div>
<script src="chrome://messenger/content/newsError.js"/>
<script src="chrome://messenger/content/newsError.js" />
</body>
</html>

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

@ -1,4 +1,5 @@
<?xml version="1.0"?> <!-- -*- Mode: xml; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- -->
<?xml version="1.0"?>
<!-- -*- Mode: xml; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- -->
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
@ -9,32 +10,54 @@
<?xml-stylesheet href="chrome://messenger/skin/themeableDialog.css" type="text/css"?>
<!DOCTYPE html SYSTEM "chrome://messenger/locale/renameFolderDialog.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
lightweightthemes="true"
scrolling="false">
<head>
<title>&renameFolderDialog.title;</title>
<link rel="localization" href="branding/brand.ftl" />
<script defer="defer" src="chrome://messenger/content/globalOverlay.js"></script>
<script defer="defer" src="chrome://global/content/editMenuOverlay.js"></script>
<script defer="defer" src="chrome://messenger/content/dialogShadowDom.js"></script>
<script defer="defer" src="chrome://messenger/content/renameFolderDialog.js"></script>
</head>
<html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<dialog buttonlabelaccept="&accept.label;"
buttonaccesskeyaccept="&accept.accesskey;">
<html:label id="nameLabel"
for="name"
style="display:inline-block;"
accesskey="&rename.accesskey;">&rename.label;</html:label>
<html:input id="name"
type="text"
class="input-inline"
aria-labelledby="nameLabel"
oninput="doEnabling();"/>
</dialog>
</html:body>
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
lightweightthemes="true"
scrolling="false"
>
<head>
<title>&renameFolderDialog.title;</title>
<link rel="localization" href="branding/brand.ftl" />
<script
defer="defer"
src="chrome://messenger/content/globalOverlay.js"
></script>
<script
defer="defer"
src="chrome://global/content/editMenuOverlay.js"
></script>
<script
defer="defer"
src="chrome://messenger/content/dialogShadowDom.js"
></script>
<script
defer="defer"
src="chrome://messenger/content/renameFolderDialog.js"
></script>
</head>
<html:body
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<dialog
buttonlabelaccept="&accept.label;"
buttonaccesskeyaccept="&accept.accesskey;"
>
<html:label
id="nameLabel"
for="name"
style="display: inline-block"
accesskey="&rename.accesskey;"
>&rename.label;</html:label
>
<html:input
id="name"
type="text"
class="input-inline"
aria-labelledby="nameLabel"
oninput="doEnabling();"
/>
</dialog>
</html:body>
</html>

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

@ -9,31 +9,45 @@
<?xml-stylesheet href="chrome://messenger/skin/colors.css" type="text/css"?>
<?xml-stylesheet href="chrome://messenger/skin/themeableDialog.css" type="text/css"?>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
lightweightthemes="true"
width="600" height="150"
scrolling="false">
<head>
<script defer="defer" src="chrome://messenger/content/dialogShadowDom.js"></script>
<script defer="defer" src="chrome://messenger/content/shutdownWindow.js"></script>
</head>
<html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<dialog buttons="cancel">
<stringbundle id="bundle_shutdown" src="chrome://messenger/locale/shutdownWindow.properties"/>
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
lightweightthemes="true"
width="600"
height="150"
scrolling="false"
>
<head>
<script
defer="defer"
src="chrome://messenger/content/dialogShadowDom.js"
></script>
<script
defer="defer"
src="chrome://messenger/content/shutdownWindow.js"
></script>
</head>
<html:body
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<dialog buttons="cancel">
<stringbundle
id="bundle_shutdown"
src="chrome://messenger/locale/shutdownWindow.properties"
/>
<vbox align="center">
<label id="shutdownStatus_label" value="" />
<separator class="thin" />
</vbox>
<vbox align="center">
<label id="shutdownStatus_label" value="" />
<separator class="thin" />
</vbox>
<html:progress id="shutdown_progressmeter" max="100" />
<html:progress id="shutdown_progressmeter" max="100" />
<vbox align="center">
<label id="shutdownTask_label" value="" />
<separator class="thick" />
</vbox>
</dialog>
</html:body>
<vbox align="center">
<label id="shutdownTask_label" value="" />
<separator class="thick" />
</vbox>
</dialog>
</html:body>
</html>

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

@ -13,164 +13,221 @@
<!DOCTYPE html SYSTEM "chrome://messenger/locale/subscribe.dtd">
<html id="subscribeWindow" xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
persist="width height screenX screenY"
lightweightthemes="true"
windowtype="mailnews:subscribe"
scrolling="false">
<head>
<title>&subscribeDialog.title;</title>
<script defer="defer" src="chrome://messenger/content/globalOverlay.js"></script>
<script defer="defer" src="chrome://global/content/editMenuOverlay.js"></script>
<script defer="defer" src="chrome://messenger/content/dialogShadowDom.js"></script>
<script defer="defer" src="chrome://messenger/content/mailWindow.js"></script>
<script defer="defer" src="chrome://messenger/content/subscribe.js"></script>
</head>
<html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<dialog>
<stringbundle id="bundle_subscribe" src="chrome://messenger/locale/subscribe.properties"/>
<stringbundle id="bundle_messenger" src="chrome://messenger/locale/messenger.properties"/>
<html
id="subscribeWindow"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
persist="width height screenX screenY"
lightweightthemes="true"
windowtype="mailnews:subscribe"
scrolling="false"
>
<head>
<title>&subscribeDialog.title;</title>
<script
defer="defer"
src="chrome://messenger/content/globalOverlay.js"
></script>
<script
defer="defer"
src="chrome://global/content/editMenuOverlay.js"
></script>
<script
defer="defer"
src="chrome://messenger/content/dialogShadowDom.js"
></script>
<script
defer="defer"
src="chrome://messenger/content/mailWindow.js"
></script>
<script
defer="defer"
src="chrome://messenger/content/subscribe.js"
></script>
</head>
<html:body
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<dialog>
<stringbundle
id="bundle_subscribe"
src="chrome://messenger/locale/subscribe.properties"
/>
<stringbundle
id="bundle_messenger"
src="chrome://messenger/locale/messenger.properties"
/>
<vbox flex="1">
<hbox>
<vbox>
<hbox pack="end" align="center" flex="1">
<label value="&server.label;"
accesskey="&server.accesskey;"
control="serverMenu"/>
</hbox>
<hbox flex="1" align="center">
<label id="namefieldlabel"
accesskey="&namefield.accesskey;"
value="&namefield.label;"
control="namefield"/>
</hbox>
</vbox>
<vbox flex="1">
<menulist id="serverMenu" flex="1" class="folderMenuItem">
<menupopup is="folder-menupopup"
mode="subscribe"
expandFolders="false"
oncommand="onServerClick(event.target._folder);"/>
</menulist>
<search-textbox id="namefield"
class="themeableSearchBox"
flex="1"
timeout="300"
aria-controls="subscribeTree"
oncommand="Search();"/>
</vbox>
</hbox>
<spacer/>
<separator class="thin"/>
<spacer/>
<vbox flex="1">
<tabbox flex="1">
<tabs id="subscribeTabs">
<tab id="currentListTab"
selected="true"
oncommand="ShowCurrentList()"/>
<tab id="newGroupsTab"
label="&newGroupsTab.label;"
accesskey="&newGroupsTab.accesskey;"
oncommand="ShowNewGroupsList()"/>
</tabs>
<tabpanels flex="1">
<tabpanel id="treepanel"
flex="1"
orient="vertical">
<label id="subscribeLabel"/>
<hbox flex="1">
<hbox id="subscribeView" flex="1">
<tree id="subscribeTree"
<hbox>
<vbox>
<hbox pack="end" align="center" flex="1">
<label
value="&server.label;"
accesskey="&server.accesskey;"
control="serverMenu"
/>
</hbox>
<hbox flex="1" align="center">
<label
id="namefieldlabel"
accesskey="&namefield.accesskey;"
value="&namefield.label;"
control="namefield"
/>
</hbox>
</vbox>
<vbox flex="1">
<menulist id="serverMenu" flex="1" class="folderMenuItem">
<menupopup
is="folder-menupopup"
mode="subscribe"
expandFolders="false"
oncommand="onServerClick(event.target._folder);"
/>
</menulist>
<search-textbox
id="namefield"
class="themeableSearchBox"
flex="1"
timeout="300"
aria-controls="subscribeTree"
oncommand="Search();"
/>
</vbox>
</hbox>
<spacer />
<separator class="thin" />
<spacer />
<vbox flex="1">
<tabbox flex="1">
<tabs id="subscribeTabs">
<tab
id="currentListTab"
selected="true"
oncommand="ShowCurrentList()"
/>
<tab
id="newGroupsTab"
label="&newGroupsTab.label;"
accesskey="&newGroupsTab.accesskey;"
oncommand="ShowNewGroupsList()"
/>
</tabs>
<tabpanels flex="1">
<tabpanel id="treepanel" flex="1" orient="vertical">
<label id="subscribeLabel" />
<hbox flex="1">
<hbox id="subscribeView" flex="1">
<tree
id="subscribeTree"
treelines="true"
flex="1"
hidecolumnpicker="true"
seltype="multiple"
disableKeyNavigation="true"
onkeypress="onSubscribeTreeKeyPress(event);"
onclick="SubscribeOnClick(event);">
<treecols id="theSubscribeColumns">
<treecol id="nameColumn"
primary="true"
hideheader="true"
crop="center"/>
<splitter class="tree-splitter"/>
<treecol id="subscribedColumn"
type="checkbox"
style="flex: 1 auto"
hideheader="true"/>
</treecols>
<treechildren id="subscribeTreeBody"/>
</tree>
</hbox>
<hbox id="searchView" flex="1" hidden="true">
<tree id="searchTree"
onclick="SubscribeOnClick(event);"
>
<treecols id="theSubscribeColumns">
<treecol
id="nameColumn"
primary="true"
hideheader="true"
crop="center"
/>
<splitter class="tree-splitter" />
<treecol
id="subscribedColumn"
type="checkbox"
style="flex: 1 auto"
hideheader="true"
/>
</treecols>
<treechildren id="subscribeTreeBody" />
</tree>
</hbox>
<hbox id="searchView" flex="1" hidden="true">
<tree
id="searchTree"
flex="1"
disableKeyNavigation="true"
hidecolumnpicker="true"
onkeypress="onSearchTreeKeyPress(event);"
onclick="SearchOnClick(event);">
<treecols>
<treecol id="nameColumn2"
primary="true"
hideheader="true"
sortDirection="ascending"/>
<splitter class="tree-splitter"/>
<treecol id="subscribedColumn2"
style="flex: 1 auto"
hideheader="true"/>
</treecols>
<treechildren id="searchTreeBody"/>
</tree>
</hbox>
<vbox>
<button id="subscribe"
label="&subscribeButton.label;"
accesskey="&subscribeButton.accesskey;"
oncommand="SetSubscribeState(true)"/>
<button id="unsubscribe"
label="&unsubscribeButton.label;"
accesskey="&unsubscribeButton.accesskey;"
oncommand="SetSubscribeState(false)"/>
<button id="refreshButton"
label="&refreshButton.label;"
accesskey="&refreshButton.accesskey;"
oncommand="Refresh()"/>
<button id="stopButton"
label="&stopButton.label;"
accesskey="&stopButton.accesskey;"
oncommand="Stop()"
disabled="true"/>
<spacer flex="1"/>
</vbox>
</hbox>
</tabpanel>
</tabpanels>
</tabbox>
</vbox>
<hbox>
<hbox id="statusContainerBox" flex="1">
<label id="statusText"
class="statusbarpanel"
crop="end"
flex="1"/>
<hbox id="statusbar-progresspanel"
onclick="SearchOnClick(event);"
>
<treecols>
<treecol
id="nameColumn2"
primary="true"
hideheader="true"
sortDirection="ascending"
/>
<splitter class="tree-splitter" />
<treecol
id="subscribedColumn2"
style="flex: 1 auto"
hideheader="true"
/>
</treecols>
<treechildren id="searchTreeBody" />
</tree>
</hbox>
<vbox>
<button
id="subscribe"
label="&subscribeButton.label;"
accesskey="&subscribeButton.accesskey;"
oncommand="SetSubscribeState(true)"
/>
<button
id="unsubscribe"
label="&unsubscribeButton.label;"
accesskey="&unsubscribeButton.accesskey;"
oncommand="SetSubscribeState(false)"
/>
<button
id="refreshButton"
label="&refreshButton.label;"
accesskey="&refreshButton.accesskey;"
oncommand="Refresh()"
/>
<button
id="stopButton"
label="&stopButton.label;"
accesskey="&stopButton.accesskey;"
oncommand="Stop()"
disabled="true"
/>
<spacer flex="1" />
</vbox>
</hbox>
</tabpanel>
</tabpanels>
</tabbox>
</vbox>
<hbox>
<hbox id="statusContainerBox" flex="1">
<label id="statusText" class="statusbarpanel" crop="end" flex="1" />
<hbox
id="statusbar-progresspanel"
class="statusbarpanel statusbarpanel-progress"
collapsed="true"
pack="end"
flex="1">
<html:progress class="progressmeter-statusbar"
id="statusbar-icon"
value="0"
max="100"/>
flex="1"
>
<html:progress
class="progressmeter-statusbar"
id="statusbar-icon"
value="0"
max="100"
/>
</hbox>
</hbox>
<hbox />
</hbox>
</hbox>
<hbox/>
</hbox>
</vbox>
</dialog>
</html:body>
</vbox>
</dialog>
</html:body>
</html>

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

@ -12,49 +12,73 @@
<!DOCTYPE html SYSTEM "chrome://messenger/locale/virtualFolderListDialog.dtd">
<html id="virtualFolderList" xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
lightweightthemes="true"
persist="width height screenX screenY"
width="400" height="370"
windowtype="mailnews:virtualFolderList"
scrolling="false">
<head>
<title>&virtualFolderListTitle.title;</title>
<script defer="defer" src="chrome://messenger/content/dialogShadowDom.js"></script>
<script defer="defer" src="chrome://messenger/content/jsTreeView.js"></script>
<script defer="defer" src="chrome://messenger/content/virtualFolderListEdit.js"></script>
<style id="folderColorsStyle"></style>
</head>
<html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<dialog>
<stringbundle id="bundle_messenger" src="chrome://messenger/locale/messenger.properties"/>
<html
id="virtualFolderList"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
lightweightthemes="true"
persist="width height screenX screenY"
width="400"
height="370"
windowtype="mailnews:virtualFolderList"
scrolling="false"
>
<head>
<title>&virtualFolderListTitle.title;</title>
<script
defer="defer"
src="chrome://messenger/content/dialogShadowDom.js"
></script>
<script
defer="defer"
src="chrome://messenger/content/jsTreeView.js"
></script>
<script
defer="defer"
src="chrome://messenger/content/virtualFolderListEdit.js"
></script>
<style id="folderColorsStyle"></style>
</head>
<html:body
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<dialog>
<stringbundle
id="bundle_messenger"
src="chrome://messenger/locale/messenger.properties"
/>
<label control="folderPickerTree">&virtualFolderDesc.label;</label>
<tree id="folderPickerTree"
flex="1"
style="height:290px;"
hidecolumnpicker="true"
seltype="multiple"
disableKeyNavigation="true"
simplelist="true"
mode="virtual"
onkeypress="gSelectVirtual.onKeyPress(event);"
onclick="gSelectVirtual.onClick(event);">
<treecols>
<treecol id="folderNameCol"
label="&folderName.label;"
style="flex: 10 10 auto;"
primary="true"
crop="center"/>
<treecol id="selectedCol"
label="&folderSearch.label;"
style="flex: 1 auto"
cycler="true"/>
</treecols>
<treechildren/>
</tree>
</dialog>
</html:body>
<label control="folderPickerTree">&virtualFolderDesc.label;</label>
<tree
id="folderPickerTree"
flex="1"
style="height: 290px"
hidecolumnpicker="true"
seltype="multiple"
disableKeyNavigation="true"
simplelist="true"
mode="virtual"
onkeypress="gSelectVirtual.onKeyPress(event);"
onclick="gSelectVirtual.onClick(event);"
>
<treecols>
<treecol
id="folderNameCol"
label="&folderName.label;"
style="flex: 10 10 auto"
primary="true"
crop="center"
/>
<treecol
id="selectedCol"
label="&folderSearch.label;"
style="flex: 1 auto"
cycler="true"
/>
</treecols>
<treechildren />
</tree>
</dialog>
</html:body>
</html>

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

@ -8,141 +8,201 @@
<!DOCTYPE html SYSTEM "chrome://messenger/locale/smtpEditOverlay.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
scrolling="false">
<head>
<title>&smtpEditTitle.label;</title>
<script defer="defer" src="chrome://messenger/content/globalOverlay.js"></script>
<script defer="defer" src="chrome://global/content/editMenuOverlay.js"></script>
<script defer="defer" src="chrome://messenger/content/SmtpServerEdit.js"></script>
</head>
<html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<dialog style="width:100vw; height:100vh;">
<stringbundle id="bundle_prefs"
src="chrome://messenger/locale/prefs.properties"/>
<stringbundle id="bundle_brand"
src="chrome://branding/locale/brand.properties"/>
<stringbundle id="bundle_messenger"
src="chrome://messenger/locale/messenger.properties"/>
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
scrolling="false"
>
<head>
<title>&smtpEditTitle.label;</title>
<script
defer="defer"
src="chrome://messenger/content/globalOverlay.js"
></script>
<script
defer="defer"
src="chrome://global/content/editMenuOverlay.js"
></script>
<script
defer="defer"
src="chrome://messenger/content/SmtpServerEdit.js"
></script>
</head>
<html:body
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<dialog style="width: 100vw; height: 100vh">
<stringbundle
id="bundle_prefs"
src="chrome://messenger/locale/prefs.properties"
/>
<stringbundle
id="bundle_brand"
src="chrome://branding/locale/brand.properties"
/>
<stringbundle
id="bundle_messenger"
src="chrome://messenger/locale/messenger.properties"
/>
<vbox id="smtpServerEditor">
<html:div>
<html:fieldset>
<html:legend>&settings.caption;</html:legend>
<hbox flex="1">
<vbox>
<hbox flex="1" align="center">
<label id="smtp.description.label"
value="&serverDescription.label;"
accesskey="&serverDescription.accesskey;"
control="smtp.description"/>
</hbox>
<hbox flex="1" align="center">
<label id="smtp.hostname.label"
value="&serverName.label;"
accesskey="&serverName.accesskey;"
control="smtp.hostname"/>
</hbox>
<hbox flex="1" align="center">
<label value="&serverPort.label;"
accesskey="&serverPort.accesskey;"
control="smtp.port"/>
</hbox>
</vbox>
<vbox flex="1">
<html:input id="smtp.description"
type="text"
preftype="string"
class="input-inline"
prefstring="mail.smtpserver.%serverkey%.description"
aria-labelledby="smtp.description.label"/>
<html:input id="smtp.hostname"
type="text"
preftype="string"
class="uri-element input-inline"
prefstring="mail.smtpserver.%serverkey%.hostname"
aria-labelledby="smtp.hostname.label"/>
<hbox align="center">
<html:input id="smtp.port" type="number"
class="size5 input-inline"
min="0" max="65535"
preftype="int"
prefstring="mail.smtpserver.%serverkey%.port"/>
<label value="&serverPortDefault.label;"/>
<label id="smtp.defaultPort"/>
</hbox>
</vbox>
</hbox>
</html:fieldset>
</html:div>
<separator class="thin"/>
<html:div>
<html:fieldset>
<html:legend>&security.caption;</html:legend>
<hbox flex="1">
<vbox>
<hbox flex="1" align="center">
<label value="&connectionSecurity.label;"
accesskey="&connectionSecurity.accesskey;"
control="smtp.socketType"/>
</hbox>
<hbox flex="1" align="center">
<label value="&authMethod.label;"
accesskey="&authMethod.accesskey;"
control="server.authMethod"/>
</hbox>
<hbox flex="1" align="center">
<label id="smtpUsernameLabel" value="&userName.label;"
accesskey="&userName.accesskey;"
control="smtpUsername"/>
</hbox>
</vbox>
<vbox>
<menulist id="smtp.socketType" oncommand="sslChanged(true);"
prefstring="mail.smtpserver.%serverkey%.try_ssl">
<menupopup id="smtp.socketTypePopup">
<menuitem value="0" label="&connectionSecurityType-0.label;"/>
<menuitem id="connectionSecurityType-1"
value="1" label="&connectionSecurityType-1.label;"
disabled="true" hidden="true"/>
<menuitem value="2" label="&connectionSecurityType-2.label;"/>
<menuitem value="3" label="&connectionSecurityType-3.label;"/>
</menupopup>
</menulist>
<menulist id="smtp.authMethod"
oncommand="authMethodChanged(true);"
wsm_persist="true"
<vbox id="smtpServerEditor">
<html:div>
<html:fieldset>
<html:legend>&settings.caption;</html:legend>
<hbox flex="1">
<vbox>
<hbox flex="1" align="center">
<label
id="smtp.description.label"
value="&serverDescription.label;"
accesskey="&serverDescription.accesskey;"
control="smtp.description"
/>
</hbox>
<hbox flex="1" align="center">
<label
id="smtp.hostname.label"
value="&serverName.label;"
accesskey="&serverName.accesskey;"
control="smtp.hostname"
/>
</hbox>
<hbox flex="1" align="center">
<label
value="&serverPort.label;"
accesskey="&serverPort.accesskey;"
control="smtp.port"
/>
</hbox>
</vbox>
<vbox flex="1">
<html:input
id="smtp.description"
type="text"
preftype="string"
class="input-inline"
prefstring="mail.smtpserver.%serverkey%.description"
aria-labelledby="smtp.description.label"
/>
<html:input
id="smtp.hostname"
type="text"
preftype="string"
class="uri-element input-inline"
prefstring="mail.smtpserver.%serverkey%.hostname"
aria-labelledby="smtp.hostname.label"
/>
<hbox align="center">
<html:input
id="smtp.port"
type="number"
class="size5 input-inline"
min="0"
max="65535"
preftype="int"
prefstring="mail.smtpserver.%serverkey%.authMethod">
<menupopup id="smtp.authMethodPopup">
<menuitem id="authMethod-no" value="1"/>
<menuitem id="authMethod-password-cleartext" value="3"/>
<menuitem id="authMethod-password-encrypted" value="4"/>
<menuitem id="authMethod-kerberos" value="5"/>
<menuitem id="authMethod-ntlm" value="6"/>
<menuitem id="authMethod-oauth2" value="10"/>
<menuitem id="authMethod-anysecure" value="8"/>
<menuitem id="authMethod-any" value="9"/>
</menupopup>
</menulist>
<hbox class="input-container">
<html:input id="smtpUsername"
type="text"
class="input-inline"
preftype="string"
prefstring="mail.smtpserver.%serverkey%.username"
aria-labelledby="smtpUsernameLabel"/>
</hbox>
</vbox>
</hbox>
</html:fieldset>
</html:div>
</vbox>
</dialog>
</html:body>
prefstring="mail.smtpserver.%serverkey%.port"
/>
<label value="&serverPortDefault.label;" />
<label id="smtp.defaultPort" />
</hbox>
</vbox>
</hbox>
</html:fieldset>
</html:div>
<separator class="thin" />
<html:div>
<html:fieldset>
<html:legend>&security.caption;</html:legend>
<hbox flex="1">
<vbox>
<hbox flex="1" align="center">
<label
value="&connectionSecurity.label;"
accesskey="&connectionSecurity.accesskey;"
control="smtp.socketType"
/>
</hbox>
<hbox flex="1" align="center">
<label
value="&authMethod.label;"
accesskey="&authMethod.accesskey;"
control="server.authMethod"
/>
</hbox>
<hbox flex="1" align="center">
<label
id="smtpUsernameLabel"
value="&userName.label;"
accesskey="&userName.accesskey;"
control="smtpUsername"
/>
</hbox>
</vbox>
<vbox>
<menulist
id="smtp.socketType"
oncommand="sslChanged(true);"
prefstring="mail.smtpserver.%serverkey%.try_ssl"
>
<menupopup id="smtp.socketTypePopup">
<menuitem
value="0"
label="&connectionSecurityType-0.label;"
/>
<menuitem
id="connectionSecurityType-1"
value="1"
label="&connectionSecurityType-1.label;"
disabled="true"
hidden="true"
/>
<menuitem
value="2"
label="&connectionSecurityType-2.label;"
/>
<menuitem
value="3"
label="&connectionSecurityType-3.label;"
/>
</menupopup>
</menulist>
<menulist
id="smtp.authMethod"
oncommand="authMethodChanged(true);"
wsm_persist="true"
preftype="int"
prefstring="mail.smtpserver.%serverkey%.authMethod"
>
<menupopup id="smtp.authMethodPopup">
<menuitem id="authMethod-no" value="1" />
<menuitem id="authMethod-password-cleartext" value="3" />
<menuitem id="authMethod-password-encrypted" value="4" />
<menuitem id="authMethod-kerberos" value="5" />
<menuitem id="authMethod-ntlm" value="6" />
<menuitem id="authMethod-oauth2" value="10" />
<menuitem id="authMethod-anysecure" value="8" />
<menuitem id="authMethod-any" value="9" />
</menupopup>
</menulist>
<hbox class="input-container">
<html:input
id="smtpUsername"
type="text"
class="input-inline"
preftype="string"
prefstring="mail.smtpserver.%serverkey%.username"
aria-labelledby="smtpUsernameLabel"
/>
</hbox>
</vbox>
</hbox>
</html:fieldset>
</html:div>
</vbox>
</dialog>
</html:body>
</html>

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

@ -9,101 +9,131 @@
<!DOCTYPE html SYSTEM "chrome://messenger/locale/am-archiveoptions.dtd">
<html id="archiveOptions" xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
width="350" height="350"
persist="width height"
scrolling="false">
<head>
<title>&dialogTitle.label;</title>
<script defer="defer" src="chrome://messenger/content/am-archiveoptions.js"></script>
</head>
<html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<dialog style="width:100vw; height:100vh;">
<vbox flex="1">
<label>&archiveGranularityPrefix.label;</label>
<radiogroup id="archiveGranularity">
<radio label="&archiveFlat.label;" accesskey="&archiveFlat.accesskey;"
class="indent"/>
<radio label="&archiveYearly.label;"
accesskey="&archiveYearly.accesskey;" class="indent"/>
<radio label="&archiveMonthly.label;"
accesskey="&archiveMonthly.accesskey;" class="indent"/>
</radiogroup>
<checkbox id="archiveKeepFolderStructure"
label="&keepFolderStructure.label;"
accesskey="&keepFolderStructure.accesskey;"/>
<html
id="archiveOptions"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
width="350"
height="350"
persist="width height"
scrolling="false"
>
<head>
<title>&dialogTitle.label;</title>
<script
defer="defer"
src="chrome://messenger/content/am-archiveoptions.js"
></script>
</head>
<html:body
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<dialog style="width: 100vw; height: 100vh">
<vbox flex="1">
<label>&archiveGranularityPrefix.label;</label>
<radiogroup id="archiveGranularity">
<radio
label="&archiveFlat.label;"
accesskey="&archiveFlat.accesskey;"
class="indent"
/>
<radio
label="&archiveYearly.label;"
accesskey="&archiveYearly.accesskey;"
class="indent"
/>
<radio
label="&archiveMonthly.label;"
accesskey="&archiveMonthly.accesskey;"
class="indent"
/>
</radiogroup>
<checkbox
id="archiveKeepFolderStructure"
label="&keepFolderStructure.label;"
accesskey="&keepFolderStructure.accesskey;"
/>
<html:div>
<html:fieldset flex="1">
<html:legend>&archiveExample.label;</html:legend>
<hbox flex="1">
<tree id="archiveTree" hidecolumnpicker="true" disabled="true" flex="1" style="min-height:8em;">
<treecols>
<treecol id="folderNameCol"
primary="true"
hideheader="true"
style="flex: 1 auto"/>
</treecols>
<treechildren>
<treeitem class="root">
<treerow>
<treecell properties="specialFolder-Archive"
label="&archiveFolderName.label;"/>
</treerow>
<treechildren>
<treeitem id="folders">
<treerow>
<treecell label="&inboxFolderName.label;"/>
</treerow>
</treeitem>
<treeitem class="year">
<treerow>
<treecell label="2020"/>
</treerow>
<html:div>
<html:fieldset flex="1">
<html:legend>&archiveExample.label;</html:legend>
<hbox flex="1">
<tree
id="archiveTree"
hidecolumnpicker="true"
disabled="true"
flex="1"
style="min-height: 8em"
>
<treecols>
<treecol
id="folderNameCol"
primary="true"
hideheader="true"
style="flex: 1 auto"
/>
</treecols>
<treechildren>
<treeitem class="month">
<treeitem class="root">
<treerow>
<treecell label="2020-11"/>
<treecell
properties="specialFolder-Archive"
label="&archiveFolderName.label;"
/>
</treerow>
<treechildren/>
</treeitem>
<treeitem class="month">
<treerow>
<treecell label="2020-12"/>
</treerow>
<treechildren/>
<treechildren>
<treeitem id="folders">
<treerow>
<treecell label="&inboxFolderName.label;" />
</treerow>
</treeitem>
<treeitem class="year">
<treerow>
<treecell label="2020" />
</treerow>
<treechildren>
<treeitem class="month">
<treerow>
<treecell label="2020-11" />
</treerow>
<treechildren />
</treeitem>
<treeitem class="month">
<treerow>
<treecell label="2020-12" />
</treerow>
<treechildren />
</treeitem>
</treechildren>
</treeitem>
<treeitem class="year">
<treerow>
<treecell label="2021" />
</treerow>
<treechildren>
<treeitem class="month">
<treerow>
<treecell label="2021-01" />
</treerow>
<treechildren />
</treeitem>
<treeitem class="month">
<treerow>
<treecell label="2021-02" />
</treerow>
<treechildren />
</treeitem>
</treechildren>
</treeitem>
</treechildren>
</treeitem>
</treechildren>
</treeitem>
<treeitem class="year">
<treerow>
<treecell label="2021"/>
</treerow>
<treechildren>
<treeitem class="month">
<treerow>
<treecell label="2021-01"/>
</treerow>
<treechildren/>
</treeitem>
<treeitem class="month">
<treerow>
<treecell label="2021-02"/>
</treerow>
<treechildren/>
</treeitem>
</treechildren>
</treeitem>
</treechildren>
</treeitem>
</treechildren>
</tree>
</hbox>
</html:fieldset>
</html:div>
</vbox>
</dialog>
</html:body>
</tree>
</hbox>
</html:fieldset>
</html:div>
</vbox>
</dialog>
</html:body>
</html>

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

@ -7,61 +7,94 @@
<!DOCTYPE html SYSTEM "chrome://messenger/locale/am-identities-list.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
style="min-width:600px;"
scrolling="false">
<head>
<title><!-- identity-list-title --></title>
<script defer="defer" src="chrome://messenger/content/am-identities-list.js"></script>
</head>
<html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<dialog buttons="accept"
buttonlabelaccept="&identitiesListClose.label;"
buttonaccesskeyaccept="&identitiesListClose.accesskey;"
style="width:100vw; height:100vh;">
<stringbundle id="bundle_prefs" src="chrome://messenger/locale/prefs.properties"/>
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
style="min-width: 600px"
scrolling="false"
>
<head>
<title><!-- identity-list-title --></title>
<script
defer="defer"
src="chrome://messenger/content/am-identities-list.js"
></script>
</head>
<html:body
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<dialog
buttons="accept"
buttonlabelaccept="&identitiesListClose.label;"
buttonaccesskeyaccept="&identitiesListClose.accesskey;"
style="width: 100vw; height: 100vh"
>
<stringbundle
id="bundle_prefs"
src="chrome://messenger/locale/prefs.properties"
/>
<commandset>
<command id="cmd_add" oncommand="openIdentityEditor(null);"/>
<command id="cmd_edit" oncommand="onEdit(event);" disabled="true"/>
<command id="cmd_default" oncommand="onSetDefault(event);" disabled="true"/>
<command id="cmd_delete" oncommand="onDelete(event);" disabled="true"/>
</commandset>
<commandset>
<command id="cmd_add" oncommand="openIdentityEditor(null);" />
<command id="cmd_edit" oncommand="onEdit(event);" disabled="true" />
<command
id="cmd_default"
oncommand="onSetDefault(event);"
disabled="true"
/>
<command id="cmd_delete" oncommand="onDelete(event);" disabled="true" />
</commandset>
<keyset>
<key keycode="VK_INSERT" command="cmd_add"/>
<key keycode="VK_DELETE" command="cmd_delete"/>
</keyset>
<keyset>
<key keycode="VK_INSERT" command="cmd_add" />
<key keycode="VK_DELETE" command="cmd_delete" />
</keyset>
<label control="identitiesList">&identitiesListManageDesc.label;</label>
<label control="identitiesList">&identitiesListManageDesc.label;</label>
<separator class="thin"/>
<separator class="thin" />
<hbox flex="1">
<richlistbox id="identitiesList"
ondblclick="onEdit(event);"
onselect="updateButtons();"
seltype="single"
flex="1"
style="min-height:10em;"/>
<hbox flex="1">
<richlistbox
id="identitiesList"
ondblclick="onEdit(event);"
onselect="updateButtons();"
seltype="single"
flex="1"
style="min-height: 10em"
/>
<vbox>
<button id="addButton"
command="cmd_add" label="&identitiesListAdd.label;"
accesskey="&identitiesListAdd.accesskey;"/>
<button id="editButton" disabled="true"
command="cmd_edit" label="&identitiesListEdit.label;"
accesskey="&identitiesListEdit.accesskey;"/>
<button id="setDefaultButton" disabled="true"
command="cmd_default" label="&identitiesListDefault.label;"
accesskey="&identitiesListDefault.accesskey;"/>
<button id="deleteButton" disabled="true"
command="cmd_delete" label="&identitiesListDelete.label;"
accesskey="&identitiesListDelete.accesskey;"/>
</vbox>
</hbox>
</dialog>
</html:body>
<vbox>
<button
id="addButton"
command="cmd_add"
label="&identitiesListAdd.label;"
accesskey="&identitiesListAdd.accesskey;"
/>
<button
id="editButton"
disabled="true"
command="cmd_edit"
label="&identitiesListEdit.label;"
accesskey="&identitiesListEdit.accesskey;"
/>
<button
id="setDefaultButton"
disabled="true"
command="cmd_default"
label="&identitiesListDefault.label;"
accesskey="&identitiesListDefault.accesskey;"
/>
<button
id="deleteButton"
disabled="true"
command="cmd_delete"
label="&identitiesListDelete.label;"
accesskey="&identitiesListDelete.accesskey;"
/>
</vbox>
</hbox>
</dialog>
</html:body>
</html>

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

@ -8,230 +8,286 @@
<?xml-stylesheet href="chrome://messenger/skin/icons.css" type="text/css"?>
<?xml-stylesheet href="chrome://messenger/skin/folderMenus.css" type="text/css"?>
<!DOCTYPE html [
<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
<!DOCTYPE html [ <!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
%brandDTD;
<!ENTITY % junkMailDTD SYSTEM "chrome://messenger/locale/am-junk.dtd">
%junkMailDTD;
]>
%junkMailDTD; ]>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml">
<head>
<title>&junkSettings.label;</title>
<script defer="defer" src="chrome://messenger/content/am-junk.js"></script>
<script defer="defer" src="chrome://messenger/content/am-prefs.js"></script>
<script defer="defer" src="chrome://messenger/content/amUtils.js"></script>
<script>
// FIXME: move to script file.
window.addEventListener("load", event => { parent.onPanelLoaded('am-junk.xhtml'); });
</script>
</head>
<html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<vbox id="containerBox" flex="1">
<stringbundle id="bundle_messenger" src="chrome://messenger/locale/messenger.properties"/>
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
>
<head>
<title>&junkSettings.label;</title>
<script defer="defer" src="chrome://messenger/content/am-junk.js"></script>
<script defer="defer" src="chrome://messenger/content/am-prefs.js"></script>
<script defer="defer" src="chrome://messenger/content/amUtils.js"></script>
<script>
// FIXME: move to script file.
window.addEventListener("load", event => {
parent.onPanelLoaded("am-junk.xhtml");
});
</script>
</head>
<html:body
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<vbox id="containerBox" flex="1">
<stringbundle
id="bundle_messenger"
src="chrome://messenger/locale/messenger.properties"
/>
<hbox class="dialogheader">
<label class="dialogheader-title" value="&junkSettings.label;"/>
</hbox>
<html:div>
<html:fieldset>
<html:legend>&junkClassification.label;</html:legend>
<label hidden="true"
id="server.spamLevel"
wsm_persist="true"
pref="true"
preftype="int"
prefattribute="value"
genericattr="true"
prefstring="mail.server.%serverkey%.spamLevel"/>
<label hidden="true"
id="server.spamActionTargetAccount"
wsm_persist="true"
pref="true"
preftype="string"
prefattribute="value"
genericattr="true"
prefstring="mail.server.%serverkey%.spamActionTargetAccount"/>
<label hidden="true"
id="server.spamActionTargetFolder"
wsm_persist="true"
pref="true"
preftype="string"
prefattribute="value"
genericattr="true"
prefstring="mail.server.%serverkey%.spamActionTargetFolder"/>
<label hidden="true"
id="server.whiteListAbURI"
wsm_persist="true"
pref="true"
preftype="string"
prefattribute="value"
genericattr="true"
prefstring="mail.server.%serverkey%.whiteListAbURI"/>
<label hidden="true"
id="server.serverFilterName"
wsm_persist="true"
pref="true"
preftype="string"
prefattribute="value"
genericattr="true"
prefstring="mail.server.%serverkey%.serverFilterName"/>
<checkbox id="server.spamLevel.visible"
oncommand="updateSpamLevel(this.checked);"
accesskey="&level.accesskey;"
prefstring="mail.server.%serverkey%.spamLevel"
label="&level.label;"/>
<separator class="thin"/>
<description width="1">&trainingDescription.label;</description>
<separator class="thin"/>
<spacer height="3"/>
<vbox class="indent">
<checkbox hidden="true"
id="server.useWhiteList"
genericattr="true"
pref="true"
wsm_persist="true"
preftype="bool"
prefstring="mail.server.%serverkey%.useWhiteList"/>
<label id="whiteListLabel"
accesskey="&whitelistHeader.accesskey;"
control="whiteListAbURI">&whitelistHeader.label;</label>
<richlistbox id="whiteListAbURI" height="200px"/>
</vbox>
<separator/>
<vbox>
<hbox>
<checkbox id="server.useServerFilter"
label="&ispHeaders.label;"
accesskey="&ispHeaders.accesskey;"
genericattr="true"
pref="true"
wsm_persist="true"
preftype="bool"
oncommand="onCheckItem('useServerFilterList', [this.id]);"
prefstring="mail.server.%serverkey%.useServerFilter"/>
<menulist id="useServerFilterList"
oncommand="onServerFilterListChange();"
aria-labelledby="server.useServerFilter"/>
</hbox>
</vbox>
<separator class="thin"/>
<description class="indent tip-caption" width="1">&ispHeadersWarning.label;</description>
</html:fieldset>
</html:div>
<separator/>
<separator/>
<html:div>
<html:fieldset>
<html:legend>&junkActions.label;</html:legend>
<checkbox id="server.moveOnSpam"
label="&move.label;"
accesskey="&move.accesskey;"
oncommand="updateJunkTargetsAndRetention();"
wsm_persist="true"
pref="true"
preftype="bool"
genericattr="true"
prefstring="mail.server.%serverkey%.moveOnSpam"/>
<radiogroup id="server.moveTargetMode"
aria-labelledby="server.moveOnSpam"
prefstring="mail.server.%serverkey%.moveTargetMode"
wsm_persist="true"
pref="true"
preftype="int"
genericattr="true"
oncommand="updateJunkTargets();"
prefvalue="value">
<hbox class="specialFolderPickerGrid indent">
<vbox>
<hbox flex="1" align="center">
<radio id="moveTargetMode0"
value="0"
label="&junkFolderOn.label;"
accesskey="&junkFolderOn.accesskey;"/>
</hbox>
<hbox flex="1" align="center">
<radio id="moveTargetMode1"
value="1"
label="&otherFolder.label;"
accesskey="&otherFolder.accesskey;"/>
</hbox>
</vbox>
<vbox flex="1">
<menulist id="actionTargetAccount"
class="folderMenuItem"
aria-labelledby="moveTargetMode0">
<menupopup is="folder-menupopup" id="actionAccountPopup"
class="menulist-menupopup"
expandFolders="false"
mode="filing"
oncommand="onActionTargetChange(event, 'server.spamActionTargetAccount');"/>
</menulist>
<menulist id="actionTargetFolder"
class="folderMenuItem"
aria-labelledby="moveTargetMode1"
displayformat="verbose">
<menupopup is="folder-menupopup" id="actionFolderPopup"
mode="junk"
showFileHereLabel="true"
oncommand="onActionTargetChange(event, 'server.spamActionTargetFolder');"/>
</menulist>
</vbox>
</hbox>
</radiogroup>
<hbox align="center" class="indent">
<checkbox id="server.purgeSpam"
genericattr="true"
pref="true"
wsm_persist="true"
preftype="bool"
prefstring="mail.server.%serverkey%.purgeSpam"
accesskey="&purge1.accesskey;"
oncommand="updateJunkRetention();"
label="&purge1.label;"/>
<html:input id="server.purgeSpamInterval" type="number"
class="size3 input-inline" min="1"
genericattr="true"
pref="true"
wsm_persist="true"
preftype="int"
aria-labelledby="server.purgeSpam server.purgeSpamInterval purgeLabel"
prefstring="mail.server.%serverkey%.purgeSpamInterval"/>
<label id="purgeLabel"
value="&purge2.label;"
control="server.purgeSpamInterval"/>
<hbox class="dialogheader">
<label class="dialogheader-title" value="&junkSettings.label;" />
</hbox>
</html:fieldset>
</html:div>
<html:div>
<html:fieldset>
<html:legend>&junkClassification.label;</html:legend>
<separator class="thin"/>
<label
hidden="true"
id="server.spamLevel"
wsm_persist="true"
pref="true"
preftype="int"
prefattribute="value"
genericattr="true"
prefstring="mail.server.%serverkey%.spamLevel"
/>
<label
hidden="true"
id="server.spamActionTargetAccount"
wsm_persist="true"
pref="true"
preftype="string"
prefattribute="value"
genericattr="true"
prefstring="mail.server.%serverkey%.spamActionTargetAccount"
/>
<label
hidden="true"
id="server.spamActionTargetFolder"
wsm_persist="true"
pref="true"
preftype="string"
prefattribute="value"
genericattr="true"
prefstring="mail.server.%serverkey%.spamActionTargetFolder"
/>
<label
hidden="true"
id="server.whiteListAbURI"
wsm_persist="true"
pref="true"
preftype="string"
prefattribute="value"
genericattr="true"
prefstring="mail.server.%serverkey%.whiteListAbURI"
/>
<label
hidden="true"
id="server.serverFilterName"
wsm_persist="true"
pref="true"
preftype="string"
prefattribute="value"
genericattr="true"
prefstring="mail.server.%serverkey%.serverFilterName"
/>
<hbox pack="end">
<button id="globalJunkPrefsLink"
label="&globalJunkPrefs.label;"
accesskey="&globalJunkPrefs.accesskey;"
oncommand="showGlobalJunkPrefs();"/>
</hbox>
</vbox>
</html:body>
<checkbox
id="server.spamLevel.visible"
oncommand="updateSpamLevel(this.checked);"
accesskey="&level.accesskey;"
prefstring="mail.server.%serverkey%.spamLevel"
label="&level.label;"
/>
<separator class="thin" />
<description width="1">&trainingDescription.label;</description>
<separator class="thin" />
<spacer height="3" />
<vbox class="indent">
<checkbox
hidden="true"
id="server.useWhiteList"
genericattr="true"
pref="true"
wsm_persist="true"
preftype="bool"
prefstring="mail.server.%serverkey%.useWhiteList"
/>
<label
id="whiteListLabel"
accesskey="&whitelistHeader.accesskey;"
control="whiteListAbURI"
>&whitelistHeader.label;</label
>
<richlistbox id="whiteListAbURI" height="200px" />
</vbox>
<separator />
<vbox>
<hbox>
<checkbox
id="server.useServerFilter"
label="&ispHeaders.label;"
accesskey="&ispHeaders.accesskey;"
genericattr="true"
pref="true"
wsm_persist="true"
preftype="bool"
oncommand="onCheckItem('useServerFilterList', [this.id]);"
prefstring="mail.server.%serverkey%.useServerFilter"
/>
<menulist
id="useServerFilterList"
oncommand="onServerFilterListChange();"
aria-labelledby="server.useServerFilter"
/>
</hbox>
</vbox>
<separator class="thin" />
<description class="indent tip-caption" width="1"
>&ispHeadersWarning.label;</description
>
</html:fieldset>
</html:div>
<separator />
<separator />
<html:div>
<html:fieldset>
<html:legend>&junkActions.label;</html:legend>
<checkbox
id="server.moveOnSpam"
label="&move.label;"
accesskey="&move.accesskey;"
oncommand="updateJunkTargetsAndRetention();"
wsm_persist="true"
pref="true"
preftype="bool"
genericattr="true"
prefstring="mail.server.%serverkey%.moveOnSpam"
/>
<radiogroup
id="server.moveTargetMode"
aria-labelledby="server.moveOnSpam"
prefstring="mail.server.%serverkey%.moveTargetMode"
wsm_persist="true"
pref="true"
preftype="int"
genericattr="true"
oncommand="updateJunkTargets();"
prefvalue="value"
>
<hbox class="specialFolderPickerGrid indent">
<vbox>
<hbox flex="1" align="center">
<radio
id="moveTargetMode0"
value="0"
label="&junkFolderOn.label;"
accesskey="&junkFolderOn.accesskey;"
/>
</hbox>
<hbox flex="1" align="center">
<radio
id="moveTargetMode1"
value="1"
label="&otherFolder.label;"
accesskey="&otherFolder.accesskey;"
/>
</hbox>
</vbox>
<vbox flex="1">
<menulist
id="actionTargetAccount"
class="folderMenuItem"
aria-labelledby="moveTargetMode0"
>
<menupopup
is="folder-menupopup"
id="actionAccountPopup"
class="menulist-menupopup"
expandFolders="false"
mode="filing"
oncommand="onActionTargetChange(event, 'server.spamActionTargetAccount');"
/>
</menulist>
<menulist
id="actionTargetFolder"
class="folderMenuItem"
aria-labelledby="moveTargetMode1"
displayformat="verbose"
>
<menupopup
is="folder-menupopup"
id="actionFolderPopup"
mode="junk"
showFileHereLabel="true"
oncommand="onActionTargetChange(event, 'server.spamActionTargetFolder');"
/>
</menulist>
</vbox>
</hbox>
</radiogroup>
<hbox align="center" class="indent">
<checkbox
id="server.purgeSpam"
genericattr="true"
pref="true"
wsm_persist="true"
preftype="bool"
prefstring="mail.server.%serverkey%.purgeSpam"
accesskey="&purge1.accesskey;"
oncommand="updateJunkRetention();"
label="&purge1.label;"
/>
<html:input
id="server.purgeSpamInterval"
type="number"
class="size3 input-inline"
min="1"
genericattr="true"
pref="true"
wsm_persist="true"
preftype="int"
aria-labelledby="server.purgeSpam server.purgeSpamInterval purgeLabel"
prefstring="mail.server.%serverkey%.purgeSpamInterval"
/>
<label
id="purgeLabel"
value="&purge2.label;"
control="server.purgeSpamInterval"
/>
</hbox>
</html:fieldset>
</html:div>
<separator class="thin" />
<hbox pack="end">
<button
id="globalJunkPrefsLink"
label="&globalJunkPrefs.label;"
accesskey="&globalJunkPrefs.accesskey;"
oncommand="showGlobalJunkPrefs();"
/>
</hbox>
</vbox>
</html:body>
</html>

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

@ -5,222 +5,340 @@
<?xml-stylesheet href="chrome://messenger/skin/accountManage.css" type="text/css"?>
<!DOCTYPE html SYSTEM "chrome://messenger/locale/am-main.dtd" >
<!DOCTYPE html SYSTEM "chrome://messenger/locale/am-main.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml">
<head>
<script defer="defer" src="chrome://messenger/content/globalOverlay.js"></script>
<script defer="defer" src="chrome://global/content/editMenuOverlay.js"></script>
<script defer="defer" src="chrome://messenger/content/am-identity-edit.js"></script>
<script defer="defer" src="chrome://messenger/content/am-main.js"></script>
<script defer="defer" src="chrome://messenger/content/am-prefs.js"></script>
<script defer="defer" src="chrome://messenger/content/amUtils.js"></script>
<script>
// FIXME: move to script file.
window.addEventListener("load", event => { parent.onPanelLoaded('am-main.xhtml'); });
</script>
</head>
<html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<vbox id="containerBox" flex="1">
<stringbundle id="bundle_prefs" src="chrome://messenger/locale/prefs.properties"/>
<stringbundle id="bundle_messenger" src="chrome://messenger/locale/messenger.properties"/>
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
>
<head>
<script
defer="defer"
src="chrome://messenger/content/globalOverlay.js"
></script>
<script
defer="defer"
src="chrome://global/content/editMenuOverlay.js"
></script>
<script
defer="defer"
src="chrome://messenger/content/am-identity-edit.js"
></script>
<script defer="defer" src="chrome://messenger/content/am-main.js"></script>
<script defer="defer" src="chrome://messenger/content/am-prefs.js"></script>
<script defer="defer" src="chrome://messenger/content/amUtils.js"></script>
<script>
// FIXME: move to script file.
window.addEventListener("load", event => {
parent.onPanelLoaded("am-main.xhtml");
});
</script>
</head>
<html:body
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<vbox id="containerBox" flex="1">
<stringbundle
id="bundle_prefs"
src="chrome://messenger/locale/prefs.properties"
/>
<stringbundle
id="bundle_messenger"
src="chrome://messenger/locale/messenger.properties"
/>
<hbox id="am-main-title" class="dialogheader">
<label class="dialogheader-title" defaultTitle="&accountTitle.label;"/>
</hbox>
<hbox id="am-main-title" class="dialogheader">
<label class="dialogheader-title" defaultTitle="&accountTitle.label;" />
</hbox>
<separator class="thin"/>
<separator class="thin" />
<hbox class="input-container">
<label id="server.prettyName.label" value="&accountName.label;"
control="server.prettyName" accesskey="&accountName.accesskey;"/>
<html:input id="server.prettyName"
<hbox class="input-container">
<label
id="server.prettyName.label"
value="&accountName.label;"
control="server.prettyName"
accesskey="&accountName.accesskey;"
/>
<html:input
id="server.prettyName"
type="text"
wsm_persist="true"
class="input-inline"
onblur="serverPrettyNameOnBlur(event);"
prefstring="mail.server.%serverkey%.name"
aria-labelledby="server.prettyName.label"
/>
</hbox>
<separator />
<html:div>
<html:fieldset>
<html:legend>&identityTitle.label;</html:legend>
<description>&identityDesc.label;</description>
<separator class="thin" />
<html:table class="identity-table">
<html:tr>
<html:th>
<label
id="identity.fullName.label.label"
value="&name.label;"
control="identity.fullName"
accesskey="&name.accesskey;"
/>
</html:th>
<html:td>
<html:input
id="identity.fullName"
type="text"
class="input-inline"
aria-labelledby="identity.fullName.label"
wsm_persist="true"
size="30"
prefstring="mail.identity.%identitykey%.fullName"
/>
</html:td>
</html:tr>
<html:tr>
<html:th>
<label
id="identity.email.label"
value="&email.label;"
control="identity.email"
accesskey="&email.accesskey;"
/>
</html:th>
<html:td>
<html:input
id="identity.email"
type="email"
wsm_persist="true"
prefstring="mail.identity.%identitykey%.useremail"
class="uri-element input-inline"
aria-labelledby="identity.email.label"
/>
</html:td>
</html:tr>
<html:tr>
<html:th>
<label
id="identity.replyTo.label"
value="&replyTo.label;"
control="identity.replyTo"
accesskey="&replyTo.accesskey;"
/>
</html:th>
<html:td>
<html:input
id="identity.replyTo"
type="text"
wsm_persist="true"
prefstring="mail.identity.%identitykey%.reply_to"
class="uri-element input-inline"
placeholder="&replyTo.placeholder;"
aria-labelledby="identity.replyTo.label"
/>
</html:td>
</html:tr>
<html:tr>
<html:th>
<label
id="identity.organization.label"
value="&organization.label;"
control="identity.organization"
accesskey="&organization.accesskey;"
/>
</html:th>
<html:td>
<html:input
id="identity.organization"
type="text"
wsm_persist="true"
prefstring="mail.identity.%identitykey%.organization"
class="input-inline"
onblur="serverPrettyNameOnBlur(event);"
prefstring="mail.server.%serverkey%.name"
aria-labelledby="server.prettyName.label"/>
</hbox>
aria-labelledby="identity.organization.label"
/>
</html:td>
</html:tr>
<html:tr>
<html:th>
<label
value="&signatureText.label;"
control="identity.htmlSigText"
accesskey="&signatureText.accesskey;"
/>
</html:th>
<html:td style="width: 100%">
<hbox align="center">
<checkbox
id="identity.htmlSigFormat"
wsm_persist="true"
label="&signatureHtml.label;"
prefattribute="value"
accesskey="&signatureHtml.accesskey;"
style="width: 100%"
prefstring="mail.identity.%identitykey%.htmlSigFormat"
/>
</hbox>
</html:td>
</html:tr>
</html:table>
<separator/>
<hbox
class="indent"
flex="1"
style="min-height: 100px; display: flex"
>
<html:textarea
id="identity.htmlSigText"
wsm_persist="true"
rows="4"
style="flex-grow: 1"
prefstring="mail.identity.%identitykey%.htmlSigText"
class="signatureBox"
/>
</hbox>
<html:div>
<html:fieldset>
<html:legend>&identityTitle.label;</html:legend>
<description>&identityDesc.label;</description>
<separator class="thin"/>
<html:table class="identity-table">
<html:tr>
<html:th>
<label id="identity.fullName.label.label" value="&name.label;"
control="identity.fullName" accesskey="&name.accesskey;"/>
</html:th>
<html:td>
<html:input id="identity.fullName"
type="text"
class="input-inline"
aria-labelledby="identity.fullName.label"
wsm_persist="true" size="30"
prefstring="mail.identity.%identitykey%.fullName"/>
</html:td>
</html:tr>
<html:tr>
<html:th>
<label id="identity.email.label" value="&email.label;"
control="identity.email" accesskey="&email.accesskey;"/>
</html:th>
<html:td>
<html:input id="identity.email"
type="email"
wsm_persist="true"
prefstring="mail.identity.%identitykey%.useremail"
class="uri-element input-inline"
aria-labelledby="identity.email.label"/>
</html:td>
</html:tr>
<html:tr>
<html:th>
<label id="identity.replyTo.label" value="&replyTo.label;"
control="identity.replyTo" accesskey="&replyTo.accesskey;"/>
</html:th>
<html:td>
<html:input id="identity.replyTo"
type="text"
wsm_persist="true"
prefstring="mail.identity.%identitykey%.reply_to"
class="uri-element input-inline"
placeholder="&replyTo.placeholder;"
aria-labelledby="identity.replyTo.label"/>
</html:td>
</html:tr>
<html:tr>
<html:th>
<label id="identity.organization.label" value="&organization.label;"
control="identity.organization" accesskey="&organization.accesskey;"/>
</html:th>
<html:td>
<html:input id="identity.organization"
type="text"
wsm_persist="true"
prefstring="mail.identity.%identitykey%.organization"
class="input-inline"
aria-labelledby="identity.organization.label"/>
</html:td>
</html:tr>
<html:tr>
<html:th>
<label value="&signatureText.label;" control="identity.htmlSigText"
accesskey="&signatureText.accesskey;"/>
</html:th>
<html:td style="width:100%;">
<hbox align="center">
<checkbox id="identity.htmlSigFormat" wsm_persist="true" label="&signatureHtml.label;"
prefattribute="value" accesskey="&signatureHtml.accesskey;" style="width:100%;"
prefstring="mail.identity.%identitykey%.htmlSigFormat"/>
</hbox>
</html:td>
</html:tr>
</html:table>
<hbox align="center">
<checkbox
id="identity.attachSignature"
wsm_persist="true"
label="&signatureFile.label;"
flex="1"
accesskey="&signatureFile.accesskey;"
oncommand="setupSignatureItems();"
prefattribute="value"
prefstring="mail.identity.%identitykey%.attach_signature"
/>
</hbox>
<hbox class="indent" flex="1" style="min-height:100px; display:flex;">
<html:textarea id="identity.htmlSigText" wsm_persist="true" rows="4" style="flex-grow: 1;"
prefstring="mail.identity.%identitykey%.htmlSigText" class="signatureBox"/>
</hbox>
<hbox align="center" class="indent input-container">
<html:input
id="identity.signature"
type="text"
datatype="nsIFile"
wsm_persist="true"
name="identity.signature"
aria-labelledby="identity.attachSignature"
prefstring="mail.identity.%identitykey%.sig_file"
class="uri-element input-inline"
/>
<button
class="push"
name="browse"
label="&choose.label;"
accesskey="&choose.accesskey;"
oncommand="selectFile()"
wsm_persist="true"
id="identity.sigbrowsebutton"
prefstring="mail.identity.%identitykey%.sigbrowse.disable"
/>
</hbox>
<hbox align="center">
<checkbox
wsm_persist="true"
id="identity.attachVCard"
label="&attachVCard.label;"
flex="1"
accesskey="&attachVCard.accesskey;"
prefattribute="value"
prefstring="mail.identity.%identitykey%.attach_vcard"
/>
<button
class="push"
name="editVCard"
label="&editVCard.label;"
accesskey="&editVCard.accesskey;"
oncommand="editVCard()"
/>
<html:input
id="identity.escapedVCard"
type="hidden"
value=""
wsm_persist="true"
pref="true"
preftype="string"
prefattribute="value"
prefstring="mail.identity.%identitykey%.escapedVCard"
/>
</hbox>
<separator class="thin" />
<hbox align="center" class="input-container" hidefor="nntp">
<checkbox
id="identity.catchAll"
wsm_persist="true"
prefattribute="value"
label="&catchAll.label;"
accesskey="&catchAll.accesskey;"
style="margin-block: auto"
prefstring="mail.identity.%identitykey%.catchAll"
/>
<html:input
id="identity.catchAllHint"
type="text"
wsm_persist="true"
prefstring="mail.identity.%identitykey%.catchAllHint"
class="input-inline"
oninput="handleInputCatchAllHint(event);"
placeholder="list@example.com, *@example.com"
aria-labelledby="identity.catchAll"
/>
</hbox>
<separator class="thin" />
<hbox align="center">
<label
value="&smtpName.label;"
control="identity.smtpServerKey"
accesskey="&smtpName.accesskey;"
/>
<menulist
wsm_persist="true"
id="identity.smtpServerKey"
flex="1"
pref="true"
preftype="string"
prefattribute="value"
prefstring="mail.identity.%identitykey%.smtpServer"
>
<menupopup id="smtpPopup">
<menuitem
value=""
label="&smtpDefaultServer.label;"
id="useDefaultItem"
/>
<menuseparator />
<!-- list will be inserted here -->
</menupopup>
</menulist>
<button
id="editSmtp"
label="&smtpServerEdit.label;"
accesskey="&smtpServerEdit.accesskey;"
oncommand="editCurrentSMTP();"
/>
</hbox>
</html:fieldset>
</html:div>
<separator class="thin" />
<hbox align="center">
<checkbox id="identity.attachSignature"
wsm_persist="true"
label="&signatureFile.label;"
flex="1"
accesskey="&signatureFile.accesskey;"
oncommand="setupSignatureItems();"
prefattribute="value"
prefstring="mail.identity.%identitykey%.attach_signature"/>
<spacer flex="1" />
<button
label="&manageIdentities.label;"
oncommand="manageIdentities(event);"
accesskey="&manageIdentities.accesskey;"
wsm_persist="true"
id="identity.manageIdentitiesbutton"
/>
</hbox>
<hbox align="center" class="indent input-container">
<html:input id="identity.signature"
type="text"
datatype="nsIFile"
wsm_persist="true"
name="identity.signature"
aria-labelledby="identity.attachSignature"
prefstring="mail.identity.%identitykey%.sig_file"
class="uri-element input-inline"/>
<button class="push" name="browse" label="&choose.label;"
accesskey="&choose.accesskey;"
oncommand="selectFile()"
wsm_persist="true" id="identity.sigbrowsebutton"
prefstring="mail.identity.%identitykey%.sigbrowse.disable"/>
</hbox>
<hbox align="center">
<checkbox wsm_persist="true" id="identity.attachVCard" label="&attachVCard.label;" flex="1"
accesskey="&attachVCard.accesskey;"
prefattribute="value"
prefstring="mail.identity.%identitykey%.attach_vcard"/>
<button class="push" name="editVCard" label="&editVCard.label;"
accesskey="&editVCard.accesskey;"
oncommand="editVCard()"/>
<html:input id="identity.escapedVCard" type="hidden" value=""
wsm_persist="true"
pref="true" preftype="string" prefattribute="value"
prefstring="mail.identity.%identitykey%.escapedVCard" />
</hbox>
<separator class="thin"/>
<hbox align="center" class="input-container" hidefor="nntp">
<checkbox id="identity.catchAll"
wsm_persist="true"
prefattribute="value"
label="&catchAll.label;"
accesskey="&catchAll.accesskey;"
style="margin-block:auto;"
prefstring="mail.identity.%identitykey%.catchAll"/>
<html:input id="identity.catchAllHint"
type="text"
wsm_persist="true"
prefstring="mail.identity.%identitykey%.catchAllHint"
class="input-inline"
oninput="handleInputCatchAllHint(event);"
placeholder="list@example.com, *@example.com"
aria-labelledby="identity.catchAll"/>
</hbox>
<separator class="thin"/>
<hbox align="center">
<label value="&smtpName.label;" control="identity.smtpServerKey"
accesskey="&smtpName.accesskey;"/>
<menulist wsm_persist="true" id="identity.smtpServerKey" flex="1"
pref="true" preftype="string" prefattribute="value"
prefstring="mail.identity.%identitykey%.smtpServer">
<menupopup id="smtpPopup">
<menuitem value="" label="&smtpDefaultServer.label;" id="useDefaultItem"/>
<menuseparator/>
<!-- list will be inserted here -->
</menupopup>
</menulist>
<button id="editSmtp"
label="&smtpServerEdit.label;"
accesskey="&smtpServerEdit.accesskey;"
oncommand="editCurrentSMTP();"/>
</hbox>
</html:fieldset>
</html:div>
<separator class="thin"/>
<hbox align="center">
<spacer flex="1"/>
<button label="&manageIdentities.label;" oncommand="manageIdentities(event);"
accesskey="&manageIdentities.accesskey;"
wsm_persist="true" id="identity.manageIdentitiesbutton"/>
</hbox>
</vbox>
</html:body>
</vbox>
</html:body>
</html>

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

@ -7,175 +7,344 @@
<!DOCTYPE html SYSTEM "chrome://messenger/locale/am-offline.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml">
<head>
<script defer="defer" src="chrome://messenger/content/retention.js"></script>
<script defer="defer" src="chrome://messenger/content/am-offline.js"></script>
<script defer="defer" src="chrome://messenger/content/am-prefs.js"></script>
<script>
// FIXME: move to script file.
window.addEventListener("load", event => { parent.onPanelLoaded('am-offline.xhtml'); });
</script>
</head>
<html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<vbox id="containerBox" flex="1">
<stringbundle id="bundle_prefs" src="chrome://messenger/locale/prefs.properties"/>
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
>
<head>
<script
defer="defer"
src="chrome://messenger/content/retention.js"
></script>
<script
defer="defer"
src="chrome://messenger/content/am-offline.js"
></script>
<script defer="defer" src="chrome://messenger/content/am-prefs.js"></script>
<script>
// FIXME: move to script file.
window.addEventListener("load", event => {
parent.onPanelLoaded("am-offline.xhtml");
});
</script>
</head>
<html:body
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<vbox id="containerBox" flex="1">
<stringbundle
id="bundle_prefs"
src="chrome://messenger/locale/prefs.properties"
/>
<label hidden="true" wsm_persist="true" id="server.type"/>
<label id="imap.autoSyncMaxAgeDays" hidden="true"
wsm_persist="true" preftype="int"
prefstring="mail.server.%serverkey%.autosync_max_age_days"/>
<label hidden="true" wsm_persist="true" id="server.type" />
<label
id="imap.autoSyncMaxAgeDays"
hidden="true"
wsm_persist="true"
preftype="int"
prefstring="mail.server.%serverkey%.autosync_max_age_days"
/>
<hbox id="headertitle" class="dialogheader">
<label class="dialogheader-title"/>
</hbox>
<separator class="thin"/>
<html:div>
<html:fieldset id="offline.titlebox" hidefor="pop3,none,rss">
<html:legend>&syncGroupTitle.label;</html:legend>
<vbox>
<checkbox hidefor="pop3,nntp,none"
id="offline.folders" label="&allFoldersOffline2.label;"
oncommand="toggleOffline()"
accesskey="&allFoldersOffline2.accesskey;"/>
<description hidefor="pop3,nntp,none,rss">&allFoldersOfflineNote.label;</description>
<separator class="thin" hidefor="pop3,nntp,none"/>
<hbox hidefor="pop3,nntp,none" pack="end">
<button label="&offlineImapAdvancedOffline.label;" accesskey="&offlineImapAdvancedOffline.accesskey;"
oncommand="onClickSelect()" id="selectImapFoldersButton" class="selectForOfflineUseButton"/>
</hbox>
<hbox hidefor="pop3,imap,none" pack="end">
<button label="&offlineSelectNntp.label;" accesskey="&offlineSelectNntp.accesskey;"
oncommand="onClickSelect()" id="selectNewsgroupsButton" class="selectForOfflineUseButton"/>
</hbox>
</vbox>
</html:fieldset>
</html:div>
<html:div>
<html:fieldset id="diskspace.titlebox">
<html:legend hidefor="pop3,none,rss">&diskspaceGroupTitle.label;</html:legend>
<description hidefor="pop3,nntp,none,rss">&doNotDownloadImap.label;</description>
<description hidefor="pop3,imap,none,rss">&doNotDownloadNntp.label;</description>
<description hidefor="imap,nntp,none,rss">&doNotDownloadPop3Movemail.label;</description>
<!-- IMAP Autosync Preference -->
<radiogroup hidefor="pop3,nntp,none,rss" id="autosyncSelect" class="indent">
<radio id="useAutosync.AllMsg" value="0" accesskey="&allAutosync.accesskey;"
label="&allAutosync.label;" oncommand="onAutosyncChange();"/>
<hbox flex="1" align="center">
<radio id="useAutosync.ByAge" accesskey="&ageAutosync.accesskey;"
value="1" label="&ageAutosyncBefore.label;" oncommand="onAutosyncChange();"/>
<html:input id="autosyncValue" type="number"
class="size4 input-inline autosync" min="1"
onchange="onAutosyncChange();"
aria-labelledby="ageAutosyncBefore autosyncValue ageAutosyncMiddle autosyncInterval ageAutosyncAfter"/>
<label id="ageAutosyncMiddle" control="autosyncValue" value="&ageAutosyncMiddle.label;"/>
<menulist id="autosyncInterval" onselect="onAutosyncChange();">
<menupopup>
<menuitem label="&dayAgeInterval.label;" value="1"/>
<menuitem label="&weekAgeInterval.label;" value="7"/>
<menuitem label="&monthAgeInterval.label;" value="31"/>
<menuitem label="&yearAgeInterval.label;" value="365"/>
</menupopup>
</menulist>
<label id="ageAutosyncAfter" control="autosyncInterval" value="&ageAutosyncAfter.label;"/>
<hbox id="headertitle" class="dialogheader">
<label class="dialogheader-title" />
</hbox>
</radiogroup>
<hbox align="center" class="indent" hidefor="rss">
<checkbox hidefor="pop3,imap,none"
id="nntp.notDownloadRead" wsm_persist="true"
label="&nntpNotDownloadRead.label;"
accesskey="&nntpNotDownloadRead.accesskey;"/>
</hbox>
<separator class="thin" />
<hbox align="center" class="indent" hidefor="none,rss">
<checkbox wsm_persist="true" id="offline.notDownload" hidefor="imap"
label="&offlineNotDownload.label;"
accesskey="&offlineNotDownload.accesskey;"
oncommand="onCheckItem('offline.notDownloadMin', [this.id]);"/>
<checkbox wsm_persist="true" id="autosyncNotDownload" hidefor="pop3,nntp"
label="&autosyncNotDownload.label;"
accesskey="&autosyncNotDownload.accesskey;"
oncommand="onAutosyncNotDownload();"/>
<html:input id="offline.notDownloadMin" type="number"
class="size4 input-inline"
min="1" value="50"
wsm_persist="true"
aria-labelledby="offline.notDownload offline.notDownloadMin kbLabel"/>
<label value="&kb.label;" control="offline.notDownloadMin" id="kbLabel"/>
</hbox>
<html:div>
<html:fieldset id="offline.titlebox" hidefor="pop3,none,rss">
<html:legend>&syncGroupTitle.label;</html:legend>
<hbox align="center" class="indent" hidefor="pop3,imap,none,rss">
<checkbox wsm_persist="true" id="nntp.downloadMsg"
label="&nntpDownloadMsg.label;"
accesskey="&nntpDownloadMsg.accesskey;"
oncommand="onCheckItem('nntp.downloadMsgMin', [this.id]);"/>
<html:input id="nntp.downloadMsgMin" type="number"
class="size2 input-inline" min="1" value="30"
wsm_persist="true"
aria-labelledby="nntp.downloadMsg nntp.downloadMsgMin daysOldLabel"/>
<label value="&daysOld.label;" control="nntp.downloadMsgMin"
id="daysOldLabel"/>
</hbox>
<vbox>
<checkbox
hidefor="pop3,nntp,none"
id="offline.folders"
label="&allFoldersOffline2.label;"
oncommand="toggleOffline()"
accesskey="&allFoldersOffline2.accesskey;"
/>
<vbox align="start">
<separator hidefor="none,rss"/>
<label id="retentionDescription" hidefor="imap,pop3" class="desc" control="retention.keepMsg">&retentionCleanup.label;</label>
<label id="retentionDescriptionImap" hidefor="pop3,nntp,none,rss" class="desc" control="retention.keepMsg">&retentionCleanupImap.label;</label>
<label id="retentionDescriptionPop" hidefor="imap,nntp,none,rss" class="desc" control="retention.keepMsg">&retentionCleanupPop.label;</label>
<description hidefor="pop3,nntp,none,rss"
>&allFoldersOfflineNote.label;</description
>
<radiogroup hidefor="" confirmfor="imap,pop3" id="retention.keepMsg" class="indent"
oncommand="warnServerRemove(this);">
<radio id="retention.keepAllMsg" value="1" accesskey="&retentionKeepAll.accesskey;"
label="&retentionKeepAll.label;" oncommand="onCheckKeepMsg();"/>
<hbox flex="1" align="center">
<radio id="retention.keepNewMsg" accesskey="&retentionKeepRecent.accesskey;"
value="3" label="&retentionKeepRecent.label;" oncommand="onCheckKeepMsg();"/>
<html:input id="retention.keepNewMsgMin" type="number"
class="size4 input-inline"
min="1" value="2000"
aria-labelledby="retention.keepNewMsg retention.keepNewMsgMin newMsgLabel"/>
<label value="&message.label;" control="retention.keepNewMsgMin" id="newMsgLabel"/>
</hbox>
<hbox flex="1" align="center">
<radio id="retention.keepOldMsg" accesskey="&retentionKeepMsg.accesskey;"
value="2" label="&retentionKeepMsg.label;" oncommand="onCheckKeepMsg();"/>
<html:input id="retention.keepOldMsgMin" type="number"
class="size4 input-inline" min="1" value="30"
aria-labelledby="retention.keepOldMsg retention.keepOldMsgMin oldMsgLabel"/>
<label value="&daysOld.label;" control="retention.keepOldMsgMin" id="oldMsgLabel"/>
</hbox>
</radiogroup>
<separator class="thin" hidefor="pop3,nntp,none" />
<hbox align="center" class="indent">
<checkbox id="retention.applyToFlagged"
label="&retentionApplyToFlagged.label;" hidefor=""
<hbox hidefor="pop3,nntp,none" pack="end">
<button
label="&offlineImapAdvancedOffline.label;"
accesskey="&offlineImapAdvancedOffline.accesskey;"
oncommand="onClickSelect()"
id="selectImapFoldersButton"
class="selectForOfflineUseButton"
/>
</hbox>
<hbox hidefor="pop3,imap,none" pack="end">
<button
label="&offlineSelectNntp.label;"
accesskey="&offlineSelectNntp.accesskey;"
oncommand="onClickSelect()"
id="selectNewsgroupsButton"
class="selectForOfflineUseButton"
/>
</hbox>
</vbox>
</html:fieldset>
</html:div>
<html:div>
<html:fieldset id="diskspace.titlebox">
<html:legend hidefor="pop3,none,rss"
>&diskspaceGroupTitle.label;</html:legend
>
<description hidefor="pop3,nntp,none,rss"
>&doNotDownloadImap.label;</description
>
<description hidefor="pop3,imap,none,rss"
>&doNotDownloadNntp.label;</description
>
<description hidefor="imap,nntp,none,rss"
>&doNotDownloadPop3Movemail.label;</description
>
<!-- IMAP Autosync Preference -->
<radiogroup
hidefor="pop3,nntp,none,rss"
id="autosyncSelect"
class="indent"
>
<radio
id="useAutosync.AllMsg"
value="0"
accesskey="&allAutosync.accesskey;"
label="&allAutosync.label;"
oncommand="onAutosyncChange();"
/>
<hbox flex="1" align="center">
<radio
id="useAutosync.ByAge"
accesskey="&ageAutosync.accesskey;"
value="1"
label="&ageAutosyncBefore.label;"
oncommand="onAutosyncChange();"
/>
<html:input
id="autosyncValue"
type="number"
class="size4 input-inline autosync"
min="1"
onchange="onAutosyncChange();"
aria-labelledby="ageAutosyncBefore autosyncValue ageAutosyncMiddle autosyncInterval ageAutosyncAfter"
/>
<label
id="ageAutosyncMiddle"
control="autosyncValue"
value="&ageAutosyncMiddle.label;"
/>
<menulist id="autosyncInterval" onselect="onAutosyncChange();">
<menupopup>
<menuitem label="&dayAgeInterval.label;" value="1" />
<menuitem label="&weekAgeInterval.label;" value="7" />
<menuitem label="&monthAgeInterval.label;" value="31" />
<menuitem label="&yearAgeInterval.label;" value="365" />
</menupopup>
</menulist>
<label
id="ageAutosyncAfter"
control="autosyncInterval"
value="&ageAutosyncAfter.label;"
/>
</hbox>
</radiogroup>
<hbox align="center" class="indent" hidefor="rss">
<checkbox
hidefor="pop3,imap,none"
id="nntp.notDownloadRead"
wsm_persist="true"
label="&nntpNotDownloadRead.label;"
accesskey="&nntpNotDownloadRead.accesskey;"
/>
</hbox>
<hbox align="center" class="indent" hidefor="none,rss">
<checkbox
wsm_persist="true"
id="offline.notDownload"
hidefor="imap"
label="&offlineNotDownload.label;"
accesskey="&offlineNotDownload.accesskey;"
oncommand="onCheckItem('offline.notDownloadMin', [this.id]);"
/>
<checkbox
wsm_persist="true"
id="autosyncNotDownload"
hidefor="pop3,nntp"
label="&autosyncNotDownload.label;"
accesskey="&autosyncNotDownload.accesskey;"
oncommand="onAutosyncNotDownload();"
/>
<html:input
id="offline.notDownloadMin"
type="number"
class="size4 input-inline"
min="1"
value="50"
wsm_persist="true"
aria-labelledby="offline.notDownload offline.notDownloadMin kbLabel"
/>
<label
value="&kb.label;"
control="offline.notDownloadMin"
id="kbLabel"
/>
</hbox>
<hbox align="center" class="indent" hidefor="pop3,imap,none,rss">
<checkbox
wsm_persist="true"
id="nntp.downloadMsg"
label="&nntpDownloadMsg.label;"
accesskey="&nntpDownloadMsg.accesskey;"
oncommand="onCheckItem('nntp.downloadMsgMin', [this.id]);"
/>
<html:input
id="nntp.downloadMsgMin"
type="number"
class="size2 input-inline"
min="1"
value="30"
wsm_persist="true"
aria-labelledby="nntp.downloadMsg nntp.downloadMsgMin daysOldLabel"
/>
<label
value="&daysOld.label;"
control="nntp.downloadMsgMin"
id="daysOldLabel"
/>
</hbox>
<vbox align="start">
<separator hidefor="none,rss" />
<label
id="retentionDescription"
hidefor="imap,pop3"
class="desc"
control="retention.keepMsg"
>&retentionCleanup.label;</label
>
<label
id="retentionDescriptionImap"
hidefor="pop3,nntp,none,rss"
class="desc"
control="retention.keepMsg"
>&retentionCleanupImap.label;</label
>
<label
id="retentionDescriptionPop"
hidefor="imap,nntp,none,rss"
class="desc"
control="retention.keepMsg"
>&retentionCleanupPop.label;</label
>
<radiogroup
hidefor=""
confirmfor="imap,pop3"
id="retention.keepMsg"
class="indent"
oncommand="warnServerRemove(this);"
>
<radio
id="retention.keepAllMsg"
value="1"
accesskey="&retentionKeepAll.accesskey;"
label="&retentionKeepAll.label;"
oncommand="onCheckKeepMsg();"
/>
<hbox flex="1" align="center">
<radio
id="retention.keepNewMsg"
accesskey="&retentionKeepRecent.accesskey;"
value="3"
label="&retentionKeepRecent.label;"
oncommand="onCheckKeepMsg();"
/>
<html:input
id="retention.keepNewMsgMin"
type="number"
class="size4 input-inline"
min="1"
value="2000"
aria-labelledby="retention.keepNewMsg retention.keepNewMsgMin newMsgLabel"
/>
<label
value="&message.label;"
control="retention.keepNewMsgMin"
id="newMsgLabel"
/>
</hbox>
<hbox flex="1" align="center">
<radio
id="retention.keepOldMsg"
accesskey="&retentionKeepMsg.accesskey;"
value="2"
label="&retentionKeepMsg.label;"
oncommand="onCheckKeepMsg();"
/>
<html:input
id="retention.keepOldMsgMin"
type="number"
class="size4 input-inline"
min="1"
value="30"
aria-labelledby="retention.keepOldMsg retention.keepOldMsgMin oldMsgLabel"
/>
<label
value="&daysOld.label;"
control="retention.keepOldMsgMin"
id="oldMsgLabel"
/>
</hbox>
</radiogroup>
<hbox align="center" class="indent">
<checkbox
id="retention.applyToFlagged"
label="&retentionApplyToFlagged.label;"
hidefor=""
accesskey="&retentionApplyToFlagged.accesskey;"
checked="true"/>
</hbox>
<hbox align="center" class="indent" hidefor="pop3,imap,none,rss">
<checkbox id="nntp.removeBody" accesskey="&nntpRemoveMsgBody.accesskey;"
label="&nntpRemoveMsgBody.label;" oncommand="onCheckItem('nntp.removeBodyMin', [this.id]);"/>
<html:input id="nntp.removeBodyMin" type="number"
class="size2 input-inline" min="1" value="30"
aria-labelledby="nntp.removeBody nntp.removeBodyMin daysOldMsg"/>
<label value="&daysOld.label;" control="nntp.removeBodyMin" id="daysOldMsg"/>
</hbox>
checked="true"
/>
</hbox>
<hbox align="center" class="indent" hidefor="pop3,imap,none,rss">
<checkbox
id="nntp.removeBody"
accesskey="&nntpRemoveMsgBody.accesskey;"
label="&nntpRemoveMsgBody.label;"
oncommand="onCheckItem('nntp.removeBodyMin', [this.id]);"
/>
<html:input
id="nntp.removeBodyMin"
type="number"
class="size2 input-inline"
min="1"
value="30"
aria-labelledby="nntp.removeBody nntp.removeBodyMin daysOldMsg"
/>
<label
value="&daysOld.label;"
control="nntp.removeBodyMin"
id="daysOldMsg"
/>
</hbox>
</vbox>
</html:fieldset>
</html:div>
</vbox>
</html:fieldset>
</html:div>
</vbox>
</html:body>
</html:body>
</html>

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

@ -9,150 +9,214 @@
<!DOCTYPE html SYSTEM "chrome://messenger/locale/am-server-advanced.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
scrolling="false">
<head>
<title>&serverAdvanced.label;</title>
<script defer="defer" src="chrome://messenger/content/globalOverlay.js"></script>
<script defer="defer" src="chrome://global/content/editMenuOverlay.js"></script>
<script defer="defer" src="chrome://messenger/content/am-server-advanced.js"></script>
</head>
<html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<dialog buttons="accept,cancel" style="width:100vw; height:100vh;">
<stringbundle id="bundle_prefs"
src="chrome://messenger/locale/prefs.properties"/>
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
scrolling="false"
>
<head>
<title>&serverAdvanced.label;</title>
<script
defer="defer"
src="chrome://messenger/content/globalOverlay.js"
></script>
<script
defer="defer"
src="chrome://global/content/editMenuOverlay.js"
></script>
<script
defer="defer"
src="chrome://messenger/content/am-server-advanced.js"
></script>
</head>
<html:body
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<dialog buttons="accept,cancel" style="width: 100vw; height: 100vh">
<stringbundle
id="bundle_prefs"
src="chrome://messenger/locale/prefs.properties"
/>
<label id="serverPrettyName"/>
<label id="serverPrettyName" />
<separator class="thin"/>
<separator class="thin" />
<!-- IMAP Panel -->
<vbox id="imapPanel">
<hbox align="center">
<label id="serverDirectoryLabel"
value="&serverDirectory.label;"
accesskey="&serverDirectory.accesskey;"
control="serverDirectory"/>
<hbox class="input-container">
<html:input id="serverDirectory"
type="text"
class="input-inline"
aria-labelledby="serverDirectoryLabel"
amsa_persist="true"/>
<!-- IMAP Panel -->
<vbox id="imapPanel">
<hbox align="center">
<label
id="serverDirectoryLabel"
value="&serverDirectory.label;"
accesskey="&serverDirectory.accesskey;"
control="serverDirectory"
/>
<hbox class="input-container">
<html:input
id="serverDirectory"
type="text"
class="input-inline"
aria-labelledby="serverDirectoryLabel"
amsa_persist="true"
/>
</hbox>
</hbox>
</hbox>
<checkbox id="usingSubscription" amsa_persist="true"
label="&usingSubscription.label;"
accesskey="&usingSubscription.accesskey;"/>
<checkbox
id="usingSubscription"
amsa_persist="true"
label="&usingSubscription.label;"
accesskey="&usingSubscription.accesskey;"
/>
<checkbox id="dualUseFolders" amsa_persist="true"
label="&dualUseFolders.label;"
accesskey="&dualUseFolders.accesskey;"/>
<checkbox
id="dualUseFolders"
amsa_persist="true"
label="&dualUseFolders.label;"
accesskey="&dualUseFolders.accesskey;"
/>
<separator class="groove"/>
<hbox align="center">
<label id="maximumConnectionsNumberLabel"
control="maximumConnectionsNumber"
value="&maximumConnectionsNumber.label;"
accesskey="&maximumConnectionsNumber.accesskey;"/>
<html:input id="maximumConnectionsNumber" type="number"
class="size3 input-inline"
min="1" max="1000"
amsa_persist="true"
aria-labelledby="maximumConnectionsNumberLabel"/>
</hbox>
<separator class="groove" />
<hbox align="center">
<label
id="maximumConnectionsNumberLabel"
control="maximumConnectionsNumber"
value="&maximumConnectionsNumber.label;"
accesskey="&maximumConnectionsNumber.accesskey;"
/>
<html:input
id="maximumConnectionsNumber"
type="number"
class="size3 input-inline"
min="1"
max="1000"
amsa_persist="true"
aria-labelledby="maximumConnectionsNumberLabel"
/>
</hbox>
<separator class="groove"/>
<description>&namespaceDesc.label;</description>
<hbox class="indent">
<vbox>
<hbox flex="1" align="center">
<label id="personalNamespaceLabel"
control="personalNamespace" value="&personalNamespace.label;"
accesskey="&personalNamespace.accesskey;"/>
</hbox>
<hbox flex="1" align="center">
<label id="publicNamespaceLabel"
control="publicNamespace" value="&publicNamespace.label;"
accesskey="&publicNamespace.accesskey;"/>
</hbox>
<hbox flex="1" align="center">
<label id="otherUsersNamespaceLabel"
control="otherUsersNamespace"
value="&otherUsersNamespace.label;"
accesskey="&otherUsersNamespace.accesskey;"/>
</hbox>
</vbox>
<vbox>
<html:input id="personalNamespace"
type="text"
class="input-inline"
aria-labelledby="personalNamespaceLabel"
amsa_persist="true"/>
<html:input id="publicNamespace"
type="text"
class="input-inline"
aria-labelledby="publicNamespaceLabel"
amsa_persist="true"/>
<html:input id="otherUsersNamespace"
type="text"
class="input-inline"
aria-labelledby="otherUsersNamespaceLabel"
amsa_persist="true"/>
</vbox>
</hbox>
<hbox class="indent">
<checkbox id="overrideNamespaces" amsa_persist="true"
label="&overrideNamespaces.label;"
accesskey="&overrideNamespaces.accesskey;"/>
</hbox>
</vbox>
<!-- POP3 Panel -->
<vbox id="pop3Panel">
<label flex="1" control="folderStorage">&pop3DeferringDesc.label;</label>
<hbox align="center">
<radiogroup id="folderStorage"
flex="1"
orient="horizontal"
amsa_persist="true"
onselect="updateInboxAccount(this.selectedIndex == 1);">
<vbox flex="1">
<hbox>
<radio id="deferToCurrentAccount"
value="currentAccount"
label="&accountInbox.label;"
accesskey="&accountInbox.accesskey;"/>
<separator class="groove" />
<description>&namespaceDesc.label;</description>
<hbox class="indent">
<vbox>
<hbox flex="1" align="center">
<label
id="personalNamespaceLabel"
control="personalNamespace"
value="&personalNamespace.label;"
accesskey="&personalNamespace.accesskey;"
/>
</hbox>
<hbox flex="1" align="center">
<label
id="publicNamespaceLabel"
control="publicNamespace"
value="&publicNamespace.label;"
accesskey="&publicNamespace.accesskey;"
/>
</hbox>
<hbox flex="1" align="center">
<label
id="otherUsersNamespaceLabel"
control="otherUsersNamespace"
value="&otherUsersNamespace.label;"
accesskey="&otherUsersNamespace.accesskey;"
/>
</hbox>
</vbox>
<vbox>
<html:input
id="personalNamespace"
type="text"
class="input-inline"
aria-labelledby="personalNamespaceLabel"
amsa_persist="true"
/>
<html:input
id="publicNamespace"
type="text"
class="input-inline"
aria-labelledby="publicNamespaceLabel"
amsa_persist="true"
/>
<html:input
id="otherUsersNamespace"
type="text"
class="input-inline"
aria-labelledby="otherUsersNamespaceLabel"
amsa_persist="true"
/>
</vbox>
</hbox>
<hbox class="indent">
<checkbox
id="overrideNamespaces"
amsa_persist="true"
label="&overrideNamespaces.label;"
accesskey="&overrideNamespaces.accesskey;"
/>
</hbox>
</vbox>
<!-- POP3 Panel -->
<vbox id="pop3Panel">
<label flex="1" control="folderStorage"
>&pop3DeferringDesc.label;</label
>
<hbox align="center">
<radiogroup
id="folderStorage"
flex="1"
orient="horizontal"
amsa_persist="true"
onselect="updateInboxAccount(this.selectedIndex == 1);"
>
<vbox flex="1">
<hbox>
<radio id="deferToOtherAccount"
value="otherAccount"
label="&deferToServer.label;"
accesskey="&deferToServer.accesskey;">
</radio>
<menulist id="deferredServerFolderPicker"
class="folderMenuItem"
flex="1"
aria-labelledby="deferToServer">
<menupopup is="folder-menupopup" id="deferredServerPopup"
expandFolders="false"
mode="deferred"
oncommand="this.selectFolder(event.target._folder);"/>
</menulist>
<radio
id="deferToCurrentAccount"
value="currentAccount"
label="&accountInbox.label;"
accesskey="&accountInbox.accesskey;"
/>
</hbox>
<checkbox amsa_persist="true" id="deferGetNewMail"
label="&deferGetNewMail.label;" class="indent"
accesskey="&deferGetNewMail.accesskey;"/>
<vbox flex="1">
<hbox>
<radio
id="deferToOtherAccount"
value="otherAccount"
label="&deferToServer.label;"
accesskey="&deferToServer.accesskey;"
>
</radio>
<menulist
id="deferredServerFolderPicker"
class="folderMenuItem"
flex="1"
aria-labelledby="deferToServer"
>
<menupopup
is="folder-menupopup"
id="deferredServerPopup"
expandFolders="false"
mode="deferred"
oncommand="this.selectFolder(event.target._folder);"
/>
</menulist>
</hbox>
<checkbox
amsa_persist="true"
id="deferGetNewMail"
label="&deferGetNewMail.label;"
class="indent"
accesskey="&deferGetNewMail.accesskey;"
/>
</vbox>
</vbox>
</vbox>
</radiogroup>
</hbox>
</vbox>
</dialog>
</html:body>
</radiogroup>
</hbox>
</vbox>
</dialog>
</html:body>
</html>

Разница между файлами не показана из-за своего большого размера Загрузить разницу

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

@ -5,106 +5,148 @@
<?xml-stylesheet href="chrome://messenger/skin/accountManage.css" type="text/css"?>
<!DOCTYPE html [
<!ENTITY % accountNoIdentDTD SYSTEM "chrome://messenger/locale/am-serverwithnoidentities.dtd" >%accountNoIdentDTD;
<!DOCTYPE html [ <!ENTITY % accountNoIdentDTD SYSTEM "chrome://messenger/locale/am-serverwithnoidentities.dtd">
%accountNoIdentDTD;
<!ENTITY % accountServerTopDTD SYSTEM "chrome://messenger/locale/am-server-top.dtd">%accountServerTopDTD;
]>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml">
<head>
<title>&accountTitle.label;</title>
<script defer="defer" src="chrome://messenger/content/globalOverlay.js"></script>
<script defer="defer" src="chrome://global/content/editMenuOverlay.js"></script>
<script defer="defer" src="chrome://messenger/content/am-serverwithnoidentities.js"></script>
<script defer="defer" src="chrome://messenger/content/amUtils.js"></script>
<script>
// FIXME: move to script file.
window.addEventListener("load", event => { parent.onPanelLoaded('am-serverwithnoidentities.xhtml'); });
</script>
</head>
<html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<vbox id="containerBox" flex="1">
<hbox class="dialogheader">
<label class="dialogheader-title" value="&accountTitle.label;"/>
</hbox>
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
>
<head>
<title>&accountTitle.label;</title>
<script
defer="defer"
src="chrome://messenger/content/globalOverlay.js"
></script>
<script
defer="defer"
src="chrome://global/content/editMenuOverlay.js"
></script>
<script
defer="defer"
src="chrome://messenger/content/am-serverwithnoidentities.js"
></script>
<script defer="defer" src="chrome://messenger/content/amUtils.js"></script>
<script>
// FIXME: move to script file.
window.addEventListener("load", event => {
parent.onPanelLoaded("am-serverwithnoidentities.xhtml");
});
</script>
</head>
<html:body
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<vbox id="containerBox" flex="1">
<hbox class="dialogheader">
<label class="dialogheader-title" value="&accountTitle.label;" />
</hbox>
<separator class="thin"/>
<separator class="thin" />
<label hidden="true"
wsm_persist="true"
preftype="string"
prefattribute="value"
prefstring="mail.server.%serverkey%.storeContractID"
genericattr="true"
id="server.storeContractID"/>
<label
hidden="true"
wsm_persist="true"
preftype="string"
prefattribute="value"
prefstring="mail.server.%serverkey%.storeContractID"
genericattr="true"
id="server.storeContractID"
/>
<description class="secDesc">&accountSettingsDesc.label;</description>
<hbox class="input-container">
<label id="server.prettyName.label" value="&accountName.label;"
control="server.prettyName" accesskey="&accountName.accesskey;"/>
<html:input id="server.prettyName"
<description class="secDesc">&accountSettingsDesc.label;</description>
<hbox class="input-container">
<label
id="server.prettyName.label"
value="&accountName.label;"
control="server.prettyName"
accesskey="&accountName.accesskey;"
/>
<html:input
id="server.prettyName"
type="text"
wsm_persist="true"
class="input-inline"
onblur="parent.setAccountLabel(gAccount.key, this.value);"
prefstring="mail.server.%serverkey%.name"
aria-labelledby="server.prettyName.label"
/>
</hbox>
<separator class="thin" />
<html:div>
<html:fieldset>
<html:legend>&messageStorage.label;</html:legend>
<vbox align="start">
<checkbox
wsm_persist="true"
id="server.emptyTrashOnExit"
label="&emptyTrashOnExit.label;"
accesskey="&emptyTrashOnExit.accesskey;"
prefattribute="value"
prefstring="mail.server.%serverkey%.empty_trash_on_exit"
/>
<hbox align="center">
<label
value="&storeType.label;"
accesskey="&storeType.accesskey;"
control="server.storeTypeMenulist"
/>
<menulist
id="server.storeTypeMenulist"
oncommand="clickStoreTypeMenu(this);"
>
<menupopup id="server.storeTypeMenupopup">
<menuitem
id="server.mboxStore"
value="@mozilla.org/msgstore/berkeleystore;1"
label="&mboxStore2.label;"
/>
<menuitem
id="server.maildirStore"
value="@mozilla.org/msgstore/maildirstore;1"
label="&maildirStore.label;"
/>
</menupopup>
</menulist>
</hbox>
</vbox>
<separator class="thin" />
<hbox align="center">
<label
id="server.localPath.label"
value="&localPath1.label;"
control="server.localPath"
/>
<hbox class="input-container" flex="1">
<html:input
id="server.localPath"
type="text"
readonly="readonly"
wsm_persist="true"
class="input-inline"
onblur="parent.setAccountLabel(gAccount.key, this.value);"
prefstring="mail.server.%serverkey%.name"
aria-labelledby="server.prettyName.label"/>
</hbox>
<separator class="thin"/>
<html:div>
<html:fieldset>
<html:legend>&messageStorage.label;</html:legend>
<vbox align="start">
<checkbox wsm_persist="true" id="server.emptyTrashOnExit"
label="&emptyTrashOnExit.label;"
accesskey="&emptyTrashOnExit.accesskey;"
prefattribute="value"
prefstring="mail.server.%serverkey%.empty_trash_on_exit"/>
<hbox align="center">
<label value="&storeType.label;"
accesskey="&storeType.accesskey;"
control="server.storeTypeMenulist"/>
<menulist id="server.storeTypeMenulist"
oncommand="clickStoreTypeMenu(this);">
<menupopup id="server.storeTypeMenupopup">
<menuitem id="server.mboxStore"
value="@mozilla.org/msgstore/berkeleystore;1"
label="&mboxStore2.label;"/>
<menuitem id="server.maildirStore"
value="@mozilla.org/msgstore/maildirstore;1"
label="&maildirStore.label;"/>
</menupopup>
</menulist>
</hbox>
datatype="nsIFile"
prefstring="mail.server.%serverkey%.directory"
class="uri-element input-inline"
aria-labelledby="server.localPath.label"
/>
</hbox>
<button
id="browseForLocalFolder"
label="&browseFolder.label;"
filepickertitle="&localFolderPicker.label;"
accesskey="&browseFolder.accesskey;"
oncommand="BrowseForLocalFolders()"
/>
</hbox>
</html:fieldset>
</html:div>
</vbox>
<separator class="thin"/>
<hbox align="center">
<label id="server.localPath.label" value="&localPath1.label;"
control="server.localPath"/>
<hbox class="input-container" flex="1">
<html:input id="server.localPath"
type="text"
readonly="readonly"
wsm_persist="true"
datatype="nsIFile"
prefstring="mail.server.%serverkey%.directory"
class="uri-element input-inline"
aria-labelledby="server.localPath.label"/>
</hbox>
<button id="browseForLocalFolder" label="&browseFolder.label;"
filepickertitle="&localFolderPicker.label;"
accesskey="&browseFolder.accesskey;"
oncommand="BrowseForLocalFolders()"/>
</hbox>
</html:fieldset>
</html:div>
</vbox>
</html:body>
</html:body>
</html>

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

@ -7,88 +7,115 @@
<!DOCTYPE html SYSTEM "chrome://messenger/locale/am-advanced.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml">
<head>
<title>&smtpServer.label;</title>
<script defer="defer" src="chrome://messenger/content/globalOverlay.js"></script>
<script defer="defer" src="chrome://global/content/editMenuOverlay.js"></script>
<script defer="defer" src="chrome://messenger/content/amUtils.js"></script>
<script defer="defer" src="chrome://messenger/content/am-smtp.js"></script>
</head>
<html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<stringbundle id="bundle_messenger"
src="chrome://messenger/locale/messenger.properties"/>
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
>
<head>
<title>&smtpServer.label;</title>
<script
defer="defer"
src="chrome://messenger/content/globalOverlay.js"
></script>
<script
defer="defer"
src="chrome://global/content/editMenuOverlay.js"
></script>
<script defer="defer" src="chrome://messenger/content/amUtils.js"></script>
<script defer="defer" src="chrome://messenger/content/am-smtp.js"></script>
</head>
<html:body
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<stringbundle
id="bundle_messenger"
src="chrome://messenger/locale/messenger.properties"
/>
<vbox flex="1" style="overflow: auto;"><vbox id="containerBox" flex="1">
<hbox class="dialogheader">
<label class="dialogheader-title" value="&smtpServer.label;"/>
</hbox>
<vbox flex="1" style="overflow: auto"
><vbox id="containerBox" flex="1">
<hbox class="dialogheader">
<label class="dialogheader-title" value="&smtpServer.label;" />
</hbox>
<separator class="thin"/>
<label control="smtpList">&smtpDescription.label;</label>
<separator class="thin"/>
<separator class="thin" />
<label control="smtpList">&smtpDescription.label;</label>
<separator class="thin" />
<hbox flex="1">
<richlistbox id="smtpList"
onselect="gSmtpServerListWindow.onSelectionChanged(event);"
ondblclick="gSmtpServerListWindow.onEditServer(event);"
seltype="single"
flex="1"
style="height:400px"/>
<hbox flex="1">
<richlistbox
id="smtpList"
onselect="gSmtpServerListWindow.onSelectionChanged(event);"
ondblclick="gSmtpServerListWindow.onEditServer(event);"
seltype="single"
flex="1"
style="height: 400px"
/>
<vbox>
<button id="addButton"
oncommand="gSmtpServerListWindow.onAddServer(event);"
label="&smtpListAdd.label;"
accesskey="&smtpListAdd.accesskey;"/>
<button id="editButton"
oncommand="gSmtpServerListWindow.onEditServer(event);"
label="&smtpListEdit.label;"
accesskey="&smtpListEdit.accesskey;"/>
<separator/>
<button id="deleteButton" disabled="true"
oncommand="gSmtpServerListWindow.onDeleteServer(event);"
label="&smtpListDelete.label;"
accesskey="&smtpListDelete.accesskey;"/>
<button id="setDefaultButton" disabled="true"
oncommand="gSmtpServerListWindow.onSetDefaultServer(event);"
label="&smtpListSetDefault.label;"
accesskey="&smtpListSetDefault.accesskey;"/>
</vbox>
</hbox>
<vbox>
<button
id="addButton"
oncommand="gSmtpServerListWindow.onAddServer(event);"
label="&smtpListAdd.label;"
accesskey="&smtpListAdd.accesskey;"
/>
<button
id="editButton"
oncommand="gSmtpServerListWindow.onEditServer(event);"
label="&smtpListEdit.label;"
accesskey="&smtpListEdit.accesskey;"
/>
<separator />
<button
id="deleteButton"
disabled="true"
oncommand="gSmtpServerListWindow.onDeleteServer(event);"
label="&smtpListDelete.label;"
accesskey="&smtpListDelete.accesskey;"
/>
<button
id="setDefaultButton"
disabled="true"
oncommand="gSmtpServerListWindow.onSetDefaultServer(event);"
label="&smtpListSetDefault.label;"
accesskey="&smtpListSetDefault.accesskey;"
/>
</vbox>
</hbox>
<separator/>
<separator />
<label class="header">&serverDetails.label;</label>
<html:table id="smtpServerInfoBox">
<html:tr>
<html:th id="descriptionLabel">&serverDescription.label;</html:th>
<html:td id="descriptionValue"></html:td>
</html:tr>
<html:tr>
<html:th id="nameLabel">&serverName.label;</html:th>
<html:td id="nameValue"></html:td>
</html:tr>
<html:tr>
<html:th id="portLabel">&serverPort.label;</html:th>
<html:td id="portValue"></html:td>
</html:tr>
<html:tr>
<html:th id="userNameLabel">&userName.label;</html:th>
<html:td id="userNameValue"></html:td>
</html:tr>
<html:tr>
<html:th id="authMethodLabel">&authMethod.label;</html:th>
<html:td id="authMethodValue"></html:td>
</html:tr>
<html:tr>
<html:th id="connectionSecurityLabel">&connectionSecurity.label;</html:th>
<html:td id="useSecureConnectionValue"></html:td>
</html:tr>
</html:table>
<separator flex="1"/>
</vbox></vbox>
</html:body>
<label class="header">&serverDetails.label;</label>
<html:table id="smtpServerInfoBox">
<html:tr>
<html:th id="descriptionLabel">&serverDescription.label;</html:th>
<html:td id="descriptionValue"></html:td>
</html:tr>
<html:tr>
<html:th id="nameLabel">&serverName.label;</html:th>
<html:td id="nameValue"></html:td>
</html:tr>
<html:tr>
<html:th id="portLabel">&serverPort.label;</html:th>
<html:td id="portValue"></html:td>
</html:tr>
<html:tr>
<html:th id="userNameLabel">&userName.label;</html:th>
<html:td id="userNameValue"></html:td>
</html:tr>
<html:tr>
<html:th id="authMethodLabel">&authMethod.label;</html:th>
<html:td id="authMethodValue"></html:td>
</html:tr>
<html:tr>
<html:th id="connectionSecurityLabel"
>&connectionSecurity.label;</html:th
>
<html:td id="useSecureConnectionValue"></html:td>
</html:tr>
</html:table>
<separator flex="1" /> </vbox
></vbox>
</html:body>
</html>

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

@ -3,17 +3,18 @@
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
-->
<!DOCTYPE html [
<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
<!DOCTYPE html [ <!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
%brandDTD;
<!ENTITY % converterDTD SYSTEM "chrome://messenger/locale/converterDialog.dtd">
%converterDTD;
]>
%converterDTD; ]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="UTF-8" />
<title>&converterDialog.title;</title>
<link rel="stylesheet" href="chrome://messenger/skin/shared/converterDialog.css" />
<link
rel="stylesheet"
href="chrome://messenger/skin/shared/converterDialog.css"
/>
<script src="chrome://messenger/content/converterDialog.js"></script>
</head>
@ -25,7 +26,9 @@
<button onclick="cancelConversion(window.arguments[2]);">
&converterDialog.cancelButton;
</button>
<button onclick="startContinue(window.arguments[1], window.arguments[2]);">
<button
onclick="startContinue(window.arguments[1], window.arguments[2]);"
>
&converterDialog.continueButton;
</button>
</div>

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

@ -8,39 +8,58 @@
<?xml-stylesheet href="chrome://messenger/skin/themeableDialog.css" type="text/css"?>
<!DOCTYPE html SYSTEM "chrome://messenger/locale/messengercompose/sendProgress.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
style="min-width:56ch; min-height: 8em;"
lightweightthemes="true"
scrolling="false">
<head>
<title>&sendDialog.title;</title>
<link rel="localization" href="branding/brand.ftl" />
<script defer="defer" src="chrome://messenger/content/dialogShadowDom.js"></script>
<script defer="defer" src="chrome://messenger/content/messengercompose/sendProgress.js"></script>
</head>
<html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<dialog id="sendProgress" buttons="cancel">
<hbox flex="1">
<vbox align="end">
<hbox flex="1" align="center">
<label value="&status.label;"/>
</hbox>
<hbox flex="1" align="center">
<label value="&progress.label;"/>
</hbox>
</vbox>
<vbox flex="1">
<hbox flex="1" align="center">
<label id="dialog.status" crop="center"/>
</hbox>
<hbox class="thin-separator" flex="1" style="display:flex; align-items:center;">
<html:progress id="dialog.progress" value="0" max="100" style="flex:1;"/>
<label id="dialog.progressText" value=""/>
</hbox>
</vbox>
</hbox>
</dialog>
</html:body>
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
style="min-width: 56ch; min-height: 8em"
lightweightthemes="true"
scrolling="false"
>
<head>
<title>&sendDialog.title;</title>
<link rel="localization" href="branding/brand.ftl" />
<script
defer="defer"
src="chrome://messenger/content/dialogShadowDom.js"
></script>
<script
defer="defer"
src="chrome://messenger/content/messengercompose/sendProgress.js"
></script>
</head>
<html:body
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<dialog id="sendProgress" buttons="cancel">
<hbox flex="1">
<vbox align="end">
<hbox flex="1" align="center">
<label value="&status.label;" />
</hbox>
<hbox flex="1" align="center">
<label value="&progress.label;" />
</hbox>
</vbox>
<vbox flex="1">
<hbox flex="1" align="center">
<label id="dialog.status" crop="center" />
</hbox>
<hbox
class="thin-separator"
flex="1"
style="display: flex; align-items: center"
>
<html:progress
id="dialog.progress"
value="0"
max="100"
style="flex: 1"
/>
<label id="dialog.progressText" value="" />
</hbox>
</vbox>
</hbox>
</dialog>
</html:body>
</html>

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

@ -7,32 +7,43 @@
<?xml-stylesheet href="chrome://messenger/skin/input-fields.css" type="text/css"?>
<?xml-stylesheet href="chrome://messenger/skin/colors.css" type="text/css"?>
<?xml-stylesheet href="chrome://messenger/skin/themeableDialog.css" type="text/css"?>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
scrolling="false"
lightweightthemes="true">
<head>
<link rel="localization" href="branding/brand.ftl" />
<link rel="localization" href="messenger/exportDialog.ftl" />
<title data-l10n-id="export-dialog-title"></title>
<script defer="defer" src="chrome://messenger/content/exportDialog.js"></script>
<script defer="defer" src="chrome://messenger/content/dialogShadowDom.js"></script>
</head>
<html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<dialog buttons="accept,cancel" style="min-height:12em; width:500px;"
data-l10n-id="export-dialog"
data-l10n-attrs="buttonlabelaccept">
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
scrolling="false"
lightweightthemes="true"
>
<head>
<link rel="localization" href="branding/brand.ftl" />
<link rel="localization" href="messenger/exportDialog.ftl" />
<title data-l10n-id="export-dialog-title"></title>
<script
defer="defer"
src="chrome://messenger/content/exportDialog.js"
></script>
<script
defer="defer"
src="chrome://messenger/content/dialogShadowDom.js"
></script>
</head>
<html:body
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<dialog
buttons="accept,cancel"
style="min-height: 12em; width: 500px"
data-l10n-id="export-dialog"
data-l10n-attrs="buttonlabelaccept"
>
<description data-l10n-id="export-dialog-description1"></description>
<description data-l10n-id="export-dialog-desc2"></description>
<description data-l10n-id="export-dialog-description1"></description>
<description data-l10n-id="export-dialog-desc2"></description>
<separator/>
<vbox id="progressBar" hidden="true">
<html:progress id="progress" value="0" max="100" style="flex:1;"/>
<label id="progressStatus" crop="center"/>
</vbox>
</dialog>
</html:body>
<separator />
<vbox id="progressBar" hidden="true">
<html:progress id="progress" value="0" max="100" style="flex: 1" />
<label id="progressStatus" crop="center" />
</vbox>
</dialog>
</html:body>
</html>

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

@ -8,134 +8,224 @@
<!DOCTYPE html SYSTEM "chrome://messenger/locale/am-mdn.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml">
<head>
<title>&pane.title;</title>
<script defer="defer" src="chrome://messenger/content/AccountManager.js"></script>
<script defer="defer" src="chrome://messenger/content/amUtils.js"></script>
<script defer="defer" src="chrome://messenger/content/am-mdn.js"></script>
<script>
// FIXME: move to script file.
window.addEventListener("load", event => { parent.onPanelLoaded('am-mdn.xhtml'); });
</script>
</head>
<html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<vbox id="containerBox" flex="1">
<stringbundle id="bundle_smime" src="chrome://messenger/locale/am-mdn.properties"/>
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
>
<head>
<title>&pane.title;</title>
<script
defer="defer"
src="chrome://messenger/content/AccountManager.js"
></script>
<script defer="defer" src="chrome://messenger/content/amUtils.js"></script>
<script defer="defer" src="chrome://messenger/content/am-mdn.js"></script>
<script>
// FIXME: move to script file.
window.addEventListener("load", event => {
parent.onPanelLoaded("am-mdn.xhtml");
});
</script>
</head>
<html:body
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<vbox id="containerBox" flex="1">
<stringbundle
id="bundle_smime"
src="chrome://messenger/locale/am-mdn.properties"
/>
<hbox class="dialogheader">
<label class="dialogheader-title" value="&pane.title;"/>
</hbox>
<separator class="thin"/>
<html:div>
<html:fieldset>
<hbox id="prefChoices" align="center" flex="1">
<radiogroup id="identity.use_custom_prefs" wsm_persist="true" genericattr="true"
preftype="bool" prefstring="mail.identity.%identitykey%.use_custom_prefs"
oncommand="EnableDisableCustomSettings();" flex="1">
<radio id="identity.select_global_prefs"
value="false"
label="&useGlobalPrefs.label;"
accesskey="&useGlobalPrefs.accesskey;"/>
<hbox flex="1">
<spacer flex="1"/>
<button id="globalReceiptsLink"
label="&globalReceipts.label;"
accesskey="&globalReceipts.accesskey;"
oncommand="showGlobalReceipts();"/>
</hbox>
<radio id="identity.select_custom_prefs"
value="true"
label="&useCustomPrefs.label;"
accesskey="&useCustomPrefs.accesskey;"/>
</radiogroup>
<hbox class="dialogheader">
<label class="dialogheader-title" value="&pane.title;" />
</hbox>
<vbox id="returnReceiptSettings" class="indent" align="start">
<checkbox id="identity.request_return_receipt_on" label="&requestReceipt.label;"
accesskey="&requestReceipt.accesskey;"
wsm_persist="true" genericattr="true" iscontrolcontainer="true"
preftype="bool" prefstring="mail.identity.%identitykey%.request_return_receipt_on"/>
<separator class="thin" />
<separator/>
<html:div>
<html:fieldset>
<hbox id="prefChoices" align="center" flex="1">
<radiogroup
id="identity.use_custom_prefs"
wsm_persist="true"
genericattr="true"
preftype="bool"
prefstring="mail.identity.%identitykey%.use_custom_prefs"
oncommand="EnableDisableCustomSettings();"
flex="1"
>
<radio
id="identity.select_global_prefs"
value="false"
label="&useGlobalPrefs.label;"
accesskey="&useGlobalPrefs.accesskey;"
/>
<hbox flex="1">
<spacer flex="1" />
<button
id="globalReceiptsLink"
label="&globalReceipts.label;"
accesskey="&globalReceipts.accesskey;"
oncommand="showGlobalReceipts();"
/>
</hbox>
<radio
id="identity.select_custom_prefs"
value="true"
label="&useCustomPrefs.label;"
accesskey="&useCustomPrefs.accesskey;"
/>
</radiogroup>
</hbox>
<vbox id="receiptArrive">
<label id="receiptArriveLabel" control="server.incorporate_return_receipt">&receiptArrive.label;</label>
<radiogroup id="server.incorporate_return_receipt" wsm_persist="true" genericattr="true"
preftype="int" prefstring="mail.server.%serverkey%.incorporate_return_receipt"
class="indent">
<radio id="leave_in_inbox" value="0" label="&leaveIt.label;"
accesskey="&leaveIt.accesskey;"/>
<radio id="move_to_sent" value="1" label="&moveToSent.label;"
accesskey="&moveToSent.accesskey;"/>
</radiogroup>
</vbox>
<vbox id="returnReceiptSettings" class="indent" align="start">
<checkbox
id="identity.request_return_receipt_on"
label="&requestReceipt.label;"
accesskey="&requestReceipt.accesskey;"
wsm_persist="true"
genericattr="true"
iscontrolcontainer="true"
preftype="bool"
prefstring="mail.identity.%identitykey%.request_return_receipt_on"
/>
<separator/>
<separator />
<vbox id="receiptRequest">
<label id="receiptRequestLabel" control="server.mdn_report_enabled">&requestMDN.label;</label>
<radiogroup id="server.mdn_report_enabled" wsm_persist="true" genericattr="true"
preftype="bool" prefstring="mail.server.%serverkey%.mdn_report_enabled"
oncommand="EnableDisableAllowedReceipts();"
class="indent">
<radio id="never_return" value="false" label="&never.label;"
accesskey="&never.accesskey;"/>
<radio id="return_some" value="true" label="&returnSome.label;"
accesskey="&returnSome.accesskey;"/>
<vbox id="receiptArrive">
<label
id="receiptArriveLabel"
control="server.incorporate_return_receipt"
>&receiptArrive.label;</label
>
<radiogroup
id="server.incorporate_return_receipt"
wsm_persist="true"
genericattr="true"
preftype="int"
prefstring="mail.server.%serverkey%.incorporate_return_receipt"
class="indent"
>
<radio
id="leave_in_inbox"
value="0"
label="&leaveIt.label;"
accesskey="&leaveIt.accesskey;"
/>
<radio
id="move_to_sent"
value="1"
label="&moveToSent.label;"
accesskey="&moveToSent.accesskey;"
/>
</radiogroup>
</vbox>
<hbox id="receiptSendIf" class="indent">
<vbox>
<hbox flex="1" align="center">
<label id="notInToCcLabel" value="&notInToCc.label;"
accesskey="&notInToCc.accesskey;" control="server.mdn_not_in_to_cc"/>
<separator />
<vbox id="receiptRequest">
<label
id="receiptRequestLabel"
control="server.mdn_report_enabled"
>&requestMDN.label;</label
>
<radiogroup
id="server.mdn_report_enabled"
wsm_persist="true"
genericattr="true"
preftype="bool"
prefstring="mail.server.%serverkey%.mdn_report_enabled"
oncommand="EnableDisableAllowedReceipts();"
class="indent"
>
<radio
id="never_return"
value="false"
label="&never.label;"
accesskey="&never.accesskey;"
/>
<radio
id="return_some"
value="true"
label="&returnSome.label;"
accesskey="&returnSome.accesskey;"
/>
<hbox id="receiptSendIf" class="indent">
<vbox>
<hbox flex="1" align="center">
<label
id="notInToCcLabel"
value="&notInToCc.label;"
accesskey="&notInToCc.accesskey;"
control="server.mdn_not_in_to_cc"
/>
</hbox>
<hbox flex="1" align="center">
<label
id="outsideDomainLabel"
value="&outsideDomain.label;"
accesskey="&outsideDomain.accesskey;"
control="server.mdn_outside_domain"
/>
</hbox>
<hbox flex="1" align="center">
<label
id="otherCasesLabel"
value="&otherCases.label;"
accesskey="&otherCases.accesskey;"
control="server.mdn_other"
/>
</hbox>
</vbox>
<vbox>
<menulist
id="server.mdn_not_in_to_cc"
wsm_persist="true"
genericattr="true"
preftype="int"
prefstring="mail.server.%serverkey%.mdn_not_in_to_cc"
>
<menupopup>
<menuitem value="0" label="&neverSend.label;" />
<menuitem value="1" label="&alwaysSend.label;" />
<menuitem value="2" label="&askMe.label;" />
</menupopup>
</menulist>
<menulist
id="server.mdn_outside_domain"
wsm_persist="true"
genericattr="true"
preftype="int"
prefstring="mail.server.%serverkey%.mdn_outside_domain"
>
<menupopup>
<menuitem value="0" label="&neverSend.label;" />
<menuitem value="1" label="&alwaysSend.label;" />
<menuitem value="2" label="&askMe.label;" />
</menupopup>
</menulist>
<menulist
id="server.mdn_other"
wsm_persist="true"
genericattr="true"
preftype="int"
prefstring="mail.server.%serverkey%.mdn_other"
>
<menupopup>
<menuitem value="0" label="&neverSend.label;" />
<menuitem value="1" label="&alwaysSend.label;" />
<menuitem value="2" label="&askMe.label;" />
</menupopup>
</menulist>
</vbox>
</hbox>
<hbox flex="1" align="center">
<label id="outsideDomainLabel" value="&outsideDomain.label;"
accesskey="&outsideDomain.accesskey;" control="server.mdn_outside_domain"/>
</hbox>
<hbox flex="1" align="center">
<label id="otherCasesLabel" value="&otherCases.label;"
accesskey="&otherCases.accesskey;" control="server.mdn_other"/>
</hbox>
</vbox>
<vbox>
<menulist id="server.mdn_not_in_to_cc" wsm_persist="true" genericattr="true"
preftype="int" prefstring="mail.server.%serverkey%.mdn_not_in_to_cc">
<menupopup>
<menuitem value="0" label="&neverSend.label;"/>
<menuitem value="1" label="&alwaysSend.label;"/>
<menuitem value="2" label="&askMe.label;"/>
</menupopup>
</menulist>
<menulist id="server.mdn_outside_domain" wsm_persist="true" genericattr="true"
preftype="int" prefstring="mail.server.%serverkey%.mdn_outside_domain">
<menupopup>
<menuitem value="0" label="&neverSend.label;"/>
<menuitem value="1" label="&alwaysSend.label;"/>
<menuitem value="2" label="&askMe.label;"/>
</menupopup>
</menulist>
<menulist id="server.mdn_other" wsm_persist="true" genericattr="true"
preftype="int" prefstring="mail.server.%serverkey%.mdn_other">
<menupopup>
<menuitem value="0" label="&neverSend.label;"/>
<menuitem value="1" label="&alwaysSend.label;"/>
<menuitem value="2" label="&askMe.label;"/>
</menupopup>
</menulist>
</vbox>
</hbox>
</radiogroup>
</vbox>
</vbox>
</html:fieldset>
</html:div>
</vbox>
</html:body>
</radiogroup>
</vbox>
</vbox>
</html:fieldset>
</html:div>
</vbox>
</html:body>
</html>

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

@ -6,161 +6,228 @@
<?xml-stylesheet href="chrome://messenger/skin/accountManage.css" type="text/css"?>
<?xml-stylesheet href="chrome://messenger-newsblog/skin/feed-subscriptions.css" type="text/css"?>
<!DOCTYPE html [
<!ENTITY % newsblogDTD SYSTEM "chrome://messenger-newsblog/locale/am-newsblog.dtd" >
<!DOCTYPE html [ <!ENTITY % newsblogDTD SYSTEM "chrome://messenger-newsblog/locale/am-newsblog.dtd">
%newsblogDTD;
<!ENTITY % feedDTD SYSTEM "chrome://messenger-newsblog/locale/feed-subscriptions.dtd" >
%feedDTD;
<!ENTITY % accountNoIdentDTD SYSTEM "chrome://messenger/locale/am-serverwithnoidentities.dtd" >
%accountNoIdentDTD;
<!ENTITY % accountServerTopDTD SYSTEM "chrome://messenger/locale/am-server-top.dtd">
%accountServerTopDTD;
]>
%accountServerTopDTD; ]>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml">
<head>
<title>&accountTitle.label;</title>
<script defer="defer" src="chrome://messenger/content/globalOverlay.js"></script>
<script defer="defer" src="chrome://global/content/editMenuOverlay.js"></script>
<script defer="defer" src="chrome://messenger/content/AccountManager.js"></script>
<script defer="defer" src="chrome://messenger-newsblog/content/am-newsblog.js"></script>
<script defer="defer" src="chrome://messenger-newsblog/content/newsblogOverlay.js"></script>
<script defer="defer" src="chrome://messenger/content/amUtils.js"></script>
<script defer="defer" src="chrome://messenger/content/am-prefs.js"></script>
<script>
// FIXME: move to script file.
window.addEventListener("load", event => { parent.onPanelLoaded('am-newsblog.xhtml'); });
</script>
</head>
<html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<vbox id="containerBox" flex="1">
<hbox id="am-newsblog-title" class="dialogheader">
<label class="dialogheader-title" defaultTitle="&accountTitle.label;"/>
</hbox>
<description class="secDesc">&accountSettingsDesc.label;</description>
<hbox class="input-container">
<label id="server.prettyNameLabel" value="&accountName.label;"
accesskey="&accountName.accesskey;"
control="server.prettyName"/>
<html:input id="server.prettyName" type="text"
wsm_persist="true"
class="input-inline"
aria-labelledby="server.prettyNameLabel"
onblur="serverPrettyNameOnBlur(event);"
prefstring="mail.server.%serverkey%.name"/>
</hbox>
<separator class="thin"/>
<html:div>
<html:fieldset>
<html:legend>&serverSettings.label;</html:legend>
<checkbox id="doBiff"
label="&biffAll.label;"
accesskey="&biffAll.accesskey;"
oncommand="setPrefs(this)"/>
</html:fieldset>
</html:div>
<separator class="thin"/>
<html:div>
<html:fieldset>
<html:legend>&newFeedSettings.label;</html:legend>
<hbox align="center">
<checkbox id="updateEnabled"
label="&biffStart.label;"
accesskey="&biffStart.accesskey;"
oncommand="setPrefs(this)"/>
<html:input id="updateValue" type="number" class="size3" min="1"
aria-labelledby="updateEnabled updateValue biffMinutes biffDays"
onchange="setPrefs(this)"/>
<radiogroup id="biffUnits"
orient="horizontal"
oncommand="setPrefs(this)">
<radio id="biffMinutes" value="min" label="&biffMinutes.label;"
accesskey="&biffMinutes.accesskey;"/>
<radio id="biffDays" value="d" label="&biffDays.label;"
accesskey="&biffDays.accesskey;"/>
</radiogroup>
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
>
<head>
<title>&accountTitle.label;</title>
<script
defer="defer"
src="chrome://messenger/content/globalOverlay.js"
></script>
<script
defer="defer"
src="chrome://global/content/editMenuOverlay.js"
></script>
<script
defer="defer"
src="chrome://messenger/content/AccountManager.js"
></script>
<script
defer="defer"
src="chrome://messenger-newsblog/content/am-newsblog.js"
></script>
<script
defer="defer"
src="chrome://messenger-newsblog/content/newsblogOverlay.js"
></script>
<script defer="defer" src="chrome://messenger/content/amUtils.js"></script>
<script defer="defer" src="chrome://messenger/content/am-prefs.js"></script>
<script>
// FIXME: move to script file.
window.addEventListener("load", event => {
parent.onPanelLoaded("am-newsblog.xhtml");
});
</script>
</head>
<html:body
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<vbox id="containerBox" flex="1">
<hbox id="am-newsblog-title" class="dialogheader">
<label class="dialogheader-title" defaultTitle="&accountTitle.label;" />
</hbox>
<checkbox id="server.quickMode"
wsm_persist="true"
genericattr="true"
label="&quickMode.label;"
accesskey="&quickMode.accesskey;"
preftype="bool"
prefattribute="value"
prefstring="mail.server.%serverkey%.quickMode"/>
<description class="secDesc">&accountSettingsDesc.label;</description>
<checkbox id="autotagEnable"
accesskey="&autotagEnable.accesskey;"
label="&autotagEnable.label;"
oncommand="setPrefs(this)"/>
<hbox class="input-container">
<checkbox id="autotagUsePrefix"
class="indent"
accesskey="&autotagUsePrefix.accesskey;"
label="&autotagUsePrefix.label;"
oncommand="setPrefs(this)"/>
<html:input id="autotagPrefix" type="text" class="input-inline"
aria-labelledby="autotagUsePrefix"
placeholder="&autoTagPrefix.placeholder;"
onchange="setPrefs(this)"/>
<label
id="server.prettyNameLabel"
value="&accountName.label;"
accesskey="&accountName.accesskey;"
control="server.prettyName"
/>
<html:input
id="server.prettyName"
type="text"
wsm_persist="true"
class="input-inline"
aria-labelledby="server.prettyNameLabel"
onblur="serverPrettyNameOnBlur(event);"
prefstring="mail.server.%serverkey%.name"
/>
</hbox>
</html:fieldset>
</html:div>
<separator class="thin"/>
<separator class="thin" />
<hbox pack="end">
<button label="&manageSubscriptions.label;"
accesskey="&manageSubscriptions.accesskey;"
oncommand="openSubscriptionsDialog(gAccount.incomingServer.rootFolder);"/>
</hbox>
<html:div>
<html:fieldset>
<html:legend>&serverSettings.label;</html:legend>
<checkbox
id="doBiff"
label="&biffAll.label;"
accesskey="&biffAll.accesskey;"
oncommand="setPrefs(this)"
/>
</html:fieldset>
</html:div>
<separator class="thin"/>
<separator class="thin" />
<html:div>
<html:fieldset>
<html:legend>&messageStorage.label;</html:legend>
<html:div>
<html:fieldset>
<html:legend>&newFeedSettings.label;</html:legend>
<checkbox id="server.emptyTrashOnExit"
wsm_persist="true"
label="&emptyTrashOnExit.label;"
accesskey="&emptyTrashOnExit.accesskey;"
prefattribute="value"
prefstring="mail.server.%serverkey%.empty_trash_on_exit"/>
<separator class="thin"/>
<vbox>
<hbox align="center">
<label id="server.localPathLabel" value="&localPath1.label;" control="server.localPath"/>
<hbox class="input-container" flex="1">
<html:input id="server.localPath" type="text" readonly="readonly"
class="uri-element input-inline"
aria-labelledby="server.localPathLabel"
wsm_persist="true"
datatype="nsIFile"
prefstring="mail.server.%serverkey%.directory"/>
<hbox align="center">
<checkbox
id="updateEnabled"
label="&biffStart.label;"
accesskey="&biffStart.accesskey;"
oncommand="setPrefs(this)"
/>
<html:input
id="updateValue"
type="number"
class="size3"
min="1"
aria-labelledby="updateEnabled updateValue biffMinutes biffDays"
onchange="setPrefs(this)"
/>
<radiogroup
id="biffUnits"
orient="horizontal"
oncommand="setPrefs(this)"
>
<radio
id="biffMinutes"
value="min"
label="&biffMinutes.label;"
accesskey="&biffMinutes.accesskey;"
/>
<radio
id="biffDays"
value="d"
label="&biffDays.label;"
accesskey="&biffDays.accesskey;"
/>
</radiogroup>
</hbox>
<button id="browseForLocalFolder"
label="&browseFolder.label;"
filepickertitle="&localFolderPicker.label;"
accesskey="&browseFolder.accesskey;"
oncommand="BrowseForLocalFolders();"/>
</hbox>
</vbox>
</html:fieldset>
</html:div>
</vbox>
</html:body>
<checkbox
id="server.quickMode"
wsm_persist="true"
genericattr="true"
label="&quickMode.label;"
accesskey="&quickMode.accesskey;"
preftype="bool"
prefattribute="value"
prefstring="mail.server.%serverkey%.quickMode"
/>
<checkbox
id="autotagEnable"
accesskey="&autotagEnable.accesskey;"
label="&autotagEnable.label;"
oncommand="setPrefs(this)"
/>
<hbox class="input-container">
<checkbox
id="autotagUsePrefix"
class="indent"
accesskey="&autotagUsePrefix.accesskey;"
label="&autotagUsePrefix.label;"
oncommand="setPrefs(this)"
/>
<html:input
id="autotagPrefix"
type="text"
class="input-inline"
aria-labelledby="autotagUsePrefix"
placeholder="&autoTagPrefix.placeholder;"
onchange="setPrefs(this)"
/>
</hbox>
</html:fieldset>
</html:div>
<separator class="thin" />
<hbox pack="end">
<button
label="&manageSubscriptions.label;"
accesskey="&manageSubscriptions.accesskey;"
oncommand="openSubscriptionsDialog(gAccount.incomingServer.rootFolder);"
/>
</hbox>
<separator class="thin" />
<html:div>
<html:fieldset>
<html:legend>&messageStorage.label;</html:legend>
<checkbox
id="server.emptyTrashOnExit"
wsm_persist="true"
label="&emptyTrashOnExit.label;"
accesskey="&emptyTrashOnExit.accesskey;"
prefattribute="value"
prefstring="mail.server.%serverkey%.empty_trash_on_exit"
/>
<separator class="thin" />
<vbox>
<hbox align="center">
<label
id="server.localPathLabel"
value="&localPath1.label;"
control="server.localPath"
/>
<hbox class="input-container" flex="1">
<html:input
id="server.localPath"
type="text"
readonly="readonly"
class="uri-element input-inline"
aria-labelledby="server.localPathLabel"
wsm_persist="true"
datatype="nsIFile"
prefstring="mail.server.%serverkey%.directory"
/>
</hbox>
<button
id="browseForLocalFolder"
label="&browseFolder.label;"
filepickertitle="&localFolderPicker.label;"
accesskey="&browseFolder.accesskey;"
oncommand="BrowseForLocalFolders();"
/>
</hbox>
</vbox>
</html:fieldset>
</html:div>
</vbox>
</html:body>
</html>

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

@ -13,259 +13,361 @@
<?xml-stylesheet href="chrome://messenger/skin/themeableDialog.css" type="text/css"?>
<?xml-stylesheet href="chrome://messenger/skin/contextMenu.css" type="text/css"?>
<!DOCTYPE html [
<!ENTITY % feedDTD SYSTEM "chrome://messenger-newsblog/locale/feed-subscriptions.dtd">
%feedDTD;
<!ENTITY % newsblogDTD SYSTEM "chrome://messenger-newsblog/locale/am-newsblog.dtd">
%newsblogDTD;
]>
<!DOCTYPE html [ <!ENTITY % feedDTD SYSTEM "chrome://messenger-newsblog/locale/feed-subscriptions.dtd">
%feedDTD;
<!ENTITY % newsblogDTD SYSTEM "chrome://messenger-newsblog/locale/am-newsblog.dtd">
%newsblogDTD; ]>
<html id="feedSubscriptions" xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
scrolling="false"
windowtype="Mail:News-BlogSubscriptions"
persist="width height screenX screenY sizemode"
lightweightthemes="true">
<head>
<title>&feedSubscriptions.label;</title>
<link rel="localization" href="security/certificates/certManager.ftl" />
<script defer="defer" src="chrome://messenger/content/globalOverlay.js"></script>
<script defer="defer" src="chrome://global/content/editMenuOverlay.js"></script>
<script defer="defer" src="chrome://messenger/content/specialTabs.js"></script>
<script defer="defer" src="chrome://messenger/content/dialogShadowDom.js"></script>
<script defer="defer" src="chrome://messenger-newsblog/content/feed-subscriptions.js"></script>
<script>
window.addEventListener("load", event => {
FeedSubscriptions.onLoad();
});
window.addEventListener("keypress", event => {
FeedSubscriptions.onKeyPress(event);
});
window.addEventListener("mousedown", event => {
FeedSubscriptions.onMouseDown(event);
});
</script>
</head>
<html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<dialog id="subscriptionsDialog" buttons="accept" buttonlabelaccept="&button.close.label;">
<keyset id="extensionsKeys">
<key id="key_close"
key="&cmd.close.commandKey;"
modifiers="accel"
oncommand="window.close();"/>
<key id="key_close2"
keycode="VK_ESCAPE"
oncommand="window.close();"/>
</keyset>
<html
id="feedSubscriptions"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
scrolling="false"
windowtype="Mail:News-BlogSubscriptions"
persist="width height screenX screenY sizemode"
lightweightthemes="true"
>
<head>
<title>&feedSubscriptions.label;</title>
<link rel="localization" href="security/certificates/certManager.ftl" />
<script
defer="defer"
src="chrome://messenger/content/globalOverlay.js"
></script>
<script
defer="defer"
src="chrome://global/content/editMenuOverlay.js"
></script>
<script
defer="defer"
src="chrome://messenger/content/specialTabs.js"
></script>
<script
defer="defer"
src="chrome://messenger/content/dialogShadowDom.js"
></script>
<script
defer="defer"
src="chrome://messenger-newsblog/content/feed-subscriptions.js"
></script>
<script>
window.addEventListener("load", event => {
FeedSubscriptions.onLoad();
});
window.addEventListener("keypress", event => {
FeedSubscriptions.onKeyPress(event);
});
window.addEventListener("mousedown", event => {
FeedSubscriptions.onMouseDown(event);
});
</script>
</head>
<html:body
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<dialog
id="subscriptionsDialog"
buttons="accept"
buttonlabelaccept="&button.close.label;"
>
<keyset id="extensionsKeys">
<key
id="key_close"
key="&cmd.close.commandKey;"
modifiers="accel"
oncommand="window.close();"
/>
<key id="key_close2" keycode="VK_ESCAPE" oncommand="window.close();" />
</keyset>
<stringbundle id="bundle_newsblog"
src="chrome://messenger-newsblog/locale/newsblog.properties"/>
<stringbundle id="bundle_brand"
src="chrome://branding/locale/brand.properties"/>
<stringbundle
id="bundle_newsblog"
src="chrome://messenger-newsblog/locale/newsblog.properties"
/>
<stringbundle
id="bundle_brand"
src="chrome://branding/locale/brand.properties"
/>
<vbox flex="1" id="contentPane">
<hbox pack="end">
<label is="text-link" id="learnMore"
crop="end"
value="&learnMore.label;"
href="https://support.mozilla.org/kb/how-subscribe-news-feeds-and-blogs"/>
</hbox>
<vbox flex="1" id="contentPane">
<hbox pack="end">
<label
is="text-link"
id="learnMore"
crop="end"
value="&learnMore.label;"
href="https://support.mozilla.org/kb/how-subscribe-news-feeds-and-blogs"
/>
</hbox>
<tree id="rssSubscriptionsList"
<tree
id="rssSubscriptionsList"
treelines="true"
flex="1"
hidecolumnpicker="true"
onselect="FeedSubscriptions.onSelect();"
seltype="single">
<treecols>
<treecol id="folderNameCol"
primary="true"
hideheader="true"/>
</treecols>
<treechildren id="subscriptionChildren"
ondragstart="FeedSubscriptions.onDragStart(event);"
ondragover="FeedSubscriptions.onDragOver(event);"/>
</tree>
seltype="single"
>
<treecols>
<treecol id="folderNameCol" primary="true" hideheader="true" />
</treecols>
<treechildren
id="subscriptionChildren"
ondragstart="FeedSubscriptions.onDragStart(event);"
ondragover="FeedSubscriptions.onDragOver(event);"
/>
</tree>
<hbox id="rssFeedInfoBox">
<vbox flex="1">
<hbox flex="1">
<vbox pack="end">
<hbox flex="1" align="center">
<label id="nameLabel"
accesskey="&feedTitle.accesskey;"
control="nameValue"
value="&feedTitle.label;"/>
</hbox>
<hbox flex="1" align="center">
<label id="locationLabel"
accesskey="&feedLocation.accesskey;"
control="locationValue"
value="&feedLocation.label;"/>
</hbox>
<hbox flex="1" align="center">
<label id="feedFolderLabel"
value="&feedFolder.label;"
accesskey="&feedFolder.accesskey;"
control="selectFolder"/>
</hbox>
</vbox>
<hbox id="rssFeedInfoBox">
<vbox flex="1">
<html:input id="nameValue" type="text" class="input-inline"
aria-labelledby="nameLabel"
onchange="FeedSubscriptions.setPrefs(this);"/>
<hbox class="input-container">
<html:input id="locationValue" type="url"
class="uri-element input-inline"
aria-labelledby="locationLabel"
placeholder="&feedLocation2.placeholder;"
onchange="FeedSubscriptions.setPrefs(this);"
onfocus="FeedSubscriptions.onFocusChange();"
onblur="FeedSubscriptions.onFocusChange();"/>
<hbox align="center">
<label is="text-link" id="locationValidate"
collapsed="true"
crop="end"
value="&locationValidate.label;"
onclick="FeedSubscriptions.checkValidation(event);"/>
<hbox flex="1">
<vbox pack="end">
<hbox flex="1" align="center">
<label
id="nameLabel"
accesskey="&feedTitle.accesskey;"
control="nameValue"
value="&feedTitle.label;"
/>
</hbox>
<hbox flex="1" align="center">
<label
id="locationLabel"
accesskey="&feedLocation.accesskey;"
control="locationValue"
value="&feedLocation.label;"
/>
</hbox>
<hbox flex="1" align="center">
<label
id="feedFolderLabel"
value="&feedFolder.label;"
accesskey="&feedFolder.accesskey;"
control="selectFolder"
/>
</hbox>
</vbox>
<vbox flex="1">
<html:input
id="nameValue"
type="text"
class="input-inline"
aria-labelledby="nameLabel"
onchange="FeedSubscriptions.setPrefs(this);"
/>
<hbox class="input-container">
<html:input
id="locationValue"
type="url"
class="uri-element input-inline"
aria-labelledby="locationLabel"
placeholder="&feedLocation2.placeholder;"
onchange="FeedSubscriptions.setPrefs(this);"
onfocus="FeedSubscriptions.onFocusChange();"
onblur="FeedSubscriptions.onFocusChange();"
/>
<hbox align="center">
<label
is="text-link"
id="locationValidate"
collapsed="true"
crop="end"
value="&locationValidate.label;"
onclick="FeedSubscriptions.checkValidation(event);"
/>
</hbox>
</hbox>
<hbox class="input-container">
<menulist
id="selectFolder"
flex="1"
class="folderMenuItem"
hidden="true"
>
<menupopup
is="folder-menupopup"
id="selectFolderPopup"
class="menulist-menupopup"
mode="feeds"
showFileHereLabel="true"
showAccountsFileHere="true"
oncommand="FeedSubscriptions.setNewFolder(event);"
/>
</menulist>
<html:input
id="selectFolderValue"
class="input-inline"
readonly="readonly"
aria-labelledby="feedFolderLabel"
onkeypress="FeedSubscriptions.onClickSelectFolderValue(event);"
onclick="FeedSubscriptions.onClickSelectFolderValue(event);"
/>
</hbox>
</vbox>
</hbox>
<hbox align="center">
<checkbox
id="updateEnabled"
label="&biffStart.label;"
accesskey="&biffStart.accesskey;"
oncommand="FeedSubscriptions.setPrefs(this);"
/>
<html:input
id="updateValue"
type="number"
class="size3 input-inline"
min="1"
aria-labelledby="updateEnabled updateValue biffMinutes biffDays recommendedUnits recommendedUnitsVal"
oninput="FeedSubscriptions.setPrefs(this);"
onchange="FeedSubscriptions.setPrefs(this);"
/>
<radiogroup
id="biffUnits"
orient="horizontal"
oncommand="FeedSubscriptions.setPrefs(this);"
>
<radio
id="biffMinutes"
value="min"
label="&biffMinutes.label;"
accesskey="&biffMinutes.accesskey;"
/>
<radio
id="biffDays"
value="d"
label="&biffDays.label;"
accesskey="&biffDays.accesskey;"
/>
</radiogroup>
<hbox id="recommendedBox">
<label
id="recommendedUnits"
value="&recommendedUnits.label;"
hidden="true"
control="updateMinutes"
/>
<label
id="recommendedUnitsVal"
value=""
hidden="true"
control="updateMinutes"
/>
</hbox>
</hbox>
<checkbox
id="quickMode"
accesskey="&quickMode.accesskey;"
label="&quickMode.label;"
oncommand="FeedSubscriptions.setSummary(this.checked);"
/>
<checkbox
id="autotagEnable"
accesskey="&autotagEnable.accesskey;"
label="&autotagEnable.label;"
oncommand="FeedSubscriptions.setPrefs(this);"
/>
<hbox class="input-container">
<menulist id="selectFolder"
flex="1"
class="folderMenuItem"
hidden="true">
<menupopup is="folder-menupopup" id="selectFolderPopup"
class="menulist-menupopup"
mode="feeds"
showFileHereLabel="true"
showAccountsFileHere="true"
oncommand="FeedSubscriptions.setNewFolder(event);"/>
</menulist>
<html:input id="selectFolderValue" class="input-inline"
readonly="readonly"
aria-labelledby="feedFolderLabel"
onkeypress="FeedSubscriptions.onClickSelectFolderValue(event);"
onclick="FeedSubscriptions.onClickSelectFolderValue(event);"/>
<checkbox
id="autotagUsePrefix"
class="indent"
accesskey="&autotagUsePrefix.accesskey;"
label="&autotagUsePrefix.label;"
oncommand="FeedSubscriptions.setPrefs(this);"
/>
<html:input
id="autotagPrefix"
type="text"
class="input-inline"
placeholder="&autoTagPrefix.placeholder;"
onchange="FeedSubscriptions.setPrefs(this);"
/>
</hbox>
<separator class="thin" />
</vbox>
</hbox>
<hbox align="center">
<checkbox id="updateEnabled"
label="&biffStart.label;"
accesskey="&biffStart.accesskey;"
oncommand="FeedSubscriptions.setPrefs(this);"/>
<html:input id="updateValue" type="number" class="size3 input-inline" min="1"
aria-labelledby="updateEnabled updateValue biffMinutes biffDays recommendedUnits recommendedUnitsVal"
oninput="FeedSubscriptions.setPrefs(this);"
onchange="FeedSubscriptions.setPrefs(this);"/>
<radiogroup id="biffUnits"
orient="horizontal"
oncommand="FeedSubscriptions.setPrefs(this);">
<radio id="biffMinutes" value="min" label="&biffMinutes.label;"
accesskey="&biffMinutes.accesskey;"/>
<radio id="biffDays" value="d" label="&biffDays.label;"
accesskey="&biffDays.accesskey;"/>
</radiogroup>
<hbox id="recommendedBox">
<label id="recommendedUnits"
value="&recommendedUnits.label;"
hidden="true"
control="updateMinutes"/>
<label id="recommendedUnitsVal"
value=""
hidden="true"
control="updateMinutes"/>
<hbox id="statusContainerBox" align="center">
<vbox flex="1">
<description id="statusText" />
</vbox>
<spacer flex="1" />
<label
id="validationText"
collapsed="true"
class="text-link"
crop="end"
value="&validateText.label;"
onclick="FeedSubscriptions.checkValidation(event);"
/>
<button
id="addCertException"
collapsed="true"
data-l10n-id="certmgr-add-exception"
oncommand="FeedSubscriptions.addCertExceptionDialog();"
/>
<html:progress
id="progressMeter"
hidden="hidden"
value="0"
max="100"
/>
</hbox>
<hbox align="end">
<hbox class="actionButtons" flex="1">
<button
id="addFeed"
hidden="true"
disabled="true"
label="&button.addFeed.label;"
accesskey="&button.addFeed.accesskey;"
oncommand="FeedSubscriptions.addFeed();"
/>
<button
id="updateFeed"
hidden="true"
disabled="true"
label="&button.verifyFeed.label;"
accesskey="&button.verifyFeed.accesskey;"
verifylabel="&button.verifyFeed.label;"
verifyaccesskey="&button.verifyFeed.accesskey;"
updatelabel="&button.updateFeed.label;"
updateaccesskey="&button.updateFeed.accesskey;"
oncommand="FeedSubscriptions.updateFeed();"
/>
<button
id="removeFeed"
hidden="true"
label="&button.removeFeed.label;"
accesskey="&button.removeFeed.accesskey;"
oncommand="FeedSubscriptions.removeFeed(true);"
/>
<spacer flex="1" />
<button
id="importOPML"
hidden="true"
label="&button.importOPML.label;"
accesskey="&button.importOPML.accesskey;"
oncommand="FeedSubscriptions.importOPML();"
/>
<button
id="exportOPML"
hidden="true"
label="&button.exportOPML.label;"
accesskey="&button.exportOPML.accesskey;"
tooltiptext="&button.exportOPML.tooltip;"
oncommand="FeedSubscriptions.exportOPML(event);"
/>
</hbox>
</hbox>
<checkbox id="quickMode"
accesskey="&quickMode.accesskey;"
label="&quickMode.label;"
oncommand="FeedSubscriptions.setSummary(this.checked);"/>
<checkbox id="autotagEnable"
accesskey="&autotagEnable.accesskey;"
label="&autotagEnable.label;"
oncommand="FeedSubscriptions.setPrefs(this);"/>
<hbox class="input-container">
<checkbox id="autotagUsePrefix"
class="indent"
accesskey="&autotagUsePrefix.accesskey;"
label="&autotagUsePrefix.label;"
oncommand="FeedSubscriptions.setPrefs(this);"/>
<html:input id="autotagPrefix" type="text" class="input-inline"
placeholder="&autoTagPrefix.placeholder;"
onchange="FeedSubscriptions.setPrefs(this);"/>
</hbox>
<separator class="thin"/>
</vbox>
</hbox>
<hbox id="statusContainerBox" align="center">
<vbox flex="1">
<description id="statusText"/>
</vbox>
<spacer flex="1"/>
<label id="validationText"
collapsed="true"
class="text-link"
crop="end"
value="&validateText.label;"
onclick="FeedSubscriptions.checkValidation(event);"/>
<button id="addCertException"
collapsed="true"
data-l10n-id="certmgr-add-exception"
oncommand="FeedSubscriptions.addCertExceptionDialog();"/>
<html:progress id="progressMeter"
hidden="hidden"
value="0"
max="100"/>
</hbox>
<hbox align="end">
<hbox class="actionButtons" flex="1">
<button id="addFeed"
hidden="true"
disabled="true"
label="&button.addFeed.label;"
accesskey="&button.addFeed.accesskey;"
oncommand="FeedSubscriptions.addFeed();"/>
<button id="updateFeed"
hidden="true"
disabled="true"
label="&button.verifyFeed.label;"
accesskey="&button.verifyFeed.accesskey;"
verifylabel="&button.verifyFeed.label;"
verifyaccesskey="&button.verifyFeed.accesskey;"
updatelabel="&button.updateFeed.label;"
updateaccesskey="&button.updateFeed.accesskey;"
oncommand="FeedSubscriptions.updateFeed();"/>
<button id="removeFeed"
hidden="true"
label="&button.removeFeed.label;"
accesskey="&button.removeFeed.accesskey;"
oncommand="FeedSubscriptions.removeFeed(true);"/>
<spacer flex="1"/>
<button id="importOPML"
hidden="true"
label="&button.importOPML.label;"
accesskey="&button.importOPML.accesskey;"
oncommand="FeedSubscriptions.importOPML();"/>
<button id="exportOPML"
hidden="true"
label="&button.exportOPML.label;"
accesskey="&button.exportOPML.accesskey;"
tooltiptext="&button.exportOPML.tooltip;"
oncommand="FeedSubscriptions.exportOPML(event);"/>
</hbox>
</hbox>
</vbox>
</dialog>
</html:body>
</dialog>
</html:body>
</html>

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

@ -8,69 +8,88 @@
<?xml-stylesheet href="chrome://messenger/skin/colors.css" type="text/css"?>
<?xml-stylesheet href="chrome://messenger/skin/themeableDialog.css" type="text/css"?>
<!DOCTYPE html [
<!ENTITY % accountDTD SYSTEM "chrome://messenger/locale/AccountWizard.dtd">
%accountDTD;
<!ENTITY % newsblogDTD SYSTEM "chrome://messenger-newsblog/locale/am-newsblog.dtd" >
%newsblogDTD;
<!ENTITY % imDTD SYSTEM "chrome://messenger/locale/imAccountWizard.dtd" >
%imDTD;
]>
<!DOCTYPE html [ <!ENTITY % accountDTD SYSTEM "chrome://messenger/locale/AccountWizard.dtd">
%accountDTD;
<!ENTITY % newsblogDTD SYSTEM "chrome://messenger-newsblog/locale/am-newsblog.dtd" >
%newsblogDTD;
<!ENTITY % imDTD SYSTEM "chrome://messenger/locale/imAccountWizard.dtd" >
%imDTD; ]>
<html id="FeedAccountWizard" xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
lightweightthemes="true"
scrolling="false">
<head>
<title>&feedWindowTitle.label;</title>
<link rel="localization" href="toolkit/global/wizard.ftl" />
<script defer="defer" src="chrome://messenger/content/globalOverlay.js"></script>
<script defer="defer" src="chrome://global/content/editMenuOverlay.js"></script>
<script defer="defer" src="chrome://messenger-newsblog/content/feedAccountWizard.js"></script>
</head>
<html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<wizard>
<!-- Account setup page : User gets a choice to enter a name for the account -->
<!-- Defaults : Feed account name -> default string -->
<wizardpage id="accountsetuppage"
pageid="accountsetuppage"
label="&accnameTitle.label;">
<vbox flex="1">
<description>&accnameDesc.label;</description>
<separator class="thin"/>
<hbox align="center" class="input-container">
<label id="prettyNameLabel" class="label"
value="&accnameLabel.label;"
accesskey="&accnameLabel.accesskey;"
control="prettyName"/>
<html:input id="prettyName" type="text" class="input-inline"
value="&feeds.accountName;"
aria-labelledby="prettyNameLabel"
oninput="FeedAccountWizard.accountSetupPageValidate();"/>
</hbox>
</vbox>
</wizardpage>
<html
id="FeedAccountWizard"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
lightweightthemes="true"
scrolling="false"
>
<head>
<title>&feedWindowTitle.label;</title>
<link rel="localization" href="toolkit/global/wizard.ftl" />
<script
defer="defer"
src="chrome://messenger/content/globalOverlay.js"
></script>
<script
defer="defer"
src="chrome://global/content/editMenuOverlay.js"
></script>
<script
defer="defer"
src="chrome://messenger-newsblog/content/feedAccountWizard.js"
></script>
</head>
<html:body
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<wizard>
<!-- Account setup page : User gets a choice to enter a name for the account -->
<!-- Defaults : Feed account name -> default string -->
<wizardpage
id="accountsetuppage"
pageid="accountsetuppage"
label="&accnameTitle.label;"
>
<vbox flex="1">
<description>&accnameDesc.label;</description>
<separator class="thin" />
<hbox align="center" class="input-container">
<label
id="prettyNameLabel"
class="label"
value="&accnameLabel.label;"
accesskey="&accnameLabel.accesskey;"
control="prettyName"
/>
<html:input
id="prettyName"
type="text"
class="input-inline"
value="&feeds.accountName;"
aria-labelledby="prettyNameLabel"
oninput="FeedAccountWizard.accountSetupPageValidate();"
/>
</hbox>
</vbox>
</wizardpage>
<!-- Done page : Summarizes information collected to create a feed account -->
<wizardpage id="done"
pageid="done"
label="&accountSummaryTitle.label;">
<vbox flex="1">
<description>&accountSummaryInfo.label;</description>
<separator class="thin"/>
<hbox id="account.name"
align="center">
<label id="account.name.label"
class="label"
value="&accnameLabel.label;"/>
<label id="account.name.text"
class="label"/>
</hbox>
<separator/>
<spacer flex="1"/>
</vbox>
</wizardpage>
</wizard>
</html:body>
<!-- Done page : Summarizes information collected to create a feed account -->
<wizardpage id="done" pageid="done" label="&accountSummaryTitle.label;">
<vbox flex="1">
<description>&accountSummaryInfo.label;</description>
<separator class="thin" />
<hbox id="account.name" align="center">
<label
id="account.name.label"
class="label"
value="&accnameLabel.label;"
/>
<label id="account.name.text" class="label" />
</hbox>
<separator />
<spacer flex="1" />
</vbox>
</wizardpage>
</wizard>
</html:body>
</html>

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

@ -8,21 +8,33 @@
<!DOCTYPE html SYSTEM "chrome://messenger-smime/locale/certFetchingStatus.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
scrolling="false">
<head>
<title>&title.label;</title>
<script defer="defer" src="chrome://messenger-smime/content/certFetchingStatus.js"></script>
</head>
<html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<dialog id="certFetchingStatus"
buttons="cancel"
buttonlabelcancel="&stop.label;">
<stringbundle id="bundle_ldap" src="chrome://mozldap/locale/ldap.properties"/>
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
scrolling="false"
>
<head>
<title>&title.label;</title>
<script
defer="defer"
src="chrome://messenger-smime/content/certFetchingStatus.js"
></script>
</head>
<html:body
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<dialog
id="certFetchingStatus"
buttons="cancel"
buttonlabelcancel="&stop.label;"
>
<stringbundle
id="bundle_ldap"
src="chrome://mozldap/locale/ldap.properties"
/>
<description>&info.message;</description>
</dialog>
</html:body>
<description>&info.message;</description>
</dialog>
</html:body>
</html>

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

@ -5,35 +5,50 @@
<?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?>
<!DOCTYPE html [
<!ENTITY % amE2EDTD SYSTEM "chrome://messenger/locale/am-smime.dtd" >
%amE2EDTD;
]>
<!DOCTYPE html [ <!ENTITY % amE2EDTD SYSTEM "chrome://messenger/locale/am-smime.dtd">
%amE2EDTD; ]>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
scrolling="false">
<head>
<title>&certPicker.title;</title>
<script defer="defer" src="chrome://messenger/content/globalOverlay.js"></script>
<script defer="defer" src="chrome://global/content/editMenuOverlay.js"></script>
<script defer="defer" src="chrome://messenger/content/certpicker.js"></script>
</head>
<html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<dialog id="certPicker" buttons="accept,cancel">
<hbox align="center">
<label id="pickerInfo" value="&certPicker.info;"/>
<!-- The items in this menulist must never be sorted,
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
scrolling="false"
>
<head>
<title>&certPicker.title;</title>
<script
defer="defer"
src="chrome://messenger/content/globalOverlay.js"
></script>
<script
defer="defer"
src="chrome://global/content/editMenuOverlay.js"
></script>
<script
defer="defer"
src="chrome://messenger/content/certpicker.js"
></script>
</head>
<html:body
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<dialog id="certPicker" buttons="accept,cancel">
<hbox align="center">
<label id="pickerInfo" value="&certPicker.info;" />
<!-- The items in this menulist must never be sorted,
but remain in the order filled by the application
-->
<menulist id="nicknames" oncommand="onCertSelected();">
<menupopup/>
</menulist>
</hbox>
<separator class="thin"/>
<label value="&certPicker.detailsLabel;"/>
<html:textarea id="details" readonly="readonly" style="height:12em;"></html:textarea>
</dialog>
</html:body>
<menulist id="nicknames" oncommand="onCertSelected();">
<menupopup />
</menulist>
</hbox>
<separator class="thin" />
<label value="&certPicker.detailsLabel;" />
<html:textarea
id="details"
readonly="readonly"
style="height: 12em"
></html:textarea>
</dialog>
</html:body>
</html>

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

@ -10,40 +10,60 @@
<?xml-stylesheet href="chrome://messenger/skin/themeableDialog.css" type="text/css"?>
<!DOCTYPE html SYSTEM "chrome://messenger-smime/locale/msgCompSecurityInfo.dtd">
<html id="msgCompSecurityInfo" xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
lightweightthemes="true"
scrolling="false">
<head>
<title>&title.label;</title>
<link rel="localization" href="branding/brand.ftl" />
<script defer="defer" src="chrome://messenger/content/dialogShadowDom.js"></script>
<script defer="defer" src="chrome://messenger-smime/content/msgCompSecurityInfo.js"></script>
</head>
<html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<dialog buttons="accept">
<stringbundle id="bundle_smime_comp_info" src="chrome://messenger-smime/locale/msgCompSecurityInfo.properties"/>
<html
id="msgCompSecurityInfo"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
lightweightthemes="true"
scrolling="false"
>
<head>
<title>&title.label;</title>
<link rel="localization" href="branding/brand.ftl" />
<script
defer="defer"
src="chrome://messenger/content/dialogShadowDom.js"
></script>
<script
defer="defer"
src="chrome://messenger-smime/content/msgCompSecurityInfo.js"
></script>
</head>
<html:body
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<dialog buttons="accept">
<stringbundle
id="bundle_smime_comp_info"
src="chrome://messenger-smime/locale/msgCompSecurityInfo.properties"
/>
<separator class="thin"/>
<label value="&status.certificates;" control="infolist"/>
<separator class="thin" />
<label value="&status.certificates;" control="infolist" />
<richlistbox id="infolist"
class="theme-listbox"
flex="1"
onselect="onSelectionChange(event);">
<treecols>
<treecol id="recipientHeader" label="&tree.recipient;"/>
<treecol id="statusHeader" label="&tree.status;"/>
<treecol id="issuedDateHeader" label="&tree.issuedDate;"/>
<treecol id="expiresDateHeader" label="&tree.expiresDate;"/>
</treecols>
</richlistbox>
<hbox pack="start">
<button id="viewCertButton" disabled="true"
label="&view.label;" accesskey="&view.accesskey;"
oncommand="viewSelectedCert();"/>
</hbox>
</dialog>
</html:body>
<richlistbox
id="infolist"
class="theme-listbox"
flex="1"
onselect="onSelectionChange(event);"
>
<treecols>
<treecol id="recipientHeader" label="&tree.recipient;" />
<treecol id="statusHeader" label="&tree.status;" />
<treecol id="issuedDateHeader" label="&tree.issuedDate;" />
<treecol id="expiresDateHeader" label="&tree.expiresDate;" />
</treecols>
</richlistbox>
<hbox pack="start">
<button
id="viewCertButton"
disabled="true"
label="&view.label;"
accesskey="&view.accesskey;"
oncommand="viewSelectedCert();"
/>
</hbox>
</dialog>
</html:body>
</html>

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

@ -9,66 +9,96 @@
<!DOCTYPE html SYSTEM "chrome://messenger/locale/fieldMapImport.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
lightweightthemes="true"
width="640" height="480"
scrolling="false">
<head>
<link rel="localization" href="messenger/addressbook/fieldMapImport.ftl" />
<title data-l10n-id="import-ab-csv-dialog-title"></title>
<script defer="defer" src="chrome://messenger/content/fieldMapImport.js"></script>
<script defer="defer" src="chrome://messenger/content/dialogShadowDom.js"></script>
</head>
<html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<dialog buttons="accept,cancel"
data-l10n-id="import-ab-csv-dialog"
data-l10n-attrs="buttonlabelaccept,buttonaccesskeyaccept">
<hbox align="center">
<label id="labelRecordNumber"/>
<spacer flex="1"/>
<button id="previous" oncommand="nextPreviousOnCommand(event);"
label="&fieldMapImport.previous.label;"
accesskey="&fieldMapImport.previous.accesskey;"/>
<button id="next" oncommand="nextPreviousOnCommand(event);"
label="&fieldMapImport.next.label;"
accesskey="&fieldMapImport.next.accesskey;"/>
</hbox>
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
lightweightthemes="true"
width="640"
height="480"
scrolling="false"
>
<head>
<link rel="localization" href="messenger/addressbook/fieldMapImport.ftl" />
<title data-l10n-id="import-ab-csv-dialog-title"></title>
<script
defer="defer"
src="chrome://messenger/content/fieldMapImport.js"
></script>
<script
defer="defer"
src="chrome://messenger/content/dialogShadowDom.js"
></script>
</head>
<html:body
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<dialog
buttons="accept,cancel"
data-l10n-id="import-ab-csv-dialog"
data-l10n-attrs="buttonlabelaccept,buttonaccesskeyaccept"
>
<hbox align="center">
<label id="labelRecordNumber" />
<spacer flex="1" />
<button
id="previous"
oncommand="nextPreviousOnCommand(event);"
label="&fieldMapImport.previous.label;"
accesskey="&fieldMapImport.previous.accesskey;"
/>
<button
id="next"
oncommand="nextPreviousOnCommand(event);"
label="&fieldMapImport.next.label;"
accesskey="&fieldMapImport.next.accesskey;"
/>
</hbox>
<hbox align="center">
<checkbox id="skipFirstRecord"
label="&fieldMapImport.skipFirstRecord.label;"
accesskey="&fieldMapImport.skipFirstRecord.accessKey;"/>
</hbox>
<hbox align="center">
<checkbox
id="skipFirstRecord"
label="&fieldMapImport.skipFirstRecord.label;"
accesskey="&fieldMapImport.skipFirstRecord.accessKey;"
/>
</hbox>
<separator class="thin"/>
<label control="fieldList">&fieldMapImport.text;</label>
<separator class="thin"/>
<separator class="thin" />
<label control="fieldList">&fieldMapImport.text;</label>
<separator class="thin" />
<!-- field list -->
<hbox flex="1">
<richlistbox id="fieldList"
flex="1"
onselect="disableMoveButtons();">
<treecols>
<treecol id="checkedHeader"/>
<treecol id="fieldNameHeader" label="&fieldMapImport.fieldListTitle;"/>
<treecol id="sampleDataHeader" label="&fieldMapImport.dataTitle;"/>
</treecols>
</richlistbox>
<!-- field list -->
<hbox flex="1">
<richlistbox id="fieldList" flex="1" onselect="disableMoveButtons();">
<treecols>
<treecol id="checkedHeader" />
<treecol
id="fieldNameHeader"
label="&fieldMapImport.fieldListTitle;"
/>
<treecol id="sampleDataHeader" label="&fieldMapImport.dataTitle;" />
</treecols>
</richlistbox>
<vbox>
<spacer flex="1"/>
<button id="upButton" class="up" label="&fieldMapImport.up.label;"
accesskey="&fieldMapImport.up.accesskey;"
oncommand="moveItem(true);"/>
<button id="downButton" class="down" label="&fieldMapImport.down.label;"
accesskey="&fieldMapImport.down.accesskey;"
oncommand="moveItem(false);"/>
<spacer flex="1"/>
</vbox>
</hbox>
</dialog>
</html:body>
<vbox>
<spacer flex="1" />
<button
id="upButton"
class="up"
label="&fieldMapImport.up.label;"
accesskey="&fieldMapImport.up.accesskey;"
oncommand="moveItem(true);"
/>
<button
id="downButton"
class="down"
label="&fieldMapImport.down.label;"
accesskey="&fieldMapImport.down.accesskey;"
oncommand="moveItem(false);"
/>
<spacer flex="1" />
</vbox>
</hbox>
</dialog>
</html:body>
</html>

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

@ -8,140 +8,218 @@
<?xml-stylesheet href="chrome://messenger/skin/colors.css" type="text/css"?>
<?xml-stylesheet href="chrome://messenger/skin/themeableDialog.css" type="text/css"?>
<!DOCTYPE html [
<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd" >
<!DOCTYPE html [ <!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
%brandDTD;
<!ENTITY % importDTD SYSTEM "chrome://messenger/locale/importDialog.dtd" >
%importDTD;
]>
%importDTD; ]>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
lightweightthemes="true"
width="720" height="520"
scrolling="false">
<head>
<title>&importDialog.windowTitle;</title>
<script defer="defer" src="chrome://messenger/content/globalOverlay.js"></script>
<script defer="defer" src="chrome://global/content/editMenuOverlay.js"></script>
<script defer="defer" src="chrome://messenger-newsblog/content/feed-subscriptions.js"></script>
<script defer="defer" src="chrome://messenger/content/importDialog.js"></script>
</head>
<html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
lightweightthemes="true"
width="720"
height="520"
scrolling="false"
>
<head>
<title>&importDialog.windowTitle;</title>
<script
defer="defer"
src="chrome://messenger/content/globalOverlay.js"
></script>
<script
defer="defer"
src="chrome://global/content/editMenuOverlay.js"
></script>
<script
defer="defer"
src="chrome://messenger-newsblog/content/feed-subscriptions.js"
></script>
<script
defer="defer"
src="chrome://messenger/content/importDialog.js"
></script>
</head>
<html:body
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<stringbundle
id="bundle_importMsgs"
src="chrome://messenger/locale/importMsgs.properties"
/>
<stringbundle
id="bundle_addressbook"
src="chrome://messenger/locale/addressbook/addressBook.properties"
/>
<stringbundle
id="bundle_morkImportMsgs"
src="chrome://messenger/locale/morkImportMsgs.properties"
/>
<stringbundle
id="bundle_vcardImportMsgs"
src="chrome://messenger/locale/vCardImportMsgs.properties"
/>
<stringbundle
id="bundle_feeds"
src="chrome://messenger-newsblog/locale/newsblog.properties"
/>
<stringbundle id="bundle_importMsgs" src="chrome://messenger/locale/importMsgs.properties"/>
<stringbundle id="bundle_addressbook" src="chrome://messenger/locale/addressbook/addressBook.properties"/>
<stringbundle id="bundle_morkImportMsgs" src="chrome://messenger/locale/morkImportMsgs.properties"/>
<stringbundle id="bundle_vcardImportMsgs" src="chrome://messenger/locale/vCardImportMsgs.properties"/>
<stringbundle id="bundle_feeds" src="chrome://messenger-newsblog/locale/newsblog.properties"/>
<hbox
class="box-header"
id="header"
title="&importTitle.label;"
description="&importShortDesc.label;"
/>
<hbox class="box-header" id="header"
title="&importTitle.label;"
description="&importShortDesc.label;"/>
<vbox id="stateBox" flex="1" style="min-height: 30em">
<vbox class="wizard-box">
<description>&importDescription1.label;</description>
<description>&importDescription2.label;</description>
<separator/>
<radiogroup id="importFields">
<radio id="allRadio"
value="all"
label="&importAll.label;"
accesskey="&importAll.accesskey;"/>
<separator/>
<label control="importFields">&select.label;</label>
<separator class="thin"/>
<vbox class="indent">
<radio id="addressbookRadio"
value="addressbook"
label="&importAddressbook.label;"
accesskey="&importAddressbook.accesskey;"/>
<radio id="mailRadio"
value="mail"
label="&importMail.label;"
accesskey="&importMail.accesskey;"/>
<radio id="feedsRadio"
value="feeds"
label="&importFeeds.label;"
accesskey="&importFeeds.accesskey;"/>
<radio id="settingsRadio"
value="settings"
label="&importSettings.label;"
accesskey="&importSettings.accesskey;"/>
<radio id="filtersRadio"
value="filters"
label="&importFilters.label;"
accesskey="&importFilters.accesskey;"/>
</vbox>
</radiogroup>
</vbox>
<vbox class="wizard-box" hidden="true">
<vbox>
<vbox id="moduleBox">
<vbox>
<label id="fileLabel"
control="moduleList"
value="&selectDescription.label;"
accesskey="&selectDescription.accesskey;"/>
<label id="accountLabel"
control="moduleList"
value="&selectDescriptionB.label;"
accesskey="&selectDescription.accesskey;"
hidden="true"/>
<vbox id="stateBox" flex="1" style="min-height: 30em">
<vbox class="wizard-box">
<description>&importDescription1.label;</description>
<description>&importDescription2.label;</description>
<separator />
<radiogroup id="importFields">
<radio
id="allRadio"
value="all"
label="&importAll.label;"
accesskey="&importAll.accesskey;"
/>
<separator />
<label control="importFields">&select.label;</label>
<separator class="thin" />
<vbox class="indent">
<radio
id="addressbookRadio"
value="addressbook"
label="&importAddressbook.label;"
accesskey="&importAddressbook.accesskey;"
/>
<radio
id="mailRadio"
value="mail"
label="&importMail.label;"
accesskey="&importMail.accesskey;"
/>
<radio
id="feedsRadio"
value="feeds"
label="&importFeeds.label;"
accesskey="&importFeeds.accesskey;"
/>
<radio
id="settingsRadio"
value="settings"
label="&importSettings.label;"
accesskey="&importSettings.accesskey;"
/>
<radio
id="filtersRadio"
value="filters"
label="&importFilters.label;"
accesskey="&importFilters.accesskey;"
/>
</vbox>
<richlistbox id="moduleList"
height="200px"
onselect="ImportSelectionChanged(); enableAdvance();"/>
</vbox>
<label id="noModuleLabel" hidden="true">&noModulesFound.label;</label>
</radiogroup>
</vbox>
<vbox>
<hbox flex="1">
<description flex="1" control="moduleList" id="description" class="box-padded"/>
</hbox>
<hbox id="acctName-box" flex="1" class="input-container" style="visibility: hidden;">
<label control="acctName" class="box-padded"
accesskey="&acctName.accesskey;"
value="&acctName.label;"/>
<html:input id="acctName" type="text" class="input-inline"
aria-labelledby="acctName"/>
<vbox class="wizard-box" hidden="true">
<vbox>
<vbox id="moduleBox">
<vbox>
<label
id="fileLabel"
control="moduleList"
value="&selectDescription.label;"
accesskey="&selectDescription.accesskey;"
/>
<label
id="accountLabel"
control="moduleList"
value="&selectDescriptionB.label;"
accesskey="&selectDescription.accesskey;"
hidden="true"
/>
</vbox>
<richlistbox
id="moduleList"
height="200px"
onselect="ImportSelectionChanged(); enableAdvance();"
/>
</vbox>
<label id="noModuleLabel" hidden="true">&noModulesFound.label;</label>
</vbox>
<vbox>
<hbox flex="1">
<description
flex="1"
control="moduleList"
id="description"
class="box-padded"
/>
</hbox>
<hbox
id="acctName-box"
flex="1"
class="input-container"
style="visibility: hidden"
>
<label
control="acctName"
class="box-padded"
accesskey="&acctName.accesskey;"
value="&acctName.label;"
/>
<html:input
id="acctName"
type="text"
class="input-inline"
aria-labelledby="acctName"
/>
</hbox>
</vbox>
</vbox>
<vbox class="wizard-box" hidden="true">
<spacer flex="1" />
<html:fieldset>
<label id="progressTitle" class="header">&title.label;</label>
<label
class="indent"
id="progressStatus"
value="&processing.label;"
/>
<vbox class="box-padded">
<html:progress id="progressMeter" value="5" max="100" />
</vbox>
</html:fieldset>
</vbox>
<vbox class="wizard-box" flex="1" hidden="true">
<description id="status" />
<hbox style="overflow: auto" class="inset" flex="1">
<description id="results" flex="1" />
</hbox>
</vbox>
</vbox>
<vbox class="wizard-box" hidden="true">
<spacer flex="1"/>
<html:fieldset>
<label id="progressTitle" class="header">&title.label;</label>
<label class="indent" id="progressStatus" value="&processing.label;"/>
<vbox class="box-padded">
<html:progress id="progressMeter" value="5" max="100"/>
</vbox>
</html:fieldset>
</vbox>
<vbox class="wizard-box" flex="1" hidden="true">
<description id="status"/>
<hbox style="overflow: auto" class="inset" flex="1">
<description id="results" flex="1"/>
</hbox>
</vbox>
</vbox>
<separator/>
<separator />
<separator class="groove"/>
<separator class="groove" />
<hbox class="box-padded">
<spacer flex="1"/>
<button id="back" label="&back.label;" disabled="true"
oncommand="back();"/>
<button id="forward" label="&forward.label;" nextval="&forward.label;" finishedval="&finish.label;"
oncommand="next();"/>
<separator orient="vertical"/>
<button id="cancel" label="&cancel.label;"
oncommand="window.close();"/>
</hbox>
</html:body>
<hbox class="box-padded">
<spacer flex="1" />
<button
id="back"
label="&back.label;"
disabled="true"
oncommand="back();"
/>
<button
id="forward"
label="&forward.label;"
nextval="&forward.label;"
finishedval="&finish.label;"
oncommand="next();"
/>
<separator orient="vertical" />
<button id="cancel" label="&cancel.label;" oncommand="window.close();" />
</hbox>
</html:body>
</html>

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

@ -6,38 +6,50 @@
</head>
<body>
<h1>Overview</h1>
<p>JsAccount is a technology that allows message account types to be created
<p>
JsAccount is a technology that allows message account types to be created
in Mozilla Mailnews code using JavaScript. Although this is primarily
targeted at allowing extensions to create new accounts, it might also be
useful as a bridge to convert existing account types from being C++ based
to JavaScript based.</p>
to JavaScript based.
</p>
<h2>Existing C++-based architecture of mailnews accounts</h2>
<p>In mailnews code, an account type is a set of classes that allow
<p>
In mailnews code, an account type is a set of classes that allow
implementation of a messaging particular protocol. The account type is
given a short string identifier ("imap", "news", "pop3") and is then used
to create objects of the appropriate type by appending that string to the
end of a base XPCOM contractID. So, for example, to create an imap server,
you generate a contractID using a base ID,
"@mozilla.org/messenger/server;1?type=", then append "imap" to get:</p>
"@mozilla.org/messenger/server;1?type=", then append "imap" to get:
</p>
<p>@mozilla.org/messenger/server;1?type=imap</p>
<p>In the C++ code, there is a base object implementing shared
functionality. An account-specific class inherits that base functionality,
then extends it to represent the account-specific behavior that is needed.
This same basic concept is used to represent a whole series of classes
that are necessary to implement a specific mailnews account type.</p>
<p>For the server example, there is a base class named
<p>
In the C++ code, there is a base object implementing shared functionality.
An account-specific class inherits that base functionality, then extends
it to represent the account-specific behavior that is needed. This same
basic concept is used to represent a whole series of classes that are
necessary to implement a specific mailnews account type.
</p>
<p>
For the server example, there is a base class named
nsMsgIncomingServer.cpp that implements that base interface
nsIMsgIncomingServer.idl. For imap, there is a specific class
nsImapIncomingServer.cpp that inherits from nsMsgIncomingServer.cpp,
overrides some of the methods in nsIMsgIncomingServer.idl, and also
implements an imap-specific interface nsIImapIncomingServer.idl. All of
this works fine using C++ inheritance and polymorphism.</p>
<p>Although JsAccount is intended mostly for mailnews accounts, the same
basic method of using a base class extended for specific types is also used
in other ways in mailnews code, including for addressbook types and views.
The technology may also be applied to those other object types as well.</p>
this works fine using C++ inheritance and polymorphism.
</p>
<p>
Although JsAccount is intended mostly for mailnews accounts, the same
basic method of using a base class extended for specific types is also
used in other ways in mailnews code, including for addressbook types and
views. The technology may also be applied to those other object types as
well.
</p>
<h2>Role of JsAccount</h2>
<p>The JavaScript class system works very differently than the C++ system,
<p>
The JavaScript class system works very differently than the C++ system,
and you cannot use normal language constructs to override a C++ class with
a JavaScript class. What JsAccount allows you to do is to create XPCOM
objects in JavaScript, and use those objects to override or extend the
@ -46,10 +58,10 @@
code. This allows you to create a new account using JavaScript code, while
using the same base class functionality that is used by the core C++
account types. Thus a new account type may be created in JavaScript-based
extension. The technology may also be used to create JavaScript
versions of existing account types in an incremental manner, slowly
converting methods from C++ to JavaScript.</p>
<p><br>
extension. The technology may also be used to create JavaScript versions
of existing account types in an incremental manner, slowly converting
methods from C++ to JavaScript.
</p>
<p><br /></p>
</body>
</html>

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

@ -9,42 +9,72 @@
<!DOCTYPE dialog SYSTEM "chrome://messenger/locale/downloadheaders.dtd">
<dialog xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
style="max-width: 27em; padding: 10px;"
buttonpack="center"
lightweightthemes="true"
onload="OnLoad();">
<dialog
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
style="max-width: 27em; padding: 10px"
buttonpack="center"
lightweightthemes="true"
onload="OnLoad();"
>
<stringbundle
id="bundle_news"
src="chrome://messenger/locale/news.properties"
/>
<script src="chrome://messenger/content/downloadheaders.js" />
<script src="chrome://messenger/content/dialogShadowDom.js" />
<stringbundle id="bundle_news" src="chrome://messenger/locale/news.properties"/>
<script src="chrome://messenger/content/downloadheaders.js"/>
<script src="chrome://messenger/content/dialogShadowDom.js"/>
<label id="newsgroupLabel" control="downloadGroup"
class="header"
style="width: 25em; max-width: 25em; margin-inline-start: 6px;"/>
<description style="width: 25em; max-width: 25em;" id="info" control="downloadGroup"/>
<separator class="thin"/>
<label
id="newsgroupLabel"
control="downloadGroup"
class="header"
style="width: 25em; max-width: 25em; margin-inline-start: 6px"
/>
<description
style="width: 25em; max-width: 25em"
id="info"
control="downloadGroup"
/>
<separator class="thin" />
<vbox class="indent">
<radiogroup id="downloadGroup">
<radio id="all" label="&all.label;" accesskey="&all.accesskey;"
oncommand="setupDownloadUI(false);"/>
<separator class="thin"/>
<radio
id="all"
label="&all.label;"
accesskey="&all.accesskey;"
oncommand="setupDownloadUI(false);"
/>
<separator class="thin" />
<hbox align="center">
<radio id="some" selected="true" label="&download.label;"
accesskey="&download.accesskey;"
oncommand="setupDownloadUI(true);"
aria-labelledby="some number headers"/>
<html:input id="number" type="number" min="1"
aria-labelledby="some number headers"/>
<label id="headers" control="number"
value="&headers.label;" accesskey="&headers.accesskey;"/>
<radio
id="some"
selected="true"
label="&download.label;"
accesskey="&download.accesskey;"
oncommand="setupDownloadUI(true);"
aria-labelledby="some number headers"
/>
<html:input
id="number"
type="number"
min="1"
aria-labelledby="some number headers"
/>
<label
id="headers"
control="number"
value="&headers.label;"
accesskey="&headers.accesskey;"
/>
</hbox>
</radiogroup>
<hbox class="indent" align="start">
<checkbox id="markread" label="&mark.label;" accesskey="&mark.accesskey;"/>
<checkbox
id="markread"
label="&mark.label;"
accesskey="&mark.accesskey;"
/>
</hbox>
</vbox>
</dialog>

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

@ -7,46 +7,59 @@
<!DOCTYPE html SYSTEM "chrome://messenger/locale/viewLog.dtd">
<html id="viewLogWindow" xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
windowtype="mailnews:filterlog"
width="600" height="375"
persist="screenX screenY width height"
scrolling="false">
<head>
<title>&viewLog.title;</title>
<script defer="defer" src="chrome://messenger/content/viewLog.js"></script>
</head>
<html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<dialog buttons="accept"
buttonlabelaccept="&closeLog.label;"
buttonaccesskeyaccept="&closeLog.accesskey;">
<vbox flex="1">
<description>&viewLogInfo.text;</description>
<hbox>
<checkbox id="logFilters"
label="&enableLog.label;"
accesskey="&enableLog.accesskey;"
oncommand="toggleLogFilters();"/>
<spacer flex="1"/>
<button label="&clearLog.label;"
accesskey="&clearLog.accesskey;"
oncommand="clearLog();"/>
</hbox>
<separator class="thin"/>
<hbox flex="1">
<browser id="logView"
class="inset"
type="content"
disablehistory="true"
disablesecurity="true"
src="about:blank"
autofind="false"
flex="1"/>
</hbox>
</vbox>
</dialog>
</html:body>
<html
id="viewLogWindow"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
windowtype="mailnews:filterlog"
width="600"
height="375"
persist="screenX screenY width height"
scrolling="false"
>
<head>
<title>&viewLog.title;</title>
<script defer="defer" src="chrome://messenger/content/viewLog.js"></script>
</head>
<html:body
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<dialog
buttons="accept"
buttonlabelaccept="&closeLog.label;"
buttonaccesskeyaccept="&closeLog.accesskey;"
>
<vbox flex="1">
<description>&viewLogInfo.text;</description>
<hbox>
<checkbox
id="logFilters"
label="&enableLog.label;"
accesskey="&enableLog.accesskey;"
oncommand="toggleLogFilters();"
/>
<spacer flex="1" />
<button
label="&clearLog.label;"
accesskey="&clearLog.accesskey;"
oncommand="clearLog();"
/>
</hbox>
<separator class="thin" />
<hbox flex="1">
<browser
id="logView"
class="inset"
type="content"
disablehistory="true"
disablesecurity="true"
src="about:blank"
autofind="false"
flex="1"
/>
</hbox>
</vbox>
</dialog>
</html:body>
</html>