【问题标题】:Mozilla Thunderbird Addon - Create TaskMozilla Thunderbird 插件 - 创建任务
【发布时间】:2014-03-21 00:06:35
【问题描述】:
我是 Mozilla 插件开发的初学者。我需要一些帮助来开发功能,即。分配任务管理器就像闪电插件。
当我点击一个按钮时,一个弹出窗口应该会询问主题、开始日期、截止日期、assignTo(电子邮件 ID)。当我们点击保存并发送时,它应该发送一个 RSVP(邀请邮件)。如果用户接受邀请它应该在 sqlite 数据库中更新。这个怎么做。任何有一些代码或建议的人。我认为我们需要在此插件中使用 Google 日历,但我不知道如何在插件开发中使用它来创建任务和发送邀请。
还有.ics文件有什么用,如果有人知道请告诉我。
谢谢。我会非常感谢你。
【问题讨论】:
标签:
firefox-addon
google-calendar-api
mozilla
add-on
thunderbird-addon
【解决方案1】:
这是我最近做的一个任务的例子:
var dJsm = Components.utils.import("resource://gre/modules/Downloads.jsm").Downloads;
var tJsm = Components.utils.import("resource://gre/modules/Task.jsm").Task;
var fuJsm = Components.utils.import("resource://gre/modules/FileUtils.jsm").FileUtils;
var view = {
onDownloadChanged: function(download) {
cDump(download, 'Changed');
if (download.succeeded) {
var file = fuJsm.File(this.target.path));
cDump(file,'file);
}
}
};
tJsm.spawn(function () {
let list = yield dJsm.getList(Downloads.ALL);
list.addView(view);
//list.removeView(view);
}).then(null, Components.utils.reportError);
function cDump(obj,title) {
var tstr = '';
var bstr = '';
var fstr = '';
for (var b in obj) {
try {
bstr += b + '=' + obj[b] + '\n';
} catch (e) {
fstr = b + '=' + e + '\n';
}
}
tstr += '<b>BSTR::</b>\n' + bstr;
tstr += '\n<b>FSTR::</b>\n' + fstr;
var cWin = Services.wm.getMostRecentWindow('navigator:browser');
var onloadFunc = function () {
cWin.gBrowser.selectedTab = cWin.gBrowser.tabContainer.childNodes[cWin.gBrowser.tabContainer.childNodes.length - 1];
newTabBrowser.removeEventListener('load', onloadFunc, true);
if (title) { newTabBrowser.contentDocument.title = title; }
newTabBrowser.contentDocument.body.innerHTML = tstr.replace(/\n/g, '<br>')
};
var newTabBrowser = cWin.gBrowser.getBrowserForTab(cWin.gBrowser.addTab('about:blank'));
newTabBrowser.addEventListener('load', onloadFunc, true);
}