mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-09 19:35:51 +00:00
implement downloading of messages for offline use, add folder props ui r=sspitzer, sr=mscott 15865
This commit is contained in:
parent
08cd5decc2
commit
98b859d8ef
@ -40,6 +40,8 @@ shareglue.js
|
||||
subscribe.js
|
||||
subscribe.xul
|
||||
sidebar-messenger.rdf
|
||||
folderProps.js
|
||||
imapFolderProps.xul
|
||||
newFolderNameDialog.xul
|
||||
newFolderNameDialog.js
|
||||
renameFolderNameDialog.xul
|
||||
|
@ -58,6 +58,8 @@ CHROME_CONTENT = \
|
||||
subscribe.js \
|
||||
subscribe.xul \
|
||||
sidebar-messenger.rdf \
|
||||
imapFolderProps.xul \
|
||||
folderProps.js \
|
||||
newFolderNameDialog.xul \
|
||||
newFolderNameDialog.js \
|
||||
msgViewNavigation.js \
|
||||
|
@ -216,6 +216,8 @@ var DefaultController =
|
||||
case "cmd_emptyTrash":
|
||||
case "cmd_compactFolder":
|
||||
case "cmd_sortByThread":
|
||||
case "cmd_downloadFlagged":
|
||||
case "cmd_downloadSelected":
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
@ -265,12 +267,14 @@ var DefaultController =
|
||||
case "cmd_previousMsg":
|
||||
case "cmd_previousUnreadMsg":
|
||||
return MailAreaHasFocus() && IsViewNavigationItemEnabled();
|
||||
case "cmd_downloadSelected":
|
||||
case "cmd_markAsRead":
|
||||
if(!MailAreaHasFocus())
|
||||
return false;
|
||||
else
|
||||
return(GetNumSelectedMessages() > 0);
|
||||
case "cmd_markAllRead":
|
||||
case "cmd_downloadFlagged":
|
||||
return(MailAreaHasFocus() && IsFolderSelected());
|
||||
case "cmd_find":
|
||||
case "cmd_findAgain":
|
||||
@ -436,6 +440,12 @@ var DefaultController =
|
||||
case "cmd_markAsFlagged":
|
||||
MsgMarkAsFlagged(null);
|
||||
return;
|
||||
case "cmd_downloadFlagged":
|
||||
MsgDownloadFlagged();
|
||||
return;
|
||||
case "cmd_downloadSelected":
|
||||
MsgDownloadSelected();
|
||||
return;
|
||||
case "cmd_emptyTrash":
|
||||
MsgEmptyTrash();
|
||||
return;
|
||||
@ -563,6 +573,8 @@ function ThreadTreeUpdate_Mail(command)
|
||||
goUpdateCommand('cmd_markAsRead');
|
||||
goUpdateCommand('cmd_markThreadAsRead');
|
||||
goUpdateCommand('cmd_markAsFlagged');
|
||||
goUpdateCommand('cmd_downloadSelected');
|
||||
goUpdateCommand('cmd_downloadFlagged');
|
||||
goUpdateCommand('cmd_file');
|
||||
}
|
||||
|
||||
|
@ -447,6 +447,25 @@ function MarkAllMessagesRead(compositeDataSource, folder)
|
||||
DoRDFCommand(compositeDataSource, "http://home.netscape.com/NC-rdf#MarkAllMessagesRead", folderResourceArray, null);
|
||||
}
|
||||
|
||||
function DownloadFlaggedMessages(compositeDataSource, folder)
|
||||
{
|
||||
|
||||
var folderResource = folder.QueryInterface(Components.interfaces.nsIRDFResource);
|
||||
var folderResourceArray = Components.classes["@mozilla.org/supports-array;1"].createInstance(Components.interfaces.nsISupportsArray);
|
||||
folderResourceArray.AppendElement(folderResource);
|
||||
|
||||
DoRDFCommand(compositeDataSource, "http://home.netscape.com/NC-rdf#DownloadFlaggedMessages", folderResourceArray, null);
|
||||
}
|
||||
|
||||
function DownloadSelectedMessages(compositeDataSource, messages, markFlagged)
|
||||
{
|
||||
|
||||
var messageResourceArray = ConvertMessagesToResourceArray(messages, null);
|
||||
var command = "http://home.netscape.com/NC-rdf#DownloadSelectedMessages";
|
||||
|
||||
DoRDFCommand(compositeDataSource, command, messageResourceArray, null);
|
||||
}
|
||||
|
||||
function MarkThreadAsRead(compositeDataSource, message)
|
||||
{
|
||||
|
||||
|
@ -604,6 +604,23 @@ function MsgMarkAllRead()
|
||||
MarkAllMessagesRead(compositeDataSource, folder);
|
||||
}
|
||||
|
||||
function MsgDownloadFlagged()
|
||||
{
|
||||
var compositeDataSource = GetCompositeDataSource("DownloadFlagged");
|
||||
var folder = GetLoadedMsgFolder();
|
||||
|
||||
if(folder)
|
||||
DownloadFlaggedMessages(compositeDataSource, folder);
|
||||
}
|
||||
|
||||
function MsgDownloadSelected()
|
||||
{
|
||||
var selectedMessages = GetSelectedMessages();
|
||||
var compositeDataSource = GetCompositeDataSource("DownloadSelected");
|
||||
|
||||
DownloadSelectedMessages(compositeDataSource, selectedMessages);
|
||||
}
|
||||
|
||||
function MsgMarkThreadAsRead()
|
||||
{
|
||||
|
||||
|
@ -109,6 +109,10 @@ Rights Reserved.
|
||||
<broadcaster id="cmd_file" disabled="true"/>
|
||||
<broadcaster id="cmd_emptyTrash" oncommand="goDoCommand('cmd_emptyTrash')" disabled="true"/>
|
||||
<broadcaster id="cmd_compactFolder" oncommand="goDoCommand('cmd_compactFolder')" disabled="true"/>
|
||||
<broadcaster id="cmd_workOffline" oncommand="goDoCommand('cmd_workOffline')" disabled="true"/>
|
||||
<broadcaster id="cmd_synchronizeOffline" oncommand="goDoCommand('cmd_synchronizeOffline')" disabled="true"/>
|
||||
<broadcaster id="cmd_downloadFlagged" oncommand="goDoCommand('cmd_downloadFlagged')" disabled="true"/>
|
||||
<broadcaster id="cmd_downloadSelected" oncommand="goDoCommand('cmd_downloadSelected')" disabled="true"/>
|
||||
|
||||
</broadcasterset>
|
||||
|
||||
@ -372,6 +376,10 @@ Rights Reserved.
|
||||
value="&folderContextSearchMessages.label;"
|
||||
accesskey="&folderContextSearchMessages.accesskey;"
|
||||
oncommand="MsgSearchMessages();"/>
|
||||
<menuitem id="folderPaneContext-properties"
|
||||
value="&folderContextProperties.label;"
|
||||
accesskey="&folderContextProperties.accesskey;"
|
||||
oncommand="MsgFolderProperties();"/>
|
||||
</popup>
|
||||
|
||||
<popup id="messagePaneContext"
|
||||
@ -654,6 +662,23 @@ Rights Reserved.
|
||||
<menuseparator id="trashMenuSeparator"/>
|
||||
<menuitem value="&importCmd.label;" accesskey="&importCmd.accesskey;" oncommand="toImport();"/>
|
||||
<menuseparator/>
|
||||
<menu value="&offlineMenu.label;" accesskey="&offlineMenu.accesskey;">
|
||||
<menupopup>
|
||||
<menuitem value="&workOfflineCmd.label;"
|
||||
accesskey="&workOfflineCmd.accesskey;"
|
||||
observes="cmd_workOffline"/>
|
||||
<menuitem value="&synchronizeOfflineCmd.label;"
|
||||
accesskey="&synchronizeOfflineCmd.accesskey;"
|
||||
observes="cmd_synchronizeOffline"/>
|
||||
<menuitem value="&downloadFlaggedCmd.label;"
|
||||
accesskey="&downloadFlaggedCmd.accesskey;"
|
||||
observes="cmd_downloadFlagged"/>
|
||||
<menuitem value="&downloadSelectedCmd.label;"
|
||||
accesskey="&downloadSelectedCmd.accesskey;"
|
||||
observes="cmd_downloadSelected"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
<menuseparator/>
|
||||
<menuitem id="printMenuItem" key="key_print" value="&printCmd.label;" accesskey="&printCmd.accesskey;" observes="cmd_print"/>
|
||||
<menuseparator/>
|
||||
</menupopup>
|
||||
|
@ -75,6 +75,8 @@ CHROME_CONTENT = \
|
||||
.\mailMessengerComposeOverlay.xul \
|
||||
.\mailOverlay.xul \
|
||||
.\mailWidgets.xml \
|
||||
.\imapFolderProps.xul \
|
||||
.\folderProps.js \
|
||||
$(NULL)
|
||||
|
||||
include <$(DEPTH)\config\rules.mak>
|
||||
|
@ -377,6 +377,7 @@ var MessageWindowController =
|
||||
case "cmd_markThreadAsRead":
|
||||
case "cmd_markAsFlagged":
|
||||
case "cmd_file":
|
||||
case "cmd_downloadFlagged":
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
@ -505,6 +506,12 @@ var MessageWindowController =
|
||||
case "cmd_markAsFlagged":
|
||||
MsgMarkAsFlagged(null);
|
||||
return;
|
||||
case "cmd_downloadFlagged":
|
||||
MsgDownloadFlagged();
|
||||
return;
|
||||
case "cmd_downloadSelected":
|
||||
MsgDownloadSelected();
|
||||
return;
|
||||
}
|
||||
},
|
||||
|
||||
@ -543,6 +550,8 @@ function CommandUpdate_Mail()
|
||||
goUpdateCommand('cmd_markThreadAsRead');
|
||||
goUpdateCommand('cmd_markAllRead');
|
||||
goUpdateCommand('cmd_markAsFlagged');
|
||||
goUpdateCommand('cmd_downloadFlagged');
|
||||
goUpdateCommand('cmd_downloadSelected');
|
||||
goUpdateCommand('cmd_file');
|
||||
|
||||
}
|
||||
|
@ -852,13 +852,14 @@ function ClearMessageSelection()
|
||||
function GetCompositeDataSource(command)
|
||||
{
|
||||
if(command == "GetNewMessages" || command == "DeleteMessages" || command == "Copy" ||
|
||||
command == "Move" || command == "NewFolder" || command == "MarkAllMessagesRead")
|
||||
command == "Move" || command == "NewFolder" || command == "MarkAllMessagesRead" ||
|
||||
command == "DownloadFlagged")
|
||||
{
|
||||
return GetFolderDatasource();
|
||||
}
|
||||
else if(command == "MarkMessageRead" ||
|
||||
command == "MarkMessageFlagged" || command == "MarkThreadAsRead" ||
|
||||
command == "MessageProperty")
|
||||
command == "DownloadSelected" || command == "MessageProperty")
|
||||
{
|
||||
var threadTree = GetThreadTree();
|
||||
return threadTree.database;
|
||||
|
@ -234,6 +234,26 @@ function MsgCompactFolder()
|
||||
}
|
||||
}
|
||||
|
||||
function MsgFolderProperties()
|
||||
{
|
||||
var preselectedURI = GetSelectedFolderURI();
|
||||
var folderTree = GetFolderTree();
|
||||
|
||||
var name = GetFolderNameFromUri(preselectedURI, folderTree);
|
||||
|
||||
dump("preselectedURI = " + preselectedURI + "\n");
|
||||
var windowTitle = Bundle.GetStringFromName("folderProperties");
|
||||
var dialog = window.openDialog(
|
||||
"chrome://messenger/content/imapFolderProps.xul",
|
||||
"",
|
||||
"chrome,titlebar,modal",
|
||||
{preselectedURI:preselectedURI, title:windowTitle,
|
||||
okCallback:FolderProperties, name:name});
|
||||
}
|
||||
|
||||
function FolderProperties(name, uri)
|
||||
{
|
||||
}
|
||||
|
||||
function MsgToggleMessagePane()
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user