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

Unified Diff: chrome/browser/resources/settings/printing_page/cups_add_printer_dialog.js

Issue 2825153002: Update CUPS settings UI to allow USB printers to be added via discovery. (Closed)
Patch Set: Remove extra copy code Created 3 years, 7 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
Index: chrome/browser/resources/settings/printing_page/cups_add_printer_dialog.js
diff --git a/chrome/browser/resources/settings/printing_page/cups_add_printer_dialog.js b/chrome/browser/resources/settings/printing_page/cups_add_printer_dialog.js
index d2270f7c1a2fe01b487d5cc35d01b936cc3ae8d7..c18106bb69e79391009ea1cd0d06d2ee87920f0c 100644
--- a/chrome/browser/resources/settings/printing_page/cups_add_printer_dialog.js
+++ b/chrome/browser/resources/settings/printing_page/cups_add_printer_dialog.js
@@ -110,10 +110,10 @@ Polymer({
},
/** @private */
- switchToConfiguringDialog_: function() {
+ switchToManufacturerDialog_: function() {
this.stopDiscoveringPrinters_();
this.$$('add-printer-dialog').close();
- this.fire('open-configuring-printer-dialog');
+ this.fire('open-manufacturer-model-dialog');
},
});
@@ -189,6 +189,12 @@ Polymer({
notify: true,
},
+ /** @type {!CupsPrinterInfo} */
+ selectedPrinter: {
+ type: Object,
+ notify: true,
+ },
+
/** @type {?Array<string>} */
manufacturerList: {
type: Array,
@@ -336,6 +342,16 @@ Polymer({
value: false,
},
+ /**
+ * @type {boolean} whether we're doing manufacturer/model in
+ * a manual flow (as opposed to a discovery flow).
+ * @private
+ */
+ inManualFlow: {
+ type: Boolean,
+ value: false,
+ },
+
configuringDialogTitle: String,
/** @private {string} */
@@ -373,8 +389,7 @@ Polymer({
/** Opens the Add printer discovery dialog. */
open: function() {
this.resetData_();
- this.switchDialog_(
- '', AddPrinterDialogs.MANUALLY, 'showManuallyAddDialog_');
+ this.switchDialog_('', AddPrinterDialogs.DISCOVERY, 'showDiscoveryDialog_');
},
/**
@@ -442,6 +457,20 @@ Polymer({
openManufacturerModelDialog_: function() {
this.switchDialog_(this.currentDialog_, AddPrinterDialogs.MANUFACTURER,
'showManufacturerDialog_');
+ this.inManualFlow = false;
+ if (this.previousDialog_ == AddPrinterDialogs.MANUALLY) {
+ this.inManualFlow = true;
+ } else if (this.previousDialog_ == AddPrinterDialogs.DISCOVERY) {
+ // If we come to the manufacturer-model dialog via discovery, then the new
+ // printer we're working with is the selected one, so copy it over. If we
+ // have a manufacturer entry from detection we'll leave it intact, but
+ // clear any manufacturer/model entries since the fact that we need to
+ // have the user select means we don't think we have the right one.
+ this.newPrinter = Object.assign({}, this.selectedPrinter);
xdai1 2017/05/10 20:12:53 The reason I prefer not "copying fields over" eith
Carlson 2017/05/10 21:28:18 I think I understand this now. Replied at top lev
+ this.newPrinter.printerManufacturer = '';
+ this.newPrinter.printerModel = '';
+ this.newPrinter.printerPPDPath = '';
+ }
},
/** @private */

Powered by Google App Engine
This is Rietveld 408576698