diff --git a/replymonitor@lin.han/chrome/content/replyManagerComposeOverlay.js b/replymonitor@lin.han/chrome/content/replyManagerComposeOverlay.js
index 4a6b109..318efc8 100644
--- a/replymonitor@lin.han/chrome/content/replyManagerComposeOverlay.js
+++ b/replymonitor@lin.han/chrome/content/replyManagerComposeOverlay.js
@@ -1,10 +1,10 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-Components.utils.import("resource://replymanager/modules/replyManagerUtils.jsm");
-Components.utils.import("resource://replymanager/modules/calUtils.jsm");
-Components.utils.import("resource:///modules/gloda/indexer.js");
-Components.utils.import("resource://gre/modules/Preferences.jsm");
+var { replyManagerUtils } = ChromeUtils.import("resource://replymanager/modules/replyManagerUtils.jsm");
+var { calUtils } = ChromeUtils.import("resource://replymanager/modules/calUtils.jsm");
+var { indexer } = ChromeUtils.import("resource:///modules/gloda/indexer.js");
+var { Preferences } = ChromeUtils.import("resource://gre/modules/Preferences.jsm");
function onLoad() {
// We need both ReplyManager and Gloda indexer enabled to make this feature work.
@@ -75,7 +75,7 @@ replyManagerComposeStateListener.prototype = {
NotifyComposeBodyReady: function() {},
ComposeProcessDone: function(aResult) {
- let folder = MailUtils.getFolderForURI(gMsgCompose.savedFolderURI);
+ let folder = MailUtils.getExistingFolder(gMsgCompose.savedFolderURI);
let msgDB = folder.msgDatabase;
let savedMsgHdr = msgDB.getMsgHdrForMessageID(this.msgID);
let toggle = document.getElementById("other-elements-toggle").checked;
diff --git a/replymonitor@lin.han/chrome/content/replyManagerComposeOverlay.xul b/replymonitor@lin.han/chrome/content/replyManagerComposeOverlay.xul
index 77175f0..94b05ee 100644
--- a/replymonitor@lin.han/chrome/content/replyManagerComposeOverlay.xul
+++ b/replymonitor@lin.han/chrome/content/replyManagerComposeOverlay.xul
@@ -2,9 +2,12 @@
-
-
-
+
+
+
+
+
+
%replyManagerDTD;
@@ -16,6 +19,8 @@
+
+
@@ -28,7 +33,7 @@
-
+
diff --git a/replymonitor@lin.han/chrome/content/replyManagerDateDialog.js b/replymonitor@lin.han/chrome/content/replyManagerDateDialog.js
index d3cec22..58aaafd 100644
--- a/replymonitor@lin.han/chrome/content/replyManagerDateDialog.js
+++ b/replymonitor@lin.han/chrome/content/replyManagerDateDialog.js
@@ -2,7 +2,7 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-Components.utils.import("resource://replymanager/modules/replyManagerUtils.jsm");
+var { replyManagerUtils } = ChromeUtils.import("resource://replymanager/modules/replyManagerUtils.jsm");
/**
* If the message is expecting replies we need to set the datepicker
diff --git a/replymonitor@lin.han/chrome/content/replyManagerDateDialog.xul b/replymonitor@lin.han/chrome/content/replyManagerDateDialog.xul
index 31833fb..13403e8 100644
--- a/replymonitor@lin.han/chrome/content/replyManagerDateDialog.xul
+++ b/replymonitor@lin.han/chrome/content/replyManagerDateDialog.xul
@@ -1,4 +1,7 @@
+
diff --git a/replymonitor@lin.han/chrome/content/replyManagerMailWindowOverlay.js b/replymonitor@lin.han/chrome/content/replyManagerMailWindowOverlay.js
index a11a90a..ddc92cf 100644
--- a/replymonitor@lin.han/chrome/content/replyManagerMailWindowOverlay.js
+++ b/replymonitor@lin.han/chrome/content/replyManagerMailWindowOverlay.js
@@ -1,14 +1,14 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */
-Components.utils.import("resource://replymanager/modules/replyManagerUtils.jsm");
-Components.utils.import("resource://replymanager/modules/replyManagerCalendar.jsm");
-Components.utils.import("resource://replymanager/modules/calUtils.jsm");
-Components.utils.import("resource:///modules/gloda/public.js");
-Components.utils.import("resource:///modules/gloda/indexer.js");
-Components.utils.import("resource:///modules/mailServices.js");
-Components.utils.import("resource:///modules/Services.jsm");
-Components.utils.import("resource://gre/modules/Preferences.jsm");
+var { replyManagerUtils } = ChromeUtils.import("resource://replymanager/modules/replyManagerUtils.jsm");
+var { replyManagerCalendar } = ChromeUtils.import("resource://replymanager/modules/replyManagerCalendar.jsm");
+var { calUtils } = ChromeUtils.import("resource://replymanager/modules/calUtils.jsm");
+//var { public } = ChromeUtils.import("resource:///modules/gloda/public.js");
+var { indexer } = ChromeUtils.import("resource:///modules/gloda/indexer.js");
+var { mailServices } = ChromeUtils.import("resource:///modules/mailServices.js");
+var { Services } = ChromeUtils.import("resource:///modules/Services.jsm");
+var { Preferences } = ChromeUtils.import("resource://gre/modules/Preferences.jsm");
function onLoad() {
let replyManagerMenu = document.getElementById("replyManagerMailContextMenu");
@@ -210,8 +210,11 @@ var replyManagerMailListener = {
msgsDeleted: function(aItems) {
let mailEnumerator = aItems.enumerate();
while (mailEnumerator.hasMoreElements()) {
- let msg = mailEnumerator.getNext()
- .QueryInterface(Components.interfaces.nsIMsgDBHdr);
+ let msg = mailEnumerator.getNext();
+ try {
+ msg = msg.QueryInterface(Components.interfaces.nsIMsgDBHdr);
+ }
+ catch(x) {}
if (msg instanceof Components.interfaces.nsIMsgDBHdr &&
ReplyManagerUtils.isHdrExpectReply(msg)) {
ReplyManagerUtils.resetExpectReplyForHdr(msg);
diff --git a/replymonitor@lin.han/chrome/content/replyManagerMsgHdrViewOverlay.js b/replymonitor@lin.han/chrome/content/replyManagerMsgHdrViewOverlay.js
index 538905a..e624da2 100644
--- a/replymonitor@lin.han/chrome/content/replyManagerMsgHdrViewOverlay.js
+++ b/replymonitor@lin.han/chrome/content/replyManagerMsgHdrViewOverlay.js
@@ -1,12 +1,12 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */
-Components.utils.import("resource://replymanager/modules/replyManagerUtils.jsm");
-Components.utils.import("resource://replymanager/modules/calUtils.jsm");
-Components.utils.import("resource:///modules/StringBundle.js");
-Components.utils.import("resource:///modules/Services.jsm");
-Components.utils.import("resource:///modules/gloda/indexer.js");
-Components.utils.import("resource://gre/modules/Preferences.jsm");
+var { replyManagerUtils } = ChromeUtils.import("resource://replymanager/modules/replyManagerUtils.jsm");
+var { calUtils } = ChromeUtils.import("resource://replymanager/modules/calUtils.jsm");
+var { StringBundle } = ChromeUtils.import("resource:///modules/StringBundle.js");
+var { Services } = ChromeUtils.import("resource:///modules/Services.jsm");
+var { indexer } = ChromeUtils.import("resource:///modules/gloda/indexer.js");
+var { Preferences } = ChromeUtils.import("resource://gre/modules/Preferences.jsm");
var replyManagerHdrViewListener = {
displayedMessage: null,
diff --git a/replymonitor@lin.han/chrome/content/replyManagerPreferences.js b/replymonitor@lin.han/chrome/content/replyManagerPreferences.js
index 6e76b03..aab8fdb 100644
--- a/replymonitor@lin.han/chrome/content/replyManagerPreferences.js
+++ b/replymonitor@lin.han/chrome/content/replyManagerPreferences.js
@@ -1,9 +1,13 @@
+/**
+ * TODO:
+ * https://developer.thunderbird.net/add-ons/tb68/changes#less-than-prefwindow-greater-than-less-than-prefpane-greater-than-less-than-preferences-greater-than-and-less-than-preference-greater-than
+ */
/**
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
-Components.utils.import("resource://replymanager/modules/replyManagerUtils.jsm");
+var { replyManagerUtils } = ChromeUtils.import("resource://replymanager/modules/replyManagerUtils.jsm");
/**
* Global Object to hold methods for the Reply Manager pref pane
diff --git a/replymonitor@lin.han/chrome/content/replyManagerPreferences.xul b/replymonitor@lin.han/chrome/content/replyManagerPreferences.xul
index e54033d..b687655 100644
--- a/replymonitor@lin.han/chrome/content/replyManagerPreferences.xul
+++ b/replymonitor@lin.han/chrome/content/replyManagerPreferences.xul
@@ -2,39 +2,20 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
+
+
+
+
+
diff --git a/replymonitor@lin.han/chrome/content/replyManagerShowAddressDialog.xul b/replymonitor@lin.han/chrome/content/replyManagerShowAddressDialog.xul
index 185484e..f9366e3 100644
--- a/replymonitor@lin.han/chrome/content/replyManagerShowAddressDialog.xul
+++ b/replymonitor@lin.han/chrome/content/replyManagerShowAddressDialog.xul
@@ -1,4 +1,7 @@
+
diff --git a/replymonitor@lin.han/defaults/preferences/prefs.js b/replymonitor@lin.han/defaults/preferences/prefs.js
index ad1adfb..81dfde3 100644
--- a/replymonitor@lin.han/defaults/preferences/prefs.js
+++ b/replymonitor@lin.han/defaults/preferences/prefs.js
@@ -3,4 +3,4 @@ pref("extensions.replymanager.create_calendar_event_enabled", true);
pref("extensions.replymanager.boilerplate", "");
pref("extensions.replymanager.lightning_installed", false);
pref("extensions.replymanager.includecc", true);
-pref("extensions.replymanager.includebcc", true);
\ No newline at end of file
+pref("extensions.replymanager.includebcc", true);
diff --git a/replymonitor@lin.han/install.rdf b/replymonitor@lin.han/install.rdf
index 0e2833b..03e9bdd 100644
--- a/replymonitor@lin.han/install.rdf
+++ b/replymonitor@lin.han/install.rdf
@@ -16,7 +16,7 @@
{3550f703-e582-4d05-9a08-453d09bdfdc6}
38.*
- 52.*
+ 60.*
diff --git a/replymonitor@lin.han/manifest.json b/replymonitor@lin.han/manifest.json
new file mode 100644
index 0000000..208aa1f
--- /dev/null
+++ b/replymonitor@lin.han/manifest.json
@@ -0,0 +1,19 @@
+{
+ "manifest_version": 2,
+ "applications": {
+ "gecko": {
+ "id": "replymonitor@lin.han",
+ "strict_min_version": "68.0"
+ }
+ },
+ "name": "Reply Monitor",
+ "description": "Keep track of your emails and replies",
+ "version": "2.0.0",
+
+ "legacy": {
+ "type": "xul",
+ "options": {
+ "page": "chrome://replymanager/content/replyManagerPreferences.xul",
+ }
+ }
+}
diff --git a/replymonitor@lin.han/modules/replyManagerCalendar.jsm b/replymonitor@lin.han/modules/replyManagerCalendar.jsm
index 8c53931..43d0499 100644
--- a/replymonitor@lin.han/modules/replyManagerCalendar.jsm
+++ b/replymonitor@lin.han/modules/replyManagerCalendar.jsm
@@ -4,17 +4,17 @@
let EXPORTED_SYMBOLS = ["ReplyManagerCalendar"];
-const Cu = Components.utils;
+//const Cu = Components.utils;
const Cc = Components.classes;
const Ci = Components.interfaces;
const ReplyManager = "ReplyManager";
-Cu.import("resource://gre/modules/errUtils.js");
-Cu.import("resource://gre/modules/Services.jsm");
-Cu.import("resource:///modules/gloda/public.js");
-Cu.import("resource:///modules/gloda/index_msg.js");
-Cu.import("resource:///modules/StringBundle.js");
-Cu.import("resource://gre/modules/Preferences.jsm");
+var { errUtils } = ChromeUtils.import("resource://gre/modules/errUtils.js");
+var { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm");
+//var { public } = ChromeUtils.import("resource:///modules/gloda/public.js");
+var { index_msg } = ChromeUtils.import("resource:///modules/gloda/index_msg.js");
+var { StringBundle } = ChromeUtils.import("resource:///modules/StringBundle.js");
+var { Preferences } = ChromeUtils.import("resource://gre/modules/Preferences.jsm");
/**
* ReplyManagerCalendar
@@ -29,7 +29,7 @@ let ReplyManagerCalendar = {
initCalendar: function()
{
try {
- Cu.import("resource://calendar/modules/calUtils.jsm");
+ var { calUtils } = ChromeUtils.import("resource://calendar/modules/calUtils.jsm");
} catch(e) {
// If Lightning is not installed, disable the feature
this.disableReplyManager();
diff --git a/replymonitor@lin.han/modules/replyManagerUtils.jsm b/replymonitor@lin.han/modules/replyManagerUtils.jsm
index 7a30421..67d465f 100644
--- a/replymonitor@lin.han/modules/replyManagerUtils.jsm
+++ b/replymonitor@lin.han/modules/replyManagerUtils.jsm
@@ -4,21 +4,21 @@
let EXPORTED_SYMBOLS = ["ReplyManagerUtils"];
-const Cu = Components.utils;
+//const Cu = Components.utils;
const Cc = Components.classes;
const Ci = Components.interfaces;
const consoleService = Cc["@mozilla.org/consoleservice;1"]
.getService(Ci.nsIConsoleService);
-Cu.import("resource:///modules/gloda/public.js");
-Cu.import("resource://replymanager/modules/replyManagerCalendar.jsm");
-Cu.import("resource:///modules/mailServices.js");
-Cu.import("resource:///modules/gloda/index_msg.js");
-Cu.import("resource:///modules/StringBundle.js");
-Cu.import("resource://gre/modules/Preferences.jsm");
+//var { public } = ChromeUtils.import("resource:///modules/gloda/public.js");
+var { replyManagerCalendar } = ChromeUtils.import("resource://replymanager/modules/replyManagerCalendar.jsm");
+var { mailServices } = ChromeUtils.import("resource:///modules/mailServices.js");
+var { index_msg } = ChromeUtils.import("resource:///modules/gloda/index_msg.js");
+var { StringBundle } = ChromeUtils.import("resource:///modules/StringBundle.js");
+var {Preferences } = ChromeUtils.import("resource://gre/modules/Preferences.jsm");
try {
- Cu.import("resource://calendar/modules/calUtils.jsm");
+ var { calUtils } = ChromeUtils.import("resource://calendar/modules/calUtils.jsm");
} catch(e) {
consoleService.logStringMessage('Lightning not installed');
}