diff --git a/mailnews/base/resources/content/commandglue.js b/mailnews/base/resources/content/commandglue.js index 06a021f23af2..49966d96939d 100644 --- a/mailnews/base/resources/content/commandglue.js +++ b/mailnews/base/resources/content/commandglue.js @@ -272,6 +272,8 @@ function ToggleMessageFlagged(treeItem) var tree = GetThreadTree(); var flaggedValue = treeItem.getAttribute('Flagged'); + dump('flaggedValue is ' + flaggedValue); + dump('\n'); var flagged = (flaggedValue =="flagged"); messenger.MarkMessageFlagged(tree.database, treeItem, !flagged); } @@ -376,10 +378,9 @@ function ChangeThreadView() function ShowThreads(showThreads) { dump('in showthreads\n'); - var view = messageViewDataSource.QueryInterface(Components.interfaces.nsIMessageView); - if(view) + if(messageView) { - view.SetShowThreads(showThreads); + messageView.showThreads = showThreads; var threadColumn = document.getElementById('ThreadColumnHeader'); if(threadColumn) { @@ -395,3 +396,31 @@ function ShowThreads(showThreads) } } +function FolderTest5000() +{ + + folderDataSource = folderDataSource.QueryInterface(Components.interfaces.nsIRDFDataSource); + + var childProperty = RDF.GetResource("http://home.netscape.com/NC-rdf#MessageChild"); + + var folderResource = RDF.GetResource("mailbox://scottip@nsmail-2.mcom.com/test5000"); + + var beforeTime = new Date(); + + var messageChildren = folderDataSource.GetTargets(folderResource, childProperty, true); + + var afterGetTargetsTime = new Date(); + var timeToLoad = (afterGetTargetsTime.getTime() - beforeTime.getTime())/1000; + dump("Time to load is " + timeToLoad + " seconds\n"); + + messageChildren = messageChildren.QueryInterface(Components.interfaces.nsISimpleEnumerator); + + while(messageChildren.HasMoreElements()) + { + messageChildren.GetNext(); + } + + var afterTime = new Date(); + timeToLoad = (afterTime.getTime() - beforeTime.getTime())/1000; + dump("Time to load is " + timeToLoad + " seconds\n"); +} \ No newline at end of file diff --git a/mailnews/base/resources/content/msgMail3PaneWindow.js b/mailnews/base/resources/content/msgMail3PaneWindow.js index ee053fa8ef88..560941010d49 100644 --- a/mailnews/base/resources/content/msgMail3PaneWindow.js +++ b/mailnews/base/resources/content/msgMail3PaneWindow.js @@ -28,12 +28,15 @@ messenger = messenger.QueryInterface(Components.interfaces.nsIMessenger); var accountManagerDataSource = Components.classes["component://netscape/rdf/datasource?name=msgaccountmanager"].createInstance(); var folderDataSource = Components.classes["component://netscape/rdf/datasource?name=mailnewsfolders"].createInstance(); var messageDataSource = Components.classes["component://netscape/rdf/datasource?name=mailnewsmessages"].createInstance(); -var messageViewDataSource = Components.classes["component://netscape/rdf/datasource?name=mail-messageview"].createInstance(); //Create windows status feedback var statusFeedback = Components.classes["component://netscape/messenger/statusfeedback"].createInstance(); statusFeedback = statusFeedback.QueryInterface(Components.interfaces.nsIMsgStatusFeedback); +//Create message view object +var messageView = Components.classes["component://netscape/messenger/messageview"].createInstance(); +messageView = messageView.QueryInterface(Components.interfaces.nsIMessageView); + /* Functions related to startup */ function OnLoadMessenger() { @@ -105,15 +108,15 @@ function AddDataSources() //Add statusFeedback var windowData = folderDataSource.QueryInterface(Components.interfaces.nsIMsgWindowData); windowData.statusFeedback = statusFeedback; + windowData.messageView = messageView; windowData = messageDataSource.QueryInterface(Components.interfaces.nsIMsgWindowData); windowData.statusFeedback = statusFeedback; + windowData.messageView = messageView; windowData = accountManagerDataSource.QueryInterface(Components.interfaces.nsIMsgWindowData); windowData.statusFeedback = statusFeedback; - - windowData = messageViewDataSource.QueryInterface(Components.interfaces.nsIMsgWindowData); - windowData.statusFeedback = statusFeedback; + windowData.messageView = messageView; } @@ -138,15 +141,10 @@ function OnLoadFolderPane(folderTree) function OnLoadThreadPane(threadTree) { - //Add FolderDataSource - //to messageview in thread pane. - messageViewDataSource = messageViewDataSource.QueryInterface(Components.interfaces.nsIRDFCompositeDataSource); - folderDataSource = folderDataSource.QueryInterface(Components.interfaces.nsIRDFDataSource); - messageViewDataSource.AddDataSource(folderDataSource); - // add messageViewDataSource to thread pane - messageViewDataSource = messageViewDataSource.QueryInterface(Components.interfaces.nsIRDFDataSource); - threadTree.database.AddDataSource(messageViewDataSource); + // add folderSource to thread pane + folderDataSource = folderDataSource.QueryInterface(Components.interfaces.nsIRDFDataSource); + threadTree.database.AddDataSource(folderDataSource); //Add message data source messageDataSource = messageDataSource.QueryInterface(Components.interfaces.nsIRDFDataSource); diff --git a/mailnews/base/resources/content/threadPane.xul b/mailnews/base/resources/content/threadPane.xul index 040878f98907..bf101f0c19ca 100644 --- a/mailnews/base/resources/content/threadPane.xul +++ b/mailnews/base/resources/content/threadPane.xul @@ -38,11 +38,12 @@ Rights Reserved. - + Status="rdf:http://home.netscape.com/NC-rdf#Status" + Flagged="rdf:http://home.netscape.com/NC-rdf#Flagged" + Priority="rdf:http://home.netscape.com/NC-rdf#Priority" + > + + diff --git a/mailnews/base/resources/content/widgetglue.js b/mailnews/base/resources/content/widgetglue.js index da0cd50f0246..3c296a15eac4 100644 --- a/mailnews/base/resources/content/widgetglue.js +++ b/mailnews/base/resources/content/widgetglue.js @@ -24,6 +24,11 @@ * and then calls a function/command in commandglue */ +var viewShowAll =0; +var viewShowRead = 1; +var viewShowUnread =2; +var viewShowWatched = 3; + function MsgLoadNewsMessage(url) { @@ -179,11 +184,10 @@ function MsgViewAllMsgs() { dump("MsgViewAllMsgs"); - var view = messageViewDataSource.QueryInterface(Components.interfaces.nsIMessageView); - if(view) + if(messageView) { - view.SetShowAll(); - view.SetShowThreads(false); + messageView.viewType = viewShowAll; + messageView.showThreads = false; } RefreshThreadTreeView(); } @@ -192,11 +196,10 @@ function MsgViewUnreadMsg() { dump("MsgViewUnreadMsgs"); - var view = messageViewDataSource.QueryInterface(Components.interfaces.nsIMessageView); - if(view) + if(messageView) { - view.SetShowUnread(); - view.SetShowThreads(false); + messageView.viewType = viewShowUnread; + view.showThreads = false; } RefreshThreadTreeView(); @@ -206,11 +209,10 @@ function MsgViewAllThreadMsgs() { dump("MsgViewAllMessagesThreaded"); - var view = messageViewDataSource.QueryInterface(Components.interfaces.nsIMessageView); - if(view) + if(messageView) { - view.SetShowAll(); - view.SetShowThreads(true); + view.viewType = viewShowAll; + view.showThreads = true; } RefreshThreadTreeView(); }