Bug 255834 - port Thunderbird RSS/Atom reader to SeaMonkey
r=neil sr=bienvenu --HG-- rename : mail/extensions/newsblog/Makefile.in => mailnews/extensions/newsblog/Makefile.in rename : mail/extensions/newsblog/content/Feed.js => mailnews/extensions/newsblog/content/Feed.js rename : mail/extensions/newsblog/content/FeedItem.js => mailnews/extensions/newsblog/content/FeedItem.js rename : mail/extensions/newsblog/content/am-newsblog.js => mailnews/extensions/newsblog/content/am-newsblog.js rename : mail/extensions/newsblog/content/am-newsblog.xul => mailnews/extensions/newsblog/content/am-newsblog.xul rename : mail/extensions/newsblog/content/debug-utils.js => mailnews/extensions/newsblog/content/debug-utils.js rename : mail/extensions/newsblog/content/edittree.xml => mailnews/extensions/newsblog/content/edittree.xml rename : mail/extensions/newsblog/content/feed-parser.js => mailnews/extensions/newsblog/content/feed-parser.js rename : mail/extensions/newsblog/content/feed-properties.js => mailnews/extensions/newsblog/content/feed-properties.js rename : mail/extensions/newsblog/content/feed-properties.xul => mailnews/extensions/newsblog/content/feed-properties.xul rename : mail/extensions/newsblog/content/feed-subscriptions.js => mailnews/extensions/newsblog/content/feed-subscriptions.js rename : mail/extensions/newsblog/content/feed-subscriptions.xul => mailnews/extensions/newsblog/content/feed-subscriptions.xul rename : mail/extensions/newsblog/content/file-utils.js => mailnews/extensions/newsblog/content/file-utils.js rename : mail/extensions/newsblog/content/toolbar-icon.xul => mailnews/extensions/newsblog/content/newsblogOverlay.js rename : mail/extensions/newsblog/content/utils.js => mailnews/extensions/newsblog/content/utils.js rename : mail/extensions/newsblog/jar.mn => mailnews/extensions/newsblog/jar.mn rename : mail/extensions/newsblog/js/newsblog.js => mailnews/extensions/newsblog/js/newsblog.js rename : mail/extensions/newsblog/rss.rdf => mailnews/extensions/newsblog/rss.rdf rename : mail/locales/en-US/chrome/messenger-newsblog/am-newsblog.dtd => suite/locales/en-US/chrome/mailnews/newsblog/am-newsblog.dtd rename : mail/locales/en-US/chrome/messenger-newsblog/am-newsblog.properties => suite/locales/en-US/chrome/mailnews/newsblog/am-newsblog.properties rename : mail/locales/en-US/chrome/messenger-newsblog/feed-properties.dtd => suite/locales/en-US/chrome/mailnews/newsblog/feed-properties.dtd rename : mail/locales/en-US/chrome/messenger-newsblog/feed-subscriptions.dtd => suite/locales/en-US/chrome/mailnews/newsblog/feed-subscriptions.dtd rename : mail/locales/en-US/chrome/messenger-newsblog/newsblog.properties => suite/locales/en-US/chrome/mailnews/newsblog/newsblog.properties rename : mail/themes/pinstripe/mail/newsblog/feed-subscriptions.css => suite/themes/classic/messenger/newsblog/feed-subscriptions.css rename : mail/themes/pinstripe/mail/newsblog/feed-subscriptions.css => suite/themes/modern/messenger/newsblog/feed-subscriptions.css
This commit is contained in:
Родитель
a5924ed428
Коммит
2f2c08be7b
|
@ -255,10 +255,8 @@ function ComposeMessage(type, format, folder, messageArray)
|
|||
|
||||
var hdr = messenger.msgHdrFromURI(messageUri);
|
||||
identity = getIdentityForHeader(hdr, type);
|
||||
var messageID = hdr.messageId;
|
||||
var messageIDScheme = messageID ? messageID.split(":")[0] : "";
|
||||
if (messageIDScheme && (messageIDScheme == 'http' || messageIDScheme == 'https') && "openComposeWindowForRSSArticle" in this)
|
||||
openComposeWindowForRSSArticle(messageID, hdr, type);
|
||||
if (/^https?:/.test(hdr.messageId))
|
||||
openComposeWindowForRSSArticle(hdr, type);
|
||||
else if (type == msgComposeType.Reply ||
|
||||
type == msgComposeType.ReplyAll ||
|
||||
type == msgComposeType.ReplyToList ||
|
||||
|
|
|
@ -507,10 +507,15 @@ function fillFolderPaneContextMenu()
|
|||
var isServer = folder.isServer;
|
||||
var serverType = folder.server.type;
|
||||
var specialFolder = getSpecialFolderString(folder);
|
||||
var canSubscribeToFolder = (serverType == "nntp") || (serverType == "imap");
|
||||
var canSubscribeToFolder = (serverType == "nntp") ||
|
||||
(serverType == "imap") ||
|
||||
(serverType == "rss");
|
||||
var isNewsgroup = !isServer && serverType == 'nntp';
|
||||
var isMailFolder = !isServer && serverType != 'nntp';
|
||||
var canGetMessages = (isServer && serverType != "none") || isNewsgroup || (serverType == "rss");
|
||||
var canGetMessages =
|
||||
(isServer && (serverType != "nntp") && (serverType != "none")) ||
|
||||
isNewsgroup ||
|
||||
((serverType == "rss") && (specialFolder != 'Trash'));
|
||||
|
||||
if (!isServer)
|
||||
{
|
||||
|
@ -545,11 +550,7 @@ function fillFolderPaneContextMenu()
|
|||
EnableMenuItem("folderPaneContext-sendUnsentMessages", IsSendUnsentMsgsEnabled(folder));
|
||||
|
||||
ShowMenuItem("folderPaneContext-subscribe", (numSelected <= 1) && canSubscribeToFolder && !isVirtualFolder);
|
||||
EnableMenuItem("folderPaneContext-subscribe", !isVirtualFolder);
|
||||
|
||||
// XXX: Hack for RSS servers...
|
||||
ShowMenuItem("folderPaneContext-rssSubscribe", (numSelected <= 1) && (serverType == "rss"));
|
||||
EnableMenuItem("folderPaneContext-rssSubscribe", true);
|
||||
EnableMenuItem("folderPaneContext-subscribe", true);
|
||||
|
||||
// News folder context menu =============================================
|
||||
ShowMenuItem("folderPaneContext-newsUnsubscribe", (numSelected <= 1) && canSubscribeToFolder && isNewsgroup);
|
||||
|
|
|
@ -1217,8 +1217,7 @@ function MsgSubscribe()
|
|||
{
|
||||
var preselectedFolder = GetFirstSelectedMsgFolder();
|
||||
|
||||
var server = (preselectedFolder) ? preselectedFolder.server : null;
|
||||
if (server && server.type == "rss")
|
||||
if (preselectedFolder && preselectedFolder.server.type == "rss")
|
||||
openSubscriptionsDialog(preselectedFolder); // open feed subscription dialog
|
||||
else
|
||||
Subscribe(preselectedFolder); // open imap/nntp subscription dialog
|
||||
|
|
|
@ -62,6 +62,7 @@
|
|||
<script type="application/x-javascript" src="chrome://messenger/content/mailCommands.js"/>
|
||||
<script type="application/x-javascript" src="chrome://messenger/content/junkCommands.js"/>
|
||||
<script type="application/x-javascript" src="chrome://messenger/content/mailWindowOverlay.js"/>
|
||||
<script type="application/x-javascript" src="chrome://messenger-newsblog/content/newsblogOverlay.js"/>
|
||||
<script type="application/x-javascript" src="chrome://messenger/content/mail-offline.js"/>
|
||||
<script type="application/x-javascript" src="chrome://global/content/printUtils.js"/>
|
||||
<script type="application/x-javascript" src="chrome://messenger/content/msgViewPickerOverlay.js"/>
|
||||
|
|
|
@ -42,7 +42,7 @@ VPATH = @srcdir@
|
|||
|
||||
include $(DEPTH)/config/autoconf.mk
|
||||
|
||||
DIRS = newsblog
|
||||
DIRS = $(NULL)
|
||||
|
||||
ifdef MOZ_PSM
|
||||
BUILD_SMIME=1
|
||||
|
|
|
@ -1,92 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<?xml-stylesheet href="chrome://messenger-newsblog/skin/newsBlogOverlay.css" type="text/css"?>
|
||||
|
||||
<!DOCTYPE overlay SYSTEM "chrome://messenger-newsblog/locale/newsblog.dtd">
|
||||
|
||||
<overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||
|
||||
<script type="application/x-javascript">
|
||||
function openSubscriptionsDialog(aFolder) {
|
||||
|
||||
//check for an existing subscriptions window and focus it.
|
||||
const kWindowMediatorContractID = "@mozilla.org/appshell/window-mediator;1";
|
||||
const kWindowMediatorIID = Components.interfaces.nsIWindowMediator;
|
||||
const kWindowMediator = Components.classes[kWindowMediatorContractID].getService(kWindowMediatorIID);
|
||||
var lastSubscriptionWindow = kWindowMediator.getMostRecentWindow("Mail:News-BlogSubscriptions");
|
||||
|
||||
if (lastSubscriptionWindow)
|
||||
{
|
||||
lastSubscriptionWindow.gFeedSubscriptionsWindow.selectFolder(aFolder);
|
||||
lastSubscriptionWindow.focus();
|
||||
}
|
||||
else
|
||||
window.openDialog("chrome://messenger-newsblog/content/feed-subscriptions.xul", "",
|
||||
"centerscreen,chrome,dialog=no,resizable",
|
||||
{ server: aFolder.server, folder: aFolder});
|
||||
}
|
||||
|
||||
function openSubscriptionsDialogFromFolderPane()
|
||||
{
|
||||
// get the incoming server for the seleted folder
|
||||
var selectedFolders = GetSelectedMsgFolders();
|
||||
openSubscriptionsDialog(selectedFolders[0]);
|
||||
}
|
||||
|
||||
// Special case attempts to reply/forward/edit as new RSS arrticles
|
||||
// Send the feed article URL instead of trying to load the feed inside of
|
||||
// an iframe. Bug #258278.
|
||||
function openComposeWindowForRSSArticle(messageID, msgHdr, type)
|
||||
{
|
||||
// convert our messageID into a url..
|
||||
var contentBase = messageID.replace("@localhost.localdomain", "");
|
||||
|
||||
var params = Components.classes["@mozilla.org/messengercompose/composeparams;1"]
|
||||
.createInstance(Components.interfaces.nsIMsgComposeParams);
|
||||
if (params)
|
||||
{
|
||||
params.composeFields = Components.classes['@mozilla.org/messengercompose/composefields;1']
|
||||
.createInstance(Components.interfaces.nsIMsgCompFields);
|
||||
if (params.composeFields)
|
||||
{
|
||||
params.composeFields.body = contentBase;
|
||||
var subject = msgHdr.mime2DecodedSubject;
|
||||
var msgComposeType = Components.interfaces.nsIMsgCompType;
|
||||
if (type == msgComposeType.Reply
|
||||
|| type == msgComposeType.ReplyAll
|
||||
|| type == msgComposeType.ReplyToSender
|
||||
|| type == msgComposeType.ReplyToGroup
|
||||
|| type == msgComposeType.ReplyToSenderAndGroup)
|
||||
subject = 'Re: ' + subject;
|
||||
else if (type == msgComposeType.ForwardInline || type == msgComposeType.ForwardAsAttachment)
|
||||
subject = '[Fwd: ' + subject + ']';
|
||||
params.composeFields.subject = subject;
|
||||
params.composeFields.characterSet = msgHdr.Charset;
|
||||
params.bodyIsLink = true;
|
||||
|
||||
if (msgComposeService) {
|
||||
try {
|
||||
params.identity = msgComposeService.defaultIdentity;
|
||||
}
|
||||
catch (ex) {
|
||||
params.identity = null;
|
||||
}
|
||||
msgComposeService.OpenComposeWindowWithParams(null, params);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<!-- Overlay into the folder pane context menu. If you change the id for the menu item, please
|
||||
update mailContextMenus.js
|
||||
-->
|
||||
<popup id="folderPaneContext">
|
||||
<menuitem id="folderPaneContext-rssSubscribe"
|
||||
insertafter="folderPaneContext-subscribe"
|
||||
label="&folderContextRSSSubscribe.label;"
|
||||
accesskey="&folderContextRSSSubscribe.accesskey;"
|
||||
oncommand="openSubscriptionsDialogFromFolderPane();"/>
|
||||
</popup>
|
||||
|
||||
</overlay>
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
<!-- folder pane context menu item -->
|
||||
<!ENTITY folderContextRSSSubscribe.label "Subscribe…">
|
||||
<!ENTITY folderContextRSSSubscribe.accesskey "b">
|
||||
|
||||
|
|
@ -132,7 +132,6 @@
|
|||
% locale messenger-mapi @AB_CD@ %locale/@AB_CD@/messenger-mapi/
|
||||
locale/@AB_CD@/messenger-mapi/mapi.properties (%chrome/messenger-mapi/mapi.properties)
|
||||
% locale messenger-newsblog @AB_CD@ %locale/@AB_CD@/messenger-newsblog/
|
||||
locale/@AB_CD@/messenger-newsblog/newsblog.dtd (%chrome/messenger-newsblog/newsblog.dtd)
|
||||
locale/@AB_CD@/messenger-newsblog/newsblog.properties (%chrome/messenger-newsblog/newsblog.properties)
|
||||
locale/@AB_CD@/messenger-newsblog/feed-subscriptions.dtd (%chrome/messenger-newsblog/feed-subscriptions.dtd)
|
||||
locale/@AB_CD@/messenger-newsblog/feed-properties.dtd (%chrome/messenger-newsblog/feed-properties.dtd)
|
||||
|
|
|
@ -47,6 +47,16 @@
|
|||
list-style-image: url("chrome://messenger/skin/icons/folder-closed.png");
|
||||
}
|
||||
|
||||
/* News folders */
|
||||
.folderMenuItem[ServerType="nntp"] {
|
||||
list-style-image: url("chrome://messenger/skin/icons/folder-newsgroup.png");
|
||||
}
|
||||
|
||||
/* Feed folders */
|
||||
.folderMenuItem[ServerType="rss"] {
|
||||
list-style-image: url("chrome://messenger/skin/icons/message-news.png");
|
||||
}
|
||||
|
||||
/* ..... special folders ..... */
|
||||
|
||||
.folderMenuItem[SpecialFolder="Inbox"] {
|
||||
|
@ -57,7 +67,6 @@
|
|||
list-style-image: url("chrome://messenger/skin/icons/folder-sent.png");
|
||||
}
|
||||
|
||||
|
||||
.folderMenuItem[SpecialFolder="Drafts"] {
|
||||
list-style-image: url("chrome://messenger/skin/icons/folder-draft.png");
|
||||
}
|
||||
|
@ -74,6 +83,8 @@
|
|||
list-style-image: url("chrome://messenger/skin/icons/folder-trash.png");
|
||||
}
|
||||
|
||||
/* ..... servers ..... */
|
||||
|
||||
.folderMenuItem[IsServer="true"] {
|
||||
list-style-image: url("chrome://messenger/skin/icons/server-mail.png");
|
||||
}
|
||||
|
@ -82,12 +93,12 @@
|
|||
list-style-image: url("chrome://messenger/skin/icons/server-mail.png");
|
||||
}
|
||||
|
||||
/* IMAP folders */
|
||||
/* IMAP servers */
|
||||
.folderMenuItem[IsServer="true"][ServerType="imap"][IsSecure="true"] {
|
||||
list-style-image: url("chrome://messenger/skin/icons/server-remote-lock.png");
|
||||
}
|
||||
|
||||
/* POP3 folders */
|
||||
/* POP3 servers */
|
||||
.folderMenuItem[IsServer="true"][ServerType="pop3"][IsSecure="true"] {
|
||||
list-style-image: url("chrome://messenger/skin/icons/server-remote-lock.png");
|
||||
}
|
||||
|
@ -97,16 +108,16 @@
|
|||
list-style-image: url("chrome://messenger/skin/icons/server-local.png");
|
||||
}
|
||||
|
||||
/* News folders */
|
||||
.folderMenuItem[ServerType="nntp"] {
|
||||
list-style-image: url("chrome://messenger/skin/icons/folder-newsgroup.png");
|
||||
/* News servers */
|
||||
.folderMenuItem[IsServer="true"][ServerType="nntp"] {
|
||||
list-style-image: url("chrome://messenger/skin/icons/server-news.png");
|
||||
}
|
||||
|
||||
.folderMenuItem[IsServer="true"][ServerType="nntp"][IsSecure="true"] {
|
||||
list-style-image: url("chrome://messenger/skin/icons/server-news-lock.png");
|
||||
}
|
||||
|
||||
.folderMenuItem[IsServer="true"][ServerType="nntp"] {
|
||||
list-style-image: url("chrome://messenger/skin/icons/server-news.png");
|
||||
/* Feed servers */
|
||||
.folderMenuItem[IsServer="true"][ServerType="rss"] {
|
||||
list-style-image: url("chrome://messenger/skin/icons/server-newsblog.png");
|
||||
}
|
||||
|
||||
|
|
|
@ -16,6 +16,18 @@ treechildren::-moz-tree-image(folderNameCol, newMessages-true) {
|
|||
list-style-image: url("chrome://messenger/skin/icons/folder-closed.png");
|
||||
}
|
||||
|
||||
/* ..... News Folders ..... */
|
||||
.tabmail-tab[type="folder"][ServerType="nntp"] .tab-icon-image ,
|
||||
treechildren::-moz-tree-image(folderNameCol, serverType-nntp) {
|
||||
list-style-image: url("chrome://messenger/skin/icons/folder-newsgroup.png");
|
||||
}
|
||||
|
||||
/* ..... Feed Folders ..... */
|
||||
.tabmail-tab[type="folder"][ServerType="rss"] .tab-icon-image ,
|
||||
treechildren::-moz-tree-image(folderNameCol, serverType-rss) {
|
||||
list-style-image: url("chrome://messenger/skin/icons/message-news.png");
|
||||
}
|
||||
|
||||
/* ..... Inbox ..... */
|
||||
.tabmail-tab[type="folder"][SpecialFolder="Inbox"] .tab-icon-image ,
|
||||
treechildren::-moz-tree-image(folderNameCol, specialFolder-Inbox) {
|
||||
|
@ -62,24 +74,10 @@ treechildren::-moz-tree-image(folderNameCol, specialFolder-Trash) {
|
|||
list-style-image: url("chrome://messenger/skin/icons/folder-trash.png");
|
||||
}
|
||||
|
||||
treechildren::-moz-tree-image(folderNameCol, isServer-true) {
|
||||
list-style-image: url("chrome://messenger/skin/icons/server-mail.png");
|
||||
}
|
||||
|
||||
treechildren::-moz-tree-image(folderNameCol, biffState-NewMail, isServer-true) {
|
||||
list-style-image: url("chrome://messenger/skin/icons/server-mail.png");
|
||||
}
|
||||
|
||||
treechildren::-moz-tree-cell-text(folderNameCol, biffState-NewMail, isServer-true),
|
||||
treechildren::-moz-tree-cell-text(folderNameCol, newMessages-true),
|
||||
treechildren::-moz-tree-cell-text(folderNameCol, specialFolder-Inbox, newMessages-true) {
|
||||
font-weight: bold;
|
||||
color: blue;
|
||||
}
|
||||
|
||||
treechildren::-moz-tree-cell(folderNameCol, newMessages-true),
|
||||
treechildren::-moz-tree-cell(folderNameCol, specialFolder-Inbox, newMessages-true) {
|
||||
|
||||
/* ..... Saved Search Folder ..... */
|
||||
.tabmail-tab[type="folder"][SpecialFolder="Virtual"] .tab-icon-image ,
|
||||
treechildren::-moz-tree-image(folderNameCol, specialFolder-Virtual) {
|
||||
list-style-image: url("chrome://messenger/skin/icons/saved-search-folder.png");
|
||||
}
|
||||
|
||||
/* Disable Shared Folder Rule for now
|
||||
|
@ -90,6 +88,14 @@ treechildren::-moz-tree-image(folderNameCol, imapShared-true) {
|
|||
|
||||
/* ..... Server Folders ..... */
|
||||
|
||||
treechildren::-moz-tree-image(folderNameCol, isServer-true) {
|
||||
list-style-image: url("chrome://messenger/skin/icons/server-mail.png");
|
||||
}
|
||||
|
||||
treechildren::-moz-tree-image(folderNameCol, biffState-NewMail, isServer-true) {
|
||||
list-style-image: url("chrome://messenger/skin/icons/server-mail.png");
|
||||
}
|
||||
|
||||
treechildren::-moz-tree-image(folderNameCol, isServer-true, serverType-pop3, isSecure-true) {
|
||||
list-style-image: url("chrome://messenger/skin/icons/server-remote-lock.png");
|
||||
}
|
||||
|
@ -103,11 +109,6 @@ treechildren::-moz-tree-image(folderNameCol, isServer-true, serverType-none) {
|
|||
}
|
||||
|
||||
/* ..... News Folders ..... */
|
||||
.tabmail-tab[type="folder"][ServerType="nntp"] .tab-icon-image ,
|
||||
treechildren::-moz-tree-image(folderNameCol, serverType-nntp) {
|
||||
list-style-image: url("chrome://messenger/skin/icons/folder-newsgroup.png");
|
||||
}
|
||||
|
||||
treechildren::-moz-tree-image(folderNameCol, isServer-true, serverType-nntp) {
|
||||
list-style-image: url("chrome://messenger/skin/icons/server-news.png");
|
||||
}
|
||||
|
@ -116,14 +117,25 @@ treechildren::-moz-tree-image(folderNameCol, isServer-true, serverType-nntp, isS
|
|||
list-style-image: url("chrome://messenger/skin/icons/server-news-lock.png");
|
||||
}
|
||||
|
||||
/* ..... Saved Search Folder ..... */
|
||||
.tabmail-tab[type="folder"][SpecialFolder="Virtual"] .tab-icon-image ,
|
||||
treechildren::-moz-tree-image(folderNameCol, specialFolder-Virtual) {
|
||||
list-style-image: url("chrome://messenger/skin/icons/saved-search-folder.png");
|
||||
/* ..... Feed Folders ..... */
|
||||
treechildren::-moz-tree-image(folderNameCol, isServer-true, serverType-rss) {
|
||||
list-style-image: url("chrome://messenger/skin/icons/server-newsblog.png");
|
||||
}
|
||||
|
||||
/* ::::: All Servers ::::: */
|
||||
|
||||
treechildren::-moz-tree-cell-text(folderNameCol, biffState-NewMail, isServer-true),
|
||||
treechildren::-moz-tree-cell-text(folderNameCol, newMessages-true),
|
||||
treechildren::-moz-tree-cell-text(folderNameCol, specialFolder-Inbox, newMessages-true) {
|
||||
font-weight: bold;
|
||||
color: blue;
|
||||
}
|
||||
|
||||
treechildren::-moz-tree-cell(folderNameCol, newMessages-true),
|
||||
treechildren::-moz-tree-cell(folderNameCol, specialFolder-Inbox, newMessages-true) {
|
||||
|
||||
}
|
||||
|
||||
treechildren::-moz-tree-cell-text(subfoldersHaveUnreadMessages-true) {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
|
|
@ -83,7 +83,6 @@ classic.jar:
|
|||
skin/classic/messenger/messengercompose/small-button-pressed.png (compose/small-button-pressed.png)
|
||||
% skin messenger-newsblog classic/1.0 %skin/classic/messenger-newsblog/
|
||||
skin/classic/messenger-newsblog/feed-subscriptions.css (newsblog/feed-subscriptions.css)
|
||||
skin/classic/messenger-newsblog/newsBlogOverlay.css (newsblog/newsBlogOverlay.css)
|
||||
skin/classic/messenger-newsblog/icons/folder-search-rss.png (newsblog/folder-search-rss.png)
|
||||
skin/classic/messenger/preferences/preferences.css (preferences/preferences.css)
|
||||
skin/classic/messenger/preferences/mail-options.png (preferences/mail-options.png)
|
||||
|
|
|
@ -62,10 +62,6 @@
|
|||
padding: 0px;
|
||||
}
|
||||
|
||||
#rssFeedInfoBox textbox {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
#backgroundBox {
|
||||
background-color: #FFFFFF;
|
||||
opacity: 0.5;
|
||||
|
|
|
@ -52,6 +52,23 @@
|
|||
-moz-image-region: rect(0 32px 16px 16px);
|
||||
}
|
||||
|
||||
/* Newsgroup */
|
||||
.folderMenuItem[ServerType="nntp"] {
|
||||
-moz-image-region: rect(0 160px 16px 144px);
|
||||
}
|
||||
|
||||
/* Feed */
|
||||
.folderMenuItem[ServerType="rss"] {
|
||||
list-style-image: url("chrome://messenger-newsblog/skin/icons/rss-feed.png");
|
||||
-moz-image-region: rect(0 16px 16px 0);
|
||||
}
|
||||
|
||||
/* Resets list-style-image for Feed Trash and Virtual folders */
|
||||
.folderMenuItem[ServerType="rss"][SpecialFolder="Trash"],
|
||||
.folderMenuItem[ServerType="rss"][SpecialFolder="Virtual"] {
|
||||
list-style-image: url("chrome://messenger/skin/icons/folder.png");
|
||||
}
|
||||
|
||||
/* ..... special folders ..... */
|
||||
|
||||
.folderMenuItem[SpecialFolder="Inbox"] {
|
||||
|
@ -86,6 +103,8 @@
|
|||
-moz-image-region: rect(0 176px 16px 160px);
|
||||
}
|
||||
|
||||
/* ..... servers ..... */
|
||||
|
||||
.folderMenuItem[IsServer="true"] {
|
||||
list-style-image: url("chrome://messenger/skin/icons/server.png");
|
||||
-moz-image-region: rect(0 16px 16px 0);
|
||||
|
@ -110,7 +129,7 @@
|
|||
-moz-image-region: rect(0 80px 16px 64px) !important;
|
||||
}
|
||||
|
||||
/* Newsgroup */
|
||||
.folderMenuItem[ServerType="nntp"] {
|
||||
-moz-image-region: rect(0 160px 16px 144px);
|
||||
/* Feed server */
|
||||
.folderMenuItem[IsServer="true"][ServerType="rss"] {
|
||||
list-style-image: url("chrome://messenger-newsblog/skin/icons/server-rss.png");
|
||||
}
|
||||
|
|
|
@ -27,7 +27,36 @@ treechildren::-moz-tree-image(folderNameCol, selected, open, newMessages-true) {
|
|||
-moz-image-region: rect(16px 32px 32px 16px);
|
||||
}
|
||||
|
||||
/* ..... Newsgroup ..... */
|
||||
|
||||
.tabmail-tab[type="folder"][ServerType="nntp"] .tab-icon-image ,
|
||||
treechildren::-moz-tree-image(folderNameCol, serverType-nntp) {
|
||||
-moz-image-region: rect(0 160px 16px 144px);
|
||||
}
|
||||
|
||||
/* ..... Feed ..... */
|
||||
|
||||
.tabmail-tab[type="folder"][ServerType="rss"] .tab-icon-image ,
|
||||
treechildren::-moz-tree-image(folderNameCol, serverType-rss) {
|
||||
list-style-image: url("chrome://messenger-newsblog/skin/icons/rss-feed.png");
|
||||
-moz-image-region: rect(0 16px 16px 0);
|
||||
}
|
||||
|
||||
treechildren::-moz-tree-image(folderNameCol, serverType-rss, newMessages-true) {
|
||||
-moz-image-region: rect(16px 16px 32px 0);
|
||||
}
|
||||
|
||||
/* Resets list-style-image for Feed Trash and Virtual folders */
|
||||
|
||||
.tabmail-tab[type="folder"][SpecialFolder="Trash"][ServerType="rss"] .tab-icon-image ,
|
||||
.tabmail-tab[type="folder"][SpecialFolder="Virtual"][ServerType="rss"] .tab-icon-image ,
|
||||
treechildren::-moz-tree-image(folderNameCol, serverType-rss, specialFolder-Trash),
|
||||
treechildren::-moz-tree-image(folderNameCol, serverType-rss, specialFolder-Virtual) {
|
||||
list-style-image: url("chrome://messenger/skin/icons/folder.png");
|
||||
}
|
||||
|
||||
/* ..... Inbox ..... */
|
||||
|
||||
.tabmail-tab[type="folder"][SpecialFolder="Inbox"] .tab-icon-image ,
|
||||
treechildren::-moz-tree-image(folderNameCol, specialFolder-Inbox) {
|
||||
-moz-image-region: rect(0 48px 16px 32px);
|
||||
|
@ -38,36 +67,42 @@ treechildren::-moz-tree-image(folderNameCol, specialFolder-Inbox, newMessages-tr
|
|||
}
|
||||
|
||||
/* ..... Sent ..... */
|
||||
|
||||
.tabmail-tab[type="folder"][SpecialFolder="Sent"] .tab-icon-image ,
|
||||
treechildren::-moz-tree-image(folderNameCol, specialFolder-Sent) {
|
||||
-moz-image-region: rect(0 64px 16px 48px);
|
||||
}
|
||||
|
||||
/* ..... Unsent ..... */
|
||||
|
||||
.tabmail-tab[type="folder"][SpecialFolder="Unsent Messages"] .tab-icon-image ,
|
||||
treechildren::-moz-tree-image(folderNameCol, specialFolder-Unsent Messages) {
|
||||
-moz-image-region: rect(0 80px 16px 64px);
|
||||
}
|
||||
|
||||
/* ..... Drafts ..... */
|
||||
|
||||
.tabmail-tab[type="folder"][SpecialFolder="Drafts"] .tab-icon-image ,
|
||||
treechildren::-moz-tree-image(folderNameCol, specialFolder-Drafts) {
|
||||
-moz-image-region: rect(0 96px 16px 80px);
|
||||
}
|
||||
|
||||
/* ..... Templates ..... */
|
||||
|
||||
.tabmail-tab[type="folder"][SpecialFolder="Templates"] .tab-icon-image ,
|
||||
treechildren::-moz-tree-image(folderNameCol, specialFolder-Templates) {
|
||||
-moz-image-region: rect(0 112px 16px 96px);
|
||||
}
|
||||
|
||||
/* ..... Junk ..... */
|
||||
|
||||
.tabmail-tab[type="folder"][SpecialFolder="Junk"] .tab-icon-image ,
|
||||
treechildren::-moz-tree-image(folderNameCol, specialFolder-Junk) {
|
||||
-moz-image-region: rect(0 128px 16px 112px);
|
||||
}
|
||||
|
||||
/* ..... Trash ..... */
|
||||
|
||||
.tabmail-tab[type="folder"][SpecialFolder="Trash"] .tab-icon-image ,
|
||||
treechildren::-moz-tree-image(folderNameCol, specialFolder-Trash) {
|
||||
-moz-image-region: rect(0 144px 16px 128px);
|
||||
|
@ -82,6 +117,7 @@ treechildren::-moz-tree-image(folderNameCol, imapShared-true) {
|
|||
*/
|
||||
|
||||
/* ..... Saved Search Folder ..... */
|
||||
|
||||
.tabmail-tab[type="folder"][SpecialFolder="Virtual"] .tab-icon-image ,
|
||||
treechildren::-moz-tree-image(folderNameCol, specialFolder-Virtual) {
|
||||
-moz-image-region: rect(0 176px 16px 160px);
|
||||
|
@ -91,6 +127,11 @@ treechildren::-moz-tree-image(folderNameCol, specialFolder-Virtual, newMessages-
|
|||
-moz-image-region: rect(16px 176px 32px 160px);
|
||||
}
|
||||
|
||||
treechildren::-moz-tree-cell-text(folderNameCol, newMessages-true),
|
||||
treechildren::-moz-tree-cell-text(folderNameCol, specialFolder-Inbox, newMessages-true) {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* ..... Mail server ..... */
|
||||
|
||||
treechildren::-moz-tree-image(folderNameCol, isServer-true) {
|
||||
|
@ -102,11 +143,6 @@ treechildren::-moz-tree-image(folderNameCol, biffState-NewMail, isServer-true) {
|
|||
-moz-image-region: rect(16px 16px 32px 0);
|
||||
}
|
||||
|
||||
treechildren::-moz-tree-cell-text(folderNameCol, newMessages-true),
|
||||
treechildren::-moz-tree-cell-text(folderNameCol, specialFolder-Inbox, newMessages-true) {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* ..... Secure mail server ..... */
|
||||
|
||||
treechildren::-moz-tree-image(folderNameCol, isServer-true, serverType-pop3, isSecure-true),
|
||||
|
@ -138,10 +174,11 @@ treechildren::-moz-tree-image(folderNameCol, isServer-true, serverType-nntp, isS
|
|||
-moz-image-region: rect(0 80px 16px 64px) !important;
|
||||
}
|
||||
|
||||
/* ..... Newsgroup ..... */
|
||||
.tabmail-tab[type="folder"][ServerType="nntp"] .tab-icon-image ,
|
||||
treechildren::-moz-tree-image(folderNameCol, serverType-nntp) {
|
||||
-moz-image-region: rect(0 160px 16px 144px);
|
||||
/* ..... Feed server ..... */
|
||||
|
||||
treechildren::-moz-tree-image(folderNameCol, isServer-true, serverType-rss) {
|
||||
list-style-image: url("chrome://messenger-newsblog/skin/icons/server-rss.png");
|
||||
-moz-image-region: rect(0 16px 16px 0);
|
||||
}
|
||||
|
||||
/* ::::: All Servers ::::: */
|
||||
|
|
|
@ -53,7 +53,6 @@ classic.jar:
|
|||
skin/classic/messenger/messengercompose/format-buttons.png (compose/format-buttons.png)
|
||||
% skin messenger-newsblog classic/1.0 %skin/classic/messenger-newsblog/
|
||||
skin/classic/messenger-newsblog/feed-subscriptions.css (newsblog/feed-subscriptions.css)
|
||||
skin/classic/messenger-newsblog/newsBlogOverlay.css (newsblog/newsBlogOverlay.css)
|
||||
skin/classic/messenger-newsblog/icons/rss-feed.png (newsblog/rss-feed.png)
|
||||
skin/classic/messenger-newsblog/icons/server-rss.png (newsblog/server-rss.png)
|
||||
* skin/classic/messenger/preferences/preferences.css (preferences/preferences.css)
|
||||
|
|
|
@ -68,10 +68,6 @@
|
|||
padding: 0px;
|
||||
}
|
||||
|
||||
#rssFeedInfoBox textbox {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
#backgroundBox {
|
||||
background-color: #FFFFFF;
|
||||
opacity: 0.5;
|
||||
|
|
|
@ -73,6 +73,9 @@ function defaultClientSetup()
|
|||
document.getElementById("setDefaultNews").disabled =
|
||||
shellService.isDefaultClient(false, nsIShellService.NEWS);
|
||||
|
||||
document.getElementById("setDefaultFeed").disabled =
|
||||
shellService.isDefaultClient(false, nsIShellService.RSS);
|
||||
|
||||
document.getElementById("defaultMailPrefs").hidden = false;
|
||||
}
|
||||
}
|
||||
|
@ -98,3 +101,14 @@ function onSetDefaultNews()
|
|||
|
||||
document.getElementById("setDefaultNews").disabled = true;
|
||||
}
|
||||
|
||||
function onSetDefaultFeed()
|
||||
{
|
||||
var shellService = Components.classes["@mozilla.org/suite/shell-service;1"]
|
||||
.getService(nsIShellService);
|
||||
|
||||
shellService.setDefaultClient(false, false, nsIShellService.RSS);
|
||||
shellService.shouldBeDefaultClientFor |= nsIShellService.RSS;
|
||||
|
||||
document.getElementById("setDefaultFeed").disabled = true;
|
||||
}
|
||||
|
|
|
@ -81,6 +81,8 @@
|
|||
name="system.windows.lock_ui.defaultMailClient" type="bool"/>
|
||||
<preference id="system.windows.lock_ui.defaultNewsClient" readonly="true"
|
||||
name="system.windows.lock_ui.defaultNewsClient" type="bool"/>
|
||||
<preference id="system.windows.lock_ui.defaultFeedClient" readonly="true"
|
||||
name="system.windows.lock_ui.defaultFeedClient" type="bool"/>
|
||||
</preferences>
|
||||
|
||||
<groupbox>
|
||||
|
@ -115,6 +117,11 @@
|
|||
<button id="setDefaultNews" accesskey="&setDefaultNews.accesskey;"
|
||||
label="&setDefaultNews.label;" oncommand="onSetDefaultNews();"
|
||||
preference="system.windows.lock_ui.defaultNewsClient"/>
|
||||
<button id="setDefaultFeed"
|
||||
accesskey="&setDefaultFeed.accesskey;"
|
||||
label="&setDefaultFeed.label;"
|
||||
oncommand="onSetDefaultFeed();"
|
||||
preference="system.windows.lock_ui.defaultFeedClient"/>
|
||||
</hbox>
|
||||
</vbox>
|
||||
</groupbox>
|
||||
|
|
|
@ -242,16 +242,18 @@ function ComposeMessage(type, format, folder, messageArray)
|
|||
}
|
||||
}
|
||||
|
||||
if (type == msgComposeType.Reply ||
|
||||
type == msgComposeType.ReplyAll ||
|
||||
type == msgComposeType.ReplyToList ||
|
||||
type == msgComposeType.ForwardInline ||
|
||||
type == msgComposeType.ReplyToGroup ||
|
||||
type == msgComposeType.ReplyToSender ||
|
||||
type == msgComposeType.ReplyToSenderAndGroup ||
|
||||
type == msgComposeType.Template ||
|
||||
type == msgComposeType.Redirect ||
|
||||
type == msgComposeType.Draft)
|
||||
if (/^https?:/.test(hdr.messageId))
|
||||
openComposeWindowForRSSArticle(hdr, type);
|
||||
else if (type == msgComposeType.Reply ||
|
||||
type == msgComposeType.ReplyAll ||
|
||||
type == msgComposeType.ReplyToList ||
|
||||
type == msgComposeType.ForwardInline ||
|
||||
type == msgComposeType.ReplyToGroup ||
|
||||
type == msgComposeType.ReplyToSender ||
|
||||
type == msgComposeType.ReplyToSenderAndGroup ||
|
||||
type == msgComposeType.Template ||
|
||||
type == msgComposeType.Redirect ||
|
||||
type == msgComposeType.Draft)
|
||||
{
|
||||
msgComposeService.OpenComposeWindow(null, hdr, messageUri, type, format, identity, msgWindow);
|
||||
// Limit the number of new compose windows to 8. Why 8 ? I like that number :-)
|
||||
|
|
|
@ -290,11 +290,16 @@ function fillFolderPaneContextMenu()
|
|||
var isServer = GetFolderAttribute(folderTree, folderResource, "IsServer") == 'true';
|
||||
var serverType = GetFolderAttribute(folderTree, folderResource, "ServerType");
|
||||
var specialFolder = GetFolderAttribute(folderTree, folderResource, "SpecialFolder");
|
||||
var canSubscribeToFolder = (serverType == "nntp") || (serverType == "imap");
|
||||
var canSubscribeToFolder = (serverType == "nntp") ||
|
||||
(serverType == "imap") ||
|
||||
(serverType == "rss");
|
||||
var isNewsgroup = !isServer && serverType == 'nntp';
|
||||
var isMailFolder = !isServer && serverType != 'nntp';
|
||||
var isVirtualFolder = (specialFolder == "Virtual");
|
||||
var canGetMessages = (isServer && (serverType != "nntp") && (serverType !="none")) || isNewsgroup;
|
||||
var canGetMessages =
|
||||
(isServer && (serverType != "nntp") && (serverType != "none")) ||
|
||||
isNewsgroup ||
|
||||
((serverType == "rss") && (specialFolder != 'Trash'));
|
||||
|
||||
if (!isServer)
|
||||
{
|
||||
|
@ -309,6 +314,14 @@ function fillFolderPaneContextMenu()
|
|||
EnableMenuItem("folderPaneContext-settings", true);
|
||||
}
|
||||
|
||||
if ((numSelected <= 1) && canGetMessages)
|
||||
if (isServer)
|
||||
SetMenuItemLabel("folderPaneContext-getMessages",
|
||||
gMessengerBundle.getString("getMessagesFor"));
|
||||
else
|
||||
SetMenuItemLabel("folderPaneContext-getMessages",
|
||||
gMessengerBundle.getString("getMessages"));
|
||||
|
||||
ShowMenuItem("folderPaneContext-getMessages", (numSelected <= 1) && canGetMessages);
|
||||
EnableMenuItem("folderPaneContext-getMessages", true);
|
||||
|
||||
|
|
|
@ -868,9 +868,13 @@ function GetInboxFolder(server)
|
|||
|
||||
function GetMessagesForInboxOnServer(server)
|
||||
{
|
||||
dump ("GetMessagesForInboxOnServer uri = " + server.serverURI + "\n");
|
||||
var inboxFolder = GetInboxFolder(server);
|
||||
if (!inboxFolder) return;
|
||||
|
||||
// If the server doesn't support an inbox it could be an RSS server or
|
||||
// some other server type, just use the root folder and the server
|
||||
// implementation can figure out what to do.
|
||||
if (!inboxFolder)
|
||||
inboxFolder = server.rootFolder;
|
||||
|
||||
GetNewMessages([inboxFolder], server);
|
||||
}
|
||||
|
@ -1211,8 +1215,12 @@ function getDestinationFolder(preselectedFolder, server)
|
|||
|
||||
function MsgSubscribe()
|
||||
{
|
||||
var preselectedFolder = GetFirstSelectedMsgFolder();
|
||||
Subscribe(preselectedFolder);
|
||||
var preselectedFolder = GetFirstSelectedMsgFolder();
|
||||
|
||||
if (preselectedFolder && preselectedFolder.server.type == "rss")
|
||||
openSubscriptionsDialog(preselectedFolder); // open feed subscription dialog
|
||||
else
|
||||
Subscribe(preselectedFolder); // open imap/nntp subscription dialog
|
||||
}
|
||||
|
||||
function ConfirmUnsubscribe(folder)
|
||||
|
@ -1887,6 +1895,12 @@ function MsgAddAllToAddressBook() {}
|
|||
function SpaceHit(event)
|
||||
{
|
||||
var contentWindow = window.top.content;
|
||||
var rssiframe = contentWindow.document.getElementById('_mailrssiframe');
|
||||
|
||||
// If we are displaying an RSS article, we really want to scroll
|
||||
// the nested iframe.
|
||||
if (rssiframe)
|
||||
contentWindow = rssiframe.contentWindow;
|
||||
|
||||
if (event && event.shiftKey) {
|
||||
// if at the start of the message, go to the previous one
|
||||
|
|
|
@ -69,6 +69,7 @@
|
|||
|
||||
<script type="application/x-javascript" src="chrome://messenger/content/mailCommands.js"/>
|
||||
<script type="application/x-javascript" src="chrome://messenger/content/mailWindowOverlay.js"/>
|
||||
<script type="application/x-javascript" src="chrome://messenger-newsblog/content/newsblogOverlay.js"/>
|
||||
<script type="application/x-javascript" src="chrome://messenger/content/mail-offline.js"/>
|
||||
<script type="application/x-javascript" src="chrome://communicator/content/findUtils.js"/>
|
||||
<script type="application/x-javascript" src="chrome://communicator/content/bookmarks/bookmarks.js"/>
|
||||
|
|
|
@ -730,8 +730,21 @@ function OnLoadMessenger()
|
|||
// argument[2] --> optional email address; // Will come from aim; needs to show msgs from buddy's email address.
|
||||
if ("arguments" in window)
|
||||
{
|
||||
gStartFolderUri = (window.arguments.length > 0) ? window.arguments[0]
|
||||
: null;
|
||||
// filter our any feed urls that came in as arguments to the new window...
|
||||
if (window.arguments.length && /^feed:/i.test(window.arguments[0]))
|
||||
{
|
||||
var feedHandler =
|
||||
Components.classes["@mozilla.org/newsblog-feed-downloader;1"]
|
||||
.getService(Components.interfaces.nsINewsBlogFeedDownloader);
|
||||
if (feedHandler)
|
||||
feedHandler.subscribeToFeed(window.arguments[0], null, msgWindow);
|
||||
gStartFolderUri = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
gStartFolderUri = (window.arguments.length > 0) ? window.arguments[0]
|
||||
: null;
|
||||
}
|
||||
gStartMsgKey = (window.arguments.length > 1) ? window.arguments[1]
|
||||
: nsMsgKey_None;
|
||||
gSearchEmailAddress = (window.arguments.length > 2) ? window.arguments[2]
|
||||
|
|
|
@ -63,6 +63,7 @@
|
|||
<ul>
|
||||
<li>&feat_multiacc.label;</li>
|
||||
<li>&feat_junk.label;</li>
|
||||
<li>&feat_rss.label;</li>
|
||||
<li>&feat_filters.label;</li>
|
||||
<li>&feat_htmlmsg.label;</li>
|
||||
<li>&feat_abook.label;</li>
|
||||
|
|
|
@ -43,7 +43,7 @@ VPATH = @srcdir@
|
|||
include $(DEPTH)/config/autoconf.mk
|
||||
|
||||
# these extensions are not optional
|
||||
DIRS = mdn mailviews bayesian-spam-filter offline-startup
|
||||
DIRS = mdn mailviews bayesian-spam-filter offline-startup newsblog
|
||||
|
||||
ifdef MOZ_PSM
|
||||
BUILD_SMIME=1
|
||||
|
|
|
@ -36,33 +36,7 @@
|
|||
|
||||
var gIncomingServer;
|
||||
|
||||
function onInit()
|
||||
{
|
||||
// set our custom quickMode attribute
|
||||
document.getElementById('useQuickMode').checked = gIncomingServer.getBoolAttribute("quickMode");
|
||||
}
|
||||
|
||||
function onPreInit(account, accountValues)
|
||||
{
|
||||
gIncomingServer = account.incomingServer;
|
||||
}
|
||||
|
||||
function onSave()
|
||||
{
|
||||
gIncomingServer.setBoolAttribute("quickMode", document.getElementById('useQuickMode').checked);
|
||||
}
|
||||
|
||||
function manageSubscriptions()
|
||||
{
|
||||
// XXX: This code should be shared with the JS in toolbar-icon.xul
|
||||
const kWindowMediatorContractID = "@mozilla.org/appshell/window-mediator;1";
|
||||
const kWindowMediatorIID = Components.interfaces.nsIWindowMediator;
|
||||
const kWindowMediator = Components.classes[kWindowMediatorContractID].getService(kWindowMediatorIID);
|
||||
var lastSubscriptionWindow = kWindowMediator.getMostRecentWindow("Mail:News-BlogSubscriptions");
|
||||
|
||||
if (lastSubscriptionWindow)
|
||||
lastSubscriptionWindow.focus();
|
||||
else
|
||||
window.openDialog("chrome://messenger-newsblog/content/feed-subscriptions.xul", "",
|
||||
"centerscreen,chrome,dialog=no,resizable", { server: gIncomingServer});
|
||||
}
|
|
@ -51,7 +51,8 @@
|
|||
|
||||
<script type="application/x-javascript" src="chrome://messenger/content/AccountManager.js"/>
|
||||
<script type="application/x-javascript" src="chrome://messenger-newsblog/content/am-newsblog.js"/>
|
||||
|
||||
<script type="application/x-javascript" src="chrome://messenger-newsblog/content/newsblogOverlay.js"/>
|
||||
|
||||
<dialogheader title="&newsblogTitle.label;"/>
|
||||
|
||||
<hbox align="center">
|
||||
|
@ -83,9 +84,13 @@
|
|||
prefstring="mail.server.%serverkey%.login_at_startup"/>
|
||||
|
||||
<checkbox wsm_persist="true"
|
||||
id="useQuickMode"
|
||||
genericattr="true"
|
||||
id="server.quickMode"
|
||||
label="&useQuickMode.label;"
|
||||
accesskey="&useQuickMode.accesskey;"/>
|
||||
accesskey="&useQuickMode.accesskey;"
|
||||
preftype="bool"
|
||||
prefattribute="value"
|
||||
prefstring="mail.server.%serverkey%.quickMode"/>
|
||||
|
||||
<checkbox wsm_persist="true" id="server.emptyTrashOnExit"
|
||||
label="&emptyTrashOnExit.label;"
|
||||
|
@ -97,7 +102,8 @@
|
|||
|
||||
<hbox align="center">
|
||||
<spacer flex="1"/>
|
||||
<button label="&manageSubscriptions.label;" oncommand="manageSubscriptions();"
|
||||
<button label="&manageSubscriptions.label;"
|
||||
oncommand="openSubscriptionsDialog(null, gIncomingServer);"
|
||||
accesskey="&manageSubscriptions.accesskey;"/>
|
||||
</hbox>
|
||||
</page>
|
|
@ -0,0 +1,112 @@
|
|||
# -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public License Version
|
||||
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is Thunderbird Newsblog Overlay
|
||||
#
|
||||
# The Initial Developer of the Original Code is
|
||||
# The Mozilla Foundation.
|
||||
# Portions created by the Initial Developer are Copyright (C) 2005
|
||||
# the Initial Developer. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
# Scott MacGregor <mscott@mozilla.org>
|
||||
# David Bienvenu <bienvenu@nventure.com>
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the terms of
|
||||
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
# of those above. If you wish to allow use of your version of this file only
|
||||
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
# use your version of this file under the terms of the MPL, indicate your
|
||||
# decision by deleting the provisions above and replace them with the notice
|
||||
# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
# the provisions above, a recipient may use your version of this file under
|
||||
# the terms of any one of the MPL, the GPL or the LGPL.
|
||||
#
|
||||
# ***** END LICENSE BLOCK ******
|
||||
|
||||
function openSubscriptionsDialog(aFolder, aServer)
|
||||
{
|
||||
if (!aServer)
|
||||
aServer = aFolder.server;
|
||||
//check for an existing subscriptions window and focus it.
|
||||
const kWindowMediatorContractID = "@mozilla.org/appshell/window-mediator;1";
|
||||
const kWindowMediatorIID = Components.interfaces.nsIWindowMediator;
|
||||
const kWindowMediator = Components.classes[kWindowMediatorContractID]
|
||||
.getService(kWindowMediatorIID);
|
||||
var lastSubscriptionWindow =
|
||||
kWindowMediator.getMostRecentWindow("Mail:News-BlogSubscriptions");
|
||||
|
||||
if (lastSubscriptionWindow)
|
||||
{
|
||||
if (aFolder)
|
||||
lastSubscriptionWindow.gFeedSubscriptionsWindow.selectFolder(aFolder);
|
||||
lastSubscriptionWindow.focus();
|
||||
}
|
||||
else
|
||||
{
|
||||
window.openDialog("chrome://messenger-newsblog/content/feed-subscriptions.xul", "",
|
||||
"centerscreen,chrome,dialog=no,resizable",
|
||||
{ server: aServer, folder: aFolder});
|
||||
}
|
||||
}
|
||||
|
||||
// Special case attempts to reply/forward/edit as new RSS arrticles
|
||||
// Send the feed article URL instead of trying to load the feed inside of
|
||||
// an iframe. Bug #258278.
|
||||
function openComposeWindowForRSSArticle(msgHdr, type)
|
||||
{
|
||||
// convert our messageId into a url..
|
||||
var contentBase = msgHdr.messageId.replace("@localhost.localdomain", "");
|
||||
|
||||
var params = Components.classes["@mozilla.org/messengercompose/composeparams;1"]
|
||||
.createInstance(Components.interfaces.nsIMsgComposeParams);
|
||||
if (params)
|
||||
{
|
||||
params.composeFields = Components.classes['@mozilla.org/messengercompose/composefields;1']
|
||||
.createInstance(Components.interfaces.nsIMsgCompFields);
|
||||
if (params.composeFields)
|
||||
{
|
||||
params.composeFields.body = contentBase;
|
||||
var subject = msgHdr.mime2DecodedSubject;
|
||||
var msgComposeType = Components.interfaces.nsIMsgCompType;
|
||||
if (type == msgComposeType.Reply ||
|
||||
type == msgComposeType.ReplyAll ||
|
||||
type == msgComposeType.ReplyToSender ||
|
||||
type == msgComposeType.ReplyToGroup ||
|
||||
type == msgComposeType.ReplyToSenderAndGroup)
|
||||
subject = 'Re: ' + subject;
|
||||
else if (type == msgComposeType.ForwardInline ||
|
||||
type == msgComposeType.ForwardAsAttachment)
|
||||
subject = '[Fwd: ' + subject + ']';
|
||||
params.composeFields.subject = subject;
|
||||
params.composeFields.characterSet = msgHdr.Charset;
|
||||
params.bodyIsLink = true;
|
||||
|
||||
if (msgComposeService)
|
||||
{
|
||||
try
|
||||
{
|
||||
params.identity = msgComposeService.defaultIdentity;
|
||||
}
|
||||
catch (ex)
|
||||
{
|
||||
params.identity = null;
|
||||
}
|
||||
msgComposeService.OpenComposeWindowWithParams(null, params);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,7 +1,6 @@
|
|||
newsblog.jar:
|
||||
% content messenger-newsblog %content/messenger-newsblog/ xpcnativewrappers=yes
|
||||
% overlay chrome://messenger/content/mailWindowOverlay.xul chrome://messenger-newsblog/content/toolbar-icon.xul
|
||||
* content/messenger-newsblog/toolbar-icon.xul (content/toolbar-icon.xul)
|
||||
* content/messenger-newsblog/newsblogOverlay.js (content/newsblogOverlay.js)
|
||||
* content/messenger-newsblog/edittree.xml (content/edittree.xml)
|
||||
* content/messenger-newsblog/debug-utils.js (content/debug-utils.js)
|
||||
* content/messenger-newsblog/Feed.js (content/Feed.js)
|
|
@ -116,6 +116,7 @@ mailnews/extensions/mailviews/src/Makefile
|
|||
mailnews/extensions/mailviews/build/Makefile
|
||||
mailnews/extensions/mailviews/resources/Makefile
|
||||
mailnews/extensions/mailviews/resources/content/Makefile
|
||||
mailnews/extensions/newsblog/Makefile
|
||||
mailnews/extensions/offline-startup/Makefile
|
||||
mailnews/mapi/Makefile
|
||||
"
|
||||
|
|
|
@ -59,10 +59,11 @@
|
|||
<script type="application/x-javascript" src="chrome://communicator/content/defaultClientDialog.js"/>
|
||||
|
||||
<description>&defaultClient.intro;</description>
|
||||
<listbox rows="3" id="defaultList">
|
||||
<listbox rows="4" id="defaultList">
|
||||
<listitem value="BROWSER" type="checkbox" label="&browser.label;"/>
|
||||
<listitem value="MAIL" type="checkbox" label="&email.label;"/>
|
||||
<listitem value="NEWS" type="checkbox" label="&newsgroups.label;"/>
|
||||
<listitem value="RSS" type="checkbox" label="&rss.label;"/>
|
||||
</listbox>
|
||||
|
||||
<separator class="thin"/>
|
||||
|
|
|
@ -67,6 +67,7 @@ MOZ_NONLOCALIZED_PKG_LIST = \
|
|||
xpcom \
|
||||
browser \
|
||||
mail \
|
||||
newsblog \
|
||||
reporter \
|
||||
$(NULL)
|
||||
|
||||
|
|
|
@ -501,6 +501,9 @@ bin\components\msgMapi.dll
|
|||
bin\components\mapihook.xpt
|
||||
bin\components\mdn-service.js
|
||||
bin\components\offlineStartup.js
|
||||
bin\chrome\newsblog.jar
|
||||
bin\chrome\newsblog.manifest
|
||||
bin\components\newsblog.js
|
||||
|
||||
[chatzilla]
|
||||
bin\extensions\{59c81df5-4b7a-477b-912d-4e0fdf64e5f2}\components\chatzilla-service.js
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
<!ENTITY browser.label "Browser">
|
||||
<!ENTITY email.label "E-Mail">
|
||||
<!ENTITY newsgroups.label "Newsgroups">
|
||||
<!ENTITY rss.label "RSS Feeds">
|
||||
|
||||
<!ENTITY checkOnStartup.label "Always perform this check when starting &brandShortName;">
|
||||
<!ENTITY checkOnStartup.accesskey "A">
|
||||
|
|
|
@ -52,6 +52,8 @@ newSubfolderMenuItem=Subfolder…
|
|||
newFolder=New Folder…
|
||||
newSubfolder=New Subfolder…
|
||||
folderProperties=Folder Properties
|
||||
getMessages=Get Messages
|
||||
getMessagesFor=Get Messages For Account
|
||||
getNextNMessages=Get Next %S News Messages
|
||||
advanceNextPrompt=Advance to next unread message in %S?
|
||||
titleNewsPreHost=on
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
<!ENTITY newsblogTitle.label "RSS Account Settings">
|
||||
|
||||
<!ENTITY biffStart.label "Check for new articles every ">
|
||||
<!ENTITY biffStart.accesskey "k">
|
||||
<!ENTITY biffEnd.label "minutes">
|
||||
|
||||
<!ENTITY loginAtStartup.label "Check for new articles at startup">
|
||||
<!ENTITY loginAtStartup.accesskey "C">
|
||||
|
||||
<!ENTITY useQuickMode.label "By default, show the article summary instead of loading the web page">
|
||||
<!ENTITY useQuickMode.accesskey "B">
|
||||
|
||||
<!ENTITY manageSubscriptions.label "Manage Subscriptions…">
|
||||
<!ENTITY manageSubscriptions.accesskey "M">
|
||||
|
||||
<!-- entities from defaults/isp/rss.rdf -->
|
||||
<!ENTITY rss.accountName "News & Blogs">
|
||||
<!ENTITY rss.wizardShortName "RSS">
|
||||
<!ENTITY rss.wizardLongName "RSS News & Blogs">
|
||||
<!ENTITY rss.wizardLongName.accesskey "R">
|
|
@ -0,0 +1,2 @@
|
|||
## Strings used in the Account Manager
|
||||
prefPanel-newsblog=Feed Settings
|
|
@ -0,0 +1,19 @@
|
|||
<!-- Feed Properties Dialog -->
|
||||
<!ENTITY window.title "Feed Properties">
|
||||
|
||||
<!ENTITY feedFolder.label "Store Articles in: ">
|
||||
<!ENTITY feedFolder.accesskey "S">
|
||||
|
||||
<!ENTITY feedLocation.label "Feed URL: ">
|
||||
<!ENTITY feedLocation.accesskey "F">
|
||||
|
||||
<!ENTITY choosethisfolder.label "choose this folder">
|
||||
|
||||
<!ENTITY quickMode.label "Show the article summary instead of loading the web page">
|
||||
<!ENTITY quickMode.accesskey "h">
|
||||
|
||||
<!ENTITY copyLinkCmd.label "Copy Link Location">
|
||||
<!ENTITY copyLinkCmd.accesskey "C">
|
||||
|
||||
<!ENTITY pasteLinkCmd.label "Paste">
|
||||
<!ENTITY pasteLinkCmd.accesskey "P">
|
|
@ -0,0 +1,18 @@
|
|||
<!-- Subscription Dialog -->
|
||||
<!ENTITY newsBlogSubscriptions.label "RSS Subscriptions">
|
||||
<!ENTITY subscriptionDesc.label "Note: Removing or changing the folder for a feed will not affect previously downloaded articles.">
|
||||
<!ENTITY feedTitle.label "Title:">
|
||||
<!ENTITY location.label "Location:">
|
||||
|
||||
<!ENTITY button.addFeed.label "Add">
|
||||
<!ENTITY button.addFeed.accesskey "A">
|
||||
<!ENTITY button.editFeed.label "Edit">
|
||||
<!ENTITY button.editFeed.accesskey "E">
|
||||
<!ENTITY button.removeFeed.label "Remove">
|
||||
<!ENTITY button.removeFeed.accesskey "R">
|
||||
<!ENTITY button.importOPML.label "Import">
|
||||
<!ENTITY button.importOPML.accesskey "I">
|
||||
<!ENTITY button.exportOPML.label "Export">
|
||||
<!ENTITY button.exportOPML.accesskey "X">
|
||||
|
||||
<!ENTITY cmd.close.commandKey "w">
|
|
@ -0,0 +1,33 @@
|
|||
# Status strings used in the subscribe dialog
|
||||
|
||||
subscribe-validating=Verifying the RSS feed…
|
||||
subscribe-cancelSubscription=Are you sure you wish to cancel subscribing to the current feed?
|
||||
subscribe-cancelSubscriptionTitle=Subscribing to a Feed…
|
||||
subscribe-noFeedSelected=<no RSS feed selected>
|
||||
subscribe-feedAlreadySubscribed=You already have a subscription for this feed.
|
||||
subscribe-errorOpeningFile=Could not open the file.
|
||||
|
||||
subscribe-OPMLImportTitle=Select OPML file to import
|
||||
subscribe-OPMLExportTitle=Export feeds as an OPML file
|
||||
subscribe-OPMLExportFileTitle=SeaMonkey OPML Export
|
||||
subscribe-OPMLExportFileName=MySeaMonkeyFeeds.opml
|
||||
#LOCALIZATION NOTE: %S is the name of the OPML file the user tried to import.
|
||||
subscribe-errorInvalidOPMLFile=Either %S is not a valid OPML file or there was an error importing the file.
|
||||
|
||||
subscribe-OPMLExportOPMLFilesFilterText=OPML Files
|
||||
|
||||
#LOCALIZATION NOTE: %S is the name of the feed the user wants to unsubscribe from.
|
||||
subsribe-confirmFeedDeletionTitle=Remove Feed
|
||||
subsribe-confirmFeedDeletion=Are you sure you want to unsubscribe from the feed: \n %S?
|
||||
|
||||
# when downloading new feed items from the subscribe dialog.
|
||||
# LOCALIZATION NOTE: Do not translate %d in the following line.
|
||||
# The first %S will receive the number of messages received so far;
|
||||
# the second %S will receive the total number of messages
|
||||
subscribe-fetchingFeedItems=Downloading feed articles (%S of %S)
|
||||
|
||||
newsblog-noNewArticlesForFeed=There are no new articles for this feed.
|
||||
newsblog-networkError=%S could not be found. Please check the name and try again.
|
||||
newsblog-invalidFeed=%S is not a valid RSS feed.
|
||||
newsblog-getNewMailCheck=Checking RSS feeds for new items
|
||||
|
|
@ -51,6 +51,8 @@
|
|||
<!ENTITY setDefaultMail.accesskey "M">
|
||||
<!ENTITY setDefaultNews.label "News">
|
||||
<!ENTITY setDefaultNews.accesskey "N">
|
||||
<!ENTITY setDefaultFeed.label "Feeds">
|
||||
<!ENTITY setDefaultFeed.accesskey "e">
|
||||
|
||||
<!ENTITY messengerStartPage.caption "Mail Start Page">
|
||||
<!ENTITY enableStartPage.label "When Mail launches, show the Start Page in the message area">
|
||||
|
@ -60,7 +62,7 @@
|
|||
<!ENTITY useDefault.label "Restore Default">
|
||||
<!ENTITY useDefault.accesskey "D">
|
||||
<!ENTITY rememberLastMsg.label "Remember the last selected message">
|
||||
<!ENTITY rememberLastMsg.accesskey "e">
|
||||
<!ENTITY rememberLastMsg.accesskey "R">
|
||||
<!ENTITY toolbarIntro.caption "Select the buttons you want to see in the toolbar">
|
||||
<!ENTITY fileButton.label "File">
|
||||
<!ENTITY fileButton.accesskey "F">
|
||||
|
|
|
@ -45,6 +45,7 @@ client, supporting advanced junk mail detection and other useful features.">
|
|||
<!ENTITY features.title "Features">
|
||||
<!ENTITY feat_multiacc.label "Support for multiple accounts">
|
||||
<!ENTITY feat_junk.label "Junk Mail detection">
|
||||
<!ENTITY feat_rss.label "RSS Reader">
|
||||
<!ENTITY feat_filters.label "Message Filters">
|
||||
<!ENTITY feat_htmlmsg.label "HTML message support">
|
||||
<!ENTITY feat_abook.label "Address Book">
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
#ifdef MOZ_PSM
|
||||
% locale messenger-smime @AB_CD@ %locale/@AB_CD@/messenger-smime/
|
||||
#endif
|
||||
% locale messenger-newsblog @AB_CD@ %locale/@AB_CD@/messenger-newsblog/
|
||||
% locale mozldap @AB_CD@ %locale/@AB_CD@/mozldap/
|
||||
% locale navigator @AB_CD@ %locale/@AB_CD@/navigator/
|
||||
% locale navigator-platform @AB_CD@ %locale/@AB_CD@/navigator-platform/
|
||||
|
@ -314,6 +315,11 @@
|
|||
locale/@AB_CD@/messenger-smime/msgReadSMIMEOverlay.properties (%chrome/mailnews/smime/msgReadSMIMEOverlay.properties)
|
||||
locale/@AB_CD@/messenger-smime/msgSecurityInfo.properties (%chrome/mailnews/smime/msgSecurityInfo.properties)
|
||||
#endif
|
||||
locale/@AB_CD@/messenger-newsblog/newsblog.properties (%chrome/mailnews/newsblog/newsblog.properties)
|
||||
locale/@AB_CD@/messenger-newsblog/feed-subscriptions.dtd (%chrome/mailnews/newsblog/feed-subscriptions.dtd)
|
||||
locale/@AB_CD@/messenger-newsblog/feed-properties.dtd (%chrome/mailnews/newsblog/feed-properties.dtd)
|
||||
locale/@AB_CD@/messenger-newsblog/am-newsblog.properties (%chrome/mailnews/newsblog/am-newsblog.properties)
|
||||
locale/@AB_CD@/messenger-newsblog/am-newsblog.dtd (%chrome/mailnews/newsblog/am-newsblog.dtd)
|
||||
locale/@AB_CD@/mozldap/ldap.properties (%chrome/mozldap/ldap.properties)
|
||||
locale/@AB_CD@/navigator/linkToolbar.dtd (%chrome/browser/linkToolbar.dtd)
|
||||
locale/@AB_CD@/navigator/mailNavigatorOverlay.dtd (%chrome/browser/mailNavigatorOverlay.dtd)
|
||||
|
|
|
@ -50,6 +50,7 @@ interface nsIShellService : nsISupports
|
|||
const unsigned short BROWSER = 0x0001;
|
||||
const unsigned short MAIL = 0x0002;
|
||||
const unsigned short NEWS = 0x0004;
|
||||
const unsigned short RSS = 0x0008;
|
||||
|
||||
/**
|
||||
* Determines whether or not SeaMonkey is the "Default Client" for the
|
||||
|
@ -61,7 +62,7 @@ interface nsIShellService : nsISupports
|
|||
* @param aStartupCheck true if this is the check being performed
|
||||
* by the first window at startup,
|
||||
* false otherwise.
|
||||
* @param aApps the application types being tested (Browser, Mail, News)
|
||||
* @param aApps the application types being tested (Browser, Mail, News, RSS)
|
||||
*/
|
||||
boolean isDefaultClient(in boolean aStartupCheck, in unsigned short aApps);
|
||||
|
||||
|
@ -75,7 +76,7 @@ interface nsIShellService : nsISupports
|
|||
* @param aClaimAllTypes Register SeaMonkey as the handler for
|
||||
* additional protocols (ftp, chrome etc)
|
||||
* and web documents (.html, .xhtml etc).
|
||||
* @param aApps the application types being tested (Mail, News, Browser)
|
||||
* @param aApps the application types being tested (Mail, News, Browser, RSS)
|
||||
*/
|
||||
void setDefaultClient(in boolean aForAllUsers, in boolean aClaimAllTypes, in unsigned short aApps);
|
||||
|
||||
|
|
|
@ -40,6 +40,8 @@
|
|||
* This component handles the startup command line arguments of the form:
|
||||
* -setDefaultBrowser
|
||||
* -setDefaultMail
|
||||
* -setDefaultNews
|
||||
* -setDefaultFeed
|
||||
*/
|
||||
|
||||
const nsIShellService = Components.interfaces.nsIShellService;
|
||||
|
@ -66,11 +68,17 @@ nsSetDefault.prototype = {
|
|||
.getService(nsIShellService);
|
||||
shell.setDefaultClient(true, true, nsIShellService.NEWS);
|
||||
}
|
||||
else if (aCmdline.handleFlag("setDefaultFeed", false)) {
|
||||
var shell = Components.classes["@mozilla.org/browser/shell-service;1"]
|
||||
.getService(nsIShellService);
|
||||
shell.setDefaultClient(true, true, nsIShellService.RSS);
|
||||
}
|
||||
},
|
||||
|
||||
helpInfo: " -setDefaultBrowser Set this app as the default browser client.\n" +
|
||||
" -setDefaultMail Set this app as the default mail client.\n" +
|
||||
" -setDefaultNews Set this app as the default newsreader.\n",
|
||||
" -setDefaultNews Set this app as the default newsreader.\n" +
|
||||
" -setDefaultFeed Set this app as the default feedreader.\n",
|
||||
|
||||
classDescription: "Set Default Suite Cmdline Handler",
|
||||
contractID: "@mozilla.org/suite/default-browser-clh;1",
|
||||
|
|
|
@ -301,6 +301,7 @@ typedef enum {
|
|||
#define CLS_EML "SeaMonkeyEML"
|
||||
#define CLS_MAILTOURL "SeaMonkeyCOMPOSE"
|
||||
#define CLS_NEWSURL "SeaMonkeyNEWS"
|
||||
#define CLS_FEEDURL "SeaMonkeyFEED"
|
||||
#define SMI "SOFTWARE\\Clients\\StartMenuInternet\\"
|
||||
#define MAILCLIENTS "SOFTWARE\\Clients\\Mail\\"
|
||||
#define NEWSCLIENTS "SOFTWARE\\Clients\\News\\"
|
||||
|
@ -494,6 +495,14 @@ static SETTING gBrowserSettings[] = {
|
|||
APP_PATH_SUBSTITUTION | APP_NAME_SUBSTITUTION | HKLM_ONLY },
|
||||
};
|
||||
|
||||
static SETTING gFeedSettings[] = {
|
||||
// Protocol Handler Class - for Vista and above
|
||||
{ MAKE_KEY_NAME1(CLS_FEEDURL, SOP), "", "\"%APPPATH%\" -osint -mail \"%1\"", APP_PATH_SUBSTITUTION },
|
||||
|
||||
// Protocol Handlers
|
||||
{ MAKE_KEY_NAME1("feed", SOP), "", "\"%APPPATH%\" -osint -mail \"%1\"", APP_PATH_SUBSTITUTION },
|
||||
};
|
||||
|
||||
/* helper routine. Iterate over the passed in settings object,
|
||||
testing each key with the USE_FOR_DEFAULT_TEST to see if
|
||||
we are handling it.
|
||||
|
@ -701,6 +710,9 @@ nsWindowsShellService::IsDefaultClient(PRBool aStartupCheck, PRUint16 aApps, PRB
|
|||
*aIsDefaultClient &= TestForDefault(gMailSettings, sizeof(gMailSettings)/sizeof(SETTING));
|
||||
if (aApps & nsIShellService::NEWS)
|
||||
*aIsDefaultClient &= TestForDefault(gNewsSettings, sizeof(gNewsSettings)/sizeof(SETTING));
|
||||
// RSS / feed protocol shell integration is to be completed in bug 453797.
|
||||
// if (aApps & nsIShellService::RSS)
|
||||
// *aIsDefaultClient &= TestForDefault(gFeedSettings, sizeof(gFeedSettings)/sizeof(SETTING));
|
||||
#endif
|
||||
|
||||
// If this is the first application window, maintain internal state that we've
|
||||
|
|
|
@ -4,6 +4,7 @@ classic.jar:
|
|||
% skin global classic/1.0 %skin/classic/global/
|
||||
% skin messenger classic/1.0 %skin/classic/messenger/
|
||||
% skin navigator classic/1.0 %skin/classic/navigator/
|
||||
% skin messenger-newsblog classic/1.0 %skin/classic/messenger-newsblog/
|
||||
skin/classic/communicator/tasksOverlay.css (communicator/tasksOverlay.css)
|
||||
#ifdef XP_MACOSX
|
||||
skin/classic/communicator/button.css (communicator/mac/button.css)
|
||||
|
@ -291,6 +292,7 @@ classic.jar:
|
|||
skin/classic/messenger/smime/icons/hdrSignNotOk.gif (messenger/smime/icons/hdrSignNotOk.gif)
|
||||
skin/classic/messenger/smime/icons/hdrCryptoOk.gif (messenger/smime/icons/hdrCryptoOk.gif)
|
||||
skin/classic/messenger/smime/icons/hdrCryptoNotOk.gif (messenger/smime/icons/hdrCryptoNotOk.gif)
|
||||
skin/classic/messenger-newsblog/feed-subscriptions.css (messenger/newsblog/feed-subscriptions.css)
|
||||
skin/classic/navigator/navigator.css (navigator/navigator.css)
|
||||
skin/classic/navigator/linkToolbar.css (navigator/linkToolbar.css)
|
||||
skin/classic/navigator/pageInfo.css (navigator/pageInfo.css)
|
||||
|
|
|
@ -118,6 +118,10 @@ separator.thin {
|
|||
list-style-image: url("chrome://messenger/skin/icons/acct-subscribe.png");
|
||||
}
|
||||
|
||||
#SubscribeRSS {
|
||||
list-style-image: url("chrome://messenger/skin/icons/acct-subscribe.png");
|
||||
}
|
||||
|
||||
#SearchMessages {
|
||||
list-style-image: url("chrome://messenger/skin/icons/acct-search.png");
|
||||
}
|
||||
|
|
|
@ -52,6 +52,11 @@
|
|||
list-style-image: url("chrome://messenger/skin/icons/folder-open.png");
|
||||
}
|
||||
|
||||
.folderMenuItem[ServerType="rss"],
|
||||
.folderMenuItem[ServerType="nntp"] {
|
||||
list-style-image: url("chrome://messenger/skin/icons/folder-newsgroup.png");
|
||||
}
|
||||
|
||||
/* ..... special folders ..... */
|
||||
|
||||
.folderMenuItem[SpecialFolder="Inbox"] {
|
||||
|
@ -106,6 +111,8 @@ list-style-image: url("chrome://messenger/skin/icons/folder-open.png");
|
|||
list-style-image: url("chrome://messenger/skin/icons/folder-search.png");
|
||||
}
|
||||
|
||||
/* ..... servers ..... */
|
||||
|
||||
.folderMenuItem[IsServer="true"] {
|
||||
list-style-image: url("chrome://messenger/skin/icons/server-mail.png");
|
||||
}
|
||||
|
@ -114,31 +121,26 @@ list-style-image: url("chrome://messenger/skin/icons/folder-open.png");
|
|||
list-style-image: url("chrome://messenger/skin/icons/server-mail.png");
|
||||
}
|
||||
|
||||
/* IMAP folders */
|
||||
.folderMenuItem[IsServer="true"][ServerType="imap"][IsSecure="true"] {
|
||||
list-style-image: url("chrome://messenger/skin/icons/server-remote-lock.png");
|
||||
}
|
||||
|
||||
/* POP3 folders */
|
||||
.folderMenuItem[IsServer="true"][ServerType="pop3"][IsSecure="true"] {
|
||||
list-style-image: url("chrome://messenger/skin/icons/server-remote-lock.png");
|
||||
}
|
||||
|
||||
/* Local Servers */
|
||||
.folderMenuItem[IsServer="true"][ServerType="none"] {
|
||||
list-style-image: url("chrome://messenger/skin/icons/server-local.png");
|
||||
}
|
||||
|
||||
/* News folders */
|
||||
.folderMenuItem[ServerType="nntp"] {
|
||||
list-style-image: url("chrome://messenger/skin/icons/folder-newsgroup.png");
|
||||
}
|
||||
|
||||
.folderMenuItem[IsServer="true"][ServerType="nntp"][IsSecure="true"] {
|
||||
list-style-image: url("chrome://messenger/skin/icons/server-news-lock.png");
|
||||
}
|
||||
|
||||
.folderMenuItem[IsServer="true"][ServerType="nntp"] {
|
||||
list-style-image: url("chrome://messenger/skin/icons/server-news.png");
|
||||
}
|
||||
|
||||
.folderMenuItem[IsServer="true"][ServerType="nntp"][IsSecure="true"] {
|
||||
list-style-image: url("chrome://messenger/skin/icons/server-news-lock.png");
|
||||
}
|
||||
|
||||
.folderMenuItem[IsServer="true"][ServerType="rss"] {
|
||||
list-style-image: url("chrome://communicator/skin/icons/feedIcon16.png");
|
||||
}
|
||||
|
|
|
@ -56,6 +56,18 @@ treechildren::-moz-tree-image(folderNameCol, newMessages-true) {
|
|||
list-style-image: url("chrome://messenger/skin/icons/folder-new.png");
|
||||
}
|
||||
|
||||
/* ..... News and Feeds ..... */
|
||||
|
||||
treechildren::-moz-tree-image(folderNameCol, serverType-nntp),
|
||||
treechildren::-moz-tree-image(folderNameCol, serverType-rss) {
|
||||
list-style-image: url("chrome://messenger/skin/icons/folder-newsgroup.png");
|
||||
}
|
||||
|
||||
treechildren::-moz-tree-image(folderNameCol, serverType-nntp, newMessages-true),
|
||||
treechildren::-moz-tree-image(folderNameCol, serverType-rss, newMessages-true) {
|
||||
list-style-image: url("chrome://messenger/skin/icons/folder-newsgroup-new.png");
|
||||
}
|
||||
|
||||
/* ..... Inbox ..... */
|
||||
|
||||
treechildren::-moz-tree-image(folderNameCol, specialFolder-Inbox) {
|
||||
|
@ -108,14 +120,6 @@ treechildren::-moz-tree-image(folderNameCol, specialFolder-Virtual) {
|
|||
list-style-image: url("chrome://messenger/skin/icons/folder-search.png");
|
||||
}
|
||||
|
||||
treechildren::-moz-tree-image(folderNameCol, isServer-true) {
|
||||
list-style-image: url("chrome://messenger/skin/icons/server-mail.png");
|
||||
}
|
||||
|
||||
treechildren::-moz-tree-image(folderNameCol, biffState-NewMail, isServer-true) {
|
||||
list-style-image: url("chrome://messenger/skin/icons/server-mail-new.png");
|
||||
}
|
||||
|
||||
treechildren::-moz-tree-cell-text(folderNameCol, newMessages-true),
|
||||
treechildren::-moz-tree-cell-text(folderNameCol, specialFolder-Inbox, newMessages-true) {
|
||||
font-weight: bold;
|
||||
|
@ -125,9 +129,16 @@ treechildren::-moz-tree-image(folderNameCol, imapShared-true) {
|
|||
list-style-image: url("chrome://messenger/skin/icons/folder-share.png");
|
||||
}
|
||||
|
||||
|
||||
/* ..... Server Folders ..... */
|
||||
|
||||
treechildren::-moz-tree-image(folderNameCol, isServer-true) {
|
||||
list-style-image: url("chrome://messenger/skin/icons/server-mail.png");
|
||||
}
|
||||
|
||||
treechildren::-moz-tree-image(folderNameCol, biffState-NewMail, isServer-true) {
|
||||
list-style-image: url("chrome://messenger/skin/icons/server-mail-new.png");
|
||||
}
|
||||
|
||||
treechildren::-moz-tree-image(folderNameCol, isServer-true, serverType-pop3, isSecure-true) {
|
||||
list-style-image: url("chrome://messenger/skin/icons/server-remote-lock.png");
|
||||
}
|
||||
|
@ -144,12 +155,6 @@ treechildren::-moz-tree-image(folderNameCol, isServer-true, serverType-none) {
|
|||
list-style-image: url("chrome://messenger/skin/icons/server-local.png");
|
||||
}
|
||||
|
||||
/* ..... News Folders ..... */
|
||||
|
||||
treechildren::-moz-tree-image(folderNameCol, serverType-nntp) {
|
||||
list-style-image: url("chrome://messenger/skin/icons/folder-newsgroup.png");
|
||||
}
|
||||
|
||||
treechildren::-moz-tree-image(folderNameCol, isServer-true, serverType-nntp) {
|
||||
list-style-image: url("chrome://messenger/skin/icons/server-news.png");
|
||||
}
|
||||
|
@ -158,6 +163,10 @@ treechildren::-moz-tree-image(folderNameCol, isServer-true, serverType-nntp, isS
|
|||
list-style-image: url("chrome://messenger/skin/icons/server-news-lock.png");
|
||||
}
|
||||
|
||||
treechildren::-moz-tree-image(folderNameCol, isServer-true, serverType-rss) {
|
||||
list-style-image: url("chrome://communicator/skin/icons/feedIcon16.png");
|
||||
}
|
||||
|
||||
/* ::::: All Servers ::::: */
|
||||
|
||||
treechildren::-moz-tree-cell-text(closed, subfoldersHaveUnreadMessages-true) {
|
||||
|
|
|
@ -164,3 +164,11 @@ span.moz-txt-formfeed {
|
|||
cursor: -moz-zoom-in;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
/* Correct style for messages already converted from RSS to HTML email;
|
||||
see bug 363154. */
|
||||
|
||||
#\_mailrssiframe {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
|
|
@ -36,26 +36,32 @@
|
|||
*
|
||||
* ***** END LICENSE BLOCK ****** */
|
||||
|
||||
/* ::::: Folder Pane icons :::::: */
|
||||
.tabmail-tab[type="folder"][ServerType="rss"] .tab-icon-image ,
|
||||
treechildren::-moz-tree-image(folderNameCol, serverType-rss),
|
||||
.folderMenuItem[ServerType="rss"] {
|
||||
list-style-image: url("chrome://messenger/skin/icons/message-news.png");
|
||||
/* ::::: Feed Subscription UI icons :::::: */
|
||||
|
||||
#contentPane {
|
||||
padding: 14px;
|
||||
}
|
||||
|
||||
treechildren::-moz-tree-image(folderNameCol, isServer-true, serverType-rss),
|
||||
.folderMenuItem[IsServer="true"][ServerType="rss"] {
|
||||
list-style-image: url("chrome://messenger/skin/icons/server-newsblog.png");
|
||||
#subscriptionChildren::-moz-tree-image(folderNameCol) {
|
||||
margin-right: 2px;
|
||||
list-style-image: url("chrome://messenger/skin/icons/folder-newsgroup.png");
|
||||
}
|
||||
|
||||
.tabmail-tab[type="folder"][SpecialFolder="Trash"][ServerType="rss"] .tab-icon-image ,
|
||||
treechildren::-moz-tree-image(folderNameCol, specialFolder-Trash),
|
||||
.folderMenuItem[SpecialFolder="Trash"] {
|
||||
list-style-image: url("chrome://messenger/skin/icons/folder-trash.png");
|
||||
#subscriptionChildren::-moz-tree-image(folderNameCol, container) {
|
||||
list-style-image: url("chrome://messenger/skin/icons/folder-closed.png");
|
||||
}
|
||||
|
||||
/* ..... Saved Search Folder, Hack to force the saved search artwork to show up for virtual folders in RSS accounts ..... */
|
||||
.tabmail-tab[type="folder"][SpecialFolder="Virtual"][ServerType="rss"] .tab-icon-image ,
|
||||
treechildren::-moz-tree-image(folderNameCol, serverType-rss, specialFolder-Virtual) {
|
||||
list-style-image: url("chrome://messenger-newsblog/skin/icons/folder-search-rss.png");
|
||||
#subscriptionChildren::-moz-tree-image(folderNameCol, container, open) {
|
||||
list-style-image: url("chrome://messenger/skin/icons/folder-open.png");
|
||||
}
|
||||
|
||||
#rssFeedInfoBox {
|
||||
border: 1px solid ThreeDShadow;
|
||||
-moz-border-radius: 0px;
|
||||
margin: 4px;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
#backgroundBox {
|
||||
background-color: ThreeDLightShadow;
|
||||
}
|
|
@ -222,6 +222,7 @@ treechildren::-moz-tree-image(subjectCol, imapdeleted, offline) {
|
|||
list-style-image: url("chrome://messenger/skin/icons/message-mail-delete-offl.png");
|
||||
}
|
||||
|
||||
treechildren::-moz-tree-image(subjectCol, rss),
|
||||
treechildren::-moz-tree-image(subjectCol, news) {
|
||||
list-style-image: url("chrome://messenger/skin/icons/message-news.png");
|
||||
}
|
||||
|
@ -234,6 +235,7 @@ tree[noattachcol="true"] > treechildren::-moz-tree-image(subjectCol, news, attac
|
|||
list-style-image: url("chrome://messenger/skin/icons/message-news-attach-offl.png");
|
||||
}
|
||||
|
||||
treechildren::-moz-tree-image(subjectCol, rss, new),
|
||||
treechildren::-moz-tree-image(subjectCol, news, new) {
|
||||
list-style-image: url("chrome://messenger/skin/icons/message-news-new.png");
|
||||
}
|
||||
|
|
|
@ -104,6 +104,7 @@ textbox[readonly="true"] {
|
|||
/* ::::: plain textbox ::::: */
|
||||
|
||||
textbox.plain {
|
||||
background-color: transparent;
|
||||
margin: 0px !important;
|
||||
border: none !important;
|
||||
padding: 0px !important;
|
||||
|
|
|
@ -5,6 +5,7 @@ modern.jar:
|
|||
% skin help modern/1.0 %skin/modern/help/
|
||||
% skin messenger modern/1.0 %skin/modern/messenger/
|
||||
% skin navigator modern/1.0 %skin/modern/navigator/
|
||||
% skin messenger-newsblog modern/1.0 %skin/modern/messenger-newsblog/
|
||||
skin/modern/communicator/brand.css (communicator/brand.css)
|
||||
skin/modern/communicator/prefpanels.css (communicator/prefpanels.css)
|
||||
skin/modern/communicator/preferences.css (communicator/preferences.css)
|
||||
|
@ -442,6 +443,7 @@ modern.jar:
|
|||
skin/modern/messenger/smime/icons/hdrSignNotOk.gif (messenger/smime/icons/hdrSignNotOk.gif)
|
||||
skin/modern/messenger/smime/icons/hdrCryptoOk.gif (messenger/smime/icons/hdrCryptoOk.gif)
|
||||
skin/modern/messenger/smime/icons/hdrCryptoNotOk.gif (messenger/smime/icons/hdrCryptoNotOk.gif)
|
||||
skin/modern/messenger-newsblog/feed-subscriptions.css (messenger/newsblog/feed-subscriptions.css)
|
||||
skin/modern/navigator/linkToolbar.css (navigator/linkToolbar.css)
|
||||
skin/modern/navigator/navigator.css (navigator/navigator.css)
|
||||
skin/modern/navigator/pageInfo.css (navigator/pageInfo.css)
|
||||
|
|
|
@ -117,6 +117,10 @@ separator.thin {
|
|||
list-style-image: url("chrome://messenger/skin/icons/acct-subscribe.gif");
|
||||
}
|
||||
|
||||
#SubscribeRSS {
|
||||
list-style-image: url("chrome://messenger/skin/icons/acct-subscribe.gif");
|
||||
}
|
||||
|
||||
#SearchMessages {
|
||||
list-style-image: url("chrome://messenger/skin/icons/acct-search.gif");
|
||||
}
|
||||
|
|
|
@ -51,6 +51,11 @@
|
|||
list-style-image: url("chrome://messenger/skin/icons/folder-open.gif");
|
||||
}
|
||||
|
||||
.folderMenuItem[ServerType="rss"],
|
||||
.folderMenuItem[ServerType="nntp"] {
|
||||
list-style-image: url("chrome://messenger/skin/icons/folder-newsgroup.gif");
|
||||
}
|
||||
|
||||
/* ..... special folders ..... */
|
||||
|
||||
.folderMenuItem[SpecialFolder="Inbox"] {
|
||||
|
@ -123,16 +128,14 @@
|
|||
list-style-image: url("chrome://messenger/skin/icons/server-local.gif");
|
||||
}
|
||||
|
||||
/* ..... newsgroups ..... */
|
||||
.folderMenuItem[IsServer="true"][ServerType="nntp"] {
|
||||
list-style-image: url("chrome://messenger/skin/icons/server-news.gif");
|
||||
}
|
||||
|
||||
.folderMenuItem[IsServer="true"][ServerType="nntp"][IsSecure="true"] {
|
||||
list-style-image: url("chrome://messenger/skin/icons/server-news-lock.gif");
|
||||
}
|
||||
|
||||
.folderMenuItem[IsServer="true"][ServerType="nntp"] {
|
||||
list-style-image: url("chrome://messenger/skin/icons/server-news.gif");
|
||||
}
|
||||
|
||||
.folderMenuItem[ServerType="nntp"] {
|
||||
list-style-image: url("chrome://messenger/skin/icons/folder-newsgroup.gif");
|
||||
.folderMenuItem[IsServer="true"][ServerType="rss"] {
|
||||
list-style-image: url("chrome://communicator/skin/icons/feedIcon16.png");
|
||||
}
|
||||
|
|
|
@ -54,6 +54,18 @@ treechildren::-moz-tree-image(folderNameCol, newMessages-true) {
|
|||
list-style-image: url("chrome://messenger/skin/icons/folder-new.gif");
|
||||
}
|
||||
|
||||
/* ..... News and Feeds ..... */
|
||||
|
||||
treechildren::-moz-tree-image(folderNameCol, serverType-nntp),
|
||||
treechildren::-moz-tree-image(folderNameCol, serverType-rss) {
|
||||
list-style-image: url("chrome://messenger/skin/icons/folder-newsgroup.gif");
|
||||
}
|
||||
|
||||
treechildren::-moz-tree-image(folderNameCol, serverType-nntp, newMessages-true),
|
||||
treechildren::-moz-tree-image(folderNameCol, serverType-rss, newMessages-true) {
|
||||
list-style-image: url("chrome://messenger/skin/icons/folder-newsgroup-new.gif");
|
||||
}
|
||||
|
||||
/* ..... Inbox ..... */
|
||||
|
||||
treechildren::-moz-tree-image(folderNameCol, specialFolder-Inbox) {
|
||||
|
@ -89,7 +101,6 @@ treechildren::-moz-tree-image(folderNameCol, specialFolder-Unsent Messages) {
|
|||
}
|
||||
|
||||
/* ..... Junk ..... */
|
||||
|
||||
treechildren::-moz-tree-image(folderNameCol, specialFolder-Junk) {
|
||||
list-style-image: url("chrome://messenger/skin/icons/folder-junk.gif");
|
||||
}
|
||||
|
@ -106,11 +117,12 @@ treechildren::-moz-tree-image(folderNameCol, specialFolder-Virtual) {
|
|||
list-style-image: url("chrome://messenger/skin/icons/folder-search.gif");
|
||||
}
|
||||
|
||||
/* ...... Shared ..... */
|
||||
|
||||
treechildren::-moz-tree-image(folderNameCol, imapShared-true) {
|
||||
list-style-image: url("chrome://messenger/skin/icons/folder-share.gif");
|
||||
}
|
||||
|
||||
|
||||
/* ..... Server Folders ..... */
|
||||
|
||||
treechildren::-moz-tree-image(folderNameCol, isServer-true) {
|
||||
|
@ -137,14 +149,6 @@ treechildren::-moz-tree-image(folderNameCol, isServer-true, serverType-none) {
|
|||
list-style-image: url("chrome://messenger/skin/icons/server-local.gif");
|
||||
}
|
||||
|
||||
/* ..... News Folders ..... */
|
||||
|
||||
treechildren::-moz-tree-image(folderNameCol, serverType-nntp) {
|
||||
list-style-image: url("chrome://messenger/skin/icons/folder-newsgroup.gif");
|
||||
}
|
||||
|
||||
/* ..... News Servers ..... */
|
||||
|
||||
treechildren::-moz-tree-image(folderNameCol, isServer-true, serverType-nntp) {
|
||||
list-style-image: url("chrome://messenger/skin/icons/server-news.gif");
|
||||
}
|
||||
|
@ -153,6 +157,10 @@ treechildren::-moz-tree-image(folderNameCol, isServer-true, serverType-nntp, isS
|
|||
list-style-image: url("chrome://messenger/skin/icons/server-news-lock.gif");
|
||||
}
|
||||
|
||||
treechildren::-moz-tree-image(folderNameCol, isServer-true, serverType-rss) {
|
||||
list-style-image: url("chrome://communicator/skin/icons/feedIcon16.png");
|
||||
}
|
||||
|
||||
/* ::::: All Servers ::::: */
|
||||
|
||||
treechildren::-moz-tree-cell-text(closed, subfoldersHaveUnreadMessages-true)
|
||||
|
|
|
@ -167,3 +167,11 @@ span.moz-txt-formfeed {
|
|||
cursor: -moz-zoom-in;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
/* Correct style for messages already converted from RSS to HTML email;
|
||||
see bug 363154. */
|
||||
|
||||
#\_mailrssiframe {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
|
|
@ -36,37 +36,32 @@
|
|||
*
|
||||
* ***** END LICENSE BLOCK ****** */
|
||||
|
||||
/* ::::: Folder Pane icons :::::: */
|
||||
.tabmail-tab[type="folder"][ServerType="rss"] .tab-icon-image ,
|
||||
treechildren::-moz-tree-image(folderNameCol, serverType-rss),
|
||||
.folderMenuItem[ServerType="rss"] {
|
||||
list-style-image: url("chrome://messenger-newsblog/skin/icons/rss-feed.png");
|
||||
-moz-image-region: rect(0 16px 16px 0);
|
||||
/* ::::: Feed Subscription UI icons :::::: */
|
||||
|
||||
#contentPane {
|
||||
padding: 14px;
|
||||
}
|
||||
|
||||
treechildren::-moz-tree-image(folderNameCol, serverType-rss, newMessages-true) {
|
||||
-moz-image-region: rect(16px 16px 32px 0);
|
||||
#subscriptionChildren::-moz-tree-image(folderNameCol) {
|
||||
margin-right: 2px;
|
||||
list-style-image: url("chrome://messenger/skin/icons/folder-newsgroup.gif");
|
||||
}
|
||||
|
||||
treechildren::-moz-tree-image(folderNameCol, isServer-true, serverType-rss),
|
||||
.folderMenuItem[IsServer="true"][ServerType="rss"] {
|
||||
list-style-image: url("chrome://messenger-newsblog/skin/icons/server-rss.png");
|
||||
#subscriptionChildren::-moz-tree-image(folderNameCol, container) {
|
||||
list-style-image: url("chrome://messenger/skin/icons/folder-closed.gif");
|
||||
}
|
||||
|
||||
.tabmail-tab[type="folder"][SpecialFolder="Trash"][ServerType="rss"] .tab-icon-image ,
|
||||
treechildren::-moz-tree-image(folderNameCol, specialFolder-Trash),
|
||||
.folderMenuItem[SpecialFolder="Trash"] {
|
||||
list-style-image: url("chrome://messenger/skin/icons/folder.png");
|
||||
-moz-image-region: rect(0 144px 16px 128px);
|
||||
#subscriptionChildren::-moz-tree-image(folderNameCol, container, open) {
|
||||
list-style-image: url("chrome://messenger/skin/icons/folder-open.gif");
|
||||
}
|
||||
|
||||
/* ..... Saved Search Folder, Hack to force the saved search artwork to show up for virtual folders in RSS accounts ..... */
|
||||
.tabmail-tab[type="folder"][SpecialFolder="Virtual"][ServerType="rss"] .tab-icon-image ,
|
||||
treechildren::-moz-tree-image(folderNameCol, serverType-rss, specialFolder-Virtual) {
|
||||
list-style-image: url("chrome://messenger/skin/icons/folder.png");
|
||||
-moz-image-region: rect(0 176px 16px 160px);
|
||||
#rssFeedInfoBox {
|
||||
border: 1px solid #2D3B49;
|
||||
-moz-border-radius: 0px;
|
||||
margin: 4px;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
treechildren::-moz-tree-image(folderNameCol, serverType-rss, specialFolder-Virtual, newMessages-true) {
|
||||
-moz-image-region: rect(16px 176px 32px 160px);
|
||||
#backgroundBox {
|
||||
background-color: #BBC6D1;
|
||||
}
|
|
@ -257,6 +257,7 @@ treechildren::-moz-tree-image(subjectCol, imapdeleted, offline) {
|
|||
list-style-image: url("chrome://messenger/skin/icons/message-mail-delete-offl.gif");
|
||||
}
|
||||
|
||||
treechildren::-moz-tree-image(subjectCol, rss),
|
||||
treechildren::-moz-tree-image(subjectCol, news) {
|
||||
list-style-image: url("chrome://messenger/skin/icons/message-news.gif");
|
||||
}
|
||||
|
@ -269,6 +270,7 @@ tree[noattachcol="true"] > treechildren::-moz-tree-image(subjectCol, news, attac
|
|||
list-style-image: url("chrome://messenger/skin/icons/message-news-attach-offl.gif");
|
||||
}
|
||||
|
||||
treechildren::-moz-tree-image(subjectCol, rss, new),
|
||||
treechildren::-moz-tree-image(subjectCol, news, new) {
|
||||
list-style-image: url("chrome://messenger/skin/icons/message-news-new.gif");
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче