Monotone-Parent: bea2b39cd9e898f8f9790ce5d4b5c2704598c453

Monotone-Revision: 74a9bb8e8bd4ca4c7588520ab6ebba14df3c89df

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2006-08-01T20:03:50
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
Wolfgang Sourdeau
2006-08-01 20:03:50 +00:00
parent e61b8eecf2
commit 1ed556f657
3 changed files with 47 additions and 28 deletions
+6
View File
@@ -1,5 +1,11 @@
2006-08-01 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* UI/WebServerResources/MailerUI.js: when opening the context menu
of the message list, select the message below the mouse cursor and
deselect the other selected messages temporarily. This mimics the
behaviour of Thunderbird for that matter and was already
implemented for the entries of the folder tree.
* UI/MailerUI/UIxMailFolderMenu.m ([UIxMailFolderMenu
-iconForMenuItem]): new method that returns the fully qualified
relative URL to the icon representing the mailbox, or the default
+9 -10
View File
@@ -68,15 +68,14 @@
onclick="openMailboxAtIndex(this);"
var:idx="prevFirstMessageNumber"
><var:string label:value="previous"/></a> |
</var:if
><var:string value="firstMessageNumber"
/><var:string label:value="msgnumber_to"
/><var:string value="lastMessageNumber"
/><var:string label:value="msgnumber_of"
/><var:string value="sortedUIDs.count"
/><var:if condition="hasNext">
| <a href="#"
</var:if>
<var:string value="firstMessageNumber" />
<var:string label:value="msgnumber_to" />
<var:string value="lastMessageNumber" />
<var:string label:value="msgnumber_of" />
<var:string value="sortedUIDs.count" />
<var:if condition="hasNext"
>| <a href="#"
onclick="openMailboxAtIndex(this);"
var:idx="nextFirstMessageNumber"
><var:string label:value="next" /></a>
@@ -87,7 +86,7 @@
<var:foreach list="messages" item="message"
><tr class="tableview" var:id="msgRowID"
onclick="return onRowClick(event);"
oncontextmenu="return onMenuClick(event, 'messageListMenu');"
oncontextmenu="return onMessageContextMenu(event, this);"
><td onmousedown="return false;"
></td
><td onmousedown="return false;"
+32 -18
View File
@@ -601,9 +601,37 @@ function messageListCallback(http)
log ("ajax fuckage");
}
var onHideMenuEventHandler = {
handleEvent: function(event) {
onFolderMenuHide(event);
function onMessageContextMenu(event, element)
{
var menu = document.getElementById('messageListMenu');
menu.addEventListener("hideMenu", onHideMessageContextMenuEventHandler, false);
onMenuClick(event, 'messageListMenu');
var topNode = document.getElementById('messageList');
var selectedNodeIds = collectSelectedRows();
topNode.menuSelectedRows = selectedNodeIds;
for (var i = 0; i < selectedNodeIds.length; i++) {
var selectedNode = document.getElementById("row_" + selectedNodeIds[i]);
deselectNode (selectedNode);
}
topNode.menuSelectedEntry = element;
selectNode(element);
}
function onHideMessageContextMenuEventHandler(event)
{
var topNode = document.getElementById('messageList');
if (topNode.menuSelectedEntry)
deselectNode(topNode.menuSelectedEntry);
topNode.menuSelectedEntry = null;
if (topNode.menuSelectedRows) {
var nodeIds = topNode.menuSelectedRows;
for (var i = 0; i < nodeIds.length; i++) {
var node = document.getElementById("row_" + nodeIds[i]);
selectNode (node);
}
topNode.menuSelectedRows = null;
}
}
@@ -622,7 +650,7 @@ function onFolderMenuClick(event, element, menutype)
}
var menu = document.getElementById(menuName);
menu.addEventListener("hideMenu", onHideMenuEventHandler, false);
menu.addEventListener("hideMenu", onFolderMenuHide, false);
onMenuClick(event, menuName);
var topNode = document.getElementById('d');
@@ -789,20 +817,6 @@ function enableElement(e, shouldEnable) {
}
}
function toggleRowSelectionStatus(sender) {
rowID = sender.value;
tr = document.getElementById(rowID);
if(sender.checked) {
tr.className = "tableview_selected";
rowSelectionCount += 1;
}
else {
tr.className = "tableview";
rowSelectionCount -= 1;
}
this.validateControls();
}
function validateControls() {
var e = document.getElementById("moveto");
this.enableElement(e, rowSelectionCount > 0);