| Index: chrome/browser/resources/print_preview/print_preview.js
|
| diff --git a/chrome/browser/resources/print_preview/print_preview.js b/chrome/browser/resources/print_preview/print_preview.js
|
| index c00bd0708c102e93439991b2b2af126170f4230c..83c541d025a16541f0d2ac63acd81a2480d4bf8c 100644
|
| --- a/chrome/browser/resources/print_preview/print_preview.js
|
| +++ b/chrome/browser/resources/print_preview/print_preview.js
|
| @@ -48,6 +48,9 @@ var pageSettings;
|
| // Object holding all the copies related settings.
|
| var copiesSettings;
|
|
|
| +// Object holding all the layout related settings.
|
| +var layoutSettings;
|
| +
|
| // True if the user has click 'Advanced...' in order to open the system print
|
| // dialog.
|
| var showingSystemDialog = false;
|
| @@ -83,8 +86,10 @@ function onLoad() {
|
|
|
| pageSettings = print_preview.PageSettings.getInstance();
|
| copiesSettings = print_preview.CopiesSettings.getInstance();
|
| + layoutSettings = print_preview.LayoutSettings.getInstance();
|
| pageSettings.addEventListeners();
|
| copiesSettings.addEventListeners();
|
| + layoutSettings.addEventListeners();
|
|
|
| showLoadingAnimation();
|
| chrome.send('getDefaultPrinter');
|
| @@ -95,8 +100,6 @@ function onLoad() {
|
| */
|
| function addEventListeners() {
|
| // Controls that require preview rendering.
|
| - $('landscape').onclick = onLayoutModeToggle;
|
| - $('portrait').onclick = onLayoutModeToggle;
|
| $('printer-list').onchange = updateControlsWithSelectedPrinterCapabilities;
|
|
|
| // Controls that do not require preview rendering.
|
| @@ -112,8 +115,6 @@ function removeEventListeners() {
|
| clearTimeout(pageSettings.timerId_);
|
|
|
| // Controls that require preview rendering
|
| - $('landscape').onclick = null;
|
| - $('portrait').onclick = null;
|
| $('printer-list').onchange = null;
|
|
|
| // Controls that don't require preview rendering.
|
| @@ -246,29 +247,16 @@ function doUpdateCloudPrinterCapabilities(printer) {
|
| * @param {Object} settingInfo printer setting information.
|
| */
|
| function updateWithPrinterCapabilities(settingInfo) {
|
| + var customEvent = new cr.Event("printerCapabilitiesUpdated");
|
| + customEvent.printerCapabilities = settingInfo;
|
| + document.dispatchEvent(customEvent);
|
| +
|
| var disableColorOption = settingInfo.disableColorOption;
|
| - var disableCopiesOption = settingInfo.disableCopiesOption;
|
| var setColorAsDefault = settingInfo.setColorAsDefault;
|
| - var disableLandscapeOption = settingInfo.disableLandscapeOption;
|
| - var setDuplexAsDefault = settingInfo.setDuplexAsDefault;
|
| var color = $('color');
|
| var bw = $('bw');
|
| var colorOptions = $('color-options');
|
|
|
| - if (disableCopiesOption) {
|
| - fadeOutElement($('copies-option'));
|
| - $('hr-before-copies').classList.remove('invisible');
|
| - } else {
|
| - fadeInElement($('copies-option'));
|
| - $('hr-before-copies').classList.add('invisible');
|
| - }
|
| -
|
| - if (disableLandscapeOption) {
|
| - fadeOutElement($('landscape-option'));
|
| - } else {
|
| - fadeInElement($('landscape-option'));
|
| - }
|
| -
|
| disableColorOption ? fadeOutElement(colorOptions) :
|
| fadeInElement(colorOptions);
|
| colorOptions.setAttribute('aria-hidden', disableColorOption);
|
| @@ -277,7 +265,6 @@ function updateWithPrinterCapabilities(settingInfo) {
|
| color.checked = setColorAsDefault;
|
| bw.checked = !setColorAsDefault;
|
| }
|
| - copiesSettings.twoSidedCheckbox.checked = setDuplexAsDefault;
|
| }
|
|
|
| /**
|
| @@ -307,15 +294,6 @@ function finishedCloudPrinting() {
|
| }
|
|
|
| /**
|
| - * Checks whether the preview layout setting is set to 'landscape' or not.
|
| - *
|
| - * @return {boolean} true if layout is 'landscape'.
|
| - */
|
| -function isLandscape() {
|
| - return $('landscape').checked;
|
| -}
|
| -
|
| -/**
|
| * Checks whether the preview color setting is set to 'color' or not.
|
| *
|
| * @return {boolean} true if color is 'color'.
|
| @@ -325,26 +303,6 @@ function isColor() {
|
| }
|
|
|
| /**
|
| - * Checks whether the preview collate setting value is set or not.
|
| - *
|
| - * @return {boolean} true if collate setting is enabled and checked.
|
| - */
|
| -function isCollated() {
|
| - return !copiesSettings.collateOption.hidden && $('collate').checked;
|
| -}
|
| -
|
| -/**
|
| - * Gets the duplex mode for printing.
|
| - * @return {number} duplex mode.
|
| - */
|
| -function getDuplexMode() {
|
| - // Constants values matches printing::DuplexMode enum.
|
| - const SIMPLEX = 0;
|
| - const LONG_EDGE = 1;
|
| - return !copiesSettings.twoSidedCheckbox.checked ? SIMPLEX : LONG_EDGE;
|
| -}
|
| -
|
| -/**
|
| * Creates an object based on the values in the printer settings.
|
| *
|
| * @return {Object} Object containing print job settings.
|
| @@ -357,10 +315,10 @@ function getSettings() {
|
| {'deviceName': deviceName,
|
| 'pageRange': pageSettings.selectedPageRanges,
|
| 'printAll': pageSettings.allPagesRadioButton.checked,
|
| - 'duplex': getDuplexMode(),
|
| + 'duplex': copiesSettings.duplexMode,
|
| 'copies': copiesSettings.numberOfCopies,
|
| - 'collate': isCollated(),
|
| - 'landscape': isLandscape(),
|
| + 'collate': copiesSettings.isCollated(),
|
| + 'landscape': layoutSettings.isLandscape(),
|
| 'color': isColor(),
|
| 'printToPDF': printToPDF,
|
| 'requestID': 0};
|
| @@ -782,8 +740,6 @@ function onPDFLoad() {
|
| setColor($('color').checked);
|
| hideLoadingAnimation();
|
|
|
| - if (!previewModifiable)
|
| - fadeOutElement($('landscape-option'));
|
| cr.dispatchSimpleEvent(document, 'PDFLoaded');
|
| }
|
|
|
| @@ -976,19 +932,6 @@ function updatePrintSummary() {
|
| }
|
|
|
| /**
|
| - * When the user switches printing orientation mode the page field selection is
|
| - * reset to "all pages selected". After the change the number of pages will be
|
| - * different and currently selected page numbers might no longer be valid.
|
| - * Even if they are still valid the content of these pages will be different.
|
| - */
|
| -function onLayoutModeToggle() {
|
| - // If the chosen layout is same as before, nothing needs to be done.
|
| - if (printSettings.isLandscape == isLandscape())
|
| - return;
|
| - setDefaultValuesAndRegeneratePreview();
|
| -}
|
| -
|
| -/**
|
| * Sets the default values and sends a request to regenerate preview data.
|
| */
|
| function setDefaultValuesAndRegeneratePreview() {
|
| @@ -1009,6 +952,6 @@ function PrintSettings() {
|
| */
|
| PrintSettings.prototype.save = function() {
|
| this.deviceName = getSelectedPrinterName();
|
| - this.isLandscape = isLandscape();
|
| + this.isLandscape = layoutSettings.isLandscape();
|
| }
|
|
|
|
|