summaryrefslogtreecommitdiffstats
path: root/comm/mail/components/activity/ActivityManagerUI.jsm
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:32:43 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:32:43 +0000
commit6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch)
treea68f146d7fa01f0134297619fbe7e33db084e0aa /comm/mail/components/activity/ActivityManagerUI.jsm
parentInitial commit. (diff)
downloadthunderbird-upstream.tar.xz
thunderbird-upstream.zip
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'comm/mail/components/activity/ActivityManagerUI.jsm')
-rw-r--r--comm/mail/components/activity/ActivityManagerUI.jsm47
1 files changed, 47 insertions, 0 deletions
diff --git a/comm/mail/components/activity/ActivityManagerUI.jsm b/comm/mail/components/activity/ActivityManagerUI.jsm
new file mode 100644
index 0000000000..b36b9b5a72
--- /dev/null
+++ b/comm/mail/components/activity/ActivityManagerUI.jsm
@@ -0,0 +1,47 @@
+/* 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/. */
+
+var EXPORTED_SYMBOLS = ["ActivityManagerUI"];
+
+const ACTIVITY_MANAGER_URL = "chrome://messenger/content/activity.xhtml";
+
+function ActivityManagerUI() {}
+
+ActivityManagerUI.prototype = {
+ show(aWindowContext, aID) {
+ // First we see if it is already visible
+ let window = this.recentWindow;
+ if (window) {
+ window.focus();
+ return;
+ }
+
+ let parent = null;
+ try {
+ if (aWindowContext) {
+ parent = aWindowContext.docShell.domWindow;
+ }
+ } catch (e) {
+ /* it's OK to not have a parent window */
+ }
+
+ Services.ww.openWindow(
+ parent,
+ ACTIVITY_MANAGER_URL,
+ "ActivityManager",
+ "chrome,dialog=no,resizable",
+ {}
+ );
+ },
+
+ get visible() {
+ return null != this.recentWindow;
+ },
+
+ get recentWindow() {
+ return Services.wm.getMostRecentWindow("Activity:Manager");
+ },
+
+ QueryInterface: ChromeUtils.generateQI(["nsIActivityManagerUI"]),
+};