From f2fe4c68ff6f19c9310dba4affc1b01ae16138f4 Mon Sep 17 00:00:00 2001 From: "putterman%netscape.com" Date: Fri, 22 Sep 2000 03:10:21 +0000 Subject: [PATCH] More work on 46888. Checking in for naving. Make sure delete doesn't prevent messages from being displayed later on. r=scottip,a=alecf. --- .../base/resources/content/mailCommands.js | 10 ++++++- .../base/resources/content/messengerdnd.js | 22 +++++++++++++++ mailnews/base/resources/content/widgetglue.js | 28 ++++++++++++++++--- mailnews/base/src/nsMsgFolderDataSource.cpp | 13 ++++++--- 4 files changed, 64 insertions(+), 9 deletions(-) diff --git a/mailnews/base/resources/content/mailCommands.js b/mailnews/base/resources/content/mailCommands.js index 404fbfbedae..1cece2d736b 100644 --- a/mailnews/base/resources/content/mailCommands.js +++ b/mailnews/base/resources/content/mailCommands.js @@ -47,7 +47,16 @@ function DoRDFCommand(dataSource, command, srcArray, argumentArray) var commandResource = RDF.GetResource(command); if(commandResource) + try { dataSource.DoCommand(srcArray, commandResource, argumentArray); + } + catch(e) + { + if ( command == "http://home.netscape.com/NC-rdf#ReallyDelete" || command == "http://home.netscape.com/NC-rdf#Delete" || command == "http://home.netscape.com/NC-rdf#Move" ) { + gNextMessageAfterDelete =null; + } + dump (" Exception : In mail commands\n"); + } } //Converts an array of messages into an nsISupportsArray of resources. @@ -514,4 +523,3 @@ function ViewPageSource(messages) "view-source" ); } } - diff --git a/mailnews/base/resources/content/messengerdnd.js b/mailnews/base/resources/content/messengerdnd.js index 446b62a7136..3b2e762ad25 100644 --- a/mailnews/base/resources/content/messengerdnd.js +++ b/mailnews/base/resources/content/messengerdnd.js @@ -264,9 +264,16 @@ function DropOnFolderTree(event) { if (isNews) { + try + { messenger.CopyMessages(treeDatabase, sourceRescource, targetNode, messageList, false); + } + catch(e); + { + dump ( "Exception : CopyMessages \n"); + } } else { @@ -280,9 +287,16 @@ function DropOnFolderTree(event) else gNextMessageAfterDelete = null; } + try { messenger.CopyMessages(treeDatabase, sourceRescource, targetNode, messageList, !ctrlKeydown); + } + catch(e) + { + gNextMessageAfterDelete = null; + dump ( "Exception : CopyMessages \n"); + } } } else @@ -296,9 +310,16 @@ function DropOnFolderTree(event) else gNextMessageAfterDelete = null; } + try { messenger.CopyMessages(treeDatabase, sourceRescource, targetNode, messageList, !ctrlKeydown); + } + catch(e) + { + gNextMessageAfterDelete = null; + dump ( "Exception : CopyMessages \n"); + } } return(false); @@ -313,3 +334,4 @@ function DropOnThreadTree(event) return false; } + diff --git a/mailnews/base/resources/content/widgetglue.js b/mailnews/base/resources/content/widgetglue.js index 0c9845d8826..6172e28fc4f 100644 --- a/mailnews/base/resources/content/widgetglue.js +++ b/mailnews/base/resources/content/widgetglue.js @@ -103,7 +103,15 @@ function RenameFolder(name,uri) if (uri && (uri != "") && name && (name != "")) { var selectedFolder = GetResourceFromUri(uri); folderTree.clearItemSelection(); - messenger.RenameFolder(GetFolderDatasource(), selectedFolder, name); + try + { + messenger.RenameFolder(GetFolderDatasource(), selectedFolder, name); + } + catch(e) + { + dump ("Exception : RenameFolder \n"); + } + } else { dump("no name or nothing selected\n"); @@ -141,7 +149,13 @@ function MsgEmptyTrash() tree.clearItemSelection(); RefreshThreadTreeView(); } - messenger.EmptyTrash(tree.database, folder.resource); + try { + messenger.EmptyTrash(tree.database, folder.resource); + } + catch(e) + { + dump ("Exception : messenger.EmptyTrash \n"); + } if (trashSelected) { trashElement = document.getElementById(trashUri); @@ -193,7 +207,14 @@ function MsgCompactFolder() folderuri = folder.getAttribute('id'); dump(folderuri + "\n"); dump("folder = " + folder.localName + "\n"); - messenger.CompactFolder(tree.database, folder.resource); + try + { + messenger.CompactFolder(tree.database, folder.resource); + } + catch(e) + { + dump ("Exception : messenger.CompactFolder \n"); + } } } if (!isImap && selectedFolderUri && selectedFolderUri != "") @@ -270,4 +291,3 @@ function LastToClose() } - diff --git a/mailnews/base/src/nsMsgFolderDataSource.cpp b/mailnews/base/src/nsMsgFolderDataSource.cpp index 0ad36890379..b13055e5de5 100644 --- a/mailnews/base/src/nsMsgFolderDataSource.cpp +++ b/mailnews/base/src/nsMsgFolderDataSource.cpp @@ -687,9 +687,14 @@ nsMsgFolderDataSource::DoCommand(nsISupportsArray/**/* aSources, } } } + else + { + rv = NS_ERROR_NOT_IMPLEMENTED; + } } //for the moment return NS_OK, because failure stops entire DoCommand process. - return NS_OK; + return rv; + //return NS_OK; } NS_IMETHODIMP nsMsgFolderDataSource::OnItemAdded(nsISupports *parentItem, nsISupports *item, const char* viewString) @@ -1520,11 +1525,12 @@ nsresult nsMsgFolderDataSource::DoCopyToFolder(nsIMsgFolder *dstFolder, nsISuppo NS_WITH_SERVICE(nsIMsgCopyService, copyService, kMsgCopyServiceCID, &rv); if(NS_SUCCEEDED(rv)) { - copyService->CopyMessages(srcFolder, messageArray, dstFolder, isMove, + rv = copyService->CopyMessages(srcFolder, messageArray, dstFolder, isMove, nsnull, msgWindow); } - return NS_OK; + return rv; + //return NS_OK; } nsresult nsMsgFolderDataSource::DoDeleteFromFolder( @@ -1701,4 +1707,3 @@ nsresult nsMsgFolderDataSource::GetFolderSortOrder(nsIMsgFolder *folder, PRInt32 } -