Chromium Code Reviews| 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 // require: cr/ui/print_preview_cloud.js | |
| 6 | |
| 5 var localStrings = new LocalStrings(); | 7 var localStrings = new LocalStrings(); |
| 6 | 8 |
| 9 var useCloudPrint = false; | |
| 10 var maxCloudPrinters = 10; | |
| 11 | |
| 7 // The total page count of the previewed document regardless of which pages the | 12 // The total page count of the previewed document regardless of which pages the |
| 8 // user has selected. | 13 // user has selected. |
| 9 var totalPageCount = -1; | 14 var totalPageCount = -1; |
| 10 | 15 |
| 11 // The previously selected pages by the user. It is used in | 16 // The previously selected pages by the user. It is used in |
| 12 // onPageSelectionMayHaveChanged() to make sure that a new preview is not | 17 // onPageSelectionMayHaveChanged() to make sure that a new preview is not |
| 13 // requested more often than necessary. | 18 // requested more often than necessary. |
| 14 var previouslySelectedPages = []; | 19 var previouslySelectedPages = []; |
| 15 | 20 |
| 16 // Timer id of the page range textfield. It is used to reset the timer whenever | 21 // Timer id of the page range textfield. It is used to reset the timer whenever |
| 17 // needed. | 22 // needed. |
| 18 var timerId; | 23 var timerId; |
| 19 | 24 |
| 20 // Store the last selected printer index. | 25 // Store the last selected printer index. |
| 21 var lastSelectedPrinterIndex = 0; | 26 var lastSelectedPrinterIndex = 0; |
| 22 | 27 |
| 23 // Used to disable some printing options when the preview is not modifiable. | 28 // Used to disable some printing options when the preview is not modifiable. |
| 24 var previewModifiable = false; | 29 var previewModifiable = false; |
| 25 | 30 |
| 26 // Destination list special value constants. | 31 // Destination list special value constants. |
| 32 const ADD_PRINTER = 'addPrinter'; | |
| 33 const MANAGE_CLOUD_PRINTERS = 'manageCloudPrinters'; | |
| 34 const MANAGE_LOCAL_PRINTERS = 'manageLocalPrinters'; | |
| 35 const MORE_PRINTERS = 'morePrinters'; | |
| 36 const SIGN_IN = 'signIn'; | |
| 27 const PRINT_TO_PDF = 'Print To PDF'; | 37 const PRINT_TO_PDF = 'Print To PDF'; |
| 28 const MANAGE_PRINTERS = 'Manage Printers'; | |
| 29 | 38 |
| 30 // State of the print preview settings. | 39 // State of the print preview settings. |
| 31 var printSettings = new PrintSettings(); | 40 var printSettings = new PrintSettings(); |
| 32 | 41 |
| 33 // The name of the default or last used printer. | 42 // The name of the default or last used printer. |
| 34 var defaultOrLastUsedPrinterName = ''; | 43 var defaultOrLastUsedPrinterName = ''; |
| 35 | 44 |
| 36 // True when a pending print preview request exists. | 45 // True when a pending print preview request exists. |
| 37 var hasPendingPreviewRequest = false; | 46 var hasPendingPreviewRequest = false; |
| 38 | 47 |
| (...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 193 } | 202 } |
| 194 | 203 |
| 195 /** | 204 /** |
| 196 * Gets the selected printer capabilities and updates the controls accordingly. | 205 * Gets the selected printer capabilities and updates the controls accordingly. |
| 197 */ | 206 */ |
| 198 function updateControlsWithSelectedPrinterCapabilities() { | 207 function updateControlsWithSelectedPrinterCapabilities() { |
| 199 var printerList = $('printer-list'); | 208 var printerList = $('printer-list'); |
| 200 var selectedIndex = printerList.selectedIndex; | 209 var selectedIndex = printerList.selectedIndex; |
| 201 if (selectedIndex < 0) | 210 if (selectedIndex < 0) |
| 202 return; | 211 return; |
| 203 | 212 var skip_refresh = false; |
| 204 var selectedValue = printerList.options[selectedIndex].value; | 213 var selectedValue = printerList.options[selectedIndex].value; |
| 205 if (selectedValue == PRINT_TO_PDF) { | 214 if (printerList.options[selectedIndex].isCloudPrint) { |
| 215 updateWithCloudPrinterCapabilities(); | |
| 216 skip_refresh = true; | |
| 217 } else if (selectedValue == SIGN_IN || | |
| 218 selectedValue == MANAGE_CLOUD_PRINTERS || | |
| 219 selectedValue == MANAGE_LOCAL_PRINTERS) { | |
| 220 printerList.selectedIndex = lastSelectedPrinterIndex; | |
| 221 chrome.send(selectedValue); | |
| 222 return; | |
|
sanjeevr
2011/06/15 20:24:36
You forgot setting skip_refresh to true here inste
| |
| 223 } else if (selectedValue == PRINT_TO_PDF) { | |
| 206 updateWithPrinterCapabilities({'disableColorOption': true, | 224 updateWithPrinterCapabilities({'disableColorOption': true, |
| 207 'setColorAsDefault': true, | 225 'setColorAsDefault': true, |
| 208 'disableCopiesOption': true}); | 226 'disableCopiesOption': true, |
| 209 } else if (selectedValue == MANAGE_PRINTERS) { | 227 'disableLandscapeOption': false}); |
| 210 printerList.selectedIndex = lastSelectedPrinterIndex; | |
| 211 chrome.send('managePrinters'); | |
| 212 return; | |
| 213 } else { | 228 } else { |
| 214 // This message will call back to 'updateWithPrinterCapabilities' | 229 // This message will call back to 'updateWithPrinterCapabilities' |
| 215 // function. | 230 // function. |
| 216 chrome.send('getPrinterCapabilities', [selectedValue]); | 231 chrome.send('getPrinterCapabilities', [selectedValue]); |
| 217 } | 232 } |
| 233 if (!skip_refresh) { | |
| 234 lastSelectedPrinterIndex = selectedIndex; | |
| 218 | 235 |
| 236 // Regenerate the preview data based on selected printer settings. | |
| 237 setDefaultValuesAndRegeneratePreview(); | |
| 238 } | |
| 239 } | |
| 240 | |
| 241 function updateWithCloudPrinterCapabilities() { | |
| 242 var printerList = $('printer-list'); | |
| 243 var selectedIndex = printerList.selectedIndex; | |
| 244 if (printerList.options[selectedIndex].capabilities) { | |
| 245 doUpdateCloudPrinterCapabilities( | |
| 246 printerList.options[selectedIndex], | |
| 247 printerList.options[selectedIndex].capabilities); | |
| 248 } else { | |
| 249 cloudprint.updatePrinterCaps(printerList.options[selectedIndex], | |
| 250 doUpdateCloudPrinterCapabilities); | |
| 251 } | |
| 252 } | |
| 253 | |
| 254 function doUpdateCloudPrinterCapabilities(printer) { | |
| 255 var settings = {'disableColorOption': !cloudprint.supportsColor(printer), | |
| 256 'setColorAsDefault': cloudprint.colorIsDefault(printer), | |
| 257 'disableCopiesOption': true, | |
| 258 'disableLandscapeOption': true}; | |
| 259 updateWithPrinterCapabilities(settings); | |
| 260 var printerList = $('printer-list'); | |
| 261 var selectedIndex = printerList.selectedIndex; | |
| 219 lastSelectedPrinterIndex = selectedIndex; | 262 lastSelectedPrinterIndex = selectedIndex; |
| 220 | 263 |
| 221 // Regenerate the preview data based on selected printer settings. | 264 // Regenerate the preview data based on selected printer settings. |
| 222 setDefaultValuesAndRegeneratePreview(); | 265 setDefaultValuesAndRegeneratePreview(); |
| 223 } | 266 } |
| 224 | 267 |
| 225 /** | 268 /** |
| 226 * Updates the controls with printer capabilities information. | 269 * Updates the controls with printer capabilities information. |
| 227 * @param {Object} settingInfo printer setting information. | 270 * @param {Object} settingInfo printer setting information. |
| 228 */ | 271 */ |
| 229 function updateWithPrinterCapabilities(settingInfo) { | 272 function updateWithPrinterCapabilities(settingInfo) { |
| 230 var disableColorOption = settingInfo.disableColorOption; | 273 var disableColorOption = settingInfo.disableColorOption; |
| 231 var disableCopiesOption = settingInfo.disableCopiesOption; | 274 var disableCopiesOption = settingInfo.disableCopiesOption; |
| 232 var setColorAsDefault = settingInfo.setColorAsDefault; | 275 var setColorAsDefault = settingInfo.setColorAsDefault; |
| 276 var disableLandscapeOption = settingInfo.disableLandscapeOption; | |
| 233 var colorOption = $('color'); | 277 var colorOption = $('color'); |
| 234 var bwOption = $('bw'); | 278 var bwOption = $('bw'); |
| 235 | 279 |
| 236 if (disableCopiesOption) { | 280 if (disableCopiesOption) { |
| 237 fadeOutElement($('copies-option')); | 281 fadeOutElement($('copies-option')); |
| 238 $('hr-before-copies').classList.remove('invisible'); | 282 $('hr-before-copies').classList.remove('invisible'); |
| 239 } else { | 283 } else { |
| 240 fadeInElement($('copies-option')); | 284 fadeInElement($('copies-option')); |
| 241 $('hr-before-copies').classList.add('invisible'); | 285 $('hr-before-copies').classList.add('invisible'); |
| 242 } | 286 } |
| 243 | 287 |
| 288 if (disableLandscapeOption) { | |
| 289 fadeOutElement($('landscape-option')); | |
| 290 } else { | |
| 291 fadeInElement($('landscape-option')); | |
| 292 } | |
| 293 | |
| 244 disableColorOption ? fadeOutElement($('color-options')) : | 294 disableColorOption ? fadeOutElement($('color-options')) : |
| 245 fadeInElement($('color-options')); | 295 fadeInElement($('color-options')); |
| 246 | 296 |
| 247 if (colorOption.checked != setColorAsDefault) { | 297 if (colorOption.checked != setColorAsDefault) { |
| 248 colorOption.checked = setColorAsDefault; | 298 colorOption.checked = setColorAsDefault; |
| 249 bwOption.checked = !setColorAsDefault; | 299 bwOption.checked = !setColorAsDefault; |
| 250 } | 300 } |
| 251 } | 301 } |
| 252 | 302 |
| 253 /** | 303 /** |
| 304 * Turn on the integration of Cloud Print. | |
| 305 * @param {enable} true if cloud print should be used. | |
| 306 */ | |
| 307 function setUseCloudPrint(enable, cloudPrintURL) { | |
| 308 useCloudPrint = enable; | |
| 309 cloudprint.setBaseURL(cloudPrintURL); | |
| 310 } | |
| 311 | |
| 312 /** | |
| 313 * Take the PDF data handed to us and submit it to the cloud, closing the print | |
| 314 * preview tab once the upload is successful. | |
| 315 * @param {pdfData} data to send as the print job. | |
| 316 */ | |
| 317 function printToCloud(data) { | |
| 318 cloudprint.printToCloud(data, finishedCloudPrinting); | |
| 319 } | |
| 320 | |
| 321 /** | |
| 322 * Cloud print upload of the PDF file is finished, time to close the dialog. | |
| 323 */ | |
| 324 function finishedCloudPrinting() { | |
| 325 window.location = cloudprint.getBaseURL(); | |
| 326 } | |
| 327 | |
| 328 /** | |
| 254 * Validates the copies text field value. | 329 * Validates the copies text field value. |
| 255 * NOTE: An empty copies field text is considered valid because the blur event | 330 * NOTE: An empty copies field text is considered valid because the blur event |
| 256 * listener of this field will set it back to a default value. | 331 * listener of this field will set it back to a default value. |
| 257 * @return {boolean} true if the number of copies is valid else returns false. | 332 * @return {boolean} true if the number of copies is valid else returns false. |
| 258 */ | 333 */ |
| 259 function isNumberOfCopiesValid() { | 334 function isNumberOfCopiesValid() { |
| 260 var copiesFieldText = $('copies').value.replace(/\s/g, ''); | 335 var copiesFieldText = $('copies').value.replace(/\s/g, ''); |
| 261 if (copiesFieldText == '') | 336 if (copiesFieldText == '') |
| 262 return true; | 337 return true; |
| 263 | 338 |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 334 const LONG_EDGE = 1; | 409 const LONG_EDGE = 1; |
| 335 return !isTwoSided() ? SIMPLEX : LONG_EDGE; | 410 return !isTwoSided() ? SIMPLEX : LONG_EDGE; |
| 336 } | 411 } |
| 337 | 412 |
| 338 /** | 413 /** |
| 339 * Creates a JSON string based on the values in the printer settings. | 414 * Creates a JSON string based on the values in the printer settings. |
| 340 * | 415 * |
| 341 * @return {string} JSON string with print job settings. | 416 * @return {string} JSON string with print job settings. |
| 342 */ | 417 */ |
| 343 function getSettingsJSON() { | 418 function getSettingsJSON() { |
| 419 var printerList = $('printer-list'); | |
| 420 var selectedPrinter = printerList.selectedIndex; | |
| 344 var printAll = $('all-pages').checked; | 421 var printAll = $('all-pages').checked; |
| 345 var deviceName = getSelectedPrinterName(); | 422 var deviceName = getSelectedPrinterName(); |
| 346 var printToPDF = (deviceName == PRINT_TO_PDF); | 423 var printToPDF = (deviceName == PRINT_TO_PDF); |
| 347 | 424 |
| 348 return JSON.stringify({'deviceName': deviceName, | 425 var settings = {'deviceName': deviceName, |
| 349 'pageRange': getSelectedPageRanges(), | 426 'pageRange': getSelectedPageRanges(), |
| 350 'printAll': printAll, | 427 'printAll': printAll, |
| 351 'duplex': getDuplexMode(), | 428 'duplex': getDuplexMode(), |
| 352 'copies': getCopies(), | 429 'copies': getCopies(), |
| 353 'collate': isCollated(), | 430 'collate': isCollated(), |
| 354 'landscape': isLandscape(), | 431 'landscape': isLandscape(), |
| 355 'color': isColor(), | 432 'color': isColor(), |
| 356 'printToPDF': printToPDF}); | 433 'printToPDF': printToPDF}; |
| 434 if (printerList.options[selectedPrinter].isCloudPrint) { | |
| 435 settings['cloudPrintID'] = | |
| 436 printerList.options[selectedPrinter].value; | |
| 437 } | |
| 438 | |
| 439 return JSON.stringify(settings); | |
| 357 } | 440 } |
| 358 | 441 |
| 359 /** | 442 /** |
| 360 * Returns the name of the selected printer or the empty string if no | 443 * Returns the name of the selected printer or the empty string if no |
| 361 * printer is selected. | 444 * printer is selected. |
| 362 */ | 445 */ |
| 363 function getSelectedPrinterName() { | 446 function getSelectedPrinterName() { |
| 364 var printerList = $('printer-list') | 447 var printerList = $('printer-list') |
| 365 var selectedPrinter = printerList.selectedIndex; | 448 var selectedPrinter = printerList.selectedIndex; |
| 366 var deviceName = ''; | 449 var deviceName = ''; |
| (...skipping 12 matching lines...) Expand all Loading... | |
| 379 if (getSelectedPrinterName() != PRINT_TO_PDF) | 462 if (getSelectedPrinterName() != PRINT_TO_PDF) |
| 380 chrome.send('hidePreview'); | 463 chrome.send('hidePreview'); |
| 381 return; | 464 return; |
| 382 } | 465 } |
| 383 | 466 |
| 384 if (getSelectedPrinterName() != PRINT_TO_PDF) { | 467 if (getSelectedPrinterName() != PRINT_TO_PDF) { |
| 385 $('print-button').classList.add('loading'); | 468 $('print-button').classList.add('loading'); |
| 386 $('cancel-button').classList.add('loading'); | 469 $('cancel-button').classList.add('loading'); |
| 387 $('print-summary').innerHTML = localStrings.getString('printing'); | 470 $('print-summary').innerHTML = localStrings.getString('printing'); |
| 388 removeEventListeners(); | 471 removeEventListeners(); |
| 389 window.setTimeout(function() { chrome.send('print', [getSettingsJSON()]); }, | 472 var printerList = $('printer-list') |
| 390 1000); | 473 var printer = printerList[printerList.selectedIndex]; |
| 474 window.setTimeout(function() { chrome.send('print', | |
| 475 [getSettingsJSON(), cloudprint.getPrintTicketJSON(printer)]); }, 1000); | |
| 391 } else { | 476 } else { |
| 392 chrome.send('print', [getSettingsJSON()]); | 477 chrome.send('print', [getSettingsJSON(), null]); |
| 393 } | 478 } |
| 394 } | 479 } |
| 395 | 480 |
| 396 /** | 481 /** |
| 397 * Asks the browser to generate a preview PDF based on current print settings. | 482 * Asks the browser to generate a preview PDF based on current print settings. |
| 398 */ | 483 */ |
| 399 function requestPrintPreview() { | 484 function requestPrintPreview() { |
| 400 hasPendingPreviewRequest = true; | 485 hasPendingPreviewRequest = true; |
| 401 removeEventListeners(); | 486 removeEventListeners(); |
| 402 printSettings.save(); | 487 printSettings.save(); |
| (...skipping 16 matching lines...) Expand all Loading... | |
| 419 chrome.send('getPrinters'); | 504 chrome.send('getPrinters'); |
| 420 } | 505 } |
| 421 | 506 |
| 422 /** | 507 /** |
| 423 * Fill the printer list drop down. | 508 * Fill the printer list drop down. |
| 424 * Called from PrintPreviewHandler::SendPrinterList(). | 509 * Called from PrintPreviewHandler::SendPrinterList(). |
| 425 * @param {Array} printers Array of printer info objects. | 510 * @param {Array} printers Array of printer info objects. |
| 426 */ | 511 */ |
| 427 function setPrinters(printers) { | 512 function setPrinters(printers) { |
| 428 var printerList = $('printer-list'); | 513 var printerList = $('printer-list'); |
| 514 if (useCloudPrint) { | |
| 515 cloudprint.fetchPrinters(addCloudPrinters); | |
| 516 if (printers.length > 0) { | |
| 517 option = addDestinationListOption('', '', false, true); | |
| 518 option = addDestinationListOption(localStrings.getString('localPrinters'), | |
| 519 '', | |
| 520 false, | |
| 521 true); | |
| 522 } | |
| 523 } | |
| 429 // If there exists a dummy printer value, then setDefaultPrinter() already | 524 // If there exists a dummy printer value, then setDefaultPrinter() already |
| 430 // requested a preview, so no need to do it again. | 525 // requested a preview, so no need to do it again. |
| 431 var needPreview = (printerList[0].value == ''); | 526 var needPreview = (printerList[0].value == ''); |
| 432 for (var i = 0; i < printers.length; ++i) { | 527 for (var i = 0; i < printers.length; ++i) { |
| 433 var isDefault = (printers[i].deviceName == defaultOrLastUsedPrinterName); | 528 var isDefault = (printers[i].deviceName == defaultOrLastUsedPrinterName); |
| 434 addDestinationListOption(printers[i].printerName, printers[i].deviceName, | 529 addDestinationListOption(printers[i].printerName, printers[i].deviceName, |
| 435 isDefault, false); | 530 isDefault, false); |
| 436 } | 531 } |
| 437 | 532 |
| 438 // Remove the dummy printer added in setDefaultPrinter(). | 533 // Remove the dummy printer added in setDefaultPrinter(). |
| 439 printerList.remove(0); | 534 printerList.remove(0); |
| 440 | 535 |
| 441 if (printers.length != 0) | 536 if (printers.length != 0) |
| 442 addDestinationListOption('', '', false, true); | 537 addDestinationListOption('', '', false, true); |
| 443 | 538 |
| 444 // Adding option for saving PDF to disk. | 539 // Adding option for saving PDF to disk. |
| 445 addDestinationListOption(localStrings.getString('printToPDF'), | 540 addDestinationListOption(localStrings.getString('printToPDF'), |
| 446 PRINT_TO_PDF, | 541 PRINT_TO_PDF, |
| 447 defaultOrLastUsedPrinterName == PRINT_TO_PDF, | 542 defaultOrLastUsedPrinterName == PRINT_TO_PDF, |
| 448 false); | 543 false); |
| 449 addDestinationListOption('', '', false, true); | 544 addDestinationListOption('', '', false, true); |
| 450 | 545 |
| 451 // Add an option to manage printers. | 546 // Add options to manage printers. |
| 452 addDestinationListOption(localStrings.getString('managePrinters'), | 547 if (!cr.isChromeOS) { |
| 453 MANAGE_PRINTERS, false, false); | 548 addDestinationListOption(localStrings.getString('manageLocalPrinters'), |
| 549 MANAGE_LOCAL_PRINTERS, false, false); | |
| 550 } | |
| 551 if (useCloudPrint) { | |
| 552 addDestinationListOption(localStrings.getString('manageCloudPrinters'), | |
| 553 MANAGE_CLOUD_PRINTERS, false, false); | |
| 554 } | |
| 454 | 555 |
| 455 printerList.disabled = false; | 556 printerList.disabled = false; |
| 456 | 557 |
| 457 if (needPreview) | 558 if (needPreview) |
| 458 updateControlsWithSelectedPrinterCapabilities(); | 559 updateControlsWithSelectedPrinterCapabilities(); |
| 459 } | 560 } |
| 460 | 561 |
| 461 /** | 562 /** |
| 462 * Adds an option to the printer destination list. | 563 * Adds an option to the printer destination list. |
| 463 * @param {String} optionText specifies the option text content. | 564 * @param {String} optionText specifies the option text content. |
| 464 * @param {String} optionValue specifies the option value. | 565 * @param {String} optionValue specifies the option value. |
| 465 * @param {boolean} isDefault is true if the option needs to be selected. | 566 * @param {boolean} isDefault is true if the option needs to be selected. |
| 466 * @param {boolean} isDisabled is true if the option needs to be disabled. | 567 * @param {boolean} isDisabled is true if the option needs to be disabled. |
| 568 * returns the created option. | |
| 467 */ | 569 */ |
| 468 function addDestinationListOption(optionText, optionValue, isDefault, | 570 function addDestinationListOption(optionText, optionValue, isDefault, |
| 469 isDisabled) { | 571 isDisabled) { |
| 470 var option = document.createElement('option'); | 572 var option = document.createElement('option'); |
| 471 option.textContent = optionText; | 573 option.textContent = optionText; |
| 472 option.value = optionValue; | 574 option.value = optionValue; |
| 473 $('printer-list').add(option); | 575 $('printer-list').add(option); |
| 474 option.selected = isDefault; | 576 option.selected = isDefault; |
| 475 option.disabled = isDisabled; | 577 option.disabled = isDisabled; |
| 578 return option; | |
| 476 } | 579 } |
| 477 | 580 |
| 478 /** | 581 /** |
| 582 * Add cloud printers to the list drop down. | |
| 583 * Called from the cloudprint object on receipt of printer information from the | |
| 584 * cloud print server. | |
| 585 */ | |
| 586 function addCloudPrinters(printers) { | |
| 587 addDestinationListOption(localStrings.getString('cloudPrinters'), | |
| 588 '', | |
| 589 false, | |
| 590 true); | |
| 591 if (printers != null) { | |
| 592 var l = printers.length; | |
| 593 if (l > maxCloudPrinters) { | |
| 594 l = maxCloudPrinters; | |
| 595 } | |
| 596 for (var i = 0; i < l; i++) { | |
| 597 var option = addDestinationListOption(printers[i]['name'], | |
| 598 printers[i]['id'], | |
| 599 i == 0, | |
| 600 printers[i]['name'] == defaultOrLastUsedPrinterName); | |
| 601 option.isCloudPrint = true; | |
| 602 } | |
| 603 if (printers.length == 0) { | |
| 604 addDestinationListOption(localStrings.getString('addCloudPrinter'), | |
| 605 ADD_PRINTER, false, false); | |
| 606 } | |
| 607 if (l < printers.length) { | |
| 608 var option = addDestinationListOption('', '', false, true); | |
| 609 addDestinationListOption(localStrings.getString('morePrinters'), | |
| 610 MORE_PRINTERS, false, false); | |
| 611 } | |
| 612 } else { | |
| 613 addDestinationListOption(localStrings.getString('signIn'), | |
| 614 SIGN_IN, false, false); | |
| 615 } | |
| 616 } | |
| 617 | |
| 618 /** | |
| 479 * Sets the color mode for the PDF plugin. | 619 * Sets the color mode for the PDF plugin. |
| 480 * Called from PrintPreviewHandler::ProcessColorSetting(). | 620 * Called from PrintPreviewHandler::ProcessColorSetting(). |
| 481 * @param {boolean} color is true if the PDF plugin should display in color. | 621 * @param {boolean} color is true if the PDF plugin should display in color. |
| 482 */ | 622 */ |
| 483 function setColor(color) { | 623 function setColor(color) { |
| 484 var pdfViewer = $('pdf-viewer'); | 624 var pdfViewer = $('pdf-viewer'); |
| 485 if (!pdfViewer) { | 625 if (!pdfViewer) { |
| 486 return; | 626 return; |
| 487 } | 627 } |
| 488 pdfViewer.grayscale(!color); | 628 pdfViewer.grayscale(!color); |
| 629 var printerList = $('printer-list') | |
| 630 cloudprint.setColor(printerList[printerList.selectedIndex], color); | |
| 489 } | 631 } |
| 490 | 632 |
| 491 /** | 633 /** |
| 492 * Display an error message in the center of the preview area. | 634 * Display an error message in the center of the preview area. |
| 493 * @param {string} errorMessage The error message to be displayed. | 635 * @param {string} errorMessage The error message to be displayed. |
| 494 */ | 636 */ |
| 495 function displayErrorMessage(errorMessage) { | 637 function displayErrorMessage(errorMessage) { |
| 496 hasError = true; | 638 hasError = true; |
| 497 $('print-button').disabled = true; | 639 $('print-button').disabled = true; |
| 498 $('overlay-layer').classList.remove('invisible'); | 640 $('overlay-layer').classList.remove('invisible'); |
| (...skipping 532 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1031 this.isLandscape = ''; | 1173 this.isLandscape = ''; |
| 1032 } | 1174 } |
| 1033 | 1175 |
| 1034 /** | 1176 /** |
| 1035 * Takes a snapshot of the print settings. | 1177 * Takes a snapshot of the print settings. |
| 1036 */ | 1178 */ |
| 1037 PrintSettings.prototype.save = function() { | 1179 PrintSettings.prototype.save = function() { |
| 1038 this.deviceName = getSelectedPrinterName(); | 1180 this.deviceName = getSelectedPrinterName(); |
| 1039 this.isLandscape = isLandscape(); | 1181 this.isLandscape = isLandscape(); |
| 1040 } | 1182 } |
| 1183 | |
| OLD | NEW |