Bug 505056 Port bug 314124 Folder Pane Popup over folders with unseen messages f=InvisibleSmiley ui-r=stefanh r=Neil sr=Mnyromyr.

This commit is contained in:
Philip Chee 2012-07-07 17:30:40 +08:00
Родитель f8b801cb0d
Коммит 000b028743
4 изменённых файлов: 46 добавлений и 12 удалений

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

@ -314,6 +314,11 @@ pref("browser.offline-apps.notify", true);
pref("browser.formfill.expire_days", 180); pref("browser.formfill.expire_days", 180);
pref("mail.biff.alert.show_preview", true);
pref("mail.biff.alert.show_subject", true);
pref("mail.biff.alert.show_sender", true);
pref("mail.biff.alert.preview_length", 40);
pref("mailnews.ui.deleteMarksRead", true); pref("mailnews.ui.deleteMarksRead", true);
pref("spellchecker.dictionaries.download.url", "chrome://branding/locale/brand.properties"); pref("spellchecker.dictionaries.download.url", "chrome://branding/locale/brand.properties");

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

@ -210,7 +210,7 @@
anonid="headerValue" flex="1" readonly="true" context="copyUrlPopup"/> anonid="headerValue" flex="1" readonly="true" context="copyUrlPopup"/>
</xul:hbox> </xul:hbox>
</content> </content>
<implementation> <implementation>
<method name="setDataTransfer"> <method name="setDataTransfer">
<parameter name="aEvent"/> <parameter name="aEvent"/>
@ -867,7 +867,7 @@
<property name="label" onget="return document.getAnonymousNodes(this)[0].selectedItem.getAttribute('label');"> <property name="label" onget="return document.getAnonymousNodes(this)[0].selectedItem.getAttribute('label');">
</property> </property>
<property name="validMenuitem" readonly="true"> <property name="validMenuitem" readonly="true">
<!-- Prepare menulist selection, adding a missing hidden menuitem if needed, and <!-- Prepare menulist selection, adding a missing hidden menuitem if needed, and
updating the disabled state of the menulist label. --> updating the disabled state of the menulist label. -->
<getter> <getter>
<![CDATA[ <![CDATA[
@ -1585,7 +1585,7 @@
// initialize the has attachment status picker // initialize the has attachment status picker
this.initialize(document.getAnonymousNodes(this)[7], bundle); this.initialize(document.getAnonymousNodes(this)[7], bundle);
// initialize the junk score origin picker // initialize the junk score origin picker
this.initialize(document.getAnonymousNodes(this)[8], bundle); this.initialize(document.getAnonymousNodes(this)[8], bundle);
@ -1920,6 +1920,7 @@
var server = msgFolder.server; var server = msgFolder.server;
var popupValue = null; var popupValue = null;
// Use the full newsgroup name as tooltip for abbreviated newsgroups. // Use the full newsgroup name as tooltip for abbreviated newsgroups.
// Else show full cell content as tooltip for cropped cells.
if (col.id == "folderNameCol" && !msgFolder.isServer && if (col.id == "folderNameCol" && !msgFolder.isServer &&
!(msgFolder.flags & Components.interfaces.nsMsgFolderFlags.Virtual) && !(msgFolder.flags & Components.interfaces.nsMsgFolderFlags.Virtual) &&
(server instanceof Components.interfaces.nsINntpIncomingServer) && (server instanceof Components.interfaces.nsINntpIncomingServer) &&
@ -1927,7 +1928,6 @@
{ {
popupValue = msgFolder.name; popupValue = msgFolder.name;
} }
// Show full cell content as tooltip for cropped cells.
else if (folderTree.treeBoxObject.isCellCropped(row, col)) else if (folderTree.treeBoxObject.isCellCropped(row, col))
{ {
popupValue = folderTree.view.getCellText(row, col); popupValue = folderTree.view.getCellText(row, col);
@ -1937,18 +1937,13 @@
{ {
let tooltip = document.createElementNS("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul", "label"); let tooltip = document.createElementNS("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul", "label");
tooltip.setAttribute("value", popupValue); tooltip.setAttribute("value", popupValue);
tooltip.className = "tooltip-label";
let folderSummary = document.getAnonymousNodes(this)[0]; let folderSummary = document.getAnonymousNodes(this)[0];
document.getAnonymousNodes(folderSummary)[0].appendChild(tooltip); document.getAnonymousNodes(folderSummary)[0].appendChild(tooltip);
return true;
} }
// Disable extended alerts (sender/subject/preview) until implemented (bug 505056) var newMessages = document.getAnonymousNodes(this)[0]
return false; .parseFolder(msgFolder, null, {});
/* return popupValue || newMessages;
var asyncResults = {};
return document.getAnonymousNodes(this)[0].parseFolder(msgFolder, null, asyncResults);
*/
]]> ]]>
</handler> </handler>

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

@ -198,3 +198,20 @@ treechildren::-moz-tree-image(syncCol, isServer-true) {
#folderNameCol [sortDirection="descending"] { #folderNameCol [sortDirection="descending"] {
list-style-image: none; list-style-image: none;
} }
/* ::::: Folder Summary Popup ::::: */
.folderSummary-message-row {
/* This max width ends up dictating the overall width of the popup
because it controls how large the preview, subject and sender text can be
before cropping kicks in */
max-width: 450px;
}
.folderSummary-subject {
font-weight: bold;
}
.folderSummary-previewText {
color: GrayText;
}

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

@ -196,3 +196,20 @@ treechildren::-moz-tree-image(syncCol, isServer-true) {
#folderNameCol [sortDirection="descending"] { #folderNameCol [sortDirection="descending"] {
list-style-image: none; list-style-image: none;
} }
/* ::::: Folder Summary Popup ::::: */
.folderSummary-message-row {
/* This max width ends up dictating the overall width of the popup
because it controls how large the preview, subject and sender text can be
before cropping kicks in */
max-width: 450px;
}
.folderSummary-subject {
font-weight: bold;
}
.folderSummary-previewText {
color: #8C99AB;
}