From 049780bcb32a2b030e480763da7e077e556ef25a Mon Sep 17 00:00:00 2001 From: Martin Stubenschrott Date: Tue, 6 May 2008 15:15:12 +0000 Subject: [PATCH] [muttator] fixed off-by-one error --- content/mail.js | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/content/mail.js b/content/mail.js index f84c13c7..3a38bb3b 100644 --- a/content/mail.js +++ b/content/mail.js @@ -230,7 +230,35 @@ liberator.Mail = function () "Select previous unread message", function (count) { liberator.mail.selectMessage(function (msg) { return !msg.isRead; }, true, true, true, count); }, { flags: liberator.Mappings.flags.COUNT }); + + liberator.mappings.add(modes, ["*"], + "Select next message from the same sender", + function (count) + { + try + { + var author = gDBView.hdrForFirstSelectedMessage.mime2DecodedAuthor.toLowerCase(); + liberator.mail.selectMessage(function(msg) { return msg.mime2DecodedAuthor.toLowerCase().indexOf(author) == 0; }, true, true, false, count); + } + catch (e) { liberator.beep(); } + }, + { flags: liberator.Mappings.flags.COUNT }); + + liberator.mappings.add(modes, ["#"], + "Select previous message from the same sender", + function (count) + { + try + { + var author = gDBView.hdrForFirstSelectedMessage.mime2DecodedAuthor.toLowerCase(); + liberator.mail.selectMessage(function(msg) { return msg.mime2DecodedAuthor.toLowerCase().indexOf(author) == 0; }, true, true, true, count); + } + catch (e) { liberator.beep(); } + }, + { flags: liberator.Mappings.flags.COUNT }); + + // SENDING MESSAGES liberator.mappings.add(modes, ["r"], "Reply to sender", function () { goDoCommand("cmd_reply"); }); @@ -626,7 +654,6 @@ liberator.Mail = function () index = (typeof index == "number") ? index : gDBView.selection.currentIndex; return !gDBView.isContainerOpen(index) && !gDBView.isContainerEmpty(index); } - if (typeof validatorFunc != "function") return; @@ -688,7 +715,7 @@ liberator.Mail = function () var folders = this.getFolders("", true, true); var ci = GetFolderTree().currentIndex; - for (var i = 1; i <= folders.length; i++) + for (var i = 1; i < folders.length; i++) { let index = (i + ci) % folders.length; if (reverse)