summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTasuku Suzuki <tasuku.suzuki@signal-slot.co.jp>2023-03-03 15:34:15 +0900
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2023-03-05 06:22:14 +0000
commit959d3397293c59194f85329e485de3e3d5c65e38 (patch)
tree2feaae8b6c26dc5b397c54e6b5108b1caae20c26
parentb5fa546f5f909b3f88bf909ca1f186f2b0b68780 (diff)
downloadqtbase-959d3397293c59194f85329e485de3e3d5c65e38.tar.gz
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 <volker.hilsheimer@qt.io> (cherry picked from commit 45df0ed2462beefce1aa51abf3cda7bc18e52118) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--src/plugins/printsupport/cups/qcupsprintersupport.cpp12
-rw-r--r--src/printsupport/configure.cmake5
2 files changed, 11 insertions, 6 deletions
diff --git a/src/plugins/printsupport/cups/qcupsprintersupport.cpp b/src/plugins/printsupport/cups/qcupsprintersupport.cpp
index a43e65b1e9..6578d8a558 100644
--- a/src/plugins/printsupport/cups/qcupsprintersupport.cpp
+++ b/src/plugins/printsupport/cups/qcupsprintersupport.cpp
@@ -11,14 +11,14 @@
#include <QtPrintSupport/QPrinterInfo>
-#if QT_CONFIG(dialogbuttonbox) && QT_CONFIG(formlayout)
+#if QT_CONFIG(cupspassworddialog)
#include <QGuiApplication>
#include <QDialog>
#include <QDialogButtonBox>
#include <QFormLayout>
#include <QLabel>
#include <QLineEdit>
-#endif // QT_CONFIG(dialogbuttonbox)
+#endif // QT_CONFIG(cupspassworddialog)
#include <cups/ppd.h>
#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<QGuiApplication*>(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 0359be926c..2287789ac1 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"