home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 January / 01_02.iso / software / netscape62win / mail.xpi / bin / chrome / messenger.jar / content / messenger / downloadheaders.js < prev    next >
Text File  |  2001-03-21  |  4KB  |  117 lines

  1. /* -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
  2.  *
  3.  * The contents of this file are subject to the Netscape Public
  4.  * License Version 1.1 (the "License"); you may not use this file
  5.  * except in compliance with the License. You may obtain a copy of
  6.  * the License at http://www.mozilla.org/NPL/
  7.  *
  8.  * Software distributed under the License is distributed on an "AS
  9.  * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
  10.  * implied. See the License for the specific language governing
  11.  * rights and limitations under the License.
  12.  *
  13.  * The Original Code is mozilla.org code.
  14.  *
  15.  * The Initial Developer of the Original Code is Netscape
  16.  * Communications Corporation.  Portions created by Netscape are
  17.  * Copyright (C) 1998 Netscape Communications Corporation. All
  18.  * Rights Reserved.
  19.  *
  20.  * Contributor(s):
  21.  *  Seth Spitzer <sspitzer@netscape.com>
  22.  *  Ben Goodger <ben@netscape.com>
  23.  */
  24.  
  25. var newmessages = "";
  26. var newsgroupname = "";
  27. var gNewsBundle;
  28. var prefs = Components.classes['@mozilla.org/preferences;1'].getService();
  29. prefs = prefs.QueryInterface(Components.interfaces.nsIPref);
  30.  
  31. var serverid = null;
  32. var markreadElement = null;
  33. var numberElement = null;
  34.  
  35. var server = null;
  36. var nntpServer = null;
  37. var args = null;
  38.  
  39. function OnLoad()
  40. {
  41.     doSetOKCancel(OkButtonCallback, CancelButtonCallback);
  42.     gNewsBundle = document.getElementById("bundle_news");
  43.  
  44.     if ("arguments" in window && window.arguments[0]) {
  45.         args = window.arguments[0].QueryInterface( Components.interfaces.nsINewsDownloadDialogArgs);
  46.         args.hitOK = false; /* by default, act like the user hit cancel */
  47.         args.downloadAll = false; /* by default, act like the user did not select download all */
  48.  
  49.         var accountManager = Components.classes["@mozilla.org/messenger/account-manager;1"].getService(Components.interfaces.nsIMsgAccountManager);
  50.         server = accountManager.getIncomingServer(args.serverKey);
  51.         nntpServer = server.QueryInterface(Components.interfaces.nsINntpIncomingServer);
  52.  
  53.         var downloadHeadersTitlePrefix = gNewsBundle.getString("downloadHeadersTitlePrefix");
  54.         var downloadHeadersInfoText1 = gNewsBundle.getString("downloadHeadersInfoText1");
  55.         var downloadHeadersInfoText2 = gNewsBundle.getString("downloadHeadersInfoText2");
  56.         var okButtonText = gNewsBundle.getString("okButtonText");
  57.  
  58.         window.title = downloadHeadersTitlePrefix;
  59.  
  60.         // this is not i18n friendly, fix this
  61.         var infotext = downloadHeadersInfoText1 + " " + args.articleCount + " " + downloadHeadersInfoText2;
  62.         setText('info',infotext);
  63.         var okbutton = document.getElementById("ok");
  64.         okbutton.setAttribute("label", okButtonText);
  65.         setText("newsgroupLabel", args.groupName);
  66.     }
  67.  
  68.     numberElement = document.getElementById("number");
  69.     numberElement.value = nntpServer.maxArticles;
  70.  
  71.     markreadElement = document.getElementById("markread");
  72.     markreadElement.checked = nntpServer.markOldRead;
  73.  
  74.     return true;
  75. }
  76.  
  77. function setText(id, value) {
  78.     var element = document.getElementById(id);
  79.     if (!element) return;
  80.     if (element.hasChildNodes())
  81.         element.removeChild(element.firstChild);
  82.     var textNode = document.createTextNode(value);
  83.     element.appendChild(textNode);
  84. }
  85.  
  86. function OkButtonCallback() {
  87.     nntpServer.maxArticles = numberElement.value;
  88.     nntpServer.markOldRead = markreadElement.checked;
  89.  
  90.     var radio = document.getElementById("all");
  91.     if (radio) {
  92.         args.downloadAll = radio.checked;
  93.     }
  94.  
  95.     args.hitOK = true;
  96.     return true;
  97. }
  98.  
  99. function CancelButtonCallback() {
  100.     args.hitOK = false;
  101.     return true;
  102. }
  103.  
  104. function setupDownloadUI(enable) {
  105.     var checkbox = document.getElementById("markread");
  106.     var numberFld = document.getElementById("number");
  107.  
  108.     if (enable) {
  109.         checkbox.removeAttribute("disabled");
  110.         numberFld.removeAttribute("disabled");
  111.     }
  112.     else {
  113.         checkbox.setAttribute("disabled", "true");
  114.         numberFld.setAttribute("disabled", "true");
  115.     }
  116. }
  117.