| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 var localStrings = new LocalStrings(); | 5 var localStrings = new LocalStrings(); |
| 6 | 6 |
| 7 // The total page count of the previewed document regardless of which pages the | 7 // The total page count of the previewed document regardless of which pages the |
| 8 // user has selected. | 8 // user has selected. |
| 9 var totalPageCount = -1; | 9 var totalPageCount = -1; |
| 10 | 10 |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 57 $('print-button').disabled = true; | 57 $('print-button').disabled = true; |
| 58 $('print-button').addEventListener('click', printFile); | 58 $('print-button').addEventListener('click', printFile); |
| 59 $('all-pages').addEventListener('click', onPageSelectionMayHaveChanged); | 59 $('all-pages').addEventListener('click', onPageSelectionMayHaveChanged); |
| 60 $('copies').addEventListener('input', copiesFieldChanged); | 60 $('copies').addEventListener('input', copiesFieldChanged); |
| 61 $('print-pages').addEventListener('click', handleIndividualPagesCheckbox); | 61 $('print-pages').addEventListener('click', handleIndividualPagesCheckbox); |
| 62 $('individual-pages').addEventListener('blur', function() { | 62 $('individual-pages').addEventListener('blur', function() { |
| 63 clearTimeout(timerId); | 63 clearTimeout(timerId); |
| 64 onPageSelectionMayHaveChanged(); | 64 onPageSelectionMayHaveChanged(); |
| 65 }); | 65 }); |
| 66 $('individual-pages').addEventListener('focus', addTimerToPageRangeField); | 66 $('individual-pages').addEventListener('focus', addTimerToPageRangeField); |
| 67 $('individual-pages').addEventListener('input', pageRangesFieldChanged); | 67 $('individual-pages').addEventListener('input', resetPageRangeFieldTimer); |
| 68 $('two-sided').addEventListener('click', handleTwoSidedClick) | 68 $('two-sided').addEventListener('click', handleTwoSidedClick) |
| 69 $('landscape').addEventListener('click', onLayoutModeToggle); | 69 $('landscape').addEventListener('click', onLayoutModeToggle); |
| 70 $('portrait').addEventListener('click', onLayoutModeToggle); | 70 $('portrait').addEventListener('click', onLayoutModeToggle); |
| 71 $('color').addEventListener('click', function() { setColor(true); }); | 71 $('color').addEventListener('click', function() { setColor(true); }); |
| 72 $('bw').addEventListener('click', function() { setColor(false); }); | 72 $('bw').addEventListener('click', function() { setColor(false); }); |
| 73 $('printer-list').addEventListener( | 73 $('printer-list').addEventListener( |
| 74 'change', updateControlsWithSelectedPrinterCapabilities); | 74 'change', updateControlsWithSelectedPrinterCapabilities); |
| 75 $('increment').addEventListener('click', | 75 $('increment').addEventListener('click', |
| 76 function() { onCopiesButtonsClicked(1); }); | 76 function() { onCopiesButtonsClicked(1); }); |
| 77 $('decrement').addEventListener('click', | 77 $('decrement').addEventListener('click', |
| (...skipping 16 matching lines...) Expand all Loading... |
| 94 function showSystemDialog() { | 94 function showSystemDialog() { |
| 95 chrome.send('showSystemDialog'); | 95 chrome.send('showSystemDialog'); |
| 96 } | 96 } |
| 97 | 97 |
| 98 /** | 98 /** |
| 99 * Disables the controls which need the initiator tab to generate preview | 99 * Disables the controls which need the initiator tab to generate preview |
| 100 * data. This function is called when the initiator tab is closed. | 100 * data. This function is called when the initiator tab is closed. |
| 101 * @param {string} initiatorTabURL The URL of the initiator tab. | 101 * @param {string} initiatorTabURL The URL of the initiator tab. |
| 102 */ | 102 */ |
| 103 function onInitiatorTabClosed(initiatorTabURL) { | 103 function onInitiatorTabClosed(initiatorTabURL) { |
| 104 if (isPreviewStillLoading) | 104 displayErrorMessage(localStrings.getStringF('initiatorTabClosed', |
| 105 displayErrorMessage(localStrings.getStringF('initiatorTabClosed', | 105 initiatorTabURL)); |
| 106 initiatorTabURL)); | |
| 107 | |
| 108 var controlIDs = ['landscape', 'portrait', 'all-pages', 'print-pages', | |
| 109 'individual-pages', 'printer-list']; | |
| 110 var controlCount = controlIDs.length; | |
| 111 for (var i = 0; i < controlCount; i++) | |
| 112 $(controlIDs[i]).disabled = true; | |
| 113 } | 106 } |
| 114 | 107 |
| 115 /** | 108 /** |
| 116 * Gets the selected printer capabilities and updates the controls accordingly. | 109 * Gets the selected printer capabilities and updates the controls accordingly. |
| 117 */ | 110 */ |
| 118 function updateControlsWithSelectedPrinterCapabilities() { | 111 function updateControlsWithSelectedPrinterCapabilities() { |
| 119 var printerList = $('printer-list'); | 112 var printerList = $('printer-list'); |
| 120 var selectedIndex = printerList.selectedIndex; | 113 var selectedIndex = printerList.selectedIndex; |
| 121 if (selectedIndex < 0) | 114 if (selectedIndex < 0) |
| 122 return; | 115 return; |
| (...skipping 407 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 530 * field. | 523 * field. |
| 531 */ | 524 */ |
| 532 function copiesFieldChanged() { | 525 function copiesFieldChanged() { |
| 533 updateCopiesButtonsState(); | 526 updateCopiesButtonsState(); |
| 534 updatePrintButtonState(); | 527 updatePrintButtonState(); |
| 535 $('collate-option').hidden = getCopies() <= 1; | 528 $('collate-option').hidden = getCopies() <= 1; |
| 536 updatePrintSummary(); | 529 updatePrintSummary(); |
| 537 } | 530 } |
| 538 | 531 |
| 539 /** | 532 /** |
| 540 * Executes whenever an input event occurs on the 'individual-pages' | 533 * Executes whenever a blur event occurs on the 'individual-pages' |
| 541 * field. It takes care of | 534 * field or when the timer expires. It takes care of |
| 542 * 1) showing/hiding warnings/suggestions | 535 * 1) showing/hiding warnings/suggestions |
| 543 * 2) updating print button/summary | 536 * 2) updating print button/summary |
| 544 */ | 537 */ |
| 545 function pageRangesFieldChanged() { | 538 function pageRangesFieldChanged() { |
| 546 var currentlySelectedPages = getSelectedPagesSet(); | 539 var currentlySelectedPages = getSelectedPagesSet(); |
| 547 var individualPagesField = $('individual-pages'); | 540 var individualPagesField = $('individual-pages'); |
| 548 var individualPagesHint = $('individual-pages-hint'); | 541 var individualPagesHint = $('individual-pages-hint'); |
| 549 var validityLevel = getSelectedPagesValidityLevel(); | 542 var validityLevel = getSelectedPagesValidityLevel(); |
| 550 | 543 |
| 551 if (validityLevel == 1) | 544 if (validityLevel == 1) |
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 654 */ | 647 */ |
| 655 function handleTwoSidedClick() { | 648 function handleTwoSidedClick() { |
| 656 updatePrintSummary(); | 649 updatePrintSummary(); |
| 657 } | 650 } |
| 658 | 651 |
| 659 /** | 652 /** |
| 660 * Gives focus to the individual pages textfield when 'print-pages' textbox is | 653 * Gives focus to the individual pages textfield when 'print-pages' textbox is |
| 661 * clicked. | 654 * clicked. |
| 662 */ | 655 */ |
| 663 function handleIndividualPagesCheckbox() { | 656 function handleIndividualPagesCheckbox() { |
| 664 onPageSelectionMayHaveChanged(); | |
| 665 $('individual-pages').focus(); | 657 $('individual-pages').focus(); |
| 666 } | 658 } |
| 667 | 659 |
| 668 /** | 660 /** |
| 669 * When the user switches printing orientation mode the page field selection is | 661 * When the user switches printing orientation mode the page field selection is |
| 670 * reset to "all pages selected". After the change the number of pages will be | 662 * reset to "all pages selected". After the change the number of pages will be |
| 671 * different and currently selected page numbers might no longer be valid. | 663 * different and currently selected page numbers might no longer be valid. |
| 672 * Even if they are still valid the content of these pages will be different. | 664 * Even if they are still valid the content of these pages will be different. |
| 673 */ | 665 */ |
| 674 function onLayoutModeToggle() { | 666 function onLayoutModeToggle() { |
| (...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 853 addTimerToPageRangeField(); | 845 addTimerToPageRangeField(); |
| 854 } | 846 } |
| 855 | 847 |
| 856 /** | 848 /** |
| 857 * When the user stops typing in the page range textfield or clicks on the | 849 * When the user stops typing in the page range textfield or clicks on the |
| 858 * 'all-pages' checkbox, a new print preview is requested, only if | 850 * 'all-pages' checkbox, a new print preview is requested, only if |
| 859 * 1) The input is compeletely valid (it can be parsed in its entirety). | 851 * 1) The input is compeletely valid (it can be parsed in its entirety). |
| 860 * 2) The newly selected pages differ from the previously selected. | 852 * 2) The newly selected pages differ from the previously selected. |
| 861 */ | 853 */ |
| 862 function onPageSelectionMayHaveChanged() { | 854 function onPageSelectionMayHaveChanged() { |
| 855 if ($('print-pages').checked) |
| 856 pageRangesFieldChanged(); |
| 863 var validityLevel = getSelectedPagesValidityLevel(); | 857 var validityLevel = getSelectedPagesValidityLevel(); |
| 864 var currentlySelectedPages = getSelectedPagesSet(); | 858 var currentlySelectedPages = getSelectedPagesSet(); |
| 865 | 859 |
| 866 // Toggling between "all pages"/"some pages" radio buttons while having an | 860 // Toggling between "all pages"/"some pages" radio buttons while having an |
| 867 // invalid entry in the page selection textfield still requires updating the | 861 // invalid entry in the page selection textfield still requires updating the |
| 868 // print summary and print button. | 862 // print summary and print button. |
| 869 if (validityLevel < 1 || | 863 if (validityLevel < 1 || |
| 870 areArraysEqual(previouslySelectedPages, currentlySelectedPages)) { | 864 areArraysEqual(previouslySelectedPages, currentlySelectedPages)) { |
| 871 updatePrintButtonState(); | 865 updatePrintButtonState(); |
| 872 updatePrintSummary(); | 866 updatePrintSummary(); |
| (...skipping 25 matching lines...) Expand all Loading... |
| 898 copiesField.value = 1; | 892 copiesField.value = 1; |
| 899 else { | 893 else { |
| 900 var newValue = getCopies() + sign * 1; | 894 var newValue = getCopies() + sign * 1; |
| 901 if (newValue < copiesField.min || newValue > copiesField.max) | 895 if (newValue < copiesField.min || newValue > copiesField.max) |
| 902 return; | 896 return; |
| 903 copiesField.value = newValue; | 897 copiesField.value = newValue; |
| 904 } | 898 } |
| 905 copiesFieldChanged(); | 899 copiesFieldChanged(); |
| 906 } | 900 } |
| 907 | 901 |
| OLD | NEW |