blob: bd856ae0de76eef7b65e915c9bb2bb02631419ce (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
/* -*- 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;
}
|