mirror of
https://github.com/gryf/pentadactyl-pm.git
synced 2025-12-23 11:48:00 +01:00
:message support, thanks didi
This commit is contained in:
@@ -175,7 +175,8 @@ liberator.Mail = function () //{{{
|
|||||||
params.composeFields = Components.classes["@mozilla.org/messengercompose/composefields;1"]
|
params.composeFields = Components.classes["@mozilla.org/messengercompose/composefields;1"]
|
||||||
.createInstance(Components.interfaces.nsIMsgCompFields);
|
.createInstance(Components.interfaces.nsIMsgCompFields);
|
||||||
|
|
||||||
if (args) {
|
if (args)
|
||||||
|
{
|
||||||
if (args.originalMsg)
|
if (args.originalMsg)
|
||||||
params.originalMsgURI = args.originalMsg;
|
params.originalMsgURI = args.originalMsg;
|
||||||
if (args.to)
|
if (args.to)
|
||||||
@@ -188,7 +189,30 @@ liberator.Mail = function () //{{{
|
|||||||
params.composeFields.newsgroups = args.newsgroups;
|
params.composeFields.newsgroups = args.newsgroups;
|
||||||
if (args.subject)
|
if (args.subject)
|
||||||
params.composeFields.subject = args.subject;
|
params.composeFields.subject = args.subject;
|
||||||
|
if (args.body)
|
||||||
|
params.composeFields.body = args.body;
|
||||||
|
while (args.attachments.length > 0)
|
||||||
|
{
|
||||||
|
var url = args.attachments.pop();
|
||||||
|
|
||||||
|
// Check if the file really exists
|
||||||
|
var file = Components.classes["@mozilla.org/file/local;1"]
|
||||||
|
.createInstance(Components.interfaces.nsILocalFile);
|
||||||
|
file.initWithPath(url);
|
||||||
|
|
||||||
|
if (!file.exists())
|
||||||
|
{
|
||||||
|
liberator.echoerr("Exxx: Could attach file `" + url + "'", liberator.commandline.FORCE_SINGLELINE);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
attachment = Components.classes["@mozilla.org/messengercompose/attachment;1"]
|
||||||
|
.createInstance(Components.interfaces.nsIMsgAttachment);
|
||||||
|
attachment.url = "file://" + url;
|
||||||
|
params.composeFields.addAttachment(attachment);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
params.type = Components.interfaces.nsIMsgCompType.New
|
params.type = Components.interfaces.nsIMsgCompType.New
|
||||||
|
|
||||||
@@ -319,7 +343,7 @@ liberator.Mail = function () //{{{
|
|||||||
// SENDING MESSAGES
|
// SENDING MESSAGES
|
||||||
liberator.mappings.add(modes, ["m"],
|
liberator.mappings.add(modes, ["m"],
|
||||||
"Compose a new message",
|
"Compose a new message",
|
||||||
function () { composeNewMail(); });
|
function () { liberator.commandline.open(":", "message ", liberator.modes.EX); });
|
||||||
|
|
||||||
liberator.mappings.add(modes, ["M"],
|
liberator.mappings.add(modes, ["M"],
|
||||||
"Compose a new message to the sender of selected mail",
|
"Compose a new message to the sender of selected mail",
|
||||||
@@ -327,9 +351,8 @@ liberator.Mail = function () //{{{
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var args = new Object();
|
var to = gDBView.hdrForFirstSelectedMessage.mime2DecodedAuthor;
|
||||||
args.to = gDBView.hdrForFirstSelectedMessage.mime2DecodedAuthor;
|
liberator.commandline.open(":", "message \"" + to + "\"", liberator.modes.EX);
|
||||||
composeNewMail(args);
|
|
||||||
}
|
}
|
||||||
catch (e) { liberator.beep(); }
|
catch (e) { liberator.beep(); }
|
||||||
});
|
});
|
||||||
@@ -613,6 +636,38 @@ liberator.Mail = function () //{{{
|
|||||||
completer: function (filter) { return liberator.completion.mail(filter); }
|
completer: function (filter) { return liberator.completion.mail(filter); }
|
||||||
});
|
});
|
||||||
|
|
||||||
|
liberator.commands.add(["m[essage]"],
|
||||||
|
"Write a new message",
|
||||||
|
function (args, special, count)
|
||||||
|
{
|
||||||
|
var res = liberator.commands.parseArgs(args, this.args);
|
||||||
|
if (!res)
|
||||||
|
return;
|
||||||
|
|
||||||
|
var mailargs = new Object();
|
||||||
|
|
||||||
|
mailargs.subject = liberator.commands.getOption(res.opts, "-subject", undefined);
|
||||||
|
mailargs.bcc = liberator.commands.getOption(res.opts, "-bcc", undefined);
|
||||||
|
mailargs.cc = liberator.commands.getOption(res.opts, "-cc", undefined);
|
||||||
|
mailargs.body = liberator.commands.getOption(res.opts, "-text", undefined);
|
||||||
|
mailargs.attachments = liberator.commands.getOption(res.opts, "-attachment", []);
|
||||||
|
|
||||||
|
if (res.args.length > 0)
|
||||||
|
{
|
||||||
|
mailargs.to = res.args.join(", ");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
composeNewMail(mailargs);
|
||||||
|
},
|
||||||
|
{
|
||||||
|
args: [[["-subject", "-s"], liberator.commands.OPTION_STRING],
|
||||||
|
[["-attachment", "-a"], liberator.commands.OPTION_LIST],
|
||||||
|
[["-bcc", "-b"], liberator.commands.OPTION_STRING],
|
||||||
|
[["-cc", "-c"], liberator.commands.OPTION_STRING],
|
||||||
|
[["-text", "-t"], liberator.commands.OPTION_STRING]]
|
||||||
|
});
|
||||||
|
|
||||||
liberator.commands.add(["copy[to]"],
|
liberator.commands.add(["copy[to]"],
|
||||||
"Copy selected messages",
|
"Copy selected messages",
|
||||||
function (args, special) { moveOrCopy(true, args); },
|
function (args, special) { moveOrCopy(true, args); },
|
||||||
|
|||||||
Reference in New Issue
Block a user