mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-27 10:57:34 +09:00
85 lines
2.5 KiB
JavaScript
85 lines
2.5 KiB
JavaScript
/* -*- 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;
|
|
}
|