From 959d3397293c59194f85329e485de3e3d5c65e38 Mon Sep 17 00:00:00 2001 From: Tasuku Suzuki Date: Fri, 3 Mar 2023 15:34:15 +0900 Subject: [PATCH] Fix build with -no-feature-lineedit Introduce a new feature for password dialog in cups that needs several widgets Change-Id: I93799b814ac06e661c19cffcd7d3c9bfa56ff814 Reviewed-by: Volker Hilsheimer (cherry picked from commit 45df0ed2462beefce1aa51abf3cda7bc18e52118) Reviewed-by: Qt Cherry-pick Bot --- .../printsupport/cups/qcupsprintersupport.cpp | 12 ++++++------ src/printsupport/configure.cmake | 5 +++++ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/plugins/printsupport/cups/qcupsprintersupport.cpp b/src/plugins/printsupport/cups/qcupsprintersupport.cpp index a43e65b1e94..6578d8a558d 100644 --- a/src/plugins/printsupport/cups/qcupsprintersupport.cpp +++ b/src/plugins/printsupport/cups/qcupsprintersupport.cpp @@ -11,14 +11,14 @@ #include -#if QT_CONFIG(dialogbuttonbox) && QT_CONFIG(formlayout) +#if QT_CONFIG(cupspassworddialog) #include #include #include #include #include #include -#endif // QT_CONFIG(dialogbuttonbox) +#endif // QT_CONFIG(cupspassworddialog) #include #ifndef QT_LINUXBASE // LSB merges everything into cups.h @@ -27,7 +27,7 @@ QT_BEGIN_NAMESPACE -#if QT_CONFIG(dialogbuttonbox) && QT_CONFIG(formlayout) +#if QT_CONFIG(cupspassworddialog) static const char *getPasswordCB(const char */*prompt*/, http_t *http, const char */*method*/, const char *resource, void */*user_data*/) { // cups doesn't free the const char * we return so keep around @@ -89,16 +89,16 @@ static const char *getPasswordCB(const char */*prompt*/, http_t *http, const cha return password.constData(); } -#endif // QT_CONFIG(dialogbuttonbox) && QT_CONFIG(formlayout) +#endif // QT_CONFIG(cupspassworddialog) QCupsPrinterSupport::QCupsPrinterSupport() : QPlatformPrinterSupport() { -#if QT_CONFIG(dialogbuttonbox) && QT_CONFIG(formlayout) +#if QT_CONFIG(cupspassworddialog) // Only show password dialog if GUI application if (qobject_cast(QCoreApplication::instance())) cupsSetPasswordCB2(getPasswordCB, nullptr /* user_data */ ); -#endif // QT_CONFIG(dialogbuttonbox) && QT_CONFIG(formlayout) +#endif // QT_CONFIG(cupspassworddialog) } QCupsPrinterSupport::~QCupsPrinterSupport() diff --git a/src/printsupport/configure.cmake b/src/printsupport/configure.cmake index 0359be926c7..2287789ac10 100644 --- a/src/printsupport/configure.cmake +++ b/src/printsupport/configure.cmake @@ -31,6 +31,11 @@ qt_feature("cupsjobwidget" PUBLIC PRIVATE CONDITION ( QT_FEATURE_buttongroup ) AND ( QT_FEATURE_calendarwidget ) AND ( QT_FEATURE_checkbox ) AND ( QT_FEATURE_combobox ) AND ( QT_FEATURE_cups ) AND ( QT_FEATURE_datetimeedit ) AND ( QT_FEATURE_groupbox ) AND ( QT_FEATURE_tablewidget ) ) qt_feature_definition("cupsjobwidget" "QT_NO_CUPSJOBWIDGET" NEGATE VALUE "1") +qt_feature("cupspassworddialog" PRIVATE + SECTION "Widgets" + LABEL "CUPS password dialog" + CONDITION ( QT_FEATURE_dialogbuttonbox ) AND ( QT_FEATURE_formlayout ) AND ( QT_FEATURE_lineedit ) +) qt_feature("printer" PUBLIC SECTION "Painting" LABEL "QPrinter"