From ad2c41a1a136ebdce643a8613c4ef7e919087f6b Mon Sep 17 00:00:00 2001 From: Lu YaNing <luyaning@uniontech.com> Date: Thu, 31 Mar 2022 13:53:52 +0800 Subject: [PATCH 039/147] CUPS: Add support for accessible IPP printers CUPS 2.2 adds accessible IPP printers to the list of destinations that can be used. The "printer-uri-supported" option will be present for those IPP printers that have been recently used. https://github.com/OpenPrinting/cups/blob/master/cups/dest.c#L1611 Pick-to: 5.15 6.2 6.3 Change-Id: I49b4d2f1ee6d96e9bcc04ed1cc2ed48d7a6e7563 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit 2f5f276b4a2a19b9f2669b84f28ce8e970aaa39f) * asturmlechner 2022-06-09: Fix conflict with dev branch commit 24d2a00ce2b2983655e9c59705025218cd0fa345 --- src/plugins/printsupport/cups/qcupsprintersupport.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/plugins/printsupport/cups/qcupsprintersupport.cpp b/src/plugins/printsupport/cups/qcupsprintersupport.cpp index 42a7a821f2..1131d43f64 100644 --- a/src/plugins/printsupport/cups/qcupsprintersupport.cpp +++ b/src/plugins/printsupport/cups/qcupsprintersupport.cpp @@ -165,9 +165,12 @@ QStringList QCupsPrinterSupport::availablePrintDeviceIds() const list.reserve(count); for (int i = 0; i < count; ++i) { QString printerId = QString::fromLocal8Bit(dests[i].name); - if (dests[i].instance) + if (dests[i].instance) { printerId += QLatin1Char('/') + QString::fromLocal8Bit(dests[i].instance); - list.append(printerId); + list.append(printerId); + } else if (cupsGetOption("printer-uri-supported", dests[i].num_options, dests[i].options)) { + list.append(printerId); + } } cupsFreeDests(count, dests); return list; -- 2.40.1