// -*- indent-tabs-mode: nil; js-indent-level: 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/. */ var dialog; var gPrintBundle; var gPrintSettings = null; var gPrintSettingsInterface = Components.interfaces.nsIPrintSettings; var gPaperArray; var gPrefs; var gPrintSetInterface = Components.interfaces.nsIPrintSettings; var doDebug = true; // --------------------------------------------------- function checkDouble(element, maxVal) { var value = element.value; if (value && value.length > 0) { value = value.replace(/[^\.|^0-9]/g, ""); if (!value) { element.value = ""; } else if (value > maxVal) { element.value = maxVal; } else { element.value = value; } } } // --------------------------------------------------- function isListOfPrinterFeaturesAvailable() { return gPrefs.getBoolPref("print.tmp.printerfeatures." + gPrintSettings.printerName + ".has_special_printerfeatures", false); } // --------------------------------------------------- function getDoubleStr(val, dec) { var str = val.toString(); var inx = str.indexOf("."); return str.substring(0, inx+dec+1); } // --------------------------------------------------- function initDialog() { gPrintBundle = document.getElementById("printBundle"); dialog = {}; dialog.paperList = document.getElementById("paperList"); dialog.paperGroup = document.getElementById("paperGroup"); dialog.jobTitleLabel = document.getElementById("jobTitleLabel"); dialog.jobTitleGroup = document.getElementById("jobTitleGroup"); dialog.jobTitleInput = document.getElementById("jobTitleInput"); dialog.colorGroup = document.getElementById("colorGroup"); dialog.colorRadioGroup = document.getElementById("colorRadioGroup"); dialog.colorRadio = document.getElementById("colorRadio"); dialog.grayRadio = document.getElementById("grayRadio"); dialog.topInput = document.getElementById("topInput"); dialog.bottomInput = document.getElementById("bottomInput"); dialog.leftInput = document.getElementById("leftInput"); dialog.rightInput = document.getElementById("rightInput"); } // --------------------------------------------------- function round10(val) { return Math.round(val * 10) / 10; } // --------------------------------------------------- function paperListElement(aPaperListElement) { this.paperListElement = aPaperListElement; } paperListElement.prototype = { clearPaperList: function () { // remove the menupopup node child of the menulist. this.paperListElement.removeChild(this.paperListElement.firstChild); }, appendPaperNames: function (aDataObject) { var popupNode = document.createElement("menupopup"); for (var i=0;i -1) { selectElement.paperListElement.selectedIndex = selectedInx; } // dialog.paperList = selectElement; } // --------------------------------------------------- function loadDialog() { var print_paper_unit = 0; var print_paper_width = 0.0; var print_paper_height = 0.0; var print_paper_name = ""; var print_color = true; var print_jobtitle = ""; gPrefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch); if (gPrintSettings) { print_paper_unit = gPrintSettings.paperSizeUnit; print_paper_width = gPrintSettings.paperWidth; print_paper_height = gPrintSettings.paperHeight; print_paper_name = gPrintSettings.paperName; print_color = gPrintSettings.printInColor; print_jobtitle = gPrintSettings.title; } if (doDebug) { dump("loadDialog******************************\n"); dump("paperSizeType "+print_paper_unit+"\n"); dump("paperWidth "+print_paper_width+"\n"); dump("paperHeight "+print_paper_height+"\n"); dump("paperName "+print_paper_name+"\n"); dump("print_color "+print_color+"\n"); dump("print_jobtitle "+print_jobtitle+"\n"); } createPaperArray(); var paperSelectedInx = 0; for (var i=0;i