var mouseDownEvent = null;
var exitedMouseDown = false;
+var is_shift_pressed = false;
+var is_ctrl_pressed = false;
+
var originalMarkedRow = null;
var previousFinish = 0;
var markedFrom = 0;
mlh_date.observe('click',ApplySort);
mlh_subject.observe('click',ApplySort);
mlh_from.observe('click',ApplySort);
+ $(document).observe('keydown',CtdlMessageListKeyDown,false);
$(document).observe('keyup',CtdlMessageListKeyUp,false);
$('resize_msglist').observe('mousedown', CtdlResizeMouseDown);
$('m_refresh').observe('click', getMessages);
var parent = target.parentNode;
var msgId = parent.getAttribute("citadel:msgid");
// If the ctrl key modifier wasn't used, unmark all rows and load the message
- if (!event.shiftKey && !event.ctrlKey && !event.altKey) {
+ if (!is_shift_pressed && !is_ctrl_pressed) {
previousFinish = 0;
markedFrom = 0;
unmarkAllRows();
document.getElementById("preview_pane").innerHTML = "";
new Ajax.Updater('preview_pane', 'msg/'+msgId, {method: 'get'});
markRow(parent);
+ var p = encodeURI('g_cmd=SEEN ' + msgId + '|1');
new Ajax.Request('ajax_servcmd', {
method: 'post',
- parameters: 'g_cmd=SEEN ' + msgId + '|1',
- onComplete: CtdlMarkRowAsRead(parent)});
+ parameters: p,
+ onComplete: CtdlMarkRowAsRead(parent)
+ });
// If the shift key modifier is used, mark a range...
- } else if (event.button != 2 && event.shiftKey) {
+ } else if (event.button != 2 && is_shift_pressed) {
if (originalMarkedRow == null) {
originalMarkedRow = parent;
markRow(parent);
markRow(parent.parentNode.rows[x]);
}
// If the ctrl key modifier is used, toggle one message
- } else if (event.button != 2 && (event.ctrlKey || event.altKey)) {
+ } else if (event.button != 2 && is_ctrl_pressed) {
if (parent.getAttribute("citadel:marked")) {
unmarkRow(parent);
}
function removeOldSortClass() {
if (currentSorterToggle) {
var classes = currentSorterToggle.className;
- /* classes = classes.replace("current_sort_mode","");
- classes = classes.replace("sort_ascending","");
- classes = classes.replace("sort_descending",""); */
- currentSorterToggle.className = "";
+ classes = classes.replace("current_sort_mode","");
+ classes = classes.replace("sort_ascending","");
+ classes = classes.replace("sort_descending","");
+ currentSorterToggle.className = classes;
}
}
function markRow(row) {
msgs = newMsgs;
resortAndDisplay(null);
}
-
function deleteAllSelectedMessages() {
- for(msgId in currentlyMarkedRows) {
- if (!room_is_trash) {
- new Ajax.Request('ajax_servcmd',
- {method: 'post',
- parameters: 'g_cmd=MOVE ' + msgId + '|_TRASH_|0'
- });
- } else {
- new Ajax.Request('ajax_servcmd', {method: 'post',
- parameters: 'g_cmd=DELE '+msgId});
+ var mvCommand = "";
+ var msgIds = "";
+ for(msgId in currentlyMarkedRows) {
+ msgIds += ","+msgId;
+
+ if (msgIds.length > 800) {
+ if (!room_is_trash) {
+ mvCommand = encodeURI("g_cmd=MOVE " + msgIds + "|_TRASH_|0");
+ }
+ else {
+ mvCommand = encodeURI("g_cmd=DELE " + msgIds);
+ }
+ new Ajax.Request("ajax_servcmd", {
+ parameters: mvCommand,
+ method: 'post',
+ onSuccess: function(transport) {
+ WCLog(transport.responseText);
}
+ });
+ msgIds = "";
+ }
+ }
+
+ if (!room_is_trash) {
+ mvCommand = encodeURI("g_cmd=MOVE " + msgIds + "|_TRASH_|0");
+ }
+ else {
+ mvCommand = encodeURI("g_cmd=DELE " + msgIds);
+ }
+ new Ajax.Request("ajax_servcmd", {
+ parameters: mvCommand,
+ method: 'post',
+ onSuccess: function(transport) {
+ WCLog(transport.responseText);
+ }
+ });
+
+ document.getElementById("preview_pane").innerHTML = "";
+ deleteAllMarkedRows();
+}
+
+function CtdlMessageListKeyDown(event) {
+ var key = event.which || event.keyCode;
+
+ if (key == 16) { /* SHIFT */
+ is_shift_pressed = true;
+ $('ib_summary').innerHTML = 'SHIFT';
+ }
+ else if ( (key == 17) || (key == 18) ) { /* CTRL or ALT */
+ $('ib_summary').innerHTML = 'CTRL';
+ is_ctrl_pressed = true;
}
- document.getElementById("preview_pane").innerHTML = "";
- deleteAllMarkedRows();
}
function CtdlMessageListKeyUp(event) {
- var key = event.which;
- if (key == 46) { // DELETE
+ var key = event.which || event.keyCode;
+
+ if (key == 16) { /* SHIFT */
+ is_shift_pressed = false;
+ $('ib_summary').innerHTML = ' ';
+ }
+ else if ( (key == 17) || (key == 18) ) { /* CTRL or ALT */
+ is_ctrl_pressed = false;
+ $('ib_summary').innerHTML = ' ';
+ }
+ else if (key == 46) { /* DELETE */
deleteAllSelectedMessages();
}
}
var heightOfViewPort = document.viewport.getHeight() // prototypejs method
var bannerHeight = banner.offsetHeight;
var contentViewPortHeight = heightOfViewPort-banner.offsetHeight-message_list_hdr.offsetHeight;
- contentViewPortHeight = 0.98 * contentViewPortHeight; // leave some error
+ contentViewPortHeight = 0.95 * contentViewPortHeight; // leave some error (especially for FF3!!)
// Set summary_view to 20%;
var summary_height = ctdlLocalPrefs.readPref("svheight");
if (summary_height == null) {