mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-10-05 20:10:33 +00:00
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:
@@ -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
|
||||
|
||||
@@ -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;"
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user