зеркало из https://github.com/mozilla/pjs.git
fix 122006 expanding news server with keyboard should update group counts, patch by sgautherie.bz@free.fr, r/sr=bienvenu
This commit is contained in:
Родитель
0287b41cfe
Коммит
727ee2278e
|
@ -279,7 +279,7 @@ var folderListener = {
|
|||
gDefaultSearchViewTerms = null;
|
||||
viewDebug("searching gVirtualFolderTerms\n");
|
||||
gDBView.viewFolder = gMsgFolderSelected;
|
||||
loadVirtualFolder();
|
||||
loadVirtualFolder();
|
||||
}
|
||||
else if (gMsgFolderSelected.flags & MSG_FOLDER_FLAG_VIRTUAL)
|
||||
{
|
||||
|
@ -310,7 +310,7 @@ var folderListener = {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (eventType == "ImapHdrDownloaded") {
|
||||
if (folder) {
|
||||
|
@ -362,8 +362,29 @@ var folderObserver = {
|
|||
DropOnFolderTree(row, orientation);
|
||||
},
|
||||
|
||||
onToggleOpenState: function()
|
||||
onToggleOpenState: function(index)
|
||||
{
|
||||
var folderTree = GetFolderTree();
|
||||
|
||||
// Nothing to do when collapsing an item.
|
||||
if (folderTree.view.isContainerOpen(index))
|
||||
return;
|
||||
|
||||
var folderResource = GetFolderResource(folderTree, index);
|
||||
|
||||
if (folderTree.view.getLevel(index) == 0)
|
||||
{
|
||||
// (Imap/Nntp/Pop) Account item.
|
||||
|
||||
folderResource.QueryInterface(Components.interfaces.nsIMsgFolder)
|
||||
.server.performExpand(msgWindow);
|
||||
}
|
||||
else if (folderResource instanceof Components.interfaces.nsIMsgImapMailFolder)
|
||||
{
|
||||
// Imap message folder item.
|
||||
|
||||
folderResource.performExpand(msgWindow);
|
||||
}
|
||||
},
|
||||
|
||||
onCycleHeader: function(colID, elt)
|
||||
|
@ -767,7 +788,7 @@ function UpdateMailPaneConfig(aMsgWindowInitialized) {
|
|||
messenger.SetWindow(window, msgWindow);
|
||||
MsgReload();
|
||||
}
|
||||
|
||||
|
||||
// record the new configuration
|
||||
gCurrentPaneConfig = paneConfig;
|
||||
}
|
||||
|
@ -1015,9 +1036,9 @@ function AddToSession()
|
|||
var nsIFolderListener = Components.interfaces.nsIFolderListener;
|
||||
var notifyFlags = nsIFolderListener.intPropertyChanged | nsIFolderListener.event;
|
||||
mailSession.AddFolderListener(folderListener, notifyFlags);
|
||||
} catch (ex) {
|
||||
dump("Error adding to session\n");
|
||||
}
|
||||
} catch (ex) {
|
||||
dump("Error adding to session\n");
|
||||
}
|
||||
}
|
||||
|
||||
function InitPanes()
|
||||
|
@ -1381,7 +1402,7 @@ function ClearMessagePane()
|
|||
gHaveLoadedMessage = false;
|
||||
if (GetMessagePaneFrame().location.href != "about:blank")
|
||||
GetMessagePaneFrame().location.href = "about:blank";
|
||||
|
||||
|
||||
// hide the message header view AND the message pane...
|
||||
HideMessageHeaderPane();
|
||||
gMessageNotificationBar.clearMsgNotifications();
|
||||
|
@ -1455,59 +1476,22 @@ function FolderPaneOnClick(event)
|
|||
// clicking on the name column in the folder pane should not sort
|
||||
event.stopPropagation();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if (elt.value == "twisty")
|
||||
{
|
||||
if (!(folderTree.treeBoxObject.view.isContainerOpen(row.value)))
|
||||
{
|
||||
var folderResource = GetFolderResource(folderTree, row.value);
|
||||
var isServer = GetFolderAttribute(folderTree, folderResource, "IsServer");
|
||||
if (isServer == "true")
|
||||
{
|
||||
var msgFolder = folderResource.QueryInterface(Components.interfaces.nsIMsgFolder);
|
||||
var server = msgFolder.server;
|
||||
server.performExpand(msgWindow);
|
||||
}
|
||||
else
|
||||
{
|
||||
var serverType = GetFolderAttribute(folderTree, folderResource, "ServerType");
|
||||
if (serverType == "imap")
|
||||
{
|
||||
var imapFolder = folderResource.QueryInterface(Components.interfaces.nsIMsgImapMailFolder);
|
||||
imapFolder.performExpand(msgWindow);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ((event.originalTarget.localName == "slider") ||
|
||||
(event.originalTarget.localName == "scrollbarbutton")) {
|
||||
event.stopPropagation();
|
||||
}
|
||||
else if (event.detail == 2) {
|
||||
else if ((event.detail == 2) && (elt.value != "twisty") &&
|
||||
(folderTree.view.getLevel(row.value) != 0)) {
|
||||
FolderPaneDoubleClick(row.value, event);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function FolderPaneDoubleClick(folderIndex, event)
|
||||
{
|
||||
var folderTree = GetFolderTree();
|
||||
var folderResource = GetFolderResource(folderTree, folderIndex);
|
||||
|
||||
var isServer = GetFolderAttribute(folderTree, folderResource, "IsServer");
|
||||
if (isServer == "true")
|
||||
{
|
||||
if (!(folderTree.treeBoxObject.view.isContainerOpen(folderIndex)))
|
||||
{
|
||||
var msgFolder = folderResource.QueryInterface(Components.interfaces.nsIMsgFolder);
|
||||
var server = msgFolder.server;
|
||||
server.performExpand(msgWindow);
|
||||
}
|
||||
}
|
||||
else if (!pref.getBoolPref("mailnews.reuse_thread_window2"))
|
||||
if (!pref.getBoolPref("mailnews.reuse_thread_window2"))
|
||||
{
|
||||
var folderResource = GetFolderResource(GetFolderTree(), folderIndex);
|
||||
// Open a new msg window only if we are double clicking on
|
||||
// folders or newsgroups.
|
||||
MsgOpenNewWindowForFolder(folderResource.Value, -1 /* key */);
|
||||
|
|
Загрузка…
Ссылка в новой задаче