| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 // TODO(rltoscano): Move data/* into print_preview.data namespace | 5 // TODO(rltoscano): Move data/* into print_preview.data namespace |
| 6 | 6 |
| 7 // <include src="component.js"> | 7 // <include src="component.js"> |
| 8 // <include src="print_preview_focus_manager.js"> | 8 // <include src="print_preview_focus_manager.js"> |
| 9 | 9 |
| 10 cr.define('print_preview', function() { | 10 cr.define('print_preview', function() { |
| 11 'use strict'; | 11 'use strict'; |
| 12 | 12 |
| 13 /** | 13 /** |
| 14 * Container class for Chromium's print preview. | 14 * Container class for Chromium's print preview. |
| 15 * @constructor | 15 * @constructor |
| 16 * @extends {print_preview.Component} | 16 * @extends {print_preview.Component} |
| 17 */ | 17 */ |
| 18 function PrintPreview() { | 18 function PrintPreview() { |
| 19 print_preview.Component.call(this); | 19 print_preview.Component.call(this); |
| 20 | 20 |
| 21 /** | 21 /** |
| 22 * Whether the print scaling feature is enabled. | |
| 23 * @type {boolean} | |
| 24 * @private | |
| 25 */ | |
| 26 this.scalingEnabled_ = loadTimeData.getBoolean('scalingEnabled'); | |
| 27 | |
| 28 /** | |
| 29 * Used to communicate with Chromium's print system. | 22 * Used to communicate with Chromium's print system. |
| 30 * @type {!print_preview.NativeLayer} | 23 * @type {!print_preview.NativeLayer} |
| 31 * @private | 24 * @private |
| 32 */ | 25 */ |
| 33 this.nativeLayer_ = new print_preview.NativeLayer(); | 26 this.nativeLayer_ = new print_preview.NativeLayer(); |
| 34 | 27 |
| 35 /** | 28 /** |
| 36 * Event target that contains information about the logged in user. | 29 * Event target that contains information about the logged in user. |
| 37 * @type {!print_preview.UserInfo} | 30 * @type {!print_preview.UserInfo} |
| 38 * @private | 31 * @private |
| (...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 159 | 152 |
| 160 /** | 153 /** |
| 161 * Component that renders the DPI settings. | 154 * Component that renders the DPI settings. |
| 162 * @type {!print_preview.DpiSettings} | 155 * @type {!print_preview.DpiSettings} |
| 163 * @private | 156 * @private |
| 164 */ | 157 */ |
| 165 this.dpiSettings_ = | 158 this.dpiSettings_ = |
| 166 new print_preview.DpiSettings(this.printTicketStore_.dpi); | 159 new print_preview.DpiSettings(this.printTicketStore_.dpi); |
| 167 this.addChild(this.dpiSettings_); | 160 this.addChild(this.dpiSettings_); |
| 168 | 161 |
| 169 if (this.scalingEnabled_) { | 162 /** |
| 170 /** | 163 * Component that renders the scaling settings. |
| 171 * Component that renders the scaling settings. | 164 * @type {!print_preview.ScalingSettings} |
| 172 * @type {!print_preview.ScalingSettings} | 165 * @private |
| 173 * @private | 166 */ |
| 174 */ | 167 this.scalingSettings_ = |
| 175 this.scalingSettings_ = | 168 new print_preview.ScalingSettings(this.printTicketStore_.scaling, |
| 176 new print_preview.ScalingSettings(this.printTicketStore_.scaling, | 169 this.printTicketStore_.fitToPage); |
| 177 this.printTicketStore_.fitToPage); | 170 this.addChild(this.scalingSettings_); |
| 178 this.addChild(this.scalingSettings_); | |
| 179 } | |
| 180 | 171 |
| 181 /** | 172 /** |
| 182 * Component that renders miscellaneous print options. | 173 * Component that renders miscellaneous print options. |
| 183 * @type {!print_preview.OtherOptionsSettings} | 174 * @type {!print_preview.OtherOptionsSettings} |
| 184 * @private | 175 * @private |
| 185 */ | 176 */ |
| 186 this.otherOptionsSettings_ = new print_preview.OtherOptionsSettings( | 177 this.otherOptionsSettings_ = new print_preview.OtherOptionsSettings( |
| 187 this.printTicketStore_.duplex, | 178 this.printTicketStore_.duplex, |
| 188 this.printTicketStore_.fitToPage, | 179 this.printTicketStore_.fitToPage, |
| 189 this.printTicketStore_.cssBackground, | 180 this.printTicketStore_.cssBackground, |
| (...skipping 22 matching lines...) Expand all Loading... |
| 212 | 203 |
| 213 var settingsSections = [ | 204 var settingsSections = [ |
| 214 this.destinationSettings_, | 205 this.destinationSettings_, |
| 215 this.pageSettings_, | 206 this.pageSettings_, |
| 216 this.copiesSettings_, | 207 this.copiesSettings_, |
| 217 this.mediaSizeSettings_, | 208 this.mediaSizeSettings_, |
| 218 this.layoutSettings_, | 209 this.layoutSettings_, |
| 219 this.marginSettings_, | 210 this.marginSettings_, |
| 220 this.colorSettings_, | 211 this.colorSettings_, |
| 221 this.dpiSettings_, | 212 this.dpiSettings_, |
| 213 this.scalingSettings_, |
| 222 this.otherOptionsSettings_, | 214 this.otherOptionsSettings_, |
| 223 this.advancedOptionsSettings_]; | 215 this.advancedOptionsSettings_]; |
| 224 if (this.scalingEnabled_) { | |
| 225 settingsSections.splice(8, 0, this.scalingSettings_); | |
| 226 } | |
| 227 | 216 |
| 228 /** | 217 /** |
| 229 * Component representing more/less settings button. | 218 * Component representing more/less settings button. |
| 230 * @type {!print_preview.MoreSettings} | 219 * @type {!print_preview.MoreSettings} |
| 231 * @private | 220 * @private |
| 232 */ | 221 */ |
| 233 this.moreSettings_ = new print_preview.MoreSettings( | 222 this.moreSettings_ = new print_preview.MoreSettings( |
| 234 this.destinationStore_, settingsSections); | 223 this.destinationStore_, settingsSections); |
| 235 this.addChild(this.moreSettings_); | 224 this.addChild(this.moreSettings_); |
| 236 | 225 |
| (...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 366 print_preview.NativeLayer.EventType.FILE_SELECTION_COMPLETE, | 355 print_preview.NativeLayer.EventType.FILE_SELECTION_COMPLETE, |
| 367 this.onFileSelectionComplete_.bind(this)); | 356 this.onFileSelectionComplete_.bind(this)); |
| 368 this.tracker.add( | 357 this.tracker.add( |
| 369 this.nativeLayer_, | 358 this.nativeLayer_, |
| 370 print_preview.NativeLayer.EventType.SETTINGS_INVALID, | 359 print_preview.NativeLayer.EventType.SETTINGS_INVALID, |
| 371 this.onSettingsInvalid_.bind(this)); | 360 this.onSettingsInvalid_.bind(this)); |
| 372 this.tracker.add( | 361 this.tracker.add( |
| 373 this.nativeLayer_, | 362 this.nativeLayer_, |
| 374 print_preview.NativeLayer.EventType.PRINT_PRESET_OPTIONS, | 363 print_preview.NativeLayer.EventType.PRINT_PRESET_OPTIONS, |
| 375 this.onPrintPresetOptionsFromDocument_.bind(this)); | 364 this.onPrintPresetOptionsFromDocument_.bind(this)); |
| 376 if (this.scalingEnabled_) { | 365 this.tracker.add( |
| 377 this.tracker.add( | 366 this.nativeLayer_, |
| 378 this.nativeLayer_, | 367 print_preview.NativeLayer.EventType.PAGE_COUNT_READY, |
| 379 print_preview.NativeLayer.EventType.PAGE_COUNT_READY, | 368 this.onPageCountReady_.bind(this)); |
| 380 this.onPageCountReady_.bind(this)); | |
| 381 } | |
| 382 this.tracker.add( | 369 this.tracker.add( |
| 383 this.nativeLayer_, | 370 this.nativeLayer_, |
| 384 print_preview.NativeLayer.EventType.PRIVET_PRINT_FAILED, | 371 print_preview.NativeLayer.EventType.PRIVET_PRINT_FAILED, |
| 385 this.onPrivetPrintFailed_.bind(this)); | 372 this.onPrivetPrintFailed_.bind(this)); |
| 386 this.tracker.add( | 373 this.tracker.add( |
| 387 this.nativeLayer_, | 374 this.nativeLayer_, |
| 388 print_preview.NativeLayer.EventType.MANIPULATE_SETTINGS_FOR_TEST, | 375 print_preview.NativeLayer.EventType.MANIPULATE_SETTINGS_FOR_TEST, |
| 389 this.onManipulateSettingsForTest_.bind(this)); | 376 this.onManipulateSettingsForTest_.bind(this)); |
| 390 | 377 |
| 391 if ($('system-dialog-link')) { | 378 if ($('system-dialog-link')) { |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 496 this.printHeader_.decorate($('print-header')); | 483 this.printHeader_.decorate($('print-header')); |
| 497 this.destinationSearch_.decorate($('destination-search')); | 484 this.destinationSearch_.decorate($('destination-search')); |
| 498 this.destinationSettings_.decorate($('destination-settings')); | 485 this.destinationSettings_.decorate($('destination-settings')); |
| 499 this.pageSettings_.decorate($('page-settings')); | 486 this.pageSettings_.decorate($('page-settings')); |
| 500 this.copiesSettings_.decorate($('copies-settings')); | 487 this.copiesSettings_.decorate($('copies-settings')); |
| 501 this.layoutSettings_.decorate($('layout-settings')); | 488 this.layoutSettings_.decorate($('layout-settings')); |
| 502 this.colorSettings_.decorate($('color-settings')); | 489 this.colorSettings_.decorate($('color-settings')); |
| 503 this.mediaSizeSettings_.decorate($('media-size-settings')); | 490 this.mediaSizeSettings_.decorate($('media-size-settings')); |
| 504 this.marginSettings_.decorate($('margin-settings')); | 491 this.marginSettings_.decorate($('margin-settings')); |
| 505 this.dpiSettings_.decorate($('dpi-settings')); | 492 this.dpiSettings_.decorate($('dpi-settings')); |
| 506 if (this.scalingEnabled_) | 493 this.scalingSettings_.decorate($('scaling-settings')); |
| 507 this.scalingSettings_.decorate($('scaling-settings')); | |
| 508 this.otherOptionsSettings_.decorate($('other-options-settings')); | 494 this.otherOptionsSettings_.decorate($('other-options-settings')); |
| 509 this.advancedOptionsSettings_.decorate($('advanced-options-settings')); | 495 this.advancedOptionsSettings_.decorate($('advanced-options-settings')); |
| 510 this.advancedSettings_.decorate($('advanced-settings')); | 496 this.advancedSettings_.decorate($('advanced-settings')); |
| 511 this.moreSettings_.decorate($('more-settings')); | 497 this.moreSettings_.decorate($('more-settings')); |
| 512 this.previewArea_.decorate($('preview-area')); | 498 this.previewArea_.decorate($('preview-area')); |
| 513 }, | 499 }, |
| 514 | 500 |
| 515 /** | 501 /** |
| 516 * Sets whether the controls in the print preview are enabled. | 502 * Sets whether the controls in the print preview are enabled. |
| 517 * @param {boolean} isEnabled Whether the controls in the print preview are | 503 * @param {boolean} isEnabled Whether the controls in the print preview are |
| 518 * enabled. | 504 * enabled. |
| 519 * @private | 505 * @private |
| 520 */ | 506 */ |
| 521 setIsEnabled_: function(isEnabled) { | 507 setIsEnabled_: function(isEnabled) { |
| 522 if ($('system-dialog-link')) | 508 if ($('system-dialog-link')) |
| 523 $('system-dialog-link').classList.toggle('disabled', !isEnabled); | 509 $('system-dialog-link').classList.toggle('disabled', !isEnabled); |
| 524 if ($('open-pdf-in-preview-link')) | 510 if ($('open-pdf-in-preview-link')) |
| 525 $('open-pdf-in-preview-link').classList.toggle('disabled', !isEnabled); | 511 $('open-pdf-in-preview-link').classList.toggle('disabled', !isEnabled); |
| 526 this.printHeader_.isEnabled = isEnabled; | 512 this.printHeader_.isEnabled = isEnabled; |
| 527 this.destinationSettings_.isEnabled = isEnabled; | 513 this.destinationSettings_.isEnabled = isEnabled; |
| 528 this.pageSettings_.isEnabled = isEnabled; | 514 this.pageSettings_.isEnabled = isEnabled; |
| 529 this.copiesSettings_.isEnabled = isEnabled; | 515 this.copiesSettings_.isEnabled = isEnabled; |
| 530 this.layoutSettings_.isEnabled = isEnabled; | 516 this.layoutSettings_.isEnabled = isEnabled; |
| 531 this.colorSettings_.isEnabled = isEnabled; | 517 this.colorSettings_.isEnabled = isEnabled; |
| 532 this.mediaSizeSettings_.isEnabled = isEnabled; | 518 this.mediaSizeSettings_.isEnabled = isEnabled; |
| 533 this.marginSettings_.isEnabled = isEnabled; | 519 this.marginSettings_.isEnabled = isEnabled; |
| 534 this.dpiSettings_.isEnabled = isEnabled; | 520 this.dpiSettings_.isEnabled = isEnabled; |
| 535 if (this.scalingEnabled_) | 521 this.scalingSettings_.isEnabled = isEnabled; |
| 536 this.scalingSettings_.isEnabled = isEnabled; | |
| 537 this.otherOptionsSettings_.isEnabled = isEnabled; | 522 this.otherOptionsSettings_.isEnabled = isEnabled; |
| 538 this.advancedOptionsSettings_.isEnabled = isEnabled; | 523 this.advancedOptionsSettings_.isEnabled = isEnabled; |
| 539 }, | 524 }, |
| 540 | 525 |
| 541 /** | 526 /** |
| 542 * Prints the document or launches a pdf preview on the local system. | 527 * Prints the document or launches a pdf preview on the local system. |
| 543 * @param {boolean} isPdfPreview Whether to launch the pdf preview. | 528 * @param {boolean} isPdfPreview Whether to launch the pdf preview. |
| 544 * @private | 529 * @private |
| 545 */ | 530 */ |
| 546 printDocumentOrOpenPdfPreview_: function(isPdfPreview) { | 531 printDocumentOrOpenPdfPreview_: function(isPdfPreview) { |
| (...skipping 817 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1364 // <include src="search/recent_destination_list.js"> | 1349 // <include src="search/recent_destination_list.js"> |
| 1365 // <include src="search/destination_list_item.js"> | 1350 // <include src="search/destination_list_item.js"> |
| 1366 // <include src="search/destination_search.js"> | 1351 // <include src="search/destination_search.js"> |
| 1367 // <include src="search/fedex_tos.js"> | 1352 // <include src="search/fedex_tos.js"> |
| 1368 // <include src="search/provisional_destination_resolver.js"> | 1353 // <include src="search/provisional_destination_resolver.js"> |
| 1369 | 1354 |
| 1370 window.addEventListener('DOMContentLoaded', function() { | 1355 window.addEventListener('DOMContentLoaded', function() { |
| 1371 printPreview = new print_preview.PrintPreview(); | 1356 printPreview = new print_preview.PrintPreview(); |
| 1372 printPreview.initialize(); | 1357 printPreview.initialize(); |
| 1373 }); | 1358 }); |
| OLD | NEW |