merge of '1cc8e4f0b5a7e08d0cdb102c7f221df7ec72af37'

and '3f6c57e715b0ee7af5182cb7a04ea8cc6df72a2a'

Monotone-Parent: 1cc8e4f0b5a7e08d0cdb102c7f221df7ec72af37
Monotone-Parent: 3f6c57e715b0ee7af5182cb7a04ea8cc6df72a2a
Monotone-Revision: 884877bd53c2d3dbf1a3a0b3b87f122ccdec9640

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2007-08-16T22:12:12
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
Wolfgang Sourdeau
2007-08-16 22:12:12 +00:00
45 changed files with 1172 additions and 1067 deletions
+6
View File
@@ -301,6 +301,12 @@ DIV.mailer_unreadicon a
}
/* fields (key/value UI), eg used in mail viewer */
INPUT#editDraftButton
{
position: absolute;
top: 2.5em;
right: 1em;
}
TABLE.mailer_fieldtable
{
+77 -22
View File
@@ -6,6 +6,7 @@ var currentMessages = new Array();
var maxCachedMessages = 20;
var cachedMessages = new Array();
var currentMailbox = null;
var currentMailboxType = "";
var usersRightsWindowHeight = 320;
var usersRightsWindowWidth = 400;
@@ -31,12 +32,14 @@ function openMessageWindow(msguid, url) {
}
function onMessageDoubleClick(event) {
//resetSelection(window);
var msguid = this.parentNode.id.substr(4);
return openMessageWindow(msguid,
ApplicationBaseURL + currentMailbox + "/"
+ msguid + "/popupview");
var action;
if (currentMailboxType == "draft")
action = "edit";
else
action = "popupview";
return openMessageWindowsForSelection(action, true);
}
function toggleMailSelect(sender) {
@@ -140,19 +143,26 @@ function reopenToRemoveLocationBar() {
/* mail list reply */
function openMessageWindowsForSelection(action) {
function openMessageWindowsForSelection(action, firstOnly) {
if (document.body.hasClassName("popup"))
win = openMessageWindow(window.messageId,
window.messageURL + "/" + action /* url */);
window.messageURL + "/" + action);
else {
var messageList = $("messageList");
var rows = messageList.getSelectedRowsId();
var idset = "";
for (var i = 0; i < rows.length; i++)
win = openMessageWindow(rows[i].substr(4) /* msguid */,
ApplicationBaseURL + currentMailbox
+ "/" + rows[i].substr(4)
+ "/" + action /* url */);
if (rows.length > 0) {
if (firstOnly)
openMessageWindow(rows[0].substr(4),
ApplicationBaseURL + currentMailbox
+ "/" + rows[0].substr(4)
+ "/" + action);
else
for (var i = 0; i < rows.length; i++)
openMessageWindow(rows[i].substr(4),
ApplicationBaseURL + currentMailbox
+ "/" + rows[i].substr(4)
+ "/" + action);
}
}
return false;
@@ -342,13 +352,13 @@ function onMailboxTreeItemClick(event) {
$("searchValue").value = "";
initCriteria();
var datatype = this.parentNode.getAttribute("datatype");
if (datatype == "account" || datatype == "additional") {
currentMailboxType = this.parentNode.getAttribute("datatype");
if (currentMailboxType == "account" || currentMailboxType == "additional") {
currentMailbox = mailbox;
$("messageContent").innerHTML = "";
var body = $("messageList").tBodies[0];
for (var i = body.rows.length - 1; i > 0; i--)
body.deleteRow(i);
for (var i = body.rows.length; i > 0; i--)
body.deleteRow(i-1);
}
else
openMailbox(mailbox);
@@ -372,6 +382,22 @@ function refreshMailbox() {
return false;
}
function onComposeMessage() {
var topWindow = getTopWindow();
if (topWindow)
topWindow.composeNewMessage();
return false;
}
function composeNewMessage() {
var account = currentMailbox.split("/")[1];
var url = ApplicationBaseURL + "/" + account + "/compose";
window.open(url, null,
"width=680,height=520,resizable=1,scrollbars=1,toolbar=0,"
+ "location=0,directories=0,status=0,menubar=0,copyhistory=0");
}
function openMailbox(mailbox, reload, idx) {
if (mailbox != currentMailbox || reload) {
currentMailbox = mailbox;
@@ -669,12 +695,20 @@ function configureLinksInMessage() {
else
Event.observe(anchors[i], "click",
onMessageAnchorClick);
var editDraftButton = $("editDraftButton");
if (editDraftButton)
Event.observe(editDraftButton, "click", onMessageEditDraft);
}
function onMessageContentMenu(event) {
popupMenu(event, 'messageContentMenu', this);
}
function onMessageEditDraft(event) {
return openMessageWindowsForSelection("edit", true);
}
function onEmailAddressClick(event) {
popupMenu(event, 'addressMenu', this);
}
@@ -1276,10 +1310,18 @@ function onMenuDeleteFolder(event) {
}
}
function onMenuExpungeFolder(event) {
var folderID = document.menuTarget.getAttribute("dataname");
var urlstr = URLForFolderID(folderID) + "/expunge";
triggerAjaxRequest(urlstr, folderRefreshCallback, folderID);
}
function onMenuEmptyTrash(event) {
var folderID = document.menuTarget.getAttribute("dataname");
var urlstr = URLForFolderID(folderID) + "/emptyTrash";
triggerAjaxRequest(urlstr, folderOperationCallback);
triggerAjaxRequest(urlstr, folderRefreshCallback, folderID);
}
function folderOperationCallback(http) {
@@ -1290,21 +1332,34 @@ function folderOperationCallback(http) {
window.alert(labels["Operation failed"].decodeEntities());
}
function folderRefreshCallback(http) {
if (http.readyState == 4
&& http.status == 204) {
var oldMailbox = http.callbackData;
if (oldMailbox == currentMailbox)
refreshCurrentFolder();
}
else
window.alert(labels["Operation failed"].decodeEntities());
}
function getMenus() {
var menus = {}
menus["accountIconMenu"] = new Array(null, null, onMenuCreateFolder, null,
null, null);
menus["inboxIconMenu"] = new Array(null, null, null, "-", null,
onMenuCreateFolder, null, "-", null,
onMenuCreateFolder, onMenuExpungeFolder,
"-", null,
onMenuSharing);
menus["trashIconMenu"] = new Array(null, null, null, "-", null,
onMenuCreateFolder, null,
onMenuCreateFolder, onMenuExpungeFolder,
onMenuEmptyTrash, "-", null,
onMenuSharing);
menus["mailboxIconMenu"] = new Array(null, null, null, "-", null,
onMenuCreateFolder,
onMenuRenameFolder,
null, onMenuDeleteFolder, "-", null,
onMenuExpungeFolder,
onMenuDeleteFolder, "-", null,
onMenuSharing);
menus["addressMenu"] = new Array(newContactFromEmail, newEmailTo, null);
menus["messageListMenu"] = new Array(onMenuOpenMessage, "-",
+5 -7
View File
@@ -210,18 +210,16 @@ function createAttachment(node, list) {
}
function clickedEditorSave(sender) {
document.pageform.action = "save";
document.pageform.submit();
refreshOpener();
document.pageform.action = "save";
document.pageform.submit();
return false;
}
function clickedEditorDelete(sender) {
document.pageform.action = "delete";
document.pageform.submit();
refreshOpener();
window.close();
document.pageform.action = "delete";
document.pageform.submit();
window.close();
return false;
}