From 64353113d8d31ef055c0ebc599fae509b23bb2f7 Mon Sep 17 00:00:00 2001 From: "putterman%netscape.com" Date: Mon, 5 Apr 1999 23:37:13 +0000 Subject: [PATCH] Added views and sorting. --- .../ui/messenger/resources/commandglue.js | 34 +++++++++- .../ui/messenger/resources/folderPane.xul | 2 +- mailnews/ui/messenger/resources/mailshell.xul | 1 + .../ui/messenger/resources/threadPane.xul | 20 +++--- mailnews/ui/messenger/resources/widgetglue.js | 68 +++++++++++++++++-- 5 files changed, 108 insertions(+), 17 deletions(-) diff --git a/mailnews/ui/messenger/resources/commandglue.js b/mailnews/ui/messenger/resources/commandglue.js index 80d8d290d35..e28b5f76cef 100644 --- a/mailnews/ui/messenger/resources/commandglue.js +++ b/mailnews/ui/messenger/resources/commandglue.js @@ -68,10 +68,15 @@ function LoadMessage(messageNode) OpenURL(uri); } -function ChangeFolder(folderNode) +function ChangeFolderByDOMNode(folderNode) { var uri = folderNode.getAttribute('id'); dump(uri); + ChangeFolderByURI(uri); +} + +function ChangeFolderByURI(uri) +{ var tree = frames[0].frames[1].document.getElementById('threadTree'); tree.childNodes[5].setAttribute('id', uri); } @@ -92,3 +97,30 @@ function ComposeMessageWithType(type) ComposeMessage(tree, nodeList, appCore, type); } } + +function SortThreadPane(column, sortKey) +{ + var node = frames[0].frames[1].document.getElementById(column); + if(!node) + return false; + + var rdfCore = XPAppCoresManager.Find("RDFCore"); + if (!rdfCore) + { + rdfCore = new RDFCore(); + if (!rdfCore) + { + return(false); + } + + rdfCore.Init("RDFCore"); + + } + + // sort!!! + rdfCore.doSort(node, sortKey, "ascending"); + + return(true); + + +} \ No newline at end of file diff --git a/mailnews/ui/messenger/resources/folderPane.xul b/mailnews/ui/messenger/resources/folderPane.xul index d5e37268e38..1402df93740 100644 --- a/mailnews/ui/messenger/resources/folderPane.xul +++ b/mailnews/ui/messenger/resources/folderPane.xul @@ -9,7 +9,7 @@ xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> - + diff --git a/mailnews/ui/messenger/resources/mailshell.xul b/mailnews/ui/messenger/resources/mailshell.xul index 61308e0a0e5..fadc0f80944 100644 --- a/mailnews/ui/messenger/resources/mailshell.xul +++ b/mailnews/ui/messenger/resources/mailshell.xul @@ -5,6 +5,7 @@ diff --git a/mailnews/ui/messenger/resources/threadPane.xul b/mailnews/ui/messenger/resources/threadPane.xul index 73234d42482..bad048daccd 100644 --- a/mailnews/ui/messenger/resources/threadPane.xul +++ b/mailnews/ui/messenger/resources/threadPane.xul @@ -10,21 +10,23 @@ - - - - + + + + - Subject - Sender - Date - Status + + Subject + + Sender + Date + Status - + diff --git a/mailnews/ui/messenger/resources/widgetglue.js b/mailnews/ui/messenger/resources/widgetglue.js index 0ce8057675b..d4a68fda4c3 100644 --- a/mailnews/ui/messenger/resources/widgetglue.js +++ b/mailnews/ui/messenger/resources/widgetglue.js @@ -4,8 +4,13 @@ function MsgStartUp() dump("StartUp: MsgAppCore\n"); var appCore = FindMsgAppCore(); if (appCore != null) { + dump("In MsgStartUp()"); dump("Initializing AppCore and setting Window\n"); appCore.SetWindow(window); + ChangeFolderByURI("mailbox://Inbox"); + //In the future we'll want to read this in from a preference. + MsgViewAllMsgs(); + } } @@ -130,6 +135,63 @@ function MsgMoveMessage(destFolder) } } +function MsgViewAllMsgs() +{ + dump("MsgViewAllMsgs"); + + var tree = frames[0].frames[1].document.getElementById('threadTree'); + + var appCore = FindMsgAppCore(); + if (appCore != null) { + appCore.SetWindow(window); + appCore.ViewAllMessages(tree.database); + } + + //hack to make it get new view. + var currentFolder = tree.childNodes[5].getAttribute('id'); + tree.childNodes[5].setAttribute('id', currentFolder); + +} + +function MsgViewUnreadMsg() +{ + dump("MsgViewUnreadMsgs"); + + var tree = frames[0].frames[1].document.getElementById('threadTree'); + + var appCore = FindMsgAppCore(); + if (appCore != null) { + appCore.SetWindow(window); + appCore.ViewUnreadMessages(tree.database); + } + + //hack to make it get new view. + var currentFolder = tree.childNodes[5].getAttribute('id'); + tree.childNodes[5].setAttribute('id', currentFolder); + + +} + +function MsgSortByDate() +{ + SortThreadPane('DateColumn', 'http://home.netscape.com/NC-rdf#Date'); +} + +function MsgSortBySender() +{ + SortThreadPane('AuthorColumn', 'http://home.netscape.com/NC-rdf#Sender'); +} + +function MsgSortByStatus() +{ + SortThreadPane('StatusColumn', 'http://home.netscape.com/NC-rdf#Status'); +} + +function MsgSortBySubject() +{ + SortThreadPane('SubjectColumn', 'http://home.netscape.com/NC-rdf#Subject'); +} + function MsgNewFolder() {} function MsgOpenAttachment() {} function MsgSaveAsFile() {} @@ -163,20 +225,14 @@ function MsgShowMsgToolbar() {} function MsgShowLocationbar() {} function MsgShowMessage() {} function MsgShowFolders() {} -function MsgSortByDate() {} function MsgSortByFlag() {} function MsgSortByPriority() {} -function MsgSortBySender() {} function MsgSortBySize() {} -function MsgSortByStatus() {} -function MsgSortBySubject() {} function MsgSortByThread() {} function MsgSortByUnread() {} function MsgSortByOrderReceived() {} function MsgSortAscending() {} function MsgSortDescending() {} -function MsgViewAllMsgs() {} -function MsgViewUnreadMsg() {} function MsgViewThreadsUnread() {} function MsgViewWatchedThreadsUnread() {} function MsgViewIgnoreThread() {}