|
|
@ -64,7 +64,7 @@ class pEpForThunderbird extends pEp { |
|
|
|
this.clientID = null; |
|
|
|
this.protectSubjects = true; |
|
|
|
this.isControllerAlert = false; |
|
|
|
this.alertFolder = null; |
|
|
|
this.alertArguments = null; |
|
|
|
this.passphrasePromptActive = false; |
|
|
|
this.pEpFolderCleanupTimer = null; |
|
|
|
|
|
|
@ -528,30 +528,46 @@ class pEpForThunderbird extends pEp { |
|
|
|
} |
|
|
|
this.msgQueueProcessing = false; |
|
|
|
this.log.debug(`Done processing queue, length is ${this.msgQueue.length}`); |
|
|
|
if (hasEntries && this.isControllerAlert && this.alertFolder) { |
|
|
|
if (hasEntries && this.isControllerAlert && this.alertArguments) { |
|
|
|
this.log.info("Launching alert window"); |
|
|
|
if (this.MOZ_APP_VERSION >= 88) { |
|
|
|
Services.ww.openWindow( |
|
|
|
null, |
|
|
|
"chrome://messenger/content/newmailalert.xhtml", |
|
|
|
"_blank", |
|
|
|
"chrome,dialog=yes,titlebar=no,popup=yes", |
|
|
|
this.alertFolder, |
|
|
|
); |
|
|
|
} else { |
|
|
|
let folderArray = Cc["@mozilla.org/array;1"].createInstance(Ci.nsIMutableArray); |
|
|
|
folderArray.appendElement(this.alertFolder); |
|
|
|
Services.ww.openWindow( |
|
|
|
null, |
|
|
|
this.MOZ_APP_VERSION >= 73 |
|
|
|
? "chrome://messenger/content/newmailalert.xhtml" |
|
|
|
: "chrome://messenger/content/newmailalert.xul", |
|
|
|
"_blank", |
|
|
|
"chrome,dialog=yes,titlebar=no,popup=yes", |
|
|
|
folderArray, null, false, 0, |
|
|
|
); |
|
|
|
// Copy the arguments to a new array in a generic fashion so we don't have to adjust every time
|
|
|
|
// Thunderbird changes this. Last change in https://bugzilla.mozilla.org/show_bug.cgi?id=1715713.
|
|
|
|
let args = Cc["@mozilla.org/array;1"].createInstance(Ci.nsIMutableArray); |
|
|
|
for (let i = 0; i < this.alertArguments.length; i++) { |
|
|
|
let v; |
|
|
|
switch (this.alertArguments[i].constructor.name) { |
|
|
|
case "Object": |
|
|
|
args.appendElement(this.alertArguments[i]); |
|
|
|
break; |
|
|
|
case "Number": |
|
|
|
v = Cc["@mozilla.org/supports-PRUint32;1"].createInstance(Ci.nsISupportsPRUint32); |
|
|
|
v.data = this.alertArguments[i]; |
|
|
|
args.appendElement(v); |
|
|
|
break; |
|
|
|
case "Boolean": |
|
|
|
v = Cc["@mozilla.org/supports-PRBool;1"].createInstance(Ci.nsISupportsPRBool); |
|
|
|
v.data = this.alertArguments[i]; |
|
|
|
args.appendElement(v); |
|
|
|
break; |
|
|
|
case "String": |
|
|
|
v = Cc["@mozilla.org/supports-string;1"].createInstance(Ci.nsISupportsString); |
|
|
|
v.data = this.alertArguments[i]; |
|
|
|
args.appendElement(v); |
|
|
|
break; |
|
|
|
default: |
|
|
|
} |
|
|
|
} |
|
|
|
this.alertFolder = null; // Done with this folder.
|
|
|
|
|
|
|
|
Services.ww.openWindow( |
|
|
|
null, |
|
|
|
this.MOZ_APP_VERSION >= 73 |
|
|
|
? "chrome://messenger/content/newmailalert.xhtml" |
|
|
|
: "chrome://messenger/content/newmailalert.xul", |
|
|
|
"_blank", |
|
|
|
"chrome,dialog=yes,titlebar=no,popup=yes", |
|
|
|
args, |
|
|
|
); |
|
|
|
this.alertArguments = null; // Done with these.
|
|
|
|
} |
|
|
|
}); |
|
|
|
} |
|
|
|