From 3b6fb8f22e1da418aa067978795b0442fa31a587 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Wed, 6 Sep 2017 11:36:43 +0200 Subject: Use QTRY_COMPARE in tst_qwidget::activation() (Windows only) Speeds up the test from approximately 770ms to 180ms. Change-Id: I2e5479fd5190b841b44d4a66380d27b1c3b55162 Reviewed-by: Simon Hausmann --- tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp b/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp index 63ff8380f8..baecc43f2c 100644 --- a/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp +++ b/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp @@ -1743,8 +1743,6 @@ void tst_QWidget::activation() { Q_CHECK_PAINTEVENTS - int waitTime = 100; - QWidget widget1; widget1.setObjectName("activation-Widget1"); widget1.setWindowTitle(widget1.objectName()); @@ -1756,25 +1754,18 @@ void tst_QWidget::activation() widget1.show(); widget2.show(); - QTest::qWait(waitTime); - QCOMPARE(QApplication::activeWindow(), &widget2); + QTRY_COMPARE(QApplication::activeWindow(), &widget2); widget2.showMinimized(); - QTest::qWait(waitTime); - QCOMPARE(QApplication::activeWindow(), &widget1); + QTRY_COMPARE(QApplication::activeWindow(), &widget1); widget2.showMaximized(); - QTest::qWait(waitTime); - QCOMPARE(QApplication::activeWindow(), &widget2); + QTRY_COMPARE(QApplication::activeWindow(), &widget2); widget2.showMinimized(); - QTest::qWait(waitTime); - QCOMPARE(QApplication::activeWindow(), &widget1); + QTRY_COMPARE(QApplication::activeWindow(), &widget1); widget2.showNormal(); - QTest::qWait(waitTime); - QTest::qWait(waitTime); - QCOMPARE(QApplication::activeWindow(), &widget2); + QTRY_COMPARE(QApplication::activeWindow(), &widget2); widget2.hide(); - QTest::qWait(waitTime); - QCOMPARE(QApplication::activeWindow(), &widget1); + QTRY_COMPARE(QApplication::activeWindow(), &widget1); } #endif // Q_OS_WIN -- cgit v1.2.3 From 3fe08097967a4adfa8b523869339a706af649f64 Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Wed, 30 Aug 2017 13:39:54 +0200 Subject: Set the CROSS_COMPILE variable in Android mkspecs All cross-target makespecs should set this variable. Change-Id: I176fa79e639b09c4c1134b66635c66d6e351d805 Reviewed-by: BogDan Vatra --- mkspecs/android-g++/qmake.conf | 4 ++-- mkspecs/common/android-base-head.conf | 1 + mkspecs/common/android-base-tail.conf | 10 +++++----- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/mkspecs/android-g++/qmake.conf b/mkspecs/android-g++/qmake.conf index 5e8a97c9d7..21afc52f2c 100644 --- a/mkspecs/android-g++/qmake.conf +++ b/mkspecs/android-g++/qmake.conf @@ -9,8 +9,8 @@ include(../common/linux.conf) include(../common/gcc-base-unix.conf) include(../common/android-base-head.conf) -QMAKE_CC = $$NDK_TOOLCHAIN_PATH/bin/$$NDK_TOOLS_PREFIX-gcc -QMAKE_CXX = $$NDK_TOOLCHAIN_PATH/bin/$$NDK_TOOLS_PREFIX-g++ +QMAKE_CC = $${CROSS_COMPILE}gcc +QMAKE_CXX = $${CROSS_COMPILE}g++ QMAKE_LINK = $$QMAKE_CXX ANDROID_SOURCES_CXX_STL_LIBDIR = $$NDK_ROOT/sources/cxx-stl/gnu-libstdc++/$$NDK_TOOLCHAIN_VERSION/libs/$$ANDROID_TARGET_ARCH diff --git a/mkspecs/common/android-base-head.conf b/mkspecs/common/android-base-head.conf index 90cc71247a..9be6111915 100644 --- a/mkspecs/common/android-base-head.conf +++ b/mkspecs/common/android-base-head.conf @@ -74,3 +74,4 @@ ANDROID_PLATFORM_PATH = $$ANDROID_PLATFORM_ROOT_PATH/usr equals(ANDROID_TARGET_ARCH, x86_64)|equals(ANDROID_TARGET_ARCH, mips64): \ QMAKE_ANDROID_PLATFORM_LIBDIR = $${QMAKE_ANDROID_PLATFORM_LIBDIR}64 +CROSS_COMPILE = $$NDK_TOOLCHAIN_PATH/bin/$$NDK_TOOLS_PREFIX- diff --git a/mkspecs/common/android-base-tail.conf b/mkspecs/common/android-base-tail.conf index 3472dfdf77..160caf011f 100644 --- a/mkspecs/common/android-base-tail.conf +++ b/mkspecs/common/android-base-tail.conf @@ -57,14 +57,14 @@ QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD QMAKE_CXXFLAGS_HIDESYMS = $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden # modifications to linux.conf -QMAKE_AR = $$NDK_TOOLCHAIN_PATH/bin/$$NDK_TOOLS_PREFIX-ar cqs -QMAKE_OBJCOPY = $$NDK_TOOLCHAIN_PATH/bin/$$NDK_TOOLS_PREFIX-objcopy -QMAKE_NM = $$NDK_TOOLCHAIN_PATH/bin/$$NDK_TOOLS_PREFIX-nm -P +QMAKE_AR = $${CROSS_COMPILE}ar cqs +QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy +QMAKE_NM = $${CROSS_COMPILE}nm -P QMAKE_STRIP = -#$$NDK_TOOLCHAIN_PATH/bin/$$NDK_TOOLS_PREFIX-strip +#$${CROSS_COMPILE}strip -QMAKE_RANLIB = $$NDK_TOOLCHAIN_PATH/bin/$$NDK_TOOLS_PREFIX-ranlib +QMAKE_RANLIB = $${CROSS_COMPILE}ranlib QMAKE_INCDIR_POST = QMAKE_LIBDIR_POST = $$ANDROID_SOURCES_CXX_STL_LIBDIR -- cgit v1.2.3 From 82ed3b8ca5ab5c47efde39083fe0ad12bdcafa7f Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Thu, 7 Sep 2017 10:48:45 +0300 Subject: Android: Use unified headers if available Fix compile with ndkr16+ Change-Id: I52a52b787e88c8fd74f86d98dcd3c9d44fcf56a9 Reviewed-by: Jake Petroules --- mkspecs/android-g++/qmake.conf | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/mkspecs/android-g++/qmake.conf b/mkspecs/android-g++/qmake.conf index 21afc52f2c..c8145ae66b 100644 --- a/mkspecs/android-g++/qmake.conf +++ b/mkspecs/android-g++/qmake.conf @@ -17,8 +17,12 @@ ANDROID_SOURCES_CXX_STL_LIBDIR = $$NDK_ROOT/sources/cxx-stl/gnu-libstdc++/$$NDK_ ANDROID_STDCPP_PATH = $$ANDROID_SOURCES_CXX_STL_LIBDIR/libgnustl_shared.so ANDROID_CXX_STL_LIBS = -lgnustl_shared -lgcc -QMAKE_CFLAGS += --sysroot=$$ANDROID_PLATFORM_ROOT_PATH \ - -isystem $$NDK_ROOT/sources/cxx-stl/gnu-libstdc++/$$NDK_TOOLCHAIN_VERSION/include \ +exists($$NDK_ROOT/sysroot/usr/include): \ + QMAKE_CFLAGS += --sysroot=$$NDK_ROOT/sysroot \ + -isystem $$NDK_ROOT/sysroot/usr/include/$$NDK_TOOLS_PREFIX +else: QMAKE_CFLAGS += --sysroot=$$ANDROID_PLATFORM_ROOT_PATH + +QMAKE_CFLAGS += -isystem $$NDK_ROOT/sources/cxx-stl/gnu-libstdc++/$$NDK_TOOLCHAIN_VERSION/include \ -isystem $$ANDROID_SOURCES_CXX_STL_LIBDIR/include equals(ANDROID_TARGET_ARCH, armeabi)|equals(ANDROID_TARGET_ARCH, armeabi-v7a): \ -- cgit v1.2.3 From 202d3ba3e6c9982608f41f5e7d836825c8664c93 Mon Sep 17 00:00:00 2001 From: Andy Shaw Date: Thu, 12 Jan 2017 13:53:53 +0100 Subject: Cocoa: Check if charactersIgnoringModifiers is not empty too MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit If a dead key occurs as a result of pressing a key combination then characters will have 0 length, but charactersIgnoringModifiers will have a valid character in it. This enables key combinations such as ALT+E to be used as a shortcut with an English keyboard even though pressing ALT+E will give a dead key while doing normal text input. Task-number: QTBUG-57933 Change-Id: I52fe9edacefe7298a96af5430831f805626bacd2 Reviewed-by: Gabriel de Dietrich Reviewed-by: Tor Arne Vestbø --- src/plugins/platforms/cocoa/qnsview.mm | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/plugins/platforms/cocoa/qnsview.mm b/src/plugins/platforms/cocoa/qnsview.mm index 04e02a274a..9207feb5fd 100644 --- a/src/plugins/platforms/cocoa/qnsview.mm +++ b/src/plugins/platforms/cocoa/qnsview.mm @@ -1523,10 +1523,16 @@ static QTabletEvent::TabletDevice wacomTabletDevice(NSEvent *theEvent) QChar ch = QChar::ReplacementCharacter; int keyCode = Qt::Key_unknown; - if ([characters length] != 0) { + + // If a dead key occurs as a result of pressing a key combination then + // characters will have 0 length, but charactersIgnoringModifiers will + // have a valid character in it. This enables key combinations such as + // ALT+E to be used as a shortcut with an English keyboard even though + // pressing ALT+E will give a dead key while doing normal text input. + if ([characters length] != 0 || [charactersIgnoringModifiers length] != 0) { if (((modifiers & Qt::MetaModifier) || (modifiers & Qt::AltModifier)) && ([charactersIgnoringModifiers length] != 0)) ch = QChar([charactersIgnoringModifiers characterAtIndex:0]); - else + else if ([characters length] != 0) ch = QChar([characters characterAtIndex:0]); keyCode = [self convertKeyCode:ch]; } -- cgit v1.2.3 From 452ad2bb1358ad5206440457fecbac92779dc680 Mon Sep 17 00:00:00 2001 From: Andy Shaw Date: Thu, 7 Sep 2017 21:45:02 +0200 Subject: Add documentation about not having QSqlDatabase objects kept around Task-number: QTBUG-35977 Change-Id: I8601b3f7379a5fe94898a2f5ff63558a896a4de2 Reviewed-by: Venugopal Shivashankar --- src/sql/kernel/qsqldatabase.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/sql/kernel/qsqldatabase.cpp b/src/sql/kernel/qsqldatabase.cpp index 412658e39c..06c5f56d50 100644 --- a/src/sql/kernel/qsqldatabase.cpp +++ b/src/sql/kernel/qsqldatabase.cpp @@ -365,6 +365,14 @@ void QSqlDatabasePrivate::disable() cloneDatabase() to create an independent database connection based on an existing one. + \warning It is highly recommended that you do not keep a copy of the + QSqlDatabase around as a member of a class, as this will prevent the + instance from being correctly cleaned up on shutdown. If you need to + access an existing QSqlDatabase, it should be accessed with database(). + If you chose to have a QSqlDatabase member variable, this needs to be + deleted before the QCoreApplication instance is deleted, otherwise it + may lead to undefined behavior. + If you create multiple database connections, specify a unique connection name for each one, when you call addDatabase(). Use database() with a connection name to get that connection. Use -- cgit v1.2.3 From 689606de91faecf91f1f92e8d355789d9be62d2f Mon Sep 17 00:00:00 2001 From: Andy Shaw Date: Thu, 7 Sep 2017 00:50:08 +0200 Subject: Cocoa: Update the known menu items when the QCocoaMenuBar is deleted If an application has more than one menubar, for instance, one for each mainwindow it has visible then once one is deleted it needs to ensure the application menu items are updated as appropriate. To do this the resetting of the known menu items is extended to cover all the application specific ones so that they can all be updated correctly. Task-number: QTBUG-62193 Change-Id: I61f46a4745f4e40b9283d40fa5a7473f2721c354 Reviewed-by: Gabriel de Dietrich --- src/plugins/platforms/cocoa/qcocoamenubar.mm | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/plugins/platforms/cocoa/qcocoamenubar.mm b/src/plugins/platforms/cocoa/qcocoamenubar.mm index 70fcb40774..3e466c9587 100644 --- a/src/plugins/platforms/cocoa/qcocoamenubar.mm +++ b/src/plugins/platforms/cocoa/qcocoamenubar.mm @@ -86,6 +86,7 @@ QCocoaMenuBar::~QCocoaMenuBar() // the menu bar was updated qDeleteAll(children()); updateMenuBarImmediately(); + resetKnownMenuItemsToQt(); } } @@ -306,16 +307,9 @@ void QCocoaMenuBar::resetKnownMenuItemsToQt() foreach (QCocoaMenuBar *mb, static_menubars) { foreach (QCocoaMenu *m, mb->m_menus) { foreach (QCocoaMenuItem *i, m->items()) { - switch (i->effectiveRole()) { - case QPlatformMenuItem::CutRole: - case QPlatformMenuItem::CopyRole: - case QPlatformMenuItem::PasteRole: - case QPlatformMenuItem::SelectAllRole: + if (i->effectiveRole() >= QPlatformMenuItem::ApplicationSpecificRole) { [i->nsItem() setTarget:m->nsMenu().delegate]; [i->nsItem() setAction:@selector(itemFired:)]; - break; - default: - break; } } } -- cgit v1.2.3 From 79851be72918f4f3bd7549f40884bc68027cdfa9 Mon Sep 17 00:00:00 2001 From: Stephan Binner Date: Sun, 27 Aug 2017 19:08:17 +0200 Subject: Convert features.mainwindow to QT_[REQUIRE_]CONFIG Change-Id: If7efc8c15d8876f5bc5575d48686894ea71bbe62 Reviewed-by: Oswald Buddenhagen --- src/widgets/accessible/qaccessiblewidgetfactory.cpp | 2 +- src/widgets/accessible/qaccessiblewidgets.cpp | 6 ++++-- src/widgets/accessible/qaccessiblewidgets_p.h | 4 ++-- src/widgets/styles/qfusionstyle.cpp | 2 ++ src/widgets/styles/qmacstyle_mac.mm | 10 ++++++---- src/widgets/styles/qmacstyle_mac_p_p.h | 2 ++ src/widgets/styles/qstylesheetstyle.cpp | 4 +++- src/widgets/styles/qwindowsstyle.cpp | 4 +++- src/widgets/widgets/qdockwidget.cpp | 12 ++++++------ src/widgets/widgets/qmainwindow.cpp | 4 ---- src/widgets/widgets/qmainwindow.h | 7 ++----- src/widgets/widgets/qmainwindowlayout.cpp | 4 ---- src/widgets/widgets/qmainwindowlayout_p.h | 6 ++---- src/widgets/widgets/qmdisubwindow.cpp | 8 +++++--- src/widgets/widgets/qmenubar.cpp | 2 ++ src/widgets/widgets/qstatusbar.cpp | 2 ++ src/widgets/widgets/qtoolbutton.cpp | 2 ++ src/widgets/widgets/qwidgetanimator.cpp | 8 +++++--- src/widgets/widgets/widgets.pri | 14 ++++++++++---- 19 files changed, 59 insertions(+), 44 deletions(-) diff --git a/src/widgets/accessible/qaccessiblewidgetfactory.cpp b/src/widgets/accessible/qaccessiblewidgetfactory.cpp index 0865281202..a5600bdb5e 100644 --- a/src/widgets/accessible/qaccessiblewidgetfactory.cpp +++ b/src/widgets/accessible/qaccessiblewidgetfactory.cpp @@ -120,7 +120,7 @@ QAccessibleInterface *qAccessibleFactory(const QString &classname, QObject *obje iface = new QAccessibleWidget(widget, QAccessible::Dialog); } else if (classname == QLatin1String("QMessageBox")) { iface = new QAccessibleWidget(widget, QAccessible::AlertMessage); -#ifndef QT_NO_MAINWINDOW +#if QT_CONFIG(mainwindow) } else if (classname == QLatin1String("QMainWindow")) { iface = new QAccessibleMainWindow(widget); #endif diff --git a/src/widgets/accessible/qaccessiblewidgets.cpp b/src/widgets/accessible/qaccessiblewidgets.cpp index 0ac7d736f8..993c01872b 100644 --- a/src/widgets/accessible/qaccessiblewidgets.cpp +++ b/src/widgets/accessible/qaccessiblewidgets.cpp @@ -80,7 +80,9 @@ #include #include #endif +#if QT_CONFIG(mainwindow) #include +#endif #include #ifndef QT_NO_ACCESSIBILITY @@ -1090,7 +1092,7 @@ void QAccessibleTextWidget::replaceText(int startOffset, int endOffset, const QS #endif // QT_NO_CURSOR -#ifndef QT_NO_MAINWINDOW +#if QT_CONFIG(mainwindow) QAccessibleMainWindow::QAccessibleMainWindow(QWidget *widget) : QAccessibleWidget(widget, QAccessible::Window) { } @@ -1139,7 +1141,7 @@ QMainWindow *QAccessibleMainWindow::mainWindow() const return qobject_cast(object()); } -#endif //QT_NO_MAINWINDOW +#endif // QT_CONFIG(mainwindow) QT_END_NAMESPACE diff --git a/src/widgets/accessible/qaccessiblewidgets_p.h b/src/widgets/accessible/qaccessiblewidgets_p.h index 050930243d..200e2622e3 100644 --- a/src/widgets/accessible/qaccessiblewidgets_p.h +++ b/src/widgets/accessible/qaccessiblewidgets_p.h @@ -304,7 +304,7 @@ protected: #endif // QT_CONFIG(dockwidget) -#ifndef QT_NO_MAINWINDOW +#if QT_CONFIG(mainwindow) class QAccessibleMainWindow : public QAccessibleWidget { public: @@ -317,7 +317,7 @@ public: QMainWindow *mainWindow() const; }; -#endif //QT_NO_MAINWINDOW +#endif // QT_CONFIG(mainwindow) #endif // QT_NO_ACCESSIBILITY diff --git a/src/widgets/styles/qfusionstyle.cpp b/src/widgets/styles/qfusionstyle.cpp index 6c400b4d2e..6b946fa5e6 100644 --- a/src/widgets/styles/qfusionstyle.cpp +++ b/src/widgets/styles/qfusionstyle.cpp @@ -55,7 +55,9 @@ #include #include #include +#if QT_CONFIG(mainwindow) #include +#endif #include #if QT_CONFIG(groupbox) #include diff --git a/src/widgets/styles/qmacstyle_mac.mm b/src/widgets/styles/qmacstyle_mac.mm index fcda61ef8c..f48de99825 100644 --- a/src/widgets/styles/qmacstyle_mac.mm +++ b/src/widgets/styles/qmacstyle_mac.mm @@ -74,7 +74,9 @@ #include #include #include +#if QT_CONFIG(mainwindow) #include +#endif #include #if QT_CONFIG(menubar) #include @@ -959,7 +961,7 @@ static QAquaWidgetSize qt_aqua_guess_size(const QWidget *widg, QSize large, QSiz return QAquaSizeLarge; } -#ifndef QT_NO_MAINWINDOW +#if QT_CONFIG(mainwindow) if (qEnvironmentVariableIsSet("QWIDGET_ALL_SMALL")) { //if (small.width() != -1 || small.height() != -1) return QAquaSizeSmall; @@ -2457,7 +2459,7 @@ int QMacStyle::pixelMetric(PixelMetric metric, const QStyleOption *opt, const QW #endif break; case PM_DefaultFrameWidth: -#ifndef QT_NO_MAINWINDOW +#if QT_CONFIG(mainwindow) if (widget && (widget->isWindow() || !widget->parentWidget() || (qobject_cast(widget->parentWidget()) && static_cast(widget->parentWidget())->centralWidget() == widget)) @@ -4801,7 +4803,7 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter // the title bar. The following code fills the toolBar area with transparent pixels // to make that gradient visible. if (w) { -#ifndef QT_NO_MAINWINDOW +#if QT_CONFIG(mainwindow) if (QMainWindow * mainWindow = qobject_cast(w->window())) { if (toolBar && toolBar->toolBarArea == Qt::TopToolBarArea && mainWindow->unifiedTitleAndToolBarOnMac()) { @@ -6986,7 +6988,7 @@ bool QMacStyle::event(QEvent *e) QWidget *top = f->parentWidget(); while (top && !top->isWindow() && !(top->windowType() == Qt::SubWindow)) top = top->parentWidget(); -#ifndef QT_NO_MAINWINDOW +#if QT_CONFIG(mainwindow) if (qobject_cast(top)) { QWidget *central = static_cast(top)->centralWidget(); for (const QWidget *par = f; par; par = par->parentWidget()) { diff --git a/src/widgets/styles/qmacstyle_mac_p_p.h b/src/widgets/styles/qmacstyle_mac_p_p.h index 142966de40..9155a73212 100644 --- a/src/widgets/styles/qmacstyle_mac_p_p.h +++ b/src/widgets/styles/qmacstyle_mac_p_p.h @@ -78,7 +78,9 @@ #if QT_CONFIG(listview) #include #endif +#if QT_CONFIG(mainwindow) #include +#endif #include #if QT_CONFIG(menubar) #include diff --git a/src/widgets/styles/qstylesheetstyle.cpp b/src/widgets/styles/qstylesheetstyle.cpp index efd9d4c1d7..8f88af05e0 100644 --- a/src/widgets/styles/qstylesheetstyle.cpp +++ b/src/widgets/styles/qstylesheetstyle.cpp @@ -85,7 +85,9 @@ #include #endif #include +#if QT_CONFIG(mainwindow) #include +#endif #if QT_CONFIG(dockwidget) #include #endif @@ -2825,7 +2827,7 @@ void QStyleSheetStyle::polish(QWidget *w) #ifndef QT_NO_FRAME || qobject_cast(w) #endif -#ifndef QT_NO_MAINWINDOW +#if QT_CONFIG(mainwindow) || qobject_cast(w) #endif #ifndef QT_NO_MDIAREA diff --git a/src/widgets/styles/qwindowsstyle.cpp b/src/widgets/styles/qwindowsstyle.cpp index 2cdfebae0a..b4ed829c88 100644 --- a/src/widgets/styles/qwindowsstyle.cpp +++ b/src/widgets/styles/qwindowsstyle.cpp @@ -62,7 +62,9 @@ #endif #include "qwidget.h" #include "qdebug.h" +#if QT_CONFIG(mainwindow) #include "qmainwindow.h" +#endif #include "qfile.h" #include "qtextstream.h" #include "qpixmapcache.h" @@ -1113,7 +1115,7 @@ void QWindowsStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPai break; #endif // QT_CONFIG(rubberband) -#if !defined(QT_NO_MENU) && !defined(QT_NO_MAINWINDOW) +#if !defined(QT_NO_MENU) && QT_CONFIG(mainwindow) case CE_MenuBarEmptyArea: if (widget && qobject_cast(widget->parentWidget())) { p->fillRect(opt->rect, opt->palette.button()); diff --git a/src/widgets/widgets/qdockwidget.cpp b/src/widgets/widgets/qdockwidget.cpp index 2d5ee68f8e..8d7d2a82d5 100644 --- a/src/widgets/widgets/qdockwidget.cpp +++ b/src/widgets/widgets/qdockwidget.cpp @@ -851,7 +851,7 @@ bool QDockWidgetPrivate::isAnimating() const bool QDockWidgetPrivate::mousePressEvent(QMouseEvent *event) { -#if !defined(QT_NO_MAINWINDOW) +#if QT_CONFIG(mainwindow) Q_Q(QDockWidget); QDockWidgetLayout *dwLayout @@ -880,7 +880,7 @@ bool QDockWidgetPrivate::mousePressEvent(QMouseEvent *event) return true; } -#endif // !defined(QT_NO_MAINWINDOW) +#endif // QT_CONFIG(mainwindow) return false; } @@ -903,7 +903,7 @@ bool QDockWidgetPrivate::mouseDoubleClickEvent(QMouseEvent *event) bool QDockWidgetPrivate::mouseMoveEvent(QMouseEvent *event) { bool ret = false; -#if !defined(QT_NO_MAINWINDOW) +#if QT_CONFIG(mainwindow) Q_Q(QDockWidget); if (!state) @@ -944,20 +944,20 @@ bool QDockWidgetPrivate::mouseMoveEvent(QMouseEvent *event) ret = true; } -#endif // !defined(QT_NO_MAINWINDOW) +#endif // QT_CONFIG(mainwindow) return ret; } bool QDockWidgetPrivate::mouseReleaseEvent(QMouseEvent *event) { -#if !defined(QT_NO_MAINWINDOW) +#if QT_CONFIG(mainwindow) if (event->button() == Qt::LeftButton && state && !state->nca) { endDrag(); return true; //filter out the event } -#endif // !defined(QT_NO_MAINWINDOW) +#endif // QT_CONFIG(mainwindow) return false; } diff --git a/src/widgets/widgets/qmainwindow.cpp b/src/widgets/widgets/qmainwindow.cpp index 9337595ead..fcfeb18357 100644 --- a/src/widgets/widgets/qmainwindow.cpp +++ b/src/widgets/widgets/qmainwindow.cpp @@ -42,8 +42,6 @@ #include "qmainwindow.h" #include "qmainwindowlayout_p.h" -#ifndef QT_NO_MAINWINDOW - #if QT_CONFIG(dockwidget) #include "qdockwidget.h" #endif @@ -1778,5 +1776,3 @@ QMenu *QMainWindow::createPopupMenu() QT_END_NAMESPACE #include "moc_qmainwindow.cpp" - -#endif // QT_NO_MAINWINDOW diff --git a/src/widgets/widgets/qmainwindow.h b/src/widgets/widgets/qmainwindow.h index ff489efa2d..ba75c20b28 100644 --- a/src/widgets/widgets/qmainwindow.h +++ b/src/widgets/widgets/qmainwindow.h @@ -46,10 +46,9 @@ #include #endif -QT_BEGIN_NAMESPACE - +QT_REQUIRE_CONFIG(mainwindow); -#ifndef QT_NO_MAINWINDOW +QT_BEGIN_NAMESPACE class QDockWidget; class QMainWindowPrivate; @@ -215,8 +214,6 @@ private: Q_DECLARE_OPERATORS_FOR_FLAGS(QMainWindow::DockOptions) -#endif // QT_NO_MAINWINDOW - QT_END_NAMESPACE #endif // QDYNAMICMAINWINDOW_H diff --git a/src/widgets/widgets/qmainwindowlayout.cpp b/src/widgets/widgets/qmainwindowlayout.cpp index 8c1a0d7937..91c012d8d8 100644 --- a/src/widgets/widgets/qmainwindowlayout.cpp +++ b/src/widgets/widgets/qmainwindowlayout.cpp @@ -40,7 +40,6 @@ #include "qmainwindowlayout_p.h" -#ifndef QT_NO_MAINWINDOW #if QT_CONFIG(dockwidget) #include "qdockarealayout_p.h" #include "qdockwidget.h" @@ -2724,9 +2723,6 @@ void QMainWindowLayout::timerEvent(QTimerEvent *e) QLayout::timerEvent(e); } - QT_END_NAMESPACE #include "moc_qmainwindowlayout_p.cpp" - -#endif // QT_NO_MAINWINDOW diff --git a/src/widgets/widgets/qmainwindowlayout_p.h b/src/widgets/widgets/qmainwindowlayout_p.h index 7001859ae0..615035d2fe 100644 --- a/src/widgets/widgets/qmainwindowlayout_p.h +++ b/src/widgets/widgets/qmainwindowlayout_p.h @@ -54,8 +54,6 @@ #include #include "qmainwindow.h" -#ifndef QT_NO_MAINWINDOW - #include "QtWidgets/qlayout.h" #if QT_CONFIG(tabbar) #include "QtWidgets/qtabbar.h" @@ -71,6 +69,8 @@ #endif #include "qtoolbararealayout_p.h" +QT_REQUIRE_CONFIG(mainwindow); + QT_BEGIN_NAMESPACE class QToolBar; @@ -379,6 +379,4 @@ QDebug operator<<(QDebug debug, const QMainWindowLayout *layout); QT_END_NAMESPACE -#endif // QT_NO_MAINWINDOW - #endif // QDYNAMICMAINWINDOWLAYOUT_P_H diff --git a/src/widgets/widgets/qmdisubwindow.cpp b/src/widgets/widgets/qmdisubwindow.cpp index 0abc4967e1..7e54ecb736 100644 --- a/src/widgets/widgets/qmdisubwindow.cpp +++ b/src/widgets/widgets/qmdisubwindow.cpp @@ -157,7 +157,9 @@ #include #endif #include +#if QT_CONFIG(mainwindow) #include +#endif #include #include #if QT_CONFIG(style_mac) @@ -741,7 +743,7 @@ ControlContainer::~ControlContainer() */ QMenuBar *QMdiSubWindowPrivate::menuBar() const { -#if defined(QT_NO_MAINWINDOW) +#if !QT_CONFIG(mainwindow) return 0; #else Q_Q(const QMdiSubWindow); @@ -1784,7 +1786,7 @@ bool QMdiSubWindowPrivate::drawTitleBarWhenMaximized() const #else if (q->style()->styleHint(QStyle::SH_Workspace_FillSpaceOnMaximize, 0, q)) return true; -#if !QT_CONFIG(menubar) || defined(QT_NO_MAINWINDOW) +#if !QT_CONFIG(menubar) || !QT_CONFIG(mainwindow) Q_UNUSED(isChildOfQMdiSubWindow); return true; #else @@ -1850,7 +1852,7 @@ void QMdiSubWindowPrivate::removeButtonsFromMenuBar() return; QMenuBar *currentMenuBar = 0; -#ifndef QT_NO_MAINWINDOW +#if QT_CONFIG(mainwindow) if (QMainWindow *mainWindow = qobject_cast(q->window())) { // NB! We can't use menuBar() here because that one will actually create // a menubar for us if not set. That's not what we want :-) diff --git a/src/widgets/widgets/qmenubar.cpp b/src/widgets/widgets/qmenubar.cpp index a78195d2aa..23f9283394 100644 --- a/src/widgets/widgets/qmenubar.cpp +++ b/src/widgets/widgets/qmenubar.cpp @@ -49,7 +49,9 @@ #include #include #include +#if QT_CONFIG(mainwindow) #include +#endif #include #if QT_CONFIG(toolbutton) #include diff --git a/src/widgets/widgets/qstatusbar.cpp b/src/widgets/widgets/qstatusbar.cpp index da7c86a2af..c3b66cb64b 100644 --- a/src/widgets/widgets/qstatusbar.cpp +++ b/src/widgets/widgets/qstatusbar.cpp @@ -48,7 +48,9 @@ #include "qstyle.h" #include "qstyleoption.h" #include "qsizegrip.h" +#if QT_CONFIG(mainwindow) #include "qmainwindow.h" +#endif #ifndef QT_NO_ACCESSIBILITY #include "qaccessible.h" diff --git a/src/widgets/widgets/qtoolbutton.cpp b/src/widgets/widgets/qtoolbutton.cpp index f2c5814203..0b23825c9f 100644 --- a/src/widgets/widgets/qtoolbutton.cpp +++ b/src/widgets/widgets/qtoolbutton.cpp @@ -50,7 +50,9 @@ #include #include #include +#if QT_CONFIG(mainwindow) #include +#endif #include #include #include diff --git a/src/widgets/widgets/qwidgetanimator.cpp b/src/widgets/widgets/qwidgetanimator.cpp index d46d65546c..fdf2b5d321 100644 --- a/src/widgets/widgets/qwidgetanimator.cpp +++ b/src/widgets/widgets/qwidgetanimator.cpp @@ -40,7 +40,9 @@ #include #include #include +#if QT_CONFIG(mainwindow) #include +#endif #include "qwidgetanimator_p.h" @@ -61,7 +63,7 @@ void QWidgetAnimator::abort(QWidget *w) if (anim) { anim->stop(); } -#ifndef QT_NO_MAINWINDOW +#if QT_CONFIG(mainwindow) m_mainWindowLayout->animationFinished(w); #endif #else @@ -108,9 +110,9 @@ void QWidgetAnimator::animate(QWidget *widget, const QRect &_final_geometry, boo { //we do it in one shot widget->setGeometry(final_geometry); -#ifndef QT_NO_MAINWINDOW +#if QT_CONFIG(mainwindow) m_mainWindowLayout->animationFinished(widget); -#endif //QT_NO_MAINWINDOW +#endif // QT_CONFIG(mainwindow) } } diff --git a/src/widgets/widgets/widgets.pri b/src/widgets/widgets/widgets.pri index 5737af41c3..ace989bfc7 100644 --- a/src/widgets/widgets/widgets.pri +++ b/src/widgets/widgets/widgets.pri @@ -7,8 +7,6 @@ HEADERS += \ widgets/qframe_p.h \ widgets/qlineedit.h \ widgets/qlineedit_p.h \ - widgets/qmainwindow.h \ - widgets/qmainwindowlayout_p.h \ widgets/qmdiarea.h \ widgets/qmdiarea_p.h \ widgets/qmdisubwindow.h \ @@ -38,8 +36,6 @@ SOURCES += \ widgets/qframe.cpp \ widgets/qlineedit_p.cpp \ widgets/qlineedit.cpp \ - widgets/qmainwindow.cpp \ - widgets/qmainwindowlayout.cpp \ widgets/qmdiarea.cpp \ widgets/qmdisubwindow.cpp \ widgets/qmenu.cpp \ @@ -177,6 +173,16 @@ qtConfig(lcdnumber) { widgets/qlcdnumber.cpp } +qtConfig(mainwindow) { + HEADERS += \ + widgets/qmainwindow.h \ + widgets/qmainwindowlayout_p.h + + SOURCES += \ + widgets/qmainwindow.cpp \ + widgets/qmainwindowlayout.cpp +} + qtConfig(menubar) { HEADERS += \ widgets/qmenubar.h \ -- cgit v1.2.3 From 10601aa7d2aea597ae5127ef83cea3c7549d5712 Mon Sep 17 00:00:00 2001 From: Stephan Binner Date: Sun, 27 Aug 2017 19:09:45 +0200 Subject: Convert features.mdiarea to QT_[REQUIRE_]CONFIG Change-Id: I6d2ec035a218869aa6595f5848de94ce491d3124 Reviewed-by: Oswald Buddenhagen --- src/widgets/accessible/qaccessiblewidgetfactory.cpp | 2 +- src/widgets/accessible/qaccessiblewidgets.cpp | 6 ++++-- src/widgets/accessible/qaccessiblewidgets_p.h | 4 ++-- src/widgets/kernel/qwindowcontainer.cpp | 4 +++- src/widgets/styles/qcommonstyle.cpp | 8 ++++---- src/widgets/styles/qmacstyle_mac.mm | 4 +++- src/widgets/styles/qstylesheetstyle.cpp | 4 +++- src/widgets/styles/qwindowsxpstyle.cpp | 8 ++++---- src/widgets/widgets/qmdiarea.cpp | 4 ---- src/widgets/widgets/qmdiarea.h | 6 ++---- src/widgets/widgets/qmdiarea_p.h | 4 +--- src/widgets/widgets/qmdisubwindow.cpp | 4 ---- src/widgets/widgets/qmdisubwindow.h | 7 ++----- src/widgets/widgets/qmdisubwindow_p.h | 6 ++---- src/widgets/widgets/widgets.pri | 18 ++++++++++++------ 15 files changed, 43 insertions(+), 46 deletions(-) diff --git a/src/widgets/accessible/qaccessiblewidgetfactory.cpp b/src/widgets/accessible/qaccessiblewidgetfactory.cpp index a5600bdb5e..97e3ad826f 100644 --- a/src/widgets/accessible/qaccessiblewidgetfactory.cpp +++ b/src/widgets/accessible/qaccessiblewidgetfactory.cpp @@ -185,7 +185,7 @@ QAccessibleInterface *qAccessibleFactory(const QString &classname, QObject *obje } else if (classname == QLatin1String("QToolBox")) { iface = new QAccessibleToolBox(widget); #endif -#ifndef QT_NO_MDIAREA +#if QT_CONFIG(mdiarea) } else if (classname == QLatin1String("QMdiArea")) { iface = new QAccessibleMdiArea(widget); } else if (classname == QLatin1String("QMdiSubWindow")) { diff --git a/src/widgets/accessible/qaccessiblewidgets.cpp b/src/widgets/accessible/qaccessiblewidgets.cpp index 993c01872b..c6cce84960 100644 --- a/src/widgets/accessible/qaccessiblewidgets.cpp +++ b/src/widgets/accessible/qaccessiblewidgets.cpp @@ -58,8 +58,10 @@ #if QT_CONFIG(toolbox) #include #endif +#if QT_CONFIG(mdiarea) #include #include +#endif #if QT_CONFIG(dialogbuttonbox) #include #endif @@ -377,7 +379,7 @@ QToolBox * QAccessibleToolBox::toolBox() const #endif // QT_CONFIG(toolbox) // ======================= QAccessibleMdiArea ====================== -#ifndef QT_NO_MDIAREA +#if QT_CONFIG(mdiarea) QAccessibleMdiArea::QAccessibleMdiArea(QWidget *widget) : QAccessibleWidget(widget, QAccessible::LayeredPane) { @@ -497,7 +499,7 @@ QMdiSubWindow *QAccessibleMdiSubWindow::mdiSubWindow() const { return static_cast(object()); } -#endif // QT_NO_MDIAREA +#endif // QT_CONFIG(mdiarea) #if QT_CONFIG(dialogbuttonbox) // ======================= QAccessibleDialogButtonBox ====================== diff --git a/src/widgets/accessible/qaccessiblewidgets_p.h b/src/widgets/accessible/qaccessiblewidgets_p.h index 200e2622e3..1c351f5f4a 100644 --- a/src/widgets/accessible/qaccessiblewidgets_p.h +++ b/src/widgets/accessible/qaccessiblewidgets_p.h @@ -216,7 +216,7 @@ protected: QToolBox *toolBox() const; }; -#ifndef QT_NO_MDIAREA +#if QT_CONFIG(mdiarea) class QAccessibleMdiArea : public QAccessibleWidget { public: @@ -246,7 +246,7 @@ public: protected: QMdiSubWindow *mdiSubWindow() const; }; -#endif // QT_NO_MDIAREA +#endif // QT_CONFIG(mdiarea) #if QT_CONFIG(dialogbuttonbox) class QAccessibleDialogButtonBox : public QAccessibleWidget diff --git a/src/widgets/kernel/qwindowcontainer.cpp b/src/widgets/kernel/qwindowcontainer.cpp index b64182c5ef..bffc1f45f2 100644 --- a/src/widgets/kernel/qwindowcontainer.cpp +++ b/src/widgets/kernel/qwindowcontainer.cpp @@ -44,7 +44,9 @@ #include #include +#if QT_CONFIG(mdiarea) #include +#endif #include QT_BEGIN_NAMESPACE @@ -98,7 +100,7 @@ public: QWidget *p = q->parentWidget(); while (p) { if (false -#ifndef QT_NO_MDIAREA +#if QT_CONFIG(mdiarea) || qobject_cast(p) != 0 #endif #if QT_CONFIG(scrollarea) diff --git a/src/widgets/styles/qcommonstyle.cpp b/src/widgets/styles/qcommonstyle.cpp index 9a11e98032..36e1938a4f 100644 --- a/src/widgets/styles/qcommonstyle.cpp +++ b/src/widgets/styles/qcommonstyle.cpp @@ -3745,7 +3745,7 @@ void QCommonStyle::drawComplexControl(ComplexControl cc, const QStyleOptionCompl } break; #endif // QT_CONFIG(groupbox) -#ifndef QT_NO_MDIAREA +#if QT_CONFIG(mdiarea) case CC_MdiControls: { QStyleOptionButton btnOpt; @@ -3808,7 +3808,7 @@ void QCommonStyle::drawComplexControl(ComplexControl cc, const QStyleOptionCompl } } break; -#endif // QT_NO_MDIAREA +#endif // QT_CONFIG(mdiarea) default: qWarning("QCommonStyle::drawComplexControl: Control %d not handled", cc); } @@ -4339,7 +4339,7 @@ QRect QCommonStyle::subControlRect(ComplexControl cc, const QStyleOptionComplex break; } #endif // QT_CONFIG(groupbox) -#ifndef QT_NO_MDIAREA +#if QT_CONFIG(mdiarea) case CC_MdiControls: { int numSubControls = 0; @@ -4382,7 +4382,7 @@ QRect QCommonStyle::subControlRect(ComplexControl cc, const QStyleOptionComplex ret = QRect(offset, 0, buttonWidth, opt->rect.height()); break; } -#endif // QT_NO_MDIAREA +#endif // QT_CONFIG(mdiarea) default: qWarning("QCommonStyle::subControlRect: Case %d not handled", cc); } diff --git a/src/widgets/styles/qmacstyle_mac.mm b/src/widgets/styles/qmacstyle_mac.mm index f48de99825..6494be1a3c 100644 --- a/src/widgets/styles/qmacstyle_mac.mm +++ b/src/widgets/styles/qmacstyle_mac.mm @@ -77,7 +77,9 @@ #if QT_CONFIG(mainwindow) #include #endif +#if QT_CONFIG(mdiarea) #include +#endif #if QT_CONFIG(menubar) #include #endif @@ -773,7 +775,7 @@ static QSize qt_aqua_get_known_size(QStyle::ContentsType ct, const QWidget *widg gbi.size = sz == QAquaSizeSmall ? kHIThemeGrowBoxSizeSmall : kHIThemeGrowBoxSizeNormal; if (HIThemeGetGrowBoxBounds(&p, &gbi, &r) == noErr) { int width = 0; -#ifndef QT_NO_MDIAREA +#if QT_CONFIG(mdiarea) if (widg && qobject_cast(widg->parentWidget())) width = r.size.width; #endif diff --git a/src/widgets/styles/qstylesheetstyle.cpp b/src/widgets/styles/qstylesheetstyle.cpp index 8f88af05e0..c529154bae 100644 --- a/src/widgets/styles/qstylesheetstyle.cpp +++ b/src/widgets/styles/qstylesheetstyle.cpp @@ -91,7 +91,9 @@ #if QT_CONFIG(dockwidget) #include #endif +#if QT_CONFIG(mdiarea) #include +#endif #if QT_CONFIG(dialog) #include #endif @@ -2830,7 +2832,7 @@ void QStyleSheetStyle::polish(QWidget *w) #if QT_CONFIG(mainwindow) || qobject_cast(w) #endif -#ifndef QT_NO_MDIAREA +#if QT_CONFIG(mdiarea) || qobject_cast(w) #endif #if QT_CONFIG(menubar) diff --git a/src/widgets/styles/qwindowsxpstyle.cpp b/src/widgets/styles/qwindowsxpstyle.cpp index 8b363b830a..5357e6d070 100644 --- a/src/widgets/styles/qwindowsxpstyle.cpp +++ b/src/widgets/styles/qwindowsxpstyle.cpp @@ -3174,7 +3174,7 @@ void QWindowsXPStyle::drawComplexControl(ComplexControl cc, const QStyleOptionCo } break; -#ifndef QT_NO_MDIAREA +#if QT_CONFIG(mdiarea) case CC_MdiControls: { QRect buttonRect; @@ -3230,7 +3230,7 @@ void QWindowsXPStyle::drawComplexControl(ComplexControl cc, const QStyleOptionCo } } break; -#endif //QT_NO_MDIAREA +#endif // QT_CONFIG(mdiarea) #if QT_CONFIG(dial) case CC_Dial: if (const QStyleOptionSlider *dial = qstyleoption_cast(option)) @@ -3570,7 +3570,7 @@ QRect QWindowsXPStyle::subControlRect(ComplexControl cc, const QStyleOptionCompl } } break; -#ifndef QT_NO_MDIAREA +#if QT_CONFIG(mdiarea) case CC_MdiControls: { int numSubControls = 0; @@ -3607,7 +3607,7 @@ QRect QWindowsXPStyle::subControlRect(ComplexControl cc, const QStyleOptionCompl rect = QRect(offset, 0, buttonWidth, option->rect.height()); break; } -#endif // QT_NO_MDIAREA +#endif // QT_CONFIG(mdiarea) default: rect = visualRect(option->direction, option->rect, diff --git a/src/widgets/widgets/qmdiarea.cpp b/src/widgets/widgets/qmdiarea.cpp index 36b3828576..8f9b8c5b23 100644 --- a/src/widgets/widgets/qmdiarea.cpp +++ b/src/widgets/widgets/qmdiarea.cpp @@ -156,8 +156,6 @@ #include "qmdiarea_p.h" -#ifndef QT_NO_MDIAREA - #include #include #if 0 /* Used to be included in Qt4 for Q_WS_MAC */ && QT_CONFIG(style_mac) @@ -2700,5 +2698,3 @@ void QMdiArea::setupViewport(QWidget *viewport) QT_END_NAMESPACE #include "moc_qmdiarea.cpp" - -#endif // QT_NO_MDIAREA diff --git a/src/widgets/widgets/qmdiarea.h b/src/widgets/widgets/qmdiarea.h index acc59296b6..05deb9e21f 100644 --- a/src/widgets/widgets/qmdiarea.h +++ b/src/widgets/widgets/qmdiarea.h @@ -46,10 +46,9 @@ #include #endif -QT_BEGIN_NAMESPACE - +QT_REQUIRE_CONFIG(mdiarea); -#ifndef QT_NO_MDIAREA +QT_BEGIN_NAMESPACE class QMdiSubWindow; @@ -171,5 +170,4 @@ Q_DECLARE_OPERATORS_FOR_FLAGS(QMdiArea::AreaOptions) QT_END_NAMESPACE -#endif // QT_NO_MDIAREA #endif // QMDIAREA_H diff --git a/src/widgets/widgets/qmdiarea_p.h b/src/widgets/widgets/qmdiarea_p.h index 10b5de6840..4740993af7 100644 --- a/src/widgets/widgets/qmdiarea_p.h +++ b/src/widgets/widgets/qmdiarea_p.h @@ -55,7 +55,7 @@ #include "qmdiarea.h" #include "qmdisubwindow.h" -#ifndef QT_NO_MDIAREA +QT_REQUIRE_CONFIG(mdiarea); #include #include @@ -266,8 +266,6 @@ public: #endif // QT_CONFIG(rubberband) }; -#endif // QT_NO_MDIAREA - QT_END_NAMESPACE #endif // QMDIAREA_P_H diff --git a/src/widgets/widgets/qmdisubwindow.cpp b/src/widgets/widgets/qmdisubwindow.cpp index 7e54ecb736..6a19c48d30 100644 --- a/src/widgets/widgets/qmdisubwindow.cpp +++ b/src/widgets/widgets/qmdisubwindow.cpp @@ -147,8 +147,6 @@ #include "qmdisubwindow_p.h" -#ifndef QT_NO_MDIAREA - #include #include #include @@ -3562,5 +3560,3 @@ QT_END_NAMESPACE #include "moc_qmdisubwindow.cpp" #include "qmdisubwindow.moc" - -#endif //QT_NO_MDIAREA diff --git a/src/widgets/widgets/qmdisubwindow.h b/src/widgets/widgets/qmdisubwindow.h index 875c9a22c8..4e87806acf 100644 --- a/src/widgets/widgets/qmdisubwindow.h +++ b/src/widgets/widgets/qmdisubwindow.h @@ -43,10 +43,9 @@ #include #include -QT_BEGIN_NAMESPACE - +QT_REQUIRE_CONFIG(mdiarea); -#ifndef QT_NO_MDIAREA +QT_BEGIN_NAMESPACE class QMenu; class QMdiArea; @@ -148,6 +147,4 @@ Q_DECLARE_OPERATORS_FOR_FLAGS(QMdiSubWindow::SubWindowOptions) QT_END_NAMESPACE -#endif // QT_NO_MDIAREA - #endif // QMDISUBWINDOW_H diff --git a/src/widgets/widgets/qmdisubwindow_p.h b/src/widgets/widgets/qmdisubwindow_p.h index 51652a78ff..37e276d7c3 100644 --- a/src/widgets/widgets/qmdisubwindow_p.h +++ b/src/widgets/widgets/qmdisubwindow_p.h @@ -54,8 +54,6 @@ #include #include "qmdisubwindow.h" -#ifndef QT_NO_MDIAREA - #include #include #if QT_CONFIG(menubar) @@ -66,6 +64,8 @@ #include #include +QT_REQUIRE_CONFIG(mdiarea); + QT_BEGIN_NAMESPACE class QVBoxLayout; @@ -343,8 +343,6 @@ public: } }; -#endif // QT_NO_MDIAREA - QT_END_NAMESPACE #endif // QMDISUBWINDOW_P_H diff --git a/src/widgets/widgets/widgets.pri b/src/widgets/widgets/widgets.pri index ace989bfc7..c131060df8 100644 --- a/src/widgets/widgets/widgets.pri +++ b/src/widgets/widgets/widgets.pri @@ -7,10 +7,6 @@ HEADERS += \ widgets/qframe_p.h \ widgets/qlineedit.h \ widgets/qlineedit_p.h \ - widgets/qmdiarea.h \ - widgets/qmdiarea_p.h \ - widgets/qmdisubwindow.h \ - widgets/qmdisubwindow_p.h \ widgets/qmenu.h \ widgets/qmenu_p.h \ widgets/qsizegrip.h \ @@ -36,8 +32,6 @@ SOURCES += \ widgets/qframe.cpp \ widgets/qlineedit_p.cpp \ widgets/qlineedit.cpp \ - widgets/qmdiarea.cpp \ - widgets/qmdisubwindow.cpp \ widgets/qmenu.cpp \ widgets/qsizegrip.cpp \ widgets/qslider.cpp \ @@ -183,6 +177,18 @@ qtConfig(mainwindow) { widgets/qmainwindowlayout.cpp } +qtConfig(mdiarea) { + HEADERS += \ + widgets/qmdiarea.h \ + widgets/qmdiarea_p.h \ + widgets/qmdisubwindow.h \ + widgets/qmdisubwindow_p.h + + SOURCES += \ + widgets/qmdiarea.cpp \ + widgets/qmdisubwindow.cpp +} + qtConfig(menubar) { HEADERS += \ widgets/qmenubar.h \ -- cgit v1.2.3 From ba1b73175b5b47ff0565c58f0d6c51d515c21831 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tony=20Saraj=C3=A4rvi?= Date: Mon, 11 Sep 2017 12:30:35 +0300 Subject: Blacklist tst_QOpenGL autotest in Windows 7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Task-number: QTBUG-63122 Change-Id: Idb4c84800265c2e446d27516261fcc418be7863b Reviewed-by: Joni Jäntti Reviewed-by: Heikki Halmet --- tests/auto/gui/qopengl/BLACKLIST | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/auto/gui/qopengl/BLACKLIST b/tests/auto/gui/qopengl/BLACKLIST index 7f167d81df..a16327d411 100644 --- a/tests/auto/gui/qopengl/BLACKLIST +++ b/tests/auto/gui/qopengl/BLACKLIST @@ -6,3 +6,5 @@ windows windows [openGLPaintDevice] windows +[wglContextWrap] +windows-7 -- cgit v1.2.3 From bef8b905afec924936d7efcf150760ae86cc9e20 Mon Sep 17 00:00:00 2001 From: Stephan Binner Date: Sat, 2 Sep 2017 20:49:54 +0200 Subject: Convert features.sizegrip to QT_[REQUIRE_]CONFIG Change-Id: Ieac4ae1f0b8b84e943c00da9903346a44e57138c Reviewed-by: Oswald Buddenhagen --- src/widgets/dialogs/qdialog.cpp | 16 +++++++------ src/widgets/dialogs/qdialog_p.h | 4 ++-- src/widgets/kernel/qlayout.cpp | 2 ++ src/widgets/styles/qcommonstyle.cpp | 4 ++-- src/widgets/styles/qmacstyle_mac.mm | 4 +++- src/widgets/styles/qmacstyle_mac_p_p.h | 2 ++ src/widgets/styles/qstyleoption.cpp | 4 ++-- src/widgets/widgets/qmdisubwindow.cpp | 28 +++++++++++----------- src/widgets/widgets/qmdisubwindow_p.h | 6 +++-- src/widgets/widgets/qsizegrip.cpp | 4 ---- src/widgets/widgets/qsizegrip.h | 5 ++-- src/widgets/widgets/qstatusbar.cpp | 22 +++++++++-------- src/widgets/widgets/qwidgetresizehandler.cpp | 2 ++ src/widgets/widgets/widgets.pri | 7 ++++-- tests/auto/widgets/dialogs/qdialog/tst_qdialog.cpp | 16 ++++++------- 15 files changed, 69 insertions(+), 57 deletions(-) diff --git a/src/widgets/dialogs/qdialog.cpp b/src/widgets/dialogs/qdialog.cpp index 1cd587b78d..51e4b76298 100644 --- a/src/widgets/dialogs/qdialog.cpp +++ b/src/widgets/dialogs/qdialog.cpp @@ -52,7 +52,9 @@ #include "qdesktopwidget.h" #include "qapplication.h" #include "qlayout.h" +#if QT_CONFIG(sizegrip) #include "qsizegrip.h" +#endif #if QT_CONFIG(whatsthis) #include "qwhatsthis.h" #endif @@ -1005,7 +1007,7 @@ void QDialog::showExtension(bool showIt) setFixedSize(w, height() + s.height()); } d->extension->show(); -#ifndef QT_NO_SIZEGRIP +#if QT_CONFIG(sizegrip) const bool sizeGripEnabled = isSizeGripEnabled(); setSizeGripEnabled(false); d->sizeGripEnabled = sizeGripEnabled; @@ -1018,7 +1020,7 @@ void QDialog::showExtension(bool showIt) resize(d->size); if (layout()) layout()->setEnabled(true); -#ifndef QT_NO_SIZEGRIP +#if QT_CONFIG(sizegrip) setSizeGripEnabled(d->sizeGripEnabled); #endif } @@ -1079,7 +1081,7 @@ void QDialog::setModal(bool modal) bool QDialog::isSizeGripEnabled() const { -#ifndef QT_NO_SIZEGRIP +#if QT_CONFIG(sizegrip) Q_D(const QDialog); return !!d->resizer; #else @@ -1090,11 +1092,11 @@ bool QDialog::isSizeGripEnabled() const void QDialog::setSizeGripEnabled(bool enabled) { -#ifdef QT_NO_SIZEGRIP +#if !QT_CONFIG(sizegrip) Q_UNUSED(enabled); #else Q_D(QDialog); -#ifndef QT_NO_SIZEGRIP +#if QT_CONFIG(sizegrip) d->sizeGripEnabled = enabled; if (enabled && d->doShowExtension) return; @@ -1115,7 +1117,7 @@ void QDialog::setSizeGripEnabled(bool enabled) d->resizer = 0; } } -#endif //QT_NO_SIZEGRIP +#endif // QT_CONFIG(sizegrip) } @@ -1123,7 +1125,7 @@ void QDialog::setSizeGripEnabled(bool enabled) /*! \reimp */ void QDialog::resizeEvent(QResizeEvent *) { -#ifndef QT_NO_SIZEGRIP +#if QT_CONFIG(sizegrip) Q_D(QDialog); if (d->resizer) { if (isRightToLeft()) diff --git a/src/widgets/dialogs/qdialog_p.h b/src/widgets/dialogs/qdialog_p.h index 9ee89863f6..2ed414bd45 100644 --- a/src/widgets/dialogs/qdialog_p.h +++ b/src/widgets/dialogs/qdialog_p.h @@ -78,7 +78,7 @@ public: mainDef(0), #endif orientation(Qt::Horizontal),extension(0), doShowExtension(false), -#ifndef QT_NO_SIZEGRIP +#if QT_CONFIG(sizegrip) resizer(0), sizeGripEnabled(false), #endif @@ -99,7 +99,7 @@ public: QWidget *extension; bool doShowExtension; QSize size, min, max; -#ifndef QT_NO_SIZEGRIP +#if QT_CONFIG(sizegrip) QSizeGrip *resizer; bool sizeGripEnabled; #endif diff --git a/src/widgets/kernel/qlayout.cpp b/src/widgets/kernel/qlayout.cpp index 56edd019bb..1e455b0d64 100644 --- a/src/widgets/kernel/qlayout.cpp +++ b/src/widgets/kernel/qlayout.cpp @@ -45,7 +45,9 @@ #include "qmenubar.h" #endif #include "qtoolbar.h" +#if QT_CONFIG(sizegrip) #include "qsizegrip.h" +#endif #include "qevent.h" #include "qstyle.h" #include "qvariant.h" diff --git a/src/widgets/styles/qcommonstyle.cpp b/src/widgets/styles/qcommonstyle.cpp index 36e1938a4f..0eb256611d 100644 --- a/src/widgets/styles/qcommonstyle.cpp +++ b/src/widgets/styles/qcommonstyle.cpp @@ -1940,7 +1940,7 @@ void QCommonStyle::drawControl(ControlElement element, const QStyleOption *opt, } break; #endif // QT_CONFIG(tabbar) -#ifndef QT_NO_SIZEGRIP +#if QT_CONFIG(sizegrip) case CE_SizeGrip: { p->save(); int x, y, w, h; @@ -2013,7 +2013,7 @@ void QCommonStyle::drawControl(ControlElement element, const QStyleOption *opt, } p->restore(); break; } -#endif // QT_NO_SIZEGRIP +#endif // QT_CONFIG(sizegrip) #if QT_CONFIG(rubberband) case CE_RubberBand: { if (const QStyleOptionRubberBand *rbOpt = qstyleoption_cast(opt)) { diff --git a/src/widgets/styles/qmacstyle_mac.mm b/src/widgets/styles/qmacstyle_mac.mm index 6494be1a3c..3603255076 100644 --- a/src/widgets/styles/qmacstyle_mac.mm +++ b/src/widgets/styles/qmacstyle_mac.mm @@ -100,7 +100,9 @@ #if QT_CONFIG(scrollbar) #include #endif +#if QT_CONFIG(sizegrip) #include +#endif #include #include #if QT_CONFIG(toolbutton) @@ -687,7 +689,7 @@ static QSize qt_aqua_get_known_size(QStyle::ContentsType ct, const QWidget *widg else if (qobject_cast(widg)) ct = QStyle::CT_MenuBar; #endif -#ifndef QT_NO_SIZEGRIP +#if QT_CONFIG(sizegrip) else if (qobject_cast(widg)) ct = QStyle::CT_SizeGrip; #endif diff --git a/src/widgets/styles/qmacstyle_mac_p_p.h b/src/widgets/styles/qmacstyle_mac_p_p.h index 9155a73212..01bb8a1ba1 100644 --- a/src/widgets/styles/qmacstyle_mac_p_p.h +++ b/src/widgets/styles/qmacstyle_mac_p_p.h @@ -99,7 +99,9 @@ #if QT_CONFIG(rubberband) #include #endif +#if QT_CONFIG(sizegrip) #include +#endif #include #if QT_CONFIG(splitter) #include diff --git a/src/widgets/styles/qstyleoption.cpp b/src/widgets/styles/qstyleoption.cpp index 5d11b86ae7..d0fda36fc2 100644 --- a/src/widgets/styles/qstyleoption.cpp +++ b/src/widgets/styles/qstyleoption.cpp @@ -3558,7 +3558,7 @@ QStyleOptionTabBarBase::QStyleOptionTabBarBase(int version) #endif // QT_CONFIG(tabbar) -#ifndef QT_NO_SIZEGRIP +#if QT_CONFIG(sizegrip) /*! \class QStyleOptionSizeGrip \brief The QStyleOptionSizeGrip class is used to describe the @@ -3638,7 +3638,7 @@ QStyleOptionSizeGrip::QStyleOptionSizeGrip(int version) \sa StyleOptionType */ -#endif // QT_NO_SIZEGRIP +#endif // QT_CONFIG(sizegrip) /*! \class QStyleOptionGraphicsItem diff --git a/src/widgets/widgets/qmdisubwindow.cpp b/src/widgets/widgets/qmdisubwindow.cpp index 6a19c48d30..db3d21d436 100644 --- a/src/widgets/widgets/qmdisubwindow.cpp +++ b/src/widgets/widgets/qmdisubwindow.cpp @@ -862,7 +862,7 @@ QMdiSubWindowPrivate::QMdiSubWindowPrivate() : baseWidget(0), restoreFocusWidget(0), controlContainer(0), -#ifndef QT_NO_SIZEGRIP +#if QT_CONFIG(sizegrip) sizeGrip(0), #endif #if QT_CONFIG(rubberband) @@ -1303,7 +1303,7 @@ void QMdiSubWindowPrivate::setNormalMode() restoreSize.setWidth(-1); restoreSize.setHeight(-1); -#ifndef QT_NO_SIZEGRIP +#if QT_CONFIG(sizegrip) setSizeGripVisible(true); #endif @@ -1350,7 +1350,7 @@ void QMdiSubWindowPrivate::setMaximizeMode() storeFocusWidget(); -#ifndef QT_NO_SIZEGRIP +#if QT_CONFIG(sizegrip) setSizeGripVisible(false); #endif @@ -2118,7 +2118,7 @@ void QMdiSubWindowPrivate::setWindowFlags(Qt::WindowFlags windowFlags) } #endif -#ifndef QT_NO_SIZEGRIP +#if QT_CONFIG(sizegrip) if ((windowFlags & Qt::FramelessWindowHint) && sizeGrip) delete sizeGrip; #endif @@ -2179,7 +2179,7 @@ QSize QMdiSubWindowPrivate::iconSize() const return QSize(q->style()->pixelMetric(QStyle::PM_MdiSubWindowMinimizedWidth, 0, q), titleBarHeight()); } -#ifndef QT_NO_SIZEGRIP +#if QT_CONFIG(sizegrip) /*! \internal @@ -2223,7 +2223,7 @@ void QMdiSubWindowPrivate::setSizeGripVisible(bool visible) const grip->setVisible(visible); } -#endif // QT_NO_SIZEGRIP +#endif // QT_CONFIG(sizegrip) /*! \internal @@ -2334,7 +2334,7 @@ void QMdiSubWindow::setWidget(QWidget *widget) else widget->setParent(this); -#ifndef QT_NO_SIZEGRIP +#if QT_CONFIG(sizegrip) QSizeGrip *sizeGrip = widget->findChild(); if (sizeGrip) sizeGrip->installEventFilter(this); @@ -2639,7 +2639,7 @@ void QMdiSubWindow::showShaded() if (hasFocus() || isAncestorOf(QApplication::focusWidget())) d->ensureWindowState(Qt::WindowActive); -#ifndef QT_NO_SIZEGRIP +#if QT_CONFIG(sizegrip) d->setSizeGripVisible(false); #endif @@ -2715,7 +2715,7 @@ bool QMdiSubWindow::eventFilter(QObject *object, QEvent *event) } #endif -#ifndef QT_NO_SIZEGRIP +#if QT_CONFIG(sizegrip) if (object != d->baseWidget && parent() && qobject_cast(object)) { if (event->type() != QEvent::MouseButtonPress || !testOption(QMdiSubWindow::RubberBandResize)) return QWidget::eventFilter(object, event); @@ -2846,7 +2846,7 @@ bool QMdiSubWindow::event(QEvent *event) d->isMaximizeMode = false; d->isWidgetHiddenByUs = false; if (!parent()) { -#if !defined(QT_NO_SIZEGRIP) && QT_CONFIG(style_mac) +#if QT_CONFIG(sizegrip) && QT_CONFIG(style_mac) if (qobject_cast(style())) delete d->sizeGrip; #endif @@ -2941,7 +2941,7 @@ void QMdiSubWindow::showEvent(QShowEvent *showEvent) return; } -#if !defined(QT_NO_SIZEGRIP) && QT_CONFIG(style_mac) +#if QT_CONFIG(sizegrip) && QT_CONFIG(style_mac) if (qobject_cast(style()) && !d->sizeGrip && !(windowFlags() & Qt::FramelessWindowHint)) { d->setSizeGrip(new QSizeGrip(this)); @@ -3079,7 +3079,7 @@ void QMdiSubWindow::leaveEvent(QEvent * /*leaveEvent*/) void QMdiSubWindow::resizeEvent(QResizeEvent *resizeEvent) { Q_D(QMdiSubWindow); -#ifndef QT_NO_SIZEGRIP +#if QT_CONFIG(sizegrip) if (d->sizeGrip) { d->sizeGrip->move(isLeftToRight() ? width() - d->sizeGrip->width() : 0, height() - d->sizeGrip->height()); @@ -3483,7 +3483,7 @@ void QMdiSubWindow::childEvent(QChildEvent *childEvent) { if (childEvent->type() != QEvent::ChildPolished) return; -#ifndef QT_NO_SIZEGRIP +#if QT_CONFIG(sizegrip) if (QSizeGrip *sizeGrip = qobject_cast(childEvent->child())) d_func()->setSizeGrip(sizeGrip); #endif @@ -3541,7 +3541,7 @@ QSize QMdiSubWindow::minimumSizeHint() const } } -#ifndef QT_NO_SIZEGRIP +#if QT_CONFIG(sizegrip) // SizeGrip int sizeGripHeight = 0; if (d->sizeGrip && d->sizeGrip->isVisibleTo(const_cast(this))) diff --git a/src/widgets/widgets/qmdisubwindow_p.h b/src/widgets/widgets/qmdisubwindow_p.h index 37e276d7c3..23bdf10fd9 100644 --- a/src/widgets/widgets/qmdisubwindow_p.h +++ b/src/widgets/widgets/qmdisubwindow_p.h @@ -59,7 +59,9 @@ #if QT_CONFIG(menubar) #include #endif +#if QT_CONFIG(sizegrip) #include +#endif #include #include #include @@ -178,7 +180,7 @@ public: QPointer baseWidget; QPointer restoreFocusWidget; QPointer controlContainer; -#ifndef QT_NO_SIZEGRIP +#if QT_CONFIG(sizegrip) QPointer sizeGrip; #endif #if QT_CONFIG(rubberband) @@ -278,7 +280,7 @@ public: #endif #endif // QT_NO_ACTION QSize iconSize() const; -#ifndef QT_NO_SIZEGRIP +#if QT_CONFIG(sizegrip) void setSizeGrip(QSizeGrip *sizeGrip); void setSizeGripVisible(bool visible = true) const; #endif diff --git a/src/widgets/widgets/qsizegrip.cpp b/src/widgets/widgets/qsizegrip.cpp index 3efb902805..1e1d847751 100644 --- a/src/widgets/widgets/qsizegrip.cpp +++ b/src/widgets/widgets/qsizegrip.cpp @@ -39,8 +39,6 @@ #include "qsizegrip.h" -#ifndef QT_NO_SIZEGRIP - #include "qapplication.h" #include "qevent.h" #include "qpainter.h" @@ -507,5 +505,3 @@ bool QSizeGrip::event(QEvent *event) QT_END_NAMESPACE #include "moc_qsizegrip.cpp" - -#endif //QT_NO_SIZEGRIP diff --git a/src/widgets/widgets/qsizegrip.h b/src/widgets/widgets/qsizegrip.h index 831b146dd2..6ad2405339 100644 --- a/src/widgets/widgets/qsizegrip.h +++ b/src/widgets/widgets/qsizegrip.h @@ -43,10 +43,10 @@ #include #include -QT_BEGIN_NAMESPACE +QT_REQUIRE_CONFIG(sizegrip); +QT_BEGIN_NAMESPACE -#ifndef QT_NO_SIZEGRIP class QSizeGripPrivate; class Q_WIDGETS_EXPORT QSizeGrip : public QWidget { @@ -76,7 +76,6 @@ private: Q_DISABLE_COPY(QSizeGrip) Q_PRIVATE_SLOT(d_func(), void _q_showIfNotHidden()) }; -#endif // QT_NO_SIZEGRIP QT_END_NAMESPACE diff --git a/src/widgets/widgets/qstatusbar.cpp b/src/widgets/widgets/qstatusbar.cpp index c3b66cb64b..4635b73a81 100644 --- a/src/widgets/widgets/qstatusbar.cpp +++ b/src/widgets/widgets/qstatusbar.cpp @@ -47,7 +47,9 @@ #include "qtimer.h" #include "qstyle.h" #include "qstyleoption.h" +#if QT_CONFIG(sizegrip) #include "qsizegrip.h" +#endif #if QT_CONFIG(mainwindow) #include "qmainwindow.h" #endif @@ -81,7 +83,7 @@ public: QBoxLayout * box; QTimer * timer; -#ifndef QT_NO_SIZEGRIP +#if QT_CONFIG(sizegrip) QSizeGrip * resizer; bool showSizeGrip; #endif @@ -103,7 +105,7 @@ public: return i; } -#ifndef QT_NO_SIZEGRIP +#if QT_CONFIG(sizegrip) void tryToShowSizeGrip() { if (!showSizeGrip) @@ -129,7 +131,7 @@ QRect QStatusBarPrivate::messageRect() const int left = 6; int right = q->width() - 12; -#ifndef QT_NO_SIZEGRIP +#if QT_CONFIG(sizegrip) if (resizer && resizer->isVisible()) { if (rtl) left = resizer->x() + resizer->width(); @@ -234,7 +236,7 @@ QStatusBar::QStatusBar(QWidget * parent) d->box = 0; d->timer = 0; -#ifndef QT_NO_SIZEGRIP +#if QT_CONFIG(sizegrip) d->resizer = 0; setSizeGripEnabled(true); // causes reformat() #else @@ -431,7 +433,7 @@ void QStatusBar::removeWidget(QWidget *widget) bool QStatusBar::isSizeGripEnabled() const { -#ifdef QT_NO_SIZEGRIP +#if !QT_CONFIG(sizegrip) return false; #else Q_D(const QStatusBar); @@ -441,7 +443,7 @@ bool QStatusBar::isSizeGripEnabled() const void QStatusBar::setSizeGripEnabled(bool enabled) { -#ifdef QT_NO_SIZEGRIP +#if !QT_CONFIG(sizegrip) Q_UNUSED(enabled); #else Q_D(QStatusBar); @@ -477,7 +479,7 @@ void QStatusBar::reformat() delete d->box; QBoxLayout *vbox; -#ifndef QT_NO_SIZEGRIP +#if QT_CONFIG(sizegrip) if (d->resizer) { d->box = new QHBoxLayout(this); d->box->setMargin(0); @@ -518,7 +520,7 @@ void QStatusBar::reformat() int itemH = qMin(qSmartMinSize(item->w).height(), item->w->maximumHeight()); maxH = qMax(maxH, itemH); } -#ifndef QT_NO_SIZEGRIP +#if QT_CONFIG(sizegrip) if (d->resizer) { maxH = qMax(maxH, d->resizer->sizeHint().height()); d->box->addSpacing(1); @@ -649,7 +651,7 @@ void QStatusBar::hideOrShow() */ void QStatusBar::showEvent(QShowEvent *) { -#ifndef QT_NO_SIZEGRIP +#if QT_CONFIG(sizegrip) Q_D(QStatusBar); if (d->resizer && d->showSizeGrip) d->tryToShowSizeGrip(); @@ -722,7 +724,7 @@ bool QStatusBar::event(QEvent *e) maxH = qMax(maxH, itemH); } -#ifndef QT_NO_SIZEGRIP +#if QT_CONFIG(sizegrip) if (d->resizer) maxH = qMax(maxH, d->resizer->sizeHint().height()); #endif diff --git a/src/widgets/widgets/qwidgetresizehandler.cpp b/src/widgets/widgets/qwidgetresizehandler.cpp index 37ba5ba992..5bd87ac91c 100644 --- a/src/widgets/widgets/qwidgetresizehandler.cpp +++ b/src/widgets/widgets/qwidgetresizehandler.cpp @@ -43,7 +43,9 @@ #include "qapplication.h" #include "qdesktopwidget.h" #include "qcursor.h" +#if QT_CONFIG(sizegrip) #include "qsizegrip.h" +#endif #include "qevent.h" #include "qdebug.h" #include "private/qlayoutengine_p.h" diff --git a/src/widgets/widgets/widgets.pri b/src/widgets/widgets/widgets.pri index c131060df8..5c91882c68 100644 --- a/src/widgets/widgets/widgets.pri +++ b/src/widgets/widgets/widgets.pri @@ -9,7 +9,6 @@ HEADERS += \ widgets/qlineedit_p.h \ widgets/qmenu.h \ widgets/qmenu_p.h \ - widgets/qsizegrip.h \ widgets/qslider.h \ widgets/qspinbox.h \ widgets/qtextedit.h \ @@ -33,7 +32,6 @@ SOURCES += \ widgets/qlineedit_p.cpp \ widgets/qlineedit.cpp \ widgets/qmenu.cpp \ - widgets/qsizegrip.cpp \ widgets/qslider.cpp \ widgets/qspinbox.cpp \ widgets/qtextedit.cpp \ @@ -253,6 +251,11 @@ qtConfig(scrollbar) { SOURCES += widgets/qscrollbar.cpp } +qtConfig(sizegrip) { + HEADERS += widgets/qsizegrip.h + SOURCES += widgets/qsizegrip.cpp +} + qtConfig(splashscreen) { HEADERS += \ widgets/qsplashscreen.h diff --git a/tests/auto/widgets/dialogs/qdialog/tst_qdialog.cpp b/tests/auto/widgets/dialogs/qdialog/tst_qdialog.cpp index d3bc83fe6d..d704d212dd 100644 --- a/tests/auto/widgets/dialogs/qdialog/tst_qdialog.cpp +++ b/tests/auto/widgets/dialogs/qdialog/tst_qdialog.cpp @@ -73,7 +73,7 @@ private slots: void toolDialogPosition(); void deleteMainDefault(); void deleteInExec(); -#ifndef QT_NO_SIZEGRIP +#if QT_CONFIG(sizegrip) void showSizeGrip(); #endif void setVisible(); @@ -235,7 +235,7 @@ void tst_QDialog::showMaximized() { QDialog dialog(0); dialog.setSizeGripEnabled(true); -#ifndef QT_NO_SIZEGRIP +#if QT_CONFIG(sizegrip) QSizeGrip *sizeGrip = dialog.findChild(); QVERIFY(sizeGrip); #endif @@ -243,14 +243,14 @@ void tst_QDialog::showMaximized() dialog.showMaximized(); QVERIFY(dialog.isMaximized()); QVERIFY(dialog.isVisible()); -#if !defined(QT_NO_SIZEGRIP) && !defined(Q_OS_MAC) && !defined(Q_OS_IRIX) && !defined(Q_OS_HPUX) +#if QT_CONFIG(sizegrip) && !defined(Q_OS_DARWIN) && !defined(Q_OS_IRIX) && !defined(Q_OS_HPUX) QVERIFY(!sizeGrip->isVisible()); #endif dialog.showNormal(); QVERIFY(!dialog.isMaximized()); QVERIFY(dialog.isVisible()); -#ifndef QT_NO_SIZEGRIP +#if QT_CONFIG(sizegrip) QVERIFY(sizeGrip->isVisible()); #endif @@ -312,7 +312,7 @@ void tst_QDialog::showFullScreen() { QDialog dialog(0, Qt::X11BypassWindowManagerHint); dialog.setSizeGripEnabled(true); -#ifndef QT_NO_SIZEGRIP +#if QT_CONFIG(sizegrip) QSizeGrip *sizeGrip = dialog.findChild(); QVERIFY(sizeGrip); #endif @@ -320,14 +320,14 @@ void tst_QDialog::showFullScreen() dialog.showFullScreen(); QVERIFY(dialog.isFullScreen()); QVERIFY(dialog.isVisible()); -#ifndef QT_NO_SIZEGRIP +#if QT_CONFIG(sizegrip) QVERIFY(!sizeGrip->isVisible()); #endif dialog.showNormal(); QVERIFY(!dialog.isFullScreen()); QVERIFY(dialog.isVisible()); -#ifndef QT_NO_SIZEGRIP +#if QT_CONFIG(sizegrip) QVERIFY(sizeGrip->isVisible()); #endif @@ -414,7 +414,7 @@ void tst_QDialog::deleteInExec() QCOMPARE(dialog->exec(), int(QDialog::Rejected)); } -#ifndef QT_NO_SIZEGRIP +#if QT_CONFIG(sizegrip) // From Task 124269 void tst_QDialog::showSizeGrip() { -- cgit v1.2.3 From df99fbdbedec36aecf5ca67d368966b9dfd9e2e9 Mon Sep 17 00:00:00 2001 From: Stephan Binner Date: Sat, 2 Sep 2017 20:53:49 +0200 Subject: Convert features.spinbox to QT_[REQUIRE_]CONFIG Change-Id: Idecb6927c20ff009795b0ad94bbb7199df98a8f8 Reviewed-by: Oswald Buddenhagen --- .../accessible/qaccessiblewidgetfactory.cpp | 2 +- src/widgets/accessible/rangecontrols.cpp | 7 +++--- src/widgets/accessible/rangecontrols_p.h | 4 ++-- src/widgets/accessible/simplewidgets.cpp | 1 + src/widgets/dialogs/qwizard.cpp | 4 +++- src/widgets/itemviews/qabstractitemdelegate.cpp | 1 + src/widgets/itemviews/qabstractitemview.cpp | 4 +++- src/widgets/itemviews/qitemeditorfactory.cpp | 12 ++++++---- src/widgets/styles/qcommonstyle.cpp | 16 ++++++------- src/widgets/styles/qfusionstyle.cpp | 2 ++ src/widgets/styles/qmacstyle_mac.mm | 6 ++--- src/widgets/styles/qmacstyle_mac_p_p.h | 2 ++ src/widgets/styles/qstylehelper.cpp | 4 ++-- src/widgets/styles/qstyleoption.cpp | 4 ++-- src/widgets/styles/qstyleoption.h | 7 ++++-- src/widgets/styles/qstylesheetstyle.cpp | 28 ++++++++++++---------- src/widgets/styles/qwindowsstyle.cpp | 4 ++-- src/widgets/styles/qwindowsvistastyle.cpp | 4 ++-- src/widgets/styles/qwindowsvistastyle_p_p.h | 2 ++ src/widgets/styles/qwindowsxpstyle.cpp | 18 +++++++------- src/widgets/widgets/qabstractspinbox.cpp | 4 ---- src/widgets/widgets/qabstractspinbox.h | 7 ++---- src/widgets/widgets/qabstractspinbox_p.h | 6 ++--- src/widgets/widgets/qcombobox.h | 1 + src/widgets/widgets/qlineedit_p.cpp | 1 + src/widgets/widgets/qspinbox.cpp | 4 ---- src/widgets/widgets/qspinbox.h | 7 ++---- src/widgets/widgets/qwidgetlinecontrol.cpp | 2 ++ src/widgets/widgets/widgets.pri | 16 +++++++++---- 29 files changed, 98 insertions(+), 82 deletions(-) diff --git a/src/widgets/accessible/qaccessiblewidgetfactory.cpp b/src/widgets/accessible/qaccessiblewidgetfactory.cpp index 97e3ad826f..20a510e8fd 100644 --- a/src/widgets/accessible/qaccessiblewidgetfactory.cpp +++ b/src/widgets/accessible/qaccessiblewidgetfactory.cpp @@ -87,7 +87,7 @@ QAccessibleInterface *qAccessibleFactory(const QString &classname, QObject *obje } else if (classname == QLatin1String("QComboBox")) { iface = new QAccessibleComboBox(widget); #endif -#ifndef QT_NO_SPINBOX +#if QT_CONFIG(spinbox) } else if (classname == QLatin1String("QAbstractSpinBox")) { iface = new QAccessibleAbstractSpinBox(widget); } else if (classname == QLatin1String("QSpinBox")) { diff --git a/src/widgets/accessible/rangecontrols.cpp b/src/widgets/accessible/rangecontrols.cpp index c890c50938..78d50463a0 100644 --- a/src/widgets/accessible/rangecontrols.cpp +++ b/src/widgets/accessible/rangecontrols.cpp @@ -43,7 +43,9 @@ #if QT_CONFIG(dial) #include #endif +#if QT_CONFIG(spinbox) #include +#endif #if QT_CONFIG(scrollbar) #include #endif @@ -51,7 +53,6 @@ #include #include #include -#include #include #include #include @@ -62,7 +63,7 @@ QT_BEGIN_NAMESPACE #ifndef QT_NO_ACCESSIBILITY -#ifndef QT_NO_SPINBOX +#if QT_CONFIG(spinbox) QAccessibleAbstractSpinBox::QAccessibleAbstractSpinBox(QWidget *w) : QAccessibleWidget(w, QAccessible::SpinBox), lineEdit(Q_NULLPTR) { @@ -285,7 +286,7 @@ QString QAccessibleDoubleSpinBox::text(QAccessible::Text textType) const return QAccessibleWidget::text(textType); } -#endif // QT_NO_SPINBOX +#endif // QT_CONFIG(spinbox) #if QT_CONFIG(scrollbar) /*! diff --git a/src/widgets/accessible/rangecontrols_p.h b/src/widgets/accessible/rangecontrols_p.h index 49f57fa1c6..77e07810b3 100644 --- a/src/widgets/accessible/rangecontrols_p.h +++ b/src/widgets/accessible/rangecontrols_p.h @@ -67,7 +67,7 @@ class QDoubleSpinBox; class QDial; class QAccessibleLineEdit; -#ifndef QT_NO_SPINBOX +#if QT_CONFIG(spinbox) class QAccessibleAbstractSpinBox: public QAccessibleWidget, public QAccessibleValueInterface, @@ -141,7 +141,7 @@ public: protected: QDoubleSpinBox *doubleSpinBox() const; }; -#endif // QT_NO_SPINBOX +#endif // QT_CONFIG(spinbox) #if QT_CONFIG(slider) class QAccessibleAbstractSlider: public QAccessibleWidget, public QAccessibleValueInterface diff --git a/src/widgets/accessible/simplewidgets.cpp b/src/widgets/accessible/simplewidgets.cpp index b6fe003452..627afa32d3 100644 --- a/src/widgets/accessible/simplewidgets.cpp +++ b/src/widgets/accessible/simplewidgets.cpp @@ -78,6 +78,7 @@ #include #include #include +#include #ifdef Q_OS_MAC #include diff --git a/src/widgets/dialogs/qwizard.cpp b/src/widgets/dialogs/qwizard.cpp index 4d89cd9936..70c056b0ec 100644 --- a/src/widgets/dialogs/qwizard.cpp +++ b/src/widgets/dialogs/qwizard.cpp @@ -40,7 +40,9 @@ #include "qwizard.h" #include +#if QT_CONFIG(spinbox) #include "qabstractspinbox.h" +#endif #include "qalgorithms.h" #include "qapplication.h" #include "qboxlayout.h" @@ -3686,7 +3688,7 @@ bool QWizardPage::isComplete() const return false; } #endif -#ifndef QT_NO_SPINBOX +#if QT_CONFIG(spinbox) if (QAbstractSpinBox *spinBox = qobject_cast(field.object)) { if (!spinBox->hasAcceptableInput()) return false; diff --git a/src/widgets/itemviews/qabstractitemdelegate.cpp b/src/widgets/itemviews/qabstractitemdelegate.cpp index fd4699409c..265cf6b47c 100644 --- a/src/widgets/itemviews/qabstractitemdelegate.cpp +++ b/src/widgets/itemviews/qabstractitemdelegate.cpp @@ -53,6 +53,7 @@ #include #include #include +#include #include #include diff --git a/src/widgets/itemviews/qabstractitemview.cpp b/src/widgets/itemviews/qabstractitemview.cpp index 25587a281d..039b37baa7 100644 --- a/src/widgets/itemviews/qabstractitemview.cpp +++ b/src/widgets/itemviews/qabstractitemview.cpp @@ -50,7 +50,9 @@ #include #include #include +#if QT_CONFIG(spinbox) #include +#endif #include #include #include @@ -4219,7 +4221,7 @@ QWidget *QAbstractItemViewPrivate::editor(const QModelIndex &index, if (QLineEdit *le = qobject_cast(focusWidget)) le->selectAll(); #endif -#ifndef QT_NO_SPINBOX +#if QT_CONFIG(spinbox) if (QSpinBox *sb = qobject_cast(focusWidget)) sb->selectAll(); else if (QDoubleSpinBox *dsb = qobject_cast(focusWidget)) diff --git a/src/widgets/itemviews/qitemeditorfactory.cpp b/src/widgets/itemviews/qitemeditorfactory.cpp index 54b7c6666f..4d0175dc6c 100644 --- a/src/widgets/itemviews/qitemeditorfactory.cpp +++ b/src/widgets/itemviews/qitemeditorfactory.cpp @@ -51,7 +51,9 @@ #include #endif #include +#if QT_CONFIG(spinbox) #include +#endif #include #include #include @@ -80,7 +82,7 @@ public: #endif // QT_CONFIG(combobox) -#ifndef QT_NO_SPINBOX +#if QT_CONFIG(spinbox) class QUIntSpinBox : public QSpinBox { @@ -107,7 +109,7 @@ Q_SIGNALS: void uintValueChanged(); }; -#endif // QT_NO_SPINBOX +#endif // QT_CONFIG(spinbox) /*! \class QItemEditorFactory @@ -242,7 +244,7 @@ QWidget *QDefaultItemEditorFactory::createEditor(int userType, QWidget *parent) cb->setFrame(false); return cb; } #endif -#ifndef QT_NO_SPINBOX +#if QT_CONFIG(spinbox) case QVariant::UInt: { QSpinBox *sb = new QUIntSpinBox(parent); sb->setFrame(false); @@ -274,7 +276,7 @@ QWidget *QDefaultItemEditorFactory::createEditor(int userType, QWidget *parent) case QVariant::Pixmap: return new QLabel(parent); #endif -#ifndef QT_NO_SPINBOX +#if QT_CONFIG(spinbox) case QVariant::Double: { QDoubleSpinBox *sb = new QDoubleSpinBox(parent); sb->setFrame(false); @@ -306,7 +308,7 @@ QByteArray QDefaultItemEditorFactory::valuePropertyName(int userType) const case QVariant::Bool: return "currentIndex"; #endif -#ifndef QT_NO_SPINBOX +#if QT_CONFIG(spinbox) case QVariant::UInt: case QVariant::Int: case QVariant::Double: diff --git a/src/widgets/styles/qcommonstyle.cpp b/src/widgets/styles/qcommonstyle.cpp index 0eb256611d..4389598c26 100644 --- a/src/widgets/styles/qcommonstyle.cpp +++ b/src/widgets/styles/qcommonstyle.cpp @@ -512,7 +512,7 @@ void QCommonStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, Q break; } #endif // QT_NO_TOOLBAR -#ifndef QT_NO_SPINBOX +#if QT_CONFIG(spinbox) case PE_IndicatorSpinPlus: case PE_IndicatorSpinMinus: { QRect r = opt->rect; @@ -570,7 +570,7 @@ void QCommonStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, Q } p->restore(); break; } -#endif // QT_NO_SPINBOX +#endif // QT_CONFIG(spinbox) case PE_PanelTipLabel: { const QBrush brush(opt->palette.toolTipBase()); qDrawPlainRect(p, opt->rect, opt->palette.toolTipText().color(), 1, &brush); @@ -3285,7 +3285,7 @@ void QCommonStyle::drawComplexControl(ComplexControl cc, const QStyleOptionCompl } break; #endif // QT_CONFIG(scrollbar) -#ifndef QT_NO_SPINBOX +#if QT_CONFIG(spinbox) case CC_SpinBox: if (const QStyleOptionSpinBox *sb = qstyleoption_cast(opt)) { QStyleOptionSpinBox copy = *sb; @@ -3349,7 +3349,7 @@ void QCommonStyle::drawComplexControl(ComplexControl cc, const QStyleOptionCompl } } break; -#endif // QT_NO_SPINBOX +#endif // QT_CONFIG(spinbox) #if QT_CONFIG(toolbutton) case CC_ToolButton: if (const QStyleOptionToolButton *toolbutton @@ -3868,7 +3868,7 @@ QStyle::SubControl QCommonStyle::hitTestComplexControl(ComplexControl cc, const } break; #endif // QT_CONFIG(toolbutton) -#ifndef QT_NO_SPINBOX +#if QT_CONFIG(spinbox) case CC_SpinBox: if (const QStyleOptionSpinBox *spinbox = qstyleoption_cast(opt)) { QRect r; @@ -3883,7 +3883,7 @@ QStyle::SubControl QCommonStyle::hitTestComplexControl(ComplexControl cc, const } } break; -#endif // QT_NO_SPINBOX +#endif // QT_CONFIG(spinbox) case CC_TitleBar: if (const QStyleOptionTitleBar *tb = qstyleoption_cast(opt)) { QRect r; @@ -4080,7 +4080,7 @@ QRect QCommonStyle::subControlRect(ComplexControl cc, const QStyleOptionComplex } break; #endif // QT_CONFIG(scrollbar) -#ifndef QT_NO_SPINBOX +#if QT_CONFIG(spinbox) case CC_SpinBox: if (const QStyleOptionSpinBox *spinbox = qstyleoption_cast(opt)) { QSize bs; @@ -4917,7 +4917,7 @@ QSize QCommonStyle::sizeFromContents(ContentsType ct, const QStyleOption *opt, #else Q_UNUSED(d); #endif // QT_CONFIG(itemviews) -#ifndef QT_NO_SPINBOX +#if QT_CONFIG(spinbox) case CT_SpinBox: if (const QStyleOptionSpinBox *vopt = qstyleoption_cast(opt)) { // Add button + frame widths diff --git a/src/widgets/styles/qfusionstyle.cpp b/src/widgets/styles/qfusionstyle.cpp index 6b946fa5e6..12de2954ce 100644 --- a/src/widgets/styles/qfusionstyle.cpp +++ b/src/widgets/styles/qfusionstyle.cpp @@ -66,7 +66,9 @@ #if QT_CONFIG(scrollbar) #include #endif +#if QT_CONFIG(spinbox) #include +#endif #if QT_CONFIG(abstractslider) #include #endif diff --git a/src/widgets/styles/qmacstyle_mac.mm b/src/widgets/styles/qmacstyle_mac.mm index 3603255076..28fe39c347 100644 --- a/src/widgets/styles/qmacstyle_mac.mm +++ b/src/widgets/styles/qmacstyle_mac.mm @@ -5753,7 +5753,7 @@ void QMacStyle::drawComplexControl(ComplexControl cc, const QStyleOptionComplex } } break; -#ifndef QT_NO_SPINBOX +#if QT_CONFIG(spinbox) case CC_SpinBox: if (const QStyleOptionSpinBox *sb = qstyleoption_cast(opt)) { QStyleOptionSpinBox newSB = *sb; @@ -6505,7 +6505,7 @@ QRect QMacStyle::subControlRect(ComplexControl cc, const QStyleOptionComplex *op } } break; -#ifndef QT_NO_SPINBOX +#if QT_CONFIG(spinbox) case CC_SpinBox: if (const QStyleOptionSpinBox *spin = qstyleoption_cast(opt)) { QAquaWidgetSize aquaSize = d->aquaSizeConstrain(spin, widget); @@ -6625,7 +6625,7 @@ QSize QMacStyle::sizeFromContents(ContentsType ct, const QStyleOption *opt, bool useAquaGuideline = true; switch (ct) { -#ifndef QT_NO_SPINBOX +#if QT_CONFIG(spinbox) case CT_SpinBox: if (const QStyleOptionSpinBox *vopt = qstyleoption_cast(opt)) { // Add button + frame widths diff --git a/src/widgets/styles/qmacstyle_mac_p_p.h b/src/widgets/styles/qmacstyle_mac_p_p.h index 01bb8a1ba1..330816a996 100644 --- a/src/widgets/styles/qmacstyle_mac_p_p.h +++ b/src/widgets/styles/qmacstyle_mac_p_p.h @@ -102,7 +102,9 @@ #if QT_CONFIG(sizegrip) #include #endif +#if QT_CONFIG(spinbox) #include +#endif #if QT_CONFIG(splitter) #include #endif diff --git a/src/widgets/styles/qstylehelper.cpp b/src/widgets/styles/qstylehelper.cpp index 797fb0c60a..24d90fc0ba 100644 --- a/src/widgets/styles/qstylehelper.cpp +++ b/src/widgets/styles/qstylehelper.cpp @@ -69,13 +69,13 @@ QString uniqueName(const QString &key, const QStyleOption *option, const QSize & % HexString(size.width()) % HexString(size.height()); -#ifndef QT_NO_SPINBOX +#if QT_CONFIG(spinbox) if (const QStyleOptionSpinBox *spinBox = qstyleoption_cast(option)) { tmp = tmp % HexString(spinBox->buttonSymbols) % HexString(spinBox->stepEnabled) % QLatin1Char(spinBox->frame ? '1' : '0'); ; } -#endif // QT_NO_SPINBOX +#endif // QT_CONFIG(spinbox) // QTBUG-56743, try to create a palette cache key reflecting the value, // as leaks may occur in conjunction with QStyleSheetStyle/QRenderRule modifying diff --git a/src/widgets/styles/qstyleoption.cpp b/src/widgets/styles/qstyleoption.cpp index d0fda36fc2..dc5907f958 100644 --- a/src/widgets/styles/qstyleoption.cpp +++ b/src/widgets/styles/qstyleoption.cpp @@ -2152,7 +2152,7 @@ QStyleOptionSlider::QStyleOptionSlider(int version) */ #endif // QT_NO_SLIDER -#ifndef QT_NO_SPINBOX +#if QT_CONFIG(spinbox) /*! \class QStyleOptionSpinBox \brief The QStyleOptionSpinBox class is used to describe the @@ -2256,7 +2256,7 @@ QStyleOptionSpinBox::QStyleOptionSpinBox(int version) The default value is false, i.e. the spin box has no frame. */ -#endif // QT_NO_SPINBOX +#endif // QT_CONFIG(spinbox) /*! \class QStyleOptionDockWidget diff --git a/src/widgets/styles/qstyleoption.h b/src/widgets/styles/qstyleoption.h index af97479ef0..df01125a8b 100644 --- a/src/widgets/styles/qstyleoption.h +++ b/src/widgets/styles/qstyleoption.h @@ -41,8 +41,11 @@ #define QSTYLEOPTION_H #include +#include #include +#if QT_CONFIG(spinbox) #include +#endif #include #include #include @@ -533,7 +536,7 @@ protected: }; #endif // QT_NO_SLIDER -#ifndef QT_NO_SPINBOX +#if QT_CONFIG(spinbox) class Q_WIDGETS_EXPORT QStyleOptionSpinBox : public QStyleOptionComplex { public: @@ -550,7 +553,7 @@ public: protected: QStyleOptionSpinBox(int version); }; -#endif // QT_NO_SPINBOX +#endif // QT_CONFIG(spinbox) class Q_WIDGETS_EXPORT QStyleOptionToolButton : public QStyleOptionComplex { diff --git a/src/widgets/styles/qstylesheetstyle.cpp b/src/widgets/styles/qstylesheetstyle.cpp index c529154bae..57e695c114 100644 --- a/src/widgets/styles/qstylesheetstyle.cpp +++ b/src/widgets/styles/qstylesheetstyle.cpp @@ -98,7 +98,9 @@ #include #endif #include +#if QT_CONFIG(spinbox) #include +#endif #if QT_CONFIG(label) #include #endif @@ -1651,7 +1653,7 @@ int QStyleSheetStyle::nativeFrameWidth(const QWidget *w) { QStyle *base = baseStyle(); -#ifndef QT_NO_SPINBOX +#if QT_CONFIG(spinbox) if (qobject_cast(w)) return base->pixelMetric(QStyle::PM_SpinBoxFrameWidth, 0, w); #endif @@ -1809,7 +1811,7 @@ QRenderRule QStyleSheetStyle::renderRule(const QObject *obj, const QStyleOption case PseudoElement_SpinBoxDownButton: case PseudoElement_SpinBoxUpArrow: case PseudoElement_SpinBoxDownArrow: -#ifndef QT_NO_SPINBOX +#if QT_CONFIG(spinbox) if (const QStyleOptionSpinBox *sb = qstyleoption_cast(opt)) { bool on = false; bool up = pseudoElement == PseudoElement_SpinBoxUpButton @@ -1820,7 +1822,7 @@ QRenderRule QStyleSheetStyle::renderRule(const QObject *obj, const QStyleOption on = true; state |= (on ? QStyle::State_On : QStyle::State_Off); } -#endif // QT_NO_SPINBOX +#endif // QT_CONFIG(spinbox) break; case PseudoElement_GroupBoxTitle: state |= (complex->state & (QStyle::State_MouseOver | QStyle::State_Sunken)); @@ -1855,11 +1857,11 @@ QRenderRule QStyleSheetStyle::renderRule(const QObject *obj, const QStyleOption extraClass |= PseudoClass_ReadOnly; else extraClass |= PseudoClass_Editable; -#ifndef QT_NO_SPINBOX +#if QT_CONFIG(spinbox) } else if (const QStyleOptionSpinBox *spin = qstyleoption_cast(opt)) { if (!spin->frame) extraClass |= PseudoClass_Frameless; -#endif // QT_NO_SPINBOX +#endif // QT_CONFIG(spinbox) } else if (const QStyleOptionGroupBox *gb = qstyleoption_cast(opt)) { if (gb->features & QStyleOptionFrame::Flat) extraClass |= PseudoClass_Flat; @@ -2364,7 +2366,7 @@ static QWidget *embeddedWidget(QWidget *w) } #endif -#ifndef QT_NO_SPINBOX +#if QT_CONFIG(spinbox) if (QAbstractSpinBox *sb = qobject_cast(w)) return sb->findChild(); #endif @@ -2393,7 +2395,7 @@ static QWidget *containerWidget(const QWidget *w) if (qobject_cast(w->parentWidget())) return w->parentWidget(); #endif -#ifndef QT_NO_SPINBOX +#if QT_CONFIG(spinbox) if (qobject_cast(w->parentWidget())) return w->parentWidget(); #endif @@ -2985,7 +2987,7 @@ void QStyleSheetStyle::drawComplexControl(ComplexControl cc, const QStyleOptionC } break; -#ifndef QT_NO_SPINBOX +#if QT_CONFIG(spinbox) case CC_SpinBox: if (const QStyleOptionSpinBox *spin = qstyleoption_cast(opt)) { QStyleOptionSpinBox spinOpt(*spin); @@ -3048,7 +3050,7 @@ void QStyleSheetStyle::drawComplexControl(ComplexControl cc, const QStyleOptionC return; } break; -#endif // QT_NO_SPINBOX +#endif // QT_CONFIG(spinbox) case CC_GroupBox: if (const QStyleOptionGroupBox *gb = qstyleoption_cast(opt)) { @@ -4341,7 +4343,7 @@ void QStyleSheetStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *op case PE_PanelLineEdit: if (const QStyleOptionFrame *frm = qstyleoption_cast(opt)) { -#ifndef QT_NO_SPINBOX +#if QT_CONFIG(spinbox) if (w && qobject_cast(w->parentWidget())) { QRenderRule spinboxRule = renderRule(w->parentWidget(), opt); if (!spinboxRule.hasNativeBorder() || !spinboxRule.baseStyleCanDraw()) @@ -4994,7 +4996,7 @@ QSize QStyleSheetStyle::sizeFromContents(ContentsType ct, const QStyleOption *op break; case CT_GroupBox: case CT_LineEdit: -#ifndef QT_NO_SPINBOX +#if QT_CONFIG(spinbox) if (qobject_cast(w ? w->parentWidget() : 0)) return csz; // we only care about the size hint of the line edit #endif @@ -5390,7 +5392,7 @@ QRect QStyleSheetStyle::subControlRect(ComplexControl cc, const QStyleOptionComp } break; -#ifndef QT_NO_SPINBOX +#if QT_CONFIG(spinbox) case CC_SpinBox: if (const QStyleOptionSpinBox *spin = qstyleoption_cast(opt)) { QRenderRule upRule = renderRule(w, opt, PseudoElement_SpinBoxUpButton); @@ -5449,7 +5451,7 @@ QRect QStyleSheetStyle::subControlRect(ComplexControl cc, const QStyleOptionComp : QWindowsStyle::subControlRect(cc, &spinBox, sc, w); } break; -#endif // QT_NO_SPINBOX +#endif // QT_CONFIG(spinbox) case CC_GroupBox: if (const QStyleOptionGroupBox *gb = qstyleoption_cast(opt)) { diff --git a/src/widgets/styles/qwindowsstyle.cpp b/src/widgets/styles/qwindowsstyle.cpp index b4ed829c88..a2a2b84fd0 100644 --- a/src/widgets/styles/qwindowsstyle.cpp +++ b/src/widgets/styles/qwindowsstyle.cpp @@ -2231,7 +2231,7 @@ void QWindowsStyle::drawComplexControl(ComplexControl cc, const QStyleOptionComp } break; #endif // QT_CONFIG(combobox) -#ifndef QT_NO_SPINBOX +#if QT_CONFIG(spinbox) case CC_SpinBox: if (const QStyleOptionSpinBox *sb = qstyleoption_cast(opt)) { QStyleOptionSpinBox copy = *sb; @@ -2320,7 +2320,7 @@ void QWindowsStyle::drawComplexControl(ComplexControl cc, const QStyleOptionComp } } break; -#endif // QT_NO_SPINBOX +#endif // QT_CONFIG(spinbox) default: QCommonStyle::drawComplexControl(cc, opt, p, widget); diff --git a/src/widgets/styles/qwindowsvistastyle.cpp b/src/widgets/styles/qwindowsvistastyle.cpp index 91fc36959b..9c38cc4f6b 100644 --- a/src/widgets/styles/qwindowsvistastyle.cpp +++ b/src/widgets/styles/qwindowsvistastyle.cpp @@ -1774,7 +1774,7 @@ void QWindowsVistaStyle::drawComplexControl(ComplexControl control, const QStyle } } break; -#ifndef QT_NO_SPINBOX +#if QT_CONFIG(spinbox) case CC_SpinBox: if (const QStyleOptionSpinBox *sb = qstyleoption_cast(option)) { @@ -1832,7 +1832,7 @@ void QWindowsVistaStyle::drawComplexControl(ComplexControl control, const QStyle } } break; -#endif // QT_NO_SPINBOX +#endif // QT_CONFIG(spinbox) default: QWindowsXPStyle::drawComplexControl(control, option, painter, widget); break; diff --git a/src/widgets/styles/qwindowsvistastyle_p_p.h b/src/widgets/styles/qwindowsvistastyle_p_p.h index fdc3297ea6..278a4e53c2 100644 --- a/src/widgets/styles/qwindowsvistastyle_p_p.h +++ b/src/widgets/styles/qwindowsvistastyle_p_p.h @@ -72,7 +72,9 @@ #if QT_CONFIG(toolbutton) #include #endif +#if QT_CONFIG(spinbox) #include +#endif #include #if QT_CONFIG(combobox) #include diff --git a/src/widgets/styles/qwindowsxpstyle.cpp b/src/widgets/styles/qwindowsxpstyle.cpp index 5357e6d070..cbd0209471 100644 --- a/src/widgets/styles/qwindowsxpstyle.cpp +++ b/src/widgets/styles/qwindowsxpstyle.cpp @@ -70,7 +70,9 @@ #include #endif #include +#if QT_CONFIG(spinbox) #include +#endif #if QT_CONFIG(listview) #include #endif @@ -383,10 +385,10 @@ bool QWindowsXPStylePrivate::isLineEditBaseColorSet(const QStyleOption *option, // Since spin box includes a line edit we need to resolve the palette mask also from // the parent, as while the color is always correct on the palette supplied by panel, // the mask can still be empty. If either mask specifies custom base color, use that. -#ifndef QT_NO_SPINBOX +#if QT_CONFIG(spinbox) if (const QAbstractSpinBox *spinbox = qobject_cast(widget->parentWidget())) resolveMask |= spinbox->palette().resolve(); -#endif // QT_NO_SPINBOX +#endif // QT_CONFIG(spinbox) } return (resolveMask & (1 << QPalette::Base)) != 0; } @@ -1163,10 +1165,10 @@ void QWindowsXPStyle::polish(QWidget *widget) || qobject_cast(widget) || qobject_cast(widget) || qobject_cast(widget) -#ifndef QT_NO_SPINBOX +#if QT_CONFIG(spinbox) || qobject_cast(widget) || qobject_cast(widget) -#endif // QT_NO_SPINBOX +#endif // QT_CONFIG(spinbox) ) { widget->setAttribute(Qt::WA_Hover); } @@ -1238,10 +1240,10 @@ void QWindowsXPStyle::unpolish(QWidget *widget) || qobject_cast(widget) || qobject_cast(widget) || qobject_cast(widget) -#ifndef QT_NO_SPINBOX +#if QT_CONFIG(spinbox) || qobject_cast(widget) || qobject_cast(widget) -#endif // QT_NO_SPINBOX +#endif // QT_CONFIG(spinbox) ) { widget->setAttribute(Qt::WA_Hover, false); } @@ -2507,7 +2509,7 @@ void QWindowsXPStyle::drawComplexControl(ComplexControl cc, const QStyleOptionCo flags |= State_MouseOver; switch (cc) { -#ifndef QT_NO_SPINBOX +#if QT_CONFIG(spinbox) case CC_SpinBox: if (const QStyleOptionSpinBox *sb = qstyleoption_cast(option)) { @@ -2559,7 +2561,7 @@ void QWindowsXPStyle::drawComplexControl(ComplexControl cc, const QStyleOptionCo } } break; -#endif // QT_NO_SPINBOX +#endif // QT_CONFIG(spinbox) #if QT_CONFIG(combobox) case CC_ComboBox: if (const QStyleOptionComboBox *cmb = qstyleoption_cast(option)) diff --git a/src/widgets/widgets/qabstractspinbox.cpp b/src/widgets/widgets/qabstractspinbox.cpp index 22f3745b26..c1fbdc3ddf 100644 --- a/src/widgets/widgets/qabstractspinbox.cpp +++ b/src/widgets/widgets/qabstractspinbox.cpp @@ -43,8 +43,6 @@ #include #include -#ifndef QT_NO_SPINBOX - #include #include #include @@ -2145,5 +2143,3 @@ QVariant QAbstractSpinBoxPrivate::variantBound(const QVariant &min, QT_END_NAMESPACE #include "moc_qabstractspinbox.cpp" - -#endif // QT_NO_SPINBOX diff --git a/src/widgets/widgets/qabstractspinbox.h b/src/widgets/widgets/qabstractspinbox.h index d81cbfdc34..88735baf1c 100644 --- a/src/widgets/widgets/qabstractspinbox.h +++ b/src/widgets/widgets/qabstractspinbox.h @@ -44,10 +44,9 @@ #include #include -QT_BEGIN_NAMESPACE - +QT_REQUIRE_CONFIG(spinbox); -#ifndef QT_NO_SPINBOX +QT_BEGIN_NAMESPACE class QLineEdit; @@ -175,8 +174,6 @@ private: }; Q_DECLARE_OPERATORS_FOR_FLAGS(QAbstractSpinBox::StepEnabled) -#endif // QT_NO_SPINBOX - QT_END_NAMESPACE #endif // QABSTRACTSPINBOX_H diff --git a/src/widgets/widgets/qabstractspinbox_p.h b/src/widgets/widgets/qabstractspinbox_p.h index 5ec59d899b..8f312fa900 100644 --- a/src/widgets/widgets/qabstractspinbox_p.h +++ b/src/widgets/widgets/qabstractspinbox_p.h @@ -54,8 +54,6 @@ #include #include "QtWidgets/qabstractspinbox.h" -#ifndef QT_NO_SPINBOX - #include "QtWidgets/qlineedit.h" #include "QtWidgets/qstyleoption.h" #include "QtGui/qvalidator.h" @@ -63,6 +61,8 @@ #include "QtCore/qvariant.h" #include "private/qwidget_p.h" +QT_REQUIRE_CONFIG(spinbox); + QT_BEGIN_NAMESPACE QVariant operator+(const QVariant &arg1, const QVariant &arg2); @@ -165,6 +165,4 @@ private: QT_END_NAMESPACE -#endif // QT_NO_SPINBOX - #endif // QABSTRACTSPINBOX_P_H diff --git a/src/widgets/widgets/qcombobox.h b/src/widgets/widgets/qcombobox.h index ff27a999d9..59f2a425a0 100644 --- a/src/widgets/widgets/qcombobox.h +++ b/src/widgets/widgets/qcombobox.h @@ -45,6 +45,7 @@ #include #include #include +#include QT_REQUIRE_CONFIG(combobox); diff --git a/src/widgets/widgets/qlineedit_p.cpp b/src/widgets/widgets/qlineedit_p.cpp index ae35a64663..45524831ee 100644 --- a/src/widgets/widgets/qlineedit_p.cpp +++ b/src/widgets/widgets/qlineedit_p.cpp @@ -58,6 +58,7 @@ #endif #include #include +#include QT_BEGIN_NAMESPACE diff --git a/src/widgets/widgets/qspinbox.cpp b/src/widgets/widgets/qspinbox.cpp index 508cb05cfc..b62a7768ce 100644 --- a/src/widgets/widgets/qspinbox.cpp +++ b/src/widgets/widgets/qspinbox.cpp @@ -40,8 +40,6 @@ #include #include -#ifndef QT_NO_SPINBOX - #include #include #include @@ -1321,5 +1319,3 @@ bool QSpinBox::event(QEvent *event) QT_END_NAMESPACE #include "moc_qspinbox.cpp" - -#endif // QT_NO_SPINBOX diff --git a/src/widgets/widgets/qspinbox.h b/src/widgets/widgets/qspinbox.h index 2eb12fd90d..b61e665413 100644 --- a/src/widgets/widgets/qspinbox.h +++ b/src/widgets/widgets/qspinbox.h @@ -43,10 +43,9 @@ #include #include -QT_BEGIN_NAMESPACE - +QT_REQUIRE_CONFIG(spinbox); -#ifndef QT_NO_SPINBOX +QT_BEGIN_NAMESPACE class QSpinBoxPrivate; class Q_WIDGETS_EXPORT QSpinBox : public QAbstractSpinBox @@ -168,8 +167,6 @@ private: Q_DECLARE_PRIVATE(QDoubleSpinBox) }; -#endif // QT_NO_SPINBOX - QT_END_NAMESPACE #endif // QSPINBOX_H diff --git a/src/widgets/widgets/qwidgetlinecontrol.cpp b/src/widgets/widgets/qwidgetlinecontrol.cpp index 3abe82ce59..1f73eb39bc 100644 --- a/src/widgets/widgets/qwidgetlinecontrol.cpp +++ b/src/widgets/widgets/qwidgetlinecontrol.cpp @@ -57,6 +57,8 @@ #include "qgraphicssceneevent.h" #endif +#include "qvalidator.h" + QT_BEGIN_NAMESPACE diff --git a/src/widgets/widgets/widgets.pri b/src/widgets/widgets/widgets.pri index 5c91882c68..c6f68d98d1 100644 --- a/src/widgets/widgets/widgets.pri +++ b/src/widgets/widgets/widgets.pri @@ -1,8 +1,6 @@ # Qt widgets module HEADERS += \ - widgets/qabstractspinbox.h \ - widgets/qabstractspinbox_p.h \ widgets/qframe.h \ widgets/qframe_p.h \ widgets/qlineedit.h \ @@ -10,7 +8,6 @@ HEADERS += \ widgets/qmenu.h \ widgets/qmenu_p.h \ widgets/qslider.h \ - widgets/qspinbox.h \ widgets/qtextedit.h \ widgets/qtextedit_p.h \ widgets/qtoolbar.h \ @@ -27,13 +24,11 @@ HEADERS += \ widgets/qplaintextedit_p.h SOURCES += \ - widgets/qabstractspinbox.cpp \ widgets/qframe.cpp \ widgets/qlineedit_p.cpp \ widgets/qlineedit.cpp \ widgets/qmenu.cpp \ widgets/qslider.cpp \ - widgets/qspinbox.cpp \ widgets/qtextedit.cpp \ widgets/qtoolbar.cpp \ widgets/qtoolbarlayout.cpp \ @@ -256,6 +251,17 @@ qtConfig(sizegrip) { SOURCES += widgets/qsizegrip.cpp } +qtConfig(spinbox) { + HEADERS += \ + widgets/qabstractspinbox.h \ + widgets/qabstractspinbox_p.h \ + widgets/qspinbox.h + + SOURCES += \ + widgets/qabstractspinbox.cpp \ + widgets/qspinbox.cpp +} + qtConfig(splashscreen) { HEADERS += \ widgets/qsplashscreen.h -- cgit v1.2.3 From 710a9180c19994028fe35c4a2624ca643ca4ec8b Mon Sep 17 00:00:00 2001 From: Stephan Binner Date: Sat, 2 Sep 2017 20:54:40 +0200 Subject: Convert features.lineedit to QT_[REQUIRE_]CONFIG Change-Id: I509977994b11a7fc0c109bfcc83aadeee6c9b0b8 Reviewed-by: Oswald Buddenhagen --- src/widgets/accessible/complexwidgets.cpp | 2 ++ src/widgets/accessible/qaccessiblewidgetfactory.cpp | 2 +- src/widgets/accessible/rangecontrols.cpp | 2 ++ src/widgets/accessible/simplewidgets.cpp | 6 ++++-- src/widgets/accessible/simplewidgets_p.h | 4 ++-- src/widgets/dialogs/qwizard.cpp | 4 +++- src/widgets/graphicsview/qgraphicsproxywidget.cpp | 2 ++ src/widgets/itemviews/qabstractitemdelegate.cpp | 6 ++++-- src/widgets/itemviews/qabstractitemview.cpp | 4 +++- src/widgets/itemviews/qitemeditorfactory.cpp | 10 ++++++---- src/widgets/itemviews/qitemeditorfactory_p.h | 6 +++--- src/widgets/itemviews/qstyleditemdelegate.cpp | 4 +++- src/widgets/styles/qcommonstyle.cpp | 4 ++-- src/widgets/styles/qmacstyle_mac.mm | 6 ++++-- src/widgets/styles/qmacstyle_mac_p_p.h | 2 ++ src/widgets/styles/qstylesheetstyle.cpp | 10 ++++++---- src/widgets/styles/qwindowsvistastyle.cpp | 8 ++++---- src/widgets/styles/qwindowsvistastyle_p_p.h | 2 ++ src/widgets/util/qcompleter.cpp | 2 ++ src/widgets/widgets/qlineedit.cpp | 3 --- src/widgets/widgets/qlineedit.h | 7 ++----- src/widgets/widgets/qlineedit_p.cpp | 4 ---- src/widgets/widgets/qlineedit_p.h | 5 ++--- src/widgets/widgets/qtextedit.cpp | 2 ++ src/widgets/widgets/qwidgetlinecontrol.cpp | 4 ---- src/widgets/widgets/qwidgetlinecontrol_p.h | 6 ++---- src/widgets/widgets/qwidgettextcontrol.cpp | 4 +++- src/widgets/widgets/widgets.pri | 18 ++++++++++++------ 28 files changed, 80 insertions(+), 59 deletions(-) diff --git a/src/widgets/accessible/complexwidgets.cpp b/src/widgets/accessible/complexwidgets.cpp index 7c19c5d20c..0f88554415 100644 --- a/src/widgets/accessible/complexwidgets.cpp +++ b/src/widgets/accessible/complexwidgets.cpp @@ -52,7 +52,9 @@ #if QT_CONFIG(combobox) #include #endif +#if QT_CONFIG(lineedit) #include +#endif #include #include #include diff --git a/src/widgets/accessible/qaccessiblewidgetfactory.cpp b/src/widgets/accessible/qaccessiblewidgetfactory.cpp index 20a510e8fd..52f2bfc34c 100644 --- a/src/widgets/accessible/qaccessiblewidgetfactory.cpp +++ b/src/widgets/accessible/qaccessiblewidgetfactory.cpp @@ -76,7 +76,7 @@ QAccessibleInterface *qAccessibleFactory(const QString &classname, QObject *obje return iface; if (false) { -#ifndef QT_NO_LINEEDIT +#if QT_CONFIG(lineedit) } else if (classname == QLatin1String("QLineEdit")) { if (widget->objectName() == QLatin1String("qt_spinbox_lineedit")) iface = 0; diff --git a/src/widgets/accessible/rangecontrols.cpp b/src/widgets/accessible/rangecontrols.cpp index 78d50463a0..2c97e7f91d 100644 --- a/src/widgets/accessible/rangecontrols.cpp +++ b/src/widgets/accessible/rangecontrols.cpp @@ -53,7 +53,9 @@ #include #include #include +#if QT_CONFIG(lineedit) #include +#endif #include #include diff --git a/src/widgets/accessible/simplewidgets.cpp b/src/widgets/accessible/simplewidgets.cpp index 627afa32d3..1eb1a757c8 100644 --- a/src/widgets/accessible/simplewidgets.cpp +++ b/src/widgets/accessible/simplewidgets.cpp @@ -70,8 +70,10 @@ #if QT_CONFIG(lcdnumber) #include #endif +#if QT_CONFIG(lineedit) #include #include +#endif #include #include #include @@ -659,7 +661,7 @@ QStringList QAccessibleGroupBox::keyBindingsForAction(const QString &) const #endif -#ifndef QT_NO_LINEEDIT +#if QT_CONFIG(lineedit) /*! \class QAccessibleLineEdit \brief The QAccessibleLineEdit class implements the QAccessibleInterface for widgets with editable text @@ -896,7 +898,7 @@ void QAccessibleLineEdit::replaceText(int startOffset, int endOffset, const QStr lineEdit()->setText(lineEdit()->text().replace(startOffset, endOffset - startOffset, text)); } -#endif // QT_NO_LINEEDIT +#endif // QT_CONFIG(lineedit) #if QT_CONFIG(progressbar) QAccessibleProgressBar::QAccessibleProgressBar(QWidget *o) diff --git a/src/widgets/accessible/simplewidgets_p.h b/src/widgets/accessible/simplewidgets_p.h index c25aa31425..902b403d5b 100644 --- a/src/widgets/accessible/simplewidgets_p.h +++ b/src/widgets/accessible/simplewidgets_p.h @@ -148,7 +148,7 @@ private: }; #endif -#ifndef QT_NO_LINEEDIT +#if QT_CONFIG(lineedit) class QAccessibleLineEdit : public QAccessibleWidget, public QAccessibleTextInterface, public QAccessibleEditableTextInterface { public: @@ -188,7 +188,7 @@ protected: QLineEdit *lineEdit() const; friend class QAccessibleAbstractSpinBox; }; -#endif // QT_NO_LINEEDIT +#endif // QT_CONFIG(lineedit) #if QT_CONFIG(progressbar) class QAccessibleProgressBar : public QAccessibleDisplay, public QAccessibleValueInterface diff --git a/src/widgets/dialogs/qwizard.cpp b/src/widgets/dialogs/qwizard.cpp index 70c056b0ec..1984cb0a89 100644 --- a/src/widgets/dialogs/qwizard.cpp +++ b/src/widgets/dialogs/qwizard.cpp @@ -51,7 +51,9 @@ #include "qevent.h" #include "qframe.h" #include "qlabel.h" +#if QT_CONFIG(lineedit) #include "qlineedit.h" +#endif #include "qpainter.h" #include "qwindow.h" #include "qpushbutton.h" @@ -3682,7 +3684,7 @@ bool QWizardPage::isComplete() const if (value == field.initialValue) return false; -#ifndef QT_NO_LINEEDIT +#if QT_CONFIG(lineedit) if (QLineEdit *lineEdit = qobject_cast(field.object)) { if (!lineEdit->hasAcceptableInput()) return false; diff --git a/src/widgets/graphicsview/qgraphicsproxywidget.cpp b/src/widgets/graphicsview/qgraphicsproxywidget.cpp index ebd245c4e7..a322d86678 100644 --- a/src/widgets/graphicsview/qgraphicsproxywidget.cpp +++ b/src/widgets/graphicsview/qgraphicsproxywidget.cpp @@ -53,7 +53,9 @@ #include #include #include +#if QT_CONFIG(lineedit) #include +#endif #include QT_BEGIN_NAMESPACE diff --git a/src/widgets/itemviews/qabstractitemdelegate.cpp b/src/widgets/itemviews/qabstractitemdelegate.cpp index 265cf6b47c..e98b82e049 100644 --- a/src/widgets/itemviews/qabstractitemdelegate.cpp +++ b/src/widgets/itemviews/qabstractitemdelegate.cpp @@ -49,7 +49,9 @@ #include #include #include +#if QT_CONFIG(lineedit) #include +#endif #include #include #include @@ -536,7 +538,7 @@ bool QAbstractItemDelegatePrivate::editorEventFilter(QObject *object, QEvent *ev bool QAbstractItemDelegatePrivate::tryFixup(QWidget *editor) { -#ifndef QT_NO_LINEEDIT +#if QT_CONFIG(lineedit) if (QLineEdit *e = qobject_cast(editor)) { if (!e->hasAcceptableInput()) { #if QT_CONFIG(validator) @@ -551,7 +553,7 @@ bool QAbstractItemDelegatePrivate::tryFixup(QWidget *editor) } #else Q_UNUSED(editor) -#endif // QT_NO_LINEEDIT +#endif // QT_CONFIG(lineedit) return true; } diff --git a/src/widgets/itemviews/qabstractitemview.cpp b/src/widgets/itemviews/qabstractitemview.cpp index 039b37baa7..88b6a30409 100644 --- a/src/widgets/itemviews/qabstractitemview.cpp +++ b/src/widgets/itemviews/qabstractitemview.cpp @@ -49,7 +49,9 @@ #include #include #include +#if QT_CONFIG(lineedit) #include +#endif #if QT_CONFIG(spinbox) #include #endif @@ -4217,7 +4219,7 @@ QWidget *QAbstractItemViewPrivate::editor(const QModelIndex &index, QWidget *focusWidget = w; while (QWidget *fp = focusWidget->focusProxy()) focusWidget = fp; -#ifndef QT_NO_LINEEDIT +#if QT_CONFIG(lineedit) if (QLineEdit *le = qobject_cast(focusWidget)) le->selectAll(); #endif diff --git a/src/widgets/itemviews/qitemeditorfactory.cpp b/src/widgets/itemviews/qitemeditorfactory.cpp index 4d0175dc6c..b580f0e840 100644 --- a/src/widgets/itemviews/qitemeditorfactory.cpp +++ b/src/widgets/itemviews/qitemeditorfactory.cpp @@ -50,7 +50,9 @@ #if QT_CONFIG(label) #include #endif +#if QT_CONFIG(lineedit) #include +#endif #if QT_CONFIG(spinbox) #include #endif @@ -284,7 +286,7 @@ QWidget *QDefaultItemEditorFactory::createEditor(int userType, QWidget *parent) sb->setMaximum(DBL_MAX); return sb; } #endif -#ifndef QT_NO_LINEEDIT +#if QT_CONFIG(lineedit) case QVariant::String: default: { // the default editor is a lineedit @@ -537,7 +539,7 @@ QItemEditorCreatorBase::~QItemEditorCreatorBase() \reimp */ -#ifndef QT_NO_LINEEDIT +#if QT_CONFIG(lineedit) QExpandingLineEdit::QExpandingLineEdit(QWidget *parent) : QLineEdit(parent), originalWidth(-1), widgetOwnsGeometry(false) @@ -597,7 +599,7 @@ void QExpandingLineEdit::resizeToContents() } } -#endif // QT_NO_LINEEDIT +#endif // QT_CONFIG(lineedit) #if QT_CONFIG(combobox) @@ -622,7 +624,7 @@ bool QBooleanComboBox::value() const QT_END_NAMESPACE -#if !defined(QT_NO_LINEEDIT) || QT_CONFIG(combobox) +#if QT_CONFIG(lineedit) || QT_CONFIG(combobox) #include "qitemeditorfactory.moc" #endif diff --git a/src/widgets/itemviews/qitemeditorfactory_p.h b/src/widgets/itemviews/qitemeditorfactory_p.h index 409ecc684f..46a8da1d8f 100644 --- a/src/widgets/itemviews/qitemeditorfactory_p.h +++ b/src/widgets/itemviews/qitemeditorfactory_p.h @@ -53,9 +53,9 @@ #include -#include -#ifndef QT_NO_LINEEDIT +#if QT_CONFIG(lineedit) +#include QT_REQUIRE_CONFIG(itemviews); @@ -89,6 +89,6 @@ private: QT_END_NAMESPACE -#endif // QT_NO_LINEEDIT +#endif // QT_CONFIG(lineedit) #endif //QITEMEDITORFACTORY_P_H diff --git a/src/widgets/itemviews/qstyleditemdelegate.cpp b/src/widgets/itemviews/qstyleditemdelegate.cpp index bda3325adb..561ccec5e6 100644 --- a/src/widgets/itemviews/qstyleditemdelegate.cpp +++ b/src/widgets/itemviews/qstyleditemdelegate.cpp @@ -42,7 +42,9 @@ #include #include #include +#if QT_CONFIG(lineedit) #include +#endif #include #include #include @@ -501,7 +503,7 @@ void QStyledItemDelegate::updateEditorGeometry(QWidget *editor, // let the editor take up all available space //if the editor is not a QLineEdit //or it is in a QTableView -#if QT_CONFIG(tableview) && !defined(QT_NO_LINEEDIT) +#if QT_CONFIG(tableview) && QT_CONFIG(lineedit) if (qobject_cast(editor) && !qobject_cast(widget)) opt.showDecorationSelected = editor->style()->styleHint(QStyle::SH_ItemView_ShowDecorationSelected, 0, editor); else diff --git a/src/widgets/styles/qcommonstyle.cpp b/src/widgets/styles/qcommonstyle.cpp index 4389598c26..378439b994 100644 --- a/src/widgets/styles/qcommonstyle.cpp +++ b/src/widgets/styles/qcommonstyle.cpp @@ -611,7 +611,7 @@ void QCommonStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, Q } break; #endif // QT_CONFIG(tabbar) -#ifndef QT_NO_LINEEDIT +#if QT_CONFIG(lineedit) case PE_PanelLineEdit: if (const QStyleOptionFrame *panel = qstyleoption_cast(opt)) { p->fillRect(panel->rect.adjusted(panel->lineWidth, panel->lineWidth, -panel->lineWidth, -panel->lineWidth), @@ -621,7 +621,7 @@ void QCommonStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, Q proxy()->drawPrimitive(PE_FrameLineEdit, panel, p, widget); } break; -#endif // QT_NO_LINEEDIT +#endif // QT_CONFIG(lineedit) #if QT_CONFIG(columnview) case PE_IndicatorColumnViewArrow: { if (const QStyleOptionViewItem *viewOpt = qstyleoption_cast(opt)) { diff --git a/src/widgets/styles/qmacstyle_mac.mm b/src/widgets/styles/qmacstyle_mac.mm index 28fe39c347..cb80a49422 100644 --- a/src/widgets/styles/qmacstyle_mac.mm +++ b/src/widgets/styles/qmacstyle_mac.mm @@ -73,7 +73,9 @@ #include #include #include +#if QT_CONFIG(lineedit) #include +#endif #if QT_CONFIG(mainwindow) #include #endif @@ -679,7 +681,7 @@ static QSize qt_aqua_get_known_size(QStyle::ContentsType ct, const QWidget *widg else if (qobject_cast(widg)) ct = QStyle::CT_ProgressBar; #endif -#ifndef QT_NO_LINEEDIT +#if QT_CONFIG(lineedit) else if (qobject_cast(widg)) ct = QStyle::CT_LineEdit; #endif @@ -3573,7 +3575,7 @@ void QMacStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, QPai // Draw the focus frame for widgets other than QLineEdit (e.g. for line edits in Webkit). // Focus frame is drawn outside the rectangle passed in the option-rect. if (const QStyleOptionFrame *panel = qstyleoption_cast(opt)) { -#ifndef QT_NO_LINEEDIT +#if QT_CONFIG(lineedit) if ((opt->state & State_HasFocus) && !qobject_cast(w)) { int vmargin = pixelMetric(QStyle::PM_FocusFrameVMargin); int hmargin = pixelMetric(QStyle::PM_FocusFrameHMargin); diff --git a/src/widgets/styles/qmacstyle_mac_p_p.h b/src/widgets/styles/qmacstyle_mac_p_p.h index 330816a996..228abf950a 100644 --- a/src/widgets/styles/qmacstyle_mac_p_p.h +++ b/src/widgets/styles/qmacstyle_mac_p_p.h @@ -74,7 +74,9 @@ #include #include #include +#if QT_CONFIG(lineedit) #include +#endif #if QT_CONFIG(listview) #include #endif diff --git a/src/widgets/styles/qstylesheetstyle.cpp b/src/widgets/styles/qstylesheetstyle.cpp index 57e695c114..686cb8209a 100644 --- a/src/widgets/styles/qstylesheetstyle.cpp +++ b/src/widgets/styles/qstylesheetstyle.cpp @@ -51,7 +51,9 @@ #endif #include #include +#if QT_CONFIG(lineedit) #include +#endif #include #if QT_CONFIG(combobox) #include @@ -2040,7 +2042,7 @@ QRenderRule QStyleSheetStyle::renderRule(const QObject *obj, const QStyleOption } #endif -#ifndef QT_NO_LINEEDIT +#if QT_CONFIG(lineedit) // LineEdit sets Sunken flag to indicate Sunken frame (argh) if (const QLineEdit *lineEdit = qobject_cast(obj)) { state &= ~QStyle::State_Sunken; @@ -2388,7 +2390,7 @@ static QWidget *embeddedWidget(QWidget *w) */ static QWidget *containerWidget(const QWidget *w) { -#ifndef QT_NO_LINEEDIT +#if QT_CONFIG(lineedit) if (qobject_cast(w)) { //if the QLineEdit is an embeddedWidget, we need the rule of the real widget #if QT_CONFIG(combobox) @@ -2400,7 +2402,7 @@ static QWidget *containerWidget(const QWidget *w) return w->parentWidget(); #endif } -#endif // QT_NO_LINEEDIT +#endif // QT_CONFIG(lineedit) #if QT_CONFIG(scrollarea) if (const QAbstractScrollArea *sa = qobject_cast(w->parentWidget())) { @@ -2461,7 +2463,7 @@ static quint64 extendedPseudoClass(const QWidget *w) pc |= (combo->isEditable() ? PseudoClass_Editable : PseudoClass_ReadOnly); } else #endif -#ifndef QT_NO_LINEEDIT +#if QT_CONFIG(lineedit) if (const QLineEdit *edit = qobject_cast(w)) { pc |= (edit->isReadOnly() ? PseudoClass_ReadOnly : PseudoClass_Editable); } else diff --git a/src/widgets/styles/qwindowsvistastyle.cpp b/src/widgets/styles/qwindowsvistastyle.cpp index 9c38cc4f6b..4179566f6b 100644 --- a/src/widgets/styles/qwindowsvistastyle.cpp +++ b/src/widgets/styles/qwindowsvistastyle.cpp @@ -2292,11 +2292,11 @@ void QWindowsVistaStyle::polish(QApplication *app) void QWindowsVistaStyle::polish(QWidget *widget) { QWindowsXPStyle::polish(widget); -#ifndef QT_NO_LINEEDIT +#if QT_CONFIG(lineedit) if (qobject_cast(widget)) widget->setAttribute(Qt::WA_Hover); else -#endif // QT_NO_LINEEDIT +#endif // QT_CONFIG(lineedit) if (qobject_cast(widget)) widget->setAttribute(Qt::WA_Hover); else if (qobject_cast(widget)) { @@ -2353,11 +2353,11 @@ void QWindowsVistaStyle::unpolish(QWidget *widget) d->stopAnimation(widget); -#ifndef QT_NO_LINEEDIT +#if QT_CONFIG(lineedit) if (qobject_cast(widget)) widget->setAttribute(Qt::WA_Hover, false); else -#endif // QT_NO_LINEEDIT +#endif // QT_CONFIG(lineedit) if (qobject_cast(widget)) widget->setAttribute(Qt::WA_Hover, false); else if (qobject_cast (widget)) { diff --git a/src/widgets/styles/qwindowsvistastyle_p_p.h b/src/widgets/styles/qwindowsvistastyle_p_p.h index 278a4e53c2..6e22f97cf4 100644 --- a/src/widgets/styles/qwindowsvistastyle_p_p.h +++ b/src/widgets/styles/qwindowsvistastyle_p_p.h @@ -67,7 +67,9 @@ #include #endif #include +#if QT_CONFIG(lineedit) #include +#endif #include #if QT_CONFIG(toolbutton) #include diff --git a/src/widgets/util/qcompleter.cpp b/src/widgets/util/qcompleter.cpp index 8757956310..3a287c5fa4 100644 --- a/src/widgets/util/qcompleter.cpp +++ b/src/widgets/util/qcompleter.cpp @@ -158,7 +158,9 @@ #include "QtWidgets/qapplication.h" #include "QtGui/qevent.h" #include "QtWidgets/qdesktopwidget.h" +#if QT_CONFIG(lineedit) #include "QtWidgets/qlineedit.h" +#endif QT_BEGIN_NAMESPACE diff --git a/src/widgets/widgets/qlineedit.cpp b/src/widgets/widgets/qlineedit.cpp index eb4cb96c01..852567038b 100644 --- a/src/widgets/widgets/qlineedit.cpp +++ b/src/widgets/widgets/qlineedit.cpp @@ -40,7 +40,6 @@ #include "qlineedit.h" #include "qlineedit_p.h" -#ifndef QT_NO_LINEEDIT #include "qaction.h" #include "qapplication.h" #include "qclipboard.h" @@ -2217,5 +2216,3 @@ void QLineEdit::changeEvent(QEvent *ev) QT_END_NAMESPACE #include "moc_qlineedit.cpp" - -#endif // QT_NO_LINEEDIT diff --git a/src/widgets/widgets/qlineedit.h b/src/widgets/widgets/qlineedit.h index dc0e694d07..08dd6f3b83 100644 --- a/src/widgets/widgets/qlineedit.h +++ b/src/widgets/widgets/qlineedit.h @@ -46,10 +46,9 @@ #include #include -QT_BEGIN_NAMESPACE - +QT_REQUIRE_CONFIG(lineedit); -#ifndef QT_NO_LINEEDIT +QT_BEGIN_NAMESPACE class QValidator; class QMenu; @@ -262,8 +261,6 @@ private: Q_PRIVATE_SLOT(d_func(), void _q_clearButtonClicked()) }; -#endif // QT_NO_LINEEDIT - QT_END_NAMESPACE #endif // QLINEEDIT_H diff --git a/src/widgets/widgets/qlineedit_p.cpp b/src/widgets/widgets/qlineedit_p.cpp index 45524831ee..5b352f5554 100644 --- a/src/widgets/widgets/qlineedit_p.cpp +++ b/src/widgets/widgets/qlineedit_p.cpp @@ -40,8 +40,6 @@ #include "qlineedit.h" #include "qlineedit_p.h" -#ifndef QT_NO_LINEEDIT - #include "qvariant.h" #if QT_CONFIG(itemviews) #include "qabstractitemview.h" @@ -625,5 +623,3 @@ int QLineEditPrivate::effectiveRightTextMargin() const QT_END_NAMESPACE #include "moc_qlineedit_p.cpp" - -#endif diff --git a/src/widgets/widgets/qlineedit_p.h b/src/widgets/widgets/qlineedit_p.h index 094425e45e..77a91880df 100644 --- a/src/widgets/widgets/qlineedit_p.h +++ b/src/widgets/widgets/qlineedit_p.h @@ -53,7 +53,6 @@ #include -#ifndef QT_NO_LINEEDIT #include "private/qwidget_p.h" #include "QtWidgets/qlineedit.h" #if QT_CONFIG(toolbutton) @@ -73,6 +72,8 @@ #include +QT_REQUIRE_CONFIG(lineedit); + QT_BEGIN_NAMESPACE class QLineEditPrivate; @@ -256,8 +257,6 @@ private: Q_DECLARE_TYPEINFO(QLineEditPrivate::SideWidgetEntry, Q_PRIMITIVE_TYPE); Q_DECLARE_TYPEINFO(QLineEditPrivate::SideWidgetLocation, Q_PRIMITIVE_TYPE); -#endif // QT_NO_LINEEDIT - QT_END_NAMESPACE #endif // QLINEEDIT_P_H diff --git a/src/widgets/widgets/qtextedit.cpp b/src/widgets/widgets/qtextedit.cpp index 2d1397a54d..359f203d1c 100644 --- a/src/widgets/widgets/qtextedit.cpp +++ b/src/widgets/widgets/qtextedit.cpp @@ -38,7 +38,9 @@ ****************************************************************************/ #include "qtextedit_p.h" +#if QT_CONFIG(lineedit) #include "qlineedit.h" +#endif #if QT_CONFIG(textbrowser) #include "qtextbrowser.h" #endif diff --git a/src/widgets/widgets/qwidgetlinecontrol.cpp b/src/widgets/widgets/qwidgetlinecontrol.cpp index 1f73eb39bc..1b7a41d547 100644 --- a/src/widgets/widgets/qwidgetlinecontrol.cpp +++ b/src/widgets/widgets/qwidgetlinecontrol.cpp @@ -39,8 +39,6 @@ #include "qwidgetlinecontrol_p.h" -#ifndef QT_NO_LINEEDIT - #if QT_CONFIG(itemviews) #include "qabstractitemview.h" #endif @@ -1975,5 +1973,3 @@ bool QWidgetLineControl::isRedoAvailable() const QT_END_NAMESPACE #include "moc_qwidgetlinecontrol_p.cpp" - -#endif diff --git a/src/widgets/widgets/qwidgetlinecontrol_p.h b/src/widgets/widgets/qwidgetlinecontrol_p.h index 243a1a7723..16c9cc71eb 100644 --- a/src/widgets/widgets/qwidgetlinecontrol_p.h +++ b/src/widgets/widgets/qwidgetlinecontrol_p.h @@ -53,7 +53,6 @@ #include -#ifndef QT_NO_LINEEDIT #include "private/qwidget_p.h" #include "QtWidgets/qlineedit.h" #include "QtGui/qtextlayout.h" @@ -76,8 +75,9 @@ # undef DrawText #endif -QT_BEGIN_NAMESPACE +QT_REQUIRE_CONFIG(lineedit); +QT_BEGIN_NAMESPACE class Q_WIDGETS_EXPORT QWidgetLineControl : public QInputControl { @@ -564,6 +564,4 @@ private: QT_END_NAMESPACE -#endif // QT_NO_LINEEDIT - #endif // QWIDGETLINECONTROL_P_H diff --git a/src/widgets/widgets/qwidgettextcontrol.cpp b/src/widgets/widgets/qwidgettextcontrol.cpp index c73dc7444c..158845ed29 100644 --- a/src/widgets/widgets/qwidgettextcontrol.cpp +++ b/src/widgets/widgets/qwidgettextcontrol.cpp @@ -79,7 +79,9 @@ #include #include #include +#if QT_CONFIG(lineedit) #include +#endif #include #include @@ -3302,7 +3304,7 @@ void QUnicodeControlCharacterMenu::menuActionTriggered() if (QWidgetTextControl *control = qobject_cast(editWidget)) { control->insertPlainText(str); } -#ifndef QT_NO_LINEEDIT +#if QT_CONFIG(lineedit) if (QLineEdit *edit = qobject_cast(editWidget)) { edit->insert(str); return; diff --git a/src/widgets/widgets/widgets.pri b/src/widgets/widgets/widgets.pri index c6f68d98d1..41e4bd16b9 100644 --- a/src/widgets/widgets/widgets.pri +++ b/src/widgets/widgets/widgets.pri @@ -3,8 +3,6 @@ HEADERS += \ widgets/qframe.h \ widgets/qframe_p.h \ - widgets/qlineedit.h \ - widgets/qlineedit_p.h \ widgets/qmenu.h \ widgets/qmenu_p.h \ widgets/qslider.h \ @@ -18,15 +16,12 @@ HEADERS += \ widgets/qabstractscrollarea_p.h \ widgets/qfocusframe.h \ widgets/qwidgetanimator_p.h \ - widgets/qwidgetlinecontrol_p.h \ widgets/qtoolbararealayout_p.h \ widgets/qplaintextedit.h \ widgets/qplaintextedit_p.h SOURCES += \ widgets/qframe.cpp \ - widgets/qlineedit_p.cpp \ - widgets/qlineedit.cpp \ widgets/qmenu.cpp \ widgets/qslider.cpp \ widgets/qtextedit.cpp \ @@ -36,7 +31,6 @@ SOURCES += \ widgets/qabstractscrollarea.cpp \ widgets/qfocusframe.cpp \ widgets/qwidgetanimator.cpp \ - widgets/qwidgetlinecontrol.cpp \ widgets/qtoolbararealayout.cpp \ widgets/qplaintextedit.cpp @@ -160,6 +154,18 @@ qtConfig(lcdnumber) { widgets/qlcdnumber.cpp } +qtConfig(lineedit) { + HEADERS += \ + widgets/qlineedit.h \ + widgets/qlineedit_p.h \ + widgets/qwidgetlinecontrol_p.h + + SOURCES += \ + widgets/qlineedit_p.cpp \ + widgets/qlineedit.cpp \ + widgets/qwidgetlinecontrol.cpp +} + qtConfig(mainwindow) { HEADERS += \ widgets/qmainwindow.h \ -- cgit v1.2.3 From 79bf70b5b6b1e99ee57c2747277ede6288916931 Mon Sep 17 00:00:00 2001 From: Stephan Binner Date: Sat, 2 Sep 2017 20:55:43 +0200 Subject: Convert features.slider to QT_[REQUIRE_]CONFIG Change-Id: I03adb5e34071aa106bbfe7caa2d41a93e8d1e263 Reviewed-by: Oswald Buddenhagen --- .../accessible/qaccessiblewidgetfactory.cpp | 2 +- src/widgets/accessible/rangecontrols.cpp | 6 ++++-- src/widgets/accessible/rangecontrols_p.h | 4 ++-- src/widgets/styles/qcommonstyle.cpp | 22 ++++++++++++---------- src/widgets/styles/qfusionstyle.cpp | 2 ++ src/widgets/styles/qpixmapstyle.cpp | 2 ++ src/widgets/styles/qstyleoption.cpp | 4 ++-- src/widgets/styles/qstyleoption.h | 6 ++++-- src/widgets/styles/qstylesheetstyle.cpp | 8 ++++---- src/widgets/styles/qwindowsstyle.cpp | 12 ++++++------ src/widgets/styles/qwindowsxpstyle.cpp | 2 +- src/widgets/widgets/qslider.cpp | 3 --- src/widgets/widgets/qslider.h | 7 ++----- src/widgets/widgets/widgets.pri | 7 +++++-- 14 files changed, 47 insertions(+), 40 deletions(-) diff --git a/src/widgets/accessible/qaccessiblewidgetfactory.cpp b/src/widgets/accessible/qaccessiblewidgetfactory.cpp index 52f2bfc34c..63fb46a447 100644 --- a/src/widgets/accessible/qaccessiblewidgetfactory.cpp +++ b/src/widgets/accessible/qaccessiblewidgetfactory.cpp @@ -99,7 +99,7 @@ QAccessibleInterface *qAccessibleFactory(const QString &classname, QObject *obje } else if (classname == QLatin1String("QScrollBar")) { iface = new QAccessibleScrollBar(widget); #endif -#ifndef QT_NO_SLIDER +#if QT_CONFIG(slider) } else if (classname == QLatin1String("QAbstractSlider")) { iface = new QAccessibleAbstractSlider(widget); } else if (classname == QLatin1String("QSlider")) { diff --git a/src/widgets/accessible/rangecontrols.cpp b/src/widgets/accessible/rangecontrols.cpp index 2c97e7f91d..190f0aa02f 100644 --- a/src/widgets/accessible/rangecontrols.cpp +++ b/src/widgets/accessible/rangecontrols.cpp @@ -39,7 +39,9 @@ #include "rangecontrols_p.h" +#if QT_CONFIG(slider) #include +#endif #if QT_CONFIG(dial) #include #endif @@ -325,7 +327,7 @@ QString QAccessibleScrollBar::text(QAccessible::Text t) const #endif // QT_CONFIG(scrollbar) -#ifndef QT_NO_SLIDER +#if QT_CONFIG(slider) /*! \class QAccessibleSlider \brief The QAccessibleSlider class implements the QAccessibleInterface for sliders. @@ -402,7 +404,7 @@ QAbstractSlider *QAccessibleAbstractSlider::abstractSlider() const return static_cast(object()); } -#endif // QT_NO_SLIDER +#endif // QT_CONFIG(slider) #if QT_CONFIG(dial) // ======================================= QAccessibleDial ====================================== diff --git a/src/widgets/accessible/rangecontrols_p.h b/src/widgets/accessible/rangecontrols_p.h index 77e07810b3..8af86681a0 100644 --- a/src/widgets/accessible/rangecontrols_p.h +++ b/src/widgets/accessible/rangecontrols_p.h @@ -174,7 +174,7 @@ protected: }; #endif // QT_CONFIG(scrollbar) -#ifndef QT_NO_SLIDER +#if QT_CONFIG(slider) class QAccessibleSlider : public QAccessibleAbstractSlider { public: @@ -184,7 +184,7 @@ public: protected: QSlider *slider() const; }; -#endif // QT_NO_SLIDER +#endif // QT_CONFIG(slider) #if QT_CONFIG(dial) class QAccessibleDial : public QAccessibleAbstractSlider diff --git a/src/widgets/styles/qcommonstyle.cpp b/src/widgets/styles/qcommonstyle.cpp index 378439b994..38cade2b53 100644 --- a/src/widgets/styles/qcommonstyle.cpp +++ b/src/widgets/styles/qcommonstyle.cpp @@ -69,7 +69,9 @@ #include #include #include +#if QT_CONFIG(slider) #include +#endif #include #if QT_CONFIG(tabbar) #include @@ -2472,7 +2474,7 @@ QRect QCommonStyle::subElementRect(SubElement sr, const QStyleOption *opt, r = visualRect(btn->direction, btn->rect, r); } break; -#ifndef QT_NO_SLIDER +#if QT_CONFIG(slider) case SE_SliderFocusRect: if (const QStyleOptionSlider *slider = qstyleoption_cast(opt)) { int tickOffset = proxy()->pixelMetric(PM_SliderTickmarkOffset, slider, widget); @@ -2485,7 +2487,7 @@ QRect QCommonStyle::subElementRect(SubElement sr, const QStyleOption *opt, r = visualRect(opt->direction, opt->rect, r); } break; -#endif // QT_NO_SLIDER +#endif // QT_CONFIG(slider) #if QT_CONFIG(progressbar) case SE_ProgressBarGroove: case SE_ProgressBarContents: @@ -3140,7 +3142,7 @@ void QCommonStyle::drawComplexControl(ComplexControl cc, const QStyleOptionCompl QPainter *p, const QWidget *widget) const { switch (cc) { -#ifndef QT_NO_SLIDER +#if QT_CONFIG(slider) case CC_Slider: if (const QStyleOptionSlider *slider = qstyleoption_cast(opt)) { if (slider->subControls == SC_SliderTickmarks) { @@ -3196,7 +3198,7 @@ void QCommonStyle::drawComplexControl(ComplexControl cc, const QStyleOptionCompl } } break; -#endif // QT_NO_SLIDER +#endif // QT_CONFIG(slider) #if QT_CONFIG(scrollbar) case CC_ScrollBar: if (const QStyleOptionSlider *scrollbar = qstyleoption_cast(opt)) { @@ -3822,7 +3824,7 @@ QStyle::SubControl QCommonStyle::hitTestComplexControl(ComplexControl cc, const { SubControl sc = SC_None; switch (cc) { -#ifndef QT_NO_SLIDER +#if QT_CONFIG(slider) case CC_Slider: if (const QStyleOptionSlider *slider = qstyleoption_cast(opt)) { QRect r = proxy()->subControlRect(cc, slider, SC_SliderHandle, widget); @@ -3835,7 +3837,7 @@ QStyle::SubControl QCommonStyle::hitTestComplexControl(ComplexControl cc, const } } break; -#endif // QT_NO_SLIDER +#endif // QT_CONFIG(slider) #if QT_CONFIG(scrollbar) case CC_ScrollBar: if (const QStyleOptionSlider *scrollbar = qstyleoption_cast(opt)) { @@ -3959,7 +3961,7 @@ QRect QCommonStyle::subControlRect(ComplexControl cc, const QStyleOptionComplex { QRect ret; switch (cc) { -#ifndef QT_NO_SLIDER +#if QT_CONFIG(slider) case CC_Slider: if (const QStyleOptionSlider *slider = qstyleoption_cast(opt)) { int tickOffset = proxy()->pixelMetric(PM_SliderTickmarkOffset, slider, widget); @@ -3994,7 +3996,7 @@ QRect QCommonStyle::subControlRect(ComplexControl cc, const QStyleOptionComplex ret = visualRect(slider->direction, slider->rect, ret); } break; -#endif // QT_NO_SLIDER +#endif // QT_CONFIG(slider) #if QT_CONFIG(scrollbar) case CC_ScrollBar: if (const QStyleOptionSlider *scrollbar = qstyleoption_cast(opt)) { @@ -4497,7 +4499,7 @@ int QCommonStyle::pixelMetric(PixelMetric m, const QStyleOption *opt, const QWid ret = QGuiApplicationPrivate::platformTheme()->themeHint(QPlatformTheme::MaximumScrollBarDragDistance).toInt(); break; -#ifndef QT_NO_SLIDER +#if QT_CONFIG(slider) case PM_SliderThickness: ret = int(QStyleHelper::dpiScaled(16.)); break; @@ -4530,7 +4532,7 @@ int QCommonStyle::pixelMetric(PixelMetric m, const QStyleOption *opt, const QWid ret = 0; } break; -#endif // QT_NO_SLIDER +#endif // QT_CONFIG(slider) #if QT_CONFIG(dockwidget) case PM_DockWidgetSeparatorExtent: ret = int(QStyleHelper::dpiScaled(6.)); diff --git a/src/widgets/styles/qfusionstyle.cpp b/src/widgets/styles/qfusionstyle.cpp index 12de2954ce..016a5e2ad7 100644 --- a/src/widgets/styles/qfusionstyle.cpp +++ b/src/widgets/styles/qfusionstyle.cpp @@ -72,7 +72,9 @@ #if QT_CONFIG(abstractslider) #include #endif +#if QT_CONFIG(slider) #include +#endif #if QT_CONFIG(splitter) #include #endif diff --git a/src/widgets/styles/qpixmapstyle.cpp b/src/widgets/styles/qpixmapstyle.cpp index 975ebfcdbf..63afb24c59 100644 --- a/src/widgets/styles/qpixmapstyle.cpp +++ b/src/widgets/styles/qpixmapstyle.cpp @@ -52,7 +52,9 @@ #if QT_CONFIG(progressbar) #include #endif +#if QT_CONFIG(slider) #include +#endif #include #if QT_CONFIG(combobox) #include diff --git a/src/widgets/styles/qstyleoption.cpp b/src/widgets/styles/qstyleoption.cpp index dc5907f958..3e73abc62c 100644 --- a/src/widgets/styles/qstyleoption.cpp +++ b/src/widgets/styles/qstyleoption.cpp @@ -1953,7 +1953,7 @@ QStyleOptionComplex::QStyleOptionComplex(int version, int type) \sa QStyle::SubControl */ -#ifndef QT_NO_SLIDER +#if QT_CONFIG(slider) /*! \class QStyleOptionSlider \brief The QStyleOptionSlider class is used to describe the @@ -2150,7 +2150,7 @@ QStyleOptionSlider::QStyleOptionSlider(int version) \sa QAbstractSlider::pageStep */ -#endif // QT_NO_SLIDER +#endif // QT_CONFIG(slider) #if QT_CONFIG(spinbox) /*! diff --git a/src/widgets/styles/qstyleoption.h b/src/widgets/styles/qstyleoption.h index df01125a8b..f703c56917 100644 --- a/src/widgets/styles/qstyleoption.h +++ b/src/widgets/styles/qstyleoption.h @@ -48,7 +48,9 @@ #endif #include #include +#if QT_CONFIG(slider) #include +#endif #include #if QT_CONFIG(tabbar) #include @@ -508,7 +510,7 @@ public: QStyleOptionComplex(const QStyleOptionComplex &other) : QStyleOption(Version, Type) { *this = other; } }; -#ifndef QT_NO_SLIDER +#if QT_CONFIG(slider) class Q_WIDGETS_EXPORT QStyleOptionSlider : public QStyleOptionComplex { public: @@ -534,7 +536,7 @@ public: protected: QStyleOptionSlider(int version); }; -#endif // QT_NO_SLIDER +#endif // QT_CONFIG(slider) #if QT_CONFIG(spinbox) class Q_WIDGETS_EXPORT QStyleOptionSpinBox : public QStyleOptionComplex diff --git a/src/widgets/styles/qstylesheetstyle.cpp b/src/widgets/styles/qstylesheetstyle.cpp index 686cb8209a..1e7325d650 100644 --- a/src/widgets/styles/qstylesheetstyle.cpp +++ b/src/widgets/styles/qstylesheetstyle.cpp @@ -3229,7 +3229,7 @@ void QStyleSheetStyle::drawComplexControl(ComplexControl cc, const QStyleOptionC break; #endif // QT_CONFIG(scrollbar) -#ifndef QT_NO_SLIDER +#if QT_CONFIG(slider) case CC_Slider: if (const QStyleOptionSlider *slider = qstyleoption_cast(opt)) { rule.drawRule(p, opt->rect); @@ -3283,7 +3283,7 @@ void QStyleSheetStyle::drawComplexControl(ComplexControl cc, const QStyleOptionC return; } break; -#endif // QT_NO_SLIDER +#endif // QT_CONFIG(slider) case CC_MdiControls: if (hasStyleRule(w, PseudoElement_MdiCloseButton) @@ -5623,7 +5623,7 @@ QRect QStyleSheetStyle::subControlRect(ComplexControl cc, const QStyleOptionComp break; #endif // QT_CONFIG(scrollbar) -#ifndef QT_NO_SLIDER +#if QT_CONFIG(slider) case CC_Slider: if (const QStyleOptionSlider *slider = qstyleoption_cast(opt)) { QRenderRule subRule = renderRule(w, opt, PseudoElement_SliderGroove); @@ -5656,7 +5656,7 @@ QRect QStyleSheetStyle::subControlRect(ComplexControl cc, const QStyleOptionComp } } break; -#endif // QT_NO_SLIDER +#endif // QT_CONFIG(slider) case CC_MdiControls: if (hasStyleRule(w, PseudoElement_MdiCloseButton) diff --git a/src/widgets/styles/qwindowsstyle.cpp b/src/widgets/styles/qwindowsstyle.cpp index a2a2b84fd0..ad3788a3a4 100644 --- a/src/widgets/styles/qwindowsstyle.cpp +++ b/src/widgets/styles/qwindowsstyle.cpp @@ -347,10 +347,10 @@ int QWindowsStylePrivate::fixedPixelMetric(QStyle::PixelMetric pm) return 2; #endif -#ifndef QT_NO_SLIDER +#if QT_CONFIG(slider) case QStyle::PM_SliderLength: return 11; -#endif // QT_NO_SLIDER +#endif // QT_CONFIG(slider) #ifndef QT_NO_MENU case QStyle::PM_MenuBarHMargin: @@ -439,7 +439,7 @@ int QWindowsStyle::pixelMetric(PixelMetric pm, const QStyleOption *opt, const QW ret = 60; break; -#ifndef QT_NO_SLIDER +#if QT_CONFIG(slider) // Returns the number of pixels to use for the business part of the // slider (i.e., the non-tickmark portion). The remaining space is shared // equally between the tickmark regions. @@ -467,7 +467,7 @@ int QWindowsStyle::pixelMetric(PixelMetric pm, const QStyleOption *opt, const QW ret = thick; } break; -#endif // QT_NO_SLIDER +#endif // QT_CONFIG(slider) case PM_IconViewIconSize: ret = proxy()->pixelMetric(PM_LargeIconSize, opt, widget); @@ -1926,7 +1926,7 @@ void QWindowsStyle::drawComplexControl(ComplexControl cc, const QStyleOptionComp QPainter *p, const QWidget *widget) const { switch (cc) { -#ifndef QT_NO_SLIDER +#if QT_CONFIG(slider) case CC_Slider: if (const QStyleOptionSlider *slider = qstyleoption_cast(opt)) { int thickness = proxy()->pixelMetric(PM_SliderControlThickness, slider, widget); @@ -2146,7 +2146,7 @@ void QWindowsStyle::drawComplexControl(ComplexControl cc, const QStyleOptionComp } } break; -#endif // QT_NO_SLIDER +#endif // QT_CONFIG(slider) #if QT_CONFIG(scrollbar) case CC_ScrollBar: if (const QStyleOptionSlider *scrollbar = qstyleoption_cast(opt)) { diff --git a/src/widgets/styles/qwindowsxpstyle.cpp b/src/widgets/styles/qwindowsxpstyle.cpp index cbd0209471..8656ca6c09 100644 --- a/src/widgets/styles/qwindowsxpstyle.cpp +++ b/src/widgets/styles/qwindowsxpstyle.cpp @@ -2724,7 +2724,7 @@ void QWindowsXPStyle::drawComplexControl(ComplexControl cc, const QStyleOptionCo } break; -#ifndef QT_NO_SLIDER +#if QT_CONFIG(slider) case CC_Slider: if (const QStyleOptionSlider *slider = qstyleoption_cast(option)) { diff --git a/src/widgets/widgets/qslider.cpp b/src/widgets/widgets/qslider.cpp index 356cbcfce7..47d3b2fb81 100644 --- a/src/widgets/widgets/qslider.cpp +++ b/src/widgets/widgets/qslider.cpp @@ -38,7 +38,6 @@ ****************************************************************************/ #include "qslider.h" -#ifndef QT_NO_SLIDER #ifndef QT_NO_ACCESSIBILITY #include "qaccessible.h" #endif @@ -547,8 +546,6 @@ Q_WIDGETS_EXPORT QStyleOptionSlider qt_qsliderStyleOption(QSlider *slider) return sliderOption; } -#endif - QT_END_NAMESPACE #include "moc_qslider.cpp" diff --git a/src/widgets/widgets/qslider.h b/src/widgets/widgets/qslider.h index 001863c18d..642e836af7 100644 --- a/src/widgets/widgets/qslider.h +++ b/src/widgets/widgets/qslider.h @@ -42,12 +42,11 @@ #include -#if QT_CONFIG(slider) - #include -QT_BEGIN_NAMESPACE +QT_REQUIRE_CONFIG(slider); +QT_BEGIN_NAMESPACE class QSliderPrivate; class QStyleOptionSlider; @@ -102,6 +101,4 @@ private: QT_END_NAMESPACE -#endif // QT_CONFIG(slider) - #endif // QSLIDER_H diff --git a/src/widgets/widgets/widgets.pri b/src/widgets/widgets/widgets.pri index 41e4bd16b9..361e336474 100644 --- a/src/widgets/widgets/widgets.pri +++ b/src/widgets/widgets/widgets.pri @@ -5,7 +5,6 @@ HEADERS += \ widgets/qframe_p.h \ widgets/qmenu.h \ widgets/qmenu_p.h \ - widgets/qslider.h \ widgets/qtextedit.h \ widgets/qtextedit_p.h \ widgets/qtoolbar.h \ @@ -23,7 +22,6 @@ HEADERS += \ SOURCES += \ widgets/qframe.cpp \ widgets/qmenu.cpp \ - widgets/qslider.cpp \ widgets/qtextedit.cpp \ widgets/qtoolbar.cpp \ widgets/qtoolbarlayout.cpp \ @@ -257,6 +255,11 @@ qtConfig(sizegrip) { SOURCES += widgets/qsizegrip.cpp } +qtConfig(slider) { + HEADERS += widgets/qslider.h + SOURCES += widgets/qslider.cpp +} + qtConfig(spinbox) { HEADERS += \ widgets/qabstractspinbox.h \ -- cgit v1.2.3 From 01ea60fdd2cb0b0f0ffc45ec7fba84ef2a7dff00 Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Mon, 4 Sep 2017 09:32:24 +0200 Subject: Testlib: Do not list unsupported option This option is listed when displaying the help of Quick tests, but was never actively supported as it had been removed before Qt5.0 was finally released. Change-Id: I4cdf8d86471ab72e289f27a07a5f04c0338bfdbd Reviewed-by: Friedemann Kleint --- src/testlib/qtestcase.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/testlib/qtestcase.cpp b/src/testlib/qtestcase.cpp index 74a5d0ac19..4c5c9e1eb8 100644 --- a/src/testlib/qtestcase.cpp +++ b/src/testlib/qtestcase.cpp @@ -577,7 +577,6 @@ Q_TESTLIB_EXPORT void qtest_qParseArgs(int argc, char *argv[], bool qml) " -import dir : Specify an import directory.\n" " -plugins dir : Specify a directory where to search for plugins.\n" " -input dir/file : Specify the root directory for test cases or a single test case file.\n" - " -qtquick1 : Run with QtQuick 1 rather than QtQuick 2.\n" " -translation file : Specify the translation file.\n" ); } @@ -774,7 +773,6 @@ Q_TESTLIB_EXPORT void qtest_qParseArgs(int argc, char *argv[], bool qml) " -import : Specify an import directory.\n" " -plugins : Specify a directory where to search for plugins.\n" " -input : Specify the root directory for test cases.\n" - " -qtquick1 : Run with QtQuick 1 rather than QtQuick 2.\n" ); } -- cgit v1.2.3 From 9ad0e09f5bbaab8ced2ea6bb175bbd13935413cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thorbj=C3=B8rn=20Lund=20Martsum?= Date: Fri, 25 Aug 2017 12:46:51 +0200 Subject: QMenu: Fix size on high DPI + multi screen When calculating item sizes (used for menu size) the styles consider the widget screen. This widget screen could be a wrong default or an obsolete value. This patch ensures the screen is correct set on popup. [ChangeLog][QtWidgets][QMenu] Fixed menu size issue when using high DPI on multi-screen system. Task-number: QTBUG-59794 Change-Id: I84461441d5d33cb8dc04ab1acb9630fbfc8c5514 Reviewed-by: Friedemann Kleint Reviewed-by: Morten Kristensen Reviewed-by: Per Liboriussen Reviewed-by: Gabriel de Dietrich --- src/widgets/widgets/qmenu.cpp | 19 +++++++++++++++++++ src/widgets/widgets/qmenu_p.h | 1 + 2 files changed, 20 insertions(+) diff --git a/src/widgets/widgets/qmenu.cpp b/src/widgets/widgets/qmenu.cpp index 0a5c52abe6..38f53f089d 100644 --- a/src/widgets/widgets/qmenu.cpp +++ b/src/widgets/widgets/qmenu.cpp @@ -849,6 +849,24 @@ void QMenuPrivate::_q_overrideMenuActionDestroyed() menuAction=defaultMenuAction; } +void QMenuPrivate::adjustMenuScreen(const QPoint &p) +{ + Q_Q(QMenu); + // The windowHandle must point to the screen where the menu will be shown. + // The (item) size calculations depend on the menu screen, + // so a wrong screen would often cause wrong sizes (on high DPI) + const QScreen *primaryScreen = QApplication::primaryScreen(); + const QScreen *currentScreen = q->windowHandle() ? q->windowHandle()->screen() : primaryScreen; + const int screenNumberForPoint = QApplication::desktop()->screenNumber(p); + QScreen *actualScreen = QGuiApplication::screens().at(screenNumberForPoint); + if (actualScreen && currentScreen != actualScreen) { + if (!q->windowHandle()) // Try to create a window handle if not created. + createWinId(); + if (q->windowHandle()) + q->windowHandle()->setScreen(actualScreen); + itemsDirty = true; + } +} void QMenuPrivate::updateLayoutDirection() { @@ -2313,6 +2331,7 @@ void QMenu::popup(const QPoint &p, QAction *atAction) d->motions = 0; d->doChildEffects = true; d->updateLayoutDirection(); + d->adjustMenuScreen(p); #if QT_CONFIG(menubar) // if this menu is part of a chain attached to a QMenuBar, set the diff --git a/src/widgets/widgets/qmenu_p.h b/src/widgets/widgets/qmenu_p.h index 65975da984..c24080e42e 100644 --- a/src/widgets/widgets/qmenu_p.h +++ b/src/widgets/widgets/qmenu_p.h @@ -447,6 +447,7 @@ public: bool hasMouseMoved(const QPoint &globalPos); + void adjustMenuScreen(const QPoint &p); void updateLayoutDirection(); //menu fading/scrolling effects -- cgit v1.2.3 From 1d5e55c2a34b0d5693a148075e3840aed9cab8b7 Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Tue, 12 Sep 2017 10:17:02 +0200 Subject: Improve performance of QVariant::canConvert() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add an early check if both types are the same. Change-Id: If6fc60a58fce641521c083bf920e72bf3d2d4c28 Reviewed-by: Jędrzej Nowacki Reviewed-by: Thiago Macieira --- src/corelib/kernel/qvariant.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/corelib/kernel/qvariant.cpp b/src/corelib/kernel/qvariant.cpp index e6262124fb..a0bbcc235e 100644 --- a/src/corelib/kernel/qvariant.cpp +++ b/src/corelib/kernel/qvariant.cpp @@ -3052,6 +3052,9 @@ static bool canConvertMetaObject(int fromId, int toId, QObject *fromObject) */ bool QVariant::canConvert(int targetTypeId) const { + if (d.type == targetTypeId) + return true; + if ((targetTypeId == QMetaType::QModelIndex && d.type == QMetaType::QPersistentModelIndex) || (targetTypeId == QMetaType::QPersistentModelIndex && d.type == QMetaType::QModelIndex)) return true; -- cgit v1.2.3 From 793f0ddec2a1ac04360adf468197fe76f75051d9 Mon Sep 17 00:00:00 2001 From: Andy Shaw Date: Fri, 18 Aug 2017 12:35:27 +0200 Subject: Win: Handle installation of read-only target files correctly When the source file is read-only then it would copy the file with that attribute set when it is installed. However this will cause a problem if it is installed a second time. Therefore the read-only attribute needs to be manually reset before installing and again before touching the file. Once the process is done then it is set back to be read-only to preserve the state of the original. Change-Id: I1c01f418ef3c9bd434acd2c2b8ee695544d7bb35 Reviewed-by: Oswald Buddenhagen --- qmake/main.cpp | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/qmake/main.cpp b/qmake/main.cpp index 13b18d018a..85709dc9bf 100644 --- a/qmake/main.cpp +++ b/qmake/main.cpp @@ -245,9 +245,15 @@ static int doLink(int argc, char **argv) static int installFile(const QString &source, const QString &target, bool exe = false) { QFile sourceFile(source); - - QFile::remove(target); - QDir::root().mkpath(QFileInfo(target).absolutePath()); + QFile targetFile(target); + if (targetFile.exists()) { +#ifdef Q_OS_WIN + targetFile.setPermissions(targetFile.permissions() | QFile::WriteUser); +#endif + QFile::remove(target); + } else { + QDir::root().mkpath(QFileInfo(target).absolutePath()); + } if (!sourceFile.copy(target)) { fprintf(stderr, "Error copying %s to %s: %s\n", source.toLatin1().constData(), qPrintable(target), qPrintable(sourceFile.errorString())); @@ -255,7 +261,6 @@ static int installFile(const QString &source, const QString &target, bool exe = } if (exe) { - QFile targetFile(target); if (!targetFile.setPermissions(sourceFile.permissions() | QFileDevice::ExeOwner | QFileDevice::ExeUser | QFileDevice::ExeGroup | QFileDevice::ExeOther)) { fprintf(stderr, "Error setting execute permissions on %s: %s\n", @@ -266,10 +271,20 @@ static int installFile(const QString &source, const QString &target, bool exe = // Copy file times QString error; +#ifdef Q_OS_WIN + const QFile::Permissions permissions = targetFile.permissions(); + const bool readOnly = !(permissions & QFile::WriteUser); + if (readOnly) + targetFile.setPermissions(permissions | QFile::WriteUser); +#endif if (!IoUtils::touchFile(target, sourceFile.fileName(), &error)) { fprintf(stderr, "%s", qPrintable(error)); return 3; } +#ifdef Q_OS_WIN + if (readOnly) + targetFile.setPermissions(permissions); +#endif return 0; } -- cgit v1.2.3 From 1394610c79dad72a490be79b5af3869437375a16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A5rten=20Nordheim?= Date: Wed, 13 Sep 2017 11:45:25 +0200 Subject: Workaround for proxyChange failing when run alone The issue itself is not really worth fixing (the very first request being supposed to have a different proxy than any of the other following requests before a session has been initiated), but we can at least make the test pass when it is run alone. Task-number: QTBUG-63134 Change-Id: I6c7df5c5653541031811e6bff562572061afae0f Reviewed-by: Timur Pocheptsov --- tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp b/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp index 855b1f9041..e995b69f60 100644 --- a/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp +++ b/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp @@ -5773,6 +5773,15 @@ void tst_QNetworkReply::proxyChange() QNetworkRequest req(QUrl("http://" + QtNetworkSettings::serverName())); proxyServer.doClose = false; + { + // Needed to initialize a network session in QNAM. Without an initialized session the GET + // will be deferred until later, and the proxy will be unset first. This caused the test to + // fail in standalone runs (it passed in CI because the same QNAM instance is used for the + // entire test). + QNetworkReplyPtr temporary(manager.get(req)); + waitForFinish(temporary); + } + manager.setProxy(dummyProxy); QNetworkReplyPtr reply1(manager.get(req)); connect(reply1, SIGNAL(finished()), &helper, SLOT(finishedSlot())); -- cgit v1.2.3 From 84fcc38955f16e6717f3183dd82eed5ddd76d27f Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Thu, 20 Jul 2017 01:03:03 -0700 Subject: Autotest: when using libproxy, QNetworkProxyFactory isn't generic Looks like whoever created the blacklist never tried to figure out why it happened. Change-Id: I84e45059a888497fb55ffffd14d2fb29e32a4521 Reviewed-by: Edward Welbourne Reviewed-by: Timur Pocheptsov --- tests/auto/network/kernel/qnetworkproxyfactory/BLACKLIST | 2 -- .../auto/network/kernel/qnetworkproxyfactory/qnetworkproxyfactory.pro | 2 +- .../network/kernel/qnetworkproxyfactory/tst_qnetworkproxyfactory.cpp | 4 +++- 3 files changed, 4 insertions(+), 4 deletions(-) delete mode 100644 tests/auto/network/kernel/qnetworkproxyfactory/BLACKLIST diff --git a/tests/auto/network/kernel/qnetworkproxyfactory/BLACKLIST b/tests/auto/network/kernel/qnetworkproxyfactory/BLACKLIST deleted file mode 100644 index 73570c98b7..0000000000 --- a/tests/auto/network/kernel/qnetworkproxyfactory/BLACKLIST +++ /dev/null @@ -1,2 +0,0 @@ -[genericSystemProxy] -ubuntu-14.04 diff --git a/tests/auto/network/kernel/qnetworkproxyfactory/qnetworkproxyfactory.pro b/tests/auto/network/kernel/qnetworkproxyfactory/qnetworkproxyfactory.pro index ed73e3e10e..a7fa43015f 100644 --- a/tests/auto/network/kernel/qnetworkproxyfactory/qnetworkproxyfactory.pro +++ b/tests/auto/network/kernel/qnetworkproxyfactory/qnetworkproxyfactory.pro @@ -4,6 +4,6 @@ CONFIG += testcase TARGET = tst_qnetworkproxyfactory -QT = core network testlib +QT = core network-private testlib SOURCES += tst_qnetworkproxyfactory.cpp diff --git a/tests/auto/network/kernel/qnetworkproxyfactory/tst_qnetworkproxyfactory.cpp b/tests/auto/network/kernel/qnetworkproxyfactory/tst_qnetworkproxyfactory.cpp index 4f947a5738..01566d795d 100644 --- a/tests/auto/network/kernel/qnetworkproxyfactory/tst_qnetworkproxyfactory.cpp +++ b/tests/auto/network/kernel/qnetworkproxyfactory/tst_qnetworkproxyfactory.cpp @@ -44,6 +44,8 @@ #include #include +#include + class tst_QNetworkProxyFactory : public QObject { Q_OBJECT @@ -367,7 +369,7 @@ void tst_QNetworkProxyFactory::genericSystemProxy() QFETCH(int, port); // The generic system proxy is only available on the following platforms -#if (!defined Q_OS_WIN) && (!defined Q_OS_OSX) +#if (!defined Q_OS_WIN) && (!defined Q_OS_OSX) && !QT_CONFIG(libproxy) qputenv(envVar, url); const QList systemProxy = QNetworkProxyFactory::systemProxyForQuery(); QCOMPARE(systemProxy.size(), 1); -- cgit v1.2.3 From b6e99ec056387e8720ef5acff824089fe585e00a Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Mon, 4 Sep 2017 16:36:03 +0200 Subject: Optimize QVariant::cmp() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Don't always copy the variants that we want to compare. This can in some cases be a relatively expensive operation. Change-Id: I2b3fd246ac136b19d8a8d281fbdcfb0417c8fb6c Reviewed-by: Sean Harmer Reviewed-by: Jędrzej Nowacki --- src/corelib/kernel/qvariant.cpp | 89 +++++++++++++++++++++++------------------ 1 file changed, 49 insertions(+), 40 deletions(-) diff --git a/src/corelib/kernel/qvariant.cpp b/src/corelib/kernel/qvariant.cpp index a0bbcc235e..36fd4567a7 100644 --- a/src/corelib/kernel/qvariant.cpp +++ b/src/corelib/kernel/qvariant.cpp @@ -3517,29 +3517,36 @@ static int numericCompare(const QVariant::Private *d1, const QVariant::Private * */ bool QVariant::cmp(const QVariant &v) const { + auto cmp_helper = [] (const QVariant::Private &d1, const QVariant::Private &d2) + { + Q_ASSERT(d1.type == d2.type); + if (d1.type >= QMetaType::User) { + int result; + if (QMetaType::equals(QT_PREPEND_NAMESPACE(constData(d1)), QT_PREPEND_NAMESPACE(constData(d2)), d1.type, &result)) + return result == 0; + } + return handlerManager[d1.type]->compare(&d1, &d2); + }; + // try numerics first, with C++ type promotion rules (no conversion) if (qIsNumericType(d.type) && qIsNumericType(v.d.type)) return numericCompare(&d, &v.d) == 0; + if (d.type == v.d.type) + return cmp_helper(d, v.d); + QVariant v1 = *this; QVariant v2 = v; - if (d.type != v2.d.type) { - if (v2.canConvert(v1.d.type)) { - if (!v2.convert(v1.d.type)) - return false; - } else { - // try the opposite conversion, it might work - qSwap(v1, v2); - if (!v2.convert(v1.d.type)) - return false; - } - } - if (v1.d.type >= QMetaType::User) { - int result; - if (QMetaType::equals(QT_PREPEND_NAMESPACE(constData(v1.d)), QT_PREPEND_NAMESPACE(constData(v2.d)), v1.d.type, &result)) - return result == 0; + if (v2.canConvert(v1.d.type)) { + if (!v2.convert(v1.d.type)) + return false; + } else { + // try the opposite conversion, it might work + qSwap(v1, v2); + if (!v2.convert(v1.d.type)) + return false; } - return handlerManager[v1.d.type]->compare(&v1.d, &v2.d); + return cmp_helper(v1.d, v2.d); } /*! @@ -3555,51 +3562,53 @@ int QVariant::compare(const QVariant &v) const if (cmp(v)) return 0; - QVariant v1 = *this; - QVariant v2 = v; + const QVariant *v1 = this; + const QVariant *v2 = &v; + QVariant converted1; + QVariant converted2; - if (v1.d.type != v2.d.type) { + if (d.type != v.d.type) { // if both types differ, try to convert - if (v2.canConvert(v1.d.type)) { - QVariant temp = v2; - if (temp.convert(v1.d.type)) - v2 = temp; + if (v2->canConvert(v1->d.type)) { + converted2 = *v2; + if (converted2.convert(v1->d.type)) + v2 = &converted2; } - if (v1.d.type != v2.d.type && v1.canConvert(v2.d.type)) { - QVariant temp = v1; - if (temp.convert(v2.d.type)) - v1 = temp; + if (v1->d.type != v2->d.type && v1->canConvert(v2->d.type)) { + converted1 = *v1; + if (converted1.convert(v2->d.type)) + v1 = &converted1; } - if (v1.d.type != v2.d.type) { + if (v1->d.type != v2->d.type) { // if conversion fails, default to toString - int r = v1.toString().compare(v2.toString(), Qt::CaseInsensitive); + int r = v1->toString().compare(v2->toString(), Qt::CaseInsensitive); if (r == 0) { // cmp(v) returned false, so we should try to agree with it. - return (v1.d.type < v2.d.type) ? -1 : 1; + return (v1->d.type < v2->d.type) ? -1 : 1; } return r; } // did we end up with two numerics? If so, restart - if (qIsNumericType(v1.d.type) && qIsNumericType(v2.d.type)) - return v1.compare(v2); + if (qIsNumericType(v1->d.type) && qIsNumericType(v2->d.type)) + return v1->compare(*v2); } - if (v1.d.type >= QMetaType::User) { + if (v1->d.type >= QMetaType::User) { int result; - if (QMetaType::compare(QT_PREPEND_NAMESPACE(constData(d)), QT_PREPEND_NAMESPACE(constData(v2.d)), d.type, &result)) + if (QMetaType::compare(QT_PREPEND_NAMESPACE(constData(d)), QT_PREPEND_NAMESPACE(constData(v2->d)), d.type, &result)) return result; } - switch (v1.d.type) { + switch (v1->d.type) { case QVariant::Date: - return v1.toDate() < v2.toDate() ? -1 : 1; + return v1->toDate() < v2->toDate() ? -1 : 1; case QVariant::Time: - return v1.toTime() < v2.toTime() ? -1 : 1; + return v1->toTime() < v2->toTime() ? -1 : 1; case QVariant::DateTime: - return v1.toDateTime() < v2.toDateTime() ? -1 : 1; + return v1->toDateTime() < v2->toDateTime() ? -1 : 1; case QVariant::StringList: - return v1.toStringList() < v2.toStringList() ? -1 : 1; + return v1->toStringList() < v2->toStringList() ? -1 : 1; } - int r = v1.toString().compare(v2.toString(), Qt::CaseInsensitive); + int r = v1->toString().compare(v2->toString(), Qt::CaseInsensitive); if (r == 0) { // cmp(v) returned false, so we should try to agree with it. return (d.type < v.d.type) ? -1 : 1; -- cgit v1.2.3 From 590e71a69cc74b4e7da1ccb19a1304047dbaecb8 Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Wed, 13 Sep 2017 11:07:58 +0200 Subject: Fix convertToFormat with color-tables The function was only well defined from RGB32 and ARGB32PM formats, this patch fixes it so it behaves well from all formats. Task-number: QTBUG-63163 Change-Id: Id892531d9aaf997b707b430196c1166493792a2a Reviewed-by: Eirik Aavitsland --- src/gui/image/qimage.cpp | 23 ++++++----------------- tests/auto/gui/image/qimage/tst_qimage.cpp | 13 +++++++++++++ 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/src/gui/image/qimage.cpp b/src/gui/image/qimage.cpp index b2e5ac93b1..43b77a862d 100644 --- a/src/gui/image/qimage.cpp +++ b/src/gui/image/qimage.cpp @@ -2096,8 +2096,8 @@ static QImage convertWithPalette(const QImage &src, QImage::Format format, Returns a copy of the image converted to the given \a format, using the specified \a colorTable. - Conversion from 32 bit to 8 bit indexed is a slow operation and - will use a straightforward nearest color approach, with no + Conversion from RGB formats to indexed formats is a slow operation + and will use a straightforward nearest color approach, with no dithering. */ QImage QImage::convertToFormat(Format format, const QVector &colorTable, Qt::ImageConversionFlags flags) const @@ -2105,23 +2105,12 @@ QImage QImage::convertToFormat(Format format, const QVector &colorTable, Q if (!d || d->format == format) return *this; - if (format <= QImage::Format_Indexed8 && depth() == 32) { - return convertWithPalette(*this, format, colorTable); - } - - const Image_Converter *converterPtr = &qimage_converter_map[d->format][format]; - Image_Converter converter = *converterPtr; - if (!converter) + if (format == QImage::Format_Invalid) return QImage(); + if (format <= QImage::Format_Indexed8) + return convertWithPalette(convertToFormat(QImage::Format_ARGB32, flags), format, colorTable); - QImage image(d->width, d->height, format); - QIMAGE_SANITYCHECK_MEMORY(image); - - image.d->offset = offset(); - copyMetadata(image.d, d); - - converter(image.d, d, flags); - return image; + return convertToFormat(format, flags); } /*! diff --git a/tests/auto/gui/image/qimage/tst_qimage.cpp b/tests/auto/gui/image/qimage/tst_qimage.cpp index fac785ac86..73e11e7cc7 100644 --- a/tests/auto/gui/image/qimage/tst_qimage.cpp +++ b/tests/auto/gui/image/qimage/tst_qimage.cpp @@ -69,6 +69,7 @@ private slots: void convertToFormat_data(); void convertToFormat(); + void convertToFormatWithColorTable(); void convertToFormatRgb888ToRGB32(); @@ -958,6 +959,18 @@ void tst_QImage::convertToFormat() QFile::remove(QLatin1String("expected2.xpm")); } +void tst_QImage::convertToFormatWithColorTable() +{ + QVector colors(2); + colors[0] = 0xFF000000; + colors[1] = 0xFFFFFFFF; + for (int format = QImage::Format_RGB32; format < QImage::Format_Alpha8; ++format) { + QImage fromImage(10, 10, (QImage::Format)format); + QImage bitmap = fromImage.convertToFormat(QImage::Format_Mono, colors); + QVERIFY(!bitmap.isNull()); + } +} + void tst_QImage::convertToFormatRgb888ToRGB32() { // 545 so width % 4 != 0. This ensure there is padding at the end of the scanlines -- cgit v1.2.3 From 3d67793a9ec01f15e3dcf6b59e6e0df5f59bdfad Mon Sep 17 00:00:00 2001 From: Michael Winkelmann Date: Thu, 20 Jul 2017 16:39:01 +0200 Subject: Revamp SQL examples to C++11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Changed signals and slots to new syntax, used nullptr and replaced foreach with new C++11 range based for loops. Also fixed a few minor flaws. Task-number: QTBUG-60633 Change-Id: Ice4030133971912f96752d9d84c638c70fd73e35 Reviewed-by: Jesus Fernandez Reviewed-by: André Hartmann Reviewed-by: Friedemann Kleint --- examples/sql/cachedtable/tableeditor.cpp | 6 +-- examples/sql/cachedtable/tableeditor.h | 2 +- examples/sql/connection.h | 12 +++--- examples/sql/doc/src/drilldown.qdoc | 33 +++++++++++------ examples/sql/drilldown/imageitem.cpp | 6 +-- examples/sql/drilldown/imageitem.h | 4 +- examples/sql/drilldown/informationwindow.cpp | 18 +++++---- examples/sql/drilldown/informationwindow.h | 20 +++++----- examples/sql/drilldown/main.cpp | 11 ++++-- examples/sql/drilldown/view.cpp | 36 +++++++----------- examples/sql/drilldown/view.h | 4 +- examples/sql/masterdetail/database.h | 12 +++--- examples/sql/masterdetail/dialog.cpp | 12 +++--- examples/sql/masterdetail/dialog.h | 8 ++-- examples/sql/masterdetail/main.cpp | 13 ++++--- examples/sql/masterdetail/mainwindow.cpp | 43 ++++++++++++---------- examples/sql/masterdetail/mainwindow.h | 2 +- examples/sql/querymodel/customsqlmodel.h | 2 +- examples/sql/querymodel/editablesqlmodel.h | 2 +- examples/sql/querymodel/main.cpp | 9 +++-- .../relationaltablemodel/relationaltablemodel.cpp | 3 +- examples/sql/sqlbrowser/browser.cpp | 6 +-- examples/sql/sqlbrowser/browser.h | 6 ++- examples/sql/sqlbrowser/connectionwidget.cpp | 5 +-- examples/sql/sqlbrowser/connectionwidget.h | 2 +- examples/sql/sqlbrowser/main.cpp | 14 ++++--- examples/sql/sqlbrowser/qsqlconnectiondialog.h | 2 +- examples/sql/sqlwidgetmapper/window.cpp | 12 +++--- examples/sql/sqlwidgetmapper/window.h | 2 +- examples/sql/tablemodel/tablemodel.cpp | 10 +++-- 30 files changed, 171 insertions(+), 146 deletions(-) diff --git a/examples/sql/cachedtable/tableeditor.cpp b/examples/sql/cachedtable/tableeditor.cpp index 71e441486d..95c3047c76 100644 --- a/examples/sql/cachedtable/tableeditor.cpp +++ b/examples/sql/cachedtable/tableeditor.cpp @@ -85,9 +85,9 @@ TableEditor::TableEditor(const QString &tableName, QWidget *parent) //! [2] //! [3] - connect(submitButton, SIGNAL(clicked()), this, SLOT(submit())); - connect(revertButton, SIGNAL(clicked()), model, SLOT(revertAll())); - connect(quitButton, SIGNAL(clicked()), this, SLOT(close())); + connect(submitButton, &QPushButton::clicked, this, &TableEditor::submit); + connect(revertButton, &QPushButton::clicked, model, &QSqlTableModel::revertAll); + connect(quitButton, &QPushButton::clicked, this, &TableEditor::close); //! [3] //! [4] diff --git a/examples/sql/cachedtable/tableeditor.h b/examples/sql/cachedtable/tableeditor.h index 6544276cbe..727aa88ab3 100644 --- a/examples/sql/cachedtable/tableeditor.h +++ b/examples/sql/cachedtable/tableeditor.h @@ -65,7 +65,7 @@ class TableEditor : public QWidget Q_OBJECT public: - explicit TableEditor(const QString &tableName, QWidget *parent = 0); + explicit TableEditor(const QString &tableName, QWidget *parent = nullptr); private slots: void submit(); diff --git a/examples/sql/connection.h b/examples/sql/connection.h index 3bedf4b061..482feff5b4 100644 --- a/examples/sql/connection.h +++ b/examples/sql/connection.h @@ -70,12 +70,12 @@ static bool createConnection() QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName(":memory:"); if (!db.open()) { - QMessageBox::critical(0, qApp->tr("Cannot open database"), - qApp->tr("Unable to establish a database connection.\n" - "This example needs SQLite support. Please read " - "the Qt SQL driver documentation for information how " - "to build it.\n\n" - "Click Cancel to exit."), QMessageBox::Cancel); + QMessageBox::critical(nullptr, QObject::tr("Cannot open database"), + QObject::tr("Unable to establish a database connection.\n" + "This example needs SQLite support. Please read " + "the Qt SQL driver documentation for information how " + "to build it.\n\n" + "Click Cancel to exit."), QMessageBox::Cancel); return false; } diff --git a/examples/sql/doc/src/drilldown.qdoc b/examples/sql/doc/src/drilldown.qdoc index 1fcac41eeb..e8841d2013 100644 --- a/examples/sql/doc/src/drilldown.qdoc +++ b/examples/sql/doc/src/drilldown.qdoc @@ -172,11 +172,20 @@ \snippet drilldown/informationwindow.cpp 4 Finally, we connect the "something's changed" signals in the - editors to our custom \c enableButtons() slot, enabling the users - to either submit or revert their changes. We add all the widgets - into a layout, store the item ID and the name of the displayed - image file for future reference, and set the window title and - initial size. + editors to our custom \c enableButtons slot, enabling the users + to either submit or revert their changes. + We need to use lambdas for connecting the \c enableButtons slot + because its signature does not match \c QTextEdit::textChanged + and \c QComboBox::currentIndexChanged. + Since the latter has another overload with the signature + \c {const QString &} and the selected signal would be ambiguous, + we need to use \c QOverload::of to select a specific overload + for \c currentIndexChanged. + + We add all the widgets into a layout, store the item ID and the + name of the displayed image file for future reference, and set + the window title and initial size. + Note that we also set the Qt::Window window flag to indicate that our widget is in fact a window, with a window system frame and a @@ -389,19 +398,21 @@ \snippet drilldown/view.cpp 6 The \c showInformation() function is given an \c ImageItem object - as argument, and starts off by extracting the item's item - ID. Then it determines if there already is created an information - window for this location. If it is, and the window is visible, it - ensures that the window is raised to the top of the widget stack - and activated. If the window exists but is hidden, calling its \l - {QWidget::}{show()} slot gives the same result. + as argument, and starts off by extracting the item's item ID. + Then it determines if there already is created an information + window for this location. If no window for the given location exists, we create one by passing the item ID, a pointer to the model, and our view as a parent, to the \c InformationWindow constructor. Note that we connect the information window's \c imageChanged() signal to \e this widget's \c updateImage() slot, before we give it a suitable position and add it to the list of existing windows. + If there is a window for the given location, and that window is + visible, it ensures that the window is raised to the top of the + widget stack and activated. If it is hidden, calling its \l + {QWidget::}{show()} slot gives the same result. + \snippet drilldown/view.cpp 7 diff --git a/examples/sql/drilldown/imageitem.cpp b/examples/sql/drilldown/imageitem.cpp index 4e440fc786..04ec614755 100644 --- a/examples/sql/drilldown/imageitem.cpp +++ b/examples/sql/drilldown/imageitem.cpp @@ -60,8 +60,8 @@ ImageItem::ImageItem(int id, const QPixmap &pixmap, QGraphicsItem *parent) timeLine.setDuration(150); timeLine.setFrameRange(0, 150); - connect(&timeLine, SIGNAL(frameChanged(int)), this, SLOT(setFrame(int))); - connect(&timeLine, SIGNAL(finished()), this, SLOT(updateItemPosition())); + connect(&timeLine, &QTimeLine::frameChanged, this, &ImageItem::setFrame); + connect(&timeLine, &QTimeLine::finished, this, &ImageItem::updateItemPosition); adjust(); } @@ -116,7 +116,7 @@ void ImageItem::adjust() //! [4] //! [5] -int ImageItem::id() +int ImageItem::id() const { return recordId; } diff --git a/examples/sql/drilldown/imageitem.h b/examples/sql/drilldown/imageitem.h index 4f773a6dfc..abb9103c7e 100644 --- a/examples/sql/drilldown/imageitem.h +++ b/examples/sql/drilldown/imageitem.h @@ -60,10 +60,10 @@ class ImageItem : public QObject, public QGraphicsPixmapItem Q_OBJECT public: - ImageItem(int id, const QPixmap &pixmap, QGraphicsItem *parent = 0); + ImageItem(int id, const QPixmap &pixmap, QGraphicsItem *parent = nullptr); void adjust(); - int id(); + int id() const; protected: void hoverEnterEvent(QGraphicsSceneHoverEvent *event) override; diff --git a/examples/sql/drilldown/informationwindow.cpp b/examples/sql/drilldown/informationwindow.cpp index 2536b0ca91..0007432672 100644 --- a/examples/sql/drilldown/informationwindow.cpp +++ b/examples/sql/drilldown/informationwindow.cpp @@ -84,10 +84,12 @@ InformationWindow::InformationWindow(int id, QSqlRelationalTableModel *items, //! [3] //! [4] - connect(descriptionEditor, SIGNAL(textChanged()), - this, SLOT(enableButtons())); - connect(imageFileEditor, SIGNAL(currentIndexChanged(int)), - this, SLOT(enableButtons())); + connect(descriptionEditor, &QTextEdit::textChanged, [=]() { + enableButtons(); + }); + connect(imageFileEditor, QOverload::of(&QComboBox::currentIndexChanged), [=]() { + enableButtons(); + }); QFormLayout *formLayout = new QFormLayout; formLayout->addRow(itemLabel, itemText); @@ -109,7 +111,7 @@ InformationWindow::InformationWindow(int id, QSqlRelationalTableModel *items, //! [4] //! [5] -int InformationWindow::id() +int InformationWindow::id() const { return itemId; } @@ -149,9 +151,9 @@ void InformationWindow::createButtons() closeButton->setDefault(true); - connect(closeButton, SIGNAL(clicked()), this, SLOT(close())); - connect(revertButton, SIGNAL(clicked()), this, SLOT(revert())); - connect(submitButton, SIGNAL(clicked()), this, SLOT(submit())); + connect(closeButton, &QPushButton::clicked, this, &InformationWindow::close); + connect(revertButton, &QPushButton::clicked, this, &InformationWindow::revert); + connect(submitButton, &QPushButton::clicked, this, &InformationWindow::submit); //! [8] //! [9] diff --git a/examples/sql/drilldown/informationwindow.h b/examples/sql/drilldown/informationwindow.h index 6e87cea65a..653837d722 100644 --- a/examples/sql/drilldown/informationwindow.h +++ b/examples/sql/drilldown/informationwindow.h @@ -61,9 +61,9 @@ class InformationWindow : public QDialog public: InformationWindow(int id, QSqlRelationalTableModel *items, - QWidget *parent = 0); + QWidget *parent = nullptr); - int id(); + int id() const; signals: void imageChanged(int id, const QString &fileName); @@ -83,16 +83,16 @@ private: int itemId; QString displayedImage; - QComboBox *imageFileEditor; - QLabel *itemText; - QTextEdit *descriptionEditor; + QComboBox *imageFileEditor = nullptr; + QLabel *itemText = nullptr; + QTextEdit *descriptionEditor = nullptr; - QPushButton *closeButton; - QPushButton *submitButton; - QPushButton *revertButton; - QDialogButtonBox *buttonBox; + QPushButton *closeButton = nullptr; + QPushButton *submitButton = nullptr; + QPushButton *revertButton = nullptr; + QDialogButtonBox *buttonBox = nullptr; - QDataWidgetMapper *mapper; + QDataWidgetMapper *mapper = nullptr; }; //! [2] diff --git a/examples/sql/drilldown/main.cpp b/examples/sql/drilldown/main.cpp index 3465d11b4d..db3320de48 100644 --- a/examples/sql/drilldown/main.cpp +++ b/examples/sql/drilldown/main.cpp @@ -48,10 +48,13 @@ ** ****************************************************************************/ -#include - -#include "../connection.h" #include "view.h" +#include "../connection.h" + +#include + +#include + int main(int argc, char *argv[]) { @@ -60,7 +63,7 @@ int main(int argc, char *argv[]) QApplication app(argc, argv); if (!createConnection()) - return 1; + return EXIT_FAILURE; View view("items", "images"); view.show(); diff --git a/examples/sql/drilldown/view.cpp b/examples/sql/drilldown/view.cpp index fc05d2fcaf..13e9310061 100644 --- a/examples/sql/drilldown/view.cpp +++ b/examples/sql/drilldown/view.cpp @@ -89,8 +89,6 @@ void View::addItems() int topMargin = 40; for (int i = 0; i < itemCount; i++) { - ImageItem *image; - QGraphicsTextItem *label; QSqlRecord record = itemTable->record(i); int id = record.value("id").toInt(); @@ -101,12 +99,12 @@ void View::addItems() int x = ((i % 2) * imageOffset) + leftMargin + columnOffset; int y = ((i / 2) * imageOffset) + topMargin; - image = new ImageItem(id, QPixmap(":/" + file)); + ImageItem *image = new ImageItem(id, QPixmap(":/" + file)); image->setData(0, i); image->setPos(x, y); scene->addItem(image); - label = scene->addText(item); + QGraphicsTextItem *label = scene->addText(item); label->setDefaultTextColor(QColor("#d7d6d5")); QPointF labelOffset((120 - label->boundingRect().width()) / 2, 120.0); label->setPos(QPointF(x, y) + labelOffset); @@ -133,22 +131,22 @@ void View::showInformation(ImageItem *image) return; InformationWindow *window = findWindow(id); - if (window && window->isVisible()) { - window->raise(); - window->activateWindow(); - } else if (window && !window->isVisible()) { - window->show(); - } else { - InformationWindow *window; + if (!window) { window = new InformationWindow(id, itemTable, this); - connect(window, SIGNAL(imageChanged(int,QString)), - this, SLOT(updateImage(int,QString))); + connect(window, QOverload::of(&InformationWindow::imageChanged), + this, QOverload::of(&View::updateImage)); window->move(pos() + QPoint(20, 40)); window->show(); informationWindows.append(window); } + + if (window->isVisible()) { + window->raise(); + window->activateWindow(); + } else + window->show(); } //! [6] @@ -172,19 +170,13 @@ void View::updateImage(int id, const QString &fileName) //! [7] //! [8] -InformationWindow* View::findWindow(int id) +InformationWindow *View::findWindow(int id) const { - QList::iterator i, beginning, end; - - beginning = informationWindows.begin(); - end = informationWindows.end(); - - for (i = beginning; i != end; ++i) { - InformationWindow *window = (*i); + for (auto window : informationWindows) { if (window && (window->id() == id)) return window; } - return 0; + return nullptr; } //! [8] diff --git a/examples/sql/drilldown/view.h b/examples/sql/drilldown/view.h index 9d6ef0e853..5afa1a25e9 100644 --- a/examples/sql/drilldown/view.h +++ b/examples/sql/drilldown/view.h @@ -63,7 +63,7 @@ class View : public QGraphicsView Q_OBJECT public: - View(const QString &items, const QString &images, QWidget *parent = 0); + View(const QString &items, const QString &images, QWidget *parent = nullptr); protected: void mouseReleaseEvent(QMouseEvent *event) override; @@ -77,7 +77,7 @@ private slots: //! [2] private: void addItems(); - InformationWindow* findWindow(int id); + InformationWindow *findWindow(int id) const; void showInformation(ImageItem *image); QGraphicsScene *scene; diff --git a/examples/sql/masterdetail/database.h b/examples/sql/masterdetail/database.h index 3139deb0b2..9cbca6f749 100644 --- a/examples/sql/masterdetail/database.h +++ b/examples/sql/masterdetail/database.h @@ -61,12 +61,12 @@ static bool createConnection() QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName(":memory:"); if (!db.open()) { - QMessageBox::critical(0, qApp->tr("Cannot open database"), - qApp->tr("Unable to establish a database connection.\n" - "This example needs SQLite support. Please read " - "the Qt SQL driver documentation for information how " - "to build it.\n\n" - "Click Cancel to exit."), QMessageBox::Cancel); + QMessageBox::critical(nullptr, QObject::tr("Cannot open database"), + QObject::tr("Unable to establish a database connection.\n" + "This example needs SQLite support. Please read " + "the Qt SQL driver documentation for information how " + "to build it.\n\n" + "Click Cancel to exit."), QMessageBox::Cancel); return false; } diff --git a/examples/sql/masterdetail/dialog.cpp b/examples/sql/masterdetail/dialog.cpp index 5bb213230e..bb1812eace 100644 --- a/examples/sql/masterdetail/dialog.cpp +++ b/examples/sql/masterdetail/dialog.cpp @@ -155,12 +155,12 @@ int Dialog::addNewAlbum(const QString &title, int artistId) return id; } -void Dialog::addTracks(int albumId, QStringList tracks) +void Dialog::addTracks(int albumId, const QStringList &tracks) { QDomElement albumNode = albumDetails.createElement("album"); albumNode.setAttribute("id", albumId); - for (int i = 0; i < tracks.count(); i++) { + for (int i = 0; i < tracks.count(); ++i) { QString trackNumber = QString::number(i); if (i < 10) trackNumber.prepend('0'); @@ -254,9 +254,9 @@ QDialogButtonBox *Dialog::createButtons() closeButton->setDefault(true); - connect(closeButton, SIGNAL(clicked()), this, SLOT(close())); - connect(revertButton, SIGNAL(clicked()), this, SLOT(revert())); - connect(submitButton, SIGNAL(clicked()), this, SLOT(submit())); + connect(closeButton, &QPushButton::clicked, this, &Dialog::close); + connect(revertButton, &QPushButton::clicked, this, &Dialog::revert); + connect(submitButton, &QPushButton::clicked, this, &Dialog::submit); QDialogButtonBox *buttonBox = new QDialogButtonBox; buttonBox->addButton(submitButton, QDialogButtonBox::ResetRole); @@ -270,7 +270,7 @@ QModelIndex Dialog::indexOfArtist(const QString &artist) { QSqlTableModel *artistModel = model->relationModel(2); - for (int i = 0; i < artistModel->rowCount(); i++) { + for (int i = 0; i < artistModel->rowCount(); ++i) { QSqlRecord record = artistModel->record(i); if (record.value("artist") == artist) return artistModel->index(i, 1); diff --git a/examples/sql/masterdetail/dialog.h b/examples/sql/masterdetail/dialog.h index 1789207d8d..31c4d8552c 100644 --- a/examples/sql/masterdetail/dialog.h +++ b/examples/sql/masterdetail/dialog.h @@ -61,7 +61,7 @@ class Dialog : public QDialog public: Dialog(QSqlRelationalTableModel *albums, QDomDocument details, - QFile *output, QWidget *parent = 0); + QFile *output, QWidget *parent = nullptr); private slots: void revert(); @@ -70,12 +70,12 @@ private slots: private: int addNewAlbum(const QString &title, int artistId); int addNewArtist(const QString &name); - void addTracks(int albumId, QStringList tracks); + void addTracks(int albumId, const QStringList &tracks); QDialogButtonBox *createButtons(); QGroupBox *createInputWidgets(); int findArtistId(const QString &artist); - int generateAlbumId(); - int generateArtistId(); + static int generateAlbumId(); + static int generateArtistId(); void increaseAlbumCount(QModelIndex artistIndex); QModelIndex indexOfArtist(const QString &artist); diff --git a/examples/sql/masterdetail/main.cpp b/examples/sql/masterdetail/main.cpp index cc1a1c4a21..9a4172e55f 100644 --- a/examples/sql/masterdetail/main.cpp +++ b/examples/sql/masterdetail/main.cpp @@ -48,11 +48,14 @@ ** ****************************************************************************/ -#include - #include "database.h" #include "mainwindow.h" +#include +#include + +#include + int main(int argc, char *argv[]) { Q_INIT_RESOURCE(masterdetail); @@ -60,10 +63,10 @@ int main(int argc, char *argv[]) QApplication app(argc, argv); if (!createConnection()) - return 1; + return EXIT_FAILURE; - QFile *albumDetails = new QFile("albumdetails.xml"); - MainWindow window("artists", "albums", albumDetails); + QFile albumDetails("albumdetails.xml"); + MainWindow window("artists", "albums", &albumDetails); window.show(); return app.exec(); } diff --git a/examples/sql/masterdetail/mainwindow.cpp b/examples/sql/masterdetail/mainwindow.cpp index 9fbc4c43a4..7f3479619a 100644 --- a/examples/sql/masterdetail/mainwindow.cpp +++ b/examples/sql/masterdetail/mainwindow.cpp @@ -78,10 +78,10 @@ MainWindow::MainWindow(const QString &artistTable, const QString &albumTable, uniqueAlbumId = model->rowCount(); uniqueArtistId = artistView->count(); - connect(model, SIGNAL(rowsInserted(QModelIndex,int,int)), - this, SLOT(updateHeader(QModelIndex,int,int))); - connect(model, SIGNAL(rowsRemoved(QModelIndex,int,int)), - this, SLOT(updateHeader(QModelIndex,int,int))); + connect(model, &QSqlRelationalTableModel::rowsInserted, + this, &MainWindow::updateHeader); + connect(model, &QSqlRelationalTableModel::rowsRemoved, + this, &MainWindow::updateHeader); QGridLayout *layout = new QGridLayout; layout->addWidget(artists, 0, 0); @@ -145,7 +145,7 @@ void MainWindow::showAlbumDetails(QModelIndex index) titleLabel->show(); QDomNodeList albums = albumData.elementsByTagName("album"); - for (int i = 0; i < albums.count(); i++) { + for (int i = 0; i < albums.count(); ++i) { QDomNode album = albums.item(i); if (album.toElement().attribute("id") == albumId) { getTrackList(album.toElement()); @@ -164,9 +164,9 @@ void MainWindow::getTrackList(QDomNode album) QDomNode track; QString trackNumber; - for (int j = 0; j < tracks.count(); j++) { + for (int i = 0; i < tracks.count(); ++i) { - track = tracks.item(j); + track = tracks.item(i); trackNumber = track.toElement().attribute("number"); QListWidgetItem *item = new QListWidgetItem(trackList); @@ -222,7 +222,7 @@ void MainWindow::removeAlbumFromFile(int id) QDomNodeList albums = albumData.elementsByTagName("album"); - for (int i = 0; i < albums.count(); i++) { + for (int i = 0; i < albums.count(); ++i) { QDomNode node = albums.item(i); if (node.toElement().attribute("id").toInt() == id) { albumData.elementsByTagName("archive").item(0).removeChild(node); @@ -283,8 +283,8 @@ QGroupBox* MainWindow::createArtistGroupBox() artistView->setModel(model->relationModel(2)); artistView->setModelColumn(1); - connect(artistView, SIGNAL(currentIndexChanged(int)), - this, SLOT(changeArtist(int))); + connect(artistView, QOverload::of(&QComboBox::currentIndexChanged), + this, &MainWindow::changeArtist); QGroupBox *box = new QGroupBox(tr("Artist")); @@ -314,10 +314,10 @@ QGroupBox* MainWindow::createAlbumGroupBox() locale.setNumberOptions(QLocale::OmitGroupSeparator); albumView->setLocale(locale); - connect(albumView, SIGNAL(clicked(QModelIndex)), - this, SLOT(showAlbumDetails(QModelIndex))); - connect(albumView, SIGNAL(activated(QModelIndex)), - this, SLOT(showAlbumDetails(QModelIndex))); + connect(albumView, &QTableView::clicked, + this, &MainWindow::showAlbumDetails); + connect(albumView, &QTableView::activated, + this, &MainWindow::showAlbumDetails); QVBoxLayout *layout = new QVBoxLayout; layout->addWidget(albumView, 0, 0); @@ -383,11 +383,16 @@ void MainWindow::createMenuBar() helpMenu->addAction(aboutAction); helpMenu->addAction(aboutQtAction); - connect(addAction, SIGNAL(triggered(bool)), this, SLOT(addAlbum())); - connect(deleteAction, SIGNAL(triggered(bool)), this, SLOT(deleteAlbum())); - connect(quitAction, SIGNAL(triggered(bool)), this, SLOT(close())); - connect(aboutAction, SIGNAL(triggered(bool)), this, SLOT(about())); - connect(aboutQtAction, SIGNAL(triggered(bool)), qApp, SLOT(aboutQt())); + connect(addAction, &QAction::triggered, + this, &MainWindow::addAlbum); + connect(deleteAction, &QAction::triggered, + this, &MainWindow::deleteAlbum); + connect(quitAction, &QAction::triggered, + this, &MainWindow::close); + connect(aboutAction, &QAction::triggered, + this, &MainWindow::about); + connect(aboutQtAction, &QAction::triggered, + qApp, &QApplication::aboutQt); } void MainWindow::showImageLabel() diff --git a/examples/sql/masterdetail/mainwindow.h b/examples/sql/masterdetail/mainwindow.h index be3c6c94f4..dc6d8d1613 100644 --- a/examples/sql/masterdetail/mainwindow.h +++ b/examples/sql/masterdetail/mainwindow.h @@ -71,7 +71,7 @@ class MainWindow : public QMainWindow public: MainWindow(const QString &artistTable, const QString &albumTable, - QFile *albumDetails, QWidget *parent = 0); + QFile *albumDetails, QWidget *parent = nullptr); private slots: void about(); diff --git a/examples/sql/querymodel/customsqlmodel.h b/examples/sql/querymodel/customsqlmodel.h index 5d2f625665..462d2ab822 100644 --- a/examples/sql/querymodel/customsqlmodel.h +++ b/examples/sql/querymodel/customsqlmodel.h @@ -59,7 +59,7 @@ class CustomSqlModel : public QSqlQueryModel Q_OBJECT public: - CustomSqlModel(QObject *parent = 0); + CustomSqlModel(QObject *parent = nullptr); QVariant data(const QModelIndex &item, int role) const override; }; diff --git a/examples/sql/querymodel/editablesqlmodel.h b/examples/sql/querymodel/editablesqlmodel.h index 1341dd372a..e8caad2765 100644 --- a/examples/sql/querymodel/editablesqlmodel.h +++ b/examples/sql/querymodel/editablesqlmodel.h @@ -58,7 +58,7 @@ class EditableSqlModel : public QSqlQueryModel Q_OBJECT public: - EditableSqlModel(QObject *parent = 0); + EditableSqlModel(QObject *parent = nullptr); Qt::ItemFlags flags(const QModelIndex &index) const override; bool setData(const QModelIndex &index, const QVariant &value, int role) override; diff --git a/examples/sql/querymodel/main.cpp b/examples/sql/querymodel/main.cpp index 83804682f9..da19939dd8 100644 --- a/examples/sql/querymodel/main.cpp +++ b/examples/sql/querymodel/main.cpp @@ -48,12 +48,15 @@ ** ****************************************************************************/ -#include - #include "../connection.h" #include "customsqlmodel.h" #include "editablesqlmodel.h" +#include +#include + +#include + void initializeModel(QSqlQueryModel *model) { model->setQuery("select * from person"); @@ -80,7 +83,7 @@ int main(int argc, char *argv[]) { QApplication app(argc, argv); if (!createConnection()) - return 1; + return EXIT_FAILURE; QSqlQueryModel plainModel; EditableSqlModel editableModel; diff --git a/examples/sql/relationaltablemodel/relationaltablemodel.cpp b/examples/sql/relationaltablemodel/relationaltablemodel.cpp index 5292256cd9..c3c7d48d70 100644 --- a/examples/sql/relationaltablemodel/relationaltablemodel.cpp +++ b/examples/sql/relationaltablemodel/relationaltablemodel.cpp @@ -110,7 +110,8 @@ int main(int argc, char *argv[]) { QApplication app(argc, argv); if (!createConnection()) - return 1; + return EXIT_FAILURE; + createRelationalTables(); QSqlRelationalTableModel model; diff --git a/examples/sql/sqlbrowser/browser.cpp b/examples/sql/sqlbrowser/browser.cpp index d86c54404d..b05cf52099 100644 --- a/examples/sql/sqlbrowser/browser.cpp +++ b/examples/sql/sqlbrowser/browser.cpp @@ -165,11 +165,12 @@ void Browser::showTable(const QString &t) model->select(); if (model->lastError().type() != QSqlError::NoError) emit statusMessage(model->lastError().text()); + table->setModel(model); table->setEditTriggers(QAbstractItemView::DoubleClicked|QAbstractItemView::EditKeyPressed); + connect(table->selectionModel(), &QItemSelectionModel::currentRowChanged, + this, &Browser::currentChanged); - connect(table->selectionModel(), SIGNAL(currentRowChanged(QModelIndex,QModelIndex)), - this, SLOT(currentChanged())); updateActions(); } @@ -189,7 +190,6 @@ void Browser::showMetaData(const QString &t) model->setHeaderData(5, Qt::Horizontal, "AutoValue"); model->setHeaderData(6, Qt::Horizontal, "DefaultValue"); - for (int i = 0; i < rec.count(); ++i) { QSqlField fld = rec.field(i); model->setData(model->index(i, 0), fld.name()); diff --git a/examples/sql/sqlbrowser/browser.h b/examples/sql/sqlbrowser/browser.h index fef410778b..3f98f487c3 100644 --- a/examples/sql/sqlbrowser/browser.h +++ b/examples/sql/sqlbrowser/browser.h @@ -65,7 +65,7 @@ class Browser: public QWidget, private Ui::Browser { Q_OBJECT public: - Browser(QWidget *parent = 0); + Browser(QWidget *parent = nullptr); virtual ~Browser(); QSqlError addConnection(const QString &driver, const QString &dbName, const QString &host, @@ -116,7 +116,9 @@ class CustomModel: public QSqlTableModel { Q_OBJECT public: - explicit CustomModel(QObject *parent = 0, QSqlDatabase db = QSqlDatabase()):QSqlTableModel(parent, db) {} + explicit CustomModel(QObject *parent = nullptr, QSqlDatabase db = QSqlDatabase()) + : QSqlTableModel(parent, db) {} + QVariant data(const QModelIndex &idx, int role) const override { if (role == Qt::BackgroundRole && isDirty(idx)) diff --git a/examples/sql/sqlbrowser/connectionwidget.cpp b/examples/sql/sqlbrowser/connectionwidget.cpp index 888579c9af..658cfb77dc 100644 --- a/examples/sql/sqlbrowser/connectionwidget.cpp +++ b/examples/sql/sqlbrowser/connectionwidget.cpp @@ -63,8 +63,8 @@ ConnectionWidget::ConnectionWidget(QWidget *parent) tree->header()->setSectionResizeMode(QHeaderView::Stretch); QAction *refreshAction = new QAction(tr("Refresh"), tree); metaDataAction = new QAction(tr("Show Schema"), tree); - connect(refreshAction, SIGNAL(triggered()), SLOT(refresh())); - connect(metaDataAction, SIGNAL(triggered()), SLOT(showMetaData())); + connect(refreshAction, &QAction::triggered, this, &ConnectionWidget::refresh); + connect(metaDataAction, &QAction::triggered, this, &ConnectionWidget::showMetaData); tree->addAction(refreshAction); tree->addAction(metaDataAction); tree->setContextMenuPolicy(Qt::ActionsContextMenu); @@ -146,7 +146,6 @@ void ConnectionWidget::setActive(QTreeWidgetItem *item) void ConnectionWidget::on_tree_itemActivated(QTreeWidgetItem *item, int /* column */) { - if (!item) return; diff --git a/examples/sql/sqlbrowser/connectionwidget.h b/examples/sql/sqlbrowser/connectionwidget.h index 8b8e3a9a62..a805765f69 100644 --- a/examples/sql/sqlbrowser/connectionwidget.h +++ b/examples/sql/sqlbrowser/connectionwidget.h @@ -62,7 +62,7 @@ class ConnectionWidget: public QWidget { Q_OBJECT public: - ConnectionWidget(QWidget *parent = 0); + ConnectionWidget(QWidget *parent = nullptr); virtual ~ConnectionWidget(); QSqlDatabase currentDatabase() const; diff --git a/examples/sql/sqlbrowser/main.cpp b/examples/sql/sqlbrowser/main.cpp index 002dbc3242..ea4649b68d 100644 --- a/examples/sql/sqlbrowser/main.cpp +++ b/examples/sql/sqlbrowser/main.cpp @@ -80,16 +80,18 @@ int main(int argc, char *argv[]) mainWin.setCentralWidget(&browser); QMenu *fileMenu = mainWin.menuBar()->addMenu(QObject::tr("&File")); - fileMenu->addAction(QObject::tr("Add &Connection..."), &browser, SLOT(addConnection())); + fileMenu->addAction(QObject::tr("Add &Connection..."), + [&]() { browser.addConnection(); }); fileMenu->addSeparator(); - fileMenu->addAction(QObject::tr("&Quit"), &app, SLOT(quit())); + fileMenu->addAction(QObject::tr("&Quit"), []() { qApp->quit(); }); QMenu *helpMenu = mainWin.menuBar()->addMenu(QObject::tr("&Help")); - helpMenu->addAction(QObject::tr("About"), &browser, SLOT(about())); - helpMenu->addAction(QObject::tr("About Qt"), qApp, SLOT(aboutQt())); + helpMenu->addAction(QObject::tr("About"), [&]() { browser.about(); }); + helpMenu->addAction(QObject::tr("About Qt"), []() { qApp->aboutQt(); }); - QObject::connect(&browser, SIGNAL(statusMessage(QString)), - mainWin.statusBar(), SLOT(showMessage(QString))); + QObject::connect(&browser, &Browser::statusMessage, [&mainWin](const QString &text) { + mainWin.statusBar()->showMessage(text); + }); addConnectionsFromCommandline(app.arguments(), &browser); mainWin.show(); diff --git a/examples/sql/sqlbrowser/qsqlconnectiondialog.h b/examples/sql/sqlbrowser/qsqlconnectiondialog.h index d43955acdc..fc998d7ee9 100644 --- a/examples/sql/sqlbrowser/qsqlconnectiondialog.h +++ b/examples/sql/sqlbrowser/qsqlconnectiondialog.h @@ -60,7 +60,7 @@ class QSqlConnectionDialog: public QDialog { Q_OBJECT public: - QSqlConnectionDialog(QWidget *parent = 0); + QSqlConnectionDialog(QWidget *parent = nullptr); ~QSqlConnectionDialog(); QString driverName() const; diff --git a/examples/sql/sqlwidgetmapper/window.cpp b/examples/sql/sqlwidgetmapper/window.cpp index 21ce152169..b6946e2386 100644 --- a/examples/sql/sqlwidgetmapper/window.cpp +++ b/examples/sql/sqlwidgetmapper/window.cpp @@ -87,12 +87,12 @@ Window::Window(QWidget *parent) //! [Set up the mapper] //! [Set up connections and layouts] - connect(previousButton, SIGNAL(clicked()), - mapper, SLOT(toPrevious())); - connect(nextButton, SIGNAL(clicked()), - mapper, SLOT(toNext())); - connect(mapper, SIGNAL(currentIndexChanged(int)), - this, SLOT(updateButtons(int))); + connect(previousButton, &QPushButton::clicked, + mapper, &QDataWidgetMapper::toPrevious); + connect(nextButton, &QPushButton::clicked, + mapper, &QDataWidgetMapper::toNext); + connect(mapper, &QDataWidgetMapper::currentIndexChanged, + this, &Window::updateButtons); QGridLayout *layout = new QGridLayout(); layout->addWidget(nameLabel, 0, 0, 1, 1); diff --git a/examples/sql/sqlwidgetmapper/window.h b/examples/sql/sqlwidgetmapper/window.h index bff074d954..b336997360 100644 --- a/examples/sql/sqlwidgetmapper/window.h +++ b/examples/sql/sqlwidgetmapper/window.h @@ -72,7 +72,7 @@ class Window : public QWidget Q_OBJECT public: - Window(QWidget *parent = 0); + Window(QWidget *parent = nullptr); private slots: void updateButtons(int row); diff --git a/examples/sql/tablemodel/tablemodel.cpp b/examples/sql/tablemodel/tablemodel.cpp index c22e25cbef..a6e0341c23 100644 --- a/examples/sql/tablemodel/tablemodel.cpp +++ b/examples/sql/tablemodel/tablemodel.cpp @@ -47,11 +47,13 @@ ** $QT_END_LICENSE$ ** ****************************************************************************/ +#include "../connection.h" -#include -#include +#include +#include +#include -#include "../connection.h" +#include void initializeModel(QSqlTableModel *model) { @@ -76,7 +78,7 @@ int main(int argc, char *argv[]) { QApplication app(argc, argv); if (!createConnection()) - return 1; + return EXIT_FAILURE; QSqlTableModel model; -- cgit v1.2.3 From 342609b542a4c9c50f40b5843e0622ca3f401da0 Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Thu, 14 Sep 2017 12:52:46 +0200 Subject: Fix quoting of mocinclude.opt for paths containing spaces If MOC_INCLUDEPATH exceeds a certain limit, its content is written into a file named mocinclude.opt, which is then passed to moc as a response file. That moc parameter was not properly quoted, and the moc call failed for paths containing spaces. Task-number: QTBUG-63197 Change-Id: Ib0542d80ce1bab239e0e6b6e24fadd11007b1846 Reviewed-by: Oswald Buddenhagen --- mkspecs/features/moc.prf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mkspecs/features/moc.prf b/mkspecs/features/moc.prf index 955933d874..4f2080ee6f 100644 --- a/mkspecs/features/moc.prf +++ b/mkspecs/features/moc.prf @@ -45,7 +45,7 @@ if(gcc|intel_icl|msvc):!rim_qcc:!uikit:!no_moc_predefs:if(!macos|count(QMAKE_APP defineReplace(mocCmdBase) { !isEmpty(WIN_INCLUDETEMP) { - incvar = @$$WIN_INCLUDETEMP + incvar = @$$shell_quote($$WIN_INCLUDETEMP) } else { incvar = for (inc, MOC_INCLUDEPATH): \ -- cgit v1.2.3 From 2d7b1430850e7bf522dd241a42f03cb4d9cd2eef Mon Sep 17 00:00:00 2001 From: Robert Loehning Date: Thu, 14 Sep 2017 13:25:27 +0200 Subject: Fix conditions in some QMAKE_COMPILER_DEFINES assignments We obviously should check the variable we're about to get the data from. Amends 1216f596bdb. Change-Id: Ibe87138b9c9aa99837b4fbf3769cd26ca1aaacb9 Reviewed-by: Oswald Buddenhagen Reviewed-by: Jake Petroules --- mkspecs/features/toolchain.prf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mkspecs/features/toolchain.prf b/mkspecs/features/toolchain.prf index 21c18c7f7b..35175f1744 100644 --- a/mkspecs/features/toolchain.prf +++ b/mkspecs/features/toolchain.prf @@ -232,17 +232,17 @@ QMAKE_COMPILER_DEFINES += __cplusplus=$$QT_COMPILER_STDCXX QMAKE_COMPILER_DEFINES += __INTEL_COMPILER=$$QMAKE_ICC_VER __INTEL_COMPILER_UPDATE=$$QMAKE_ICC_UPDATE_VER !isEmpty(QMAKE_APPLE_CC): \ QMAKE_COMPILER_DEFINES += __APPLE_CC__=$$QMAKE_APPLE_CC -!isEmpty(QT_APPLE_CLANG_MAJOR_VERSION): \ +!isEmpty(QMAKE_APPLE_CLANG_MAJOR_VERSION): \ QMAKE_COMPILER_DEFINES += __clang__ \ __clang_major__=$$QMAKE_APPLE_CLANG_MAJOR_VERSION \ __clang_minor__=$$QMAKE_APPLE_CLANG_MINOR_VERSION \ __clang_patchlevel__=$$QMAKE_APPLE_CLANG_PATCH_VERSION -!isEmpty(QT_CLANG_MAJOR_VERSION): \ +!isEmpty(QMAKE_CLANG_MAJOR_VERSION): \ QMAKE_COMPILER_DEFINES += __clang__ \ __clang_major__=$$QMAKE_CLANG_MAJOR_VERSION \ __clang_minor__=$$QMAKE_CLANG_MINOR_VERSION \ __clang_patchlevel__=$$QMAKE_CLANG_PATCH_VERSION -!isEmpty(QT_GCC_MAJOR_VERSION): \ +!isEmpty(QMAKE_GCC_MAJOR_VERSION): \ QMAKE_COMPILER_DEFINES += \ __GNUC__=$$QMAKE_GCC_MAJOR_VERSION \ __GNUC_MINOR__=$$QMAKE_GCC_MINOR_VERSION \ -- cgit v1.2.3 From ceffc7e0e7d12ae1c78fb8e25a862fa1b1ebb648 Mon Sep 17 00:00:00 2001 From: Jake Petroules Date: Fri, 15 Sep 2017 02:09:41 -0700 Subject: Exclude DBus performance test with -no-feature-process Change-Id: I3e650b21139bd59b1f8386f4abb39aadf85e412f Reviewed-by: Tuomas Heimonen Reviewed-by: Lars Knoll --- tests/benchmarks/dbus/dbus.pro | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/benchmarks/dbus/dbus.pro b/tests/benchmarks/dbus/dbus.pro index 989a0db2d4..1254ad95e9 100644 --- a/tests/benchmarks/dbus/dbus.pro +++ b/tests/benchmarks/dbus/dbus.pro @@ -1,4 +1,6 @@ TEMPLATE = subdirs SUBDIRS = \ - qdbusperformance \ qdbustype + +qtConfig(process): SUBDIRS += \ + qdbusperformance -- cgit v1.2.3 From 71272023583f4046c9a003691ddf3d630e8d20c2 Mon Sep 17 00:00:00 2001 From: Jake Petroules Date: Fri, 15 Sep 2017 02:17:06 -0700 Subject: Exclude tst_QDir::mkdirOnSymlink on Unix platforms without symlinks One example is VxWorks. Change-Id: I253df715a9417c1f9cede79b1e1860924e0da8a9 Reviewed-by: Tuomas Heimonen Reviewed-by: Lars Knoll --- tests/auto/corelib/io/qdir/tst_qdir.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/auto/corelib/io/qdir/tst_qdir.cpp b/tests/auto/corelib/io/qdir/tst_qdir.cpp index e6bad9a8ef..753468eeab 100644 --- a/tests/auto/corelib/io/qdir/tst_qdir.cpp +++ b/tests/auto/corelib/io/qdir/tst_qdir.cpp @@ -394,7 +394,7 @@ void tst_QDir::mkdirRmdir() void tst_QDir::mkdirOnSymlink() { -#ifndef Q_OS_UNIX +#if !defined(Q_OS_UNIX) || defined(Q_NO_SYMLINKS) QSKIP("Test only valid on an OS that supports symlinks"); #else // Create the structure: -- cgit v1.2.3 From 2740b9d66819cb44a596644eb5fbb956ffe39b86 Mon Sep 17 00:00:00 2001 From: Jake Petroules Date: Fri, 15 Sep 2017 02:05:43 -0700 Subject: Use QT_LSTAT instead of lstat directly Not all platforms (such as VxWorks) have lstat. Change-Id: If42f0041f9a6d9bec0a355173c88f28f1819bd57 Reviewed-by: Lars Knoll --- tests/benchmarks/corelib/io/qdiriterator/main.cpp | 5 +++-- tests/benchmarks/corelib/io/qdiriterator/qfilesystemiterator.cpp | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/tests/benchmarks/corelib/io/qdiriterator/main.cpp b/tests/benchmarks/corelib/io/qdiriterator/main.cpp index cd5a83e547..e71daccf7d 100644 --- a/tests/benchmarks/corelib/io/qdiriterator/main.cpp +++ b/tests/benchmarks/corelib/io/qdiriterator/main.cpp @@ -28,6 +28,7 @@ #include #include #include +#include #ifdef Q_OS_WIN # include @@ -142,8 +143,8 @@ static int posix_helper(const char *dirpath) QByteArray ba = dirpath; ba += '/'; ba += entry->d_name; - struct stat st; - lstat(ba.constData(), &st); + QT_STATBUF st; + QT_LSTAT(ba.constData(), &st); if (S_ISDIR(st.st_mode)) count += posix_helper(ba.constData()); } diff --git a/tests/benchmarks/corelib/io/qdiriterator/qfilesystemiterator.cpp b/tests/benchmarks/corelib/io/qdiriterator/qfilesystemiterator.cpp index f5fb13fca6..d68264b78f 100644 --- a/tests/benchmarks/corelib/io/qdiriterator/qfilesystemiterator.cpp +++ b/tests/benchmarks/corelib/io/qdiriterator/qfilesystemiterator.cpp @@ -82,6 +82,7 @@ #include #include #include +#include #ifdef Q_OS_WIN # include @@ -343,8 +344,8 @@ bool QFileSystemIteratorPrivate::advanceHelper() QByteArray ba = m_dirPaths.top(); ba += '/'; ba += name; - struct stat st; - lstat(ba.constData(), &st); + QT_STATBUF st; + QT_LSTAT(ba.constData(), &st); if (S_ISDIR(st.st_mode)) { pushSubDirectory(ba); -- cgit v1.2.3 From 81a19050d8127e7b05006f793a8797c8f5248191 Mon Sep 17 00:00:00 2001 From: Giuseppe D'Angelo Date: Tue, 12 Sep 2017 11:42:23 +0100 Subject: QSharedPointer: fix undefined behavior in operator< Pointers belonging to different arrays must be compared using std::less. Change-Id: Ib77af7b1b2da58d7243fa77273a8a45ee9035a1a Reviewed-by: Thiago Macieira --- src/corelib/tools/qsharedpointer_impl.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/corelib/tools/qsharedpointer_impl.h b/src/corelib/tools/qsharedpointer_impl.h index 15573c5588..ede54c155d 100644 --- a/src/corelib/tools/qsharedpointer_impl.h +++ b/src/corelib/tools/qsharedpointer_impl.h @@ -850,17 +850,20 @@ Q_INLINE_TEMPLATE typename QSharedPointer::difference_type operator-(T *ptr1, template Q_INLINE_TEMPLATE bool operator<(const QSharedPointer &ptr1, const QSharedPointer &ptr2) { - return ptr1.data() < ptr2.data(); + using CT = typename std::common_type::type; + return std::less()(ptr1.data(), ptr2.data()); } template Q_INLINE_TEMPLATE bool operator<(const QSharedPointer &ptr1, X *ptr2) { - return ptr1.data() < ptr2; + using CT = typename std::common_type::type; + return std::less()(ptr1.data(), ptr2); } template Q_INLINE_TEMPLATE bool operator<(T *ptr1, const QSharedPointer &ptr2) { - return ptr1 < ptr2.data(); + using CT = typename std::common_type::type; + return std::less()(ptr1, ptr2.data()); } // -- cgit v1.2.3 From 69b16a46e804cb12c7d8d4b40675905a13becbe6 Mon Sep 17 00:00:00 2001 From: Jake Petroules Date: Fri, 15 Sep 2017 17:46:30 -0700 Subject: Exclude QSystemSemaphore test with -no-feature-systemsemaphore Change-Id: I9db6b68c3d26b27a0203c68c48ab73602eb15095 Reviewed-by: Gabriel de Dietrich --- tests/auto/corelib/kernel/kernel.pro | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/auto/corelib/kernel/kernel.pro b/tests/auto/corelib/kernel/kernel.pro index 75b98bcd09..b5b64973d3 100644 --- a/tests/auto/corelib/kernel/kernel.pro +++ b/tests/auto/corelib/kernel/kernel.pro @@ -41,3 +41,6 @@ SUBDIRS=\ !win32*|winrt: SUBDIRS -= qwineventnotifier android|uikit: SUBDIRS -= qclipboard qobject qsharedmemory qsystemsemaphore + +!qtConfig(systemsemaphore): SUBDIRS -= \ + qsystemsemaphore -- cgit v1.2.3 From 54a242f7edb96bc18876422f78a475e9e7b57b5a Mon Sep 17 00:00:00 2001 From: Jake Petroules Date: Mon, 18 Sep 2017 01:47:46 -0700 Subject: Add missing pwd.h include This file uses functions declared in this header, and it is not pulled in transitively on all platforms. Change-Id: I6654118883a8dc22dacf1beb7b9b1c662719d25c Reviewed-by: Tuomas Heimonen Reviewed-by: Thiago Macieira --- src/corelib/io/qfilesystemengine_unix.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/corelib/io/qfilesystemengine_unix.cpp b/src/corelib/io/qfilesystemengine_unix.cpp index 7600c9a613..7fed54f733 100644 --- a/src/corelib/io/qfilesystemengine_unix.cpp +++ b/src/corelib/io/qfilesystemengine_unix.cpp @@ -45,6 +45,7 @@ #include +#include #include // for realpath() #include #include -- cgit v1.2.3 From 83122b193271df91f5f403b8ac28b97cc22c43f9 Mon Sep 17 00:00:00 2001 From: Jake Petroules Date: Mon, 18 Sep 2017 01:47:11 -0700 Subject: Remove unnecessary VxWorks ifdef Change-Id: Ie655bdff9a09c6060f66e4346b94ba52443241f4 Reviewed-by: Tuomas Heimonen Reviewed-by: Thiago Macieira --- tests/auto/corelib/io/qdir/tst_qdir.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/tests/auto/corelib/io/qdir/tst_qdir.cpp b/tests/auto/corelib/io/qdir/tst_qdir.cpp index 753468eeab..8dbac28183 100644 --- a/tests/auto/corelib/io/qdir/tst_qdir.cpp +++ b/tests/auto/corelib/io/qdir/tst_qdir.cpp @@ -1662,9 +1662,7 @@ void tst_QDir::homePath() QVERIFY(!strHome.endsWith('/')); QByteArray envHome = qgetenv("HOME"); -#if !defined(_WRS_KERNEL) // unsetenv is not available on VxWorks DKM mode unsetenv("HOME"); -#endif QCOMPARE(QDir::homePath(), QDir::rootPath()); qputenv("HOME", envHome); -- cgit v1.2.3 From 2d168af7d7f5fd175558e69a3f735700bfc52bf4 Mon Sep 17 00:00:00 2001 From: Andy Shaw Date: Wed, 21 Dec 2016 14:37:55 +0100 Subject: OCI: Use correct type for getting doubles Change-Id: Iffb81a37a517e58d48757d82f93f20e8c5100033 Reviewed-by: Ville Voutilainen Reviewed-by: Jesus Fernandez Reviewed-by: Simon Hausmann --- tests/auto/sql/kernel/qsqldriver/tst_qsqldriver.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tests/auto/sql/kernel/qsqldriver/tst_qsqldriver.cpp b/tests/auto/sql/kernel/qsqldriver/tst_qsqldriver.cpp index a19c849b4d..8f8cfe009d 100644 --- a/tests/auto/sql/kernel/qsqldriver/tst_qsqldriver.cpp +++ b/tests/auto/sql/kernel/qsqldriver/tst_qsqldriver.cpp @@ -72,7 +72,13 @@ void tst_QSqlDriver::recreateTestTables(QSqlDatabase db) QVERIFY_SQL( q, exec("set client_min_messages='warning'")); tst_Databases::safeDropTable( db, relTEST1 ); - QString doubleField = (dbType == QSqlDriver::SQLite) ? "more_data double" : "more_data double(8,7)"; + QString doubleField; + if (dbType == QSqlDriver::SQLite) + doubleField = "more_data double"; + else if (dbType == QSqlDriver::Oracle) + doubleField = "more_data number(8,7)"; + else + doubleField = "more_data double(8,7)"; QVERIFY_SQL( q, exec("create table " + relTEST1 + " (id int not null primary key, name varchar(20), title_key int, another_title_key int, " + doubleField + QLatin1Char(')'))); QVERIFY_SQL( q, exec("insert into " + relTEST1 + " values(1, 'harry', 1, 2, 1.234567)")); -- cgit v1.2.3 From 3c95c748e065fa9245531cc1c9c2cca050d7ad11 Mon Sep 17 00:00:00 2001 From: Andy Shaw Date: Wed, 21 Dec 2016 14:06:20 +0100 Subject: Fix recordOCI() test to treat clob/nclob as QByteArray Change-Id: I0315b23dad66f98fc681c624d4afa8b5abb54a7b Reviewed-by: Simon Hausmann --- tests/auto/sql/kernel/qsqldatabase/tst_qsqldatabase.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/auto/sql/kernel/qsqldatabase/tst_qsqldatabase.cpp b/tests/auto/sql/kernel/qsqldatabase/tst_qsqldatabase.cpp index d7772f5c34..932806d017 100644 --- a/tests/auto/sql/kernel/qsqldatabase/tst_qsqldatabase.cpp +++ b/tests/auto/sql/kernel/qsqldatabase/tst_qsqldatabase.cpp @@ -750,8 +750,8 @@ void tst_QSqlDatabase::recordOCI() FieldDef("long raw", QVariant::ByteArray, QByteArray("blah5")), FieldDef("raw(2000)", QVariant::ByteArray, QByteArray("blah6"), false), FieldDef("blob", QVariant::ByteArray, QByteArray("blah7")), - FieldDef("clob", QVariant::String, QString("blah8")), - FieldDef("nclob", QVariant::String, QString("blah9")), + FieldDef("clob", QVariant::ByteArray, QByteArray("blah8")), + FieldDef("nclob", QVariant::ByteArray, QByteArray("blah9")), // FieldDef("bfile", QVariant::ByteArray, QByteArray("blah10")), intytm, -- cgit v1.2.3 From 4e30001e5f6cd5e2127d4b1e7ef0f3b54c70e163 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Sat, 1 Apr 2017 21:30:13 -0700 Subject: Mark Clang 5.0 as warning-free Change-Id: I27b55fdf514247549455fffd14b17a4ae1d8ff2d Reviewed-by: Jake Petroules --- mkspecs/features/qt_common.prf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mkspecs/features/qt_common.prf b/mkspecs/features/qt_common.prf index e66c24b027..fb96d1b6a0 100644 --- a/mkspecs/features/qt_common.prf +++ b/mkspecs/features/qt_common.prf @@ -75,10 +75,10 @@ warnings_are_errors:warning_clean { # compiler. clang { # Apple clang 4.0-4.2,5.0-5.1,6.0-6.4,7.0-7.3 - # Regular clang 3.3-3.9, 4.0 + # Regular clang 3.x-5.0 apple_ver = $${QT_APPLE_CLANG_MAJOR_VERSION}.$${QT_APPLE_CLANG_MINOR_VERSION} reg_ver = $${QT_CLANG_MAJOR_VERSION}.$${QT_CLANG_MINOR_VERSION} - contains(apple_ver, "4\\.[012]|5\\.[01]|6\\.[01234]|7\\.[0123]")|contains(reg_ver, "3\\.[3-9]|4\\.0") { + contains(apple_ver, "4\\.[012]|5\\.[01]|6\\.[01234]|7\\.[0123]")|contains(reg_ver, "[34]\\.|5\\.0") { QMAKE_CXXFLAGS_WARN_ON += -Werror -Wno-error=\\$${LITERAL_HASH}warnings -Wno-error=deprecated-declarations $$WERROR } } else:intel_icc:linux { -- cgit v1.2.3 From 6c4a1914e01bde6191c64a306a47046c736e4e1c Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Fri, 15 Sep 2017 12:42:55 +0200 Subject: Hide ibus IM on password fields We haven't hooked on any of the properties to tell ibus IMs the type of field or that it should be hidden, so hide it like is standard. Change-Id: Iaa64c669f7162b60c16971ec962101b974108e65 Reviewed-by: Friedemann Kleint Reviewed-by: Peter Varga Reviewed-by: Liang Qi --- .../platforminputcontexts/ibus/qibusplatforminputcontext.cpp | 11 +++++++++++ .../platforminputcontexts/ibus/qibusplatforminputcontext.h | 1 + 2 files changed, 12 insertions(+) diff --git a/src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.cpp b/src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.cpp index 6df454adb0..9675d828e7 100644 --- a/src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.cpp +++ b/src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.cpp @@ -136,6 +136,17 @@ bool QIBusPlatformInputContext::isValid() const return d->valid && d->busConnected; } +bool QIBusPlatformInputContext::hasCapability(Capability capability) const +{ + switch (capability) { + case QPlatformInputContext::HiddenTextCapability: + return false; // QTBUG-40691, do not show IME on desktop for password entry fields. + default: + break; + } + return true; +} + void QIBusPlatformInputContext::invokeAction(QInputMethod::Action a, int) { if (!d->busConnected) diff --git a/src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.h b/src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.h index 94fa5c3d60..7baa9ad1da 100644 --- a/src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.h +++ b/src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.h @@ -95,6 +95,7 @@ public: void update(Qt::InputMethodQueries) Q_DECL_OVERRIDE; bool filterEvent(const QEvent *event) Q_DECL_OVERRIDE; QLocale locale() const Q_DECL_OVERRIDE; + bool hasCapability(Capability capability) const Q_DECL_OVERRIDE; public Q_SLOTS: void commitText(const QDBusVariant &text); -- cgit v1.2.3 From 14e20bb4748b4b11763e4a44d19ebf84b05348bc Mon Sep 17 00:00:00 2001 From: Laszlo Agocs Date: Tue, 19 Sep 2017 10:40:44 +0200 Subject: windows: Blacklist Intel 8.15.10.1749 Task-number: QTBUG-56360 Change-Id: I438e58e13b364a7c4748a4325cb7ff00bb00b25b Reviewed-by: Joni Poikelin Reviewed-by: Friedemann Kleint --- .../platforms/windows/openglblacklists/default.json | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/plugins/platforms/windows/openglblacklists/default.json b/src/plugins/platforms/windows/openglblacklists/default.json index 69f4a54d05..d1e9f85247 100644 --- a/src/plugins/platforms/windows/openglblacklists/default.json +++ b/src/plugins/platforms/windows/openglblacklists/default.json @@ -126,6 +126,21 @@ "features": [ "disable_desktopgl" ] - } + }, + { + "id": 11, + "description": "Intel driver version 8.15.10.1749 causes GPU process hangs (QTBUG-56360)", + "vendor_id": "0x8086", + "os": { + "type": "win" + }, + "driver_version": { + "op": "=", + "value": "8.15.10.1749" + }, + "features": [ + "disable_desktopgl", "disable_d3d11", "disable_d3d9" + ] + } ] } -- cgit v1.2.3 From 9833e682174c968efb62e6cd473787e3b0b8fb05 Mon Sep 17 00:00:00 2001 From: Stephan Binner Date: Sun, 3 Sep 2017 18:44:21 +0200 Subject: Convert features.textedit to QT_[REQUIRE_]CONFIG Change-Id: I0fb0e658796484f374586d8d1f0f1b9167ab30d2 Reviewed-by: Oswald Buddenhagen --- .../accessible/qaccessiblewidgetfactory.cpp | 2 +- src/widgets/accessible/qaccessiblewidgets.cpp | 11 ++++++---- src/widgets/accessible/qaccessiblewidgets_p.h | 4 ++-- src/widgets/dialogs/qmessagebox.cpp | 24 ++++++++++++---------- src/widgets/dialogs/qmessagebox.h | 4 ++-- src/widgets/graphicsview/qgraphicsproxywidget.cpp | 2 ++ src/widgets/itemviews/qabstractitemdelegate.cpp | 6 ++++-- src/widgets/itemviews/qstyleditemdelegate.cpp | 2 ++ src/widgets/styles/qpixmapstyle.cpp | 2 ++ src/widgets/widgets/qlineedit.cpp | 2 ++ src/widgets/widgets/qplaintextedit.cpp | 4 ---- src/widgets/widgets/qplaintextedit.h | 6 +----- src/widgets/widgets/qplaintextedit_p.h | 6 ++---- src/widgets/widgets/qtextedit.cpp | 7 ------- src/widgets/widgets/qtextedit.h | 6 +----- src/widgets/widgets/qtextedit_p.h | 6 ++---- src/widgets/widgets/qwidgettextcontrol.cpp | 10 +++++---- src/widgets/widgets/qwidgettextcontrol_p.h | 4 +++- src/widgets/widgets/widgets.pri | 22 ++++++++++++-------- 19 files changed, 66 insertions(+), 64 deletions(-) diff --git a/src/widgets/accessible/qaccessiblewidgetfactory.cpp b/src/widgets/accessible/qaccessiblewidgetfactory.cpp index 63fb46a447..a784f6cd1c 100644 --- a/src/widgets/accessible/qaccessiblewidgetfactory.cpp +++ b/src/widgets/accessible/qaccessiblewidgetfactory.cpp @@ -167,7 +167,7 @@ QAccessibleInterface *qAccessibleFactory(const QString &classname, QObject *obje } else if (classname == QLatin1String("QSplitterHandle")) { iface = new QAccessibleWidget(widget, QAccessible::Grip); #endif -#if !defined(QT_NO_TEXTEDIT) && !defined(QT_NO_CURSOR) +#if QT_CONFIG(textedit) && !defined(QT_NO_CURSOR) } else if (classname == QLatin1String("QTextEdit")) { iface = new QAccessibleTextEdit(widget); } else if (classname == QLatin1String("QPlainTextEdit")) { diff --git a/src/widgets/accessible/qaccessiblewidgets.cpp b/src/widgets/accessible/qaccessiblewidgets.cpp index c6cce84960..2edb6d93b4 100644 --- a/src/widgets/accessible/qaccessiblewidgets.cpp +++ b/src/widgets/accessible/qaccessiblewidgets.cpp @@ -41,11 +41,13 @@ #include "qabstracttextdocumentlayout.h" #include "qapplication.h" #include "qclipboard.h" -#include "qtextedit.h" -#include "private/qtextedit_p.h" #include "qtextdocument.h" #include "qtextobject.h" +#if QT_CONFIG(textedit) #include "qplaintextedit.h" +#include "qtextedit.h" +#include "private/qtextedit_p.h" +#endif #include "qtextboundaryfinder.h" #if QT_CONFIG(scrollbar) #include "qscrollbar.h" @@ -86,6 +88,7 @@ #include #endif #include +#include #ifndef QT_NO_ACCESSIBILITY @@ -117,7 +120,7 @@ QList childWidgets(const QWidget *widget) return widgets; } -#if !defined(QT_NO_TEXTEDIT) && !defined(QT_NO_CURSOR) +#if QT_CONFIG(textedit) && !defined(QT_NO_CURSOR) QAccessiblePlainTextEdit::QAccessiblePlainTextEdit(QWidget* o) :QAccessibleTextWidget(o) @@ -314,7 +317,7 @@ void QAccessibleTextEdit::scrollToSubstring(int startIndex, int endIndex) qWarning("AccessibleTextEdit::scrollToSubstring failed!"); } -#endif // QT_NO_TEXTEDIT && QT_NO_CURSOR +#endif // QT_CONFIG(textedit) && QT_NO_CURSOR #if QT_CONFIG(stackedwidget) // ======================= QAccessibleStackedWidget ====================== diff --git a/src/widgets/accessible/qaccessiblewidgets_p.h b/src/widgets/accessible/qaccessiblewidgets_p.h index 1c351f5f4a..75e1eff694 100644 --- a/src/widgets/accessible/qaccessiblewidgets_p.h +++ b/src/widgets/accessible/qaccessiblewidgets_p.h @@ -132,7 +132,7 @@ protected: virtual QWidget *viewport() const = 0; }; -#ifndef QT_NO_TEXTEDIT +#if QT_CONFIG(textedit) class QAccessiblePlainTextEdit : public QAccessibleTextWidget { public: @@ -184,7 +184,7 @@ protected: QTextDocument *textDocument() const Q_DECL_OVERRIDE; QWidget *viewport() const Q_DECL_OVERRIDE; }; -#endif // QT_NO_TEXTEDIT +#endif // QT_CONFIG(textedit) #endif //QT_NO_CURSOR class QAccessibleStackedWidget : public QAccessibleWidget diff --git a/src/widgets/dialogs/qmessagebox.cpp b/src/widgets/dialogs/qmessagebox.cpp index 6a55f62e53..708b6a86c1 100644 --- a/src/widgets/dialogs/qmessagebox.cpp +++ b/src/widgets/dialogs/qmessagebox.cpp @@ -54,7 +54,9 @@ #include #include #include +#if QT_CONFIG(textedit) #include +#endif #include #include "qdialog_p.h" #include @@ -83,7 +85,7 @@ enum Button { Old_Ok = 1, Old_Cancel = 2, Old_Yes = 3, Old_No = 4, Old_Abort = 5 NewButtonMask = 0xFFFFFC00 }; enum DetailButtonLabel { ShowLabel = 0, HideLabel = 1 }; -#ifndef QT_NO_TEXTEDIT +#if QT_CONFIG(textedit) class QMessageBoxDetailsText : public QWidget { Q_OBJECT @@ -152,7 +154,7 @@ private: bool copyAvailable; TextEdit *textEdit; }; -#endif // QT_NO_TEXTEDIT +#endif // QT_CONFIG(textedit) class DetailButton : public QPushButton { @@ -192,7 +194,7 @@ class QMessageBoxPrivate : public QDialogPrivate public: QMessageBoxPrivate() : escapeButton(0), defaultButton(0), checkbox(0), clickedButton(0), detailsButton(0), -#ifndef QT_NO_TEXTEDIT +#if QT_CONFIG(textedit) detailsText(0), #endif compatMode(false), autoAddOkButton(true), @@ -242,7 +244,7 @@ public: QCheckBox *checkbox; QAbstractButton *clickedButton; DetailButton *detailsButton; -#ifndef QT_NO_TEXTEDIT +#if QT_CONFIG(textedit) QMessageBoxDetailsText *detailsText; #endif bool compatMode; @@ -463,7 +465,7 @@ int QMessageBoxPrivate::execReturnCode(QAbstractButton *button) void QMessageBoxPrivate::_q_buttonClicked(QAbstractButton *button) { Q_Q(QMessageBox); -#ifndef QT_NO_TEXTEDIT +#if QT_CONFIG(textedit) if (detailsButton && detailsText && button == detailsButton) { detailsButton->setLabel(detailsText->isHidden() ? HideLabel : ShowLabel); detailsText->setHidden(!detailsText->isHidden()); @@ -1417,7 +1419,7 @@ void QMessageBox::keyPressEvent(QKeyEvent *e) #if !defined(QT_NO_CLIPBOARD) && !defined(QT_NO_SHORTCUT) -#if !defined(QT_NO_TEXTEDIT) +#if QT_CONFIG(textedit) if (e == QKeySequence::Copy) { if (d->detailsText && d->detailsText->isVisible() && d->detailsText->copy()) { e->setAccepted(true); @@ -1428,7 +1430,7 @@ void QMessageBox::keyPressEvent(QKeyEvent *e) e->setAccepted(true); return; } -#endif // !QT_NO_TEXTEDIT +#endif // QT_CONFIG(textedit) #if defined(Q_OS_WIN) if (e == QKeySequence::Copy) { @@ -1444,7 +1446,7 @@ void QMessageBox::keyPressEvent(QKeyEvent *e) for (const auto *button : buttons) textToCopy += button->text() + QLatin1String(" "); textToCopy += QLatin1Char('\n') + separator; -#ifndef QT_NO_TEXTEDIT +#if QT_CONFIG(textedit) if (d->detailsText) textToCopy += d->detailsText->text() + QLatin1Char('\n') + separator; #endif @@ -1982,7 +1984,7 @@ int QMessageBoxPrivate::showOldMessageBox(QWidget *parent, QMessageBox::Icon ico void QMessageBoxPrivate::retranslateStrings() { -#ifndef QT_NO_TEXTEDIT +#if QT_CONFIG(textedit) if (detailsButton) detailsButton->setLabel(detailsText->isHidden() ? ShowLabel : HideLabel); #endif @@ -2437,7 +2439,7 @@ void QMessageBox::setButtonText(int button, const QString &text) } } -#ifndef QT_NO_TEXTEDIT +#if QT_CONFIG(textedit) /*! \property QMessageBox::detailedText \brief the text to be displayed in the details area. @@ -2485,7 +2487,7 @@ void QMessageBox::setDetailedText(const QString &text) } d->setupLayout(); } -#endif // QT_NO_TEXTEDIT +#endif // QT_CONFIG(textedit) /*! \property QMessageBox::informativeText diff --git a/src/widgets/dialogs/qmessagebox.h b/src/widgets/dialogs/qmessagebox.h index 6d5179602b..fd7d7936b6 100644 --- a/src/widgets/dialogs/qmessagebox.h +++ b/src/widgets/dialogs/qmessagebox.h @@ -61,7 +61,7 @@ class Q_WIDGETS_EXPORT QMessageBox : public QDialog Q_PROPERTY(QPixmap iconPixmap READ iconPixmap WRITE setIconPixmap) Q_PROPERTY(Qt::TextFormat textFormat READ textFormat WRITE setTextFormat) Q_PROPERTY(StandardButtons standardButtons READ standardButtons WRITE setStandardButtons) -#ifndef QT_NO_TEXTEDIT +#if QT_CONFIG(textedit) Q_PROPERTY(QString detailedText READ detailedText WRITE setDetailedText) #endif Q_PROPERTY(QString informativeText READ informativeText WRITE setInformativeText) @@ -270,7 +270,7 @@ public: QString informativeText() const; void setInformativeText(const QString &text); -#ifndef QT_NO_TEXTEDIT +#if QT_CONFIG(textedit) QString detailedText() const; void setDetailedText(const QString &text); #endif diff --git a/src/widgets/graphicsview/qgraphicsproxywidget.cpp b/src/widgets/graphicsview/qgraphicsproxywidget.cpp index a322d86678..94ce102a68 100644 --- a/src/widgets/graphicsview/qgraphicsproxywidget.cpp +++ b/src/widgets/graphicsview/qgraphicsproxywidget.cpp @@ -56,7 +56,9 @@ #if QT_CONFIG(lineedit) #include #endif +#if QT_CONFIG(textedit) #include +#endif QT_BEGIN_NAMESPACE diff --git a/src/widgets/itemviews/qabstractitemdelegate.cpp b/src/widgets/itemviews/qabstractitemdelegate.cpp index e98b82e049..d532221092 100644 --- a/src/widgets/itemviews/qabstractitemdelegate.cpp +++ b/src/widgets/itemviews/qabstractitemdelegate.cpp @@ -52,8 +52,10 @@ #if QT_CONFIG(lineedit) #include #endif +#if QT_CONFIG(textedit) #include #include +#endif #include #include #include @@ -435,7 +437,7 @@ QAbstractItemDelegatePrivate::QAbstractItemDelegatePrivate() static bool editorHandlesKeyEvent(QWidget *editor, const QKeyEvent *event) { -#ifndef QT_NO_TEXTEDIT +#if QT_CONFIG(textedit) // do not filter enter / return / tab / backtab for QTextEdit or QPlainTextEdit if (qobject_cast(editor) || qobject_cast(editor)) { switch (event->key()) { @@ -449,7 +451,7 @@ static bool editorHandlesKeyEvent(QWidget *editor, const QKeyEvent *event) break; } } -#endif // QT_NO_TEXTEDIT +#endif // QT_CONFIG(textedit) Q_UNUSED(editor); Q_UNUSED(event); diff --git a/src/widgets/itemviews/qstyleditemdelegate.cpp b/src/widgets/itemviews/qstyleditemdelegate.cpp index 561ccec5e6..716df2c729 100644 --- a/src/widgets/itemviews/qstyleditemdelegate.cpp +++ b/src/widgets/itemviews/qstyleditemdelegate.cpp @@ -45,8 +45,10 @@ #if QT_CONFIG(lineedit) #include #endif +#if QT_CONFIG(textedit) #include #include +#endif #include #include #include diff --git a/src/widgets/styles/qpixmapstyle.cpp b/src/widgets/styles/qpixmapstyle.cpp index 63afb24c59..976bd2630e 100644 --- a/src/widgets/styles/qpixmapstyle.cpp +++ b/src/widgets/styles/qpixmapstyle.cpp @@ -43,7 +43,9 @@ #include "qpixmapstyle_p_p.h" #include +#if QT_CONFIG(textedit) #include +#endif #include #include #include diff --git a/src/widgets/widgets/qlineedit.cpp b/src/widgets/widgets/qlineedit.cpp index 852567038b..25d78b3ef2 100644 --- a/src/widgets/widgets/qlineedit.cpp +++ b/src/widgets/widgets/qlineedit.cpp @@ -60,8 +60,10 @@ #include "qvariant.h" #include "qvector.h" #include "qdebug.h" +#if QT_CONFIG(textedit) #include "qtextedit.h" #include +#endif #include #ifndef QT_NO_ACCESSIBILITY diff --git a/src/widgets/widgets/qplaintextedit.cpp b/src/widgets/widgets/qplaintextedit.cpp index f8c9b28bb7..6386278336 100644 --- a/src/widgets/widgets/qplaintextedit.cpp +++ b/src/widgets/widgets/qplaintextedit.cpp @@ -63,8 +63,6 @@ #include #include -#ifndef QT_NO_TEXTEDIT - QT_BEGIN_NAMESPACE static inline bool shouldEnableInputMethod(QPlainTextEdit *plaintextedit) @@ -3194,5 +3192,3 @@ QT_END_NAMESPACE #include "moc_qplaintextedit.cpp" #include "moc_qplaintextedit_p.cpp" - -#endif // QT_NO_TEXTEDIT diff --git a/src/widgets/widgets/qplaintextedit.h b/src/widgets/widgets/qplaintextedit.h index d773c4791c..29d610a129 100644 --- a/src/widgets/widgets/qplaintextedit.h +++ b/src/widgets/widgets/qplaintextedit.h @@ -50,11 +50,10 @@ #include #include -#ifndef QT_NO_TEXTEDIT +QT_REQUIRE_CONFIG(textedit); QT_BEGIN_NAMESPACE - class QStyleSheet; class QTextDocument; class QMenu; @@ -329,7 +328,4 @@ private: QT_END_NAMESPACE - -#endif // QT_NO_TEXTEDIT - #endif // QPLAINTEXTEDIT_H diff --git a/src/widgets/widgets/qplaintextedit_p.h b/src/widgets/widgets/qplaintextedit_p.h index 2484f9a33c..6078802fba 100644 --- a/src/widgets/widgets/qplaintextedit_p.h +++ b/src/widgets/widgets/qplaintextedit_p.h @@ -64,10 +64,10 @@ #include "QtCore/qbasictimer.h" #include "qplaintextedit.h" -#ifndef QT_NO_TEXTEDIT - #include "private/qwidgettextcontrol_p.h" +QT_REQUIRE_CONFIG(textedit); + QT_BEGIN_NAMESPACE class QMimeData; @@ -187,6 +187,4 @@ public: QT_END_NAMESPACE -#endif // QT_NO_TEXTEDIT - #endif // QPLAINTEXTEDIT_P_H diff --git a/src/widgets/widgets/qtextedit.cpp b/src/widgets/widgets/qtextedit.cpp index 359f203d1c..bde7388e41 100644 --- a/src/widgets/widgets/qtextedit.cpp +++ b/src/widgets/widgets/qtextedit.cpp @@ -45,7 +45,6 @@ #include "qtextbrowser.h" #endif -#ifndef QT_NO_TEXTEDIT #include #include #include @@ -71,12 +70,8 @@ #include #include -#endif - QT_BEGIN_NAMESPACE - -#ifndef QT_NO_TEXTEDIT static inline bool shouldEnableInputMethod(QTextEdit *textedit) { return !textedit->isReadOnly(); @@ -2639,8 +2634,6 @@ void QTextEdit::ensureCursorVisible() (\a available is true) or unavailable (\a available is false). */ -#endif // QT_NO_TEXTEDIT - QT_END_NAMESPACE #include "moc_qtextedit.cpp" diff --git a/src/widgets/widgets/qtextedit.h b/src/widgets/widgets/qtextedit.h index 745b644511..ff52fde2ed 100644 --- a/src/widgets/widgets/qtextedit.h +++ b/src/widgets/widgets/qtextedit.h @@ -47,12 +47,10 @@ #include #include -#ifndef QT_NO_TEXTEDIT - +QT_REQUIRE_CONFIG(textedit); QT_BEGIN_NAMESPACE - class QStyleSheet; class QTextDocument; class QMenu; @@ -321,6 +319,4 @@ Q_DECLARE_OPERATORS_FOR_FLAGS(QTextEdit::AutoFormatting) QT_END_NAMESPACE -#endif // QT_NO_TEXTEDIT - #endif // QTEXTEDIT_H diff --git a/src/widgets/widgets/qtextedit_p.h b/src/widgets/widgets/qtextedit_p.h index 28257fe29f..3e2046a2cb 100644 --- a/src/widgets/widgets/qtextedit_p.h +++ b/src/widgets/widgets/qtextedit_p.h @@ -65,10 +65,10 @@ #include "QtCore/qurl.h" #include "qtextedit.h" -#ifndef QT_NO_TEXTEDIT - #include "private/qwidgettextcontrol_p.h" +QT_REQUIRE_CONFIG(textedit); + QT_BEGIN_NAMESPACE class QMimeData; @@ -141,6 +141,4 @@ public: QT_END_NAMESPACE -#endif // QT_NO_TEXTEDIT - #endif // QTEXTEDIT_P_H diff --git a/src/widgets/widgets/qwidgettextcontrol.cpp b/src/widgets/widgets/qwidgettextcontrol.cpp index 158845ed29..83aa343d5c 100644 --- a/src/widgets/widgets/qwidgettextcontrol.cpp +++ b/src/widgets/widgets/qwidgettextcontrol.cpp @@ -53,7 +53,9 @@ #include #include "private/qtextdocumentlayout_p.h" #include "private/qabstracttextdocumentlayout_p.h" +#if QT_CONFIG(textedit) #include "private/qtextedit_p.h" +#endif #include "qtextdocument.h" #include "private/qtextdocument_p.h" #include "qtextlist.h" @@ -1349,7 +1351,7 @@ process: QVariant QWidgetTextControl::loadResource(int type, const QUrl &name) { -#ifdef QT_NO_TEXTEDIT +#if !QT_CONFIG(textedit) Q_UNUSED(type); Q_UNUSED(name); #else @@ -2410,7 +2412,7 @@ void QWidgetTextControl::setAcceptRichText(bool accept) d->acceptRichText = accept; } -#ifndef QT_NO_TEXTEDIT +#if QT_CONFIG(textedit) void QWidgetTextControl::setExtraSelections(const QList &selections) { @@ -2474,7 +2476,7 @@ QList QWidgetTextControl::extraSelections() const return selections; } -#endif // QT_NO_TEXTEDIT +#endif // QT_CONFIG(textedit) void QWidgetTextControl::setTextWidth(qreal width) { @@ -3295,7 +3297,7 @@ void QUnicodeControlCharacterMenu::menuActionTriggered() QChar c(qt_controlCharacters[idx].character); QString str(c); -#ifndef QT_NO_TEXTEDIT +#if QT_CONFIG(textedit) if (QTextEdit *edit = qobject_cast(editWidget)) { edit->insertPlainText(str); return; diff --git a/src/widgets/widgets/qwidgettextcontrol_p.h b/src/widgets/widgets/qwidgettextcontrol_p.h index e2539a30e7..c17ab2cf17 100644 --- a/src/widgets/widgets/qwidgettextcontrol_p.h +++ b/src/widgets/widgets/qwidgettextcontrol_p.h @@ -56,7 +56,9 @@ #include #include #include +#if QT_CONFIG(textedit) #include +#endif #include #include #include @@ -148,7 +150,7 @@ public: bool acceptRichText() const; void setAcceptRichText(bool accept); -#ifndef QT_NO_TEXTEDIT +#if QT_CONFIG(textedit) void setExtraSelections(const QList &selections); QList extraSelections() const; #endif diff --git a/src/widgets/widgets/widgets.pri b/src/widgets/widgets/widgets.pri index 361e336474..ce6c881cfd 100644 --- a/src/widgets/widgets/widgets.pri +++ b/src/widgets/widgets/widgets.pri @@ -5,8 +5,6 @@ HEADERS += \ widgets/qframe_p.h \ widgets/qmenu.h \ widgets/qmenu_p.h \ - widgets/qtextedit.h \ - widgets/qtextedit_p.h \ widgets/qtoolbar.h \ widgets/qtoolbar_p.h \ widgets/qtoolbarlayout_p.h \ @@ -15,22 +13,18 @@ HEADERS += \ widgets/qabstractscrollarea_p.h \ widgets/qfocusframe.h \ widgets/qwidgetanimator_p.h \ - widgets/qtoolbararealayout_p.h \ - widgets/qplaintextedit.h \ - widgets/qplaintextedit_p.h + widgets/qtoolbararealayout_p.h SOURCES += \ widgets/qframe.cpp \ widgets/qmenu.cpp \ - widgets/qtextedit.cpp \ widgets/qtoolbar.cpp \ widgets/qtoolbarlayout.cpp \ widgets/qtoolbarseparator.cpp \ widgets/qabstractscrollarea.cpp \ widgets/qfocusframe.cpp \ widgets/qwidgetanimator.cpp \ - widgets/qtoolbararealayout.cpp \ - widgets/qplaintextedit.cpp + widgets/qtoolbararealayout.cpp qtConfig(abstractbutton) { HEADERS += \ @@ -305,6 +299,18 @@ qtConfig(tabbar) { SOURCES += widgets/qtabbar.cpp } +qtConfig(textedit) { + HEADERS += \ + widgets/qplaintextedit.h \ + widgets/qplaintextedit_p.h \ + widgets/qtextedit.h \ + widgets/qtextedit_p.h + + SOURCES += \ + widgets/qplaintextedit.cpp \ + widgets/qtextedit.cpp +} + qtConfig(textbrowser) { HEADERS += widgets/qtextbrowser.h SOURCES += widgets/qtextbrowser.cpp -- cgit v1.2.3 From 6d699d08200b1fe3a616dfbc275d46c98b77fcbd Mon Sep 17 00:00:00 2001 From: Stephan Binner Date: Sun, 3 Sep 2017 18:45:41 +0200 Subject: Convert features.menu to QT_[REQUIRE_]CONFIG Change-Id: I031356411294b259ebd2b22c53159c93fd92af6e Reviewed-by: Oswald Buddenhagen --- src/widgets/accessible/qaccessiblemenu.cpp | 6 +++-- src/widgets/accessible/qaccessiblemenu_p.h | 4 +-- src/widgets/accessible/qaccessiblewidget.cpp | 4 ++- .../accessible/qaccessiblewidgetfactory.cpp | 2 +- src/widgets/accessible/qaccessiblewidgets.cpp | 2 ++ src/widgets/accessible/simplewidgets.cpp | 16 ++++++------ src/widgets/dialogs/qcolordialog.cpp | 4 ++- src/widgets/dialogs/qdialog.cpp | 4 ++- src/widgets/dialogs/qfiledialog.cpp | 6 +++-- src/widgets/dialogs/qmessagebox.cpp | 2 ++ src/widgets/dialogs/qsidebar.cpp | 6 +++-- src/widgets/dialogs/qsidebar_p.h | 2 +- src/widgets/kernel/qaction.cpp | 6 +++-- src/widgets/kernel/qaction.h | 2 +- src/widgets/kernel/qaction_p.h | 2 ++ src/widgets/kernel/qshortcut.cpp | 4 ++- src/widgets/kernel/qwidget.cpp | 4 ++- src/widgets/styles/qcommonstyle.cpp | 10 +++++--- src/widgets/styles/qmacstyle_mac.mm | 6 ++--- src/widgets/styles/qstylesheetstyle.cpp | 4 ++- src/widgets/styles/qwindowsstyle.cpp | 16 ++++++------ src/widgets/styles/qwindowsvistastyle.cpp | 4 +-- src/widgets/util/qsystemtrayicon.cpp | 6 +++-- src/widgets/util/qsystemtrayicon.h | 2 +- src/widgets/util/qsystemtrayicon_p.h | 3 +++ src/widgets/util/qsystemtrayicon_x11.cpp | 2 ++ src/widgets/widgets/qabstractspinbox.cpp | 2 ++ src/widgets/widgets/qcombobox.cpp | 4 ++- src/widgets/widgets/qlabel_p.h | 2 ++ src/widgets/widgets/qlineedit.cpp | 2 ++ src/widgets/widgets/qmainwindow.cpp | 6 ++--- src/widgets/widgets/qmainwindow.h | 2 +- src/widgets/widgets/qmdiarea.cpp | 6 +++-- src/widgets/widgets/qmdisubwindow.cpp | 21 +++++++++------- src/widgets/widgets/qmdisubwindow.h | 4 +-- src/widgets/widgets/qmdisubwindow_p.h | 4 +-- src/widgets/widgets/qmenu.cpp | 4 --- src/widgets/widgets/qmenu.h | 7 ++---- src/widgets/widgets/qmenu_mac.mm | 4 +-- src/widgets/widgets/qmenu_p.h | 6 ++--- src/widgets/widgets/qmenubar.cpp | 2 +- src/widgets/widgets/qplaintextedit.cpp | 2 ++ src/widgets/widgets/qplaintextedit_p.h | 2 ++ src/widgets/widgets/qpushbutton.cpp | 14 ++++++----- src/widgets/widgets/qpushbutton.h | 6 ++--- src/widgets/widgets/qpushbutton_p.h | 2 +- src/widgets/widgets/qscrollbar.cpp | 6 +++-- src/widgets/widgets/qtextedit.cpp | 2 ++ src/widgets/widgets/qtextedit_p.h | 2 ++ src/widgets/widgets/qtoolbutton.cpp | 29 +++++++++++----------- src/widgets/widgets/qtoolbutton.h | 8 +++--- src/widgets/widgets/qwidgettextcontrol.cpp | 2 ++ src/widgets/widgets/qwidgettextcontrol_p.h | 2 ++ src/widgets/widgets/qwidgettextcontrol_p_p.h | 2 ++ src/widgets/widgets/widgets.pri | 16 +++++++++--- 55 files changed, 184 insertions(+), 116 deletions(-) diff --git a/src/widgets/accessible/qaccessiblemenu.cpp b/src/widgets/accessible/qaccessiblemenu.cpp index 715bf1c53f..d20c5bfc71 100644 --- a/src/widgets/accessible/qaccessiblemenu.cpp +++ b/src/widgets/accessible/qaccessiblemenu.cpp @@ -39,7 +39,9 @@ #include "qaccessiblemenu_p.h" +#if QT_CONFIG(menu) #include +#endif #if QT_CONFIG(menubar) #include #endif @@ -50,7 +52,7 @@ QT_BEGIN_NAMESPACE -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) QString qt_accStripAmp(const QString &text); QString qt_accHotKey(const QString &text); @@ -389,7 +391,7 @@ QWidget *QAccessibleMenuItem::owner() const return m_owner; } -#endif // QT_NO_MENU +#endif // QT_CONFIG(menu) QT_END_NAMESPACE diff --git a/src/widgets/accessible/qaccessiblemenu_p.h b/src/widgets/accessible/qaccessiblemenu_p.h index 35dcd9bad1..8b37e23333 100644 --- a/src/widgets/accessible/qaccessiblemenu_p.h +++ b/src/widgets/accessible/qaccessiblemenu_p.h @@ -59,7 +59,7 @@ QT_BEGIN_NAMESPACE #ifndef QT_NO_ACCESSIBILITY -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) class QMenu; class QMenuBar; class QAction; @@ -136,7 +136,7 @@ private: QPointer m_owner; // can hold either QMenu or the QMenuBar that contains the action }; -#endif // QT_NO_MENU +#endif // QT_CONFIG(menu) QT_END_NAMESPACE #endif // QT_NO_ACCESSIBILITY diff --git a/src/widgets/accessible/qaccessiblewidget.cpp b/src/widgets/accessible/qaccessiblewidget.cpp index e3dd7383b2..c96d213e7b 100644 --- a/src/widgets/accessible/qaccessiblewidget.cpp +++ b/src/widgets/accessible/qaccessiblewidget.cpp @@ -60,7 +60,9 @@ #include #endif #include +#if QT_CONFIG(menu) #include +#endif #include QT_BEGIN_NAMESPACE @@ -72,7 +74,7 @@ static QList childWidgets(const QWidget *widget) QWidget *w = qobject_cast(o); if (w && !w->isWindow() && !qobject_cast(w) -#if !defined(QT_NO_MENU) +#if QT_CONFIG(menu) && !qobject_cast(w) #endif && w->objectName() != QLatin1String("qt_rubberband") diff --git a/src/widgets/accessible/qaccessiblewidgetfactory.cpp b/src/widgets/accessible/qaccessiblewidgetfactory.cpp index a784f6cd1c..0bac45de27 100644 --- a/src/widgets/accessible/qaccessiblewidgetfactory.cpp +++ b/src/widgets/accessible/qaccessiblewidgetfactory.cpp @@ -142,7 +142,7 @@ QAccessibleInterface *qAccessibleFactory(const QString &classname, QObject *obje } else if (classname == QLatin1String("QMenuBar")) { iface = new QAccessibleMenuBar(widget); #endif -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) } else if (classname == QLatin1String("QMenu")) { iface = new QAccessibleMenu(widget); #endif diff --git a/src/widgets/accessible/qaccessiblewidgets.cpp b/src/widgets/accessible/qaccessiblewidgets.cpp index 2edb6d93b4..f869ab1129 100644 --- a/src/widgets/accessible/qaccessiblewidgets.cpp +++ b/src/widgets/accessible/qaccessiblewidgets.cpp @@ -88,7 +88,9 @@ #include #endif #include +#if QT_CONFIG(menu) #include +#endif #ifndef QT_NO_ACCESSIBILITY diff --git a/src/widgets/accessible/simplewidgets.cpp b/src/widgets/accessible/simplewidgets.cpp index 1eb1a757c8..73de51ff45 100644 --- a/src/widgets/accessible/simplewidgets.cpp +++ b/src/widgets/accessible/simplewidgets.cpp @@ -60,7 +60,9 @@ #if QT_CONFIG(toolbutton) #include #endif +#if QT_CONFIG(menu) #include +#endif #if QT_CONFIG(label) #include #endif @@ -178,7 +180,7 @@ QAccessible::State QAccessibleButton::state() const if (pb) { if (pb->isDefault()) state.defaultButton = true; -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) if (pb->menu()) state.hasPopup = true; #endif @@ -217,7 +219,7 @@ QAccessible::Role QAccessibleButton::role() const { QAbstractButton *ab = button(); -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) if (QPushButton *pb = qobject_cast(ab)) { if (pb->menu()) return QAccessible::ButtonMenu; @@ -260,7 +262,7 @@ void QAccessibleButton::doAction(const QString &actionName) return; if (actionName == pressAction() || actionName == showMenuAction()) { -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) QPushButton *pb = qobject_cast(object()); if (pb && pb->menu()) pb->showMenu(); @@ -314,7 +316,7 @@ QToolButton *QAccessibleToolButton::toolButton() const */ bool QAccessibleToolButton::isSplitButton() const { -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) return toolButton()->menu() && toolButton()->popupMode() == QToolButton::MenuButtonPopup; #else return false; @@ -326,7 +328,7 @@ QAccessible::State QAccessibleToolButton::state() const QAccessible::State st = QAccessibleButton::state(); if (toolButton()->autoRaise()) st.hotTracked = true; -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) if (toolButton()->menu()) st.hasPopup = true; #endif @@ -340,7 +342,7 @@ int QAccessibleToolButton::childCount() const QAccessible::Role QAccessibleToolButton::role() const { -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) QAbstractButton *ab = button(); QToolButton *tb = qobject_cast(ab); if (!tb->menu()) @@ -354,7 +356,7 @@ QAccessible::Role QAccessibleToolButton::role() const QAccessibleInterface *QAccessibleToolButton::child(int index) const { -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) if (index == 0 && toolButton()->menu()) { return QAccessible::queryAccessibleInterface(toolButton()->menu()); diff --git a/src/widgets/dialogs/qcolordialog.cpp b/src/widgets/dialogs/qcolordialog.cpp index f361770c3e..47c2333c21 100644 --- a/src/widgets/dialogs/qcolordialog.cpp +++ b/src/widgets/dialogs/qcolordialog.cpp @@ -48,7 +48,9 @@ #include "qlabel.h" #include "qlayout.h" #include "qlineedit.h" +#if QT_CONFIG(menu) #include "qmenu.h" +#endif #include "qpainter.h" #include "qpixmap.h" #include "qpushbutton.h" @@ -427,7 +429,7 @@ void QWellArray::setSelected(int row, int col) if (row >= 0) emit selected(row, col); -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) if (isVisible() && qobject_cast(parentWidget())) parentWidget()->close(); #endif diff --git a/src/widgets/dialogs/qdialog.cpp b/src/widgets/dialogs/qdialog.cpp index 51e4b76298..6f7567a94f 100644 --- a/src/widgets/dialogs/qdialog.cpp +++ b/src/widgets/dialogs/qdialog.cpp @@ -58,7 +58,9 @@ #if QT_CONFIG(whatsthis) #include "qwhatsthis.h" #endif +#if QT_CONFIG(menu) #include "qmenu.h" +#endif #include "qcursor.h" #if QT_CONFIG(messagebox) #include "qmessagebox.h" @@ -622,7 +624,7 @@ bool QDialog::eventFilter(QObject *o, QEvent *e) /*! \reimp */ void QDialog::contextMenuEvent(QContextMenuEvent *e) { -#if !QT_CONFIG(whatsthis) || defined(QT_NO_MENU) +#if !QT_CONFIG(whatsthis) || !QT_CONFIG(menu) Q_UNUSED(e); #else QWidget *w = childAt(e->pos()); diff --git a/src/widgets/dialogs/qfiledialog.cpp b/src/widgets/dialogs/qfiledialog.cpp index 8d0161d96b..8d37969be4 100644 --- a/src/widgets/dialogs/qfiledialog.cpp +++ b/src/widgets/dialogs/qfiledialog.cpp @@ -50,7 +50,9 @@ #include #include #include +#if QT_CONFIG(menu) #include +#endif #if QT_CONFIG(messagebox) #include #endif @@ -3353,7 +3355,7 @@ void QFileDialogPrivate::_q_showDetailsView() */ void QFileDialogPrivate::_q_showContextMenu(const QPoint &position) { -#ifdef QT_NO_MENU +#if !QT_CONFIG(menu) Q_UNUSED(position); #else Q_Q(QFileDialog); @@ -3382,7 +3384,7 @@ void QFileDialogPrivate::_q_showContextMenu(const QPoint &position) menu.addAction(newFolderAction); } menu.exec(view->viewport()->mapToGlobal(position)); -#endif // QT_NO_MENU +#endif // QT_CONFIG(menu) } /*! diff --git a/src/widgets/dialogs/qmessagebox.cpp b/src/widgets/dialogs/qmessagebox.cpp index 708b6a86c1..9421ea2953 100644 --- a/src/widgets/dialogs/qmessagebox.cpp +++ b/src/widgets/dialogs/qmessagebox.cpp @@ -57,7 +57,9 @@ #if QT_CONFIG(textedit) #include #endif +#if QT_CONFIG(menu) #include +#endif #include "qdialog_p.h" #include #include diff --git a/src/widgets/dialogs/qsidebar.cpp b/src/widgets/dialogs/qsidebar.cpp index b8b042ddb5..f77b10ecbc 100644 --- a/src/widgets/dialogs/qsidebar.cpp +++ b/src/widgets/dialogs/qsidebar.cpp @@ -42,7 +42,9 @@ #include #include +#if QT_CONFIG(menu) #include +#endif #include #include #include @@ -435,7 +437,7 @@ void QSidebar::selectUrl(const QUrl &url) this, SLOT(clicked(QModelIndex))); } -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) /*! \internal @@ -454,7 +456,7 @@ void QSidebar::showContextMenu(const QPoint &position) if (actions.count() > 0) QMenu::exec(actions, mapToGlobal(position)); } -#endif // QT_NO_MENU +#endif // QT_CONFIG(menu) /*! \internal diff --git a/src/widgets/dialogs/qsidebar_p.h b/src/widgets/dialogs/qsidebar_p.h index 17d576e54d..1f27d477a8 100644 --- a/src/widgets/dialogs/qsidebar_p.h +++ b/src/widgets/dialogs/qsidebar_p.h @@ -148,7 +148,7 @@ protected: private Q_SLOTS: void clicked(const QModelIndex &index); -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) void showContextMenu(const QPoint &position); #endif void removeEntry(); diff --git a/src/widgets/kernel/qaction.cpp b/src/widgets/kernel/qaction.cpp index 002ca68720..f1788bb3f4 100644 --- a/src/widgets/kernel/qaction.cpp +++ b/src/widgets/kernel/qaction.cpp @@ -47,7 +47,9 @@ #include "qlist.h" #include #include +#if QT_CONFIG(menu) #include +#endif #include #define QAPP_CHECK(functionName) \ @@ -643,7 +645,7 @@ QIcon QAction::icon() const return d->icon; } -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) /*! Returns the menu contained by this action. Actions that contain menus can be used to create menu items with submenus, or inserted @@ -670,7 +672,7 @@ void QAction::setMenu(QMenu *menu) menu->d_func()->setOverrideMenuAction(this); d->sendDataChanged(); } -#endif // QT_NO_MENU +#endif // QT_CONFIG(menu) /*! If \a b is true then this action will be considered a separator. diff --git a/src/widgets/kernel/qaction.h b/src/widgets/kernel/qaction.h index 7dc4419d8e..41e29e6ab9 100644 --- a/src/widgets/kernel/qaction.h +++ b/src/widgets/kernel/qaction.h @@ -120,7 +120,7 @@ public: void setPriority(Priority priority); Priority priority() const; -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) QMenu *menu() const; void setMenu(QMenu *menu); #endif diff --git a/src/widgets/kernel/qaction_p.h b/src/widgets/kernel/qaction_p.h index 45394e0b52..992323f308 100644 --- a/src/widgets/kernel/qaction_p.h +++ b/src/widgets/kernel/qaction_p.h @@ -53,7 +53,9 @@ #include #include "QtWidgets/qaction.h" +#if QT_CONFIG(menu) #include "QtWidgets/qmenu.h" +#endif #if QT_CONFIG(graphicsview) #include "private/qgraphicswidget_p.h" #endif diff --git a/src/widgets/kernel/qshortcut.cpp b/src/widgets/kernel/qshortcut.cpp index 18376bb183..0585a59e89 100644 --- a/src/widgets/kernel/qshortcut.cpp +++ b/src/widgets/kernel/qshortcut.cpp @@ -45,7 +45,9 @@ #if QT_CONFIG(whatsthis) #include #endif +#if QT_CONFIG(menu) #include +#endif #if QT_CONFIG(menubar) #include #endif @@ -276,7 +278,7 @@ static bool correctActionContext(Qt::ShortcutContext context, QAction *a, QWidge #endif for (int i = 0; i < widgets.size(); ++i) { QWidget *w = widgets.at(i); -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) if (QMenu *menu = qobject_cast(w)) { #ifdef Q_OS_DARWIN // On Mac, menu item shortcuts are processed before reaching any window. diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp index 415045a9f7..53b240d4d2 100644 --- a/src/widgets/kernel/qwidget.cpp +++ b/src/widgets/kernel/qwidget.cpp @@ -45,7 +45,9 @@ #include "qdesktopwidget_p.h" #include "qevent.h" #include "qlayout.h" +#if QT_CONFIG(menu) #include "qmenu.h" +#endif #include "qmetaobject.h" #include "qpixmap.h" #include "qpointer.h" @@ -8996,7 +8998,7 @@ bool QWidget::event(QEvent *event) case Qt::CustomContextMenu: emit customContextMenuRequested(static_cast(event)->pos()); break; -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) case Qt::ActionsContextMenu: if (d->actions.count()) { QMenu::exec(d->actions, static_cast(event)->globalPos(), diff --git a/src/widgets/styles/qcommonstyle.cpp b/src/widgets/styles/qcommonstyle.cpp index 38cade2b53..4a6a7bce4b 100644 --- a/src/widgets/styles/qcommonstyle.cpp +++ b/src/widgets/styles/qcommonstyle.cpp @@ -65,7 +65,9 @@ #include #endif #include +#if QT_CONFIG(menu) #include +#endif #include #include #include @@ -1373,7 +1375,7 @@ void QCommonStyle::drawControl(ControlElement element, const QStyleOption *opt, } } break; -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) case CE_MenuScroller: { QStyleOption arrowOpt = *opt; arrowOpt.state |= State_Enabled; @@ -1393,7 +1395,7 @@ void QCommonStyle::drawControl(ControlElement element, const QStyleOption *opt, p->drawLine(opt->rect.x() + 2, opt->rect.y() + opt->rect.height() / 2, opt->rect.x() + opt->rect.width() - 4, opt->rect.y() + opt->rect.height() / 2); break; -#endif // QT_NO_MENU +#endif // QT_CONFIG(menu) #if QT_CONFIG(menubar) case CE_MenuBarItem: if (const QStyleOptionMenuItem *mbi = qstyleoption_cast(opt)) { @@ -4814,7 +4816,7 @@ QSize QCommonStyle::sizeFromContents(ContentsType ct, const QStyleOption *opt, sz.setHeight(qMax(sz.height(), h)); } break; -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) case CT_MenuItem: if (const QStyleOptionMenuItem *mi = qstyleoption_cast(opt)) { bool checkable = mi->menuHasCheckableItems; @@ -4842,7 +4844,7 @@ QSize QCommonStyle::sizeFromContents(ContentsType ct, const QStyleOption *opt, sz = QSize(w, h); } break; -#endif // QT_NO_MENU +#endif // QT_CONFIG(menu) #if QT_CONFIG(toolbutton) case CT_ToolButton: sz = QSize(sz.width() + 6, sz.height() + 5); diff --git a/src/widgets/styles/qmacstyle_mac.mm b/src/widgets/styles/qmacstyle_mac.mm index cb80a49422..f45bf7011f 100644 --- a/src/widgets/styles/qmacstyle_mac.mm +++ b/src/widgets/styles/qmacstyle_mac.mm @@ -2291,7 +2291,7 @@ void QMacStyle::polish(QWidget* w) w->setAttribute(Qt::WA_SetPalette, false); } -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) if (qobject_cast(w) #if QT_CONFIG(combobox) || qobject_cast(w) @@ -2350,7 +2350,7 @@ void QMacStyle::polish(QWidget* w) void QMacStyle::unpolish(QWidget* w) { if (( -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) qobject_cast(w) || #endif qt_mac_is_metal(w) @@ -3089,7 +3089,7 @@ int QMacStyle::styleHint(StyleHint sh, const QStyleOption *opt, const QWidget *w opt->rect.width(), opt->rect.height() - 8); HIThemeMenuDrawInfo mdi; mdi.version = 0; -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) if (w && qobject_cast(w->parentWidget())) mdi.menuType = kThemeMenuTypeHierarchical; else diff --git a/src/widgets/styles/qstylesheetstyle.cpp b/src/widgets/styles/qstylesheetstyle.cpp index 1e7325d650..6a99d21988 100644 --- a/src/widgets/styles/qstylesheetstyle.cpp +++ b/src/widgets/styles/qstylesheetstyle.cpp @@ -45,7 +45,9 @@ #include "private/qcssutil_p.h" #include #include +#if QT_CONFIG(menu) #include +#endif #if QT_CONFIG(menubar) #include #endif @@ -1665,7 +1667,7 @@ int QStyleSheetStyle::nativeFrameWidth(const QWidget *w) return base->pixelMetric(QStyle::PM_ComboBoxFrameWidth, 0, w); #endif -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) if (qobject_cast(w)) return base->pixelMetric(QStyle::PM_MenuPanelWidth, 0, w); #endif diff --git a/src/widgets/styles/qwindowsstyle.cpp b/src/widgets/styles/qwindowsstyle.cpp index ad3788a3a4..657166fc8d 100644 --- a/src/widgets/styles/qwindowsstyle.cpp +++ b/src/widgets/styles/qwindowsstyle.cpp @@ -46,7 +46,9 @@ #include "qbitmap.h" #include "qdrawutil.h" // for now #include "qevent.h" +#if QT_CONFIG(menu) #include "qmenu.h" +#endif #if QT_CONFIG(menubar) #include "qmenubar.h" #include @@ -352,7 +354,7 @@ int QWindowsStylePrivate::fixedPixelMetric(QStyle::PixelMetric pm) return 11; #endif // QT_CONFIG(slider) -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) case QStyle::PM_MenuBarHMargin: case QStyle::PM_MenuBarVMargin: case QStyle::PM_MenuBarPanelWidth: @@ -367,7 +369,7 @@ int QWindowsStylePrivate::fixedPixelMetric(QStyle::PixelMetric pm) case QStyle::PM_DockWidgetFrameWidth: return 4; -#endif // QT_NO_MENU +#endif // QT_CONFIG(menu) case QStyle::PM_ToolBarHandleExtent: return 10; default: @@ -1115,7 +1117,7 @@ void QWindowsStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPai break; #endif // QT_CONFIG(rubberband) -#if !defined(QT_NO_MENU) && QT_CONFIG(mainwindow) +#if QT_CONFIG(menu) && QT_CONFIG(mainwindow) case CE_MenuBarEmptyArea: if (widget && qobject_cast(widget->parentWidget())) { p->fillRect(opt->rect, opt->palette.button()); @@ -1126,7 +1128,7 @@ void QWindowsStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPai } break; #endif -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) case CE_MenuItem: if (const QStyleOptionMenuItem *menuitem = qstyleoption_cast(opt)) { int x, y, w, h; @@ -1263,7 +1265,7 @@ void QWindowsStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPai } break; -#endif // QT_NO_MENU +#endif // QT_CONFIG(menu) #if QT_CONFIG(menubar) case CE_MenuBarItem: if (const QStyleOptionMenuItem *mbi = qstyleoption_cast(opt)) { @@ -2353,7 +2355,7 @@ QSize QWindowsStyle::sizeFromContents(ContentsType ct, const QStyleOption *opt, sz = QSize(w, h); } break; -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) case CT_MenuItem: if (const QStyleOptionMenuItem *mi = qstyleoption_cast(opt)) { int w = sz.width(); @@ -2395,7 +2397,7 @@ QSize QWindowsStyle::sizeFromContents(ContentsType ct, const QStyleOption *opt, sz.setWidth(w); } break; -#endif // QT_NO_MENU +#endif // QT_CONFIG(menu) #if QT_CONFIG(menubar) case CT_MenuBarItem: if (!sz.isEmpty()) diff --git a/src/widgets/styles/qwindowsvistastyle.cpp b/src/widgets/styles/qwindowsvistastyle.cpp index 4179566f6b..906c3ed7c3 100644 --- a/src/widgets/styles/qwindowsvistastyle.cpp +++ b/src/widgets/styles/qwindowsvistastyle.cpp @@ -1175,7 +1175,7 @@ void QWindowsVistaStyle::drawControl(ControlElement element, const QStyleOption } } break; -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) case CE_MenuItem: if (const QStyleOptionMenuItem *menuitem = qstyleoption_cast(option)) { // windows always has a check column, regardless whether we have an icon or not @@ -1333,7 +1333,7 @@ void QWindowsVistaStyle::drawControl(ControlElement element, const QStyleOption } } break; -#endif // QT_NO_MENU +#endif // QT_CONFIG(menu) case CE_HeaderSection: if (const QStyleOptionHeader *header = qstyleoption_cast(option)) { partId = HP_HEADERITEM; diff --git a/src/widgets/util/qsystemtrayicon.cpp b/src/widgets/util/qsystemtrayicon.cpp index 11214d93eb..f7d048edcd 100644 --- a/src/widgets/util/qsystemtrayicon.cpp +++ b/src/widgets/util/qsystemtrayicon.cpp @@ -42,7 +42,9 @@ #ifndef QT_NO_SYSTEMTRAYICON +#if QT_CONFIG(menu) #include "qmenu.h" +#endif #include "qlist.h" #include "qevent.h" #include "qpoint.h" @@ -178,7 +180,7 @@ QSystemTrayIcon::~QSystemTrayIcon() d->remove_sys(); } -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) /*! Sets the specified \a menu to be the context menu for the system tray icon. @@ -209,7 +211,7 @@ QMenu* QSystemTrayIcon::contextMenu() const return d->menu; } -#endif // QT_NO_MENU +#endif // QT_CONFIG(menu) /*! \property QSystemTrayIcon::icon diff --git a/src/widgets/util/qsystemtrayicon.h b/src/widgets/util/qsystemtrayicon.h index 918dd0478e..81f396ed83 100644 --- a/src/widgets/util/qsystemtrayicon.h +++ b/src/widgets/util/qsystemtrayicon.h @@ -78,7 +78,7 @@ public: MiddleClick }; -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) void setContextMenu(QMenu *menu); QMenu *contextMenu() const; #endif diff --git a/src/widgets/util/qsystemtrayicon_p.h b/src/widgets/util/qsystemtrayicon_p.h index 3f5cab40be..318edbd1e3 100644 --- a/src/widgets/util/qsystemtrayicon_p.h +++ b/src/widgets/util/qsystemtrayicon_p.h @@ -57,7 +57,10 @@ #ifndef QT_NO_SYSTEMTRAYICON +#if QT_CONFIG(menu) #include "QtWidgets/qmenu.h" +#endif +#include "QtWidgets/qwidget.h" #include "QtGui/qpixmap.h" #include #include "QtCore/qstring.h" diff --git a/src/widgets/util/qsystemtrayicon_x11.cpp b/src/widgets/util/qsystemtrayicon_x11.cpp index fd9fdfb507..cd593d8d98 100644 --- a/src/widgets/util/qsystemtrayicon_x11.cpp +++ b/src/widgets/util/qsystemtrayicon_x11.cpp @@ -47,7 +47,9 @@ #include "qevent.h" #include "qapplication.h" #include "qlist.h" +#if QT_CONFIG(menu) #include "qmenu.h" +#endif #include "qtimer.h" #include "qsystemtrayicon_p.h" #include "qpaintengine.h" diff --git a/src/widgets/widgets/qabstractspinbox.cpp b/src/widgets/widgets/qabstractspinbox.cpp index c1fbdc3ddf..c72c060f9a 100644 --- a/src/widgets/widgets/qabstractspinbox.cpp +++ b/src/widgets/widgets/qabstractspinbox.cpp @@ -51,7 +51,9 @@ #include #endif #include +#if QT_CONFIG(menu) #include +#endif #include #include #include diff --git a/src/widgets/widgets/qcombobox.cpp b/src/widgets/widgets/qcombobox.cpp index 3fc5e5a051..b6bb31c391 100644 --- a/src/widgets/widgets/qcombobox.cpp +++ b/src/widgets/widgets/qcombobox.cpp @@ -51,7 +51,9 @@ #endif #include #include +#if QT_CONFIG(menu) #include +#endif #include #include #include @@ -1110,7 +1112,7 @@ void QComboBoxPrivate::updateViewContainerPaletteAndOpacity() Q_Q(QComboBox); QStyleOptionComboBox opt; q->initStyleOption(&opt); -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) if (q->style()->styleHint(QStyle::SH_ComboBox_Popup, &opt, q)) { QMenu menu; menu.ensurePolished(); diff --git a/src/widgets/widgets/qlabel_p.h b/src/widgets/widgets/qlabel_p.h index f3236ac527..e05a5b5c35 100644 --- a/src/widgets/widgets/qlabel_p.h +++ b/src/widgets/widgets/qlabel_p.h @@ -65,7 +65,9 @@ #include "qimage.h" #include "qbitmap.h" #include "qpicture.h" +#if QT_CONFIG(menu) #include "qmenu.h" +#endif QT_BEGIN_NAMESPACE diff --git a/src/widgets/widgets/qlineedit.cpp b/src/widgets/widgets/qlineedit.cpp index 25d78b3ef2..13b204e825 100644 --- a/src/widgets/widgets/qlineedit.cpp +++ b/src/widgets/widgets/qlineedit.cpp @@ -48,7 +48,9 @@ #include "qevent.h" #include "qfontmetrics.h" #include "qstylehints.h" +#if QT_CONFIG(menu) #include "qmenu.h" +#endif #include "qpainter.h" #include "qpixmap.h" #include "qpointer.h" diff --git a/src/widgets/widgets/qmainwindow.cpp b/src/widgets/widgets/qmainwindow.cpp index fcfeb18357..5c6f983149 100644 --- a/src/widgets/widgets/qmainwindow.cpp +++ b/src/widgets/widgets/qmainwindow.cpp @@ -1695,7 +1695,7 @@ void QMainWindow::contextMenuEvent(QContextMenuEvent *event) if (child == this) return; -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) QMenu *popup = createPopupMenu(); if (popup) { if (!popup->isEmpty()) { @@ -1710,7 +1710,7 @@ void QMainWindow::contextMenuEvent(QContextMenuEvent *event) } #endif // QT_NO_CONTEXTMENU -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) /*! Returns a popup menu containing checkable entries for the toolbars and dock widgets present in the main window. If there are no toolbars and @@ -1771,7 +1771,7 @@ QMenu *QMainWindow::createPopupMenu() Q_UNUSED(d); return menu; } -#endif // QT_NO_MENU +#endif // QT_CONFIG(menu) QT_END_NAMESPACE diff --git a/src/widgets/widgets/qmainwindow.h b/src/widgets/widgets/qmainwindow.h index ba75c20b28..50d840cf61 100644 --- a/src/widgets/widgets/qmainwindow.h +++ b/src/widgets/widgets/qmainwindow.h @@ -181,7 +181,7 @@ public: QByteArray saveState(int version = 0) const; bool restoreState(const QByteArray &state, int version = 0); -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) virtual QMenu *createPopupMenu(); #endif diff --git a/src/widgets/widgets/qmdiarea.cpp b/src/widgets/widgets/qmdiarea.cpp index 8f9b8c5b23..c90d915f4c 100644 --- a/src/widgets/widgets/qmdiarea.cpp +++ b/src/widgets/widgets/qmdiarea.cpp @@ -171,7 +171,9 @@ #include #include #include +#if QT_CONFIG(menu) #include +#endif #include #include @@ -610,7 +612,7 @@ void QMdiAreaTabBar::contextMenuEvent(QContextMenuEvent *event) return; } -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) QMdiSubWindowPrivate *subWindowPrivate = subWindow->d_func(); if (!subWindowPrivate->systemMenu) { event->ignore(); @@ -638,7 +640,7 @@ void QMdiAreaTabBar::contextMenuEvent(QContextMenuEvent *event) // Restore action visibility. subWindowPrivate->updateActions(); -#endif // QT_NO_MENU +#endif // QT_CONFIG(menu) } #endif // QT_NO_CONTEXTMENU diff --git a/src/widgets/widgets/qmdisubwindow.cpp b/src/widgets/widgets/qmdisubwindow.cpp index db3d21d436..2e6c82f95a 100644 --- a/src/widgets/widgets/qmdisubwindow.cpp +++ b/src/widgets/widgets/qmdisubwindow.cpp @@ -165,7 +165,10 @@ #endif #include #include +#include +#if QT_CONFIG(menu) #include +#endif QT_BEGIN_NAMESPACE @@ -718,7 +721,7 @@ ControlContainer::ControlContainer(QMdiSubWindow *mdiChild) m_menuLabel = new ControlElement(mdiChild); m_menuLabel->setWindowIcon(mdiChild->windowIcon()); -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) connect(m_menuLabel, SIGNAL(_q_clicked()), mdiChild, SLOT(showSystemMenu())); #endif connect(m_menuLabel, SIGNAL(_q_doubleClicked()), mdiChild, SLOT(close())); @@ -1038,7 +1041,7 @@ void QMdiSubWindowPrivate::initOperationMap() operationMap.insert(BottomRightResize, OperationInfo(HResize | VResize, Qt::SizeFDiagCursor)); } -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) /*! \internal @@ -2157,7 +2160,7 @@ void QMdiSubWindowPrivate::setEnabled(WindowStateAction action, bool enable) actions[action]->setEnabled(enable); } -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) void QMdiSubWindowPrivate::addToSystemMenu(WindowStateAction action, const QString &text, const char *slot) { @@ -2262,7 +2265,7 @@ QMdiSubWindow::QMdiSubWindow(QWidget *parent, Qt::WindowFlags flags) : QWidget(*new QMdiSubWindowPrivate, parent, 0) { Q_D(QMdiSubWindow); -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) d->createSystemMenu(); addActions(d->systemMenu->actions()); #endif @@ -2495,7 +2498,7 @@ void QMdiSubWindow::setKeyboardPageStep(int step) d_func()->keyboardPageStep = step; } -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) /*! Sets \a systemMenu as the current system menu for this subwindow. @@ -2575,7 +2578,7 @@ void QMdiSubWindow::showSystemMenu() globalPopupPos -= QPoint(d->systemMenu->sizeHint().width(), 0); d->systemMenu->popup(globalPopupPos); } -#endif // QT_NO_MENU +#endif // QT_CONFIG(menu) /*! \since 4.4 @@ -2696,7 +2699,7 @@ bool QMdiSubWindow::eventFilter(QObject *object, QEvent *event) if (!object) return QWidget::eventFilter(object, event); -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) // System menu events. if (d->systemMenu && d->systemMenu == object) { if (event->type() == QEvent::MouseButtonDblClick) { @@ -3222,7 +3225,7 @@ void QMdiSubWindow::mousePressEvent(QMouseEvent *mouseEvent) } d->activeSubControl = d->hoveredSubControl; -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) if (d->activeSubControl == QStyle::SC_TitleBarSysMenu) showSystemMenu(); else @@ -3247,7 +3250,7 @@ void QMdiSubWindow::mouseDoubleClickEvent(QMouseEvent *mouseEvent) Q_D(QMdiSubWindow); if (!d->isMoveOperation()) { -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) if (d->hoveredSubControl == QStyle::SC_TitleBarSysMenu) close(); #endif diff --git a/src/widgets/widgets/qmdisubwindow.h b/src/widgets/widgets/qmdisubwindow.h index 4e87806acf..adaafa352a 100644 --- a/src/widgets/widgets/qmdisubwindow.h +++ b/src/widgets/widgets/qmdisubwindow.h @@ -89,7 +89,7 @@ public: void setKeyboardPageStep(int step); int keyboardPageStep() const; -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) void setSystemMenu(QMenu *systemMenu); QMenu *systemMenu() const; #endif @@ -101,7 +101,7 @@ Q_SIGNALS: void aboutToActivate(); public Q_SLOTS: -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) void showSystemMenu(); #endif void showShaded(); diff --git a/src/widgets/widgets/qmdisubwindow_p.h b/src/widgets/widgets/qmdisubwindow_p.h index 23bdf10fd9..d03aca168b 100644 --- a/src/widgets/widgets/qmdisubwindow_p.h +++ b/src/widgets/widgets/qmdisubwindow_p.h @@ -236,7 +236,7 @@ public: void leaveInteractiveMode(); void removeBaseWidget(); void initOperationMap(); -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) void createSystemMenu(); #endif void updateCursor(); @@ -275,7 +275,7 @@ public: void setVisible(WindowStateAction, bool visible = true); #ifndef QT_NO_ACTION void setEnabled(WindowStateAction, bool enable = true); -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) void addToSystemMenu(WindowStateAction, const QString &text, const char *slot); #endif #endif // QT_NO_ACTION diff --git a/src/widgets/widgets/qmenu.cpp b/src/widgets/widgets/qmenu.cpp index 38f53f089d..196348f8e8 100644 --- a/src/widgets/widgets/qmenu.cpp +++ b/src/widgets/widgets/qmenu.cpp @@ -39,8 +39,6 @@ #include "qmenu.h" -#ifndef QT_NO_MENU - #include #include "qdebug.h" @@ -3778,5 +3776,3 @@ QT_END_NAMESPACE // for private slots #include "moc_qmenu.cpp" #include "qmenu.moc" - -#endif // QT_NO_MENU diff --git a/src/widgets/widgets/qmenu.h b/src/widgets/widgets/qmenu.h index 9d1a17a5b3..0b5ed579cd 100644 --- a/src/widgets/widgets/qmenu.h +++ b/src/widgets/widgets/qmenu.h @@ -50,10 +50,9 @@ Q_FORWARD_DECLARE_OBJC_CLASS(NSMenu); #endif -QT_BEGIN_NAMESPACE - +QT_REQUIRE_CONFIG(menu); -#ifndef QT_NO_MENU +QT_BEGIN_NAMESPACE class QMenuPrivate; class QStyleOptionMenuItem; @@ -280,8 +279,6 @@ private: inline QT_DEPRECATED void qt_mac_set_dock_menu(QMenu *menu) { menu->setAsDockMenu(); } #endif -#endif // QT_NO_MENU - QT_END_NAMESPACE #endif // QMENU_H diff --git a/src/widgets/widgets/qmenu_mac.mm b/src/widgets/widgets/qmenu_mac.mm index 65b7030e20..7d932c670f 100644 --- a/src/widgets/widgets/qmenu_mac.mm +++ b/src/widgets/widgets/qmenu_mac.mm @@ -54,7 +54,7 @@ QT_BEGIN_NAMESPACE -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) namespace { // TODO use QtMacExtras copy of this function when available. @@ -139,7 +139,7 @@ void QMenuPrivate::moveWidgetToPlatformItem(QWidget *widget, QPlatformMenuItem* container->show(); } -#endif //QT_NO_MENU +#endif // QT_CONFIG(menu) #if QT_CONFIG(menubar) diff --git a/src/widgets/widgets/qmenu_p.h b/src/widgets/widgets/qmenu_p.h index c24080e42e..4b7ce05169 100644 --- a/src/widgets/widgets/qmenu_p.h +++ b/src/widgets/widgets/qmenu_p.h @@ -64,9 +64,9 @@ #include -QT_BEGIN_NAMESPACE +QT_REQUIRE_CONFIG(menu); -#ifndef QT_NO_MENU +QT_BEGIN_NAMESPACE class QTornOffMenu; class QEventLoop; @@ -479,8 +479,6 @@ public: QRect rect() const; }; -#endif // QT_NO_MENU - QT_END_NAMESPACE #endif // QMENU_P_H diff --git a/src/widgets/widgets/qmenubar.cpp b/src/widgets/widgets/qmenubar.cpp index 23f9283394..3d24cc0387 100644 --- a/src/widgets/widgets/qmenubar.cpp +++ b/src/widgets/widgets/qmenubar.cpp @@ -83,7 +83,7 @@ QMenuBarExtension::QMenuBarExtension(QWidget *parent) { setObjectName(QLatin1String("qt_menubar_ext_button")); setAutoRaise(true); -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) setPopupMode(QToolButton::InstantPopup); #endif setIcon(style()->standardIcon(QStyle::SP_ToolBarHorizontalExtensionButton, 0, parentWidget())); diff --git a/src/widgets/widgets/qplaintextedit.cpp b/src/widgets/widgets/qplaintextedit.cpp index 6386278336..6b51388990 100644 --- a/src/widgets/widgets/qplaintextedit.cpp +++ b/src/widgets/widgets/qplaintextedit.cpp @@ -46,7 +46,9 @@ #include #include #include +#if QT_CONFIG(menu) #include +#endif #include #include #include "private/qtextdocumentlayout_p.h" diff --git a/src/widgets/widgets/qplaintextedit_p.h b/src/widgets/widgets/qplaintextedit_p.h index 6078802fba..3d6e7781ed 100644 --- a/src/widgets/widgets/qplaintextedit_p.h +++ b/src/widgets/widgets/qplaintextedit_p.h @@ -59,7 +59,9 @@ #endif #include "QtGui/qtextcursor.h" #include "QtGui/qtextformat.h" +#if QT_CONFIG(menu) #include "QtWidgets/qmenu.h" +#endif #include "QtGui/qabstracttextdocumentlayout.h" #include "QtCore/qbasictimer.h" #include "qplaintextedit.h" diff --git a/src/widgets/widgets/qpushbutton.cpp b/src/widgets/widgets/qpushbutton.cpp index 293d107740..90b1e7ef29 100644 --- a/src/widgets/widgets/qpushbutton.cpp +++ b/src/widgets/widgets/qpushbutton.cpp @@ -46,7 +46,6 @@ #include "qdrawutil.h" #include "qevent.h" #include "qfontmetrics.h" -#include "qmenu.h" #include "qstylepainter.h" #include "qpixmap.h" #include "qpointer.h" @@ -68,7 +67,10 @@ #include "qaccessible.h" #endif +#if QT_CONFIG(menu) +#include "qmenu.h" #include "private/qmenu_p.h" +#endif #include "private/qpushbutton_p.h" QT_BEGIN_NAMESPACE @@ -317,7 +319,7 @@ void QPushButton::initStyleOption(QStyleOptionButton *option) const option->features = QStyleOptionButton::None; if (d->flat) option->features |= QStyleOptionButton::Flat; -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) if (d->menu) option->features |= QStyleOptionButton::HasMenu; #endif @@ -422,7 +424,7 @@ QSize QPushButton::sizeHint() const if(!empty || !h) h = qMax(h, sz.height()); opt.rect.setSize(QSize(w, h)); // PM_MenuButtonIndicator depends on the height -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) if (menu()) w += style()->pixelMetric(QStyle::PM_MenuButtonIndicator, &opt, this); #endif @@ -502,13 +504,13 @@ void QPushButton::focusOutEvent(QFocusEvent *e) } QAbstractButton::focusOutEvent(e); -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) if (d->menu && d->menu->isVisible()) // restore pressed status setDown(true); #endif } -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) /*! Associates the popup menu \a menu with this push button. This turns the button into a menu button, which in some styles will @@ -631,7 +633,7 @@ QPoint QPushButtonPrivate::adjustedMenuPosition() return QPoint(x,y); } -#endif // QT_NO_MENU +#endif // QT_CONFIG(menu) void QPushButtonPrivate::resetLayoutItemMargins() { diff --git a/src/widgets/widgets/qpushbutton.h b/src/widgets/widgets/qpushbutton.h index ea9baa8ccb..c005f320cc 100644 --- a/src/widgets/widgets/qpushbutton.h +++ b/src/widgets/widgets/qpushbutton.h @@ -74,7 +74,7 @@ public: bool isDefault() const; void setDefault(bool); -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) void setMenu(QMenu* menu); QMenu* menu() const; #endif @@ -83,7 +83,7 @@ public: bool isFlat() const; public Q_SLOTS: -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) void showMenu(); #endif @@ -101,7 +101,7 @@ public: private: Q_DISABLE_COPY(QPushButton) Q_DECLARE_PRIVATE(QPushButton) -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) Q_PRIVATE_SLOT(d_func(), void _q_popupPressed()) #endif }; diff --git a/src/widgets/widgets/qpushbutton_p.h b/src/widgets/widgets/qpushbutton_p.h index a32b599b94..a58675fe64 100644 --- a/src/widgets/widgets/qpushbutton_p.h +++ b/src/widgets/widgets/qpushbutton_p.h @@ -76,7 +76,7 @@ public: #if 0 // Used to be included in Qt4 for Q_WS_MAC bool hitButton(const QPoint &pos); #endif -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) QPoint adjustedMenuPosition(); #endif void resetLayoutItemMargins(); diff --git a/src/widgets/widgets/qscrollbar.cpp b/src/widgets/widgets/qscrollbar.cpp index e40c922e97..b4168268a0 100644 --- a/src/widgets/widgets/qscrollbar.cpp +++ b/src/widgets/widgets/qscrollbar.cpp @@ -44,7 +44,9 @@ #include "qscrollbar.h" #include "qstyle.h" #include "qstyleoption.h" +#if QT_CONFIG(menu) #include "qmenu.h" +#endif #include #ifndef QT_NO_ACCESSIBILITY @@ -395,7 +397,7 @@ void QScrollBar::contextMenuEvent(QContextMenuEvent *event) return ; } -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) bool horiz = HORIZONTAL; QPointer menu = new QMenu(this); QAction *actScrollHere = menu->addAction(tr("Scroll here")); @@ -426,7 +428,7 @@ void QScrollBar::contextMenuEvent(QContextMenuEvent *event) triggerAction(QAbstractSlider::SliderSingleStepSub); else if (actionSelected == actScrollDn) triggerAction(QAbstractSlider::SliderSingleStepAdd); -#endif // QT_NO_MENU +#endif // QT_CONFIG(menu) } #endif // QT_NO_CONTEXTMENU diff --git a/src/widgets/widgets/qtextedit.cpp b/src/widgets/widgets/qtextedit.cpp index bde7388e41..374267f9f2 100644 --- a/src/widgets/widgets/qtextedit.cpp +++ b/src/widgets/widgets/qtextedit.cpp @@ -51,7 +51,9 @@ #include #include #include +#if QT_CONFIG(menu) #include +#endif #include #include #ifndef QT_NO_ACCESSIBILITY diff --git a/src/widgets/widgets/qtextedit_p.h b/src/widgets/widgets/qtextedit_p.h index 3e2046a2cb..c4ee75c78d 100644 --- a/src/widgets/widgets/qtextedit_p.h +++ b/src/widgets/widgets/qtextedit_p.h @@ -59,7 +59,9 @@ #endif #include "QtGui/qtextcursor.h" #include "QtGui/qtextformat.h" +#if QT_CONFIG(menu) #include "QtWidgets/qmenu.h" +#endif #include "QtGui/qabstracttextdocumentlayout.h" #include "QtCore/qbasictimer.h" #include "QtCore/qurl.h" diff --git a/src/widgets/widgets/qtoolbutton.cpp b/src/widgets/widgets/qtoolbutton.cpp index 0b23825c9f..58f1a296b2 100644 --- a/src/widgets/widgets/qtoolbutton.cpp +++ b/src/widgets/widgets/qtoolbutton.cpp @@ -44,7 +44,6 @@ #include #include #include -#include #include #include #include @@ -58,7 +57,10 @@ #include #include #include +#if QT_CONFIG(menu) +#include #include +#endif QT_BEGIN_NAMESPACE @@ -67,7 +69,7 @@ class QToolButtonPrivate : public QAbstractButtonPrivate Q_DECLARE_PUBLIC(QToolButton) public: void init(); -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) void _q_buttonPressed(); void _q_buttonReleased(); void popupTimerDone(); @@ -91,14 +93,14 @@ public: uint autoRaise : 1; uint repeat : 1; QAction *defaultAction; -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) bool hasMenu() const; //workaround for task 177850 QList actionsCopy; #endif }; -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) bool QToolButtonPrivate::hasMenu() const { return ((defaultAction && defaultAction->menu()) @@ -216,7 +218,7 @@ void QToolButtonPrivate::init() q->setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed, QSizePolicy::ToolButton)); -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) QObject::connect(q, SIGNAL(pressed()), q, SLOT(_q_buttonPressed())); QObject::connect(q, SIGNAL(released()), q, SLOT(_q_buttonReleased())); #endif @@ -288,7 +290,7 @@ void QToolButton::initStyleOption(QStyleOptionToolButton *option) const option->features |= QStyleOptionToolButton::Arrow; if (d->popupMode == QToolButton::DelayedPopup) option->features |= QStyleOptionToolButton::PopupDelay; -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) if (d->hasMenu()) option->features |= QStyleOptionToolButton::HasMenu; #endif @@ -473,7 +475,7 @@ void QToolButton::actionEvent(QActionEvent *event) case QEvent::ActionRemoved: if (d->defaultAction == action) d->defaultAction = 0; -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) if (action == d->menuAction) d->menuAction = 0; #endif @@ -552,7 +554,7 @@ void QToolButton::leaveEvent(QEvent * e) */ void QToolButton::timerEvent(QTimerEvent *e) { -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) Q_D(QToolButton); if (e->timerId() == d->popupTimer.timerId()) { d->popupTimerDone(); @@ -591,7 +593,7 @@ void QToolButton::changeEvent(QEvent *e) void QToolButton::mousePressEvent(QMouseEvent *e) { Q_D(QToolButton); -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) QStyleOptionToolButton opt; initStyleOption(&opt); if (e->button() == Qt::LeftButton && (d->popupMode == MenuButtonPopup)) { @@ -630,7 +632,7 @@ bool QToolButton::hitButton(const QPoint &pos) const } -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) /*! Associates the given \a menu with this tool button. @@ -823,10 +825,7 @@ void QToolButtonPrivate::_q_menuTriggered(QAction *action) if (action && !actionsCopy.contains(action)) emit q->triggered(action); } -#endif // QT_NO_MENU - -#ifndef QT_NO_MENU /*! \enum QToolButton::ToolButtonPopupMode Describes how a menu should be popped up for tool buttons that has @@ -901,7 +900,7 @@ bool QToolButton::autoRaise() const void QToolButton::setDefaultAction(QAction *action) { Q_D(QToolButton); -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) bool hadMenu = false; hadMenu = d->hasMenu(); #endif @@ -926,7 +925,7 @@ void QToolButton::setDefaultAction(QAction *action) #if QT_CONFIG(whatsthis) setWhatsThis(action->whatsThis()); #endif -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) if (action->menu() && !hadMenu) { // new 'default' popup mode defined introduced by tool bar. We // should have changed QToolButton's default instead. Do that diff --git a/src/widgets/widgets/qtoolbutton.h b/src/widgets/widgets/qtoolbutton.h index 7ba9a18fef..dd9964cb94 100644 --- a/src/widgets/widgets/qtoolbutton.h +++ b/src/widgets/widgets/qtoolbutton.h @@ -56,7 +56,7 @@ class Q_WIDGETS_EXPORT QToolButton : public QAbstractButton { Q_OBJECT Q_ENUMS(Qt::ToolButtonStyle Qt::ArrowType) -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) Q_PROPERTY(ToolButtonPopupMode popupMode READ popupMode WRITE setPopupMode) #endif Q_PROPERTY(Qt::ToolButtonStyle toolButtonStyle READ toolButtonStyle WRITE setToolButtonStyle) @@ -82,7 +82,7 @@ public: Qt::ArrowType arrowType() const; void setArrowType(Qt::ArrowType type); -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) void setMenu(QMenu* menu); QMenu* menu() const; @@ -96,7 +96,7 @@ public: bool autoRaise() const; public Q_SLOTS: -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) void showMenu(); #endif void setToolButtonStyle(Qt::ToolButtonStyle style); @@ -124,7 +124,7 @@ protected: private: Q_DISABLE_COPY(QToolButton) Q_DECLARE_PRIVATE(QToolButton) -#ifndef QT_NO_MENU +#if QT_CONFIG(menu) Q_PRIVATE_SLOT(d_func(), void _q_buttonPressed()) Q_PRIVATE_SLOT(d_func(), void _q_buttonReleased()) Q_PRIVATE_SLOT(d_func(), void _q_updateButtonDown()) diff --git a/src/widgets/widgets/qwidgettextcontrol.cpp b/src/widgets/widgets/qwidgettextcontrol.cpp index 83aa343d5c..da6dcfbe8b 100644 --- a/src/widgets/widgets/qwidgettextcontrol.cpp +++ b/src/widgets/widgets/qwidgettextcontrol.cpp @@ -48,7 +48,9 @@ #include #include #include +#if QT_CONFIG(menu) #include +#endif #include #include #include "private/qtextdocumentlayout_p.h" diff --git a/src/widgets/widgets/qwidgettextcontrol_p.h b/src/widgets/widgets/qwidgettextcontrol_p.h index c17ab2cf17..11ff63c5e4 100644 --- a/src/widgets/widgets/qwidgettextcontrol_p.h +++ b/src/widgets/widgets/qwidgettextcontrol_p.h @@ -59,7 +59,9 @@ #if QT_CONFIG(textedit) #include #endif +#if QT_CONFIG(menu) #include +#endif #include #include #include diff --git a/src/widgets/widgets/qwidgettextcontrol_p_p.h b/src/widgets/widgets/qwidgettextcontrol_p_p.h index 3917752d19..232dab180f 100644 --- a/src/widgets/widgets/qwidgettextcontrol_p_p.h +++ b/src/widgets/widgets/qwidgettextcontrol_p_p.h @@ -55,7 +55,9 @@ #include "QtGui/qtextdocumentfragment.h" #include "QtGui/qtextcursor.h" #include "QtGui/qtextformat.h" +#if QT_CONFIG(menu) #include "QtWidgets/qmenu.h" +#endif #include "QtGui/qabstracttextdocumentlayout.h" #include "QtCore/qbasictimer.h" #include "QtCore/qpointer.h" diff --git a/src/widgets/widgets/widgets.pri b/src/widgets/widgets/widgets.pri index ce6c881cfd..a197c41b95 100644 --- a/src/widgets/widgets/widgets.pri +++ b/src/widgets/widgets/widgets.pri @@ -3,8 +3,6 @@ HEADERS += \ widgets/qframe.h \ widgets/qframe_p.h \ - widgets/qmenu.h \ - widgets/qmenu_p.h \ widgets/qtoolbar.h \ widgets/qtoolbar_p.h \ widgets/qtoolbarlayout_p.h \ @@ -17,7 +15,6 @@ HEADERS += \ SOURCES += \ widgets/qframe.cpp \ - widgets/qmenu.cpp \ widgets/qtoolbar.cpp \ widgets/qtoolbarlayout.cpp \ widgets/qtoolbarseparator.cpp \ @@ -180,6 +177,14 @@ qtConfig(mdiarea) { widgets/qmdisubwindow.cpp } +qtConfig(menu) { + HEADERS += \ + widgets/qmenu.h \ + widgets/qmenu_p.h + + SOURCES += widgets/qmenu.cpp +} + qtConfig(menubar) { HEADERS += \ widgets/qmenubar.h \ @@ -351,7 +356,10 @@ macx { widgets/qmaccocoaviewcontainer_mac.h OBJECTIVE_SOURCES += \ - widgets/qmenu_mac.mm \ widgets/qmacnativewidget_mac.mm \ widgets/qmaccocoaviewcontainer_mac.mm + + qtConfig(menu)|qtConfig(menubar) { + SOURCES += widgets/qmenu_mac.mm + } } -- cgit v1.2.3