Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(118)

Unified Diff: chrome/browser/resources/print_preview.js

Issue 7042034: Print Preview: Remembering last used printer. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: nit Created 9 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/browser/ui/webui/print_preview_handler.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/resources/print_preview.js
diff --git a/chrome/browser/resources/print_preview.js b/chrome/browser/resources/print_preview.js
index 7118615fcf1abd994fc2ab2ca60befd4356448ce..3c11bd9b1e8b2221c160d2e771d713d138363fb8 100644
--- a/chrome/browser/resources/print_preview.js
+++ b/chrome/browser/resources/print_preview.js
@@ -30,6 +30,9 @@ const MANAGE_PRINTERS = 'Manage Printers';
// State of the print preview settings.
var printSettings = new PrintSettings();
+// The name of the default or last used printer.
+var defaultOrLastUsedPrinterName = '';
+
/**
* Window onload handler, sets up the page and starts print preview by getting
* the printer list.
@@ -355,7 +358,8 @@ function setDefaultPrinter(printer) {
// Add a placeholder value so the printer list looks valid.
addDestinationListOption('', '', true, true);
if (printer) {
- $('printer-list')[0].value = printer;
+ defaultOrLastUsedPrinterName = printer;
+ $('printer-list')[0].value = defaultOrLastUsedPrinterName;
updateControlsWithSelectedPrinterCapabilities();
}
chrome.send('getPrinters');
@@ -365,23 +369,16 @@ function setDefaultPrinter(printer) {
* Fill the printer list drop down.
* Called from PrintPreviewHandler::SendPrinterList().
* @param {Array} printers Array of printer info objects.
- * @param {number} defaultPrinterIndex The index of the default printer.
*/
-function setPrinters(printers, defaultPrinterIndex) {
+function setPrinters(printers) {
var printerList = $('printer-list');
// If there exists a dummy printer value, then setDefaultPrinter() already
// requested a preview, so no need to do it again.
var needPreview = (printerList[0].value == '');
for (var i = 0; i < printers.length; ++i) {
- // Check if we are looking at the default printer.
- if (i == defaultPrinterIndex) {
- // If the default printer from setDefaultPrinter() does not match the
- // enumerated value, (re)generate the print preview.
- if (printers[i].deviceName != printerList[0].value)
- needPreview = true;
- }
+ var isDefault = (printers[i].deviceName == defaultOrLastUsedPrinterName);
addDestinationListOption(printers[i].printerName, printers[i].deviceName,
- i == defaultPrinterIndex, false);
+ isDefault, false);
}
// Remove the dummy printer added in setDefaultPrinter().
@@ -392,7 +389,9 @@ function setPrinters(printers, defaultPrinterIndex) {
// Adding option for saving PDF to disk.
addDestinationListOption(localStrings.getString('printToPDF'),
- PRINT_TO_PDF, false, false);
+ PRINT_TO_PDF,
+ defaultOrLastUsedPrinterName == PRINT_TO_PDF,
+ false);
addDestinationListOption('', '', false, true);
// Add an option to manage printers.
« no previous file with comments | « no previous file | chrome/browser/ui/webui/print_preview_handler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698