From 6bf0a5cb5034a7e684dcc3500e841785237ce2dd Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 19:32:43 +0200 Subject: Adding upstream version 1:115.7.0. Signed-off-by: Daniel Baumann --- .../extensions/mailviews/content/mailViewList.js | 116 +++++++++ .../mailviews/content/mailViewList.xhtml | 63 +++++ .../extensions/mailviews/content/mailViewSetup.js | 108 ++++++++ .../mailviews/content/mailViewSetup.xhtml | 61 +++++ .../mailviews/content/msgViewPickerOverlay.js | 282 +++++++++++++++++++++ comm/mail/extensions/mailviews/jar.mn | 10 + comm/mail/extensions/mailviews/moz.build | 6 + 7 files changed, 646 insertions(+) create mode 100644 comm/mail/extensions/mailviews/content/mailViewList.js create mode 100644 comm/mail/extensions/mailviews/content/mailViewList.xhtml create mode 100644 comm/mail/extensions/mailviews/content/mailViewSetup.js create mode 100644 comm/mail/extensions/mailviews/content/mailViewSetup.xhtml create mode 100644 comm/mail/extensions/mailviews/content/msgViewPickerOverlay.js create mode 100644 comm/mail/extensions/mailviews/jar.mn create mode 100644 comm/mail/extensions/mailviews/moz.build (limited to 'comm/mail/extensions/mailviews') diff --git a/comm/mail/extensions/mailviews/content/mailViewList.js b/comm/mail/extensions/mailviews/content/mailViewList.js new file mode 100644 index 0000000000..277c74e553 --- /dev/null +++ b/comm/mail/extensions/mailviews/content/mailViewList.js @@ -0,0 +1,116 @@ +/* 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 gMailListView; +var gListBox; +var gEditButton; +var gDeleteButton; + +function mailViewListOnLoad() { + gMailListView = Cc["@mozilla.org/messenger/mailviewlist;1"].getService( + Ci.nsIMsgMailViewList + ); + gListBox = document.getElementById("mailViewList"); + + // Construct list view based on current mail view list data + refreshListView(null); + gEditButton = document.getElementById("editButton"); + gDeleteButton = document.getElementById("deleteButton"); + + updateButtons(); +} + +function refreshListView(aSelectedMailView) { + // remove any existing items in the view... + for (var index = gListBox.getRowCount(); index > 0; index--) { + gListBox.getItemAtIndex(index - 1).remove(); + } + + var numItems = gMailListView.mailViewCount; + var mailView; + for (index = 0; index < numItems; index++) { + mailView = gMailListView.getMailViewAt(index); + gListBox.appendItem(mailView.prettyName, index); + if ( + aSelectedMailView && + mailView.prettyName == aSelectedMailView.prettyName + ) { + gListBox.selectedIndex = index; + } + } +} + +function onNewMailView() { + window.openDialog( + "chrome://messenger/content/mailViewSetup.xhtml", + "", + "centerscreen,resizable,modal,titlebar,chrome", + { onOkCallback: refreshListView } + ); +} + +function onDeleteMailView() { + var bundle = Services.strings.createBundle( + "chrome://messenger/locale/messenger.properties" + ); + + if ( + !Services.prompt.confirm( + window, + bundle.GetStringFromName("confirmViewDeleteTitle"), + bundle.GetStringFromName("confirmViewDeleteMessage") + ) + ) { + return; + } + + // get the selected index + var selectedIndex = gListBox.selectedIndex; + if (selectedIndex >= 0) { + var mailView = gMailListView.getMailViewAt(selectedIndex); + if (mailView) { + gMailListView.removeMailView(mailView); + // now remove it from the view... + gListBox.selectedItem.remove(); + + // select the next item in the list.. + if (selectedIndex < gListBox.getRowCount()) { + gListBox.selectedIndex = selectedIndex; + } else { + gListBox.selectedIndex = gListBox.getRowCount() - 1; + } + + gMailListView.save(); + } + } +} + +function onEditMailView() { + // get the selected index + var selectedIndex = gListBox.selectedIndex; + if (selectedIndex >= 0) { + var selMailView = gMailListView.getMailViewAt(selectedIndex); + // open up the mail view setup dialog passing in the mail view as an argument.... + + var args = { mailView: selMailView, onOkCallback: refreshListView }; + + window.openDialog( + "chrome://messenger/content/mailViewSetup.xhtml", + "", + "centerscreen,modal,resizable,titlebar,chrome", + args + ); + } +} + +function onMailViewSelect(event) { + updateButtons(); +} + +function updateButtons() { + var selectedIndex = gListBox.selectedIndex; + // "edit" and "delete" only enabled when one filter selected + gEditButton.disabled = selectedIndex < 0; + gDeleteButton.disabled = selectedIndex < 0; +} diff --git a/comm/mail/extensions/mailviews/content/mailViewList.xhtml b/comm/mail/extensions/mailviews/content/mailViewList.xhtml new file mode 100644 index 0000000000..2e1115403b --- /dev/null +++ b/comm/mail/extensions/mailviews/content/mailViewList.xhtml @@ -0,0 +1,63 @@ + + + + + + + + + +%mailViewLisDTD; + +%FilterListDialogDTD; ]> + + + +