Guard the QDateTimeEdit usage with the respective feature check

QDateTimeEdit and the respective header are available only when the
'datetimeedit' feature is enabled.

Amends bfe8ac4ebff7a1e8114068f2f46e73c588735690

Fixes: QTBUG-129481
Pick-to: 6.7
Change-Id: Ia9595bb17b47fd7221742665f1242a5f85ed6c0d
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
(cherry picked from commit 00bcf5a867d0414cd894e46d085feef94aa317b9)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
bb10
Alexey Edelev 2024-10-02 16:49:46 +02:00 committed by Qt Cherry-pick Bot
parent 7f45fdefd6
commit 6c1f4c6c56
1 changed files with 7 additions and 4 deletions

View File

@ -21,8 +21,9 @@
#endif
#include <QtWidgets/qtextedit.h>
#include <QtWidgets/qtreeview.h>
#include <QtWidgets/qdatetimeedit.h>
#if QT_CONFIG(datetimeedit)
# include <QtWidgets/qdatetimeedit.h>
#endif
#include "qdrawutil.h"
#include <chrono>
@ -2020,12 +2021,14 @@ QSize QWindows11Style::sizeFromContents(ContentsType type, const QStyleOption *o
if (const auto *spinBoxOpt = qstyleoption_cast<const QStyleOptionSpinBox *>(option)) {
// Add button + frame widths
int width = 0;
#if QT_CONFIG(datetimeedit)
if (const QDateTimeEdit *spinBox = qobject_cast<const QDateTimeEdit *>(widget)) {
const QSize textSizeMin = spinBoxOpt->fontMetrics.size(Qt::TextSingleLine, spinBox->minimumDateTime().toString(spinBox->displayFormat()));
const QSize textSizeMax = spinBoxOpt->fontMetrics.size(Qt::TextSingleLine, spinBox->maximumDateTime().toString(spinBox->displayFormat()));
width = qMax(textSizeMin.width(),textSizeMax.width());
} else if (const QSpinBox *spinBox = qobject_cast<const QSpinBox *>(widget)) {
} else
#endif
if (const QSpinBox *spinBox = qobject_cast<const QSpinBox *>(widget)) {
const QSize textSizeMin = spinBoxOpt->fontMetrics.size(Qt::TextSingleLine, QString::number(spinBox->minimum()));
const QSize textSizeMax = spinBoxOpt->fontMetrics.size(Qt::TextSingleLine, QString::number(spinBox->maximum()));
width = qMax(textSizeMin.width(),textSizeMax.width());