diff --git a/src/printsupport/dialogs/qprintdialog_unix.cpp b/src/printsupport/dialogs/qprintdialog_unix.cpp index 9633032a0f49d3720f73d527a2af8b2d257f6e02..c6c84ca701be14d6d3b048edd517a58554e3f7bf 100644 --- a/src/printsupport/dialogs/qprintdialog_unix.cpp +++ b/src/printsupport/dialogs/qprintdialog_unix.cpp @@ -661,18 +661,16 @@ QUnixPrintWidgetPrivate::QUnixPrintWidgetPrivate(QUnixPrintWidget *p, QPrinter * widget.setupUi(parent); int currentPrinterIndex = 0; - QStringList printers; - QString defaultPrinter; QPlatformPrinterSupport *ps = QPlatformPrinterSupportPlugin::get(); if (ps) { - printers = ps->availablePrintDeviceIds(); - defaultPrinter = ps->defaultPrintDeviceId(); - } + const QStringList printers = ps->availablePrintDeviceIds(); + const QString defaultPrinter = ps->defaultPrintDeviceId(); + + widget.printers->addItems(printers); - for (int i = 0; i < printers.size(); ++i) { - widget.printers->addItem(printers.at(i)); - if (printers.at(i) == defaultPrinter) - currentPrinterIndex = i; + const int idx = printers.indexOf(defaultPrinter); + if (idx >= 0) + currentPrinterIndex = idx; } widget.properties->setEnabled(true); @@ -827,12 +825,9 @@ void QUnixPrintWidgetPrivate::applyPrinterProperties() widget.filename->setText( printer->outputFileName() ); QString printerName = printer->printerName(); if (!printerName.isEmpty()) { - for (int i = 0; i < widget.printers->count(); ++i) { - if (widget.printers->itemText(i) == printerName) { - widget.printers->setCurrentIndex(i); - break; - } - } + const int i = widget.printers->findText(printerName); + if (i >= 0) + widget.printers->setCurrentIndex(i); } // PDF printer not added to the dialog yet, we'll handle those cases in QUnixPrintWidgetPrivate::updateWidget