/* -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* 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:///modules/mailServices.js"); var markreadElement = null; var numberElement = null; var nntpServer = null; var args = null; function OnLoad() { let newsBundle = document.getElementById("bundle_news"); if ("arguments" in window && window.arguments[0]) { args = window.arguments[0] .QueryInterface(Components.interfaces.nsINewsDownloadDialogArgs); /* by default, act like the user hit cancel */ args.hitOK = false; /* by default, act like the user did not select download all */ args.downloadAll = false; nntpServer = MailServices.accounts.getIncomingServer(args.serverKey) .QueryInterface(Components.interfaces.nsINntpIncomingServer); document.title = newsBundle.getString("downloadHeadersTitlePrefix"); let infotext = newsBundle.getFormattedString("downloadHeadersInfoText", [args.articleCount]); setText('info', infotext); let okButtonText = newsBundle.getString("okButtonText"); let okbutton = document.documentElement.getButton("accept"); okbutton.setAttribute("label", okButtonText); okbutton.focus(); setText("newsgroupLabel", args.groupName); } numberElement = document.getElementById("number"); numberElement.value = nntpServer.maxArticles; markreadElement = document.getElementById("markread"); markreadElement.checked = nntpServer.markOldRead; return true; } function setText(id, value) { let element = document.getElementById(id); if (!element) return; if (element.hasChildNodes()) element.firstChild.remove(); let textNode = document.createTextNode(value); element.appendChild(textNode); } function OkButtonCallback() { nntpServer.maxArticles = numberElement.value; nntpServer.markOldRead = markreadElement.checked; let radio = document.getElementById("all"); if (radio) args.downloadAll = radio.selected; args.hitOK = true; return true; } function CancelButtonCallback() { args.hitOK = false; return true; } function setupDownloadUI(enable) { let checkbox = document.getElementById("markread"); let numberFld = document.getElementById("number"); checkbox.disabled = !enable; numberFld.disabled = !enable; }