From 9b30b8135fc3c85dcd6dc7593b1f6fa8468f76c9 Mon Sep 17 00:00:00 2001 From: "varga%utcru.sk" Date: Thu, 7 Jun 2001 18:25:16 +0000 Subject: [PATCH] Fixing FolderPaneDoubleClick(). git-svn-id: svn://10.0.0.236/branches/FOLDER_OUTLINER_20010531_BRANCH@96633 18797224-902f-48f8-a5cc-f745e15eee43 --- .../resources/content/msgMail3PaneWindow.js | 52 +++++++++---------- 1 file changed, 25 insertions(+), 27 deletions(-) diff --git a/mozilla/mailnews/base/resources/content/msgMail3PaneWindow.js b/mozilla/mailnews/base/resources/content/msgMail3PaneWindow.js index 04c27bdcbb8..8bd5814b9c9 100644 --- a/mozilla/mailnews/base/resources/content/msgMail3PaneWindow.js +++ b/mozilla/mailnews/base/resources/content/msgMail3PaneWindow.js @@ -753,36 +753,34 @@ function FolderPaneOnClick(event) } */ if (event.detail == 2) - FolderPaneDoubleClick(folderResource); + FolderPaneDoubleClick(row.value); } -function FolderPaneDoubleClick(resource) +function FolderPaneDoubleClick(folderIndex) { - var isServer = false; - - if (treeitem) { - isServer = (treeitem.getAttribute('IsServer') == "true"); - if (isServer) { - var open = treeitem.getAttribute('open'); - if (open == "true") { - var uri = treeitem.getAttribute("id"); - server = GetServer(uri); - if (server) { - // double clicking open, PerformExpand() - server.PerformExpand(msgWindow); - } - } - else { - // double clicking close, don't PerformExpand() - } - } - } - - // don't open a new msg window if we are double clicking on a server. - // only do it for folders or newsgroups - if (!isServer) { - MsgOpenNewWindowForFolder(treeitem.getAttribute('id')); - } + var folderResource = GetFolderResource(folderIndex); + var isServer = GetFolderAttribute(folderResource, "IsServer"); + if (isServer == "true") + { + var folderOutliner = GetFolderOutliner(); + var view = folderOutliner.outlinerBoxObject.view; + if (view.isContainerOpen(folderIndex)) + { + // double clicking open, don't PerformExpand() + } + else { + // double clicking open, PerformExpand() + var msgFolder = folderResource.QueryInterface(Components.interfaces.nsIMsgFolder); + var server = msgFolder.server; + server.PerformExpand(msgWindow); + } + } + else + { + // Open a new msg window only if we are double clicking on folders or + // newsgorups. + MsgOpenNewWindowForFolder(folderResource.Value); + } } function ChangeSelection(outliner, newIndex)