summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJake Petroules <jake.petroules@qt.io>2016-09-15 18:22:50 +0000
committerThe Qt Project <gerrit-noreply@qt-project.org>2016-09-15 18:22:50 +0000
commiteecc5fc52c919d6607e610d858c2749977a1ef75 (patch)
treedc8c5f6621d6fbaa76bd28c1c127905444ccf50e
parent6b3845320a9242481842243f2c019aa11ce396df (diff)
parent40a1f69e8663fb79560c26cfad5ead45b1b3ee5f (diff)
Merge "Merge remote-tracking branch 'origin/5.8' into dev" into refs/staging/dev
-rwxr-xr-xbin/syncqt.pl3
-rwxr-xr-xconfigure48
-rw-r--r--configure.json1992
-rw-r--r--configure.pri309
-rw-r--r--examples/gui/gui.pro4
-rw-r--r--examples/network/network.pro4
-rw-r--r--examples/widgets/tools/tools.pro3
-rw-r--r--mkspecs/common/linux-android.conf1
-rw-r--r--mkspecs/common/uikit.conf2
-rw-r--r--mkspecs/common/winrt_winphone/qmake.conf3
-rw-r--r--mkspecs/devices/linux-colibri-vf-g++/qmake.conf17
-rw-r--r--mkspecs/devices/linux-colibri-vf-g++/qplatformdefs.h40
-rw-r--r--mkspecs/features/configure.prf2
-rw-r--r--mkspecs/features/configure_base.prf2
-rw-r--r--mkspecs/features/ctest_testcase_common.prf1
-rw-r--r--mkspecs/features/mac/sdk.prf74
-rw-r--r--mkspecs/features/moc.prf5
-rw-r--r--mkspecs/features/qfeatures.prf4
-rw-r--r--mkspecs/features/qt_build_config.prf23
-rw-r--r--mkspecs/features/qt_common.prf6
-rw-r--r--mkspecs/features/qt_configure.prf525
-rw-r--r--mkspecs/features/qt_functions.prf22
-rw-r--r--mkspecs/features/qt_module.prf3
-rw-r--r--mkspecs/features/qt_module_headers.prf10
-rw-r--r--mkspecs/features/qt_module_pris.prf43
-rw-r--r--mkspecs/features/qt_parts.prf3
-rw-r--r--mkspecs/features/testcase.prf5
-rw-r--r--mkspecs/features/uikit/default_post.prf43
-rw-r--r--mkspecs/features/uikit/default_pre.prf39
-rw-r--r--mkspecs/features/uikit/resolve_config.prf61
-rw-r--r--mkspecs/integrity-armv7-imx6/qmake.conf1
-rw-r--r--mkspecs/integrity-armv7/qmake.conf1
-rw-r--r--mkspecs/integrity-x86/qmake.conf1
-rw-r--r--mkspecs/macx-ios-clang/qmake.conf6
-rw-r--r--mkspecs/macx-tvos-clang/qmake.conf6
-rw-r--r--mkspecs/macx-watchos-clang/qmake.conf6
-rw-r--r--mkspecs/qnx-aarch64le-qcc/qmake.conf2
-rw-r--r--mkspecs/qnx-armle-v7-qcc/qmake.conf2
-rw-r--r--mkspecs/qnx-x86-64-qcc/qmake.conf2
-rw-r--r--mkspecs/qnx-x86-qcc/qmake.conf2
-rw-r--r--qmake/generators/makefiledeps.cpp13
-rw-r--r--qmake/generators/unix/unixmake.cpp26
-rw-r--r--qmake/generators/unix/unixmake2.cpp59
-rw-r--r--qmake/generators/win32/msvc_vcproj.cpp1
-rw-r--r--qtbase.pro83
-rw-r--r--src/3rdparty/freetype/freetype.pro2
-rw-r--r--src/3rdparty/pcre_dependency.pri6
-rw-r--r--src/angle/src/common/common.pri1
-rw-r--r--src/angle/src/compiler/preprocessor/preprocessor.pro1
-rw-r--r--src/angle/src/compiler/translator.pro1
-rw-r--r--src/corelib/configure.json611
-rw-r--r--src/corelib/corelib.pro3
-rw-r--r--src/corelib/global/qcompilerdetection.h4
-rw-r--r--src/corelib/global/qglobal.h9
-rw-r--r--src/corelib/global/qglobal_p.h1
-rw-r--r--src/corelib/global/qlibraryinfo.cpp8
-rw-r--r--src/corelib/io/qtextstream.cpp1
-rw-r--r--src/corelib/tools/qbytearray.cpp7
-rw-r--r--src/corelib/tools/qlocale_win.cpp44
-rw-r--r--src/corelib/tools/tools.pri2
-rw-r--r--src/gui/configure.json1095
-rw-r--r--src/gui/configure.pri67
-rw-r--r--src/gui/image/qicon.cpp47
-rw-r--r--src/gui/image/qiconloader.cpp2
-rw-r--r--src/gui/kernel/qtguiglobal.h1
-rw-r--r--src/gui/kernel/qtguiglobal_p.h1
-rw-r--r--src/gui/kernel/qwindow.cpp3
-rw-r--r--src/gui/kernel/qwindow_p.h10
-rw-r--r--src/gui/opengl/qopengl.h7
-rw-r--r--src/gui/opengl/qopenglframebufferobject.cpp2
-rw-r--r--src/gui/painting/painting.pri1
-rw-r--r--src/gui/painting/qcolor.cpp323
-rw-r--r--src/gui/painting/qcolor_p.cpp369
-rw-r--r--src/gui/painting/qdrawhelper.cpp184
-rw-r--r--src/gui/painting/qdrawhelper_p.h16
-rw-r--r--src/gui/painting/qdrawhelper_ssse3.cpp9
-rw-r--r--src/gui/painting/qdrawingprimitive_sse2_p.h24
-rw-r--r--src/gui/text/qfontdatabase.cpp11
-rw-r--r--src/gui/text/qplatformfontdatabase.cpp6
-rw-r--r--src/gui/text/qtextimagehandler.cpp4
-rw-r--r--src/network/configure.json274
-rw-r--r--src/network/configure.pri12
-rw-r--r--src/network/kernel/qnetworkproxy_mac.cpp80
-rw-r--r--src/network/kernel/qtnetworkglobal.h1
-rw-r--r--src/network/kernel/qtnetworkglobal_p.h1
-rw-r--r--src/network/socket/qnativesocketengine_winrt.cpp2
-rw-r--r--src/network/ssl/qsslcertificate.cpp2
-rw-r--r--src/platformsupport/cglconvenience/cglconvenience.mm5
-rw-r--r--src/platformsupport/fbconvenience/qfbvthandler_p.h1
-rw-r--r--src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp8
-rw-r--r--src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase_p.h1
-rw-r--r--src/platformsupport/input/evdevtouch/qevdevtouchhandler_p.h1
-rw-r--r--src/platformsupport/themes/qabstractfileiconengine.cpp3
-rw-r--r--src/plugins/bearer/bearer.pro1
-rw-r--r--src/plugins/bearer/connman/qconnmanengine.cpp16
-rw-r--r--src/plugins/bearer/connman/qconnmanservice_linux.cpp14
-rw-r--r--src/plugins/bearer/linux_common/qofonoservice_linux.cpp12
-rw-r--r--src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp74
-rw-r--r--src/plugins/bearer/qnetworksession_impl.cpp6
-rw-r--r--src/plugins/generic/generic.pro5
-rw-r--r--src/plugins/generic/tuiotouch/qoscbundle.cpp23
-rw-r--r--src/plugins/generic/tuiotouch/qoscbundle_p.h19
-rw-r--r--src/plugins/generic/tuiotouch/qoscmessage.cpp25
-rw-r--r--src/plugins/generic/tuiotouch/qoscmessage_p.h18
-rw-r--r--src/plugins/generic/tuiotouch/qtuiocursor_p.h1
-rw-r--r--src/plugins/generic/tuiotouch/qtuiohandler.cpp23
-rw-r--r--src/plugins/generic/tuiotouch/qtuiotoken_p.h1
-rw-r--r--src/plugins/generic/tuiotouch/tuiotouch.pro1
-rw-r--r--src/plugins/imageformats/imageformats.pro1
-rw-r--r--src/plugins/platforminputcontexts/platforminputcontexts.pro1
-rw-r--r--src/plugins/platforms/cocoa/qcocoaglcontext.mm10
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/deviceintegration.pro1
-rw-r--r--src/plugins/platforms/platforms.pro1
-rw-r--r--src/plugins/platforms/windows/qwindowsdialoghelpers.cpp13
-rw-r--r--src/plugins/platforms/winrt/qwinrtinputcontext.cpp29
-rw-r--r--src/plugins/platforms/winrt/qwinrtinputcontext.h4
-rw-r--r--src/plugins/platforms/winrt/qwinrtintegration.cpp2
-rw-r--r--src/plugins/platforms/winrt/qwinrtscreen.cpp83
-rw-r--r--src/plugins/platforms/winrt/qwinrtscreen.h5
-rw-r--r--src/plugins/platforms/xcb/gl_integrations/gl_integrations.pro1
-rw-r--r--src/plugins/platforms/xcb/qxcbconnection.h5
-rw-r--r--src/plugins/platforms/xcb/qxcbmime.cpp4
-rw-r--r--src/plugins/platforms/xcb/qxcbnativeinterface.cpp4
-rw-r--r--src/plugins/platforms/xcb/qxcbnativeinterface.h1
-rw-r--r--src/plugins/platforms/xcb/qxcbscreen.cpp4
-rw-r--r--src/plugins/platforms/xcb/qxcbscreen.h2
-rw-r--r--src/plugins/platforms/xcb/xcb.pro1
-rw-r--r--src/plugins/platformthemes/platformthemes.pro3
-rw-r--r--src/plugins/plugins.pro11
-rw-r--r--src/plugins/printsupport/printsupport.pro2
-rw-r--r--src/plugins/sqldrivers/psql/qsql_psql.cpp4
-rw-r--r--src/plugins/sqldrivers/sqldrivers.pro19
-rw-r--r--src/printsupport/configure.json72
-rw-r--r--src/printsupport/dialogs/qprintdialog_unix.cpp1
-rw-r--r--src/printsupport/dialogs/qprintdialog_win.cpp2
-rw-r--r--src/printsupport/kernel/qpaintengine_alpha.cpp2
-rw-r--r--src/printsupport/kernel/qplatformprintplugin.cpp4
-rw-r--r--src/printsupport/kernel/qplatformprintplugin.h4
-rw-r--r--src/printsupport/kernel/qprintengine_win.cpp6
-rw-r--r--src/printsupport/kernel/qprintengine_win_p.h6
-rw-r--r--src/printsupport/kernel/qtprintsupportglobal.h1
-rw-r--r--src/sql/configure.json201
-rw-r--r--src/sql/configure.pri89
-rw-r--r--src/src.pro14
-rw-r--r--src/testlib/qteamcitylogger.cpp12
-rw-r--r--src/testlib/qtestblacklist.cpp2
-rw-r--r--src/testlib/qtestcase.h10
-rw-r--r--src/tools/moc/moc.cpp15
-rw-r--r--src/tools/rcc/rcc.cpp4
-rw-r--r--src/tools/uic/cpp/cppwriteinitialization.cpp2
-rw-r--r--src/widgets/configure.json567
-rw-r--r--src/widgets/configure.pri8
-rw-r--r--src/widgets/kernel/qtwidgetsglobal.h1
-rw-r--r--src/widgets/kernel/qtwidgetsglobal_p.h1
-rw-r--r--src/widgets/styles/qstylesheetstyle.cpp12
-rw-r--r--src/widgets/styles/styles.pri2
-rw-r--r--src/widgets/widgets/qdockarealayout.cpp53
-rw-r--r--src/widgets/widgets/qdockarealayout_p.h1
-rw-r--r--src/widgets/widgets/qmainwindowlayout.cpp70
-rw-r--r--src/widgets/widgets/qmainwindowlayout_p.h2
-rw-r--r--src/xml/configure.json16
-rw-r--r--src/xml/qtxmlglobal.h3
-rw-r--r--sync.profile2
-rw-r--r--tests/auto/corelib/json/json.pro2
-rw-r--r--tests/auto/corelib/plugin/plugin.pro3
-rw-r--r--tests/auto/corelib/plugin/qfactoryloader/test/test.pro3
-rw-r--r--tests/auto/corelib/tools/qbytearray/tst_qbytearray.cpp14
-rw-r--r--tests/auto/corelib/tools/qcollator/qcollator.pro2
-rw-r--r--tests/auto/corelib/tools/qstring/qstring.pro2
-rw-r--r--tests/auto/gui/image/qimagewriter/tst_qimagewriter.cpp6
-rw-r--r--tests/auto/gui/image/qmovie/qmovie.pro1
-rw-r--r--tests/auto/gui/text/qcssparser/qcssparser.pro2
-rw-r--r--tests/auto/gui/text/qcssparser/tst_qcssparser.cpp2
-rw-r--r--tests/auto/gui/text/qfontdatabase/qfontdatabase.pro1
-rw-r--r--tests/auto/gui/text/qzip/qzip.pro1
-rw-r--r--tests/auto/network/access/qnetworkreply/test/test.pro1
-rw-r--r--tests/auto/network/socket/socket.pro2
-rw-r--r--tests/auto/network/ssl/ssl.pro2
-rw-r--r--tests/auto/opengl/qgl/BLACKLIST8
-rw-r--r--tests/auto/other/compiler/tst_compiler.cpp5
-rw-r--r--tests/auto/other/other.pro2
-rwxr-xr-xtests/auto/testlib/selftests/generate_expected_output.py259
-rw-r--r--tests/auto/tools/moc/moc.pro3
-rw-r--r--tests/auto/tools/moc/namespace.h7
-rw-r--r--tests/auto/tools/moc/tst_moc.cpp29
-rw-r--r--tests/auto/tools/uic/baseline/Dialog_with_Buttons_Bottom.ui.h2
-rw-r--r--tests/auto/tools/uic/baseline/Dialog_with_Buttons_Right.ui.h2
-rw-r--r--tests/auto/tools/uic/baseline/Dialog_without_Buttons.ui.h2
-rw-r--r--tests/auto/tools/uic/baseline/Main_Window.ui.h2
-rw-r--r--tests/auto/tools/uic/baseline/Widget.ui.h8
-rw-r--r--tests/auto/tools/uic/baseline/addlinkdialog.ui.h6
-rw-r--r--tests/auto/tools/uic/baseline/addtorrentform.ui.h34
-rw-r--r--tests/auto/tools/uic/baseline/authenticationdialog.ui.h12
-rw-r--r--tests/auto/tools/uic/baseline/backside.ui.h38
-rw-r--r--tests/auto/tools/uic/baseline/batchtranslation.ui.h20
-rw-r--r--tests/auto/tools/uic/baseline/bookmarkdialog.ui.h12
-rw-r--r--tests/auto/tools/uic/baseline/bookwindow.ui.h16
-rw-r--r--tests/auto/tools/uic/baseline/browserwidget.ui.h16
-rw-r--r--tests/auto/tools/uic/baseline/bug18156QTreeWidget.ui.h4
-rw-r--r--tests/auto/tools/uic/baseline/calculator.ui.h56
-rw-r--r--tests/auto/tools/uic/baseline/calculatorform.ui.h14
-rw-r--r--tests/auto/tools/uic/baseline/certificateinfo.ui.h6
-rw-r--r--tests/auto/tools/uic/baseline/chatdialog.ui.h4
-rw-r--r--tests/auto/tools/uic/baseline/chatmainwindow.ui.h24
-rw-r--r--tests/auto/tools/uic/baseline/chatsetnickname.ui.h8
-rw-r--r--tests/auto/tools/uic/baseline/config.ui.h74
-rw-r--r--tests/auto/tools/uic/baseline/connectdialog.ui.h12
-rw-r--r--tests/auto/tools/uic/baseline/controller.ui.h12
-rw-r--r--tests/auto/tools/uic/baseline/cookies.ui.h6
-rw-r--r--tests/auto/tools/uic/baseline/cookiesexceptions.ui.h18
-rw-r--r--tests/auto/tools/uic/baseline/default.ui.h84
-rw-r--r--tests/auto/tools/uic/baseline/dialog.ui.h8
-rw-r--r--tests/auto/tools/uic/baseline/downloaditem.ui.h12
-rw-r--r--tests/auto/tools/uic/baseline/downloads.ui.h6
-rw-r--r--tests/auto/tools/uic/baseline/embeddeddialog.ui.h14
-rw-r--r--tests/auto/tools/uic/baseline/enumnostdset.ui.h2
-rw-r--r--tests/auto/tools/uic/baseline/filespage.ui.h8
-rw-r--r--tests/auto/tools/uic/baseline/filternamedialog.ui.h4
-rw-r--r--tests/auto/tools/uic/baseline/filterpage.ui.h14
-rw-r--r--tests/auto/tools/uic/baseline/finddialog.ui.h36
-rw-r--r--tests/auto/tools/uic/baseline/form.ui.h6
-rw-r--r--tests/auto/tools/uic/baseline/formwindowsettings.ui.h22
-rw-r--r--tests/auto/tools/uic/baseline/generalpage.ui.h6
-rw-r--r--tests/auto/tools/uic/baseline/gridalignment.ui.h10
-rw-r--r--tests/auto/tools/uic/baseline/gridpanel.ui.h16
-rw-r--r--tests/auto/tools/uic/baseline/helpdialog.ui.h66
-rw-r--r--tests/auto/tools/uic/baseline/history.ui.h6
-rw-r--r--tests/auto/tools/uic/baseline/icontheme.ui.h8
-rw-r--r--tests/auto/tools/uic/baseline/identifierpage.ui.h8
-rw-r--r--tests/auto/tools/uic/baseline/imagedialog.ui.h16
-rw-r--r--tests/auto/tools/uic/baseline/inputpage.ui.h6
-rw-r--r--tests/auto/tools/uic/baseline/installdialog.ui.h14
-rw-r--r--tests/auto/tools/uic/baseline/languagesdialog.ui.h24
-rw-r--r--tests/auto/tools/uic/baseline/listwidgeteditor.ui.h24
-rw-r--r--tests/auto/tools/uic/baseline/mainwindow.ui.h48
-rw-r--r--tests/auto/tools/uic/baseline/mydialog.ui.h8
-rw-r--r--tests/auto/tools/uic/baseline/myform.ui.h22
-rw-r--r--tests/auto/tools/uic/baseline/newactiondialog.ui.h8
-rw-r--r--tests/auto/tools/uic/baseline/newdynamicpropertydialog.ui.h6
-rw-r--r--tests/auto/tools/uic/baseline/newform.ui.h8
-rw-r--r--tests/auto/tools/uic/baseline/orderdialog.ui.h8
-rw-r--r--tests/auto/tools/uic/baseline/outputpage.ui.h6
-rw-r--r--tests/auto/tools/uic/baseline/pagefold.ui.h88
-rw-r--r--tests/auto/tools/uic/baseline/paletteeditor.ui.h18
-rw-r--r--tests/auto/tools/uic/baseline/passworddialog.ui.h10
-rw-r--r--tests/auto/tools/uic/baseline/pathpage.ui.h10
-rw-r--r--tests/auto/tools/uic/baseline/phrasebookbox.ui.h32
-rw-r--r--tests/auto/tools/uic/baseline/plugindialog.ui.h8
-rw-r--r--tests/auto/tools/uic/baseline/preferencesdialog.ui.h10
-rw-r--r--tests/auto/tools/uic/baseline/previewconfigurationwidget.ui.h16
-rw-r--r--tests/auto/tools/uic/baseline/previewdialogbase.ui.h8
-rw-r--r--tests/auto/tools/uic/baseline/previewwidget.ui.h22
-rw-r--r--tests/auto/tools/uic/baseline/proxy.ui.h10
-rw-r--r--tests/auto/tools/uic/baseline/qfiledialog.ui.h16
-rw-r--r--tests/auto/tools/uic/baseline/qpagesetupwidget.ui.h40
-rw-r--r--tests/auto/tools/uic/baseline/qprintpropertieswidget.ui.h6
-rw-r--r--tests/auto/tools/uic/baseline/qprintsettingsoutput.ui.h38
-rw-r--r--tests/auto/tools/uic/baseline/qprintwidget.ui.h18
-rw-r--r--tests/auto/tools/uic/baseline/qsqlconnectiondialog.ui.h24
-rw-r--r--tests/auto/tools/uic/baseline/qtgradientdialog.ui.h2
-rw-r--r--tests/auto/tools/uic/baseline/qtgradienteditor.ui.h112
-rw-r--r--tests/auto/tools/uic/baseline/qtgradientview.ui.h10
-rw-r--r--tests/auto/tools/uic/baseline/qtgradientviewdialog.ui.h2
-rw-r--r--tests/auto/tools/uic/baseline/qtresourceeditordialog.ui.h22
-rw-r--r--tests/auto/tools/uic/baseline/qttoolbardialog.ui.h38
-rw-r--r--tests/auto/tools/uic/baseline/querywidget.ui.h8
-rw-r--r--tests/auto/tools/uic/baseline/remotecontrol.ui.h26
-rw-r--r--tests/auto/tools/uic/baseline/saveformastemplate.ui.h6
-rw-r--r--tests/auto/tools/uic/baseline/settings.ui.h14
-rw-r--r--tests/auto/tools/uic/baseline/signalslotdialog.ui.h22
-rw-r--r--tests/auto/tools/uic/baseline/sslclient.ui.h22
-rw-r--r--tests/auto/tools/uic/baseline/sslerrors.ui.h10
-rw-r--r--tests/auto/tools/uic/baseline/statistics.ui.h26
-rw-r--r--tests/auto/tools/uic/baseline/stringlisteditor.ui.h22
-rw-r--r--tests/auto/tools/uic/baseline/stylesheeteditor.ui.h14
-rw-r--r--tests/auto/tools/uic/baseline/tabbedbrowser.ui.h14
-rw-r--r--tests/auto/tools/uic/baseline/tablewidgeteditor.ui.h52
-rw-r--r--tests/auto/tools/uic/baseline/tetrixwindow.ui.h16
-rw-r--r--tests/auto/tools/uic/baseline/textfinder.ui.h6
-rw-r--r--tests/auto/tools/uic/baseline/topicchooser.ui.h8
-rw-r--r--tests/auto/tools/uic/baseline/translatedialog.ui.h32
-rw-r--r--tests/auto/tools/uic/baseline/translation/Dialog_without_Buttons_tr.h2
-rw-r--r--tests/auto/tools/uic/baseline/translationsettings.ui.h8
-rw-r--r--tests/auto/tools/uic/baseline/treewidgeteditor.ui.h60
-rw-r--r--tests/auto/tools/uic/baseline/trpreviewtool.ui.h26
-rw-r--r--tests/auto/tools/uic/baseline/validators.ui.h28
-rw-r--r--tests/auto/tools/uic/baseline/wateringconfigdialog.ui.h46
-rw-r--r--tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp15
-rw-r--r--tests/auto/xml/sax/qxmlsimplereader/tst_qxmlsimplereader.cpp110
-rw-r--r--tests/benchmarks/gui/image/qimageconversion/qimageconversion.pro1
-rw-r--r--tests/benchmarks/gui/image/qimagereader/qimagereader.pro1
-rw-r--r--tests/benchmarks/network/network.pro2
-rw-r--r--tools/configure/configureapp.cpp22
-rw-r--r--tools/configure/configureapp.h1
-rw-r--r--tools/configure/main.cpp4
295 files changed, 6250 insertions, 4650 deletions
diff --git a/bin/syncqt.pl b/bin/syncqt.pl
index 7410762985..b531dce374 100755
--- a/bin/syncqt.pl
+++ b/bin/syncqt.pl
@@ -934,6 +934,8 @@ foreach my $lib (@modules_to_sync) {
foreach my $subdir (@subdirs) {
if (opendir DIR, $subdir) {
foreach my $t (sort { $b cmp $a } readdir(DIR)) {
+ next if ($t =~ /\.pri$/);
+ next if ($t =~ /^qt[a-z0-9]+-config(_p)?\.h$/);
my $file = "$subdir/$t";
if(-d $file) {
push @subdirs, $file unless($t eq "." || $t eq "..");
@@ -984,6 +986,7 @@ foreach my $lib (@modules_to_sync) {
#calc files and "copy" them
foreach my $subdir (@subdirs) {
my @headers = findFiles($subdir, "^[-a-z0-9_]*\\.h\$" , 0);
+ @headers = grep(!/^qt[a-z0-9]+-config(_p)?\.h$/, @headers);
if (defined $inject_headers{$subdir}) {
foreach my $if (@{$inject_headers{$subdir}}) {
@headers = grep(!/^\Q$if\E$/, @headers); #in case we configure'd previously
diff --git a/configure b/configure
index 85392bac92..789ba4cc74 100755
--- a/configure
+++ b/configure
@@ -753,21 +753,6 @@ while [ "$#" -gt 0 ]; do
opensource)
COMMERCIAL_USER="no"
;;
- feature-*)
- FEATURE=`echo $VAR | sed 's,^[^-]*-\([^-]*\),\1,' | tr 'abcdefghijklmnopqrstuvwxyz-' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`
- if grep "^Feature: *${FEATURE} *\$" "$relpath"/src/corelib/global/qfeatures.txt >/dev/null 2>&1; then
- F=`echo $VAR | sed 's,^[^-]*-\([^-]*\),\1,'`
- if [ "$VAL" = "no" ]; then
- F="no-$F"
- elif [ "$VAL" != "yes" ] && [ "$VAL" != "unknown" ]; then
- UNKNOWN_OPT=yes
- fi
- CFG_FEATURES="$CFG_FEATURES $F"
- else
- echo "ERROR: Unknown feature $FEATURE"
- UNKNOWN_OPT=yes
- fi
- ;;
confirm-license)
if [ "$VAL" = "yes" ]; then
OPT_CONFIRM_LICENSE="$VAL"
@@ -1894,7 +1879,6 @@ fi
cat > "$outpath/config.tests/configure.cfg" <<EOF
# Feature defaults set by configure command line
-config.input.extra_features = $CFG_FEATURES
config.input.qt_edition = $Edition
config.input.qt_licheck = $Licheck
config.input.qt_release_date = $ReleaseDate
@@ -1911,31 +1895,15 @@ done
set +f
IFS=$SAVED_IFS
-# redirect qmake's output to a dummy Makefile
-$CFG_QMAKE_PATH -o Makefile.cfg -qtconf "$QTCONFFILE" $relpath/configure.pri -- "$@" || exit 101
-rm Makefile.cfg
-
-#-------------------------------------------------------------------------------
-# give feedback on configuration
-#-------------------------------------------------------------------------------
-
-if [ -n "$PLATFORM_NOTES" ]; then
- echo
- echo "Platform notes:"
- echo "$PLATFORM_NOTES"
-else
- echo
-fi
-
#-------------------------------------------------------------------------------
-# build makefiles based on the configuration
+# configure and build top-level makefile
#-------------------------------------------------------------------------------
if [ -n "$CFG_TOPLEVEL" ]; then
cd ..
fi
-"$CFG_QMAKE_PATH" -qtconf "$QTCONFFILE" "$relpathMangled" || exit
+"$CFG_QMAKE_PATH" -qtconf "$QTCONFFILE" "$relpathMangled" -- "$@" || exit
#-------------------------------------------------------------------------------
# finally save the executed command to another script
@@ -1955,6 +1923,18 @@ if [ $CFG_REDO = no ]; then
chmod +x config.status
fi
+#-------------------------------------------------------------------------------
+# final notes for the user
+#-------------------------------------------------------------------------------
+
+if [ -n "$PLATFORM_NOTES" ]; then
+ echo
+ echo "Platform notes:"
+ echo "$PLATFORM_NOTES"
+else
+ echo
+fi
+
if [ -n "$PREFIX_COMPLAINTS" ]; then
echo
echo "$PREFIX_COMPLAINTS"
diff --git a/configure.json b/configure.json
index 531b6e1f67..9bdc50c05c 100644
--- a/configure.json
+++ b/configure.json
@@ -6,18 +6,20 @@
"privatePro": "mkspecs/qmodule.pri"
},
+ "subconfigs": [
+ "src/corelib",
+ "src/network",
+ "src/sql",
+ "src/gui",
+ "src/xml",
+ "src/widgets",
+ "src/printsupport"
+ ],
+
"commandline": {
"assignments": {
"DBUS_HOST_PATH": "host_dbus.prefix",
"DBUS_PATH": "dbus.prefix",
- "MYSQL_PATH": "mysql.prefix",
- "OPENSSL_LIBS": "openssl.libs",
- "OPENSSL_LIBS_DEBUG": "openssl.libs.debug",
- "OPENSSL_LIBS_RELEASE": "openssl.libs.release",
- "OPENSSL_PATH": "openssl.prefix",
- "PSQL_LIBS": "psql.libs",
- "SYBASE": "tds.prefix",
- "SYBASE_LIBS": "tds.libs",
"ZLIB_LIBS": "zlib.libs"
},
"custom": "qmakeArgs",
@@ -51,12 +53,10 @@
"android-ndk-host": "string",
"android-ndk-platform": "string",
"android-sdk": "string",
- "android-style-assets": "boolean",
"android-toolchain-version": "string",
"accessibility": "boolean",
"alsa": "boolean",
- "angle": "boolean",
"audio-backend": "boolean",
"avx": "boolean",
"avx2": "boolean",
@@ -66,7 +66,6 @@
"compile-examples": { "type": "boolean", "name": "compile_examples" },
"confirm-license": "void",
"continue": "void",
- "cups": "boolean",
"dbus": { "type": "optionalString", "values": [ "no", "yes", "linked", "runtime" ] },
"dbus-linked": { "type": "void", "name": "dbus", "value": "linked" },
"dbus-runtime": { "type": "void", "name": "dbus", "value": "runtime" },
@@ -75,78 +74,36 @@
"developer-build": "void",
"device": "string",
"device-option": "string",
- "directfb": "boolean",
- "directwrite": "boolean",
- "doubleconversion": { "type": "enum", "values": [ "no", "qt", "system" ] },
- "egl": "boolean",
- "eglfs": "boolean",
- "evdev": "boolean",
- "eventfd": "boolean",
- "fontconfig": "boolean",
"force-asserts": { "type": "boolean", "name": "force_asserts" },
"force-debug-info": { "type": "boolean", "name": "force_debug_info" },
"force-pkg-config": { "type": "void", "name": "pkg-config" },
"framework": "boolean",
- "freetype": { "type": "enum", "values": [ "no", "qt", "system" ] },
- "gbm": "boolean",
"gcc-sysroot": "boolean",
"gcov": "boolean",
- "gif": "boolean",
- "glib": "boolean",
"gnumake": { "type": "boolean", "name": "GNUmake" },
"gstreamer": { "type": "optionalString", "values": [ "no", "yes", "0.10", "1.0" ] },
- "gtk": { "type": "boolean", "name": "gtk3" },
"gui": "boolean",
- "harfbuzz": { "type": "enum", "values": [ "no", "qt", "system" ] },
"headersclean": "boolean",
"host-option": "string",
- "ico": "boolean",
- "iconv": { "type": "enum", "values": [ "no", "yes", "posix", "sun", "gnu" ] },
- "icu": "boolean",
- "imf": { "type": "boolean", "name": "qqnx_imf" },
"incredibuild-xge": { "type": "boolean", "name": "incredibuild_xge" },
- "inotify": "boolean",
- "journald": "boolean",
- "lgmon": "boolean",
- "libinput": "boolean",
- "libjpeg": { "type": "enum", "values": [ "no", "qt", "system" ] },
- "libpng": { "type": "enum", "values": [ "no", "qt", "system" ] },
- "libproxy": "boolean",
"libudev": "boolean",
- "linuxfb": "boolean",
"ltcg": "boolean",
- "kms": "boolean",
"make": { "type": "addString", "values": [ "examples", "libs", "tests", "tools" ] },
"make-tool": "string",
"mips_dsp": "boolean",
"mips_dspr2": "boolean",
- "mirclient": "boolean",
"mp": { "type": "boolean", "name": "msvc_mp" },
- "mtdev": "boolean",
- "mysql_config": "string",
"nomake": { "type": "addString", "values": [ "examples", "tests", "tools" ] },
- "opengl": { "type": "optionalString", "values": [ "no", "yes", "desktop", "es2", "dynamic" ] },
- "opengl-es-2": { "type": "void", "name": "opengl", "value": "es2" },
- "opengles3": "boolean",
"opensource": { "type": "void", "name": "commercial", "value": "no" },
- "openssl": { "type": "optionalString", "values": [ "no", "yes", "linked", "runtime" ] },
- "openssl-linked": { "type": "void", "name": "openssl", "value": "linked" },
- "openssl-runtime": { "type": "void", "name": "openssl", "value": "runtime" },
"optimized-qmake": { "type": "boolean", "name": "release_tools" },
"optimized-tools": { "type": "boolean", "name": "release_tools" },
"pch": { "type": "boolean", "name": "precompile_header" },
- "pcre": { "type": "enum", "values": [ "qt", "system" ] },
"pkg-config": "boolean",
"platform": "string",
"plugin-manifests": "boolean",
- "pps": { "type": "boolean", "name": "qqnx_pps" },
- "posix-ipc": { "type": "boolean", "name": "ipc_posix" },
"profile": "boolean",
- "psql_config": "string",
"pulseaudio": "boolean",
"qml-debug": "boolean",
- "qpa": { "type": "string", "name": "qpa_default_platform" },
- "qpa-platform-guard": "boolean",
"qreal": "string",
"qtlibinfix": { "type": "string", "name": "qt_libinfix" },
"qtnamespace": { "type": "string", "name": "qt_namespace" },
@@ -156,71 +113,28 @@
"rpath": "boolean",
"rtti": "boolean",
"sanitize": "sanitize",
- "sctp": "boolean",
"sdk": "string",
- "securetransport": "boolean",
"separate-debug-info": { "type": "boolean", "name": "separate_debug_info" },
"shared": "boolean",
"silent": "void",
- "skip": "addString",
- "slog2": "boolean",
- "sm": { "type": "boolean", "name": "sessionmanager" },
- "sql-db2": { "type": "boolean", "name": "db2" },
- "sql-ibase": { "type": "boolean", "name": "ibase" },
- "sql-mysql": { "type": "boolean", "name": "mysql" },
- "sql-oci": { "type": "boolean", "name": "oci" },
- "sql-odbc": { "type": "boolean", "name": "odbc" },
- "sql-psql": { "type": "boolean", "name": "psql" },
- "sql-sqlite": { "type": "boolean", "name": "sqlite" },
- "sql-sqlite2": { "type": "boolean", "name": "sqlite2" },
- "sql-tds": { "type": "boolean", "name": "tds" },
- "plugin-sql-db2": { "type": "void", "name": "db2" },
- "plugin-sql-ibase": { "type": "void", "name": "ibase" },
- "plugin-sql-mysql": { "type": "void", "name": "mysql" },
- "plugin-sql-oci": { "type": "void", "name": "oci" },
- "plugin-sql-odbc": { "type": "void", "name": "odbc" },
- "plugin-sql-psql": { "type": "void", "name": "psql" },
- "plugin-sql-sqlite": { "type": "void", "name": "sqlite" },
- "plugin-sql-sqlite2": { "type": "void", "name": "sqlite2" },
- "plugin-sql-tds": { "type": "void", "name": "tds" },
"qdbus": { "type": "boolean", "name": "dbus" },
- "sqlite": { "type": "enum", "name": "system-sqlite", "values": { "qt": "no", "system": "yes" } },
"sse2": "boolean",
"sse3": "boolean",
"sse4.1": { "type": "boolean", "name": "sse4_1" },
"sse4.2": { "type": "boolean", "name": "sse4_2" },
- "ssl": "boolean",
"ssse3": "boolean",
"static": { "type": "enum", "name": "shared", "values": { "yes": "no", "no": "yes" } },
"static-runtime": { "type": "boolean", "name": "static_runtime" },
"strip": "boolean",
- "style-windows": "boolean",
- "style-windowsxp": "boolean",
- "style-windowsvista": "boolean",
- "style-fusion": "boolean",
- "style-mac": "boolean",
- "style-android": "boolean",
"syncqt": "boolean",
- "syslog": "boolean",
"sysroot": "string",
- "system-proxies": "boolean",
"testcocoon": "boolean",
- "tslib": "boolean",
"use-gold-linker": { "type": "boolean", "name": "use_gold_linker" },
"warnings-are-errors": { "type": "boolean", "name": "warnings_are_errors" },
"Werror": { "type": "boolean", "name": "warnings_are_errors" },
"widgets": "boolean",
"wmf-backend": "boolean",
- "xcb": { "type": "enum", "values": [ "no", "yes", "qt", "system" ] },
- "xcb-xlib": "boolean",
- "xinput2": "boolean",
- "xkb": "boolean",
- "xkb-config-root": "string",
- "xkbcommon": { "type": "enum", "values": [ "no", "qt", "system" ] },
- "xkbcommon-evdev": "boolean",
- "xkbcommon-x11": { "type": "enum", "name": "xkbcommon", "values": [ "no", "qt", "system" ] },
"xplatform": "string",
- "xrender": "boolean",
"zlib": { "type": "enum", "name": "system-zlib", "values": { "system": "yes", "qt": "no" } }
},
"prefix": {
@@ -235,145 +149,16 @@
},
"libraries": {
- "libatomic": {
- "description": "64 bit atomics in libatomic",
- "test": "common/atomic64",
- "sources": [
- "-latomic"
- ]
- },
- "libdl": {
- "description": "dlopen() in libdl",
- "export": "",
- "test": "unix/dlopen",
- "sources": [
- "-ldl"
- ]
- },
- "doubleconversion": {
- "description": "DoubleConversion",
- "test": "unix/doubleconversion",
- "sources": [
- "-ldouble-conversion"
- ]
- },
- "pcre": {
- "description": "PCRE",
- "test": "unix/pcre",
- "sources": [
- "-lpcre16"
- ]
- },
"zlib": {
- "description": "zlib",
+ "label": "zlib",
"test": "unix/zlib",
"sources": [
{ "libs": "-lzdll", "condition": "config.msvc" },
{ "libs": "-lz", "condition": "!config.msvc" }
]
},
- "gnu_iconv": {
- "description": "GNU libiconv",
- "export": "iconv",
- "test": "unix/gnu-libiconv",
- "sources": [
- "-liconv"
- ]
- },
- "icu": {
- "description": "ICU",
- "export": "",
- "test": "unix/icu",
- "sources": [
- {
- "builds": {
- "debug": "-lsicuind -lsicuucd -lsicudtd",
- "release": "-lsicuin -lsicuuc -lsicudt"
- },
- "condition": "config.win32 && !features.shared"
- },
- { "libs": "-licuin -licuuc -licudt", "condition": "config.win32 && features.shared" },
- { "libs": "-licui18n -licuuc -licudata", "condition": "!config.win32" }
- ]
- },
- "network": {
- "export": "",
- "sources": [
- { "type": "makeSpec", "spec": "NETWORK" }
- ]
- },
- "corewlan": {
- "description": "CoreWLan",
- "export": "",
- "test": "mac/corewlan",
- "sources": [
- "-framework CoreWLAN -framework Foundation"
- ]
- },
- "openssl": {
- "description": "OpenSSL Libraries",
- "export": "",
- "sources": [
- { "type": "openssl" },
- {
- "comment": "placeholder for OPENSSL_LIBS{,_{DEBUG,RELEASE}}",
- "libs": "",
- "builds": {
- "debug": "",
- "release": ""
- },
- "condition": "config.win32 && !features.shared"
- },
- { "libs": "-lssleay32 -llibeay32", "condition": "config.win32 && features.shared" },
- { "libs": "-lssl -lcrypto", "condition": "!config.win32" }
- ]
- },
- "libproxy": {
- "description": "libproxy",
- "test": "common/libproxy",
- "sources": [
- "-lproxy"
- ]
- },
- "glib": {
- "description": "GLib",
- "test": "unix/glib",
- "sources": [
- { "type": "pkgConfig", "args": "glib-2.0 gthread-2.0" }
- ]
- },
- "gtk3": {
- "description": "GTK+",
- "sources": [
- { "type": "pkgConfig", "args": "gtk+-3.0" }
- ]
- },
- "cups": {
- "description": "CUPS",
- "test": "unix/cups",
- "sources": [
- "-lcups"
- ]
- },
- "libjpeg": {
- "description": "libjpeg",
- "test": "unix/libjpeg",
- "sources": [
- { "libs": "-llibjpeg", "condition": "config.msvc" },
- { "libs": "-ljpeg", "condition": "!config.msvc" }
- ]
- },
- "libpng": {
- "description": "libpng",
- "test": "unix/libpng",
- "sources": [
- { "type": "pkgConfig", "args": "libpng" },
- { "libs": "-llibpng", "condition": "config.msvc" },
- { "libs": "-lpng", "condition": "!config.msvc" }
- ]
- },
"alsa": {
- "description": "ALSA",
+ "label": "ALSA",
"export": "",
"test": "unix/alsa",
"sources": [
@@ -381,14 +166,14 @@
]
},
"pulseaudio": {
- "description": "PulseAudio >= 0.9.10",
+ "label": "PulseAudio >= 0.9.10",
"test": "unix/pulseaudio",
"sources": [
{ "type": "pkgConfig", "args": "libpulse >= 0.9.10 libpulse-mainloop-glib" }
]
},
"gstreamer_1_0": {
- "description": "GStreamer 1.0",
+ "label": "GStreamer 1.0",
"export": "",
"test": "unix/gstreamer",
"sources": [
@@ -397,7 +182,7 @@
]
},
"gstreamer_0_10": {
- "description": "GStreamer 0.10",
+ "label": "GStreamer 0.10",
"export": "",
"test": "unix/gstreamer",
"sources": [
@@ -405,31 +190,8 @@
"args": "gstreamer-0.10 gstreamer-base-0.10 gstreamer-audio-0.10 gstreamer-video-0.10 gstreamer-pbutils-0.10" }
]
},
- "freetype": {
- "description": "FreeType",
- "export": "",
- "test": "unix/freetype",
- "sources": [
- "-lfreetype"
- ]
- },
- "fontconfig": {
- "description": "Fontconfig",
- "test": "unix/fontconfig",
- "sources": [
- { "type": "pkgConfig", "args": "fontconfig freetype2" },
- "-lfontconfig -lfreetype"
- ]
- },
- "harfbuzz": {
- "description": "HarfBuzz",
- "test": "unix/harfbuzz",
- "sources": [
- "-lharfbuzz"
- ]
- },
"dbus": {
- "description": "D-Bus >= 1.2",
+ "label": "D-Bus >= 1.2",
"test": "unix/dbus",
"sources": [
{ "type": "pkgConfig", "args": "dbus-1 >= 1.2" },
@@ -445,320 +207,20 @@
]
},
"host_dbus": {
- "description": "D-Bus >= 1.2 (host)",
+ "label": "D-Bus >= 1.2 (host)",
"export": "",
"sources": [
{ "type": "pkgConfig", "host": true, "args": "dbus-1 >= 1.2" },
{ "libs": "", "comment": "placeholder for DBUS_HOST_PATH" }
]
},
- "libinput": {
- "description": "libinput",
- "test": "unix/libinput",
- "sources": [
- { "type": "pkgConfig", "args": "libinput" }
- ]
- },
- "mtdev": {
- "description": "mtdev",
- "export": "",
- "test": "unix/mtdev",
- "sources": [
- { "type": "pkgConfig", "args": "mtdev" }
- ]
- },
- "tslib": {
- "description": "tslib",
- "test": "unix/tslib",
- "sources": [
- "-lts"
- ]
- },
"libudev": {
- "description": "udev",
+ "label": "udev",
"test": "unix/libudev",
"sources": [
{ "type": "pkgConfig", "args": "libudev" },
"-ludev"
]
- },
- "xkbcommon": {
- "description": "xkbcommon",
- "export": "xkbcommon_evdev",
- "test": "unix/xkbcommon",
- "sources": [
- { "type": "pkgConfig", "args": "xkbcommon" }
- ]
- },
- "xkbcommon_x11": {
- "description": "xkbcommon-x11 >= 0.4.1",
- "export": "xkbcommon",
- "sources": [
- { "type": "pkgConfig", "args": "xkbcommon xkbcommon-x11 >= 0.4.1" }
- ]
- },
- "xinput2": {
- "description": "Xinput2",
- "test": "x11/xinput2",
- "sources": [
- { "type": "pkgConfig", "args": "xi" },
- "-lXi"
- ]
- },
- "xrender": {
- "description": "XRender",
- "test": "x11/xrender",
- "sources": [
- "-lXrender"
- ]
- },
- "xcb": {
- "description": "XCB >= 1.5 (core)",
- "test": "qpa/xcb",
- "sources": [
- { "type": "pkgConfig", "args": "xcb >= 1.5" },
- "-lxcb"
- ]
- },
- "xcb_syslibs": {
- "description": "XCB (secondary)",
- "test": "qpa/xcb-syslibs",
- "sources": [
- { "type": "pkgConfig",
- "args": "xcb xcb-shm xcb-sync xcb-xfixes xcb-randr xcb-image xcb-keysyms xcb-icccm xcb-shape" },
- "-lxcb -lxcb-shm -lxcb-sync -lxcb-xfixes -lxcb-randr -lxcb-image -lxcb-keysyms -lxcb-icccm -lxcb-shape"
- ]
- },
- "xcb_xlib": {
- "description": "XCB Xlib",
- "test": "qpa/xcb-xlib",
- "sources": [
- { "type": "pkgConfig", "args": "X11-xcb x11 xcb" },
- "-lxcb -lX11 -lX11-xcb"
- ]
- },
- "xcb_xkb": {
- "description": "XCB XKB >= 1.10",
- "test": "qpa/xcb-xkb",
- "sources": [
- { "type": "pkgConfig", "args": "xcb-xkb >= 1.10 xcb" },
- "-lxcb-xkb -lxcb"
- ]
- },
- "xcb_render": {
- "description": "XCB XRender",
- "test": "qpa/xcb-render",
- "sources": [
- { "type": "pkgConfig", "args": "xcb-renderutil xcb-render xcb" },
- "-lxcb-render-util -lxcb-render -lxcb"
- ]
- },
- "xcb_glx": {
- "description": "XCB GLX",
- "test": "qpa/xcb-glx",
- "sources": [
- { "type": "pkgConfig", "args": "xcb-glx xcb" },
- "-lxcb-glx -lxcb"
- ]
- },
- "x11sm": {
- "description": "X11 session management",
- "sources": [
- { "type": "pkgConfig", "args": "sm ice" }
- ]
- },
- "opengl": {
- "description": "Desktop OpenGL",
- "test": "unix/opengldesktop",
- "sources": [
- { "type": "pkgConfig", "args": "gl" },
- { "type": "makeSpec", "spec": "OPENGL" }
- ]
- },
- "opengl_es2": {
- "description": "OpenGL ES 2.0",
- "test": "unix/opengles2",
- "sources": [
- { "type": "pkgConfig", "args": "glesv2" },
- { "type": "makeSpec", "spec": "OPENGL_ES2" }
- ]
- },
- "egl": {
- "description": "EGL",
- "test": "qpa/egl",
- "sources": [
- { "type": "pkgConfig", "args": "egl" },
- { "type": "makeSpec", "spec": "EGL" }
- ]
- },
- "bcm_host": {
- "export": "",
- "sources": [
- "-lbcm_host"
- ]
- },
- "gbm": {
- "description": "GBM",
- "test": "qpa/gbm",
- "sources": [
- { "type": "pkgConfig", "args": "gbm" }
- ]
- },
- "drm": {
- "description": "KMS",
- "test": "qpa/kms",
- "sources": [
- { "type": "pkgConfig", "args": "libdrm" },
- "-ldrm"
- ]
- },
- "wayland_server": {
- "description": "Wayland Server",
- "export": "",
- "test": "qpa/wayland-server",
- "sources": [
- { "type": "pkgConfig", "args": "wayland-server" }
- ]
- },
- "directfb": {
- "description": "DirectFB",
- "test": "qpa/directfb",
- "sources": [
- { "type": "pkgConfig", "args": "directfb" }
- ]
- },
- "mirclient": {
- "description": "Mir client libraries",
- "export": "",
- "test": "qpa/mirclient",
- "sources": [
- { "type": "pkgConfig", "args": "egl mirclient ubuntu-platform-api" }
- ]
- },
- "directwrite": {
- "description": "DirectWrite",
- "export": "",
- "test": "win/directwrite",
- "sources": [
- "-ldwrite"
- ]
- },
- "journald": {
- "description": "journald",
- "test": "unix/journald",
- "export": "",
- "sources": [
- { "type": "pkgConfig", "args": "libsystemd" },
- { "type": "pkgConfig", "args": "libsystemd-journal" }
- ]
- },
- "slog2": {
- "description": "slog2",
- "test": "unix/slog2",
- "export": "",
- "sources": [
- "-lslog2"
- ]
- },
- "imf": {
- "description": "IMF",
- "export": "",
- "test": "unix/qqnx_imf",
- "sources": [
- "-linput_client"
- ]
- },
- "pps": {
- "description": "PPS",
- "test": "unix/pps",
- "sources": [
- "-lpps"
- ]
- },
- "lgmon": {
- "description": "lgmon",
- "test": "unix/lgmon",
- "sources": [
- "-llgmon"
- ]
- },
- "db2": {
- "description": "DB2 (IBM)",
- "test": "unix/db2",
- "sources": [
- { "libs": "-ldb2cli", "condition": "config.win32" },
- { "libs": "-ldb2", "condition": "!config.win32" }
- ]
- },
- "ibase": {
- "description": "InterBase",
- "test": "unix/ibase",
- "sources": [
- { "libs": "-lgds32_ms", "condition": "config.win32" },
- { "libs": "-lgds", "condition": "!config.win32" }
- ]
- },
- "mysql": {
- "description": "MySQL",
- "test": "unix/mysql",
- "sources": [
- { "type": "mysqlConfig", "query": "--libs_r" },
- { "type": "mysqlConfig", "query": "--libs" },
- { "libs": "-lmysqlclient_r", "condition": "!config.win32" },
- { "libs": "-llibmysql", "condition": "config.win32" },
- { "libs": "-lmysqlclient", "condition": "!config.win32" }
- ]
- },
- "psql": {
- "description": "PostgreSQL",
- "test": "unix/psql",
- "sources": [
- { "type": "psqlConfig" },
- { "type": "psqlEnv", "libs": "-llibpq -lws2_32 -ladvapi32", "condition": "config.win32" },
- { "type": "psqlEnv", "libs": "-lpq", "condition": "!config.win32" }
- ]
- },
- "tds": {
- "description": "TDS (Sybase)",
- "test": "unix/tds",
- "sources": [
- { "type": "sybaseEnv", "libs": "-lNTWDBLIB", "condition": "config.win32" },
- { "type": "sybaseEnv", "libs": "-lsybdb", "condition": "!config.win32" }
- ]
- },
- "oci": {
- "description": "OCI (Oracle)",
- "test": "unix/oci",
- "sources": [
- { "libs": "-loci", "condition": "config.win32" },
- { "libs": "-lclntsh", "condition": "!config.win32" }
- ]
- },
- "odbc": {
- "description": "ODBC",
- "test": "unix/odbc",
- "sources": [
- { "libs": "-lodbc32", "condition": "config.win32" },
- { "libs": "-liodbc", "condition": "config.darwin" },
- { "libs": "-lodbc", "condition": "!config.win32 && !config.darwin" }
- ]
- },
- "sqlite2": {
- "description": "SQLite (version 2)",
- "test": "unix/sqlite2",
- "sources": [
- "-lsqlite"
- ]
- },
- "sqlite3": {
- "description": "SQLite (version 3)",
- "export": "sqlite",
- "test": "unix/sqlite",
- "sources": [
- { "type": "pkgConfig", "args": "sqlite3" },
- { "libs": "-lsqlite3", "condition": "config.win32" },
- { "libs": "-lsqlite3 -lz", "condition": "!config.win32" }
- ]
}
},
@@ -769,30 +231,27 @@
"detectPkgConfig": [ "cross_compile" ],
"library": [ "pkg-config" ],
"getPkgConfigVariable": [ "pkg-config" ],
- "neon": [ "architecture" ],
- "directX": [ "architecture", "sse2" ]
+ "neon": [ "architecture" ]
},
"testTypeAliases": {
- "compile": [ "library", "architecture" ],
- "files": [ "directX" ],
- "getPkgConfigVariable": [ "xkbConfigRoot" ]
+ "compile": [ "library", "architecture" ]
},
"tests": {
"verifyspec": {
- "description": "valid makespec",
+ "label": "valid makespec",
"type": "verifySpec",
"test": "common/verifyspec"
},
"architecture": {
- "description": "target architecture",
+ "label": "target architecture",
"type": "architecture",
"test": "arch",
"log": "arch"
},
"host_architecture": {
- "description": "host architecture",
+ "label": "host architecture",
"type": "architecture",
"test": "arch",
"host": true,
@@ -800,440 +259,209 @@
"log": "arch"
},
"GNUmake": {
- "description": "GNU make",
+ "label": "GNU make",
"type": "gnumake"
},
"pkg-config": {
- "description": "pkg-config",
+ "label": "pkg-config",
"type": "detectPkgConfig"
},
"stl": {
- "description": "STL compatibility",
+ "label": "STL compatibility",
"type": "compile",
"test": "unix/stl"
},
"c++14": {
- "description": "C++14 support",
+ "label": "C++14 support",
"type": "compile",
"test": "common/c++14"
},
"c++1z": {
- "description": "C++1z support",
+ "label": "C++1z support",
"type": "compile",
"test": "common/c++1z"
},
"cxx98default": {
- "description": "compiler defaulting to C++98",
+ "label": "compiler defaulting to C++98",
"type": "compile",
"test": "common/c++98default"
},
"compiler": {
- "description": "Compiler",
+ "label": "Compiler",
"type": "checkCompiler",
"log": "compilerDescription"
},
"precompile_header": {
- "description": "precompiled header support",
+ "label": "precompiled header support",
"type": "compile",
"test": "common/pch"
},
"use_gold_linker": {
- "description": "gold linker",
+ "label": "gold linker",
"type": "compilerSupportsFlag",
"flag": "-fuse-ld=gold"
},
"enable_new_dtags": {
- "description": "new dtags support",
+ "label": "new dtags support",
"type": "linkerSupportsFlag",
"flag": "--enable-new-dtags"
},
"reduce_exports": {
- "description": "symbol visibility support",
+ "label": "symbol visibility support",
"type": "compile",
"test": "unix/reduce_exports"
},
"reduce_relocations": {
- "description": "-Bsymbolic-functions support",
+ "label": "-Bsymbolic-functions support",
"type": "compile",
"test": "unix/reduce_relocs"
},
- "skip_modules": {
- "type": "skipModules"
- },
"build_parts": {
"type": "buildParts"
},
- "dlopen": {
- "description": "dlopen() in libc",
- "type": "compile",
- "test": "unix/dlopen"
- },
"separate_debug_info": {
- "description": "separate debug information support",
+ "label": "separate debug information support",
"type": "compile",
"test": "unix/objcopy"
},
- "atomic64": {
- "description": "64 bit atomics",
- "type": "compile",
- "test": "common/atomic64"
- },
- "atomicfptr": {
- "description": "working std::atomic for function pointers",
- "type": "compile",
- "test": "common/atomicfptr"
- },
"sse2": {
- "description": "SSE2 instructions",
+ "label": "SSE2 instructions",
"type": "compile",
"test": "common/sse2"
},
"sse3": {
- "description": "SSE3 instructions",
+ "label": "SSE3 instructions",
"type": "compile",
"test": "common/sse3"
},
"ssse3": {
- "description": "SSSE3 instructions",
+ "label": "SSSE3 instructions",
"type": "compile",
"test": "common/ssse3"
},
"sse4_1": {
- "description": "SSE4.1 instructions",
+ "label": "SSE4.1 instructions",
"type": "compile",
"test": "common/sse4_1"
},
"sse4_2": {
- "description": "SSE4.2 instructions",
+ "label": "SSE4.2 instructions",
"type": "compile",
"test": "common/sse4_2"
},
"avx": {
- "description": "AVX instructions",
+ "label": "AVX instructions",
"type": "compile",
"test": "common/avx"
},
"avx_apple_clang": {
- "description": "bugfree AVX support in compiler",
+ "label": "bugfree AVX support in compiler",
"type": "avx_test_apple_clang"
},
"avx2": {
- "description": "AVX2 instructions",
+ "label": "AVX2 instructions",
"type": "compile",
"test": "common/avx2"
},
"avx512f": {
- "description": "AVX512 F instructions",
+ "label": "AVX512 F instructions",
"type": "compile",
"test": "common/avx512",
"args": "AVX512=F"
},
"avx512er": {
- "description": "AVX512 ER instructions",
+ "label": "AVX512 ER instructions",
"type": "compile",
"test": "common/avx512",
"args": "AVX512=ER"
},
"avx512cd": {
- "description": "AVX512 CD instructions",
+ "label": "AVX512 CD instructions",
"type": "compile",
"test": "common/avx512",
"args": "AVX512=CD"
},
"avx512pf": {
- "description": "AVX512 PF instructions",
+ "label": "AVX512 PF instructions",
"type": "compile",
"test": "common/avx512",
"args": "AVX512=PF"
},
"avx512dq": {
- "description": "AVX512 DQ instructions",
+ "label": "AVX512 DQ instructions",
"type": "compile",
"test": "common/avx512",
"args": "AVX512=DQ"
},
"avx512bw": {
- "description": "AVX512 BW instructions",
+ "label": "AVX512 BW instructions",
"type": "compile",
"test": "common/avx512",
"args": "AVX512=BW"
},
"avx512vl": {
- "description": "AVX512 VL instructions",
+ "label": "AVX512 VL instructions",
"type": "compile",
"test": "common/avx512",
"args": "AVX512=VL"
},
"avx512ifma": {
- "description": "AVX512 IFMA instructions",
+ "label": "AVX512 IFMA instructions",
"type": "compile",
"test": "common/avx512",
"args": "AVX512=IFMA"
},
"avx512vbmi": {
- "description": "AVX512 VBMI instructions",
+ "label": "AVX512 VBMI instructions",
"type": "compile",
"test": "common/avx512",
"args": "AVX512=VBMI"
},
"mips_dsp": {
- "description": "MIPS DSP instructions",
+ "label": "MIPS DSP instructions",
"type": "compile",
"test": "unix/mips_dsp"
},
"mips_dspr2": {
- "description": "MIPS DSPr2 instructions",
+ "label": "MIPS DSPr2 instructions",
"type": "compile",
"test": "common/mips_dspr2"
},
"neon": {
- "description": "NEON instructions",
+ "label": "NEON instructions",
"type": "neon"
},
- "clock-gettime": {
- "description": "clock_gettime()",
- "type": "compile",
- "test": "unix/clock-gettime"
- },
- "clock-monotonic": {
- "description": "POSIX monotonic clock",
- "type": "compile",
- "test": "unix/clock-monotonic"
- },
- "evdev": {
- "description": "evdev",
- "type": "compile",
- "test": "unix/evdev"
- },
- "eventfd": {
- "description": "eventfd",
- "type": "compile",
- "test": "unix/eventfd"
- },
- "getaddrinfo": {
- "description": "getaddrinfo()",
- "type": "compile",
- "test": "unix/getaddrinfo",
- "use": "network"
- },
- "getifaddrs": {
- "description": "getifaddrs()",
- "type": "compile",
- "test": "unix/getifaddrs",
- "use": "network"
- },
- "inotify": {
- "description": "inotify",
- "type": "compile",
- "test": "unix/inotify"
- },
- "ipv6ifname": {
- "description": "IPv6 ifname",
- "type": "compile",
- "test": "unix/ipv6ifname",
- "use": "network"
- },
- "linuxfb": {
- "description": "LinuxFB",
- "type": "compile",
- "test": "qpa/linuxfb"
- },
"mremap": {
- "description": "mremap()",
+ "label": "mremap()",
"type": "compile",
"test": "unix/mremap"
},
- "journald": {
- "description": "journald",
- "type": "compile",
- "test": "unix/journald"
- },
"posix_fallocate": {
- "description": "POSIX fallocate()",
+ "label": "POSIX fallocate()",
"type": "compile",
"test": "unix/posix_fallocate"
},
- "syslog": {
- "description": "syslog",
- "type": "compile",
- "test": "unix/syslog"
- },
"stack_protector": {
- "description": "stack protection",
+ "label": "stack protection",
"type": "compilerSupportsFlag",
"test": "-fstack-protector-strong"
},
- "ipc_sysv": {
- "description": "SysV IPC",
- "type": "compile",
- "test": "unix/ipc_sysv"
- },
- "ipc_posix": {
- "description": "POSIX IPC",
- "type": "compile",
- "test": "unix/ipc_posix"
- },
- "ppoll": {
- "description": "ppoll()",
- "type": "compile",
- "test": "unix/ppoll"
- },
- "pollts": {
- "description": "pollts()",
- "type": "compile",
- "test": "unix/pollts"
- },
- "poll": {
- "description": "poll()",
- "type": "compile",
- "test": "unix/poll"
- },
- "cloexec": {
- "description": "O_CLOEXEC",
- "type": "compile",
- "test": "unix/cloexec"
- },
- "openssl": {
- "description": "OpenSSL",
- "type": "compile",
- "test": "unix/openssl"
- },
- "sctp": {
- "description": "SCTP support",
- "type": "compile",
- "test": "unix/sctp",
- "use": "network"
- },
- "posix-iconv": {
- "description": "POSIX iconv",
- "type": "compile",
- "test": "unix/iconv"
- },
- "sun-iconv": {
- "description": "SUN libiconv",
- "type": "compile",
- "test": "unix/sun-libiconv"
- },
- "egl-x11": {
- "description": "EGL on X11",
- "type": "compile",
- "test": "qpa/egl-x11",
- "use": "egl xcb_xlib"
- },
- "egl-brcm": {
- "description": "Broadcom EGL (Rasberry Pi)",
- "type": "compile",
- "test": "qpa/eglfs-brcm",
- "use": "egl bcm_host"
- },
- "egl-egldevice": {
- "description": "EGLDevice",
- "type": "compile",
- "test": "qpa/eglfs-egldevice",
- "use": "egl"
- },
- "egl-mali": {
- "description": "Mali EGL",
- "type": "compile",
- "test": "qpa/eglfs-mali",
- "use": "egl"
- },
- "egl-mali-2": {
- "description": "Mali 2 EGL",
- "type": "compile",
- "test": "qpa/eglfs-mali-2",
- "use": "egl"
- },
- "egl-viv": {
- "description": "i.Mx6 EGL",
- "type": "compile",
- "test": "qpa/eglfs-viv",
- "use": "egl"
- },
- "xlocalescanprint": {
- "description": "xlocale.h (or equivalents)",
- "type": "compile",
- "test": "common/xlocalescanprint"
- },
- "xlib": {
- "description": "XLib",
- "type": "compile",
- "test": "x11/xlib"
- },
- "x11prefix": {
- "description": "X11 prefix",
- "type": "getPkgConfigVariable",
- "pkg-config-args": "x11",
- "pkg-config-variable": "prefix",
- "value": "/usr",
- "log": "value"
- },
- "xkbconfigroot": {
- "description": "XKB config root",
- "type": "xkbConfigRoot",
- "pkg-config-args": "xkeyboard-config",
- "pkg-config-variable": "xkb_base",
- "log": "value"
- },
- "directx": {
- "description": "DirectX SDK",
- "type": "directX",
- "files": [
- "d3dcompiler.h",
- "d3d11.lib",
- "fxc.exe"
- ]
- },
- "opengles3": {
- "description": "OpenGL ES 3.0",
- "type": "compile",
- "test": "unix/opengles3",
- "use": "opengl_es2"
- },
- "opengles31": {
- "description": "OpenGL ES 3.1",
- "type": "compile",
- "test": "unix/opengles31",
- "use": "opengl_es2"
- },
- "directwrite2": {
- "description": "DirectWrite 2",
- "type": "compile",
- "test": "win/directwrite2",
- "use": "directwrite"
- },
- "uxtheme": {
- "description": "uxtheme.h",
- "type": "files",
- "files": [ "uxtheme.h" ]
- },
- "direct2d": {
- "description": "Direct 2D",
- "type": "compile",
- "test": "qpa/direct2d",
- "use": "direct2d"
- },
"incredibuild_xge": {
- "description": "IncrediBuild",
+ "label": "IncrediBuild",
"type": "files",
"files": [ "BuildConsole.exe", "xgConsole.exe" ]
},
"wmf": {
- "description": "WMF",
+ "label": "WMF",
"type": "files",
"files": [ "mfapi.h", "mf.lib" ]
- },
- "qpa_default_platform": {
- "description": "default QPA platform",
- "type": "qpaDefaultPlatform",
- "log": "value"
}
},
"features": {
"shared": {
- "description": "Building shared libraries",
+ "label": "Building shared libraries",
"condition": "!config.uikit && !config.integrity",
"output": [
"shared",
@@ -1251,12 +479,12 @@
]
},
"cross_compile": {
- "description": "Cross compiling",
+ "label": "Cross compiling",
"condition": "call.crossCompile",
"output": [ "publicConfig", "privateConfig" ]
},
"cxx98default": {
- "description": "Compiler defaults to C++98",
+ "label": "Compiler defaults to C++98",
"condition": "tests.cxx98default",
"output": [ { "type": "publicConfig", "name": "c++11" } ]
},
@@ -1272,16 +500,16 @@
"condition": "input.qmakeArgs != ''"
},
"use_gold_linker": {
- "description": "Using gold linker",
+ "label": "Using gold linker",
"condition": "!config.msvc && tests.use_gold_linker",
"output": [ "privateConfig", "useGoldLinker" ]
},
"architecture": {
- "description": "Architecture",
+ "label": "Architecture",
"output": [ "architecture" ]
},
"pkg-config": {
- "description": "Using pkg-config",
+ "label": "Using pkg-config",
"autoDetect": "!config.darwin && !config.win32",
"condition": "tests.pkg-config",
"output": [
@@ -1291,12 +519,11 @@
]
},
"verifyspec": {
- "description": "Have valid makespec",
+ "label": "Have valid makespec",
"condition": "tests.verifyspec"
},
-
"developer-build": {
- "description": "Developer build",
+ "label": "Developer build",
"autoDetect": false,
"output": [
{ "type": "define", "name": "QT_BUILD_INTERNAL" },
@@ -1305,22 +532,22 @@
]
},
"debug": {
- "description": "Build for debugging",
+ "label": "Build for debugging",
"autoDetect": "features.developer-build || config.win32 || config.darwin"
},
"debug_and_release": {
- "description": "Compile libs in debug and release mode",
+ "label": "Compile libs in debug and release mode",
"autoDetect": "input.debug == ''",
"condition": "config.darwin || config.win32",
"output": [ "publicFeature", "publicQtConfig", "debugAndRelease" ]
},
"force_debug_info": {
- "description": "Add debug info in release mode",
+ "label": "Add debug info in release mode",
"autoDetect": false,
"output": [ "privateConfig" ]
},
"separate_debug_info": {
- "description": "Split off debug information",
+ "label": "Split off debug information",
"autoDetect": false,
"condition": [
"features.shared",
@@ -1330,11 +557,11 @@
"output": [ "publicFeature", "publicQtConfig" ]
},
"release_tools": {
- "description": "Compile tools in release mode",
+ "label": "Compile tools in release mode",
"output": [ "privateFeature", "publicQtConfig" ]
},
"simulator_and_device": {
- "description": "Build for both simulator and device",
+ "label": "Build for both simulator and device",
"condition": "config.uikit && input.sdk == ''",
"output": [ "publicFeature", "publicQtConfig" ]
},
@@ -1343,39 +570,39 @@
"output": [ "publicFeature", "publicQtConfig" ]
},
"rpath": {
- "description": "Build with RPATH",
+ "label": "Build with RPATH",
"autoDetect": "var.QMAKE_LFLAGS_RPATH != '' && features.shared",
"output": [ "publicFeature", "publicQtConfig" ]
},
"rpath_dir": {
- "description": "RPATH directory",
+ "label": "RPATH directory",
"enable": "input.rpaths != ''",
"autoDetect": false,
"output": [ { "type": "varAppend", "name": "EXTRA_RPATHS", "value": "input.rpaths" } ]
},
"rtti": {
- "description": "Build with RTTI",
+ "label": "Build with RTTI",
"comment": "mkspecs/features/win32/default_pre.prf sets no-rtti. Follow default behavior of configure.exe by overriding with rtti.",
"condition": "config.win32",
"output": [ "publicConfig" ]
},
"force_asserts": {
- "description": "Force assertions",
+ "label": "Force assertions",
"autoDetect": false,
"output": [ "publicFeature" ]
},
"warnings_are_errors": {
- "description": "WError",
+ "label": "WError",
"autoDetect": "features.developer-build",
"output": [ "privateConfig" ]
},
"headersclean": {
- "description": "Check for clean headers",
+ "label": "Check for clean headers",
"autoDetect": "features.developer-build",
"output": [ "privateConfig" ]
},
"framework": {
- "description": "Build Apple Frameworks",
+ "label": "Build Apple Frameworks",
"condition": "config.darwin && features.shared",
"output": [
{ "type": "define", "name": "QT_MAC_FRAMEWORK_BUILD" },
@@ -1385,7 +612,7 @@
]
},
"largefile": {
- "description": "Large file support",
+ "label": "Large file support",
"condition": "!config.android && !config.integrity && !config.winrt",
"output": [
"privateConfig",
@@ -1393,59 +620,59 @@
]
},
"testcocoon": {
- "description": "Testcocoon support",
+ "label": "Testcocoon support",
"autoDetect": false,
"output": [ "publicConfig" ]
},
"gcov": {
- "description": "gcov support",
+ "label": "gcov support",
"autoDetect": false,
"output": [ "publicConfig" ]
},
"silent": {
- "description": "Silent build",
+ "label": "Silent build",
"autoDetect": false,
"output": [ "privateConfig" ]
},
"sanitize_address": {
- "description": "Addresses",
+ "label": "Addresses",
"autoDetect": false,
"output": [ "publicConfig" ]
},
"sanitize_thread": {
- "description": "Threads",
+ "label": "Threads",
"autoDetect": false,
"output": [ "publicConfig" ]
},
"sanitize_memory": {
- "description": "Memory",
+ "label": "Memory",
"autoDetect": false,
"output": [ "publicConfig" ]
},
"sanitize_undefined": {
- "description": "Undefined",
+ "label": "Undefined",
"autoDetect": false,
"output": [ "publicConfig" ]
},
"sanitizer": {
- "description": "Sanitizers",
+ "label": "Sanitizers",
"condition": "features.sanitize_address || features.sanitize_thread || features.sanitize_memory || features.sanitize_undefined",
"output": [ "publicConfig" ]
},
"GNUmake": {
- "description": "GNU make",
+ "label": "GNU make",
"autoDetect": false,
"condition": "tests.GNUmake",
"output": [ "privateConfig" ]
},
"plugin-manifests": {
- "description": "Embed manifests in plugins",
+ "label": "Embed manifests in plugins",
"emitIf": "config.win32",
"autoDetect": false,
"output": [ { "type": "publicConfig", "negative": true, "name": "no_plugin_manifest" } ]
},
"profile": {
- "description": "GNU profiling support",
+ "label": "GNU profiling support",
"autoDetect": false,
"output": [
{ "type": "varAppend", "name": "QMAKE_CFLAGS", "value": "'-pg'" },
@@ -1454,54 +681,54 @@
]
},
"strip": {
- "description": "Strip binaries",
+ "label": "Strip binaries",
"condition": "!features.profile",
"output": [ { "type": "privateConfig", "negative": true, "name": "nostrip" } ]
},
"stl": {
- "description": "STL compatibility",
+ "label": "STL compatibility",
"condition": "tests.stl",
"output": [ "publicQtConfig" ]
},
"c++11": {
- "description": "C++11",
+ "label": "C++11",
"output": [ "publicFeature", "publicQtConfig" ]
},
"c++14": {
- "description": "C++14",
+ "label": "C++14",
"condition": "features.c++11 && tests.c++14",
"output": [ "publicFeature", "publicQtConfig" ]
},
"c++1z": {
- "description": "C++1z",
+ "label": "C++1z",
"condition": "features.c++14 && tests.c++1z",
"output": [ "publicFeature", "publicQtConfig" ]
},
"compiler": {
- "description": "Compiler version",
+ "label": "Compiler version",
"condition": "tests.compiler",
"output": [ "compilerVersion" ]
},
"precompile_header": {
- "description": "Using precompiled headers",
- "condition": "config.msvc || (!config.uikit && tests.precompile_header)",
+ "label": "Using precompiled headers",
+ "condition": "config.msvc || tests.precompile_header",
"output": [
"privateConfig",
{ "type": "varRemove", "negative": true, "name": "CONFIG", "value": "'precompile_header'" }
]
},
"ltcg": {
- "description": "Using LTCG",
+ "label": "Using LTCG",
"autoDetect": false,
"output": [ "privateConfig" ]
},
"enable_new_dtags": {
- "description": "Using new DTAGS",
+ "label": "Using new DTAGS",
"condition": "config.linux && tests.enable_new_dtags",
"output": [ "privateConfig" ]
},
"reduce_exports": {
- "description": "Reduce amount of exported symbols",
+ "label": "Reduce amount of exported symbols",
"condition": "!config.win32 && tests.reduce_exports",
"output": [
"privateFeature",
@@ -1510,7 +737,7 @@
]
},
"reduce_relocations": {
- "description": "Reduce amount of relocations",
+ "label": "Reduce amount of relocations",
"condition": "!config.win32 && tests.reduce_relocations",
"output": [
"privateFeature",
@@ -1518,36 +745,17 @@
{ "type": "define", "name": "QT_REDUCE_RELOCATIONS" }
]
},
- "dlopen": {
- "description": "dlopen()",
- "condition": "tests.dlopen || libs.libdl",
- "output": [ { "type": "define", "negative": true, "name": "QT_NO_DYNAMIC_LIBRARY" } ]
- },
- "libdl": {
- "description": "dlopen() in libdl",
- "condition": "!tests.dlopen && libs.libdl",
- "output": [ { "type": "privateConfig", "negative": true } ]
- },
- "std-atomic64": {
- "description": "64 bit atomic operations",
- "condition": "tests.atomic64 || libs.libatomic",
- "output": [ { "type": "define", "negative": true, "name": "QT_NO_STD_ATOMIC64" } ]
- },
- "libatomic": {
- "description": "64 bit atomic operations in libatomic",
- "condition": "!tests.atomic64 && libs.libatomic",
- "output": [ "privateFeature" ]
- },
"sse2": {
- "description": "SSE2",
+ "label": "SSE2",
"condition": "(arch.i386 || arch.x86_64) && tests.sse2",
"output": [
"privateConfig",
+ "privateFeature",
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_SSE2", "value": 1 }
]
},
"sse3": {
- "description": "SSE3",
+ "label": "SSE3",
"condition": "features.sse2 && tests.sse3",
"output": [
"privateConfig",
@@ -1555,7 +763,7 @@
]
},
"ssse3": {
- "description": "SSSE3",
+ "label": "SSSE3",
"condition": "features.sse3 && tests.ssse3",
"output": [
"privateConfig",
@@ -1563,7 +771,7 @@
]
},
"sse4_1": {
- "description": "SSE4.1",
+ "label": "SSE4.1",
"condition": "features.ssse3 && tests.sse4_1",
"output": [
"privateConfig",
@@ -1571,7 +779,7 @@
]
},
"sse4_2": {
- "description": "SSE4.2",
+ "label": "SSE4.2",
"condition": "features.sse4_1 && tests.sse4_2",
"output": [
"privateConfig",
@@ -1579,7 +787,7 @@
]
},
"avx": {
- "description": "AVX",
+ "label": "AVX",
"condition": "features.sse4_2 && tests.avx && tests.avx_apple_clang",
"output": [
"privateConfig",
@@ -1587,7 +795,7 @@
]
},
"avx2": {
- "description": "AVX2",
+ "label": "AVX2",
"condition": "features.avx && tests.avx2",
"output": [
"privateConfig",
@@ -1595,7 +803,7 @@
]
},
"avx512f": {
- "description": "F",
+ "label": "F",
"condition": "features.avx2 && tests.avx512f",
"output": [
"privateConfig",
@@ -1603,7 +811,7 @@
]
},
"avx512er": {
- "description": "ER",
+ "label": "ER",
"condition": "features.avx512f && tests.avx512er",
"output": [
"privateConfig",
@@ -1611,7 +819,7 @@
]
},
"avx512cd": {
- "description": "CD",
+ "label": "CD",
"condition": "features.avx512f && tests.avx512cd",
"output": [
"privateConfig",
@@ -1619,7 +827,7 @@
]
},
"avx512pf": {
- "description": "PF",
+ "label": "PF",
"condition": "features.avx512f && tests.avx512pf",
"output": [
"privateConfig",
@@ -1627,7 +835,7 @@
]
},
"avx512dq": {
- "description": "DQ",
+ "label": "DQ",
"condition": "features.avx512f && tests.avx512dq",
"output": [
"privateConfig",
@@ -1635,7 +843,7 @@
]
},
"avx512bw": {
- "description": "BW",
+ "label": "BW",
"condition": "features.avx512f && tests.avx512bw",
"output": [
"privateConfig",
@@ -1643,7 +851,7 @@
]
},
"avx512vl": {
- "description": "VL",
+ "label": "VL",
"condition": "features.avx512f && tests.avx512vl",
"output": [
"privateConfig",
@@ -1651,7 +859,7 @@
]
},
"avx512ifma": {
- "description": "IFMA",
+ "label": "IFMA",
"condition": "features.avx512f && tests.avx512ifma",
"output": [
"privateConfig",
@@ -1659,7 +867,7 @@
]
},
"avx512vbmi": {
- "description": "VBMI",
+ "label": "VBMI",
"condition": "features.avx512f && tests.avx512vbmi",
"output": [
"privateConfig",
@@ -1667,7 +875,7 @@
]
},
"mips_dsp": {
- "description": "DSP",
+ "label": "DSP",
"condition": "arch.mips && tests.mips_dsp",
"output": [
"privateConfig",
@@ -1675,7 +883,7 @@
]
},
"mips_dspr2": {
- "description": "DSPr2",
+ "label": "DSPr2",
"condition": "arch.mips && tests.mips_dspr2",
"output": [
"privateConfig",
@@ -1683,438 +891,87 @@
]
},
"neon": {
- "description": "NEON",
+ "label": "NEON",
"condition": "(arch.arm || arch.arm64) && tests.neon",
"output": [
"privateConfig",
{ "type": "define", "name": "QT_COMPILER_SUPPORTS_NEON", "value": 1 }
]
},
- "clock-gettime": {
- "description": "clock_gettime()",
- "condition": "tests.clock-gettime",
- "output": [ "privateFeature" ]
- },
- "clock-monotonic": {
- "description": "POSIX monotonic clock",
- "condition": "features.clock-gettime && tests.clock-monotonic",
- "output": [ "feature" ]
- },
"alsa": {
- "description": "ALSA",
+ "label": "ALSA",
"condition": "libs.alsa",
"output": [ "feature" ]
},
- "evdev": {
- "description": "evdev",
- "condition": "tests.evdev",
- "output": [ "privateFeature" ]
- },
- "eventfd": {
- "description": "eventfd",
- "condition": "tests.eventfd",
- "output": [ "feature" ]
- },
- "gbm": {
- "description": "GBM",
- "condition": "libs.gbm",
- "output": [ "publicQtConfig" ]
- },
- "getaddrinfo": {
- "description": "getaddrinfo()",
- "condition": "tests.getaddrinfo",
- "output": [ "feature" ]
- },
- "getifaddrs": {
- "description": "getifaddrs()",
- "condition": "tests.getifaddrs",
- "output": [ "feature" ]
- },
- "inotify": {
- "description": "inotify",
- "condition": "tests.inotify",
- "output": [ "privateFeature", "feature" ]
- },
- "ipv6ifname": {
- "description": "IPv6 ifname",
- "condition": "tests.ipv6ifname",
- "output": [ "feature" ]
- },
- "libproxy": {
- "description": "libproxy",
- "autoDetect": false,
- "condition": "libs.libproxy",
- "output": [ "privateFeature" ]
- },
- "linuxfb": {
- "description": "LinuxFB",
- "condition": "tests.linuxfb",
- "output": [ "privateFeature" ]
- },
- "directfb": {
- "description": "DirectFB",
- "autoDetect": false,
- "condition": "libs.directfb",
- "output": [ "privateFeature" ]
- },
- "integrityfb": {
- "description": "INTEGRITY framebuffer",
- "condition": "config.integrity",
- "output": [ "privateFeature" ]
- },
- "kms": {
- "description": "KMS",
- "condition": "libs.drm",
- "output": [ "publicQtConfig" ]
- },
- "mirclient": {
- "description": "Mir client",
- "condition": "libs.mirclient",
- "output": [ "privateFeature" ]
- },
"mremap": {
- "description": "mremap()",
+ "label": "mremap()",
"condition": "tests.mremap",
"output": [ "feature" ]
},
- "mtdev": {
- "description": "mtdev",
- "condition": "libs.mtdev",
- "output": [ "privateFeature" ]
- },
- "journald": {
- "description": "journald",
- "autoDetect": false,
- "condition": "libs.journald",
- "output": [ "privateConfig" ]
- },
"posix_fallocate": {
- "description": "POSIX fallocate()",
+ "label": "POSIX fallocate()",
"condition": "tests.posix_fallocate",
"output": [ "privateFeature" ]
},
- "syslog": {
- "description": "syslog",
- "autoDetect": false,
- "condition": "tests.syslog",
- "output": [ "privateConfig" ]
- },
"stack-protector-strong": {
- "description": "stack protection",
+ "label": "stack protection",
"condition": "config.qnx && tests.stack_protector",
"output": [ "publicQtConfig" ]
},
- "slog2": {
- "description": "slog2",
- "condition": "libs.slog2",
- "emitIf": "config.qnx",
- "output": [ "privateConfig" ]
- },
- "qqnx_imf": {
- "description": "IMF",
- "emitIf": "config.qnx",
- "condition": "libs.imf",
- "output": [ "privateConfig" ]
- },
- "qqnx_pps": {
- "description": "PPS",
- "emitIf": "config.qnx",
- "condition": "libs.pps",
- "output": [ "privateConfig" ]
- },
- "lgmon": {
- "description": "lgmon",
- "emitIf": "config.qnx",
- "condition": "libs.lgmon",
- "output": [ "privateConfig" ]
- },
- "poll_ppoll": {
- "description": "Native ppoll()",
- "emitIf": "!config.win32",
- "condition": "tests.ppoll",
- "output": [ "privateFeature" ]
- },
- "poll_pollts": {
- "description": "Native pollts()",
- "emitIf": "!config.win32",
- "condition": "!features.poll_ppoll && tests.pollts",
- "output": [ "privateFeature" ]
- },
- "poll_poll": {
- "description": "Native poll()",
- "emitIf": "!config.win32",
- "condition": "!features.poll_ppoll && !features.poll_pollts && tests.poll",
- "output": [ "privateFeature" ]
- },
- "poll_select": {
- "description": "Emulated poll()",
- "emitIf": "!config.win32",
- "condition": "!features.poll_ppoll && !features.poll_pollts && !features.poll_poll",
- "output": [
- "privateFeature",
- { "type": "define", "name": "QT_NO_NATIVE_POLL" }
- ]
- },
- "ipc_posix": {
- "description": "Using POSIX IPC",
- "autoDetect": "!config.win32",
- "condition": "!tests.ipc_sysv && tests.ipc_posix",
- "output": [ { "type": "define", "name": "QT_POSIX_IPC" } ]
- },
- "systemsemaphore": {
- "description": "Enable QSystemSemaphore",
- "condition": "config.android || config.win32 || tests.ipc_sysv || tests.ipc_posix",
- "output": [ { "type": "define", "negative": true, "name": "QT_NO_SYSTEMSEMAPHORE" } ]
- },
- "sharedmemory": {
- "description": "Enable QSharedMemory",
- "condition": "config.android || config.win32 || tests.ipc_sysv || tests.ipc_posix",
- "output": [ { "type": "define", "negative": true, "name": "QT_NO_SHAREDMEMORY" } ]
- },
- "threadsafe-cloexec": {
- "description": "Threadsafe pipe creation",
- "condition": "tests.cloexec",
- "output": [
- "publicQtConfig",
- { "type": "define", "name": "QT_THREADSAFE_CLOEXEC", "value": 1 }
- ]
- },
- "tslib": {
- "description": "tslib",
- "condition": "libs.tslib",
- "output": [ "privateFeature" ]
- },
- "corewlan": {
- "description": "CoreWLan",
- "condition": "libs.corewlan",
- "emitIf": "config.darwin",
- "output": [ "feature", "privateFeature" ]
- },
- "securetransport": {
- "description": "SecureTransport",
- "disable": "input.securetransport == 'no' || input.ssl == 'no'",
- "condition": "config.darwin && (input.openssl == '' || input.openssl == 'no')",
- "output": [
- "privateFeature",
- { "type": "define", "name": "QT_SECURETRANSPORT" }
- ]
- },
- "openssl": {
- "description": "OpenSSL",
- "enable": "input.openssl == 'yes' || input.openssl == 'linked' || input.openssl == 'runtime'",
- "disable": "input.openssl == 'no' || input.ssl == 'no'",
- "autoDetect": "!config.winrt",
- "condition": "!features.securetransport && tests.openssl",
- "output": [
- "privateFeature",
- { "type": "publicQtConfig", "condition": "!features.openssl-linked" },
- { "type": "define", "negative": true, "name": "QT_NO_OPENSSL" }
- ]
- },
- "openssl-linked": {
- "description": " Qt directly linked to OpenSSL",
- "enable": "input.openssl == 'linked'",
- "disable": "input.openssl != 'linked'",
- "condition": "features.openssl && libs.openssl",
- "output": [
- "privateFeature",
- { "type": "varAssign", "name": "OPENSSL_LIBS", "value": "libs.openssl.libs", "eval": "true" },
- { "type": "varAssign", "name": "OPENSSL_LIBS_DEBUG", "value": "libs.openssl.builds.debug.libs",
- "eval": "true", "condition": "config.win32" },
- { "type": "varAssign", "name": "OPENSSL_LIBS_RELEASE", "value": "libs.openssl.builds.release.libs",
- "eval": "true", "condition": "config.win32" },
- { "type": "define", "name": "QT_LINKED_OPENSSL" }
- ]
- },
- "ssl": {
- "description": "SSL",
- "condition": "config.winrt || features.securetransport || features.openssl",
- "output": [ "publicFeature", "feature" ]
- },
- "sctp": {
- "description": "SCTP",
- "autoDetect": false,
- "condition": "tests.sctp",
- "output": [ "publicFeature", "feature" ]
- },
"accessibility": {
- "description": "Accessibility",
+ "label": "Accessibility",
"output": [ "publicFeature", "feature" ]
},
- "accessibility-atspi-bridge": {
- "description": "ATSPI Bridge",
- "condition": "features.accessibility && features.xcb && features.dbus",
- "output": [ "privateFeature", "feature" ]
- },
- "glib": {
- "description": "GLib",
- "autoDetect": "!config.win32",
- "condition": "libs.glib",
- "output": [ "privateFeature", "feature" ]
- },
- "gtk3": {
- "description": "GTK+",
- "autoDetect": "!config.darwin",
- "condition": "features.glib && libs.gtk3",
- "output": [ "privateFeature" ]
- },
- "icu": {
- "description": "ICU",
- "autoDetect": "!config.win32",
- "condition": "libs.icu",
- "output": [ "privateFeature" ]
- },
"pulseaudio": {
- "description": "PulseAudio",
+ "label": "PulseAudio",
"condition": "libs.pulseaudio",
"output": [ "feature" ]
},
- "cups": {
- "description": "CUPS",
- "condition": "libs.cups",
- "output": [ "privateFeature", "feature" ]
- },
- "jpeg": {
- "description": "JPEG",
- "disable": "input.libjpeg == 'no'",
- "output": [
- "privateFeature",
- { "type": "define", "negative": true, "name": "QT_NO_IMAGEFORMAT_JPEG" }
- ]
- },
- "system-jpeg": {
- "description": " Using system libjpeg",
- "disable": "input.libjpeg == 'qt'",
- "enable": "input.libjpeg == 'system'",
- "condition": "features.jpeg && libs.libjpeg",
- "output": [ "privateFeature" ]
- },
- "gif": {
- "description": "GIF",
- "output": [
- "privateFeature",
- { "type": "define", "negative": true, "name": "QT_NO_IMAGEFORMAT_GIF" }
- ]
- },
- "png": {
- "description": "PNG",
- "disable": "input.libpng == 'no'",
- "output": [
- "privateFeature",
- { "type": "define", "negative": true, "name": "QT_NO_IMAGEFORMAT_PNG" }
- ]
- },
- "system-png": {
- "description": " Using system libpng",
- "disable": "input.libpng == 'qt'",
- "enable": "input.libpng == 'system'",
- "condition": "features.png && libs.libpng",
- "output": [ "privateFeature" ]
- },
- "ico": {
- "description": "ICO",
- "output": [ "privateFeature", "feature" ]
- },
"system-zlib": {
- "description": "Using system zlib",
+ "label": "Using system zlib",
"condition": "libs.zlib",
"output": [ "privateFeature" ]
},
- "iconv": {
- "description": "iconv",
- "condition": "features.posix-libiconv || features.sun-libiconv || features.gnu-libiconv",
- "output": [ "privateFeature", "feature" ]
- },
- "posix-libiconv": {
- "description": "POSIX iconv",
- "enable": "input.iconv == 'posix'",
- "disable": "input.iconv == 'sun' || input.iconv == 'gnu' || input.iconv == 'no'",
- "condition": "!config.win32 && !config.qnx && !config.android && !config.darwin && tests.posix-iconv"
- },
- "sun-libiconv": {
- "description": "SUN iconv",
- "enable": "input.iconv == 'sun'",
- "disable": "input.iconv == 'posix' || input.iconv == 'gnu' || input.iconv == 'no'",
- "condition": "!config.win32 && !config.qnx && !config.android && !config.darwin && !features.posix-libiconv && tests.sun-iconv",
- "output": [ "privateFeature", "publicQtConfig" ]
- },
- "gnu-libiconv": {
- "description": "GNU iconv",
- "enable": "input.iconv == 'gnu'",
- "disable": "input.iconv == 'posix' || input.iconv == 'sun' || input.iconv == 'no'",
- "condition": "!config.win32 && !config.qnx && !config.android && !config.darwin && !features.posix-libiconv && !features.sun-libiconv && libs.gnu_iconv",
- "output": [ "privateFeature" ]
- },
- "freetype": {
- "description": "FreeType",
- "output": [ "privateFeature", "feature" ]
- },
- "system-freetype": {
- "description": " Using system FreeType",
- "enable": "input.freetype == 'system'",
- "disable": "input.freetype == 'qt'",
- "autoDetect": "!config.win32",
- "condition": "features.freetype && libs.freetype",
- "output": [ "privateFeature" ]
- },
- "fontconfig": {
- "description": "Fontconfig",
- "condition": "!config.win32 && !config.darwin && features.system-freetype && libs.fontconfig",
- "output": [ "privateFeature", "feature" ]
- },
- "harfbuzz": {
- "description": "HarfBuzz",
- "output": [ "privateFeature", "feature" ]
- },
- "system-harfbuzz": {
- "description": " Using system HarfBuzz",
- "enable": "input.harfbuzz == 'system'",
- "disable": "input.harfbuzz == 'qt'",
- "autoDetect": "!config.darwin && !config.win32",
- "condition": "features.harfbuzz && libs.harfbuzz",
- "output": [ "privateFeature" ]
- },
"concurrent": {
- "description": "Qt Concurrent",
+ "label": "Qt Concurrent",
+ "purpose": "Provides a high-level multi-threading API.",
+ "section": "Kernel",
"output": [ "publicFeature", "feature" ]
},
"dbus": {
- "description": "Qt D-Bus",
+ "label": "Qt D-Bus",
"autoDetect": "!config.uikit && !config.android && !config.winrt",
"output": [ "privateFeature", "feature" ]
},
"dbus-linked": {
- "description": "Qt D-Bus directly linked to libdbus",
+ "label": "Qt D-Bus directly linked to libdbus",
"enable": "input.dbus == 'linked'",
"disable": "input.dbus == 'runtime'",
"condition": "features.dbus && libs.dbus",
"output": [ "privateFeature" ]
},
"host-dbus": {
- "description": "Qt D-Bus (Host)",
+ "label": "Qt D-Bus (Host)",
"autoDetect": "!config.android",
"condition": "libs.host_dbus",
"output": [ { "type": "varAppend", "name": "QT_HOST_CFLAGS_DBUS", "value": "libs.host_dbus.cflags", "eval": "true" } ]
},
- "skip_modules": {
- "output": [ { "type": "varAssign", "name": "QT_SKIP_MODULES", "value": "tests.skip_modules.value" } ]
- },
"build_parts": {
"output": [ { "type": "varAppend", "name": "QT_BUILD_PARTS", "value": "tests.build_parts.value" } ]
},
"qreal": {
- "description": "Type for qreal",
+ "label": "Type for qreal",
"output": [ "qreal" ]
},
"gui": {
- "description": "Qt Gui",
+ "label": "Qt Gui",
"output": [
"privateFeature",
{ "type": "publicQtConfig", "negative": true }
]
},
"widgets": {
- "description": "Qt Widgets",
+ "label": "Qt Widgets",
"autoDetect": "!config.tvos && !config.watchos",
"condition": "features.gui",
"output": [
@@ -2123,407 +980,62 @@
{ "type": "publicQtConfig", "negative": true }
]
},
- "system-proxies": {
- "description": "Use system proxies",
- "output": [ "privateFeature" ]
- },
- "egl": {
- "description": "EGL",
- "condition": "features.opengl && (features.angle || libs.egl)",
- "output": [ "privateFeature", "feature" ]
- },
- "egl_x11": {
- "description": "EGL on X11",
- "condition": "features.egl && tests.egl-x11",
- "output": [ "privateFeature" ]
- },
- "eglfs": {
- "description": "EGLFS",
- "autoDetect": "!config.android && !config.win32",
- "condition": "features.egl",
- "output": [ "privateFeature" ]
- },
- "eglfs_brcm": {
- "description": "EGLFS Rasberry Pi",
- "condition": "features.eglfs && tests.egl-brcm",
- "output": [ "privateFeature" ]
- },
- "eglfs_egldevice": {
- "description": "EGLFS EGLDevice",
- "condition": "features.eglfs && tests.egl-egldevice && features.kms",
- "output": [ "privateFeature" ]
- },
- "eglfs_gbm": {
- "description": "EGLFS GBM",
- "condition": "features.eglfs && features.gbm && features.kms",
- "output": [ "privateFeature" ]
- },
- "eglfs_mali": {
- "description": "EGLFS Mali",
- "condition": "features.eglfs && (tests.egl-mali || tests.egl-mali-2)",
- "output": [ "privateFeature" ]
- },
- "eglfs_viv": {
- "description": "EGLFS i.Mx6",
- "condition": "features.eglfs && tests.egl-viv",
- "output": [ "privateFeature" ]
- },
- "eglfs_viv_wl": {
- "description": "EGLFS i.Mx6 Wayland",
- "condition": "features.eglfs_viv && libs.wayland_server",
- "output": [ "privateFeature" ]
- },
"libudev": {
- "description": "udev",
+ "label": "udev",
"condition": "libs.libudev",
"output": [ "privateFeature" ]
},
- "libinput": {
- "description": "libinput",
- "condition": "features.libudev && libs.libinput",
- "output": [ "privateFeature" ]
- },
- "xkbcommon-evdev": {
- "description": "xkbcommon-evdev",
- "condition": "libs.xkbcommon",
- "output": [ "privateFeature" ]
- },
- "xkbcommon-system": {
- "description": "Using system-provided xkbcommon",
- "emitIf": "features.xcb",
- "enable": "input.xkbcommon == 'system'",
- "disable": "input.xkbcommon == 'qt' || input.xkbcommon == 'no'",
- "condition": "libs.xkbcommon_x11",
- "output": [ "privateFeature" ]
- },
- "xkb-config-root": {
- "description": "XKB config root",
- "emitIf": "features.xcb",
- "condition": "features.xcb && !features.xkbcommon-system && tests.xkbconfigroot",
- "output": [ { "type": "varAssign", "name": "QMAKE_XKB_CONFIG_ROOT", "value": "tests.xkbconfigroot.value"} ]
- },
- "xinput2": {
- "description": "Xinput2",
- "condition": "libs.xinput2",
- "output": [ "privateFeature" ]
- },
- "doubleconversion": {
- "description": "DoubleConversion",
- "output": [ "privateFeature", "feature" ]
- },
- "system-doubleconversion": {
- "description": " Using system DoubleConversion",
- "enable": "input.doubleconversion == 'system'",
- "disable": "input.doubleconversion == 'qt'",
- "condition": "features.doubleconversion && libs.doubleconversion",
- "output": [ "privateFeature" ]
- },
- "system-pcre": {
- "description": "Using system PCRE",
- "disable": "input.pcre == 'qt'",
- "enable": "input.pcre == 'system'",
- "condition": "libs.pcre",
- "output": [ { "type": "privateConfig", "negative": true, "name": "pcre" } ]
- },
"gstreamer-1_0": {
- "description": "GStreamer 1.0",
+ "label": "GStreamer 1.0",
"disable": "input.gstreamer == '0.10' || input.gstreamer == 'no'",
"enable": "input.gstreamer == '1.0'",
"condition": "libs.gstreamer_1_0",
"output": [ { "type": "publicQtConfig", "name": "gstreamer-1.0" } ]
},
"gstreamer-0_10": {
- "description": "GStreamer 0.10",
+ "label": "GStreamer 0.10",
"disable": "input.gstreamer == 'no'",
"enable": "input.gstreamer == '0.10'",
"condition": "!features.gstreamer-1_0 && libs.gstreamer_0_10",
"output": [ { "type": "publicQtConfig", "name": "gstreamer-0.10" } ]
},
- "xcb": {
- "description": "XCB",
- "autoDetect": "!config.darwin",
- "condition": "libs.xcb",
- "output": [ "privateFeature" ]
- },
- "system-xcb": {
- "description": "Using system provided XCB libraries",
- "enable": "input.xcb == 'system' || input.xcb == 'yes'",
- "disable": "input.xcb == 'qt' || input.xcb == 'no'",
- "autoDetect": "!config.darwin",
- "condition": "libs.xcb && libs.xcb_syslibs",
- "output": [ "privateFeature" ]
- },
- "xcb-render": {
- "description": "XCB render",
- "emitIf": "features.system-xcb",
- "condition": "libs.xcb_render",
- "output": [ "privateFeature" ]
- },
- "xcb-glx": {
- "description": "XCB GLX",
- "emitIf": "features.xcb",
- "condition": "libs.xcb_glx",
- "output": [ "privateFeature" ]
- },
- "xcb-xlib": {
- "description": "XCB Xlib",
- "emitIf": "features.xcb",
- "condition": "libs.xcb_xlib",
- "output": [ "privateFeature" ]
- },
- "xcb-sm": {
- "description": "xcb-sm",
- "emitIf": "features.xcb",
- "condition": "features.sessionmanager && libs.x11sm",
- "output": [ "privateFeature" ]
- },
- "xkb": {
- "description": "XCB XKB",
- "condition": "features.system-xcb && libs.xcb_xkb",
- "output": [ "privateFeature" ]
- },
- "xlib": {
- "description": "XLib",
- "condition": "tests.xlib",
- "output": [ "privateFeature" ]
- },
- "xrender": {
- "description": "Xrender",
- "condition": "libs.xrender",
- "output": [ "privateFeature", "feature" ]
- },
- "x11-prefix": {
- "description": "X11 prefix",
- "emitIf": "features.xcb",
- "output": [ { "type": "varAssign", "name": "QMAKE_X11_PREFIX", "value": "tests.x11prefix.value" } ]
- },
- "angle": {
- "description": "ANGLE",
- "autoDetect": "features.opengles2 || features.opengl-dynamic",
- "condition": "config.win32 && tests.directx",
- "output": [
- "publicFeature",
- { "type": "define", "name": "QT_OPENGL_ES_2_ANGLE" }
- ]
- },
- "opengles2": {
- "description": "OpenGL ES 2.0",
- "enable": "input.opengl == 'es2'",
- "disable": "input.opengl == 'desktop' || input.opengl == 'dynamic' || input.opengl == 'no'",
- "condition": "config.win32 || (!config.watchos && !features.opengl-desktop && libs.opengl_es2)",
- "output": [
- "publicFeature",
- "publicQtConfig",
- { "type": "define", "name": "QT_OPENGL_ES" },
- { "type": "define", "name": "QT_OPENGL_ES_2" }
- ]
- },
- "opengles3": {
- "description": "OpenGL ES 3.0",
- "condition": "features.opengles2 && !features.angle && tests.opengles3",
- "output": [
- "publicFeature",
- { "type": "define", "name": "QT_OPENGL_ES_3" }
- ]
- },
- "opengles31": {
- "description": "OpenGL ES 3.1",
- "condition": "features.opengles3 && tests.opengles31",
- "output": [
- "publicFeature",
- { "type": "define", "name": "QT_OPENGL_ES_3_1" }
- ]
- },
- "opengl-desktop": {
- "description": "Desktop OpenGL",
- "enable": "input.opengl == 'desktop'",
- "disable": "input.opengl == 'es2' || input.opengl == 'dynamic' || input.opengl == 'no'",
- "condition": "(config.win32 && !config.winrt && !features.opengles2 && (config.msvc || libs.opengl))
- || (!config.watchos && !config.win32 && libs.opengl)"
- },
- "opengl-dynamic": {
- "description": "Dynamic OpenGL",
- "enable": "input.opengl == 'dynamic'",
- "autoDetect": false,
- "condition": "config.win32 && !config.winrt",
- "output": [
- { "type": "publicFeature", "name": "dynamicgl" },
- { "type": "define", "name": "QT_OPENGL_DYNAMIC" }
- ]
- },
- "opengl": {
- "description": "OpenGL",
- "condition": "features.opengl-desktop || features.opengl-dynamic || features.opengles2",
- "output": [ "publicFeature", "feature" ]
- },
- "db2": {
- "description": "DB2 (IBM)",
- "condition": "libs.db2",
- "output": [ "sqldriver" ]
- },
- "ibase": {
- "description": "InterBase",
- "condition": "libs.ibase",
- "output": [ "sqldriver" ]
- },
- "mysql": {
- "description": "MySql",
- "condition": "libs.mysql",
- "output": [ "sqldriver" ]
- },
- "use_libmysqlclient_r": {
- "description": "MySql (threadsafe)",
- "condition": "features.mysql && (libs.mysql.source == 0 || libs.mysql.source == 2)",
- "output": [ "privateConfig" ]
- },
- "oci": {
- "description": "OCI (Oracle)",
- "condition": "libs.oci",
- "output": [ "sqldriver" ]
- },
- "odbc": {
- "description": "ODBC",
- "condition": "libs.odbc",
- "output": [ "sqldriver" ]
- },
- "psql": {
- "description": "PostgreSQL",
- "condition": "libs.psql",
- "output": [ "sqldriver" ]
- },
- "sqlite2": {
- "description": "SQLite2",
- "condition": "libs.sqlite2",
- "output": [ "sqldriver" ]
- },
- "sqlite": {
- "description": "SQLite",
- "output": [ "sqldriver" ]
- },
- "system-sqlite": {
- "description": " Using system provided SQLite",
- "autoDetect": false,
- "condition": "features.sqlite && libs.sqlite3",
- "output": [ "publicQtConfig" ]
- },
- "tds": {
- "description": "TDS (Sybase)",
- "condition": "libs.tds",
- "output": [ "sqldriver" ]
- },
- "style-fusion": {
- "description": "Fusion Style",
- "output": [ "styles" ]
- },
- "style-mac": {
- "description": "Mac Style",
- "condition": "config.osx",
- "output": [ "styles" ]
- },
- "style-windows": {
- "description": "Windows Style",
- "output": [ "styles" ]
- },
- "style-windowsxp": {
- "description": "Windows XP Style",
- "condition": "features.style-windows && config.win32 && !config.winrt && tests.uxtheme",
- "output": [ "styles" ]
- },
- "style-windowsvista": {
- "description": "Windows Vista Style",
- "condition": "features.style-windowsxp",
- "output": [ "styles" ]
- },
- "style-android": {
- "description": "Android Style",
- "autoDetect": "config.android",
- "output": [ "styles" ]
- },
- "android-style-assets": {
- "description": "Android Style Assets",
- "condition": "features.style-android",
- "output": [ "privateConfig" ]
- },
"audio-backend": {
- "description": "Audio backend",
+ "label": "Audio backend",
"output": [ "publicQtConfig" ]
},
- "directwrite": {
- "description": "DirectWrite",
- "emitIf": "config.win32",
- "condition": "libs.directwrite",
- "output": [ "privateFeature" ]
- },
- "directwrite2": {
- "description": "DirectWrite 2",
- "emitIf": "config.win32",
- "condition": "features.directwrite && tests.directwrite2",
- "output": [ "privateFeature" ]
- },
- "direct2d": {
- "description": "Direct 2D",
- "autoDetect": false,
- "condition": "tests.direct2d",
- "output": [ "privateFeature" ]
- },
- "sessionmanager": {
- "description": "Session Management",
- "output": [ "feature" ]
- },
"qml-debug": {
- "description": "QML debugging",
+ "label": "QML debugging",
"output": [ { "type": "publicQtConfig", "negative": true } ]
},
"compile_examples": {
- "description": "Compile examples",
+ "label": "Compile examples",
"output": [ "privateConfig" ]
},
"incredibuild_xge": {
- "description": "IncrediBuild",
+ "label": "IncrediBuild",
"emitIf": "var.QMAKE_HOST.os == 'Windows'",
"condition": "tests.incredibuild_xge",
"output": [ "publicConfig" ]
},
"msvc_mp": {
- "description": "Use multiple processors when compiling with MSVC",
+ "label": "Use multiple processors when compiling with MSVC",
"emitIf": "config.msvc",
"autoDetect": "false",
"output": [ "privateConfig" ]
},
"static_runtime": {
- "description": "Statically link the C/C++ runtime library",
+ "label": "Statically link the C/C++ runtime library",
"emitIf": "config.win32",
"autoDetect": false,
"condition": "!features.shared",
"output": [ "publicConfig", "publicQtConfig" ]
},
"wmf-backend": {
- "description": "Windows Media Foundation backend for Qt Multimedia",
+ "label": "Windows Media Foundation backend for Qt Multimedia",
"emitIf": "config.win32",
"autoDetect": false,
"condition": "tests.wmf",
"output": [ "publicQtConfig" ]
- },
- "qpa_default_platform": {
- "description": "QPA default platform",
- "condition": "features.gui",
- "output": [
- { "type": "define", "name": "QT_QPA_DEFAULT_PLATFORM_NAME", "value": "tests.qpa_default_platform.name" },
- { "type": "varAssign", "public": true, "name": "QT_DEFAULT_QPA_PLUGIN", "value": "tests.qpa_default_platform.plugin",
- "condition": "!features.shared" }
- ]
- },
- "mimetype": {
- "description": "Mimetype handling",
- "output": [ "publicFeature", "feature" ]
- },
- "qeventtransition": {
- "description": "QEventTransition class",
- "output": [ "publicFeature" ]
- },
- "extra_features": {
- "comment": "### remove, once qfeatures.txt is ported to the new system",
- "output": [ "extraFeatures" ]
}
},
@@ -2542,11 +1054,6 @@ Qt can be built in release mode with separate debug information, so
},
{
"type": "error",
- "condition": "input.xcb != '' && input.xcb != 'no' && input.xkbcommon == 'no'",
- "message": "XCB plugin requires libxkbcommon. See -qt-xkbcommon-x11 and -system-xkbcommon-x11."
- },
- {
- "type": "error",
"condition": "(features.rpath || features.rpath_dir) && !features.shared",
"message": "Static builds don't support RPATH"
},
@@ -2567,33 +1074,10 @@ or compile needed modules into the library."
},
{
"type": "note",
- "condition": "features.journald || features.syslog || (config.qnx && features.slog2)",
- "message": "journald, syslog or slog2 integration is enabled.
-If your users intend to develop applications against this build,
-ensure that the IDEs they use either set QT_LOGGING_TO_CONSOLE to 1
-or are able to read the logged output from journald, syslog or slog2."
- },
- {
- "type": "note",
"condition": "features.release_tools && (!features.debug || features.debug_and_release)",
"message": "-optimized-tools is not useful in -release mode."
},
{
- "type": "warning",
- "condition": "config.win32 && !config.msvc && features.oci",
- "message": "Qt does not support compiling the Oracle database driver with
-MinGW, due to lack of such support from Oracle. Consider disabling the
-Oracle driver, as the current build will most likely fail."
- },
- {
- "type": "warning",
- "condition": "features.gui && config.linux && !features.xcb && !features.eglfs && !features.directfb && !features.linuxfb && !features.mirclient",
- "message": "No QPA platform plugin enabled! This will
-produce a Qt that cannot run GUI applications.
-The dependencies needed for xcb to build are listed in
-src/plugins/platforms/xcb/README"
- },
- {
"type": "note",
"condition": "input.qreal == 'double' && arch.arm",
"message": "Qt is using double for qreal on this system. This is binary-incompatible against Qt 5.1.
@@ -2601,67 +1085,10 @@ Configure with '-qreal float' to create a build that is binary-compatible with 5
},
{
"type": "warning",
- "condition": "features.xcb && !features.xkbcommon-system && !features.xkb-config-root",
- "message": "Could not find XKB config root, use -xkb-config-root to set a path to
-XKB configuration data. This is required for keyboard input support."
- },
- {
- "type": "note",
- "condition": "features.openssl-linked && libs.openssl.source != 0
- && input.openssl.prefix == '' && input.openssl.libs == '' && input.openssl.libs.debug == ''",
- "message": "When linking against OpenSSL, you can override the default
-library names through OPENSSL_LIBS.
-For example:
- OPENSSL_LIBS='-L/opt/ssl/lib -lssl -lcrypto' ./configure -openssl-linked"
- },
- {
- "type": "warning",
- "condition": "input.qpa-platform-guard != ''",
- "message": "The [-no]-qpa-platform-guard argument is deprecated and has no effect."
- },
- {
- "type": "warning",
"condition": "!features.accessibility",
"message": "Accessibility disabled. This configuration of Qt is unsupported."
},
{
- "type": "warning",
- "condition": "config.win32 && (features.opengles2 || features.opengl-dynamic) && !features.angle",
- "message": "Using OpenGL ES 2.0 on Windows without ANGLE.
-The build will most likely fail.
-Specify -opengl desktop to use regular OpenGL."
- },
- {
- "type": "note",
- "condition": "features.accessibility && features.xcb && !features.accessibility-atspi-bridge",
- "message": "Disabling Linux Accessibility Bridge: D-Bus is missing."
- },
- {
- "type": "warning",
- "condition": "config.darwin && features.system-harfbuzz",
- "message": "On OS X, AAT is supported only with -qt-harfbuzz."
- },
- {
- "type": "error",
- "condition": "features.gui && !config.watchos && input.opengl != 'no' && !features.opengl-desktop && !features.opengles2 && !features.opengl-dynamic",
- "message": "The OpenGL functionality tests failed!
-You might need to modify the include and library search paths by editing QMAKE_INCDIR_OPENGL[_ES2],
-QMAKE_LIBDIR_OPENGL[_ES2] and QMAKE_LIBS_OPENGL[_ES2] in the mkspec for your platform."
- },
- {
- "type": "error",
- "condition": "input.doubleconversion == 'no' && !tests.xlocalescanprint",
- "message": "Your C library does not provide sscanf_l or snprintf_l.
-You need to use libdouble-conversion for double/string conversion."
- },
- {
- "type": "error",
- "condition": "!tests.atomicfptr",
- "message": "detected a std::atomic implementation that fails for function pointers.
-Please apply the patch corresponding to your Standard Library vendor, found in
- qtbase/config.tests/common/atomicfptr"
- },
- {
"type": "error",
"condition": "!features.stl",
"message": "Qt requires a compliant STL library."
@@ -2755,127 +1182,12 @@ Please apply the patch corresponding to your Standard Library vendor, found in
"entries": [
"accessibility",
"alsa",
- "cups",
- {
- "type": "feature",
- "args": "directwrite",
- "condition": "config.win32"
- },
- "doubleconversion",
- "system-doubleconversion",
- "evdev",
- "fontconfig",
- "freetype",
- "system-freetype",
- "glib",
"gstreamer-0_10",
"gstreamer-1_0",
- "gtk3",
- "harfbuzz",
- "system-harfbuzz",
- "icu",
- "iconv",
- {
- "section": "Image formats",
- "entries": [
- "gif", "ico", "jpeg", "system-jpeg", "png", "system-png"
- ]
- },
- {
- "section": "Logging backends",
- "entries": [
- "journald", "syslog"
- ]
- },
- "libinput",
- "mtdev",
- {
- "section": "Networking",
- "entries": [
- {
- "type": "feature",
- "args": "corewlan",
- "condition": "config.darwin"
- },
- "getaddrinfo", "getifaddrs", "ipv6ifname", "libproxy",
- {
- "type": "feature",
- "args": "securetransport",
- "condition": "config.darwin"
- },
- "openssl",
- "openssl-linked",
- "sctp",
- "system-proxies"
- ]
- },
- {
- "section": "OpenGL",
- "entries": [
- {
- "type": "feature",
- "args": "angle",
- "condition": "config.win32"
- },
- "egl",
- "opengl-desktop",
- {
- "type": "feature",
- "args": "opengl-dynamic",
- "condition": "config.win32"
- },
- "opengles2",
- "opengles3",
- "opengles31"
- ]
- },
"pkg-config",
- "system-pcre",
"pulseaudio",
"qml-debug",
- {
- "section": "QNX specific",
- "condition": "config.qnx",
- "entries": [
- "slog2", "qqnx_imf", "qqnx_pps", "lgmon"
- ]
- },
- {
- "section": "QPA backends",
- "entries": [
- "directfb", "eglfs",
- {
- "section": "EGLFS details",
- "condition": "features.eglfs",
- "entries": [
- "eglfs_viv", "eglfs_viv_wl", "eglfs_egldevice", "eglfs_gbm", "eglfs_mali", "eglfs_brcm", "egl_x11"
- ]
- },
- "linuxfb", "mirclient",
- {
- "message": "INTEGRITY framebuffer",
- "condition": "config.integrity",
- "args": "integrityfb"
- }
- ]
- },
- "sessionmanager",
- {
- "section": "SQL drivers",
- "entries": [
- "db2", "ibase", "mysql", "oci", "odbc", "psql", "sqlite2", "sqlite", "system-sqlite", "tds"
- ]
- },
- "tslib",
"libudev",
- {
- "section": "X11",
- "condition": "features.xcb",
- "entries": [
- "system-xcb", "egl_x11", "xinput2", "xkb", "xlib", "xrender", "xcb-render", "xcb-glx", "xcb-xlib", "xkbcommon-system"
- ]
- },
- "xkbcommon-evdev",
"system-zlib"
]
}
diff --git a/configure.pri b/configure.pri
index 8c87aaed81..7ec845375e 100644
--- a/configure.pri
+++ b/configure.pri
@@ -66,7 +66,7 @@ defineReplace(qtConfFunc_crossCompile) {
defineTest(qtConfTest_architecture) {
!qtConfTest_compile($${1}): \
- error("Could not determine $$eval($${1}.description). See config.log for details.")
+ error("Could not determine $$eval($${1}.label). See config.log for details.")
test = $$eval($${1}.test)
test_out_dir = $$shadowed($$QMAKE_CONFIG_TESTS_DIR/$$test)
@@ -77,13 +77,13 @@ defineTest(qtConfTest_architecture) {
else: android:exists($$test_out_dir/libarch.so): \
content = $$cat($$test_out_dir/libarch.so, blob)
else: \
- error("$$eval($${1}.description) detection binary not found.")
+ error("$$eval($${1}.label) detection binary not found.")
arch_magic = ".*==Qt=magic=Qt== Architecture:([^\\0]*).*"
subarch_magic = ".*==Qt=magic=Qt== Sub-architecture:([^\\0]*).*"
!contains(content, $$arch_magic)|!contains(content, $$subarch_magic): \
- error("$$eval($${1}.description) detection binary does not contain expected data.")
+ error("$$eval($${1}.label) detection binary does not contain expected data.")
$${1}.arch = $$replace(content, $$arch_magic, "\\1")
$${1}.subarch = $$replace(content, $$subarch_magic, "\\1")
@@ -195,34 +195,10 @@ defineTest(qtConfTest_detectPkgConfig) {
}
defineTest(qtConfTest_neon) {
- contains(config.tests.architecture.subarch, "neon"): return(true)
+ contains($${currentConfig}.tests.architecture.subarch, "neon"): return(true)
return(false)
}
-defineTest(qtConfTest_skipModules) {
- $${1}.cache = -
- export($${1}.cache)
-
- skip =
- uikit {
- skip += qtdoc qtmacextras qtserialport qtwebkit qtwebkit-examples
- !ios: skip += qtscript
- }
-
- for (m, config.input.skip) {
- # normalize the command line input
- m ~= s/^(qt)?/qt/
- !exists($$_PRO_FILE_PWD_/../$$m) {
- qtConfAddError("-skip command line argument called with non-existent module '$$m'.")
- return(false)
- }
- skip += $$m
- }
- $${1}.value = $$unique(skip)
- export($${1}.value)
- return(true)
-}
-
defineTest(qtConfTest_buildParts) {
parts = $$config.input.make
isEmpty(parts) {
@@ -246,16 +222,6 @@ defineTest(qtConfTest_buildParts) {
return(true)
}
-defineTest(qtConfLibrary_openssl) {
- libs = $$getenv("OPENSSL_LIBS")
- !isEmpty(libs) {
- $${1}.libs = $$libs
- export($${1}.libs)
- return(true)
- }
- return(false)
-}
-
defineTest(qtConfTest_checkCompiler) {
contains(QMAKE_CXX, ".*clang.*") {
qtRunLoggedCommand("$$QMAKE_CXX -v 2>&1", versionstr)|return(false)
@@ -281,8 +247,11 @@ defineTest(qtConfTest_checkCompiler) {
$${1}.compilerId = "icc"
$${1}.compilerVersion = $$replace(version, "icpc version ([0-9.]+).*", "\\1")
} else: msvc {
+ qtRunLoggedCommand("$$QMAKE_CXX /? 2>&1", version)|return(false)
+ version = "$$version"
$${1}.compilerDescription = "MSVC"
$${1}.compilerId = "cl"
+ $${1}.compilerVersion = $$replace(version, "^.*Compiler Version ([0-9.]+) for.*$", "\\1")
} else {
return(false)
}
@@ -295,162 +264,6 @@ defineTest(qtConfTest_checkCompiler) {
return(true)
}
-defineReplace(filterLibraryPath) {
- str = $${1}
- for (l, QMAKE_DEFAULT_LIBDIRS): \
- str -= "-L$$l"
-
- return($$str)
-}
-
-defineTest(qtConfLibrary_psqlConfig) {
- pg_config = $$config.input.psql_config
- isEmpty(pg_config): \
- pg_config = $$qtConfFindInPath("pg_config")
- !win32:!isEmpty(pg_config) {
- qtRunLoggedCommand("$$pg_config --libdir", libdir)|return(false)
- qtRunLoggedCommand("$$pg_config --includedir", includedir)|return(false)
- libdir -= $$QMAKE_DEFAULT_LIBDIRS
- libs =
- !isEmpty(libdir): libs += "-L$$libdir"
- libs += "-lpq"
- $${1}.libs = "$$val_escape(libs)"
- includedir -= $$QMAKE_DEFAULT_INCDIRS
- $${1}.includedir = "$$val_escape(includedir)"
- !isEmpty(includedir): \
- $${1}.cflags = "-I$$val_escape(includedir)"
- export($${1}.libs)
- export($${1}.includedir)
- export($${1}.cflags)
- return(true)
- }
- return(false)
-}
-
-defineTest(qtConfLibrary_psqlEnv) {
- # Respect PSQL_LIBS if set
- PSQL_LIBS = $$getenv(PSQL_LIBS)
- !isEmpty(PSQL_LIBS) {
- $${1}.libs = $$PSQL_LIBS
- export($${1}.libs)
- }
- return(true)
-}
-
-defineTest(qtConfLibrary_mysqlConfig) {
- mysql_config = $$config.input.mysql_config
- isEmpty(mysql_config): \
- mysql_config = $$qtConfFindInPath("mysql_config")
- !isEmpty(mysql_config) {
- qtRunLoggedCommand("$$mysql_config --version", version)|return(false)
- version = $$split(version, '.')
- version = $$first(version)
- isEmpty(version)|lessThan(version, 4): return(false)]
-
- # query is either --libs or --libs_r
- query = $$eval($${1}.query)
- qtRunLoggedCommand("$$mysql_config $$query", libs)|return(false)
- qtRunLoggedCommand("$$mysql_config --include", includedir)|return(false)
- eval(libs = $$libs)
- libs = $$filterLibraryPath($$libs)
- # -rdynamic should not be returned by mysql_config, but is on RHEL 6.6
- libs -= -rdynamic
- $${1}.libs = "$$val_escape(libs)"
- eval(includedir = $$includedir)
- includedir ~= s/^-I//g
- includedir -= $$QMAKE_DEFAULT_INCDIRS
- $${1}.includedir = "$$val_escape(includedir)"
- !isEmpty(includedir): \
- $${1}.cflags = "-I$$val_escape(includedir)"
- export($${1}.libs)
- export($${1}.includedir)
- export($${1}.cflags)
- return(true)
- }
- return(false)
-}
-
-defineTest(qtConfLibrary_sybaseEnv) {
- libs =
- sybase = $$getenv(SYBASE)
- !isEmpty(sybase): \
- libs += "-L$${sybase}/lib"
- libs += $$getenv(SYBASE_LIBS)
- !isEmpty(libs) {
- $${1}.libs = "$$val_escape(libs)"
- export($${1}.libs)
- }
- return(true)
-}
-
-# Check for Direct X SDK (include, lib, and direct shader compiler 'fxc').
-# Up to Direct X SDK June 2010 and for MinGW, this is pointed to by the
-# DXSDK_DIR variable. Starting with Windows Kit 8, it is included in
-# the Windows SDK. Checking for the header is not sufficient, since it
-# is also present in MinGW.
-defineTest(qtConfTest_directX) {
- dxdir = $$getenv("DXSDK_DIR")
- !isEmpty(dxdir) {
- EXTRA_INCLUDEPATH += $$dxdir/include
- arch = $$qtConfEvaluate("tests.architecture.arch")
- equals(arch, x86_64): \
- EXTRA_LIBDIR += $$dxdir/lib/x64
- else: \
- EXTRA_LIBDIR += $$dxdir/lib/x86
- EXTRA_PATH += $$dxdir/Utilities/bin/x86
- }
-
- $$qtConfEvaluate("features.sse2") {
- ky = $$size($${1}.files._KEYS_)
- $${1}.files._KEYS_ += $$ky
- # Not present on MinGW-32
- $${1}.files.$${ky} = "intrin.h"
- }
-
- qtConfTest_files($${1}): return(true)
- return(false)
-}
-
-defineTest(qtConfTest_xkbConfigRoot) {
- qtConfTest_getPkgConfigVariable($${1}): return(true)
-
- for (dir, $$list("/usr/share/X11/xkb", "/usr/local/share/X11/xkb")) {
- exists($$dir) {
- $${1}.value = $$dir
- export($${1}.value)
- $${1}.cache += value
- export($${1}.cache)
- return(true)
- }
- }
- return(false)
-}
-
-defineTest(qtConfTest_qpaDefaultPlatform) {
- name =
- !isEmpty(config.input.qpa_default_platform): name = $$config.input.qpa_default_platform
- else: !isEmpty(QT_QPA_DEFAULT_PLATFORM): name = $$QT_QPA_DEFAULT_PLATFORM
- else: winrt: name = winrt
- else: win32: name = windows
- else: android: name = android
- else: osx: name = cocoa
- else: ios: name = ios
- else: qnx: name = qnx
- else: integrity: name = integrityfb
- else: name = xcb
-
- $${1}.value = $$name
- $${1}.plugin = q$$name
- $${1}.name = "\"$$name\""
- export($${1}.value)
- export($${1}.plugin)
- export($${1}.name)
- $${1}.cache += value plugin name
- export($${1}.cache)
- return(true)
-}
-
-
# custom outputs
defineTest(qtConfOutput_shared) {
@@ -488,27 +301,16 @@ defineTest(qtConfOutput_architecture) {
"QT_ARCH = $$arch"
}
- config.output.publicPro += $$publicPro
- export(config.output.publicPro)
- config.output.privatePro += $$privatePro
- export(config.output.privatePro)
+ $${currentConfig}.output.publicPro += $$publicPro
+ export($${currentConfig}.output.publicPro)
+ $${currentConfig}.output.privatePro += $$privatePro
+ export($${currentConfig}.output.privatePro)
# setup QT_ARCH variable used by qtConfEvaluate
QT_ARCH = $$arch
export(QT_ARCH)
}
-defineTest(qtConfOutput_styles) {
- !$${2}: return()
-
- style = $$replace($${1}.feature, "style-", "")
- qtConfOutputVar(append, "privatePro", "styles", $$style)
-}
-
-defineTest(qtConfOutput_sqldriver) {
- $${2}: qtConfOutputVar(append, "privatePro", "sql-drivers", $$eval($${1}.feature))
-}
-
defineTest(qtConfOutput_qreal) {
qreal = $$config.input.qreal
isEmpty(qreal): qreal = "double"
@@ -523,15 +325,15 @@ defineTest(qtConfOutput_qreal) {
defineTest(qtConfOutput_pkgConfig) {
!$${2}: return()
- PKG_CONFIG = $$eval(config.tests.pkg-config.pkgConfig)
+ PKG_CONFIG = $$eval($${currentConfig}.tests.pkg-config.pkgConfig)
export(PKG_CONFIG)
# this method also exports PKG_CONFIG_(LIB|SYSROOT)DIR, so that tests using pkgConfig will work correctly
- PKG_CONFIG_SYSROOT_DIR = $$eval(config.tests.pkg-config.pkgConfigSysrootDir)
+ PKG_CONFIG_SYSROOT_DIR = $$eval($${currentConfig}.tests.pkg-config.pkgConfigSysrootDir)
!isEmpty(PKG_CONFIG_SYSROOT_DIR) {
qtConfOutputVar(assign, "publicPro", "PKG_CONFIG_SYSROOT_DIR", $$PKG_CONFIG_SYSROOT_DIR)
export(PKG_CONFIG_SYSROOT_DIR)
}
- PKG_CONFIG_LIBDIR = $$eval(config.tests.pkg-config.pkgConfigLibdir)
+ PKG_CONFIG_LIBDIR = $$eval($${currentConfig}.tests.pkg-config.pkgConfigLibdir)
!isEmpty(PKG_CONFIG_LIBDIR) {
qtConfOutputVar(assign, "publicPro", "PKG_CONFIG_LIBDIR", $$PKG_CONFIG_LIBDIR)
export(PKG_CONFIG_LIBDIR)
@@ -561,59 +363,22 @@ defineTest(qtConfOutput_debugAndRelease) {
defineTest(qtConfOutput_compilerVersion) {
!$${2}: return()
- name = $$upper($$config.tests.compiler.compilerId)
- version = $$config.tests.compiler.compilerVersion
+ name = $$upper($$eval($${currentConfig}.tests.compiler.compilerId))
+ version = $$eval($${currentConfig}.tests.compiler.compilerVersion)
major = $$section(version, '.', 0, 0)
minor = $$section(version, '.', 1, 1)
patch = $$section(version, '.', 2, 2)
isEmpty(minor): minor = 0
isEmpty(patch): patch = 0
- config.output.publicPro += \
+ $${currentConfig}.output.publicPro += \
"QT_$${name}_MAJOR_VERSION = $$major" \
"QT_$${name}_MINOR_VERSION = $$minor" \
"QT_$${name}_PATCH_VERSION = $$patch"
- export(config.output.publicPro)
+ export($${currentConfig}.output.publicPro)
}
-# should go away when qfeatures.txt is ported
-defineTest(qtConfOutput_extraFeatures) {
- isEmpty(config.input.extra_features): return()
-
- # write to qconfig.pri
- config.output.publicPro += "$${LITERAL_HASH}ifndef QT_BOOTSTRAPPED"
- for (f, config.input.extra_features) {
- feature = $$replace(f, "^no-", "")
- FEATURE = $$upper($$replace(feature, -, _))
- contains(f, "^no-.*") {
- config.output.publicPro += \
- "$${LITERAL_HASH}ifndef QT_NO_$$FEATURE" \
- "$${LITERAL_HASH}define QT_NO_$$FEATURE" \
- "$${LITERAL_HASH}endif"
- } else {
- config.output.publicPro += \
- "$${LITERAL_HASH}if defined(QT_$$FEATURE) && defined(QT_NO_$$FEATURE)" \
- "$${LITERAL_HASH}undef QT_$$FEATURE" \
- "$${LITERAL_HASH}elif !defined(QT_$$FEATURE) && !defined(QT_NO_$$FEATURE)" \
- "$${LITERAL_HASH}define QT_$$FEATURE" \
- "$${LITERAL_HASH}endif"
- }
- }
- config.output.publicPro += "$${LITERAL_HASH}endif"
- export(config.output.publicPro)
-
- # write to qmodule.pri
- disabled_features =
- for (f, config.input.extra_features) {
- feature = $$replace(f, "^no-", "")
- FEATURE = $$upper($$replace(feature, -, _))
- contains(f, "^no-.*"): disabled_features += $$FEATURE
- }
- !isEmpty(disabled_features): qtConfOutputVar(assign, "privatePro", QT_NO_DEFINES, $$disabled_features)
-}
-
-
defineTest(qtConfOutput_compilerFlags) {
# this output also exports the variables locally, so that subsequent compiler tests can use them
@@ -650,8 +415,8 @@ defineTest(qtConfOutput_compilerFlags) {
output += "EXTRA_FRAMEWORKPATH += $$val_escape(config.input.fpaths)"
}
- config.output.privatePro += $$output
- export(config.output.privatePro)
+ $${currentConfig}.output.privatePro += $$output
+ export($${currentConfig}.output.privatePro)
}
defineTest(qtConfOutput_gccSysroot) {
@@ -671,21 +436,21 @@ defineTest(qtConfOutput_gccSysroot) {
" QMAKE_CXXFLAGS += --sysroot=\$\$[QT_SYSROOT]" \
" QMAKE_LFLAGS += --sysroot=\$\$[QT_SYSROOT]" \
"}"
- config.output.publicPro += $$output
- export(config.output.publicPro)
+ $${currentConfig}.output.publicPro += $$output
+ export($${currentConfig}.output.publicPro)
}
defineTest(qtConfOutput_qmakeArgs) {
!$${2}: return()
- config.output.privatePro = "!host_build {"
+ $${currentConfig}.output.privatePro = "!host_build {"
for (a, config.input.qmakeArgs) {
- config.output.privatePro += " $$a"
+ $${currentConfig}.output.privatePro += " $$a"
EXTRA_QMAKE_ARGS += $$system_quote($$a)
}
- config.output.privatePro += "}"
+ $${currentConfig}.output.privatePro += "}"
export(EXTRA_QMAKE_ARGS)
- export(config.output.privatePro)
+ export($${currentConfig}.output.privatePro)
}
defineTest(qtConfOutputPostProcess_publicPro) {
@@ -707,8 +472,8 @@ defineTest(qtConfOutputPostProcess_publicPro) {
"QT_RELEASE_DATE = $$config.input.qt_release_date"
}
- config.output.publicPro += $$output
- export(config.output.publicPro)
+ $${currentConfig}.output.publicPro += $$output
+ export($${currentConfig}.output.publicPro)
}
defineTest(qtConfOutputPostProcess_publicHeader) {
@@ -730,8 +495,8 @@ defineTest(qtConfOutputPostProcess_publicHeader) {
!isEmpty(config.input.qt_libinfix): \
output += "$${LITERAL_HASH}define QT_LIBINFIX \"$$eval(config.input.qt_libinfix)\""
- config.output.publicHeader += $$output
- export(config.output.publicHeader)
+ $${currentConfig}.output.publicHeader += $$output
+ export($${currentConfig}.output.publicHeader)
}
@@ -749,7 +514,7 @@ defineTest(qtConfReport_buildTypeAndConfig) {
qtConfAddReport("Building for: $$qtConfEvaluate('tests.architecture.arch')")
}
qtConfAddReport()
- qtConfAddReport("Configuration: $$config.output.privatePro.append.CONFIG $$config.output.publicPro.append.QT_CONFIG")
+ qtConfAddReport("Configuration: $$eval($${currentConfig}.output.privatePro.append.CONFIG) $$eval($${currentConfig}.output.publicPro.append.QT_CONFIG)")
qtConfAddReport()
}
@@ -776,10 +541,10 @@ defineTest(qtConfReport_buildMode) {
# ensure pristine environment for configuration
discard_from($$[QT_HOST_DATA/get]/mkspecs/qconfig.pri)
discard_from($$[QT_HOST_DATA/get]/mkspecs/qmodule.pri)
+# ... and cause them to be reloaded afterwards
+QMAKE_POST_CONFIGURE += \
+ "include(\$\$[QT_HOST_DATA/get]/mkspecs/qconfig.pri)" \
+ "include(\$\$[QT_HOST_DATA/get]/mkspecs/qmodule.pri)"
-# load and process input from configure
-exists("$$OUT_PWD/config.tests/configure.cfg") {
- include("$$OUT_PWD/config.tests/configure.cfg")
-}
-
-load(qt_configure)
+# load and process input from configure.sh/.exe
+include($$shadowed($$PWD)/config.tests/configure.cfg)
diff --git a/examples/gui/gui.pro b/examples/gui/gui.pro
index e4fec201d7..a4d960d3f5 100644
--- a/examples/gui/gui.pro
+++ b/examples/gui/gui.pro
@@ -1,10 +1,10 @@
requires(qtHaveModule(gui))
TEMPLATE = subdirs
+QT_FOR_CONFIG += gui
CONFIG += no_docs_target
SUBDIRS += analogclock
SUBDIRS += rasterwindow
-qtConfig(opengl(es2)?) {
+qtConfig(opengl): \
SUBDIRS += openglwindow
-}
diff --git a/examples/network/network.pro b/examples/network/network.pro
index a6a6f3ef52..5ad5f1939f 100644
--- a/examples/network/network.pro
+++ b/examples/network/network.pro
@@ -1,6 +1,7 @@
requires(qtHaveModule(network))
TEMPLATE = subdirs
+QT_FOR_CONFIG += network-private
SUBDIRS = \
download \
downloadmanager
@@ -18,8 +19,7 @@ qtHaveModule(widgets) {
multicastreceiver \
multicastsender
- load(qfeatures)
- !contains(QT_DISABLED_FEATURES, bearermanagement) {
+ qtConfig(bearermanagement) {
# no QProcess
!vxworks:!qnx:!winrt:!integrity:!uikit: SUBDIRS += network-chat
diff --git a/examples/widgets/tools/tools.pro b/examples/widgets/tools/tools.pro
index f3cbd73d98..dd8401567b 100644
--- a/examples/widgets/tools/tools.pro
+++ b/examples/widgets/tools/tools.pro
@@ -16,8 +16,7 @@ SUBDIRS = \
contains(DEFINES, QT_NO_TRANSLATION): SUBDIRS -= i18n
-load(qfeatures)
-contains(QT_DISABLED_FEATURES, library) {
+!qtConfig(library) {
SUBDIRS -= \
echoplugin \
plugandpaint
diff --git a/mkspecs/common/linux-android.conf b/mkspecs/common/linux-android.conf
index fec008cb45..b8e052d1ec 100644
--- a/mkspecs/common/linux-android.conf
+++ b/mkspecs/common/linux-android.conf
@@ -6,7 +6,6 @@ QMAKE_PLATFORM += android
include(linux.conf)
include(gcc-base-unix.conf)
-DEFINES += QT_NO_PRINTER QT_NO_PRINTDIALOG
QT_QPA_DEFAULT_PLATFORM = minimal
NDK_ROOT = $$(ANDROID_NDK_ROOT)
diff --git a/mkspecs/common/uikit.conf b/mkspecs/common/uikit.conf
index daedaa46cd..de0fb33351 100644
--- a/mkspecs/common/uikit.conf
+++ b/mkspecs/common/uikit.conf
@@ -6,6 +6,6 @@ QMAKE_PLATFORM += uikit
CONFIG += bitcode reduce_exports shallow_bundle no_qt_rpath
INCLUDEPATH += $$PWD/uikit
-DEFINES += DARWIN_NO_CARBON QT_NO_PRINTER QT_NO_PRINTDIALOG
+DEFINES += DARWIN_NO_CARBON
include(mac.conf)
diff --git a/mkspecs/common/winrt_winphone/qmake.conf b/mkspecs/common/winrt_winphone/qmake.conf
index b5e0c7cc71..05c9bd39a5 100644
--- a/mkspecs/common/winrt_winphone/qmake.conf
+++ b/mkspecs/common/winrt_winphone/qmake.conf
@@ -10,8 +10,7 @@ MAKEFILE_GENERATOR = MSBUILD
QMAKE_COMPILER = msvc
QMAKE_PLATFORM = winrt win32
CONFIG = package_manifest $$CONFIG incremental flat precompile_header autogen_precompile_source debug_and_release debug_and_release_target rtti
-DEFINES += UNICODE WIN32 QT_LARGEFILE_SUPPORT Q_BYTE_ORDER=Q_LITTLE_ENDIAN \
- QT_NO_PRINTER QT_NO_PRINTDIALOG # TODO: Remove when printing is re-enabled
+DEFINES += UNICODE WIN32 QT_LARGEFILE_SUPPORT Q_BYTE_ORDER=Q_LITTLE_ENDIAN
DEPLOYMENT_PLUGIN += qwinrt
diff --git a/mkspecs/devices/linux-colibri-vf-g++/qmake.conf b/mkspecs/devices/linux-colibri-vf-g++/qmake.conf
new file mode 100644
index 0000000000..bc42f67f8a
--- /dev/null
+++ b/mkspecs/devices/linux-colibri-vf-g++/qmake.conf
@@ -0,0 +1,17 @@
+#
+# qmake configuration for the NXP Colibri VFxx boards
+#
+
+include(../common/linux_device_pre.conf)
+
+VFXX_CFLAGS = -march=armv7-a -mtune=cortex-a5 -mfpu=neon
+QMAKE_CFLAGS += $$VFXX_CFLAGS
+QMAKE_CXXFLAGS += $$VFXX_CFLAGS
+
+QT_QPA_DEFAULT_PLATFORM = linuxfb
+
+DISTRO_OPTS += hard-float
+
+include(../common/linux_arm_device_post.conf)
+
+load(qt_config)
diff --git a/mkspecs/devices/linux-colibri-vf-g++/qplatformdefs.h b/mkspecs/devices/linux-colibri-vf-g++/qplatformdefs.h
new file mode 100644
index 0000000000..6a35ed45d5
--- /dev/null
+++ b/mkspecs/devices/linux-colibri-vf-g++/qplatformdefs.h
@@ -0,0 +1,40 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "../../linux-g++/qplatformdefs.h"
diff --git a/mkspecs/features/configure.prf b/mkspecs/features/configure.prf
index bd53e31a04..f275e3ac06 100644
--- a/mkspecs/features/configure.prf
+++ b/mkspecs/features/configure.prf
@@ -1,5 +1,7 @@
load(configure_base)
+isEmpty(QMAKE_CONFIG_TESTS_DIR): QMAKE_CONFIG_TESTS_DIR = $$_PRO_FILE_PWD_/config.tests
+
# Try to build the test project in $$QMAKE_CONFIG_TESTS_DIR/$$1
# ($$_PRO_FILE_PWD_/config.tests/$$1 by default).
#
diff --git a/mkspecs/features/configure_base.prf b/mkspecs/features/configure_base.prf
index 08edba4b1c..dc630a3528 100644
--- a/mkspecs/features/configure_base.prf
+++ b/mkspecs/features/configure_base.prf
@@ -43,8 +43,6 @@ defineTest(qtRunLoggedCommand) {
return(true)
}
-isEmpty(QMAKE_CONFIG_TESTS_DIR): QMAKE_CONFIG_TESTS_DIR = $$_PRO_FILE_PWD_/config.tests
-
# Ensure that a cache is present. If none was found on startup, this will create
# one in the build directory of the project which loads this feature.
cache()
diff --git a/mkspecs/features/ctest_testcase_common.prf b/mkspecs/features/ctest_testcase_common.prf
index 40e41900e8..af80fc00a1 100644
--- a/mkspecs/features/ctest_testcase_common.prf
+++ b/mkspecs/features/ctest_testcase_common.prf
@@ -69,6 +69,7 @@ for (dep, dependentmodules): \
mod_deps += $$cmakeModuleName($$dep)
dependentmodules = $$join(mod_deps, ";")
+QT_FOR_CONFIG += gui-private
qtConfig(angle): CMAKE_GL_DEFINES = -DQT_WITH_ANGLE=True
!qtConfig(egl): CMAKE_GL_DEFINES += -DNO_EGL=True
diff --git a/mkspecs/features/mac/sdk.prf b/mkspecs/features/mac/sdk.prf
index 5abc741b90..0d43fbe5a1 100644
--- a/mkspecs/features/mac/sdk.prf
+++ b/mkspecs/features/mac/sdk.prf
@@ -24,12 +24,6 @@ QMAKE_MAC_SDK_PATH = $$xcodeSDKInfo(Path)
QMAKE_MAC_SDK_PLATFORM_PATH = $$xcodeSDKInfo(PlatformPath)
QMAKE_MAC_SDK_VERSION = $$xcodeSDKInfo(SDKVersion)
-!equals(MAKEFILE_GENERATOR, XCODE) {
- QMAKE_CFLAGS += -isysroot $$QMAKE_MAC_SDK_PATH
- QMAKE_CXXFLAGS += -isysroot $$QMAKE_MAC_SDK_PATH
- QMAKE_LFLAGS += -Wl,-syslibroot,$$QMAKE_MAC_SDK_PATH
-}
-
sysrootified =
for(val, QMAKE_INCDIR_OPENGL): sysrootified += $${QMAKE_MAC_SDK_PATH}$$val
QMAKE_INCDIR_OPENGL = $$sysrootified
@@ -56,20 +50,72 @@ for(tool, $$list(QMAKE_CC QMAKE_CXX QMAKE_FIX_RPATH QMAKE_AR QMAKE_RANLIB QMAKE_
!equals(MAKEFILE_GENERATOR, XCODE) {
uikit:!host_build {
- simulator: \
- version_identifier = $$simulator.deployment_identifier
- else: \
- version_identifier = $$device.deployment_identifier
ios: deployment_target = $$QMAKE_IOS_DEPLOYMENT_TARGET
tvos: deployment_target = $$QMAKE_TVOS_DEPLOYMENT_TARGET
watchos: deployment_target = $$QMAKE_WATCHOS_DEPLOYMENT_TARGET
+
+ !simulator|simulator_and_device: device_archs = $$QMAKE_APPLE_DEVICE_ARCHS
+ simulator: simulator_archs = $$QMAKE_APPLE_SIMULATOR_ARCHS
+ archs = $$device_archs $$simulator_archs
+
+ QMAKE_XARCH_CFLAGS =
+ QMAKE_XARCH_LFLAGS =
+ QMAKE_EXTRA_VARIABLES += QMAKE_XARCH_CFLAGS QMAKE_XARCH_LFLAGS
+
+ single_arch {
+ device_archs = $$first(device_archs)
+ simulator_archs = $$first(simulator_archs)
+ archs = $$first(archs)
+ }
+
+ for(arch, archs) {
+ contains(simulator_archs, $$arch) {
+ sdk = $$simulator.sdk
+ version_identifier = $$simulator.deployment_identifier
+ } else {
+ sdk = $$device.sdk
+ version_identifier = $$device.deployment_identifier
+ }
+
+ version_min_flags = \
+ -Xarch_$${arch} \
+ -m$${version_identifier}-version-min=$$deployment_target
+ QMAKE_XARCH_CFLAGS_$${arch} = $$version_min_flags \
+ -Xarch_$${arch} \
+ -isysroot$$xcodeSDKInfo(Path, $$sdk)
+ QMAKE_XARCH_LFLAGS_$${arch} = $$version_min_flags \
+ -Xarch_$${arch} \
+ -Wl,-syslibroot,$$xcodeSDKInfo(Path, $$sdk)
+
+ QMAKE_XARCH_CFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS_$${arch})
+ QMAKE_XARCH_LFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS_$${arch})
+
+ QMAKE_EXTRA_VARIABLES += \
+ QMAKE_XARCH_CFLAGS_$${arch} \
+ QMAKE_XARCH_LFLAGS_$${arch}
+ }
+
+ QMAKE_CFLAGS_USE_PRECOMPILE =
+ for(arch, archs) {
+ QMAKE_CFLAGS_USE_PRECOMPILE += \
+ -Xarch_$${arch} \
+ -include${QMAKE_PCH_OUTPUT_$${arch}}
+ }
+ QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
+ QMAKE_OBJCFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
+ QMAKE_OBJCXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
+
+ QMAKE_PCH_OUTPUT_EXT = _${QMAKE_PCH_ARCH}$${QMAKE_PCH_OUTPUT_EXT}
} else: osx {
version_identifier = macosx
deployment_target = $$QMAKE_MACOSX_DEPLOYMENT_TARGET
+ version_min_flag = -m$${version_identifier}-version-min=$$deployment_target
+ QMAKE_CFLAGS += -isysroot $$QMAKE_MAC_SDK_PATH $$version_min_flag
+ QMAKE_CXXFLAGS += -isysroot $$QMAKE_MAC_SDK_PATH $$version_min_flag
+ QMAKE_LFLAGS += -Wl,-syslibroot,$$QMAKE_MAC_SDK_PATH $$version_min_flag
}
- version_min_flag = -m$${version_identifier}-version-min=$$deployment_target
- QMAKE_CFLAGS += $$version_min_flag
- QMAKE_CXXFLAGS += $$version_min_flag
- QMAKE_LFLAGS += $$version_min_flag
+ QMAKE_CFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS)
+ QMAKE_CXXFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS)
+ QMAKE_LFLAGS += $(EXPORT_QMAKE_XARCH_LFLAGS)
}
diff --git a/mkspecs/features/moc.prf b/mkspecs/features/moc.prf
index 73fbc8c29b..4c81ee5c74 100644
--- a/mkspecs/features/moc.prf
+++ b/mkspecs/features/moc.prf
@@ -25,8 +25,9 @@ win32:count(MOC_INCLUDEPATH, 40, >) {
}
# QNX's compiler sets "gcc" config, but does not support the -dM option;
-# iOS builds are multi-arch, so this feature cannot possibly work.
-if(gcc|intel_icl|msvc):!rim_qcc:!ios {
+# UIKit builds are always multi-arch due to simulator_and_device (unless
+# -sdk is used) so this feature cannot possibly work.
+if(gcc|intel_icl|msvc):!rim_qcc:!uikit {
moc_predefs.CONFIG = no_link
gcc: moc_predefs.commands = $$QMAKE_CXX $$QMAKE_CXXFLAGS -dM -E -o ${QMAKE_FILE_OUT} ${QMAKE_FILE_IN}
else:intel_icl: moc_predefs.commands = $$QMAKE_CXX $$QMAKE_CXXFLAGS -QdM -P -Fi${QMAKE_FILE_OUT} ${QMAKE_FILE_IN}
diff --git a/mkspecs/features/qfeatures.prf b/mkspecs/features/qfeatures.prf
deleted file mode 100644
index 15ef5c5be0..0000000000
--- a/mkspecs/features/qfeatures.prf
+++ /dev/null
@@ -1,4 +0,0 @@
-# This file needs to be loaded explicitly, as the evaluation is relatively
-# expensive, and not many projects will actually need it.
-QMAKE_QT_FEATURES = $$[QT_HOST_DATA/get]/mkspecs/qfeatures.pri
-include($$QMAKE_QT_FEATURES) | error("Failed to load $$QMAKE_QT_FEATURES")
diff --git a/mkspecs/features/qt_build_config.prf b/mkspecs/features/qt_build_config.prf
index e0e8ef9f51..95e63ecae0 100644
--- a/mkspecs/features/qt_build_config.prf
+++ b/mkspecs/features/qt_build_config.prf
@@ -95,3 +95,26 @@ defineTest(qtNomakeTools) {
export($${d}.CONFIG)
}
}
+
+# This overloads the same function from qt_functions.prf.
+# This is not in qt_module.prf, as that gets loaded too late.
+defineTest(qtConfig) {
+ modules = $$QT $$QT_PRIVATE $$QT_FOR_PRIVATE $$QT_FOR_CONFIG
+ modules ~= s,-private$,_private,g
+ modules = $$resolve_depends(modules, "QT.", ".depends")
+ isEmpty(MODULE): \
+ MODULE = $$section($$list($$basename(_PRO_FILE_)), ., 0, 0)
+ exists($$OUT_PWD/qt$${MODULE}-config.pri) {
+ include($$OUT_PWD/qt$${MODULE}-config.pri)
+ modules += $${MODULE} $${MODULE}_private
+ }
+ modules += global global_private
+ modules = $$reverse(modules)
+ for (module, modules) {
+ contains(QT.$${module}.enabled_features, $$1): \
+ return(true)
+ contains(QT.$${module}.disabled_features, $$1): \
+ return(false)
+ }
+ error("Could not find feature $${1}.")
+}
diff --git a/mkspecs/features/qt_common.prf b/mkspecs/features/qt_common.prf
index e754a17790..d30983f62b 100644
--- a/mkspecs/features/qt_common.prf
+++ b/mkspecs/features/qt_common.prf
@@ -68,12 +68,12 @@ warnings_are_errors:warning_clean {
# If the module declares that it has does its clean-up of warnings, enable -Werror.
# This setting is compiler-dependent anyway because it depends on the version of the
# compiler.
- clang:!uikit {
- # Apple clang 4.0-4.2,5.0-5.1,6.0-6.4
+ 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
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]")|contains(reg_ver, "3\\.[3-9]") {
+ contains(apple_ver, "4\\.[012]|5\\.[01]|6\\.[01234]|7\\.[0123]")|contains(reg_ver, "3\\.[3-9]") {
QMAKE_CXXFLAGS_WARN_ON += -Werror -Wno-error=\\$${LITERAL_HASH}warnings -Wno-error=deprecated-declarations $$WERROR
}
} else:intel_icc:linux {
diff --git a/mkspecs/features/qt_configure.prf b/mkspecs/features/qt_configure.prf
index 536ae2cd8a..e34d7ad194 100644
--- a/mkspecs/features/qt_configure.prf
+++ b/mkspecs/features/qt_configure.prf
@@ -1,8 +1,3 @@
-CONFIG -= qt debug_and_release
-load(configure_base)
-
-QMAKE_CONFIG_CACHE = $$dirname(_QMAKE_CACHE_)/config.cache
-QMAKE_CONFIG_CACHE_USE = all
QT_CONFIGURE_REPORT =
QT_CONFIGURE_NOTES =
@@ -36,8 +31,8 @@ defineTest(qtConfAddError) {
defineTest(qtConfCommandlineSetInput) {
arg = $${1}
val = $${2}
- !isEmpty(config.commandline.options.$${arg}.name): \
- arg = $$eval(config.commandline.options.$${arg}.name)
+ !isEmpty($${currentConfig}.commandline.options.$${arg}.name): \
+ arg = $$eval($${currentConfig}.commandline.options.$${arg}.name)
config.input.$$arg = $$val
export(config.input.$$arg)
@@ -74,7 +69,7 @@ defineTest(qtConfCommandline_void) {
return()
}
- val = $$eval(config.commandline.options.$${opt}.value)
+ val = $$eval($${currentConfig}.commandline.options.$${opt}.value)
isEmpty(val): val = yes
qtConfCommandlineSetInput($$opt, $$val)
@@ -86,11 +81,11 @@ defineTest(qtConfCommandline_enum) {
isEmpty(val): val = yes
# validate and map value
- mapped = $$eval(config.commandline.options.$${opt}.values.$${val})
+ mapped = $$eval($${currentConfig}.commandline.options.$${opt}.values.$${val})
isEmpty(mapped) {
# just a list of allowed values
- for (i, config.commandline.options.$${opt}.values._KEYS_) {
- equals(config.commandline.options.$${opt}.values.$${i}, $$val) {
+ for (i, $${currentConfig}.commandline.options.$${opt}.values._KEYS_) {
+ equals($${currentConfig}.commandline.options.$${opt}.values.$${i}, $$val) {
mapped = $$val
break()
}
@@ -108,12 +103,12 @@ defineTest(qtConfValidateValue) {
opt = $${1}
val = $${2}
- validValues = $$eval(config.commandline.options.$${opt}.values._KEYS_)
+ validValues = $$eval($${currentConfig}.commandline.options.$${opt}.values._KEYS_)
isEmpty(validValues): \
return(true)
for (i, validValues) {
- equals(config.commandline.options.$${opt}.values.$${i}, $$val): \
+ equals($${currentConfig}.commandline.options.$${opt}.values.$${i}, $$val): \
return(true)
}
@@ -169,20 +164,24 @@ defineTest(qtConfCommandline_addString) {
!qtConfValidateValue($$opt, $$val): \
return()
- !isEmpty(config.commandline.options.$${opt}.name): \
- opt = $$eval(config.commandline.options.$${opt}.name)
+ !isEmpty($${currentConfig}.commandline.options.$${opt}.name): \
+ opt = $$eval($${currentConfig}.commandline.options.$${opt}.name)
config.input.$$opt += $$val
export(config.input.$$opt)
}
defineTest(qtConfParseCommandLine) {
- custom = $$config.commandline.custom
- customCall =
- !isEmpty(custom) {
- customCall = qtConfCommandline_$$custom
- !defined($$customCall, test): \
- error("Custom command line callback '$$custom' is undefined.")
+ customCalls =
+ for (cc, allConfigs) {
+ custom = $$eval($${cc}.commandline.custom)
+
+ !isEmpty(custom) {
+ customCall = qtConfCommandline_$$custom
+ !defined($$customCall, test): \
+ error("Custom command line callback '$$custom' is undefined.")
+ customCalls += $$customCall
+ }
}
for (ever) {
@@ -212,15 +211,24 @@ defineTest(qtConfParseCommandLine) {
next()
}
- !isEmpty(customCall) {
- $${customCall}($$c): \
- next()
+ didCustomCall = false
+ for (customCall, customCalls) {
+ $${customCall}($$c) {
+ didCustomCall = true
+ break()
+ }
}
+ $$didCustomCall: \
+ next()
contains(c, "([A-Z_]+)=(.*)") {
opt = $$replace(c, "^([A-Z_]+)=(.*)", "\\1")
val = $$replace(c, "^([A-Z_]+)=(.*)", "\\2")
- var = $$eval(config.commandline.assignments.$${opt})
+ for (cc, allConfigs) {
+ var = $$eval($${cc}.commandline.assignments.$${opt})
+ !isEmpty(var): \
+ break()
+ }
isEmpty(var) {
qtConfAddError("Assigning unknown variable '$$opt' on command line.")
return()
@@ -254,25 +262,43 @@ defineTest(qtConfParseCommandLine) {
return()
}
- type = $$eval(config.commandline.options.$${opt})
- isEmpty(type): \
- type = $$eval(config.commandline.options.$${opt}.type)
- isEmpty(type) {
- # no match in the regular options, try matching the prefixes
- for (p, config.commandline.prefix._KEYS_) {
- e = "^-$${p}(.*)"
- contains(c, $$e) {
- opt = $$eval(config.commandline.prefix.$${p})
- val = $$replace(c, $$e, "\\1")
- type = "addString"
- break()
+ for (cc, allConfigs) {
+ type = $$eval($${cc}.commandline.options.$${opt})
+ isEmpty(type): \
+ type = $$eval($${cc}.commandline.options.$${opt}.type)
+ isEmpty(type) {
+ # no match in the regular options, try matching the prefixes
+ for (p, $${cc}.commandline.prefix._KEYS_) {
+ e = "^-$${p}(.*)"
+ contains(c, $$e) {
+ opt = $$eval($${cc}.commandline.prefix.$${p})
+ val = $$replace(c, $$e, "\\1")
+ type = "addString"
+ break()
+ }
}
}
+ !isEmpty(type) {
+ currentConfig = $$cc
+ break()
+ }
}
# handle builtin [-no]-feature-xxx
isEmpty(type):contains(opt, "feature-(.*)") {
- # simply skip for now
- next()
+ opt ~= s,^feature-,,
+ found = false
+ for (cc, allConfigs) {
+ contains($${cc}.features._KEYS_, $$opt) {
+ found = true
+ break()
+ }
+ }
+ !$$found {
+ qtConfAddError("Enabling/Disabling unknown feature '$$opt'.")
+ return()
+ }
+ # this is a boolean enabling/disabling the corresponding feature
+ type = boolean
}
isEmpty(type) {
@@ -368,8 +394,8 @@ defineReplace(qtConfPrepareArgs) {
}
defineTest(qtConfSetupLibraries) {
- for (l, config.libraries._KEYS_) {
- lpfx = config.libraries.$${l}
+ for (l, $${currentConfig}.libraries._KEYS_) {
+ lpfx = $${currentConfig}.libraries.$${l}
# 'export' may be omitted, in which case it falls back to the library's name
!defined($${lpfx}.export, var) {
$${lpfx}.export = $$l
@@ -396,8 +422,8 @@ defineTest(qtConfSetupLibraries) {
}
# reverse mapping for assignments on command line.
- for (a, config.commandline.assignments._KEYS_) {
- apfx = config.commandline.assignments.$${a}
+ for (a, $${currentConfig}.commandline.assignments._KEYS_) {
+ apfx = $${currentConfig}.commandline.assignments.$${a}
ra = config.commandline.rev_assignments.$$eval($$apfx)
$$ra = $$a
export($$ra)
@@ -487,12 +513,13 @@ defineTest(qtConfLibrary_pkgConfig) {
return(false)
qtRunLoggedCommand("$$pkg_config --modversion $$args", version)|return(false)
- qtRunLoggedCommand("$$pkg_config --libs $$args", $${1}.libs)|return(false)
+ qtRunLoggedCommand("$$pkg_config --libs-only-L --libs-only-l $$args", $${1}.libs)|return(false)
qtRunLoggedCommand("$$pkg_config --cflags $$args", $${1}.cflags)|return(false)
qtRunLoggedCommand("$$pkg_config --cflags-only-I $$args", includes)|return(false)
eval(includes = $$includes)
includes ~= s/^-I//g
$${1}.includedir = "$$val_escape(includes)"
+ version ~= s/[^0-9.].*$//
$${1}.version = $$first(version)
export($${1}.libs)
export($${1}.cflags)
@@ -569,10 +596,12 @@ defineTest(qtConfExportLibrary) {
qtConfOutputVar(assign, $$output, QMAKE_$${NAME}_VERSION_MINOR, $$member(version, 1))
qtConfOutputVar(assign, $$output, QMAKE_$${NAME}_VERSION_PATCH, $$member(version, 2))
}
+ !isEmpty($${currentConfig}.module): \
+ qtConfExtendVar($$output, "QT.$${currentModule}_private.libraries", $$2)
}
defineTest(qtConfHandleLibrary) {
- lpfx = config.libraries.$$1
+ lpfx = $${currentConfig}.libraries.$$1
defined($${lpfx}.result, var): return()
qtConfEnsureTestTypeDeps("library")
@@ -646,10 +675,10 @@ defineTest(qtConfTest_library) {
defineTest(qtConfTestPrepare_compile) {
for (u, $$list($$eval($${1}.use))) {
- !contains(config.libraries._KEYS_, $$u): \
+ !contains($${currentConfig}.libraries._KEYS_, $$u): \
error("Test $$1 tries to use undeclared library '$$u'")
qtConfHandleLibrary($$u)
- lpfx = config.libraries.$${u}
+ lpfx = $${currentConfig}.libraries.$${u}
isEmpty($${lpfx}.source): \
return(false)
$${1}.literal_args += $$qtConfLibraryArgs($${lpfx}.sources.$$eval($${lpfx}.source))
@@ -760,17 +789,17 @@ defineTest(logn) {
}
defineTest(qtLogTestIntro) {
- description = $$eval($${1}.description)
- isEmpty(description): return()
+ label = $$eval($${1}.label)
+ isEmpty(label): return()
- msg = "Checking for $${description}... "
+ msg = "Checking for $${label}... "
log($$msg)
$$QMAKE_CONFIG_VERBOSE: log("$$escape_expand(\\n)")
write_file($$QMAKE_CONFIG_LOG, msg, append)
}
defineTest(qtLogTestResult) {
- isEmpty($${1}.description): return()
+ isEmpty($${1}.label): return()
!isEmpty($${1}.log) {
field = $$eval($${1}.log)
@@ -819,12 +848,12 @@ defineTest(qtConfIsBoolean) {
}
defineTest(qtConfSetupTestTypeDeps) {
- for (tt, config.testTypeDependencies._KEYS_) {
+ for (tt, $${currentConfig}.testTypeDependencies._KEYS_) {
!defined(qtConfTest_$${tt}, test): \
error("Declaring dependency for undefined test type '$$tt'.")
- for (f, config.testTypeDependencies.$${tt}._KEYS_) {
- feature = $$eval(config.testTypeDependencies.$${tt}.$${f})
- isEmpty(config.features.$${feature}._KEYS_): \
+ for (f, $${currentConfig}.testTypeDependencies.$${tt}._KEYS_) {
+ feature = $$eval($${currentConfig}.testTypeDependencies.$${tt}.$${f})
+ isEmpty($${currentConfig}.features.$${feature}._KEYS_): \
error("Test type '$$tt' depends on undefined feature '$$feature'.")
}
}
@@ -833,31 +862,31 @@ defineTest(qtConfSetupTestTypeDeps) {
# the call to another one. The former representation is more natural
# (and concise) to write, while the latter is more efficient to process.
# Hence, this function inverts the mapping.
- for (tt, config.testTypeAliases._KEYS_) {
+ for (tt, $${currentConfig}.testTypeAliases._KEYS_) {
!defined(qtConfTest_$${tt}, test): \
error("Aliasing undefined test type '$$tt'.")
- for (tta, config.testTypeAliases.$${tt}._KEYS_) {
- type = $$eval(config.testTypeAliases.$${tt}.$${tta})
+ for (tta, $${currentConfig}.testTypeAliases.$${tt}._KEYS_) {
+ type = $$eval($${currentConfig}.testTypeAliases.$${tt}.$${tta})
!defined(qtConfTest_$${type}, test): \
error("Aliasing '$$tt' to undefined test type '$$type'.")
- config.testTypeForwards.$${type} += $$tt
- export(config.testTypeForwards.$${type})
+ $${currentConfig}.testTypeForwards.$${type} += $$tt
+ export($${currentConfig}.testTypeForwards.$${type})
}
}
}
defineTest(qtConfEnsureTestTypeDeps) {
- depsn = config.testTypeDependencies.$${1}._KEYS_
+ depsn = $${currentConfig}.testTypeDependencies.$${1}._KEYS_
!isEmpty($$depsn) {
for (dep, $$depsn) {
- feature = $$eval(config.testTypeDependencies.$${1}.$${dep})
+ feature = $$eval($${currentConfig}.testTypeDependencies.$${1}.$${dep})
!qtConfCheckFeature($$feature): \
error("Test type '$$1' depends on non-emitted feature $${feature}.")
}
$$depsn =
export($$depsn)
}
- fwdsn = config.testTypeForwards.$${1}
+ fwdsn = $${currentConfig}.testTypeForwards.$${1}
!isEmpty($$fwdsn) {
for (fwd, $$fwdsn): \
qtConfEnsureTestTypeDeps($$fwd)
@@ -867,7 +896,7 @@ defineTest(qtConfEnsureTestTypeDeps) {
}
defineTest(qtRunSingleTest) {
- tpfx = config.tests.$${1}
+ tpfx = $${currentConfig}.tests.$${1}
defined($${tpfx}.result, var): \
return()
@@ -944,10 +973,10 @@ defineReplace(qtConfEvaluateSingleExpression) {
var = $$section(e, ".", 2, -1)
isEmpty(var): \
var = result
- !contains(config.tests._KEYS_, $$test): \
+ !contains($${currentConfig}.tests._KEYS_, $$test): \
error("Unknown test object $${test} in expression '$${1}'.")
qtRunSingleTest($$test)
- result = $$eval(config.tests.$${test}.$${var})
+ result = $$eval($${currentConfig}.tests.$${test}.$${var})
} else: contains(e, "^libs\..*") {
!qt_conf_tests_allowed: \
error("Expression '$${1}' refers to a library, which is not allowed at this stage of configuring.")
@@ -955,22 +984,36 @@ defineReplace(qtConfEvaluateSingleExpression) {
var = $$section(e, ".", 2, -1)
isEmpty(var): \
var = result
- !contains(config.libraries._KEYS_, $$lib): \
+ !contains($${currentConfig}.libraries._KEYS_, $$lib): \
error("Unknown library object $${lib} in expression '$${1}'.")
qtConfHandleLibrary($$lib)
- !defined(config.libraries.$${lib}.$${var}, var): \
- var = sources.$$eval(config.libraries.$${lib}.$${source}).$$var
- result = $$eval(config.libraries.$${lib}.$${var})
+ !defined($${currentConfig}.libraries.$${lib}.$${var}, var): \
+ var = sources.$$eval($${currentConfig}.libraries.$${lib}.$${source}).$$var
+ result = $$eval($${currentConfig}.libraries.$${lib}.$${var})
} else: contains(e, "^features\..*") {
feature = $$section(e, ".", 1, 1)
var = $$section(e, ".", 2, -1)
isEmpty(var): \
var = available
- !contains(config.features._KEYS_, $$feature): \
+ !contains($${currentConfig}.features._KEYS_, $$feature) {
+ # this is basically a copy of what qtConfig() in qt_build_config.prf
+ # does, but we produce a nicer error message.
+ for (module, QMAKE_CONFIG_DEPS) {
+ contains(QT.$${module}.enabled_features, $$feature): \
+ result = true
+ else: contains(QT.$${module}.disabled_features, $$feature): \
+ result = false
+ else: \
+ next()
+ !equals(var, available): \
+ error("Expression '$$1' is accessing field '$$var' of non-local feature $${feature}.")
+ return($$result)
+ }
error("Unknown feature object $${feature} in expression '$${1}'.")
+ }
!qtConfCheckFeature($$feature): \
error("Expression '$$1' is accessing non-emitted feature $${feature}.")
- result = $$eval(config.features.$${feature}.$${var})
+ result = $$eval($${currentConfig}.features.$${feature}.$${var})
} else: contains(e, "^config\..*") {
var = $$replace(e, "^config\.", "")
result = false
@@ -1058,7 +1101,7 @@ defineReplace(qtConfEvaluateSubExpression) {
}
defineReplace(qtIsFeatureEnabled) {
- enable = $$eval(config.features.$${1}.enable)
+ enable = $$eval($${currentConfig}.features.$${1}.enable)
!isEmpty(enable) {
$$qtConfEvaluate($$enable): \
return(true)
@@ -1071,7 +1114,7 @@ defineReplace(qtIsFeatureEnabled) {
}
defineReplace(qtIsFeatureDisabled) {
- disable = $$eval(config.features.$${1}.disable)
+ disable = $$eval($${currentConfig}.features.$${1}.disable)
!isEmpty(disable) {
$$qtConfEvaluate($$disable): \
return(true)
@@ -1099,7 +1142,7 @@ defineReplace(qtConfCheckSingleCondition) {
}
defineTest(qtConfCheckFeature) {
- fpfx = config.features.$${1}
+ fpfx = $${currentConfig}.features.$${1}
available = $$eval($${fpfx}.available)
!isEmpty(available): return(true)
@@ -1137,7 +1180,7 @@ defineTest(qtConfCheckFeature) {
$${fpfx}.available = $$result
export($${fpfx}.available)
- for (i, config.features.$${feature}.output._KEYS_): \
+ for (i, $${currentConfig}.features.$${feature}.output._KEYS_): \
qtConfProcessOneOutput($$feature, $$i)
return(true)
@@ -1145,7 +1188,7 @@ defineTest(qtConfCheckFeature) {
defineTest(qtConfProcessFeatures) {
- for (feature, config.features._KEYS_): \
+ for (feature, $${currentConfig}.features._KEYS_): \
qtConfCheckFeature($$feature)
}
@@ -1166,8 +1209,8 @@ defineTest(qtConfReportPadded) {
defineReplace(qtConfCollectFeatures) {
l =
for (feature, $$list($${1})) {
- $$eval(config.features.$${feature}.available): \
- l += $$eval(config.features.$${feature}.description)
+ $$eval($${currentConfig}.features.$${feature}.available): \
+ l += $$eval($${currentConfig}.features.$${feature}.label)
}
isEmpty(l): return("<none>")
@@ -1180,10 +1223,10 @@ defineTest(qtConfReport_featureList) {
defineReplace(qtConfFindFirstAvailableFeature) {
for (feature, $$list($${1})) {
- isEmpty(config.features.$${feature}._KEYS_): \
+ isEmpty($${currentConfig}.features.$${feature}._KEYS_): \
error("Asking for a report on undefined feature $${2}.")
- $$eval(config.features.$${feature}.available): \
- return($$eval(config.features.$${feature}.description))
+ $$eval($${currentConfig}.features.$${feature}.available): \
+ return($$eval($${currentConfig}.features.$${feature}.label))
}
return("<none>")
@@ -1194,14 +1237,14 @@ defineTest(qtConfReport_firstAvailableFeature) {
}
defineTest(qtConfReport_feature) {
- !contains(config.features._KEYS_, $$2): \
+ !contains($${currentConfig}.features._KEYS_, $$2): \
error("Asking for a report on undefined feature $${2}.")
# hide report for not emitted features
- isEmpty(config.features.$${2}.available): \
+ isEmpty($${currentConfig}.features.$${2}.available): \
return()
- $$eval(config.features.$${2}.available) {
+ $$eval($${currentConfig}.features.$${2}.available) {
result = "yes"
!isEmpty(3): result = "$${3}"
} else {
@@ -1209,7 +1252,7 @@ defineTest(qtConfReport_feature) {
!isEmpty(4): result = "$${4}"
}
- text = $$eval(config.features.$${2}.description)
+ text = $$eval($${currentConfig}.features.$${2}.label)
qtConfReportPadded($${1}$$text, $$result)
}
@@ -1269,17 +1312,15 @@ defineTest(qtConfCreateReportRecurse) {
}
defineTest(qtConfProcessEarlyChecks) {
- qtConfCreateReportRecurse(config.earlyReport, false)
- qtConfCheckErrors()
+ qtConfCreateReportRecurse($${currentConfig}.earlyReport, false)
}
-
defineTest(qtConfCreateReport) {
- qtConfCreateReportRecurse(config.report, false)
+ qtConfCreateReportRecurse($${currentConfig}.report, false)
}
defineTest(qtConfCreateSummary) {
- qtConfCreateReportRecurse(config.summary, "")
+ qtConfCreateReportRecurse($${currentConfig}.summary, "")
}
defineTest(qtConfPrintReport) {
@@ -1321,15 +1362,6 @@ defineTest(qtConfCheckErrors) {
# output generation
#
-defineReplace(qtConfOutputSelectProFile) {
- !isEmpty($${1}.public) {
- $$eval($${1}.public): \
- return(publicPro)
- }
- return(privatePro)
-}
-
-
# qtConfOutputVar(modifier, output, name, value)
defineTest(qtConfOutputVar) {
modifier = $$1
@@ -1337,35 +1369,53 @@ defineTest(qtConfOutputVar) {
name = $$3
value = $$val_escape(4)
- !isEmpty(config.output.$${output}.assign.$${name}): \
+ defined($${currentConfig}.output.$${output}.assign.$${name}, var): \
error("Trying to overwrite assigned variable '$$name' in '$$output' using modifier '$$modifier'.")
equals(modifier, assign) {
- !isEmpty(config.output.$${output}.append.$${name})|!isEmpty(config.output.$${output}.remove.$${name}): \
+ !isEmpty($${currentConfig}.output.$${output}.append.$${name})|!isEmpty($${currentConfig}.output.$${output}.remove.$${name}): \
error("Trying to assign variable '$$name' in '$$output', which has already appended or removed parts.")
- config.output.$${output}.assign.$${name} = $$value
+ $${currentConfig}.output.$${output}.assign.$${name} = $$value
} else: equals(modifier, append) {
- contains(config.output.$${output}.remove.$${name}, $$value): \
+ contains($${currentConfig}.output.$${output}.remove.$${name}, $$value): \
error("Trying to append removed '$$value' to variable '$$name' in '$$output'.")
- config.output.$${output}.append.$${name} += $$value
+ $${currentConfig}.output.$${output}.append.$${name} += $$value
} else: equals(modifier, remove) {
- contains(config.output.$${output}.append.$${name}, $$value): \
+ contains($${currentConfig}.output.$${output}.append.$${name}, $$value): \
error("Trying to remove appended '$$value' to variable '$$name' in '$$output'.")
- config.output.$${output}.remove.$${name} += $$value
+ $${currentConfig}.output.$${output}.remove.$${name} += $$value
} else {
error("Invalid modifier '$$modifier' passed to qtConfOutputVar.")
}
- config.output.$${output}.$${modifier}._KEYS_ *= $${name}
- export(config.output.$${output}.$${modifier}.$${name})
- export(config.output.$${output}.$${modifier}._KEYS_)
+ $${currentConfig}.output.$${output}.$${modifier}._KEYS_ *= $${name}
+ export($${currentConfig}.output.$${output}.$${modifier}.$${name})
+ export($${currentConfig}.output.$${output}.$${modifier}._KEYS_)
+}
+
+# qtConfExtendVar(output, name, value)
+defineTest(qtConfExtendVar) {
+ output = $$1
+ name = $$2
+ value = $$val_escape(3)
+
+ !defined($${currentConfig}.output.$${output}.assign.$${name}, var): \
+ error("Trying to extend undefined variable '$$name' in '$$output'.")
+
+ $${currentConfig}.output.$${output}.assign.$${name} += $$value
+ export($${currentConfig}.output.$${output}.assign.$${name})
}
defineTest(qtConfOutputVarHelper) {
+ !isEmpty($${2}.public):$$eval($${2}.public) {
+ output = "publicPro"
+ } else {
+ output = "privatePro"
+ }
+
negative = $$eval($${2}.negative)
isEmpty(negative): negative = false
equals(3, $$negative): return()
- output = $$qtConfOutputSelectProFile($${2})
name = $$eval($${2}.name)
isEmpty(name): \
error("Output type 'var$$title($$1)' used in feature '$$eval($${2}.feature)' without a 'name' entry.")
@@ -1374,6 +1424,8 @@ defineTest(qtConfOutputVarHelper) {
!isEmpty($${2}.eval):$$qtConfEvaluate($$eval($${2}.eval)): \
eval(value = $$value)
qtConfOutputVar($$1, $$output, $$name, $$value)
+ equals(output, "publicPro"):!isEmpty($${currentConfig}.module): \
+ qtConfExtendVar($$output, "QT.$${currentModule}.exports", $$name)
}
defineTest(qtConfOutput_varAssign) {
@@ -1391,6 +1443,8 @@ defineTest(qtConfOutput_varRemove) {
defineTest(qtConfOutputConfigVar) {
pro = $$3
var = $$4
+ modular = $$5
+
negative = $$eval($${1}.negative)
isEmpty(negative): negative = false
equals(2, $$negative): return()
@@ -1401,26 +1455,31 @@ defineTest(qtConfOutputConfigVar) {
$$negative: val = no-$$val
}
- qtConfOutputVar(append, $$pro, $$var, $$val)
+ isEmpty($${currentConfig}.module)|!$$modular: \
+ qtConfOutputVar(append, $$pro, $$var, $$val)
+ else: \
+ qtConfExtendVar($$pro, "QT.$${currentModule}.$$var", $$val)
}
defineTest(qtConfOutput_publicQtConfig) {
- qtConfOutputConfigVar($$1, $$2, "publicPro", "QT_CONFIG")
+ qtConfOutputConfigVar($$1, $$2, "publicPro", "QT_CONFIG", true)
}
defineTest(qtConfOutput_publicConfig) {
- qtConfOutputConfigVar($$1, $$2, "publicPro", "CONFIG")
+ !isEmpty($${currentConfig}.module): \
+ error("Cannot use output type 'publicConfig' in module-local feature '$$eval($${1}.feature)'.")
+ qtConfOutputConfigVar($$1, $$2, "publicPro", "CONFIG", false)
}
defineTest(qtConfOutput_privateConfig) {
- qtConfOutputConfigVar($$1, $$2, "privatePro", "CONFIG")
+ qtConfOutputConfigVar($$1, $$2, "privatePro", "CONFIG", false)
}
defineTest(qtConfOutputSetDefine) {
- config.output.$${1}.$${2} = $${3}
- config.output.$${1}._KEYS_ *= $${2}
- export(config.output.$${1}.$${2})
- export(config.output.$${1}._KEYS_)
+ $${currentConfig}.output.$${1}.$${2} = $${3}
+ $${currentConfig}.output.$${1}._KEYS_ *= $${2}
+ export($${currentConfig}.output.$${1}.$${2})
+ export($${currentConfig}.output.$${1}._KEYS_)
}
defineTest(qtConfOutput_define) {
@@ -1443,13 +1502,35 @@ defineTest(qtConfOutput_feature) {
name = $$eval($${1}.feature)
$${2} {
- qtConfOutputVar(append, "publicPro", "QT_CONFIG", $$name)
+ isEmpty($${currentConfig}.module): \
+ qtConfOutputVar(append, "publicPro", "QT_CONFIG", $$name)
+ else: \
+ qtConfExtendVar("publicPro", "QT.$${currentModule}.QT_CONFIG", $$name)
} else {
f = $$upper($$replace(name, -, _))
qtConfOutputSetDefine("publicHeader", "QT_NO_$$f")
}
}
+defineTest(qtConfSetModuleName) {
+ currentModule = $$eval($${currentConfig}.module)
+ isEmpty(currentModule): \
+ currentModule = global
+ export(currentModule)
+}
+
+defineTest(qtConfSetupModuleOutputs) {
+ qtConfOutputVar(assign, "publicPro", "QT.$${currentModule}.enabled_features", )
+ qtConfOutputVar(assign, "publicPro", "QT.$${currentModule}.disabled_features", )
+ qtConfOutputVar(assign, "privatePro", "QT.$${currentModule}_private.enabled_features", )
+ qtConfOutputVar(assign, "privatePro", "QT.$${currentModule}_private.disabled_features", )
+ !isEmpty($${currentConfig}.module) {
+ qtConfOutputVar(assign, "publicPro", "QT.$${currentModule}.QT_CONFIG", )
+ qtConfOutputVar(assign, "publicPro", "QT.$${currentModule}.exports", )
+ qtConfOutputVar(assign, "privatePro", "QT.$${currentModule}_private.libraries", )
+ }
+}
+
defineTest(qtConfOutput_publicFeature) {
name = "$$eval($${1}.name)"
isEmpty(name): \
@@ -1457,10 +1538,14 @@ defineTest(qtConfOutput_publicFeature) {
feature = $$replace(name, [-+.], _)
$${2} {
- qtConfOutputVar(append, "publicPro", "QT.global.enabled_features", $$name)
+ qtConfExtendVar("publicPro", "QT.$${currentModule}.enabled_features", $$name)
+ QT.$${currentModule}.enabled_features += $$name
+ export(QT.$${currentModule}.enabled_features)
qtConfOutputSetDefine("publicHeader", "QT_FEATURE_$$feature", 1)
} else {
- qtConfOutputVar(append, "publicPro", "QT.global.disabled_features", $$name)
+ qtConfExtendVar("publicPro", "QT.$${currentModule}.disabled_features", $$name)
+ QT.$${currentModule}.disabled_features += $$name
+ export(QT.$${currentModule}.disabled_features)
qtConfOutputSetDefine("publicHeader", "QT_FEATURE_$$feature", -1)
}
}
@@ -1475,17 +1560,21 @@ defineTest(qtConfOutput_privateFeature) {
feature = $$replace(name, [-+.], _)
$${2} {
- qtConfOutputVar(append, "privatePro", "QT.global.enabled_features", $$name)
+ qtConfExtendVar("privatePro", "QT.$${currentModule}_private.enabled_features", $$name)
+ QT.$${currentModule}_private.enabled_features += $$name
+ export(QT.$${currentModule}_private.enabled_features)
qtConfOutputSetDefine("privateHeader", "QT_FEATURE_$$feature", 1)
} else {
- qtConfOutputVar(append, "privatePro", "QT.global.disabled_features", $$name)
+ qtConfExtendVar("privatePro", "QT.$${currentModule}_private.disabled_features", $$name)
+ QT.$${currentModule}_private.disabled_features += $$name
+ export(QT.$${currentModule}_private.disabled_features)
qtConfOutputSetDefine("privateHeader", "QT_FEATURE_$$feature", -1)
}
}
defineTest(qtConfProcessOneOutput) {
feature = $${1}
- fpfx = config.features.$${feature}
+ fpfx = $${currentConfig}.features.$${feature}
opfx = $${fpfx}.output.$${2}
condition = $$eval($${opfx}.condition)
@@ -1511,64 +1600,167 @@ defineTest(qtConfProcessOneOutput) {
}
defineTest(qtConfProcessOutput) {
+ !contains($${currentConfig}._KEYS_, "features"): \
+ return()
+
+ basedir = $$shadowed($$eval($${currentConfig}.dir))
+ module = $$eval($${currentConfig}.module)
+
# write it to the output files
- for (type, config.files._KEYS_) {
- file = $$OUT_PWD/$$eval(config.files.$${type})
+ isEmpty($${currentConfig}.files._KEYS_) {
+ # set defaults that should work for most Qt modules
+ isEmpty(module): \
+ error("Neither module nor files section specified in configuration file.")
+
+ $${currentConfig}.files._KEYS_ = publicPro privatePro publicHeader privateHeader
+ $${currentConfig}.files.publicPro = qt$${module}-config.pri
+ $${currentConfig}.files.privatePro = qt$${module}-config.pri # sic!
+ $${currentConfig}.files.publicHeader = qt$${module}-config.h
+ $${currentConfig}.files.privateHeader = qt$${module}-config_p.h
+ }
+
+ for (type, $${currentConfig}.files._KEYS_) {
contains(type, ".*Pro") {
- for (k, config.output.$${type}.assign._KEYS_): \
- config.output.$$type += "$$k = $$eval(config.output.$${type}.assign.$$k)"
- for (k, config.output.$${type}.remove._KEYS_): \
- config.output.$$type += "$$k -= $$eval(config.output.$${type}.remove.$$k)"
- for (k, config.output.$${type}.append._KEYS_): \
- config.output.$$type += "$$k += $$eval(config.output.$${type}.append.$$k)"
+ for (k, $${currentConfig}.output.$${type}.assign._KEYS_): \
+ $${currentConfig}.output.$$type += "$$k = $$eval($${currentConfig}.output.$${type}.assign.$$k)"
+ for (k, $${currentConfig}.output.$${type}.remove._KEYS_): \
+ $${currentConfig}.output.$$type += "$$k -= $$eval($${currentConfig}.output.$${type}.remove.$$k)"
+ for (k, $${currentConfig}.output.$${type}.append._KEYS_): \
+ $${currentConfig}.output.$$type += "$$k += $$eval($${currentConfig}.output.$${type}.append.$$k)"
} else {
- for (define, config.output.$${type}._KEYS_) {
- value = $$eval(config.output.$${type}.$${define})
- config.output.$$type += "$${LITERAL_HASH}define $$define $$value"
+ for (define, $${currentConfig}.output.$${type}._KEYS_) {
+ value = $$eval($${currentConfig}.output.$${type}.$${define})
+ $${currentConfig}.output.$$type += "$${LITERAL_HASH}define $$define $$value"
}
}
- defined(qtConfOutputPostProcess_$${type}, test): \
- qtConfOutputPostProcess_$${type}()
- write_file($$file, config.output.$${type})|error()
+ ppScope =
+ !isEmpty(module): ppScope = $${module}_
+ defined(qtConfOutputPostProcess_$${ppScope}$${type}, test): \
+ qtConfOutputPostProcess_$${ppScope}$${type}()
+
+ file = $$eval($${currentConfig}.files.$${type})
+ fileCont.$$file += $$eval($${currentConfig}.output.$${type})
+ fileCont._KEYS_ *= $$file
}
+
+ for (file, fileCont._KEYS_): \
+ write_file($$basedir/$$file, fileCont.$$file)|error()
}
#
# tie it all together
#
-defineTest(qtConfigure) {
+cfgs =
+isEmpty(_QMAKE_SUPER_CACHE_)|equals(OUT_PWD, $$dirname(_QMAKE_SUPER_CACHE_)) {
+ c = $$basename(_PRO_FILE_PWD_)
+ config.$${c}.dir = $$_PRO_FILE_PWD_
+ cfgs += $$c
+ !isEmpty(_QMAKE_SUPER_CACHE_) {
+ for (s, SUBDIRS) {
+ config.$${s}.dir = $$_PRO_FILE_PWD_/$${s}
+ cfgs += $$s
+ }
+ }
+}
+configsToProcess =
+for (c, cfgs) {
+ s = $$eval(config.$${c}.dir)
+ exists($$s/configure.json): \
+ configsToProcess += $$c
+}
+isEmpty(configsToProcess): \
+ return()
+
+load(configure_base)
+
+QMAKE_POST_CONFIGURE =
+allConfigs =
+for(ever) {
+ isEmpty(configsToProcess): \
+ break()
+
+ currentConfig = config.$$take_first(configsToProcess)
+ thisDir = $$eval($${currentConfig}.dir)
+ jsonFile = $$thisDir/configure.json
+ priFile = $$thisDir/configure.pri
+
+ allConfigs += $$currentConfig
+
# load configuration data
- configure_data = $$cat($${1}, blob)
- !parseJson(configure_data, config): \
- error("Invalid or non-existent file $${1}.")
+ configure_data = $$cat($$jsonFile, blob)
+ !parseJson(configure_data, $$currentConfig): \
+ error("Invalid or non-existent file $${jsonFile}.")
+ exists($$priFile): \
+ !include($$priFile): error()
+
+ # prepend all subconfigs to files to keep a depth first search order
+ subconfigs =
+ for(n, $${currentConfig}.subconfigs._KEYS_) {
+ subconfig = $$eval($${currentConfig}.subconfigs.$${n})
+ name = $$basename(subconfig)
+ config.$${name}.dir = $$thisDir/$$subconfig
+ subconfigs += $$name
+ }
+ configsToProcess = $$subconfigs $$configsToProcess
+}
+for (currentConfig, allConfigs): \
qtConfSetupLibraries()
- qtConfSetupTestTypeDeps()
- qtConfParseCommandLine()
+!isEmpty(_QMAKE_SUPER_CACHE_): \
+ QMAKE_CONFIG_CACHE = $$dirname(_QMAKE_SUPER_CACHE_)/config.cache
+else: \
+ QMAKE_CONFIG_CACHE = $$dirname(_QMAKE_CACHE_)/config.cache
+QMAKE_CONFIG_CACHE_USE = all
- !equals(QMAKE_CONFIG_CACHE_USE, none) {
- include($$QMAKE_CONFIG_CACHE, , true)
- # this crudely determines when to discard the cache. this also catches the case
- # of no cache being there in the first place.
- !equals(cache.platform, $$[QMAKE_SPEC])|!equals(cache.xplatform, $$[QMAKE_XSPEC]): \
- QMAKE_CONFIG_CACHE_USE = none
- }
- equals(QMAKE_CONFIG_CACHE_USE, none) {
- cont = \
- "cache.platform = $$[QMAKE_SPEC]" \
- "cache.xplatform = $$[QMAKE_XSPEC]"
- write_file($$QMAKE_CONFIG_CACHE, cont)
- }
+qtConfParseCommandLine()
+
+!equals(QMAKE_CONFIG_CACHE_USE, none) {
+ include($$QMAKE_CONFIG_CACHE, , true)
+ # this crudely determines when to discard the cache. this also catches the case
+ # of no cache being there in the first place.
+ !equals(cache.platform, $$[QMAKE_SPEC])|!equals(cache.xplatform, $$[QMAKE_XSPEC]): \
+ QMAKE_CONFIG_CACHE_USE = none
+}
+equals(QMAKE_CONFIG_CACHE_USE, none) {
+ cont = \
+ "cache.platform = $$[QMAKE_SPEC]" \
+ "cache.xplatform = $$[QMAKE_XSPEC]"
+ write_file($$QMAKE_CONFIG_CACHE, cont)
+}
+for (currentConfig, allConfigs) {
+ qtConfSetModuleName()
+ qtConfSetupModuleOutputs()
# do early checks, mainly to validate the command line
qtConfProcessEarlyChecks()
+}
+qtConfCheckErrors()
- CONFIG += qt_conf_tests_allowed
- logn()
- logn("Running configuration tests...")
+CONFIG += qt_conf_tests_allowed
+logn()
+logn("Running configuration tests...")
+
+for (currentConfig, allConfigs) {
+ tdir = $$eval($${currentConfig}.testDir)
+ isEmpty(tdir): tdir = config.tests
+ QMAKE_CONFIG_TESTS_DIR = $$absolute_path($$tdir, $$eval($${currentConfig}.dir))
+
+ qtConfSetModuleName()
+
+ qtConfSetupTestTypeDeps()
+
+ # correctly setup dependencies
+ QMAKE_CONFIG_DEPS = global global_private
+ !isEmpty($${currentConfig}.module) {
+ for (d, $${currentConfig}.depends._KEYS_) {
+ dep = $$replace($${currentConfig}.depends.$$d, -private$, _private)
+ dep *= $$replace(dep, _private$, )
+ QMAKE_CONFIG_DEPS += $$dep
+ }
+ }
# process all features
qtConfProcessFeatures()
@@ -1577,14 +1769,15 @@ defineTest(qtConfigure) {
qtConfProcessOutput()
qtConfCreateReport()
qtConfCreateSummary()
-
- logn("Done running configuration tests.")
- logn()
}
-qtConfigure($$_PRO_FILE_PWD_/configure.json)
+# these come from the pri files loaded above.
+for (p, QMAKE_POST_CONFIGURE): \
+ eval($$p)
-logn("Configure summary:")
+logn("Done running configuration tests.")
logn()
+logn("Configure summary:")
+logn()
qtConfPrintReport()
diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf
index e7d73adefb..b1cfcd7499 100644
--- a/mkspecs/features/qt_functions.prf
+++ b/mkspecs/features/qt_functions.prf
@@ -1,10 +1,6 @@
defineReplace(qtPlatformTargetSuffix) {
- uikit:CONFIG(simulator, simulator|device): \
- suffix = _$${simulator.sdk}
- else: \
- suffix =
-
+ suffix =
CONFIG(debug, debug|release) {
!debug_and_release|build_pass {
mac: return($${suffix}_debug)
@@ -306,10 +302,16 @@ defineTest(prepareRecursiveTarget) {
}
defineTest(qtConfig) {
- contains(QT.global.enabled_features, $$1): \
- return(true)
- contains(QT.global.disabled_features, $$1): \
- return(false)
-
+ modules = $$QT $$QT_PRIVATE $$QT_FOR_CONFIG
+ modules ~= s,-private$,_private,g
+ modules = $$resolve_depends(modules, "QT.", ".depends")
+ modules += global global_private
+ modules = $$reverse(modules)
+ for (module, modules) {
+ contains(QT.$${module}.enabled_features, $$1): \
+ return(true)
+ contains(QT.$${module}.disabled_features, $$1): \
+ return(false)
+ }
error("Could not find feature $${1}.")
}
diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf
index 90b4c181ee..ed02c597da 100644
--- a/mkspecs/features/qt_module.prf
+++ b/mkspecs/features/qt_module.prf
@@ -119,8 +119,7 @@ lib_bundle {
QMAKE_INFO_PLIST = $$QMAKESPEC/Info.plist.lib
}
!build_all| \
- if(if(!debug_and_release|CONFIG(release, debug|release)): \
- if(!simulator_and_device|CONFIG(device, simulator|device))) {
+ if(if(!debug_and_release|CONFIG(release, debug|release))) {
FRAMEWORK_HEADERS.version = Versions
FRAMEWORK_HEADERS.files = $$SYNCQT.HEADER_FILES $$SYNCQT.HEADER_CLASSES
FRAMEWORK_HEADERS.path = Headers
diff --git a/mkspecs/features/qt_module_headers.prf b/mkspecs/features/qt_module_headers.prf
index 9e0b21903f..229760068e 100644
--- a/mkspecs/features/qt_module_headers.prf
+++ b/mkspecs/features/qt_module_headers.prf
@@ -106,6 +106,16 @@ alien_syncqt: return()
MODULE_INC_OUTDIR = $$MODULE_BASE_OUTDIR/include/$$MODULE_INCNAME
+exists($$OUT_PWD/qt$${MODULE}-config.h) {
+ fwd_rel = $$relative_path($$OUT_PWD, $$MODULE_INC_OUTDIR)
+ SYNCQT.INJECTIONS += \
+ $$fwd_rel/qt$${MODULE}-config.h:qt$${MODULE}-config.h \
+ $$fwd_rel/qt$${MODULE}-config_p.h:$$MODULE_VERSION/$$MODULE_INCNAME/private/qt$${MODULE}-config_p.h
+ inst_rel = $$relative_path($$OUT_PWD, $$_PRO_FILE_PWD_)
+ SYNCQT.HEADER_FILES += $$inst_rel/qt$${MODULE}-config.h
+ SYNCQT.PRIVATE_HEADER_FILES += $$inst_rel/qt$${MODULE}-config_p.h
+}
+
for (injection, SYNCQT.INJECTIONS) {
injects = $$split(injection, :)
dst_hdr = $$absolute_path($$member(injects, 0), $$MODULE_INC_OUTDIR)
diff --git a/mkspecs/features/qt_module_pris.prf b/mkspecs/features/qt_module_pris.prf
index b67a56c7d5..9542a362d0 100644
--- a/mkspecs/features/qt_module_pris.prf
+++ b/mkspecs/features/qt_module_pris.prf
@@ -35,6 +35,41 @@ else: \
MODULE_PRI = $$mod_inst_pfx/qt_lib_$${MODULE_ID}.pri
MODULE_FWD_PRI = $$mod_work_pfx/qt_lib_$${MODULE_ID}.pri
+exists($$OUT_PWD/qt$${MODULE}-config.pri): \
+ include($$OUT_PWD/qt$${MODULE}-config.pri)
+
+defineReplace(qtGetFeaturesForModule) {
+ enabled = $$unique(QT.$${1}.enabled_features)
+ disabled = $$unique(QT.$${1}.disabled_features)
+ result = \
+ "QT.$${1}.enabled_features =$$join(enabled, " ", " ")" \
+ "QT.$${1}.disabled_features =$$join(disabled, " ", " ")"
+ return($$result)
+}
+
+defineReplace(qtGetExportsForModule) {
+ result =
+ for (var, QT.$${1}.exports): \
+ result += "$$var = $$val_escape($$var)"
+ return($$result)
+}
+
+defineReplace(qtExportLibsForModule) {
+ result =
+ for (lib, QT.$${1}.libraries) {
+ NAME = $$upper($$lib)
+ vars = \
+ QMAKE_LIBS_$$NAME QMAKE_LIBS_$${NAME}_DEBUG QMAKE_LIBS_$${NAME}_RELEASE \
+ QMAKE_CFLAGS_$$NAME QMAKE_INCDIR_$$NAME QMAKE_$${NAME}_VERSION \
+ QMAKE_$${NAME}_VERSION_MAJOR QMAKE_$${NAME}_VERSION_MINOR QMAKE_$${NAME}_VERSION_PATCH
+ for (var, vars) {
+ !isEmpty($$var): \
+ result += "$$var = $$val_escape($$var)"
+ }
+ }
+ return($$result)
+}
+
!build_pass {
# Create a module .pri file
@@ -102,6 +137,9 @@ MODULE_FWD_PRI = $$mod_work_pfx/qt_lib_$${MODULE_ID}.pri
"QT.$${MODULE_ID}.module_config =$$join(module_build_type, " ", " ")" \
$$module_config \
"QT.$${MODULE_ID}.DEFINES = $$val_escape(MODULE_DEFINES)" \
+ $$qtGetFeaturesForModule($$MODULE_ID) \
+ $$qtGetExportsForModule($$MODULE_ID) \
+ "QT_CONFIG +=$$join(QT.$${MODULE_ID}.QT_CONFIG, " ", " ")" \
"" \
"QT_MODULES += $$MODULE"
winrt: MODULE_PRI_CONT += \
@@ -126,7 +164,10 @@ MODULE_FWD_PRI = $$mod_work_pfx/qt_lib_$${MODULE_ID}.pri
"QT.$${MODULE}_private.includes = $$MODULE_PRIVATE_INCLUDES" \
"QT.$${MODULE}_private.frameworks =" \
"QT.$${MODULE}_private.depends = $$private_deps" \
- "QT.$${MODULE}_private.module_config =$$join(module_build_type, " ", " ")"
+ "QT.$${MODULE}_private.module_config =$$join(module_build_type, " ", " ")" \
+ $$qtGetFeaturesForModule($${MODULE}_private) \
+ "" \
+ $$qtExportLibsForModule($${MODULE}_private)
write_file($$MODULE_PRIVATE_PRI, MODULE_PRIVATE_PRI_CONT)|error()
}
MODULE_PRI_FILES = $$MODULE_PRI $$MODULE_PRIVATE_PRI
diff --git a/mkspecs/features/qt_parts.prf b/mkspecs/features/qt_parts.prf
index fa62f40e35..0accef6665 100644
--- a/mkspecs/features/qt_parts.prf
+++ b/mkspecs/features/qt_parts.prf
@@ -12,6 +12,8 @@
# Ensure that each module has a .qmake.cache when properly qmake'd.
cache()
+load(qt_configure)
+
load(qt_build_config)
TEMPLATE = subdirs
@@ -74,6 +76,7 @@ QT_BUILD_PARTS -= libs tools examples tests
QMAKE_DISTCLEAN += \
.qmake.cache \
+ config.cache \
config.log \
mkspecs/modules/*.pri \
mkspecs/modules-inst/*.pri
diff --git a/mkspecs/features/testcase.prf b/mkspecs/features/testcase.prf
index 08ed00715d..64a6a9266b 100644
--- a/mkspecs/features/testcase.prf
+++ b/mkspecs/features/testcase.prf
@@ -181,6 +181,11 @@ isEmpty(BUILDS)|build_pass {
builtin_testdata {
ALL_TESTDATA = $$TESTDATA $$GENERATED_TESTDATA
+
+ # BLACKLIST needs to be added to the testdata
+ BLACKLISTPATH = $$_PRO_FILE_PWD_/BLACKLIST
+ exists($$BLACKLISTPATH): ALL_TESTDATA *= $$BLACKLISTPATH
+
# RESOURCES does not support wildcards (for good reasons)
for(td, ALL_TESTDATA): \
testdata.files += $$files($$absolute_path($$td, $$_PRO_FILE_PWD_))
diff --git a/mkspecs/features/uikit/default_post.prf b/mkspecs/features/uikit/default_post.prf
index 52c9b1e8c8..9a231ffc84 100644
--- a/mkspecs/features/uikit/default_post.prf
+++ b/mkspecs/features/uikit/default_post.prf
@@ -19,10 +19,13 @@ equals(TEMPLATE, app):qt {
load(default_post)
macx-xcode {
+ ios:isEmpty(QMAKE_APPLE_TARGETED_DEVICE_FAMILY):!isEmpty(QMAKE_IOS_TARGETED_DEVICE_FAMILY) {
+ warning("QMAKE_IOS_TARGETED_DEVICE_FAMILY is deprecated; use QMAKE_APPLE_TARGETED_DEVICE_FAMILY")
+ QMAKE_APPLE_TARGETED_DEVICE_FAMILY = $$QMAKE_IOS_TARGETED_DEVICE_FAMILY
+ }
+
device_family.name = TARGETED_DEVICE_FAMILY
- ios: device_family.value = $$QMAKE_IOS_TARGETED_DEVICE_FAMILY
- tvos: device_family.value = $$QMAKE_TVOS_TARGETED_DEVICE_FAMILY
- watchos: device_family.value = $$QMAKE_WATCHOS_TARGETED_DEVICE_FAMILY
+ device_family.value = $$QMAKE_APPLE_TARGETED_DEVICE_FAMILY
QMAKE_MAC_XCODE_SETTINGS += device_family
ios {
@@ -68,21 +71,10 @@ macx-xcode {
macx-xcode {
arch_device.name = "ARCHS[sdk=$${device.sdk}*]"
arch_simulator.name = "ARCHS[sdk=$${simulator.sdk}*]"
- ios {
- arch_device.value = $$QMAKE_IOS_DEVICE_ARCHS
- arch_simulator.value = $$QMAKE_IOS_SIMULATOR_ARCHS
- QMAKE_XCODE_ARCHS = $$QMAKE_IOS_DEVICE_ARCHS $$QMAKE_IOS_SIMULATOR_ARCHS
- }
- tvos {
- arch_device.value = $$QMAKE_TVOS_DEVICE_ARCHS
- arch_simulator.value = $$QMAKE_TVOS_SIMULATOR_ARCHS
- QMAKE_XCODE_ARCHS = $$QMAKE_TVOS_DEVICE_ARCHS $$QMAKE_TVOS_SIMULATOR_ARCHS
- }
- watchos {
- arch_device.value = $$QMAKE_WATCHOS_DEVICE_ARCHS
- arch_simulator.value = $$QMAKE_WATCHOS_SIMULATOR_ARCHS
- QMAKE_XCODE_ARCHS = $$QMAKE_WATCHOS_DEVICE_ARCHS $$QMAKE_WATCHOS_SIMULATOR_ARCHS
- }
+
+ arch_device.value = $$QMAKE_APPLE_DEVICE_ARCHS
+ arch_simulator.value = $$QMAKE_APPLE_SIMULATOR_ARCHS
+ QMAKE_XCODE_ARCHS = $$QMAKE_APPLE_DEVICE_ARCHS $$QMAKE_APPLE_SIMULATOR_ARCHS
QMAKE_MAC_XCODE_SETTINGS += arch_device arch_simulator
@@ -91,16 +83,9 @@ macx-xcode {
only_active_arch.build = debug
QMAKE_MAC_XCODE_SETTINGS += only_active_arch
} else {
- # Be more specific about which architecture we're targeting
- contains(QT_ARCH, arm.*) {
- ios: VALID_ARCHS = $$QMAKE_IOS_DEVICE_ARCHS
- tvos: VALID_ARCHS = $$QMAKE_TVOS_DEVICE_ARCHS
- watchos: VALID_ARCHS = $$QMAKE_WATCHOS_DEVICE_ARCHS
- } else {
- ios: VALID_ARCHS = $$QMAKE_IOS_SIMULATOR_ARCHS
- tvos: VALID_ARCHS = $$QMAKE_TVOS_SIMULATOR_ARCHS
- watchos: VALID_ARCHS = $$QMAKE_WATCHOS_SIMULATOR_ARCHS
- }
+ VALID_ARCHS =
+ !simulator|simulator_and_device: VALID_ARCHS += $$QMAKE_APPLE_DEVICE_ARCHS
+ simulator: VALID_ARCHS += $$QMAKE_APPLE_SIMULATOR_ARCHS
single_arch: VALID_ARCHS = $$first(VALID_ARCHS)
@@ -114,4 +99,6 @@ macx-xcode {
QMAKE_CFLAGS += $$arch_flags
QMAKE_CXXFLAGS += $$arch_flags
QMAKE_LFLAGS += $$arch_flags
+
+ QMAKE_PCH_ARCHS = $$VALID_ARCHS
}
diff --git a/mkspecs/features/uikit/default_pre.prf b/mkspecs/features/uikit/default_pre.prf
index e719ab0848..8b5b3ccfe9 100644
--- a/mkspecs/features/uikit/default_pre.prf
+++ b/mkspecs/features/uikit/default_pre.prf
@@ -1,31 +1,22 @@
load(default_pre)
-# In case Qt was built for a specific SDK
-!isEmpty(QT_VERSION):!qtConfig(simulator_and_device):contains(QMAKE_MAC_SDK, ^$${simulator.sdk}.*): \
- CONFIG += simulator $${simulator.sdk}
+!isEmpty(QT_VERSION) {
+ qtConfig(simulator_and_device)|contains(QMAKE_MAC_SDK, ^$${device.sdk}.*): \
+ CONFIG += device $${device.sdk}
+ qtConfig(simulator_and_device)|contains(QMAKE_MAC_SDK, ^$${simulator.sdk}.*): \
+ CONFIG += simulator $${simulator.sdk}
+
+ qtConfig(simulator_and_device) {
+ # For a simulator_and_device build all the config tests
+ # are based on the device's ARM SDK, but we know that the simulator
+ # is Intel and that we support SSE/SSE2.
+ QT_CPU_FEATURES.$$QT_ARCH += sse sse2
+ CONFIG += sse sse2
+ DEFINES += QT_COMPILER_SUPPORTS_SSE2
+ }
+}
# Check for supported Xcode versions
lessThan(QMAKE_XCODE_VERSION, "4.3"): \
error("This mkspec requires Xcode 4.3 or later")
-
-build_pass:simulator {
- # For a simulator_and_device build all the config tests
- # are based on the iPhoneOS/WatchOS ARM SDK, but we know that the simulator
- # is i386 and that we support SSE/SSE2.
- QT_ARCH = i386
- QT_CPU_FEATURES.i386 = sse sse2
- DEFINES += QT_COMPILER_SUPPORTS_SSE2
- CONFIG -= neon
- CONFIG += sse sse2
-}
-build_pass:appletvsimulator {
- # For a simulator_and_device build all the config tests
- # are based on the AppleTVOS ARM SDK, but we know that the simulator
- # is x64 and that we support SSE/SSE2.
- QT_ARCH = x64
- QT_CPU_FEATURES.x64 = sse sse2
- DEFINES += QT_COMPILER_SUPPORTS_SSE2
- CONFIG -= neon
- CONFIG += sse sse2
-}
diff --git a/mkspecs/features/uikit/resolve_config.prf b/mkspecs/features/uikit/resolve_config.prf
index c3ab90f45e..70ddd8be52 100644
--- a/mkspecs/features/uikit/resolve_config.prf
+++ b/mkspecs/features/uikit/resolve_config.prf
@@ -1,68 +1,11 @@
xcodebuild {
# Xcode project files always support both Debug and Release configurations
- # and iOS device and simulator targets, so we make sure the wrapper-makefile
+ # and device and simulator targets, so we make sure the wrapper-makefile
# also does.
CONFIG += debug_and_release simulator_and_device
}
load(resolve_config)
-# Legacy exclusive build configurations for backwards compatibility
-CONFIG($${device.CONFIG}, $${device.CONFIG}|$${simulator.CONFIG}): \
- CONFIG += device
-else: CONFIG($${simulator.CONFIG}, $${device.CONFIG}|$${simulator.CONFIG}): \
- CONFIG += simulator
-
-CONFIG(simulator, simulator|device): \
- CONFIG -= device $${device.CONFIG}
-else: \
- CONFIG -= simulator $${simulator.CONFIG}
-
-macx-xcode {
- # There is no way to genereate Xcode projects that are limited to either
- # simulator or device builds, so simulator_and_device is always
- # effectivly active, even if the user disabled it explicitly.
- # The Xcode generator doesn't support multiple BUILDS though (exclusive
- # builds), so we have to manually set up the simulator suffix.
- library_suffix_simulator.name = "$${QMAKE_XCODE_LIBRARY_SUFFIX_SETTING}[sdk=$${simulator.sdk}*]"
- library_suffix_simulator.value = "_$${simulator.sdk}$($${QMAKE_XCODE_LIBRARY_SUFFIX_SETTING})"
- QMAKE_MAC_XCODE_SETTINGS += library_suffix_simulator
- CONFIG *= xcode_dynamic_library_suffix
-} else {
- addExclusiveBuilds(simulator, device)
-}
-
-equals(TEMPLATE, subdirs) {
- # Prevent recursion into host_builds
- for(subdir, SUBDIRS) {
- contains($${subdir}.CONFIG, host_build) {
- $${subdir}.CONFIG += no_$${simulator.target}_target no_$${device.target}_target
-
- # Other targets which we do want to recurse into may depend on this target,
- # for example corelib depends on moc, rcc, bootstrap, etc, and other libs
- # may depend on host-tools that are needed to build the lib, so we resolve
- # the final target name and redirect it to the base target, so that the
- # dependency chain is not broken for the other targets.
-
- !isEmpty($${subdir}.target) {
- target = $$eval($${subdir}.target)
- } else {
- !isEmpty($${subdir}.file): \
- file = $$eval($${subdir}.file)
- else: !isEmpty($${subdir}.subdir): \
- file = $$eval($${subdir}.subdir)
- else: \
- file = $$subdir
-
- target = sub-$$file
- }
-
- target ~= s,[^a-zA-Z0-9_],-,
-
- $${target}-$${simulator.target}.depends = $$target
- $${target}-$${device.target}.depends = $$target
- QMAKE_EXTRA_TARGETS += $${target}-$${simulator.target} $${target}-$${device.target}
- }
- }
-}
+!macx-xcode:xcodebuild: addExclusiveBuilds(simulator, device)
diff --git a/mkspecs/integrity-armv7-imx6/qmake.conf b/mkspecs/integrity-armv7-imx6/qmake.conf
index 7a1ee461f2..3bf2abd844 100644
--- a/mkspecs/integrity-armv7-imx6/qmake.conf
+++ b/mkspecs/integrity-armv7-imx6/qmake.conf
@@ -4,7 +4,6 @@
include(../common/ghs-integrity-armv7.conf)
-DEFINES += QT_NO_CLIPBOARD
DEFINES += QT_STATICPLUGIN
QTPLUGIN.platforms += qeglfs qeglfs-viv-integration
diff --git a/mkspecs/integrity-armv7/qmake.conf b/mkspecs/integrity-armv7/qmake.conf
index 0cac2ebdc0..7a2ffaba14 100644
--- a/mkspecs/integrity-armv7/qmake.conf
+++ b/mkspecs/integrity-armv7/qmake.conf
@@ -4,7 +4,6 @@
include(../common/ghs-integrity-armv7.conf)
-DEFINES += QT_NO_CLIPBOARD
DEFINES += QT_STATICPLUGIN
QTPLUGIN.platforms += integrityfb
diff --git a/mkspecs/integrity-x86/qmake.conf b/mkspecs/integrity-x86/qmake.conf
index 4a5cfcc49d..13d4a6c082 100644
--- a/mkspecs/integrity-x86/qmake.conf
+++ b/mkspecs/integrity-x86/qmake.conf
@@ -5,7 +5,6 @@
include(../common/ghs-integrity-x86.conf)
QMAKE_CFLAGS += -cpu=Corei
-DEFINES += QT_NO_CLIPBOARD
DEFINES += QT_STATICPLUGIN
QTPLUGIN.platforms += integrityfb
diff --git a/mkspecs/macx-ios-clang/qmake.conf b/mkspecs/macx-ios-clang/qmake.conf
index a119ca6fa2..3f6d133a76 100644
--- a/mkspecs/macx-ios-clang/qmake.conf
+++ b/mkspecs/macx-ios-clang/qmake.conf
@@ -5,10 +5,10 @@
QMAKE_IOS_DEPLOYMENT_TARGET = 7.0
# Universal target (iPhone and iPad)
-QMAKE_IOS_TARGETED_DEVICE_FAMILY = 1,2
+QMAKE_APPLE_TARGETED_DEVICE_FAMILY = 1,2
-QMAKE_IOS_DEVICE_ARCHS = armv7 arm64
-QMAKE_IOS_SIMULATOR_ARCHS = i386 x86_64
+QMAKE_APPLE_DEVICE_ARCHS = armv7 arm64
+QMAKE_APPLE_SIMULATOR_ARCHS = i386 x86_64
include(../common/ios.conf)
include(../common/gcc-base-mac.conf)
diff --git a/mkspecs/macx-tvos-clang/qmake.conf b/mkspecs/macx-tvos-clang/qmake.conf
index f622256eca..d233f5b7b3 100644
--- a/mkspecs/macx-tvos-clang/qmake.conf
+++ b/mkspecs/macx-tvos-clang/qmake.conf
@@ -4,10 +4,10 @@
QMAKE_TVOS_DEPLOYMENT_TARGET = 9.1
-QMAKE_TVOS_TARGETED_DEVICE_FAMILY = 3
+QMAKE_APPLE_TARGETED_DEVICE_FAMILY = 3
-QMAKE_TVOS_DEVICE_ARCHS = arm64
-QMAKE_TVOS_SIMULATOR_ARCHS = x86_64
+QMAKE_APPLE_DEVICE_ARCHS = arm64
+QMAKE_APPLE_SIMULATOR_ARCHS = x86_64
include(../common/tvos.conf)
include(../common/gcc-base-mac.conf)
diff --git a/mkspecs/macx-watchos-clang/qmake.conf b/mkspecs/macx-watchos-clang/qmake.conf
index f01ef21cad..f68848d1e7 100644
--- a/mkspecs/macx-watchos-clang/qmake.conf
+++ b/mkspecs/macx-watchos-clang/qmake.conf
@@ -4,10 +4,10 @@
QMAKE_WATCHOS_DEPLOYMENT_TARGET = 2.2
-QMAKE_WATCHOS_TARGETED_DEVICE_FAMILY = 4
+QMAKE_APPLE_TARGETED_DEVICE_FAMILY = 4
-QMAKE_WATCHOS_DEVICE_ARCHS = armv7k
-QMAKE_WATCHOS_SIMULATOR_ARCHS = i386
+QMAKE_APPLE_DEVICE_ARCHS = armv7k
+QMAKE_APPLE_SIMULATOR_ARCHS = i386
include(../common/watchos.conf)
include(../common/gcc-base-mac.conf)
diff --git a/mkspecs/qnx-aarch64le-qcc/qmake.conf b/mkspecs/qnx-aarch64le-qcc/qmake.conf
index 6d72bd459e..5e3123bece 100644
--- a/mkspecs/qnx-aarch64le-qcc/qmake.conf
+++ b/mkspecs/qnx-aarch64le-qcc/qmake.conf
@@ -2,7 +2,7 @@
# qmake configuration for qnx aarch64le systems
#
-DEFINES += QT_NO_CLIPBOARD _FORTIFY_SOURCE=2
+DEFINES += _FORTIFY_SOURCE=2
QMAKE_LFLAGS_SHLIB += -Wl,-z,relro -Wl,-z,now
diff --git a/mkspecs/qnx-armle-v7-qcc/qmake.conf b/mkspecs/qnx-armle-v7-qcc/qmake.conf
index b77455044c..a21e5bcad3 100644
--- a/mkspecs/qnx-armle-v7-qcc/qmake.conf
+++ b/mkspecs/qnx-armle-v7-qcc/qmake.conf
@@ -3,5 +3,3 @@
#
include(../common/qcc-base-qnx-armle-v7.conf)
-
-DEFINES += QT_NO_CLIPBOARD
diff --git a/mkspecs/qnx-x86-64-qcc/qmake.conf b/mkspecs/qnx-x86-64-qcc/qmake.conf
index ebedeceb46..2a01ed1405 100644
--- a/mkspecs/qnx-x86-64-qcc/qmake.conf
+++ b/mkspecs/qnx-x86-64-qcc/qmake.conf
@@ -2,8 +2,6 @@
# qmake configuration for qnx x86-64 systems
#
-DEFINES += QT_NO_CLIPBOARD
-
QMAKE_LFLAGS_SHLIB += -Wl,-z,relro -Wl,-z,now
include(../common/qcc-base-qnx-x86-64.conf)
diff --git a/mkspecs/qnx-x86-qcc/qmake.conf b/mkspecs/qnx-x86-qcc/qmake.conf
index 36a3ba2ff3..3daadf4f02 100644
--- a/mkspecs/qnx-x86-qcc/qmake.conf
+++ b/mkspecs/qnx-x86-qcc/qmake.conf
@@ -3,5 +3,3 @@
#
include(../common/qcc-base-qnx-x86.conf)
-
-DEFINES += QT_NO_CLIPBOARD
diff --git a/qmake/generators/makefiledeps.cpp b/qmake/generators/makefiledeps.cpp
index 57cb0ea854..67c8219d4b 100644
--- a/qmake/generators/makefiledeps.cpp
+++ b/qmake/generators/makefiledeps.cpp
@@ -911,9 +911,10 @@ bool QMakeSourceFileInfo::findMocs(SourceFile *file)
debug_msg(2, "findMocs: %s", file->file.local().toLatin1().constData());
int line_count = 1;
- bool ignore[2] = { false, false }; // [0] for Q_OBJECT, [1] for Q_GADGET
+ bool ignore[3] = { false, false, false }; // [0] for Q_OBJECT, [1] for Q_GADGET, [2] for Q_NAMESPACE
/* qmake ignore Q_GADGET */
/* qmake ignore Q_OBJECT */
+ /* qmake ignore Q_NAMESPACE */
for(int x = 0; x < buffer_len; x++) {
#define SKIP_BSNL(pos) skipEscapedLineEnds(buffer, buffer_len, (pos), &line_count)
x = SKIP_BSNL(x);
@@ -946,6 +947,12 @@ bool QMakeSourceFileInfo::findMocs(SourceFile *file)
file->file.real().toLatin1().constData(), line_count);
x += 20;
ignore[1] = true;
+ } else if (buffer_len >= (x + 23) &&
+ !strncmp(buffer + x + 1, "make ignore Q_NAMESPACE", 23)) {
+ debug_msg(2, "Mocgen: %s:%d Found \"qmake ignore Q_NAMESPACE\"",
+ file->file.real().toLatin1().constData(), line_count);
+ x += 23;
+ ignore[2] = true;
}
} else if (buffer[x] == '*') {
extralines = 0;
@@ -973,8 +980,8 @@ bool QMakeSourceFileInfo::findMocs(SourceFile *file)
int morelines = 0;
int y = skipEscapedLineEnds(buffer, buffer_len, x + 1, &morelines);
if (buffer[y] == 'Q') {
- static const char interesting[][9] = { "Q_OBJECT", "Q_GADGET" };
- for (int interest = 0; interest < 2; ++interest) {
+ static const char interesting[][12] = { "Q_OBJECT", "Q_GADGET", "Q_NAMESPACE"};
+ for (int interest = 0; interest < 3; ++interest) {
if (ignore[interest])
continue;
diff --git a/qmake/generators/unix/unixmake.cpp b/qmake/generators/unix/unixmake.cpp
index 0e29f469ef..794d04a6e9 100644
--- a/qmake/generators/unix/unixmake.cpp
+++ b/qmake/generators/unix/unixmake.cpp
@@ -194,6 +194,18 @@ UnixMakefileGenerator::init()
if (!language.isEmpty()) {
pchFlags.replace(QLatin1String("${QMAKE_PCH_OUTPUT}"),
escapeFilePath(pchBaseName + language + headerSuffix));
+ const ProStringList pchArchs = project->values("QMAKE_PCH_ARCHS");
+ for (const ProString &arch : pchArchs) {
+ QString suffix = headerSuffix;
+ suffix.replace(QLatin1String("${QMAKE_PCH_ARCH}"), arch.toQString());
+ if (project->isActiveConfig("clang_pch_style")
+ && (suffix.endsWith(QLatin1String(".pch"))
+ || suffix.endsWith(QLatin1String(".gch")))) {
+ suffix.chop(4); // must omit header suffix for -include to recognize the PCH
+ }
+ pchFlags.replace(QLatin1String("${QMAKE_PCH_OUTPUT_") + arch + QLatin1Char('}'),
+ escapeFilePath(pchBaseName + language + suffix));
+ }
}
}
@@ -351,9 +363,17 @@ QStringList
if (!file.endsWith(extension.toQString()))
continue;
- QString precompiledHeader = header_prefix + language + header_suffix;
- if (!ret.contains(precompiledHeader))
- ret += precompiledHeader;
+ ProStringList pchArchs = project->values("QMAKE_PCH_ARCHS");
+ if (pchArchs.isEmpty())
+ pchArchs << ProString(); // normal single-arch PCH
+ for (const ProString &arch : qAsConst(pchArchs)) {
+ QString suffix = header_suffix;
+ if (!arch.isEmpty())
+ suffix.replace(QLatin1String("${QMAKE_PCH_ARCH}"), arch.toQString());
+ QString precompiledHeader = header_prefix + language + suffix;
+ if (!ret.contains(precompiledHeader))
+ ret += precompiledHeader;
+ }
goto foundPrecompiledDependency;
}
diff --git a/qmake/generators/unix/unixmake2.cpp b/qmake/generators/unix/unixmake2.cpp
index 433731cc4b..3d12ffd65c 100644
--- a/qmake/generators/unix/unixmake2.cpp
+++ b/qmake/generators/unix/unixmake2.cpp
@@ -1021,7 +1021,15 @@ UnixMakefileGenerator::writeMakeParts(QTextStream &t)
if (language.isEmpty())
continue;
- precomp_files += precomph_out_dir + header_prefix + language + header_suffix;
+ ProStringList pchArchs = project->values("QMAKE_PCH_ARCHS");
+ if (pchArchs.isEmpty())
+ pchArchs << ProString(); // normal single-arch PCH
+ for (const ProString &arch : qAsConst(pchArchs)) {
+ auto suffix = header_suffix.toQString();
+ if (!arch.isEmpty())
+ suffix.replace(QStringLiteral("${QMAKE_PCH_ARCH}"), arch.toQString());
+ precomp_files += precomph_out_dir + header_prefix + language + suffix;
+ }
}
}
t << "-$(DEL_FILE) " << escapeFilePaths(precomp_files).join(' ') << "\n\t";
@@ -1077,6 +1085,7 @@ UnixMakefileGenerator::writeMakeParts(QTextStream &t)
QString pchInput = project->first("PRECOMPILED_HEADER").toQString();
t << "###### Precompiled headers\n";
for (const ProString &compiler : project->values("QMAKE_BUILTIN_COMPILERS")) {
+ QString pchOutputDir;
QString pchFlags = var(ProKey("QMAKE_" + compiler + "FLAGS_PRECOMPILE"));
if(pchFlags.isEmpty())
continue;
@@ -1087,6 +1096,9 @@ UnixMakefileGenerator::writeMakeParts(QTextStream &t)
else
cflags += " $(CXXFLAGS)";
+ ProStringList pchArchs = project->values("QMAKE_PCH_ARCHS");
+ if (pchArchs.isEmpty())
+ pchArchs << ProString(); // normal single-arch PCH
ProString pchBaseName = project->first("QMAKE_ORIG_TARGET");
ProString pchOutput;
if(!project->isEmpty("PRECOMPILED_DIR"))
@@ -1113,30 +1125,47 @@ UnixMakefileGenerator::writeMakeParts(QTextStream &t)
ProString header_suffix = project->isActiveConfig("clang_pch_style")
? project->first("QMAKE_PCH_OUTPUT_EXT") : "";
pchOutput += Option::dir_sep;
- QString pchOutputDir = pchOutput.toQString();
+ pchOutputDir = pchOutput.toQString();
QString language = project->first(ProKey("QMAKE_LANGUAGE_" + compiler)).toQString();
if (language.isEmpty())
continue;
pchOutput += header_prefix + language + header_suffix;
-
- t << escapeDependencyPath(pchOutput) << ": " << escapeDependencyPath(pchInput) << ' '
- << escapeDependencyPaths(findDependencies(pchInput)).join(" \\\n\t\t")
- << "\n\t" << mkdir_p_asstring(pchOutputDir);
}
pchFlags.replace(QLatin1String("${QMAKE_PCH_INPUT}"), escapeFilePath(pchInput))
- .replace(QLatin1String("${QMAKE_PCH_OUTPUT_BASE}"), escapeFilePath(pchBaseName.toQString()))
- .replace(QLatin1String("${QMAKE_PCH_OUTPUT}"), escapeFilePath(pchOutput.toQString()));
+ .replace(QLatin1String("${QMAKE_PCH_OUTPUT_BASE}"), escapeFilePath(pchBaseName.toQString()));
+ for (const ProString &arch : qAsConst(pchArchs)) {
+ auto pchArchOutput = pchOutput.toQString();
+ if (!arch.isEmpty())
+ pchArchOutput.replace(QStringLiteral("${QMAKE_PCH_ARCH}"), arch.toQString());
+
+ if (!project->isActiveConfig("icc_pch_style")) {
+ const auto pchFilePath_d = escapeDependencyPath(pchArchOutput);
+ if (!arch.isEmpty()) {
+ t << pchFilePath_d << ": " << "EXPORT_ARCH_ARGS = -arch " << arch << "\n\n";
+ t << pchFilePath_d << ": "
+ << "EXPORT_QMAKE_XARCH_CFLAGS = $(EXPORT_QMAKE_XARCH_CFLAGS_" << arch << ")" << "\n\n";
+ t << pchFilePath_d << ": "
+ << "EXPORT_QMAKE_XARCH_LFLAGS = $(EXPORT_QMAKE_XARCH_LFLAGS_" << arch << ")" << "\n\n";
+ }
+ t << pchFilePath_d << ": " << escapeDependencyPath(pchInput) << ' '
+ << escapeDependencyPaths(findDependencies(pchInput)).join(" \\\n\t\t")
+ << "\n\t" << mkdir_p_asstring(pchOutputDir);
+ }
- QString compilerExecutable;
- if (compiler == "C" || compiler == "OBJC")
- compilerExecutable = "$(CC)";
- else
- compilerExecutable = "$(CXX)";
+ auto pchArchFlags = pchFlags;
+ pchArchFlags.replace(QLatin1String("${QMAKE_PCH_OUTPUT}"), escapeFilePath(pchArchOutput));
- // compile command
- t << "\n\t" << compilerExecutable << cflags << " $(INCPATH) " << pchFlags << endl << endl;
+ QString compilerExecutable;
+ if (compiler == "C" || compiler == "OBJC")
+ compilerExecutable = "$(CC)";
+ else
+ compilerExecutable = "$(CXX)";
+
+ // compile command
+ t << "\n\t" << compilerExecutable << cflags << " $(INCPATH) " << pchArchFlags << endl << endl;
+ }
}
}
diff --git a/qmake/generators/win32/msvc_vcproj.cpp b/qmake/generators/win32/msvc_vcproj.cpp
index 7e476eaf42..1155e45bd7 100644
--- a/qmake/generators/win32/msvc_vcproj.cpp
+++ b/qmake/generators/win32/msvc_vcproj.cpp
@@ -36,7 +36,6 @@
#include <qhash.h>
#include <quuid.h>
#include <stdlib.h>
-#include <qlinkedlist.h>
//#define DEBUG_SOLUTION_GEN
diff --git a/qtbase.pro b/qtbase.pro
index 0e44395f6f..d2d308870d 100644
--- a/qtbase.pro
+++ b/qtbase.pro
@@ -24,7 +24,6 @@ DISTCLEAN_DEPS += qmake-clean
# config.status (and configure.cache, which is the same for Windows)
# are omitted for convenience of rebuilds.
QMAKE_DISTCLEAN += \
- config.cache \
config.summary \
config.tests/.qmake.cache \
mkspecs/qconfig.pri \
@@ -76,90 +75,10 @@ prefix_build|!equals(PWD, $$OUT_PWD) {
}
-# Generate qfeatures.h
-features =
-lines = $$cat("src/corelib/global/qfeatures.txt", lines)
-for (line, lines) {
- t = $$replace(line, "^Feature: (\\S+)\\s*$", "\\1")
- !isEqual(t, $$line) {
- feature = $$t
- features += $$t
- } else {
- t = $$replace(line, "^Requires: (.*)$", "\\1")
- !isEqual(t, $$line) {
- features.$${feature}.depends = $$replace(t, \\s+$, )
- } else {
- t = $$replace(line, "^Name: (.*)$", "\\1")
- !isEqual(t, $$line) {
- features.$${feature}.name = $$replace(t, \\s+$, )
- }
- }
- }
-}
-features = $$sort_depends(features, features.)
-features = $$reverse(features)
-FEATURES_H = \
- "/*" \
- " * All feature dependencies." \
- " *" \
- " * This list is generated by qmake from <qtbase>/src/corelib/global/qfeatures.txt" \
- " */"
-FEATURES_PRI =
-for (ft, features) {
- !isEmpty(features.$${ft}.depends) {
- FEATURES_H += \
- "$${LITERAL_HASH}if !defined(QT_NO_$$ft) && ($$join($$list($$split(features.$${ft}.depends)), ") || defined(QT_NO_", "defined(QT_NO_", ")"))" \
- "$${LITERAL_HASH} define QT_NO_$$ft" \
- "$${LITERAL_HASH}endif"
- FEATURES_PRI += \
- "contains(QT_DISABLED_FEATURES, "$$lower($$join($$list($$replace(features.$${ft}.depends, _, -)), "|"))"): \\" \
- " QT_DISABLED_FEATURES += $$lower($$replace(ft, _, -))"
- }
-}
-write_file($$OUT_PWD/src/corelib/global/qfeatures.h, FEATURES_H)|error()
-# Create forwarding header
-FWD_FEATURES_H = \
- '$${LITERAL_HASH}include "../../src/corelib/global/qfeatures.h"'
-write_file($$OUT_PWD/include/QtCore/qfeatures.h, FWD_FEATURES_H)|error()
-
-no_features =
-lines = $$cat($$OUT_PWD/src/corelib/global/qconfig.h, lines)
-for (line, lines) {
- # We ignore all defines that don't follow the #ifndef + indent pattern.
- # This makes it possible to have unchecked defines which are no features.
- t = $$replace(line, "^$${LITERAL_HASH} define QT_NO_(\\S+)\\s*$", "\\1")
- !isEqual(t, $$line) {
- isEmpty(features.$${t}.name): \
- error("qconfig.h disables unknown feature $$t")
- no_features += $$t
- }
-}
-for (def, QT_NO_DEFINES) {
- !isEmpty(features.$${def}.name): \
- no_features += $$def
-}
-no_features = $$unique(no_features)
-
-# Don't simply add these to QT_CONFIG, as then one might expect them to be there without load(qfeatures).
-# And we don't want to do that automatically, as the dynamic dependency resolution is somewhat expensive.
-FEATURES_PRI = \
- "$${LITERAL_HASH} Features disabled by configure:" \
- "QT_DISABLED_FEATURES =$$lower($$join($$list($$replace(no_features, _, -)), " ", " "))" \
- "$$escape_expand(\\n)$${LITERAL_HASH} Dependencies derived from <qtbase>/src/corelib/global/qfeatures.txt:" \
- $$FEATURES_PRI \
- "QT_DISABLED_FEATURES = \$\$unique(QT_DISABLED_FEATURES)"
-write_file($$OUT_PWD/mkspecs/qfeatures.pri, FEATURES_PRI)|error()
-
-# Files created by us
-QMAKE_DISTCLEAN += \
- src/corelib/global/qfeatures.h \
- include/QtCore/qfeatures.h \
- mkspecs/qfeatures.pri
-
#mkspecs
mkspecs.path = $$[QT_HOST_DATA]/mkspecs
mkspecs.files = \
- $$OUT_PWD/mkspecs/qconfig.pri $$OUT_PWD/mkspecs/qmodule.pri $$OUT_PWD/mkspecs/qfeatures.pri \
+ $$OUT_PWD/mkspecs/qconfig.pri $$OUT_PWD/mkspecs/qmodule.pri \
$$OUT_PWD/mkspecs/qdevice.pri $$OUT_PWD/mkspecs/qhost.pri \
$$files($$PWD/mkspecs/*)
mkspecs.files -= $$PWD/mkspecs/modules $$PWD/mkspecs/modules-inst
diff --git a/src/3rdparty/freetype/freetype.pro b/src/3rdparty/freetype/freetype.pro
index 41ca469576..1e12dadc5d 100644
--- a/src/3rdparty/freetype/freetype.pro
+++ b/src/3rdparty/freetype/freetype.pro
@@ -68,6 +68,8 @@ DEFINES += FT2_BUILD_LIBRARY
DEFINES += FT_CONFIG_OPTION_SYSTEM_ZLIB
include(../zlib_dependency.pri)
+QT_FOR_CONFIG += gui-private
+include(../../gui/qtgui-config.pri)
DEFINES += FT_CONFIG_OPTION_USE_PNG
include($$PWD/../png_dependency.pri)
diff --git a/src/3rdparty/pcre_dependency.pri b/src/3rdparty/pcre_dependency.pri
index fa7df4df0e..f1355eabe6 100644
--- a/src/3rdparty/pcre_dependency.pri
+++ b/src/3rdparty/pcre_dependency.pri
@@ -1,7 +1,7 @@
-pcre {
+qtConfig(system-pcre) {
+ QMAKE_USE_PRIVATE += pcre
+} else {
win32: DEFINES += PCRE_STATIC
INCLUDEPATH += $$PWD/pcre
LIBS_PRIVATE += -L$$QT_BUILD_TREE/lib -lqtpcre$$qtPlatformTargetSuffix()
-} else {
- QMAKE_USE_PRIVATE += pcre
}
diff --git a/src/angle/src/common/common.pri b/src/angle/src/common/common.pri
index c948e27dc3..e9351b2c42 100644
--- a/src/angle/src/common/common.pri
+++ b/src/angle/src/common/common.pri
@@ -1,4 +1,5 @@
# static builds should still link ANGLE dynamically when dynamic GL is enabled
+include(../../../gui/qtgui-config.pri)
static:qtConfig(dynamicgl) {
CONFIG -= static
CONFIG += shared
diff --git a/src/angle/src/compiler/preprocessor/preprocessor.pro b/src/angle/src/compiler/preprocessor/preprocessor.pro
index f9170b3bee..c13cf7ba8d 100644
--- a/src/angle/src/compiler/preprocessor/preprocessor.pro
+++ b/src/angle/src/compiler/preprocessor/preprocessor.pro
@@ -1,4 +1,5 @@
CONFIG += static
+include(../../../../gui/qtgui-config.pri)
qtConfig(dynamicgl): CONFIG += not_installed
include(../../config.pri)
diff --git a/src/angle/src/compiler/translator.pro b/src/angle/src/compiler/translator.pro
index cee13d06bb..4c0a05e45c 100644
--- a/src/angle/src/compiler/translator.pro
+++ b/src/angle/src/compiler/translator.pro
@@ -1,4 +1,5 @@
CONFIG += static
+include(../../../gui/qtgui-config.pri)
qtConfig(dynamicgl): CONFIG += not_installed
include(../config.pri)
diff --git a/src/corelib/configure.json b/src/corelib/configure.json
new file mode 100644
index 0000000000..b0c78f5122
--- /dev/null
+++ b/src/corelib/configure.json
@@ -0,0 +1,611 @@
+{
+ "module": "core",
+ "testDir": "../../config.tests",
+
+ "commandline": {
+ "options": {
+ "doubleconversion": { "type": "enum", "values": [ "no", "qt", "system" ] },
+ "eventfd": "boolean",
+ "glib": "boolean",
+ "iconv": { "type": "enum", "values": [ "no", "yes", "posix", "sun", "gnu" ] },
+ "icu": "boolean",
+ "inotify": "boolean",
+ "journald": "boolean",
+ "pcre": { "type": "enum", "values": [ "qt", "system" ] },
+ "posix-ipc": { "type": "boolean", "name": "ipc_posix" },
+ "pps": { "type": "boolean", "name": "qqnx_pps" },
+ "slog2": "boolean",
+ "syslog": "boolean"
+ }
+ },
+
+ "libraries": {
+ "doubleconversion": {
+ "label": "DoubleConversion",
+ "test": "unix/doubleconversion",
+ "sources": [
+ "-ldouble-conversion"
+ ]
+ },
+ "glib": {
+ "label": "GLib",
+ "test": "unix/glib",
+ "sources": [
+ { "type": "pkgConfig", "args": "glib-2.0 gthread-2.0" }
+ ]
+ },
+ "gnu_iconv": {
+ "label": "GNU libiconv",
+ "export": "iconv",
+ "test": "unix/gnu-libiconv",
+ "sources": [
+ "-liconv"
+ ]
+ },
+ "icu": {
+ "label": "ICU",
+ "export": "",
+ "test": "unix/icu",
+ "sources": [
+ {
+ "builds": {
+ "debug": "-lsicuind -lsicuucd -lsicudtd",
+ "release": "-lsicuin -lsicuuc -lsicudt"
+ },
+ "condition": "config.win32 && !features.shared"
+ },
+ { "libs": "-licuin -licuuc -licudt", "condition": "config.win32 && features.shared" },
+ { "libs": "-licui18n -licuuc -licudata", "condition": "!config.win32" }
+ ]
+ },
+ "journald": {
+ "label": "journald",
+ "test": "unix/journald",
+ "export": "",
+ "sources": [
+ { "type": "pkgConfig", "args": "libsystemd" },
+ { "type": "pkgConfig", "args": "libsystemd-journal" }
+ ]
+ },
+ "libatomic": {
+ "label": "64 bit atomics in libatomic",
+ "test": "common/atomic64",
+ "sources": [
+ "-latomic"
+ ]
+ },
+ "libdl": {
+ "label": "dlopen() in libdl",
+ "export": "",
+ "test": "unix/dlopen",
+ "sources": [
+ "-ldl"
+ ]
+ },
+ "pcre": {
+ "label": "PCRE",
+ "test": "unix/pcre",
+ "sources": [
+ "-lpcre16"
+ ]
+ },
+ "pps": {
+ "label": "PPS",
+ "test": "unix/pps",
+ "sources": [
+ "-lpps"
+ ]
+ },
+ "slog2": {
+ "label": "slog2",
+ "test": "unix/slog2",
+ "export": "",
+ "sources": [
+ "-lslog2"
+ ]
+ }
+ },
+
+ "tests": {
+ "atomic64": {
+ "label": "64 bit atomics",
+ "type": "compile",
+ "test": "common/atomic64"
+ },
+ "atomicfptr": {
+ "label": "working std::atomic for function pointers",
+ "type": "compile",
+ "test": "common/atomicfptr"
+ },
+ "clock-gettime": {
+ "label": "clock_gettime()",
+ "type": "compile",
+ "test": "unix/clock-gettime"
+ },
+ "clock-monotonic": {
+ "label": "POSIX monotonic clock",
+ "type": "compile",
+ "test": "unix/clock-monotonic"
+ },
+ "cloexec": {
+ "label": "O_CLOEXEC",
+ "type": "compile",
+ "test": "unix/cloexec"
+ },
+ "dlopen": {
+ "label": "dlopen() in libc",
+ "type": "compile",
+ "test": "unix/dlopen"
+ },
+ "eventfd": {
+ "label": "eventfd",
+ "type": "compile",
+ "test": "unix/eventfd"
+ },
+ "posix-iconv": {
+ "label": "POSIX iconv",
+ "type": "compile",
+ "test": "unix/iconv"
+ },
+ "sun-iconv": {
+ "label": "SUN libiconv",
+ "type": "compile",
+ "test": "unix/sun-libiconv"
+ },
+ "inotify": {
+ "label": "inotify",
+ "type": "compile",
+ "test": "unix/inotify"
+ },
+ "ipc_sysv": {
+ "label": "SysV IPC",
+ "type": "compile",
+ "test": "unix/ipc_sysv"
+ },
+ "ipc_posix": {
+ "label": "POSIX IPC",
+ "type": "compile",
+ "test": "unix/ipc_posix"
+ },
+ "journald": {
+ "label": "journald",
+ "type": "compile",
+ "test": "unix/journald"
+ },
+ "ppoll": {
+ "label": "ppoll()",
+ "type": "compile",
+ "test": "unix/ppoll"
+ },
+ "pollts": {
+ "label": "pollts()",
+ "type": "compile",
+ "test": "unix/pollts"
+ },
+ "poll": {
+ "label": "poll()",
+ "type": "compile",
+ "test": "unix/poll"
+ },
+ "syslog": {
+ "label": "syslog",
+ "type": "compile",
+ "test": "unix/syslog"
+ },
+ "xlocalescanprint": {
+ "label": "xlocale.h (or equivalents)",
+ "type": "compile",
+ "test": "common/xlocalescanprint"
+ }
+ },
+
+ "features": {
+ "clock-gettime": {
+ "label": "clock_gettime()",
+ "condition": "tests.clock-gettime",
+ "output": [ "privateFeature" ]
+ },
+ "clock-monotonic": {
+ "label": "POSIX monotonic clock",
+ "condition": "features.clock-gettime && tests.clock-monotonic",
+ "output": [ "feature" ]
+ },
+ "dlopen": {
+ "label": "dlopen()",
+ "condition": "tests.dlopen || libs.libdl",
+ "output": [ { "type": "define", "negative": true, "name": "QT_NO_DYNAMIC_LIBRARY" } ]
+ },
+ "libdl": {
+ "label": "dlopen() in libdl",
+ "condition": "!tests.dlopen && libs.libdl",
+ "output": [ { "type": "privateConfig", "negative": true } ]
+ },
+ "doubleconversion": {
+ "label": "DoubleConversion",
+ "output": [ "privateFeature", "feature" ]
+ },
+ "system-doubleconversion": {
+ "label": " Using system DoubleConversion",
+ "enable": "input.doubleconversion == 'system'",
+ "disable": "input.doubleconversion == 'qt'",
+ "condition": "features.doubleconversion && libs.doubleconversion",
+ "output": [ "privateFeature" ]
+ },
+ "eventfd": {
+ "label": "eventfd",
+ "condition": "tests.eventfd",
+ "output": [ "feature" ]
+ },
+ "glib": {
+ "label": "GLib",
+ "autoDetect": "!config.win32",
+ "condition": "libs.glib",
+ "output": [ "privateFeature", "feature" ]
+ },
+ "iconv": {
+ "label": "iconv",
+ "purpose": "Provides internationalization on Unix.",
+ "section": "Internationalization",
+ "condition": "features.posix-libiconv || features.sun-libiconv || features.gnu-libiconv",
+ "output": [ "privateFeature", "feature" ]
+ },
+ "posix-libiconv": {
+ "label": "POSIX iconv",
+ "enable": "input.iconv == 'posix'",
+ "disable": "input.iconv == 'sun' || input.iconv == 'gnu' || input.iconv == 'no'",
+ "condition": "!config.win32 && !config.qnx && !config.android && !config.darwin && tests.posix-iconv"
+ },
+ "sun-libiconv": {
+ "label": "SUN iconv",
+ "enable": "input.iconv == 'sun'",
+ "disable": "input.iconv == 'posix' || input.iconv == 'gnu' || input.iconv == 'no'",
+ "condition": "!config.win32 && !config.qnx && !config.android && !config.darwin && !features.posix-libiconv && tests.sun-iconv",
+ "output": [ "privateFeature", "publicQtConfig" ]
+ },
+ "gnu-libiconv": {
+ "label": "GNU iconv",
+ "enable": "input.iconv == 'gnu'",
+ "disable": "input.iconv == 'posix' || input.iconv == 'sun' || input.iconv == 'no'",
+ "condition": "!config.win32 && !config.qnx && !config.android && !config.darwin && !features.posix-libiconv && !features.sun-libiconv && libs.gnu_iconv",
+ "output": [ "privateFeature" ]
+ },
+ "icu": {
+ "label": "ICU",
+ "autoDetect": "!config.win32",
+ "condition": "libs.icu",
+ "output": [ "privateFeature" ]
+ },
+ "inotify": {
+ "label": "inotify",
+ "condition": "tests.inotify",
+ "output": [ "privateFeature", "feature" ]
+ },
+ "ipc_posix": {
+ "label": "Using POSIX IPC",
+ "autoDetect": "!config.win32",
+ "condition": "!tests.ipc_sysv && tests.ipc_posix",
+ "output": [ { "type": "define", "name": "QT_POSIX_IPC" } ]
+ },
+ "journald": {
+ "label": "journald",
+ "autoDetect": false,
+ "condition": "libs.journald",
+ "output": [ "privateConfig" ]
+ },
+ "std-atomic64": {
+ "label": "64 bit atomic operations",
+ "condition": "tests.atomic64 || libs.libatomic",
+ "output": [ { "type": "define", "negative": true, "name": "QT_NO_STD_ATOMIC64" } ]
+ },
+ "libatomic": {
+ "label": "64 bit atomic operations in libatomic",
+ "condition": "!tests.atomic64 && libs.libatomic",
+ "output": [ "privateFeature" ]
+ },
+ "mimetype": {
+ "label": "Mimetype handling",
+ "purpose": "Provides MIME type handling.",
+ "section": "Utilities",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "system-pcre": {
+ "label": "Using system PCRE",
+ "disable": "input.pcre == 'qt'",
+ "enable": "input.pcre == 'system'",
+ "condition": "libs.pcre",
+ "output": [
+ "privateFeature",
+ { "type": "privateConfig", "negative": true, "name": "pcre" }
+ ]
+ },
+ "poll_ppoll": {
+ "label": "Native ppoll()",
+ "emitIf": "!config.win32",
+ "condition": "tests.ppoll",
+ "output": [ "privateFeature" ]
+ },
+ "poll_pollts": {
+ "label": "Native pollts()",
+ "emitIf": "!config.win32",
+ "condition": "!features.poll_ppoll && tests.pollts",
+ "output": [ "privateFeature" ]
+ },
+ "poll_poll": {
+ "label": "Native poll()",
+ "emitIf": "!config.win32",
+ "condition": "!features.poll_ppoll && !features.poll_pollts && tests.poll",
+ "output": [ "privateFeature" ]
+ },
+ "poll_select": {
+ "label": "Emulated poll()",
+ "emitIf": "!config.win32",
+ "condition": "!features.poll_ppoll && !features.poll_pollts && !features.poll_poll",
+ "output": [
+ "privateFeature",
+ { "type": "define", "name": "QT_NO_NATIVE_POLL" }
+ ]
+ },
+ "qqnx_pps": {
+ "label": "PPS",
+ "emitIf": "config.qnx",
+ "condition": "libs.pps",
+ "output": [ "privateConfig" ]
+ },
+ "qeventtransition": {
+ "label": "QEventTransition class",
+ "output": [ "publicFeature" ]
+ },
+ "sharedmemory": {
+ "label": "Enable QSharedMemory",
+ "condition": "config.android || config.win32 || tests.ipc_sysv || tests.ipc_posix",
+ "output": [ { "type": "define", "negative": true, "name": "QT_NO_SHAREDMEMORY" } ]
+ },
+ "slog2": {
+ "label": "slog2",
+ "condition": "libs.slog2",
+ "emitIf": "config.qnx",
+ "output": [ "privateConfig" ]
+ },
+ "syslog": {
+ "label": "syslog",
+ "autoDetect": false,
+ "condition": "tests.syslog",
+ "output": [ "privateConfig" ]
+ },
+ "systemsemaphore": {
+ "label": "Enable QSystemSemaphore",
+ "condition": "config.android || config.win32 || tests.ipc_sysv || tests.ipc_posix",
+ "output": [ { "type": "define", "negative": true, "name": "QT_NO_SYSTEMSEMAPHORE" } ]
+ },
+ "threadsafe-cloexec": {
+ "label": "Threadsafe pipe creation",
+ "condition": "tests.cloexec",
+ "output": [
+ "publicQtConfig",
+ { "type": "define", "name": "QT_THREADSAFE_CLOEXEC", "value": 1 }
+ ]
+ },
+ "properties": {
+ "label": "Properties",
+ "purpose": "Supports scripting Qt-based applications.",
+ "section": "Kernel",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "regularexpression": {
+ "label": "QRegularExpression",
+ "purpose": "Provides an API to Perl-compatible regular expressions.",
+ "section": "Kernel",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "sharedmemory": {
+ "label": "QSharedMemory",
+ "purpose": "Provides access to a shared memory segment.",
+ "section": "Kernel",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "systemsemaphore": {
+ "label": "QSystemSemaphore",
+ "purpose": "Provides a general counting system semaphore.",
+ "section": "Kernel",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "xmlstream": {
+ "label": "XML Streaming APIs",
+ "purpose": "Provides a simple streaming API for XML.",
+ "section": "Kernel",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "xmlstreamreader": {
+ "label": "QXmlStreamReader",
+ "purpose": "Provides a well-formed XML parser with a simple streaming API.",
+ "section": "Kernel",
+ "condition": "features.xmlstream",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "xmlstreamwriter": {
+ "label": "QXmlStreamWriter",
+ "purpose": "Provides a XML writer with a simple streaming API.",
+ "section": "Kernel",
+ "condition": "features.xmlstream",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "textdate": {
+ "label": "Text Date",
+ "purpose": "Supports month and day names in dates.",
+ "section": "Data structures",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "datestring": {
+ "label": "QDate/QTime/QDateTime",
+ "purpose": "Provides convertion between dates and strings.",
+ "section": "Data structures",
+ "condition": "features.textdate",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "process": {
+ "label": "QProcess",
+ "purpose": "Supports external process invocation.",
+ "section": "File I/O",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "temporaryfile": {
+ "label": "QTemporaryFile",
+ "purpose": "Provides an I/O device that operates on temporary files.",
+ "section": "File I/O",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "library": {
+ "label": "QLibrary",
+ "purpose": "Provides a wrapper for dynamically loaded libraries.",
+ "section": "File I/O",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "settings": {
+ "label": "QSettings",
+ "purpose": "Provides persistent application settings.",
+ "section": "File I/O",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "filesystemwatcher": {
+ "label": "QFileSystemWatcher",
+ "purpose": "Provides an interface for monitoring files and directories for modifications.",
+ "section": "File I/O",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "filesystemiterator": {
+ "label": "QFileSystemIterator",
+ "purpose": "Provides fast file system iteration.",
+ "section": "File I/O",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "itemmodel": {
+ "label": "Qt Item Model",
+ "purpose": "Provides the item model for item views",
+ "section": "ItemViews",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "proxymodel": {
+ "label": "QAbstractProxyModel",
+ "purpose": "Supports processing of data passed between another model and a view.",
+ "section": "ItemViews",
+ "condition": "features.itemmodel",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "sortfilterproxymodel": {
+ "label": "QSortFilterProxyModel",
+ "purpose": "Supports sorting and filtering of data passed between another model and a view.",
+ "section": "ItemViews",
+ "condition": "features.proxymodel",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "identityproxymodel": {
+ "label": "QIdentityProxyModel",
+ "purpose": "Supports proxying a source model unmodified.",
+ "section": "ItemViews",
+ "condition": "features.proxymodel",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "stringlistmodel": {
+ "label": "QStringListModel",
+ "purpose": "Provides a model that supplies strings to views.",
+ "section": "ItemViews",
+ "condition": "features.itemmodel",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "translation": {
+ "label": "Translation",
+ "purpose": "Supports translations using QObject::tr().",
+ "section": "Internationalization",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "textcodec": {
+ "label": "QTextCodec",
+ "purpose": "Supports conversions between text encodings.",
+ "section": "Internationalization",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "codecs": {
+ "label": "Codecs",
+ "purpose": "Supports non-unicode text conversions.",
+ "section": "Internationalization",
+ "condition": "features.textcodec",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "big_codecs": {
+ "label": "Big Codecs",
+ "purpose": "Supports big codecs, e.g. CJK.",
+ "section": "Internationalization",
+ "condition": "features.textcodec",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "animation": {
+ "label": "Animation",
+ "purpose": "Provides a framework for animations.",
+ "section": "Utilities",
+ "condition": "features.properties",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "statemachine": {
+ "label": "State machine",
+ "purpose": "Provides hierarchical finite state machines.",
+ "section": "Utilities",
+ "condition": "features.properties",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "gestures": {
+ "label": "Gesture",
+ "purpose": "Provides a framework for gestures.",
+ "section": "Utilities",
+ "output": [ "publicFeature", "feature" ]
+ }
+ },
+
+ "report": [
+ {
+ "type": "note",
+ "condition": "features.journald || features.syslog || (config.qnx && features.slog2)",
+ "message": "journald, syslog or slog2 integration is enabled.
+If your users intend to develop applications against this build,
+ensure that the IDEs they use either set QT_LOGGING_TO_CONSOLE to 1
+or are able to read the logged output from journald, syslog or slog2."
+ },
+ {
+ "type": "error",
+ "condition": "input.doubleconversion == 'no' && !tests.xlocalescanprint",
+ "message": "Your C library does not provide sscanf_l or snprintf_l.
+You need to use libdouble-conversion for double/string conversion."
+ },
+ {
+ "type": "error",
+ "condition": "!tests.atomicfptr",
+ "message": "detected a std::atomic implementation that fails for function pointers.
+Please apply the patch corresponding to your Standard Library vendor, found in
+ qtbase/config.tests/common/atomicfptr"
+ }
+ ],
+
+ "summary": [
+ {
+ "section": "Qt Core",
+ "entries": [
+ "doubleconversion",
+ "system-doubleconversion",
+ "glib",
+ "iconv",
+ "icu",
+ {
+ "section": "Logging backends",
+ "entries": [
+ "journald", "syslog", "slog2"
+ ]
+ },
+ {
+ "type": "feature",
+ "args": "qqnx_pps",
+ "condition": "config.qnx"
+ },
+ "system-pcre"
+ ]
+ }
+ ]
+}
diff --git a/src/corelib/corelib.pro b/src/corelib/corelib.pro
index 1db814180b..616a9641a1 100644
--- a/src/corelib/corelib.pro
+++ b/src/corelib/corelib.pro
@@ -31,8 +31,6 @@ ANDROID_PERMISSIONS = \
# OpenBSD 6.0 will include environ in libc.
freebsd|openbsd: QMAKE_LFLAGS_NOUNDEF =
-load(qfeatures)
-
include(animation/animation.pri)
include(arch/arch.pri)
include(global/global.pri)
@@ -100,6 +98,7 @@ cmake_umbrella_config_version_file.output = $$DESTDIR/cmake/Qt5/Qt5ConfigVersion
load(cmake_functions)
+##### This requires fixing, so that the feature system works with cmake as well
CMAKE_DISABLED_FEATURES = $$join(QT_DISABLED_FEATURES, "$$escape_expand(\\n) ")
CMAKE_HOST_DATA_DIR = $$cmakeRelativePath($$[QT_HOST_DATA/src], $$[QT_INSTALL_PREFIX])
diff --git a/src/corelib/global/qcompilerdetection.h b/src/corelib/global/qcompilerdetection.h
index 085e3063b4..a48548bc90 100644
--- a/src/corelib/global/qcompilerdetection.h
+++ b/src/corelib/global/qcompilerdetection.h
@@ -942,7 +942,8 @@
# endif /* VC 11 */
# if _MSC_VER >= 1800
/* C++11 features in VC12 = VC2013 */
-# define Q_COMPILER_DEFAULT_MEMBERS
+/* Implemented, but can't be used on move special members */
+/* # define Q_COMPILER_DEFAULT_MEMBERS */
# define Q_COMPILER_DELETE_MEMBERS
# define Q_COMPILER_DELEGATING_CONSTRUCTORS
# define Q_COMPILER_EXPLICIT_CONVERSIONS
@@ -960,6 +961,7 @@
# endif /* VC 12 SP 2 RC */
# if _MSC_VER >= 1900
/* C++11 features in VC14 = VC2015 */
+# define Q_COMPILER_DEFAULT_MEMBERS
# define Q_COMPILER_ALIGNAS
# define Q_COMPILER_ALIGNOF
// Partial support, insufficient for Qt
diff --git a/src/corelib/global/qglobal.h b/src/corelib/global/qglobal.h
index e6d65b0f99..f11ec127e0 100644
--- a/src/corelib/global/qglobal.h
+++ b/src/corelib/global/qglobal.h
@@ -58,7 +58,7 @@
#ifndef QT_BOOTSTRAPPED
#include <QtCore/qconfig.h>
-#include <QtCore/qfeatures.h>
+#include <QtCore/qtcore-config.h>
#endif
// The QT_SUPPORTS macro is deprecated. Don't use it in new code.
@@ -943,10 +943,11 @@ template <typename T>
class QForeachContainer {
QForeachContainer &operator=(const QForeachContainer &) Q_DECL_EQ_DELETE;
public:
- inline QForeachContainer(const T& t) : c(t), i(c.begin()), e(c.end()), control(1) { }
+ QForeachContainer(const T &t) : c(t) {}
+ QForeachContainer(T &&t) : c(std::move(t)) {}
const T c;
- typename T::const_iterator i, e;
- int control;
+ typename T::const_iterator i = c.begin(), e = c.end();
+ int control = 1;
};
// Explanation of the control word:
diff --git a/src/corelib/global/qglobal_p.h b/src/corelib/global/qglobal_p.h
index e75d87b384..c329357f46 100644
--- a/src/corelib/global/qglobal_p.h
+++ b/src/corelib/global/qglobal_p.h
@@ -50,6 +50,7 @@
#ifndef QT_BOOTSTRAPPED
#include <QtCore/private/qconfig_p.h>
+#include <QtCore/private/qtcore-config_p.h>
#endif
#define QT_LIBRARY_VERSION(lib) QT_LIBRARY_VERSION_##lib
diff --git a/src/corelib/global/qlibraryinfo.cpp b/src/corelib/global/qlibraryinfo.cpp
index 4303f74709..1a7d64780f 100644
--- a/src/corelib/global/qlibraryinfo.cpp
+++ b/src/corelib/global/qlibraryinfo.cpp
@@ -616,10 +616,10 @@ QStringList QLibraryInfo::platformPluginArguments(const QString &platformName)
#if !defined(QT_BUILD_QMAKE) && !defined(QT_NO_SETTINGS)
QScopedPointer<const QSettings> settings(QLibraryInfoPrivate::findConfiguration());
if (!settings.isNull()) {
- QString key = QLatin1String(platformsSection);
- key += QLatin1Char('/');
- key += platformName;
- key += QLatin1String("Arguments");
+ const QString key = QLatin1String(platformsSection)
+ + QLatin1Char('/')
+ + platformName
+ + QLatin1String("Arguments");
return settings->value(key).toStringList();
}
#endif // !QT_BUILD_QMAKE && !QT_NO_SETTINGS
diff --git a/src/corelib/io/qtextstream.cpp b/src/corelib/io/qtextstream.cpp
index 80df3a12e1..9b565bff9d 100644
--- a/src/corelib/io/qtextstream.cpp
+++ b/src/corelib/io/qtextstream.cpp
@@ -2651,6 +2651,7 @@ QTextStream &QTextStream::operator<<(const char *string)
{
Q_D(QTextStream);
CHECK_VALID_STREAM(*this);
+ // ### Qt6: consider changing to UTF-8
d->putString(QLatin1String(string));
return *this;
}
diff --git a/src/corelib/tools/qbytearray.cpp b/src/corelib/tools/qbytearray.cpp
index 71bbd80980..7d9c5dc325 100644
--- a/src/corelib/tools/qbytearray.cpp
+++ b/src/corelib/tools/qbytearray.cpp
@@ -303,13 +303,14 @@ char *qstrncpy(char *dst, const char *src, uint len)
{
if (!src || !dst)
return 0;
+ if (len > 0) {
#if defined(_MSC_VER) && _MSC_VER >= 1400
- strncpy_s(dst, len, src, len-1);
+ strncpy_s(dst, len, src, len - 1);
#else
- strncpy(dst, src, len);
+ strncpy(dst, src, len);
#endif
- if (len > 0)
dst[len-1] = '\0';
+ }
return dst;
}
diff --git a/src/corelib/tools/qlocale_win.cpp b/src/corelib/tools/qlocale_win.cpp
index 42ac888e47..b5f97b5fe8 100644
--- a/src/corelib/tools/qlocale_win.cpp
+++ b/src/corelib/tools/qlocale_win.cpp
@@ -57,7 +57,7 @@
#include <wrl.h>
#include <windows.foundation.h>
#include <windows.foundation.collections.h>
-#include <windows.globalization.h>
+#include <windows.system.userprofile.h>
#endif // Q_OS_WINRT
QT_BEGIN_NAMESPACE
@@ -70,6 +70,7 @@ static QString winIso3116CtryName(LCID id = LOCALE_USER_DEFAULT);
using namespace Microsoft::WRL;
using namespace Microsoft::WRL::Wrappers;
using namespace ABI::Windows::Foundation;
+using namespace ABI::Windows::System::UserProfile;
static QByteArray getWinLocaleName(LPWSTR id = LOCALE_NAME_USER_DEFAULT);
static const char *winLangCodeToIsoName(int code);
@@ -624,16 +625,17 @@ QVariant QSystemLocalePrivate::uiLanguages()
return result;
#else // !Q_OS_WINRT
QStringList result;
- ComPtr<ABI::Windows::Globalization::IApplicationLanguagesStatics> appLanguagesStatics;
- if (FAILED(GetActivationFactory(HString::MakeReference(RuntimeClass_Windows_Globalization_ApplicationLanguages).Get(), &appLanguagesStatics))) {
+
+ ComPtr<IGlobalizationPreferencesStatics> preferences;
+ HRESULT hr = GetActivationFactory(HString::MakeReference(RuntimeClass_Windows_System_UserProfile_GlobalizationPreferences).Get(), &preferences);
+ if (FAILED(hr)) {
qWarning("Could not obtain ApplicationLanguagesStatic");
return QStringList();
}
ComPtr<ABI::Windows::Foundation::Collections::IVectorView<HSTRING> > languageList;
- // Languages is a ranked list of "long names" (e.g. en-US) of preferred languages, which matches
- // languages from the manifest with languages from the user's system.
- HRESULT hr = appLanguagesStatics->get_Languages(&languageList);
+ // Languages is a ranked list of "long names" (e.g. en-US) of preferred languages
+ hr = preferences->get_Languages(&languageList);
Q_ASSERT_SUCCEEDED(hr);
unsigned int size;
hr = languageList->get_Size(&size);
@@ -648,36 +650,6 @@ QVariant QSystemLocalePrivate::uiLanguages()
result << QString::fromWCharArray(rawString, length);
}
- // ManifestLanguages covers all languages given in the manifest and uses short names (like "en").
- hr = appLanguagesStatics->get_ManifestLanguages(&languageList);
- Q_ASSERT_SUCCEEDED(hr);
- hr = languageList->get_Size(&size);
- Q_ASSERT_SUCCEEDED(hr);
- for (unsigned int i = 0; i < size; ++i) {
- HString language;
- hr = languageList->GetAt(i, language.GetAddressOf());
- Q_ASSERT_SUCCEEDED(hr);
- UINT32 length;
- PCWSTR rawString = language.GetRawBuffer(&length);
- const QString qLanguage = QString::fromWCharArray(rawString, length);
- bool found = false;
- // Since ApplicationLanguages:::Languages uses long names, we compare the "pre-dash" part of
- // the language and filter it out, if it is already covered by a more specialized form.
- for (const QString &lang : qAsConst(result)) {
- int dashIndex = lang.indexOf('-');
- // There will not be any long name after the first short name was found, so we can stop.
- if (dashIndex == -1)
- break;
-
- if (lang.leftRef(dashIndex) == qLanguage) {
- found = true;
- break;
- }
- }
- if (!found)
- result << qLanguage;
- }
-
return result;
#endif // Q_OS_WINRT
}
diff --git a/src/corelib/tools/tools.pri b/src/corelib/tools/tools.pri
index 7ebd9cf710..e3d89651e4 100644
--- a/src/corelib/tools/tools.pri
+++ b/src/corelib/tools/tools.pri
@@ -168,7 +168,7 @@ qtConfig(icu) {
SOURCES += tools/qcollator_posix.cpp
}
-!contains(QT_DISABLED_FEATURES, regularexpression) {
+qtConfig(regularexpression) {
include($$PWD/../../3rdparty/pcre_dependency.pri)
HEADERS += tools/qregularexpression.h
diff --git a/src/gui/configure.json b/src/gui/configure.json
new file mode 100644
index 0000000000..376359ba37
--- /dev/null
+++ b/src/gui/configure.json
@@ -0,0 +1,1095 @@
+{
+ "module": "gui",
+ "depends": [
+ "core"
+ ],
+ "testDir": "../../config.tests",
+
+ "commandline": {
+ "options": {
+ "angle": "boolean",
+ "directfb": "boolean",
+ "directwrite": "boolean",
+ "egl": "boolean",
+ "eglfs": "boolean",
+ "evdev": "boolean",
+ "fontconfig": "boolean",
+ "freetype": { "type": "enum", "values": [ "no", "qt", "system" ] },
+ "gbm": "boolean",
+ "gif": "boolean",
+ "harfbuzz": { "type": "enum", "values": [ "no", "qt", "system" ] },
+ "ico": "boolean",
+ "imf": { "type": "boolean", "name": "qqnx_imf" },
+ "kms": "boolean",
+ "lgmon": "boolean",
+ "libinput": "boolean",
+ "libjpeg": { "type": "enum", "values": [ "no", "qt", "system" ] },
+ "libpng": { "type": "enum", "values": [ "no", "qt", "system" ] },
+ "linuxfb": "boolean",
+ "mirclient": "boolean",
+ "mtdev": "boolean",
+ "opengl": { "type": "optionalString", "values": [ "no", "yes", "desktop", "es2", "dynamic" ] },
+ "opengl-es-2": { "type": "void", "name": "opengl", "value": "es2" },
+ "opengles3": "boolean",
+ "qpa": { "type": "string", "name": "qpa_default_platform" },
+ "qpa-platform-guard": "boolean",
+ "sm": { "type": "boolean", "name": "sessionmanager" },
+ "tslib": "boolean",
+ "xcb": { "type": "enum", "values": [ "no", "yes", "qt", "system" ] },
+ "xcb-xlib": "boolean",
+ "xinput2": "boolean",
+ "xkb": "boolean",
+ "xkb-config-root": "string",
+ "xkbcommon": { "type": "enum", "values": [ "no", "qt", "system" ] },
+ "xkbcommon-evdev": "boolean",
+ "xkbcommon-x11": { "type": "enum", "name": "xkbcommon", "values": [ "no", "qt", "system" ] },
+ "xrender": "boolean"
+ }
+ },
+
+ "libraries": {
+ "bcm_host": {
+ "export": "",
+ "sources": [
+ "-lbcm_host"
+ ]
+ },
+ "directfb": {
+ "label": "DirectFB",
+ "test": "qpa/directfb",
+ "sources": [
+ { "type": "pkgConfig", "args": "directfb" }
+ ]
+ },
+ "directwrite": {
+ "label": "DirectWrite",
+ "export": "",
+ "test": "win/directwrite",
+ "sources": [
+ "-ldwrite"
+ ]
+ },
+ "drm": {
+ "label": "KMS",
+ "test": "qpa/kms",
+ "sources": [
+ { "type": "pkgConfig", "args": "libdrm" },
+ "-ldrm"
+ ]
+ },
+ "egl": {
+ "label": "EGL",
+ "test": "qpa/egl",
+ "sources": [
+ { "type": "pkgConfig", "args": "egl" },
+ { "type": "makeSpec", "spec": "EGL" }
+ ]
+ },
+ "freetype": {
+ "label": "FreeType",
+ "export": "",
+ "test": "unix/freetype",
+ "sources": [
+ "-lfreetype"
+ ]
+ },
+ "fontconfig": {
+ "label": "Fontconfig",
+ "test": "unix/fontconfig",
+ "sources": [
+ { "type": "pkgConfig", "args": "fontconfig freetype2" },
+ "-lfontconfig -lfreetype"
+ ]
+ },
+ "gbm": {
+ "label": "GBM",
+ "test": "qpa/gbm",
+ "sources": [
+ { "type": "pkgConfig", "args": "gbm" }
+ ]
+ },
+ "harfbuzz": {
+ "label": "HarfBuzz",
+ "test": "unix/harfbuzz",
+ "sources": [
+ "-lharfbuzz"
+ ]
+ },
+ "imf": {
+ "label": "IMF",
+ "export": "",
+ "test": "unix/qqnx_imf",
+ "sources": [
+ "-linput_client"
+ ]
+ },
+ "lgmon": {
+ "label": "lgmon",
+ "test": "unix/lgmon",
+ "sources": [
+ "-llgmon"
+ ]
+ },
+ "libinput": {
+ "label": "libinput",
+ "test": "unix/libinput",
+ "sources": [
+ { "type": "pkgConfig", "args": "libinput" }
+ ]
+ },
+ "libjpeg": {
+ "label": "libjpeg",
+ "test": "unix/libjpeg",
+ "sources": [
+ { "libs": "-llibjpeg", "condition": "config.msvc" },
+ { "libs": "-ljpeg", "condition": "!config.msvc" }
+ ]
+ },
+ "libpng": {
+ "label": "libpng",
+ "test": "unix/libpng",
+ "sources": [
+ { "type": "pkgConfig", "args": "libpng" },
+ { "libs": "-llibpng", "condition": "config.msvc" },
+ { "libs": "-lpng", "condition": "!config.msvc" }
+ ]
+ },
+ "mirclient": {
+ "label": "Mir client libraries",
+ "export": "",
+ "test": "qpa/mirclient",
+ "sources": [
+ { "type": "pkgConfig", "args": "egl mirclient ubuntu-platform-api" }
+ ]
+ },
+ "mtdev": {
+ "label": "mtdev",
+ "export": "",
+ "test": "unix/mtdev",
+ "sources": [
+ { "type": "pkgConfig", "args": "mtdev" }
+ ]
+ },
+ "opengl": {
+ "label": "Desktop OpenGL",
+ "test": "unix/opengldesktop",
+ "sources": [
+ { "type": "pkgConfig", "args": "gl" },
+ { "type": "makeSpec", "spec": "OPENGL" }
+ ]
+ },
+ "opengl_es2": {
+ "label": "OpenGL ES 2.0",
+ "test": "unix/opengles2",
+ "sources": [
+ { "type": "pkgConfig", "args": "glesv2" },
+ { "type": "makeSpec", "spec": "OPENGL_ES2" }
+ ]
+ },
+ "tslib": {
+ "label": "tslib",
+ "test": "unix/tslib",
+ "sources": [
+ "-lts"
+ ]
+ },
+ "wayland_server": {
+ "label": "Wayland Server",
+ "export": "",
+ "test": "qpa/wayland-server",
+ "sources": [
+ { "type": "pkgConfig", "args": "wayland-server" }
+ ]
+ },
+ "x11sm": {
+ "label": "X11 session management",
+ "sources": [
+ { "type": "pkgConfig", "args": "sm ice" }
+ ]
+ },
+ "xcb": {
+ "label": "XCB >= 1.5 (core)",
+ "test": "qpa/xcb",
+ "sources": [
+ { "type": "pkgConfig", "args": "xcb >= 1.5" },
+ "-lxcb"
+ ]
+ },
+ "xcb_syslibs": {
+ "label": "XCB (secondary)",
+ "test": "qpa/xcb-syslibs",
+ "sources": [
+ { "type": "pkgConfig",
+ "args": "xcb xcb-shm xcb-sync xcb-xfixes xcb-randr xcb-image xcb-keysyms xcb-icccm xcb-shape" },
+ "-lxcb -lxcb-shm -lxcb-sync -lxcb-xfixes -lxcb-randr -lxcb-image -lxcb-keysyms -lxcb-icccm -lxcb-shape"
+ ]
+ },
+ "xcb_xlib": {
+ "label": "XCB Xlib",
+ "test": "qpa/xcb-xlib",
+ "sources": [
+ { "type": "pkgConfig", "args": "X11-xcb x11 xcb" },
+ "-lxcb -lX11 -lX11-xcb"
+ ]
+ },
+ "xcb_xkb": {
+ "label": "XCB XKB >= 1.10",
+ "test": "qpa/xcb-xkb",
+ "sources": [
+ { "type": "pkgConfig", "args": "xcb-xkb >= 1.10 xcb" },
+ "-lxcb-xkb -lxcb"
+ ]
+ },
+ "xcb_render": {
+ "label": "XCB XRender",
+ "test": "qpa/xcb-render",
+ "sources": [
+ { "type": "pkgConfig", "args": "xcb-renderutil xcb-render xcb" },
+ "-lxcb-render-util -lxcb-render -lxcb"
+ ]
+ },
+ "xcb_glx": {
+ "label": "XCB GLX",
+ "test": "qpa/xcb-glx",
+ "sources": [
+ { "type": "pkgConfig", "args": "xcb-glx xcb" },
+ "-lxcb-glx -lxcb"
+ ]
+ },
+ "xinput2": {
+ "label": "Xinput2",
+ "test": "x11/xinput2",
+ "sources": [
+ { "type": "pkgConfig", "args": "xi" },
+ "-lXi"
+ ]
+ },
+ "xkbcommon": {
+ "label": "xkbcommon",
+ "export": "xkbcommon_evdev",
+ "test": "unix/xkbcommon",
+ "sources": [
+ { "type": "pkgConfig", "args": "xkbcommon" }
+ ]
+ },
+ "xkbcommon_x11": {
+ "label": "xkbcommon-x11 >= 0.4.1",
+ "export": "xkbcommon",
+ "sources": [
+ { "type": "pkgConfig", "args": "xkbcommon xkbcommon-x11 >= 0.4.1" }
+ ]
+ },
+ "xrender": {
+ "label": "XRender",
+ "test": "x11/xrender",
+ "sources": [
+ "-lXrender"
+ ]
+ }
+ },
+
+ "testTypeAliases": {
+ "files": [ "directX" ],
+ "getPkgConfigVariable": [ "xkbConfigRoot" ]
+ },
+
+ "tests": {
+ "direct2d": {
+ "label": "Direct 2D",
+ "type": "compile",
+ "test": "qpa/direct2d",
+ "use": "direct2d"
+ },
+ "directwrite2": {
+ "label": "DirectWrite 2",
+ "type": "compile",
+ "test": "win/directwrite2",
+ "use": "directwrite"
+ },
+ "directx": {
+ "label": "DirectX SDK",
+ "type": "directX",
+ "files": [
+ "d3dcompiler.h",
+ "d3d11.lib",
+ "fxc.exe"
+ ]
+ },
+ "egl-x11": {
+ "label": "EGL on X11",
+ "type": "compile",
+ "test": "qpa/egl-x11",
+ "use": "egl xcb_xlib"
+ },
+ "egl-brcm": {
+ "label": "Broadcom EGL (Rasberry Pi)",
+ "type": "compile",
+ "test": "qpa/eglfs-brcm",
+ "use": "egl bcm_host"
+ },
+ "egl-egldevice": {
+ "label": "EGLDevice",
+ "type": "compile",
+ "test": "qpa/eglfs-egldevice",
+ "use": "egl"
+ },
+ "egl-mali": {
+ "label": "Mali EGL",
+ "type": "compile",
+ "test": "qpa/eglfs-mali",
+ "use": "egl"
+ },
+ "egl-mali-2": {
+ "label": "Mali 2 EGL",
+ "type": "compile",
+ "test": "qpa/eglfs-mali-2",
+ "use": "egl"
+ },
+ "egl-viv": {
+ "label": "i.Mx6 EGL",
+ "type": "compile",
+ "test": "qpa/eglfs-viv",
+ "use": "egl"
+ },
+ "evdev": {
+ "label": "evdev",
+ "type": "compile",
+ "test": "unix/evdev"
+ },
+ "linuxfb": {
+ "label": "LinuxFB",
+ "type": "compile",
+ "test": "qpa/linuxfb"
+ },
+ "opengles3": {
+ "label": "OpenGL ES 3.0",
+ "type": "compile",
+ "test": "unix/opengles3",
+ "use": "opengl_es2"
+ },
+ "opengles31": {
+ "label": "OpenGL ES 3.1",
+ "type": "compile",
+ "test": "unix/opengles31",
+ "use": "opengl_es2"
+ },
+ "qpa_default_platform": {
+ "label": "default QPA platform",
+ "type": "qpaDefaultPlatform",
+ "log": "value"
+ },
+ "x11prefix": {
+ "label": "X11 prefix",
+ "type": "getPkgConfigVariable",
+ "pkg-config-args": "x11",
+ "pkg-config-variable": "prefix",
+ "value": "/usr",
+ "log": "value"
+ },
+ "xkbconfigroot": {
+ "label": "XKB config root",
+ "type": "xkbConfigRoot",
+ "pkg-config-args": "xkeyboard-config",
+ "pkg-config-variable": "xkb_base",
+ "log": "value"
+ },
+ "xlib": {
+ "label": "XLib",
+ "type": "compile",
+ "test": "x11/xlib"
+ }
+ },
+
+ "features": {
+ "accessibility-atspi-bridge": {
+ "label": "ATSPI Bridge",
+ "condition": "features.accessibility && features.xcb && features.dbus",
+ "output": [ "privateFeature", "feature" ]
+ },
+ "angle": {
+ "label": "ANGLE",
+ "autoDetect": "features.opengles2 || features.opengl-dynamic",
+ "condition": "config.win32 && tests.directx",
+ "output": [
+ "publicFeature",
+ { "type": "define", "name": "QT_OPENGL_ES_2_ANGLE" }
+ ]
+ },
+ "directfb": {
+ "label": "DirectFB",
+ "autoDetect": false,
+ "condition": "libs.directfb",
+ "output": [ "privateFeature" ]
+ },
+ "directwrite": {
+ "label": "DirectWrite",
+ "emitIf": "config.win32",
+ "condition": "libs.directwrite",
+ "output": [ "privateFeature" ]
+ },
+ "directwrite2": {
+ "label": "DirectWrite 2",
+ "emitIf": "config.win32",
+ "condition": "features.directwrite && tests.directwrite2",
+ "output": [ "privateFeature" ]
+ },
+ "direct2d": {
+ "label": "Direct 2D",
+ "autoDetect": false,
+ "condition": "tests.direct2d",
+ "output": [ "privateFeature" ]
+ },
+ "evdev": {
+ "label": "evdev",
+ "condition": "tests.evdev",
+ "output": [ "privateFeature" ]
+ },
+ "freetype": {
+ "label": "FreeType",
+ "output": [ "privateFeature", "feature" ]
+ },
+ "system-freetype": {
+ "label": " Using system FreeType",
+ "enable": "input.freetype == 'system'",
+ "disable": "input.freetype == 'qt'",
+ "autoDetect": "!config.win32",
+ "condition": "features.freetype && libs.freetype",
+ "output": [ "privateFeature" ]
+ },
+ "fontconfig": {
+ "label": "Fontconfig",
+ "condition": "!config.win32 && !config.darwin && features.system-freetype && libs.fontconfig",
+ "output": [ "privateFeature", "feature" ]
+ },
+ "gbm": {
+ "label": "GBM",
+ "condition": "libs.gbm",
+ "output": [ "publicQtConfig" ]
+ },
+ "harfbuzz": {
+ "label": "HarfBuzz",
+ "output": [ "privateFeature", "feature" ]
+ },
+ "system-harfbuzz": {
+ "label": " Using system HarfBuzz",
+ "enable": "input.harfbuzz == 'system'",
+ "disable": "input.harfbuzz == 'qt'",
+ "autoDetect": "!config.darwin && !config.win32",
+ "condition": "features.harfbuzz && libs.harfbuzz",
+ "output": [ "privateFeature" ]
+ },
+ "qqnx_imf": {
+ "label": "IMF",
+ "emitIf": "config.qnx",
+ "condition": "libs.imf",
+ "output": [ "privateConfig" ]
+ },
+ "integrityfb": {
+ "label": "INTEGRITY framebuffer",
+ "condition": "config.integrity",
+ "output": [ "privateFeature" ]
+ },
+ "kms": {
+ "label": "KMS",
+ "condition": "libs.drm",
+ "output": [ "publicQtConfig" ]
+ },
+ "libinput": {
+ "label": "libinput",
+ "condition": "features.libudev && libs.libinput",
+ "output": [ "privateFeature" ]
+ },
+ "lgmon": {
+ "label": "lgmon",
+ "emitIf": "config.qnx",
+ "condition": "libs.lgmon",
+ "output": [ "privateConfig" ]
+ },
+ "linuxfb": {
+ "label": "LinuxFB",
+ "condition": "tests.linuxfb",
+ "output": [ "privateFeature" ]
+ },
+ "mirclient": {
+ "label": "Mir client",
+ "condition": "libs.mirclient",
+ "output": [ "privateFeature" ]
+ },
+ "mtdev": {
+ "label": "mtdev",
+ "condition": "libs.mtdev",
+ "output": [ "privateFeature" ]
+ },
+ "opengles2": {
+ "label": "OpenGL ES 2.0",
+ "enable": "input.opengl == 'es2'",
+ "disable": "input.opengl == 'desktop' || input.opengl == 'dynamic' || input.opengl == 'no'",
+ "condition": "config.win32 || (!config.watchos && !features.opengl-desktop && libs.opengl_es2)",
+ "output": [
+ "publicFeature",
+ "publicQtConfig",
+ { "type": "define", "name": "QT_OPENGL_ES" },
+ { "type": "define", "name": "QT_OPENGL_ES_2" }
+ ]
+ },
+ "opengles3": {
+ "label": "OpenGL ES 3.0",
+ "condition": "features.opengles2 && !features.angle && tests.opengles3",
+ "output": [
+ "publicFeature",
+ { "type": "define", "name": "QT_OPENGL_ES_3" }
+ ]
+ },
+ "opengles31": {
+ "label": "OpenGL ES 3.1",
+ "condition": "features.opengles3 && tests.opengles31",
+ "output": [
+ "publicFeature",
+ { "type": "define", "name": "QT_OPENGL_ES_3_1" }
+ ]
+ },
+ "opengl-desktop": {
+ "label": "Desktop OpenGL",
+ "enable": "input.opengl == 'desktop'",
+ "disable": "input.opengl == 'es2' || input.opengl == 'dynamic' || input.opengl == 'no'",
+ "condition": "(config.win32 && !config.winrt && !features.opengles2 && (config.msvc || libs.opengl))
+ || (!config.watchos && !config.win32 && libs.opengl)"
+ },
+ "opengl-dynamic": {
+ "label": "Dynamic OpenGL",
+ "enable": "input.opengl == 'dynamic'",
+ "autoDetect": false,
+ "condition": "config.win32 && !config.winrt",
+ "output": [
+ { "type": "publicFeature", "name": "dynamicgl" },
+ { "type": "define", "name": "QT_OPENGL_DYNAMIC" }
+ ]
+ },
+ "opengl": {
+ "label": "OpenGL",
+ "condition": "features.opengl-desktop || features.opengl-dynamic || features.opengles2",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "egl": {
+ "label": "EGL",
+ "condition": "features.opengl && (features.angle || libs.egl)",
+ "output": [ "privateFeature", "feature" ]
+ },
+ "egl_x11": {
+ "label": "EGL on X11",
+ "condition": "features.egl && tests.egl-x11",
+ "output": [ "privateFeature" ]
+ },
+ "eglfs": {
+ "label": "EGLFS",
+ "autoDetect": "!config.android && !config.win32",
+ "condition": "features.egl",
+ "output": [ "privateFeature" ]
+ },
+ "eglfs_brcm": {
+ "label": "EGLFS Rasberry Pi",
+ "condition": "features.eglfs && tests.egl-brcm",
+ "output": [ "privateFeature" ]
+ },
+ "eglfs_egldevice": {
+ "label": "EGLFS EGLDevice",
+ "condition": "features.eglfs && tests.egl-egldevice && features.kms",
+ "output": [ "privateFeature" ]
+ },
+ "eglfs_gbm": {
+ "label": "EGLFS GBM",
+ "condition": "features.eglfs && features.gbm && features.kms",
+ "output": [ "privateFeature" ]
+ },
+ "eglfs_mali": {
+ "label": "EGLFS Mali",
+ "condition": "features.eglfs && (tests.egl-mali || tests.egl-mali-2)",
+ "output": [ "privateFeature" ]
+ },
+ "eglfs_viv": {
+ "label": "EGLFS i.Mx6",
+ "condition": "features.eglfs && tests.egl-viv",
+ "output": [ "privateFeature" ]
+ },
+ "eglfs_viv_wl": {
+ "label": "EGLFS i.Mx6 Wayland",
+ "condition": "features.eglfs_viv && libs.wayland_server",
+ "output": [ "privateFeature" ]
+ },
+ "gif": {
+ "label": "GIF",
+ "output": [
+ "privateFeature",
+ { "type": "define", "negative": true, "name": "QT_NO_IMAGEFORMAT_GIF" }
+ ]
+ },
+ "ico": {
+ "label": "ICO",
+ "output": [ "privateFeature", "feature" ]
+ },
+ "jpeg": {
+ "label": "JPEG",
+ "disable": "input.libjpeg == 'no'",
+ "output": [
+ "privateFeature",
+ { "type": "define", "negative": true, "name": "QT_NO_IMAGEFORMAT_JPEG" }
+ ]
+ },
+ "system-jpeg": {
+ "label": " Using system libjpeg",
+ "disable": "input.libjpeg == 'qt'",
+ "enable": "input.libjpeg == 'system'",
+ "condition": "features.jpeg && libs.libjpeg",
+ "output": [ "privateFeature" ]
+ },
+ "png": {
+ "label": "PNG",
+ "disable": "input.libpng == 'no'",
+ "output": [
+ "privateFeature",
+ { "type": "define", "negative": true, "name": "QT_NO_IMAGEFORMAT_PNG" }
+ ]
+ },
+ "system-png": {
+ "label": " Using system libpng",
+ "disable": "input.libpng == 'qt'",
+ "enable": "input.libpng == 'system'",
+ "condition": "features.png && libs.libpng",
+ "output": [ "privateFeature" ]
+ },
+ "qpa_default_platform": {
+ "label": "QPA default platform",
+ "condition": "features.gui",
+ "output": [
+ { "type": "define", "name": "QT_QPA_DEFAULT_PLATFORM_NAME", "value": "tests.qpa_default_platform.name" },
+ { "type": "varAssign", "public": true, "name": "QT_DEFAULT_QPA_PLUGIN", "value": "tests.qpa_default_platform.plugin",
+ "condition": "!features.shared" }
+ ]
+ },
+ "sessionmanager": {
+ "label": "Session Management",
+ "purpose": "Provides an interface to the windowing system's session management.",
+ "section": "Kernel",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "tslib": {
+ "label": "tslib",
+ "condition": "libs.tslib",
+ "output": [ "privateFeature" ]
+ },
+ "xcb": {
+ "label": "XCB",
+ "autoDetect": "!config.darwin",
+ "condition": "libs.xcb",
+ "output": [ "privateFeature" ]
+ },
+ "system-xcb": {
+ "label": "Using system provided XCB libraries",
+ "enable": "input.xcb == 'system' || input.xcb == 'yes'",
+ "disable": "input.xcb == 'qt' || input.xcb == 'no'",
+ "autoDetect": "!config.darwin",
+ "condition": "libs.xcb && libs.xcb_syslibs",
+ "output": [ "privateFeature" ]
+ },
+ "x11-prefix": {
+ "label": "X11 prefix",
+ "emitIf": "features.xcb",
+ "output": [ { "type": "varAssign", "name": "QMAKE_X11_PREFIX", "value": "tests.x11prefix.value" } ]
+ },
+ "xcb-glx": {
+ "label": "XCB GLX",
+ "emitIf": "features.xcb",
+ "condition": "libs.xcb_glx",
+ "output": [ "privateFeature" ]
+ },
+ "xcb-render": {
+ "label": "XCB render",
+ "emitIf": "features.system-xcb",
+ "condition": "libs.xcb_render",
+ "output": [ "privateFeature" ]
+ },
+ "xcb-xlib": {
+ "label": "XCB Xlib",
+ "emitIf": "features.xcb",
+ "condition": "libs.xcb_xlib",
+ "output": [ "privateFeature" ]
+ },
+ "xcb-sm": {
+ "label": "xcb-sm",
+ "emitIf": "features.xcb",
+ "condition": "features.sessionmanager && libs.x11sm",
+ "output": [ "privateFeature" ]
+ },
+ "xinput2": {
+ "label": "Xinput2",
+ "condition": "libs.xinput2",
+ "output": [ "privateFeature" ]
+ },
+ "xkbcommon-evdev": {
+ "label": "xkbcommon-evdev",
+ "condition": "libs.xkbcommon",
+ "output": [ "privateFeature" ]
+ },
+ "xkbcommon-system": {
+ "label": "Using system-provided xkbcommon",
+ "emitIf": "features.xcb",
+ "enable": "input.xkbcommon == 'system'",
+ "disable": "input.xkbcommon == 'qt' || input.xkbcommon == 'no'",
+ "condition": "libs.xkbcommon_x11",
+ "output": [ "privateFeature" ]
+ },
+ "xkb": {
+ "label": "XCB XKB",
+ "condition": "features.system-xcb && libs.xcb_xkb",
+ "output": [ "privateFeature" ]
+ },
+ "xkb-config-root": {
+ "label": "XKB config root",
+ "emitIf": "features.xcb",
+ "condition": "features.xcb && !features.xkbcommon-system && tests.xkbconfigroot",
+ "output": [ { "type": "varAssign", "name": "QMAKE_XKB_CONFIG_ROOT", "value": "tests.xkbconfigroot.value"} ]
+ },
+ "xlib": {
+ "label": "XLib",
+ "condition": "tests.xlib",
+ "output": [ "privateFeature" ]
+ },
+ "xrender": {
+ "label": "Xrender",
+ "condition": "libs.xrender",
+ "output": [ "privateFeature", "feature" ]
+ },
+ "texthtmlparser": {
+ "label": "HtmlParser",
+ "purpose": "Provides a parser for HTML.",
+ "section": "Kernel",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "textodfwriter": {
+ "label": "OdfWriter",
+ "purpose": "Provides an ODF writer.",
+ "section": "Kernel",
+ "condition": "features.xmlstreamwriter",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "cssparser": {
+ "label": "CssParser",
+ "purpose": "Provides a parser for Cascading Style Sheets.",
+ "section": "Kernel",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "draganddrop": {
+ "label": "Drag and Drop",
+ "purpose": "Supports the drag and drop mechansim.",
+ "section": "Kernel",
+ "condition": "features.imageformat_xpm",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "shortcut": {
+ "label": "QShortcut",
+ "purpose": "Provides keyboard accelerators and shortcuts.",
+ "section": "Kernel",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "action": {
+ "label": "QAction",
+ "purpose": "Provides widget actions.",
+ "section": "Kernel",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "cursor": {
+ "label": "QCursor",
+ "purpose": "Provides mouse cursors.",
+ "section": "Kernel",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "clipboard": {
+ "label": "QClipboard",
+ "purpose": "Provides cut and paste operations.",
+ "section": "Kernel",
+ "condition": "!config.integrity && !config.qnx",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "wheelevent": {
+ "label": "QWheelEvent",
+ "purpose": "Supports wheel events.",
+ "section": "Kernel",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "tabletevent": {
+ "label": "QTabletEvent",
+ "purpose": "Supports tablet events.",
+ "section": "Kernel",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "im": {
+ "label": "QInputContext",
+ "purpose": "Provides complex input methods.",
+ "section": "Kernel",
+ "condition": "features.library",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "validator": {
+ "label": "QValidator",
+ "purpose": "Supports validation of input text.",
+ "section": "Widgets",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "standarditemmodel": {
+ "label": "QStandardItemModel",
+ "purpose": "Provides a generic model for storing custom data.",
+ "section": "ItemViews",
+ "condition": "features.itemmodel",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "imageformatplugin": {
+ "label": "QImageIOPlugin",
+ "purpose": "Provides a base for writing a image format plugins.",
+ "section": "Images",
+ "condition": "features.library",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "movie": {
+ "label": "QMovie",
+ "purpose": "Supports animated images.",
+ "section": "Images",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "imageformat_bmp": {
+ "label": "BMP Image Format",
+ "purpose": "Supports Microsoft's Bitmap image file format.",
+ "section": "Images",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "imageformat_ppm": {
+ "label": "PPM Image Format",
+ "purpose": "Supports the Portable Pixmap image file format.",
+ "section": "Images",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "imageformat_xbm": {
+ "label": "XBM Image Format",
+ "purpose": "Supports the X11 Bitmap image file format.",
+ "section": "Images",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "imageformat_xpm": {
+ "label": "XPM Image Format",
+ "purpose": "Supports the X11 Pixmap image file format.",
+ "section": "Images",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "imageformat_png": {
+ "label": "PNG Image Format",
+ "purpose": "Supports the Portable Network Graphics image file format.",
+ "section": "Images",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "imageformat_jpeg": {
+ "label": "JPEG Image Format",
+ "purpose": "Supports the Joint Photographic Experts Group image file format.",
+ "section": "Images",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "image_heuristic_mask": {
+ "label": "QImage::createHeuristicMask()",
+ "purpose": "Supports creating a 1-bpp heuristic mask for images.",
+ "section": "Images",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "image_text": {
+ "label": "Image Text",
+ "purpose": "Supports image file text strings.",
+ "section": "Images",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "picture": {
+ "label": "QPicture",
+ "purpose": "Supports recording and replaying QPainter commands.",
+ "section": "Painting",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "colornames": {
+ "label": "Color Names",
+ "purpose": "Supports color names such as \"red\", used by QColor and by some HTML documents.",
+ "section": "Painting",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "pdf": {
+ "label": "QPdf",
+ "purpose": "Provides a PDF backend for QPainter.",
+ "section": "Painting",
+ "condition": "features.temporaryfile",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "freetype": {
+ "label": "Freetype Font Engine",
+ "purpose": "Supports the FreeType 2 font engine (and its supported font formats).",
+ "section": "Fonts",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "desktopservices": {
+ "label": "QDesktopServices",
+ "purpose": "Provides methods for accessing common desktop services.",
+ "section": "Utilities",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "systemtrayicon": {
+ "label": "QSystemTrayIcon",
+ "purpose": "Provides an icon for an application in the system tray.",
+ "section": "Utilities",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "accessibility": {
+ "label": "Accessibility",
+ "purpose": "Provides accessibility support.",
+ "section": "Utilities",
+ "condition": "features.properties",
+ "output": [ "publicFeature", "feature" ]
+ }
+ },
+
+ "earlyReport": [
+ {
+ "type": "error",
+ "condition": "input.xcb != '' && input.xcb != 'no' && input.xkbcommon == 'no'",
+ "message": "XCB plugin requires libxkbcommon. See -qt-xkbcommon-x11 and -system-xkbcommon-x11."
+ }
+ ],
+
+ "report": [
+ {
+ "type": "warning",
+ "condition": "features.xcb && !features.xkbcommon-system && !features.xkb-config-root",
+ "message": "Could not find XKB config root, use -xkb-config-root to set a path to
+XKB configuration data. This is required for keyboard input support."
+ },
+ {
+ "type": "note",
+ "condition": "features.accessibility && features.xcb && !features.accessibility-atspi-bridge",
+ "message": "Disabling Linux Accessibility Bridge: D-Bus is missing."
+ },
+ {
+ "type": "warning",
+ "condition": "input.qpa-platform-guard != ''",
+ "message": "The [-no]-qpa-platform-guard argument is deprecated and has no effect."
+ },
+ {
+ "type": "warning",
+ "condition": "features.gui && config.linux && !config.android && !features.xcb && !features.eglfs && !features.directfb && !features.linuxfb && !features.mirclient",
+ "message": "No QPA platform plugin enabled! This will
+produce a Qt that cannot run GUI applications.
+The dependencies needed for xcb to build are listed in
+src/plugins/platforms/xcb/README"
+ },
+ {
+ "type": "warning",
+ "condition": "config.win32 && (features.opengles2 || features.opengl-dynamic) && !features.angle",
+ "message": "Using OpenGL ES 2.0 on Windows without ANGLE.
+The build will most likely fail.
+Specify -opengl desktop to use regular OpenGL."
+ },
+ {
+ "type": "warning",
+ "condition": "config.darwin && features.system-harfbuzz",
+ "message": "On OS X, AAT is supported only with -qt-harfbuzz."
+ },
+ {
+ "type": "error",
+ "condition": "features.gui && !config.watchos && input.opengl != 'no' && !features.opengl-desktop && !features.opengles2 && !features.opengl-dynamic",
+ "message": "The OpenGL functionality tests failed!
+You might need to modify the include and library search paths by editing QMAKE_INCDIR_OPENGL[_ES2],
+QMAKE_LIBDIR_OPENGL[_ES2] and QMAKE_LIBS_OPENGL[_ES2] in the mkspec for your platform."
+ }
+ ],
+
+ "summary": [
+ {
+ "section": "Qt Gui",
+ "entries": [
+ "freetype",
+ "system-freetype",
+ "harfbuzz",
+ "system-harfbuzz",
+ "fontconfig",
+ {
+ "section": "Image formats",
+ "entries": [
+ "gif", "ico", "jpeg", "system-jpeg", "png", "system-png"
+ ]
+ },
+ {
+ "section": "OpenGL",
+ "entries": [
+ {
+ "type": "feature",
+ "args": "angle",
+ "condition": "config.win32"
+ },
+ "egl",
+ "opengl-desktop",
+ {
+ "type": "feature",
+ "args": "opengl-dynamic",
+ "condition": "config.win32"
+ },
+ "opengles2",
+ "opengles3",
+ "opengles31"
+ ]
+ },
+ "sessionmanager"
+ ]
+ },
+ {
+ "section": "Features used by QPA backends",
+ "entries": [
+ "evdev",
+ "libinput",
+ "mtdev",
+ "tslib",
+ "xkbcommon-evdev"
+ ]
+ },
+ {
+ "section": "QPA backends",
+ "entries": [
+ "directfb", "eglfs",
+ {
+ "section": "EGLFS details",
+ "condition": "features.eglfs",
+ "entries": [
+ "eglfs_viv", "eglfs_viv_wl", "eglfs_egldevice", "eglfs_gbm", "eglfs_mali", "eglfs_brcm", "egl_x11"
+ ]
+ },
+ "linuxfb", "mirclient",
+ {
+ "message": "INTEGRITY framebuffer",
+ "condition": "config.integrity",
+ "args": "integrityfb"
+ },
+ {
+ "section": "QNX",
+ "condition": "config.qnx",
+ "entries": [
+ "lgmon", "qqnx_imf"
+ ]
+ },
+ {
+ "section": "X11",
+ "condition": "features.xcb",
+ "entries": [
+ "system-xcb", "egl_x11", "xinput2", "xkb", "xlib", "xrender", "xcb-render", "xcb-glx", "xcb-xlib", "xkbcommon-system"
+ ]
+ },
+ {
+ "section": "Windows",
+ "condition": "config.win32",
+ "entries": [
+ "direct2d", "directwrite", "directwrite2"
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/src/gui/configure.pri b/src/gui/configure.pri
new file mode 100644
index 0000000000..d79c5a6bba
--- /dev/null
+++ b/src/gui/configure.pri
@@ -0,0 +1,67 @@
+# custom tests
+
+# Check for Direct X SDK (include, lib, and direct shader compiler 'fxc').
+# Up to Direct X SDK June 2010 and for MinGW, this is pointed to by the
+# DXSDK_DIR variable. Starting with Windows Kit 8, it is included in
+# the Windows SDK. Checking for the header is not sufficient, since it
+# is also present in MinGW.
+defineTest(qtConfTest_directX) {
+ dxdir = $$getenv("DXSDK_DIR")
+ !isEmpty(dxdir) {
+ EXTRA_INCLUDEPATH += $$dxdir/include
+ equals(QT_ARCH, x86_64): \
+ EXTRA_LIBDIR += $$dxdir/lib/x64
+ else: \
+ EXTRA_LIBDIR += $$dxdir/lib/x86
+ EXTRA_PATH += $$dxdir/Utilities/bin/x86
+ }
+
+ $$qtConfEvaluate("features.sse2") {
+ ky = $$size($${1}.files._KEYS_)
+ $${1}.files._KEYS_ += $$ky
+ # Not present on MinGW-32
+ $${1}.files.$${ky} = "intrin.h"
+ }
+
+ qtConfTest_files($${1}): return(true)
+ return(false)
+}
+
+defineTest(qtConfTest_xkbConfigRoot) {
+ qtConfTest_getPkgConfigVariable($${1}): return(true)
+
+ for (dir, $$list("/usr/share/X11/xkb", "/usr/local/share/X11/xkb")) {
+ exists($$dir) {
+ $${1}.value = $$dir
+ export($${1}.value)
+ $${1}.cache += value
+ export($${1}.cache)
+ return(true)
+ }
+ }
+ return(false)
+}
+
+defineTest(qtConfTest_qpaDefaultPlatform) {
+ name =
+ !isEmpty(config.input.qpa_default_platform): name = $$config.input.qpa_default_platform
+ else: !isEmpty(QT_QPA_DEFAULT_PLATFORM): name = $$QT_QPA_DEFAULT_PLATFORM
+ else: winrt: name = winrt
+ else: win32: name = windows
+ else: android: name = android
+ else: macos: name = cocoa
+ else: ios: name = ios
+ else: qnx: name = qnx
+ else: integrity: name = integrityfb
+ else: name = xcb
+
+ $${1}.value = $$name
+ $${1}.plugin = q$$name
+ $${1}.name = "\"$$name\""
+ export($${1}.value)
+ export($${1}.plugin)
+ export($${1}.name)
+ $${1}.cache += value plugin name
+ export($${1}.cache)
+ return(true)
+}
diff --git a/src/gui/image/qicon.cpp b/src/gui/image/qicon.cpp
index 62ec8e93b2..db118edf04 100644
--- a/src/gui/image/qicon.cpp
+++ b/src/gui/image/qicon.cpp
@@ -47,6 +47,8 @@
#include "private/qiconloader_p.h"
#include "qpainter.h"
#include "qfileinfo.h"
+#include <qmimedatabase.h>
+#include <qmimetype.h>
#include "qpixmapcache.h"
#include "qvariant.h"
#include "qcache.h"
@@ -839,8 +841,11 @@ QPixmap QIcon::pixmap(QWindow *window, const QSize &size, Mode mode, State state
qreal devicePixelRatio = qt_effective_device_pixel_ratio(window);
// Handle the simple normal-dpi case:
- if (!(devicePixelRatio > 1.0))
- return d->engine->pixmap(size, mode, state);
+ if (!(devicePixelRatio > 1.0)) {
+ QPixmap pixmap = d->engine->pixmap(size, mode, state);
+ pixmap.setDevicePixelRatio(1.0);
+ return pixmap;
+ }
// Try get a pixmap that is big enough to be displayed at device pixel resolution.
QPixmap pixmap = d->engine->pixmap(size * devicePixelRatio, mode, state);
@@ -976,6 +981,18 @@ void QIcon::addPixmap(const QPixmap &pixmap, Mode mode, State state)
d->engine->addPixmap(pixmap, mode, state);
}
+static QIconEngine *iconEngineFromSuffix(const QString &fileName, const QString &suffix)
+{
+ if (!suffix.isEmpty()) {
+ const int index = loader()->indexOf(suffix);
+ if (index != -1) {
+ if (QIconEnginePlugin *factory = qobject_cast<QIconEnginePlugin*>(loader()->instance(index))) {
+ return factory->create(fileName);
+ }
+ }
+ }
+ return nullptr;
+}
/*! Adds an image from the file with the given \a fileName to the
icon, as a specialization for \a size, \a mode and \a state. The
@@ -1013,25 +1030,15 @@ void QIcon::addFile(const QString &fileName, const QSize &size, Mode mode, State
return;
detach();
if (!d) {
+
QFileInfo info(fileName);
- QString suffix = info.suffix();
- if (!suffix.isEmpty()) {
- // first try version 2 engines..
- const int index = loader()->indexOf(suffix);
- if (index != -1) {
- if (QIconEnginePlugin *factory = qobject_cast<QIconEnginePlugin*>(loader()->instance(index))) {
- if (QIconEngine *engine = factory->create(fileName)) {
- d = new QIconPrivate;
- d->engine = engine;
- }
- }
- }
- }
- // ...then fall back to the default engine
- if (!d) {
- d = new QIconPrivate;
- d->engine = new QPixmapIconEngine;
- }
+ QIconEngine *engine = iconEngineFromSuffix(fileName, info.suffix());
+#ifndef QT_NO_MIMETYPE
+ if (!engine)
+ engine = iconEngineFromSuffix(fileName, QMimeDatabase().mimeTypeForFile(info).preferredSuffix());
+#endif // !QT_NO_MIMETYPE
+ d = new QIconPrivate;
+ d->engine = engine ? engine : new QPixmapIconEngine;
}
d->engine->addFile(fileName, size, mode, state);
diff --git a/src/gui/image/qiconloader.cpp b/src/gui/image/qiconloader.cpp
index e61a6bb48e..eda9d6f24e 100644
--- a/src/gui/image/qiconloader.cpp
+++ b/src/gui/image/qiconloader.cpp
@@ -199,7 +199,7 @@ private:
QIconCacheGtkReader::QIconCacheGtkReader(const QString &dirName)
: m_isValid(false)
{
- QFileInfo info(dirName + QLatin1Literal("/icon-theme.cache"));
+ QFileInfo info(dirName + QLatin1String("/icon-theme.cache"));
if (!info.exists() || info.lastModified() < QFileInfo(dirName).lastModified())
return;
m_file.setFileName(info.absoluteFilePath());
diff --git a/src/gui/kernel/qtguiglobal.h b/src/gui/kernel/qtguiglobal.h
index f0e64fbc53..8a7409e3d9 100644
--- a/src/gui/kernel/qtguiglobal.h
+++ b/src/gui/kernel/qtguiglobal.h
@@ -41,6 +41,7 @@
#define QTGUIGLOBAL_H
#include <QtCore/qglobal.h>
+#include <QtGui/qtgui-config.h>
QT_BEGIN_NAMESPACE
diff --git a/src/gui/kernel/qtguiglobal_p.h b/src/gui/kernel/qtguiglobal_p.h
index fd04b8ff95..d2c0b3c5d1 100644
--- a/src/gui/kernel/qtguiglobal_p.h
+++ b/src/gui/kernel/qtguiglobal_p.h
@@ -53,5 +53,6 @@
#include <QtGui/qtguiglobal.h>
#include <QtCore/private/qglobal_p.h>
+#include <QtGui/private/qtgui-config_p.h>
#endif // QTGUIGLOBAL_P_H
diff --git a/src/gui/kernel/qwindow.cpp b/src/gui/kernel/qwindow.cpp
index 5f71bdaded..18e8bcf99c 100644
--- a/src/gui/kernel/qwindow.cpp
+++ b/src/gui/kernel/qwindow.cpp
@@ -2195,6 +2195,9 @@ void QWindowPrivate::deliverUpdateRequest()
*/
void QWindow::requestUpdate()
{
+ Q_ASSERT_X(QThread::currentThread() == QCoreApplication::instance()->thread(),
+ "QWindow", "Updates can only be scheduled from the GUI (main) thread");
+
Q_D(QWindow);
if (d->updateRequestPending || !d->platformWindow)
return;
diff --git a/src/gui/kernel/qwindow_p.h b/src/gui/kernel/qwindow_p.h
index 6d6d5a22ee..b8a9f5d3de 100644
--- a/src/gui/kernel/qwindow_p.h
+++ b/src/gui/kernel/qwindow_p.h
@@ -126,8 +126,14 @@ public:
QPoint globalPosition() const {
Q_Q(const QWindow);
QPoint offset = q->position();
- for (const QWindow *p = q->parent(); p; p = p->parent())
- offset += p->position();
+ for (const QWindow *p = q->parent(); p; p = p->parent()) {
+ if (p->type() != Qt::ForeignWindow) {
+ offset += p->position();
+ } else { // QTBUG-43252, mapToGlobal() for foreign children.
+ offset += p->mapToGlobal(QPoint(0, 0));
+ break;
+ }
+ }
return offset;
}
diff --git a/src/gui/opengl/qopengl.h b/src/gui/opengl/qopengl.h
index e2408d0047..c7a3e79666 100644
--- a/src/gui/opengl/qopengl.h
+++ b/src/gui/opengl/qopengl.h
@@ -95,14 +95,15 @@ typedef void* GLeglImageOES;
// applications cannot target ES 3. Therefore QOpenGLFunctions and
// friends do everything dynamically and never rely on these macros.
+# ifndef GL_GLEXT_PROTOTYPES
+# define GL_GLEXT_PROTOTYPES
+# endif
+
# if defined(QT_OPENGL_ES_3_1)
# include <GLES3/gl31.h>
# elif defined(QT_OPENGL_ES_3)
# include <GLES3/gl3.h>
# else
-# ifndef GL_GLEXT_PROTOTYPES
-# define GL_GLEXT_PROTOTYPES
-# endif
# include <GLES2/gl2.h>
#endif
diff --git a/src/gui/opengl/qopenglframebufferobject.cpp b/src/gui/opengl/qopenglframebufferobject.cpp
index 1ccd78d2ed..e0f469cbcb 100644
--- a/src/gui/opengl/qopenglframebufferobject.cpp
+++ b/src/gui/opengl/qopenglframebufferobject.cpp
@@ -1283,11 +1283,11 @@ static inline QImage qt_gl_read_framebuffer_rgba8(const QSize &size, bool includ
? context->hasExtension(QByteArrayLiteral("GL_EXT_read_format_bgra"))
: context->hasExtension(QByteArrayLiteral("GL_EXT_bgra"));
+#ifndef Q_OS_IOS
const char *renderer = reinterpret_cast<const char *>(funcs->glGetString(GL_RENDERER));
const char *ver = reinterpret_cast<const char *>(funcs->glGetString(GL_VERSION));
// Blacklist GPU chipsets that have problems with their BGRA support.
-#ifndef Q_OS_IOS
const bool blackListed = (qstrcmp(renderer, "PowerVR Rogue G6200") == 0
&& ::strstr(ver, "1.3") != 0) ||
(qstrcmp(renderer, "Mali-T760") == 0
diff --git a/src/gui/painting/painting.pri b/src/gui/painting/painting.pri
index 00f2375923..c47060a2ad 100644
--- a/src/gui/painting/painting.pri
+++ b/src/gui/painting/painting.pri
@@ -63,7 +63,6 @@ SOURCES += \
painting/qblittable.cpp \
painting/qbrush.cpp \
painting/qcolor.cpp \
- painting/qcolor_p.cpp \
painting/qcompositionfunctions.cpp \
painting/qcosmeticstroker.cpp \
painting/qcssutil.cpp \
diff --git a/src/gui/painting/qcolor.cpp b/src/gui/painting/qcolor.cpp
index 56180af693..650ba0187e 100644
--- a/src/gui/painting/qcolor.cpp
+++ b/src/gui/painting/qcolor.cpp
@@ -43,6 +43,9 @@
#include "qdatastream.h"
#include "qvariant.h"
#include "qdebug.h"
+#include "private/qtools_p.h"
+
+#include <algorithm>
#include <stdio.h>
#include <limits.h>
@@ -50,6 +53,326 @@
QT_BEGIN_NAMESPACE
/*!
+ \internal
+ If s[0..1] is a valid hex number, returns its integer value,
+ otherwise returns -1.
+ */
+static inline int hex2int(const char *s)
+{
+ const int hi = QtMiscUtils::fromHex(s[0]);
+ if (hi < 0)
+ return -1;
+ const int lo = QtMiscUtils::fromHex(s[1]);
+ if (lo < 0)
+ return -1;
+ return (hi << 4) | lo;
+}
+
+/*!
+ \internal
+ If s is a valid hex digit, returns its integer value,
+ multiplied by 0x11, otherwise returns -1.
+ */
+static inline int hex2int(char s)
+{
+ const int h = QtMiscUtils::fromHex(s);
+ return h < 0 ? h : (h << 4) | h;
+}
+
+bool qt_get_hex_rgb(const char *name, QRgb *rgb)
+{
+ if (name[0] != '#')
+ return false;
+ name++;
+ int len = qstrlen(name);
+ int a, r, g, b;
+ a = 255;
+ if (len == 12) {
+ r = hex2int(name);
+ g = hex2int(name + 4);
+ b = hex2int(name + 8);
+ } else if (len == 9) {
+ r = hex2int(name);
+ g = hex2int(name + 3);
+ b = hex2int(name + 6);
+ } else if (len == 8) {
+ a = hex2int(name);
+ r = hex2int(name + 2);
+ g = hex2int(name + 4);
+ b = hex2int(name + 6);
+ } else if (len == 6) {
+ r = hex2int(name);
+ g = hex2int(name + 2);
+ b = hex2int(name + 4);
+ } else if (len == 3) {
+ r = hex2int(name[0]);
+ g = hex2int(name[1]);
+ b = hex2int(name[2]);
+ } else {
+ r = g = b = -1;
+ }
+ if ((uint)r > 255 || (uint)g > 255 || (uint)b > 255 || (uint)a > 255) {
+ *rgb = 0;
+ return false;
+ }
+ *rgb = qRgba(r, g ,b, a);
+ return true;
+}
+
+bool qt_get_hex_rgb(const QChar *str, int len, QRgb *rgb)
+{
+ if (len > 13)
+ return false;
+ char tmp[16];
+ for (int i = 0; i < len; ++i)
+ tmp[i] = str[i].toLatin1();
+ tmp[len] = 0;
+ return qt_get_hex_rgb(tmp, rgb);
+}
+
+#ifndef QT_NO_COLORNAMES
+
+/*
+ CSS color names = SVG 1.0 color names + transparent (rgba(0,0,0,0))
+*/
+
+#ifdef rgb
+# undef rgb
+#endif
+#define rgb(r,g,b) (0xff000000 | (r << 16) | (g << 8) | b)
+
+static const struct RGBData {
+ const char name[21];
+ uint value;
+} rgbTbl[] = {
+ { "aliceblue", rgb(240, 248, 255) },
+ { "antiquewhite", rgb(250, 235, 215) },
+ { "aqua", rgb( 0, 255, 255) },
+ { "aquamarine", rgb(127, 255, 212) },
+ { "azure", rgb(240, 255, 255) },
+ { "beige", rgb(245, 245, 220) },
+ { "bisque", rgb(255, 228, 196) },
+ { "black", rgb( 0, 0, 0) },
+ { "blanchedalmond", rgb(255, 235, 205) },
+ { "blue", rgb( 0, 0, 255) },
+ { "blueviolet", rgb(138, 43, 226) },
+ { "brown", rgb(165, 42, 42) },
+ { "burlywood", rgb(222, 184, 135) },
+ { "cadetblue", rgb( 95, 158, 160) },
+ { "chartreuse", rgb(127, 255, 0) },
+ { "chocolate", rgb(210, 105, 30) },
+ { "coral", rgb(255, 127, 80) },
+ { "cornflowerblue", rgb(100, 149, 237) },
+ { "cornsilk", rgb(255, 248, 220) },
+ { "crimson", rgb(220, 20, 60) },
+ { "cyan", rgb( 0, 255, 255) },
+ { "darkblue", rgb( 0, 0, 139) },
+ { "darkcyan", rgb( 0, 139, 139) },
+ { "darkgoldenrod", rgb(184, 134, 11) },
+ { "darkgray", rgb(169, 169, 169) },
+ { "darkgreen", rgb( 0, 100, 0) },
+ { "darkgrey", rgb(169, 169, 169) },
+ { "darkkhaki", rgb(189, 183, 107) },
+ { "darkmagenta", rgb(139, 0, 139) },
+ { "darkolivegreen", rgb( 85, 107, 47) },
+ { "darkorange", rgb(255, 140, 0) },
+ { "darkorchid", rgb(153, 50, 204) },
+ { "darkred", rgb(139, 0, 0) },
+ { "darksalmon", rgb(233, 150, 122) },
+ { "darkseagreen", rgb(143, 188, 143) },
+ { "darkslateblue", rgb( 72, 61, 139) },
+ { "darkslategray", rgb( 47, 79, 79) },
+ { "darkslategrey", rgb( 47, 79, 79) },
+ { "darkturquoise", rgb( 0, 206, 209) },
+ { "darkviolet", rgb(148, 0, 211) },
+ { "deeppink", rgb(255, 20, 147) },
+ { "deepskyblue", rgb( 0, 191, 255) },
+ { "dimgray", rgb(105, 105, 105) },
+ { "dimgrey", rgb(105, 105, 105) },
+ { "dodgerblue", rgb( 30, 144, 255) },
+ { "firebrick", rgb(178, 34, 34) },
+ { "floralwhite", rgb(255, 250, 240) },
+ { "forestgreen", rgb( 34, 139, 34) },
+ { "fuchsia", rgb(255, 0, 255) },
+ { "gainsboro", rgb(220, 220, 220) },
+ { "ghostwhite", rgb(248, 248, 255) },
+ { "gold", rgb(255, 215, 0) },
+ { "goldenrod", rgb(218, 165, 32) },
+ { "gray", rgb(128, 128, 128) },
+ { "green", rgb( 0, 128, 0) },
+ { "greenyellow", rgb(173, 255, 47) },
+ { "grey", rgb(128, 128, 128) },
+ { "honeydew", rgb(240, 255, 240) },
+ { "hotpink", rgb(255, 105, 180) },
+ { "indianred", rgb(205, 92, 92) },
+ { "indigo", rgb( 75, 0, 130) },
+ { "ivory", rgb(255, 255, 240) },
+ { "khaki", rgb(240, 230, 140) },
+ { "lavender", rgb(230, 230, 250) },
+ { "lavenderblush", rgb(255, 240, 245) },
+ { "lawngreen", rgb(124, 252, 0) },
+ { "lemonchiffon", rgb(255, 250, 205) },
+ { "lightblue", rgb(173, 216, 230) },
+ { "lightcoral", rgb(240, 128, 128) },
+ { "lightcyan", rgb(224, 255, 255) },
+ { "lightgoldenrodyellow", rgb(250, 250, 210) },
+ { "lightgray", rgb(211, 211, 211) },
+ { "lightgreen", rgb(144, 238, 144) },
+ { "lightgrey", rgb(211, 211, 211) },
+ { "lightpink", rgb(255, 182, 193) },
+ { "lightsalmon", rgb(255, 160, 122) },
+ { "lightseagreen", rgb( 32, 178, 170) },
+ { "lightskyblue", rgb(135, 206, 250) },
+ { "lightslategray", rgb(119, 136, 153) },
+ { "lightslategrey", rgb(119, 136, 153) },
+ { "lightsteelblue", rgb(176, 196, 222) },
+ { "lightyellow", rgb(255, 255, 224) },
+ { "lime", rgb( 0, 255, 0) },
+ { "limegreen", rgb( 50, 205, 50) },
+ { "linen", rgb(250, 240, 230) },
+ { "magenta", rgb(255, 0, 255) },
+ { "maroon", rgb(128, 0, 0) },
+ { "mediumaquamarine", rgb(102, 205, 170) },
+ { "mediumblue", rgb( 0, 0, 205) },
+ { "mediumorchid", rgb(186, 85, 211) },
+ { "mediumpurple", rgb(147, 112, 219) },
+ { "mediumseagreen", rgb( 60, 179, 113) },
+ { "mediumslateblue", rgb(123, 104, 238) },
+ { "mediumspringgreen", rgb( 0, 250, 154) },
+ { "mediumturquoise", rgb( 72, 209, 204) },
+ { "mediumvioletred", rgb(199, 21, 133) },
+ { "midnightblue", rgb( 25, 25, 112) },
+ { "mintcream", rgb(245, 255, 250) },
+ { "mistyrose", rgb(255, 228, 225) },
+ { "moccasin", rgb(255, 228, 181) },
+ { "navajowhite", rgb(255, 222, 173) },
+ { "navy", rgb( 0, 0, 128) },
+ { "oldlace", rgb(253, 245, 230) },
+ { "olive", rgb(128, 128, 0) },
+ { "olivedrab", rgb(107, 142, 35) },
+ { "orange", rgb(255, 165, 0) },
+ { "orangered", rgb(255, 69, 0) },
+ { "orchid", rgb(218, 112, 214) },
+ { "palegoldenrod", rgb(238, 232, 170) },
+ { "palegreen", rgb(152, 251, 152) },
+ { "paleturquoise", rgb(175, 238, 238) },
+ { "palevioletred", rgb(219, 112, 147) },
+ { "papayawhip", rgb(255, 239, 213) },
+ { "peachpuff", rgb(255, 218, 185) },
+ { "peru", rgb(205, 133, 63) },
+ { "pink", rgb(255, 192, 203) },
+ { "plum", rgb(221, 160, 221) },
+ { "powderblue", rgb(176, 224, 230) },
+ { "purple", rgb(128, 0, 128) },
+ { "red", rgb(255, 0, 0) },
+ { "rosybrown", rgb(188, 143, 143) },
+ { "royalblue", rgb( 65, 105, 225) },
+ { "saddlebrown", rgb(139, 69, 19) },
+ { "salmon", rgb(250, 128, 114) },
+ { "sandybrown", rgb(244, 164, 96) },
+ { "seagreen", rgb( 46, 139, 87) },
+ { "seashell", rgb(255, 245, 238) },
+ { "sienna", rgb(160, 82, 45) },
+ { "silver", rgb(192, 192, 192) },
+ { "skyblue", rgb(135, 206, 235) },
+ { "slateblue", rgb(106, 90, 205) },
+ { "slategray", rgb(112, 128, 144) },
+ { "slategrey", rgb(112, 128, 144) },
+ { "snow", rgb(255, 250, 250) },
+ { "springgreen", rgb( 0, 255, 127) },
+ { "steelblue", rgb( 70, 130, 180) },
+ { "tan", rgb(210, 180, 140) },
+ { "teal", rgb( 0, 128, 128) },
+ { "thistle", rgb(216, 191, 216) },
+ { "tomato", rgb(255, 99, 71) },
+ { "transparent", 0 },
+ { "turquoise", rgb( 64, 224, 208) },
+ { "violet", rgb(238, 130, 238) },
+ { "wheat", rgb(245, 222, 179) },
+ { "white", rgb(255, 255, 255) },
+ { "whitesmoke", rgb(245, 245, 245) },
+ { "yellow", rgb(255, 255, 0) },
+ { "yellowgreen", rgb(154, 205, 50) }
+};
+
+static const int rgbTblSize = sizeof(rgbTbl) / sizeof(RGBData);
+
+#undef rgb
+
+#if defined(Q_CC_MSVC) && _MSC_VER < 1600
+inline bool operator<(const RGBData &data1, const RGBData &data2)
+{ return qstrcmp(data1.name, data2.name) < 0; }
+#endif
+
+inline bool operator<(const char *name, const RGBData &data)
+{ return qstrcmp(name, data.name) < 0; }
+inline bool operator<(const RGBData &data, const char *name)
+{ return qstrcmp(data.name, name) < 0; }
+
+static bool get_named_rgb(const char *name_no_space, QRgb *rgb)
+{
+ const RGBData *r = std::lower_bound(rgbTbl, rgbTbl + rgbTblSize, name_no_space);
+ if ((r != rgbTbl + rgbTblSize) && !(name_no_space < *r)) {
+ *rgb = r->value;
+ return true;
+ }
+ return false;
+}
+
+bool qt_get_named_rgb(const char *name, QRgb* rgb)
+{
+ int len = int(strlen(name));
+ if (len > 255)
+ return false;
+ char name_no_space[256];
+ int pos = 0;
+ for (int i = 0; i < len; i++) {
+ if (name[i] != '\t' && name[i] != ' ')
+ name_no_space[pos++] = QChar::toLower(name[i]);
+ }
+ name_no_space[pos] = 0;
+
+ return get_named_rgb(name_no_space, rgb);
+}
+
+bool qt_get_named_rgb(const QChar *name, int len, QRgb *rgb)
+{
+ if (len > 255)
+ return false;
+ char name_no_space[256];
+ int pos = 0;
+ for (int i = 0; i < len; i++) {
+ if (name[i] != QLatin1Char('\t') && name[i] != QLatin1Char(' '))
+ name_no_space[pos++] = name[i].toLower().toLatin1();
+ }
+ name_no_space[pos] = 0;
+ return get_named_rgb(name_no_space, rgb);
+}
+
+QStringList qt_get_colornames()
+{
+ int i = 0;
+ QStringList lst;
+ lst.reserve(rgbTblSize);
+ for (i = 0; i < rgbTblSize; i++)
+ lst << QLatin1String(rgbTbl[i].name);
+ return lst;
+}
+
+#else
+
+bool qt_get_named_rgb(const char *, QRgb*)
+{
+ return false;
+}
+
+QStringList qt_get_colornames()
+{
+ return QStringList();
+}
+#endif // QT_NO_COLORNAMES
+
+/*!
\class QColor
\brief The QColor class provides colors based on RGB, HSV or CMYK values.
diff --git a/src/gui/painting/qcolor_p.cpp b/src/gui/painting/qcolor_p.cpp
deleted file mode 100644
index b4ade9dc58..0000000000
--- a/src/gui/painting/qcolor_p.cpp
+++ /dev/null
@@ -1,369 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtGui module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qglobal.h"
-#include "qrgb.h"
-#include "qstringlist.h"
-#include "private/qtools_p.h"
-
-#include <algorithm>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \internal
- If s[0..1] is a valid hex number, returns its integer value,
- otherwise returns -1.
- */
-static inline int hex2int(const char *s)
-{
- const int hi = QtMiscUtils::fromHex(s[0]);
- if (hi < 0)
- return -1;
- const int lo = QtMiscUtils::fromHex(s[1]);
- if (lo < 0)
- return -1;
- return (hi << 4) | lo;
-}
-
-/*!
- \internal
- If s is a valid hex digit, returns its integer value,
- multiplied by 0x11, otherwise returns -1.
- */
-static inline int hex2int(char s)
-{
- const int h = QtMiscUtils::fromHex(s);
- return h < 0 ? h : (h << 4) | h;
-}
-
-bool qt_get_hex_rgb(const char *name, QRgb *rgb)
-{
- if(name[0] != '#')
- return false;
- name++;
- int len = qstrlen(name);
- int a, r, g, b;
- a = 255;
- if (len == 12) {
- r = hex2int(name);
- g = hex2int(name + 4);
- b = hex2int(name + 8);
- } else if (len == 9) {
- r = hex2int(name);
- g = hex2int(name + 3);
- b = hex2int(name + 6);
- } else if (len == 8) {
- a = hex2int(name);
- r = hex2int(name + 2);
- g = hex2int(name + 4);
- b = hex2int(name + 6);
- } else if (len == 6) {
- r = hex2int(name);
- g = hex2int(name + 2);
- b = hex2int(name + 4);
- } else if (len == 3) {
- r = hex2int(name[0]);
- g = hex2int(name[1]);
- b = hex2int(name[2]);
- } else {
- r = g = b = -1;
- }
- if ((uint)r > 255 || (uint)g > 255 || (uint)b > 255 || (uint)a > 255) {
- *rgb = 0;
- return false;
- }
- *rgb = qRgba(r, g ,b, a);
- return true;
-}
-
-bool qt_get_hex_rgb(const QChar *str, int len, QRgb *rgb)
-{
- if (len > 13)
- return false;
- char tmp[16];
- for(int i = 0; i < len; ++i)
- tmp[i] = str[i].toLatin1();
- tmp[len] = 0;
- return qt_get_hex_rgb(tmp, rgb);
-}
-
-#ifndef QT_NO_COLORNAMES
-
-/*
- CSS color names = SVG 1.0 color names + transparent (rgba(0,0,0,0))
-*/
-
-#ifdef rgb
-# undef rgb
-#endif
-#define rgb(r,g,b) (0xff000000 | (r << 16) | (g << 8) | b)
-
-static const struct RGBData {
- const char name[21];
- uint value;
-} rgbTbl[] = {
- { "aliceblue", rgb(240, 248, 255) },
- { "antiquewhite", rgb(250, 235, 215) },
- { "aqua", rgb( 0, 255, 255) },
- { "aquamarine", rgb(127, 255, 212) },
- { "azure", rgb(240, 255, 255) },
- { "beige", rgb(245, 245, 220) },
- { "bisque", rgb(255, 228, 196) },
- { "black", rgb( 0, 0, 0) },
- { "blanchedalmond", rgb(255, 235, 205) },
- { "blue", rgb( 0, 0, 255) },
- { "blueviolet", rgb(138, 43, 226) },
- { "brown", rgb(165, 42, 42) },
- { "burlywood", rgb(222, 184, 135) },
- { "cadetblue", rgb( 95, 158, 160) },
- { "chartreuse", rgb(127, 255, 0) },
- { "chocolate", rgb(210, 105, 30) },
- { "coral", rgb(255, 127, 80) },
- { "cornflowerblue", rgb(100, 149, 237) },
- { "cornsilk", rgb(255, 248, 220) },
- { "crimson", rgb(220, 20, 60) },
- { "cyan", rgb( 0, 255, 255) },
- { "darkblue", rgb( 0, 0, 139) },
- { "darkcyan", rgb( 0, 139, 139) },
- { "darkgoldenrod", rgb(184, 134, 11) },
- { "darkgray", rgb(169, 169, 169) },
- { "darkgreen", rgb( 0, 100, 0) },
- { "darkgrey", rgb(169, 169, 169) },
- { "darkkhaki", rgb(189, 183, 107) },
- { "darkmagenta", rgb(139, 0, 139) },
- { "darkolivegreen", rgb( 85, 107, 47) },
- { "darkorange", rgb(255, 140, 0) },
- { "darkorchid", rgb(153, 50, 204) },
- { "darkred", rgb(139, 0, 0) },
- { "darksalmon", rgb(233, 150, 122) },
- { "darkseagreen", rgb(143, 188, 143) },
- { "darkslateblue", rgb( 72, 61, 139) },
- { "darkslategray", rgb( 47, 79, 79) },
- { "darkslategrey", rgb( 47, 79, 79) },
- { "darkturquoise", rgb( 0, 206, 209) },
- { "darkviolet", rgb(148, 0, 211) },
- { "deeppink", rgb(255, 20, 147) },
- { "deepskyblue", rgb( 0, 191, 255) },
- { "dimgray", rgb(105, 105, 105) },
- { "dimgrey", rgb(105, 105, 105) },
- { "dodgerblue", rgb( 30, 144, 255) },
- { "firebrick", rgb(178, 34, 34) },
- { "floralwhite", rgb(255, 250, 240) },
- { "forestgreen", rgb( 34, 139, 34) },
- { "fuchsia", rgb(255, 0, 255) },
- { "gainsboro", rgb(220, 220, 220) },
- { "ghostwhite", rgb(248, 248, 255) },
- { "gold", rgb(255, 215, 0) },
- { "goldenrod", rgb(218, 165, 32) },
- { "gray", rgb(128, 128, 128) },
- { "green", rgb( 0, 128, 0) },
- { "greenyellow", rgb(173, 255, 47) },
- { "grey", rgb(128, 128, 128) },
- { "honeydew", rgb(240, 255, 240) },
- { "hotpink", rgb(255, 105, 180) },
- { "indianred", rgb(205, 92, 92) },
- { "indigo", rgb( 75, 0, 130) },
- { "ivory", rgb(255, 255, 240) },
- { "khaki", rgb(240, 230, 140) },
- { "lavender", rgb(230, 230, 250) },
- { "lavenderblush", rgb(255, 240, 245) },
- { "lawngreen", rgb(124, 252, 0) },
- { "lemonchiffon", rgb(255, 250, 205) },
- { "lightblue", rgb(173, 216, 230) },
- { "lightcoral", rgb(240, 128, 128) },
- { "lightcyan", rgb(224, 255, 255) },
- { "lightgoldenrodyellow", rgb(250, 250, 210) },
- { "lightgray", rgb(211, 211, 211) },
- { "lightgreen", rgb(144, 238, 144) },
- { "lightgrey", rgb(211, 211, 211) },
- { "lightpink", rgb(255, 182, 193) },
- { "lightsalmon", rgb(255, 160, 122) },
- { "lightseagreen", rgb( 32, 178, 170) },
- { "lightskyblue", rgb(135, 206, 250) },
- { "lightslategray", rgb(119, 136, 153) },
- { "lightslategrey", rgb(119, 136, 153) },
- { "lightsteelblue", rgb(176, 196, 222) },
- { "lightyellow", rgb(255, 255, 224) },
- { "lime", rgb( 0, 255, 0) },
- { "limegreen", rgb( 50, 205, 50) },
- { "linen", rgb(250, 240, 230) },
- { "magenta", rgb(255, 0, 255) },
- { "maroon", rgb(128, 0, 0) },
- { "mediumaquamarine", rgb(102, 205, 170) },
- { "mediumblue", rgb( 0, 0, 205) },
- { "mediumorchid", rgb(186, 85, 211) },
- { "mediumpurple", rgb(147, 112, 219) },
- { "mediumseagreen", rgb( 60, 179, 113) },
- { "mediumslateblue", rgb(123, 104, 238) },
- { "mediumspringgreen", rgb( 0, 250, 154) },
- { "mediumturquoise", rgb( 72, 209, 204) },
- { "mediumvioletred", rgb(199, 21, 133) },
- { "midnightblue", rgb( 25, 25, 112) },
- { "mintcream", rgb(245, 255, 250) },
- { "mistyrose", rgb(255, 228, 225) },
- { "moccasin", rgb(255, 228, 181) },
- { "navajowhite", rgb(255, 222, 173) },
- { "navy", rgb( 0, 0, 128) },
- { "oldlace", rgb(253, 245, 230) },
- { "olive", rgb(128, 128, 0) },
- { "olivedrab", rgb(107, 142, 35) },
- { "orange", rgb(255, 165, 0) },
- { "orangered", rgb(255, 69, 0) },
- { "orchid", rgb(218, 112, 214) },
- { "palegoldenrod", rgb(238, 232, 170) },
- { "palegreen", rgb(152, 251, 152) },
- { "paleturquoise", rgb(175, 238, 238) },
- { "palevioletred", rgb(219, 112, 147) },
- { "papayawhip", rgb(255, 239, 213) },
- { "peachpuff", rgb(255, 218, 185) },
- { "peru", rgb(205, 133, 63) },
- { "pink", rgb(255, 192, 203) },
- { "plum", rgb(221, 160, 221) },
- { "powderblue", rgb(176, 224, 230) },
- { "purple", rgb(128, 0, 128) },
- { "red", rgb(255, 0, 0) },
- { "rosybrown", rgb(188, 143, 143) },
- { "royalblue", rgb( 65, 105, 225) },
- { "saddlebrown", rgb(139, 69, 19) },
- { "salmon", rgb(250, 128, 114) },
- { "sandybrown", rgb(244, 164, 96) },
- { "seagreen", rgb( 46, 139, 87) },
- { "seashell", rgb(255, 245, 238) },
- { "sienna", rgb(160, 82, 45) },
- { "silver", rgb(192, 192, 192) },
- { "skyblue", rgb(135, 206, 235) },
- { "slateblue", rgb(106, 90, 205) },
- { "slategray", rgb(112, 128, 144) },
- { "slategrey", rgb(112, 128, 144) },
- { "snow", rgb(255, 250, 250) },
- { "springgreen", rgb( 0, 255, 127) },
- { "steelblue", rgb( 70, 130, 180) },
- { "tan", rgb(210, 180, 140) },
- { "teal", rgb( 0, 128, 128) },
- { "thistle", rgb(216, 191, 216) },
- { "tomato", rgb(255, 99, 71) },
- { "transparent", 0 },
- { "turquoise", rgb( 64, 224, 208) },
- { "violet", rgb(238, 130, 238) },
- { "wheat", rgb(245, 222, 179) },
- { "white", rgb(255, 255, 255) },
- { "whitesmoke", rgb(245, 245, 245) },
- { "yellow", rgb(255, 255, 0) },
- { "yellowgreen", rgb(154, 205, 50) }
-};
-
-static const int rgbTblSize = sizeof(rgbTbl) / sizeof(RGBData);
-
-#undef rgb
-
-#if defined(Q_CC_MSVC) && _MSC_VER < 1600
-inline bool operator<(const RGBData &data1, const RGBData &data2)
-{ return qstrcmp(data1.name, data2.name) < 0; }
-#endif
-
-inline bool operator<(const char *name, const RGBData &data)
-{ return qstrcmp(name, data.name) < 0; }
-inline bool operator<(const RGBData &data, const char *name)
-{ return qstrcmp(data.name, name) < 0; }
-
-static bool get_named_rgb(const char *name_no_space, QRgb *rgb)
-{
- const RGBData *r = std::lower_bound(rgbTbl, rgbTbl + rgbTblSize, name_no_space);
- if ((r != rgbTbl + rgbTblSize) && !(name_no_space < *r)) {
- *rgb = r->value;
- return true;
- }
- return false;
-}
-
-bool qt_get_named_rgb(const char *name, QRgb* rgb)
-{
- int len = int(strlen(name));
- if(len > 255)
- return false;
- char name_no_space[256];
- int pos = 0;
- for(int i = 0; i < len; i++) {
- if(name[i] != '\t' && name[i] != ' ')
- name_no_space[pos++] = QChar::toLower(name[i]);
- }
- name_no_space[pos] = 0;
-
- return get_named_rgb(name_no_space, rgb);
-}
-
-bool qt_get_named_rgb(const QChar *name, int len, QRgb *rgb)
-{
- if(len > 255)
- return false;
- char name_no_space[256];
- int pos = 0;
- for(int i = 0; i < len; i++) {
- if(name[i] != QLatin1Char('\t') && name[i] != QLatin1Char(' '))
- name_no_space[pos++] = name[i].toLower().toLatin1();
- }
- name_no_space[pos] = 0;
- return get_named_rgb(name_no_space, rgb);
-}
-
-QStringList qt_get_colornames()
-{
- int i = 0;
- QStringList lst;
- lst.reserve(rgbTblSize);
- for (i = 0; i < rgbTblSize; i++)
- lst << QLatin1String(rgbTbl[i].name);
- return lst;
-}
-
-#else
-
-bool qt_get_named_rgb(const char *, QRgb*)
-{
- return false;
-}
-
-QStringList qt_get_colornames()
-{
- return QStringList();
-}
-#endif // QT_NO_COLORNAMES
-
-QT_END_NAMESPACE
diff --git a/src/gui/painting/qdrawhelper.cpp b/src/gui/painting/qdrawhelper.cpp
index ac11b0f324..c697aceaf3 100644
--- a/src/gui/painting/qdrawhelper.cpp
+++ b/src/gui/painting/qdrawhelper.cpp
@@ -2176,7 +2176,8 @@ static const uint * QT_FASTCALL fetchTransformedBilinearARGB32PM(uint *buffer, c
fetchTransformedBilinear_pixelBounds<blendType>(image_height, image_y1, image_y2, y1, y2);
const uint *s1 = (const uint *)data->texture.scanLine(y1);
const uint *s2 = (const uint *)data->texture.scanLine(y2);
- int disty = ((fy & 0x0000ffff) + 0x0800) >> 12;
+ const int disty8 = (fy & 0x0000ffff) >> 8;
+ const int disty4 = (disty8 + 0x08) >> 4;
if (blendType != BlendTransformedBilinearTiled) {
#define BILINEAR_DOWNSCALE_BOUNDS_PROLOG \
@@ -2188,12 +2189,9 @@ static const uint * QT_FASTCALL fetchTransformedBilinearARGB32PM(uint *buffer, c
fetchTransformedBilinear_pixelBounds<blendType>(image_width, image_x1, image_x2, x1, x2); \
if (x1 != x2) \
break; \
- uint tl = s1[x1]; \
- uint tr = s1[x2]; \
- uint bl = s2[x1]; \
- uint br = s2[x2]; \
- int distx = ((fx & 0x0000ffff) + 0x0800) >> 12; \
- *b = interpolate_4_pixels_16(tl, tr, bl, br, distx, disty); \
+ uint top = s1[x1]; \
+ uint bot = s2[x1]; \
+ *b = INTERPOLATE_PIXEL_256(top, 256 - disty8, bot, disty8); \
fx += fdx; \
++b; \
} \
@@ -2209,7 +2207,7 @@ static const uint * QT_FASTCALL fetchTransformedBilinearARGB32PM(uint *buffer, c
const __m128i colorMask = _mm_set1_epi32(0x00ff00ff);
const __m128i v_256 = _mm_set1_epi16(256);
- const __m128i v_disty = _mm_set1_epi16(disty);
+ const __m128i v_disty = _mm_set1_epi16(disty4);
const __m128i v_fdx = _mm_set1_epi32(fdx*4);
const __m128i v_fx_r = _mm_set1_epi32(0x8);
__m128i v_fx = _mm_setr_epi32(fx, fx + fdx, fx + fdx + fdx, fx + fdx + fdx + fdx);
@@ -2241,18 +2239,14 @@ static const uint * QT_FASTCALL fetchTransformedBilinearARGB32PM(uint *buffer, c
const int16x8_t colorMask = vdupq_n_s16(0x00ff);
const int16x8_t invColorMask = vmvnq_s16(colorMask);
const int16x8_t v_256 = vdupq_n_s16(256);
- const int16x8_t v_disty = vdupq_n_s16(disty);
+ const int16x8_t v_disty = vdupq_n_s16(disty4);
const int16x8_t v_disty_ = vshlq_n_s16(v_disty, 4);
int32x4_t v_fdx = vdupq_n_s32(fdx*4);
int32x4_t v_fx = vmovq_n_s32(fx);
- fx += fdx;
- v_fx = vsetq_lane_s32(fx, v_fx, 1);
- fx += fdx;
- v_fx = vsetq_lane_s32(fx, v_fx, 2);
- fx += fdx;
- v_fx = vsetq_lane_s32(fx, v_fx, 3);
- fx += fdx;
+ v_fx = vsetq_lane_s32(fx + fdx, v_fx, 1);
+ v_fx = vsetq_lane_s32(fx + fdx * 2, v_fx, 2);
+ v_fx = vsetq_lane_s32(fx + fdx * 3, v_fx, 3);
const int32x4_t v_ffff_mask = vdupq_n_s32(0x0000ffff);
const int32x4_t v_fx_r = vdupq_n_s32(0x0800);
@@ -2260,18 +2254,20 @@ static const uint * QT_FASTCALL fetchTransformedBilinearARGB32PM(uint *buffer, c
while (b < boundedEnd) {
uint32x4x2_t v_top, v_bot;
- int32x4_t v_fx_shifted = vshrq_n_s32(v_fx, 16);
-
- int x1 = vgetq_lane_s32(v_fx_shifted, 0);
+ int x1 = (fx >> 16);
+ fx += fdx;
v_top = vld2q_lane_u32(s1 + x1, v_top, 0);
v_bot = vld2q_lane_u32(s2 + x1, v_bot, 0);
- x1 = vgetq_lane_s32(v_fx_shifted, 1);
+ x1 = (fx >> 16);
+ fx += fdx;
v_top = vld2q_lane_u32(s1 + x1, v_top, 1);
v_bot = vld2q_lane_u32(s2 + x1, v_bot, 1);
- x1 = vgetq_lane_s32(v_fx_shifted, 2);
+ x1 = (fx >> 16);
+ fx += fdx;
v_top = vld2q_lane_u32(s1 + x1, v_top, 2);
v_bot = vld2q_lane_u32(s2 + x1, v_bot, 2);
- x1 = vgetq_lane_s32(v_fx_shifted, 3);
+ x1 = (fx >> 16);
+ fx += fdx;
v_top = vld2q_lane_u32(s1 + x1, v_top, 3);
v_bot = vld2q_lane_u32(s2 + x1, v_bot, 3);
@@ -2286,7 +2282,6 @@ static const uint * QT_FASTCALL fetchTransformedBilinearARGB32PM(uint *buffer, c
b+=4;
v_fx = vaddq_s32(v_fx, v_fdx);
}
- fx = vgetq_lane_s32(v_fx, 0);
#endif
}
@@ -2298,8 +2293,14 @@ static const uint * QT_FASTCALL fetchTransformedBilinearARGB32PM(uint *buffer, c
uint tr = s1[x2];
uint bl = s2[x1];
uint br = s2[x2];
- int distx = ((fx & 0x0000ffff) + 0x0800) >> 12;
- *b = interpolate_4_pixels_16(tl, tr, bl, br, distx, disty);
+#if defined(__SSE2__) || defined(__ARM_NEON__)
+ // The optimized interpolate_4_pixels are faster than interpolate_4_pixels_16.
+ int distx8 = (fx & 0x0000ffff) >> 8;
+ *b = interpolate_4_pixels(tl, tr, bl, br, distx8, disty8);
+#else
+ int distx4 = ((fx & 0x0000ffff) + 0x0800) >> 12;
+ *b = interpolate_4_pixels_16(tl, tr, bl, br, distx4, disty4);
+#endif
fx += fdx;
++b;
}
@@ -2436,16 +2437,12 @@ static const uint * QT_FASTCALL fetchTransformedBilinearARGB32PM(uint *buffer, c
int32x4_t v_fx = vmovq_n_s32(fx);
int32x4_t v_fy = vmovq_n_s32(fy);
- fx += fdx; fy += fdy;
- v_fx = vsetq_lane_s32(fx, v_fx, 1);
- v_fy = vsetq_lane_s32(fy, v_fy, 1);
- fx += fdx; fy += fdy;
- v_fx = vsetq_lane_s32(fx, v_fx, 2);
- v_fy = vsetq_lane_s32(fy, v_fy, 2);
- fx += fdx; fy += fdy;
- v_fx = vsetq_lane_s32(fx, v_fx, 3);
- v_fy = vsetq_lane_s32(fy, v_fy, 3);
- fx += fdx; fy += fdy;
+ v_fx = vsetq_lane_s32(fx + fdx, v_fx, 1);
+ v_fy = vsetq_lane_s32(fy + fdy, v_fy, 1);
+ v_fx = vsetq_lane_s32(fx + fdx * 2, v_fx, 2);
+ v_fy = vsetq_lane_s32(fy + fdy * 2, v_fy, 2);
+ v_fx = vsetq_lane_s32(fx + fdx * 3, v_fx, 3);
+ v_fy = vsetq_lane_s32(fy + fdy * 3, v_fy, 3);
const int32x4_t v_ffff_mask = vdupq_n_s32(0x0000ffff);
const int32x4_t v_round = vdupq_n_s32(0x0800);
@@ -2453,33 +2450,33 @@ static const uint * QT_FASTCALL fetchTransformedBilinearARGB32PM(uint *buffer, c
while (b < boundedEnd) {
uint32x4x2_t v_top, v_bot;
- int32x4_t v_fx_shifted, v_fy_shifted;
- v_fx_shifted = vshrq_n_s32(v_fx, 16);
- v_fy_shifted = vshrq_n_s32(v_fy, 16);
-
- int x1 = vgetq_lane_s32(v_fx_shifted, 0);
- int y1 = vgetq_lane_s32(v_fy_shifted, 0);
+ int x1 = (fx >> 16);
+ int y1 = (fy >> 16);
+ fx += fdx; fy += fdy;
const uchar *sl = textureData + bytesPerLine * y1;
const uint *s1 = reinterpret_cast<const uint *>(sl);
const uint *s2 = reinterpret_cast<const uint *>(sl + bytesPerLine);
v_top = vld2q_lane_u32(s1 + x1, v_top, 0);
v_bot = vld2q_lane_u32(s2 + x1, v_bot, 0);
- x1 = vgetq_lane_s32(v_fx_shifted, 1);
- y1 = vgetq_lane_s32(v_fy_shifted, 1);
+ x1 = (fx >> 16);
+ y1 = (fy >> 16);
+ fx += fdx; fy += fdy;
sl = textureData + bytesPerLine * y1;
s1 = reinterpret_cast<const uint *>(sl);
s2 = reinterpret_cast<const uint *>(sl + bytesPerLine);
v_top = vld2q_lane_u32(s1 + x1, v_top, 1);
v_bot = vld2q_lane_u32(s2 + x1, v_bot, 1);
- x1 = vgetq_lane_s32(v_fx_shifted, 2);
- y1 = vgetq_lane_s32(v_fy_shifted, 2);
+ x1 = (fx >> 16);
+ y1 = (fy >> 16);
+ fx += fdx; fy += fdy;
sl = textureData + bytesPerLine * y1;
s1 = reinterpret_cast<const uint *>(sl);
s2 = reinterpret_cast<const uint *>(sl + bytesPerLine);
v_top = vld2q_lane_u32(s1 + x1, v_top, 2);
v_bot = vld2q_lane_u32(s2 + x1, v_bot, 2);
- x1 = vgetq_lane_s32(v_fx_shifted, 3);
- y1 = vgetq_lane_s32(v_fy_shifted, 3);
+ x1 = (fx >> 16);
+ y1 = (fy >> 16);
+ fx += fdx; fy += fdy;
sl = textureData + bytesPerLine * y1;
s1 = reinterpret_cast<const uint *>(sl);
s2 = reinterpret_cast<const uint *>(sl + bytesPerLine);
@@ -2501,8 +2498,6 @@ static const uint * QT_FASTCALL fetchTransformedBilinearARGB32PM(uint *buffer, c
v_fx = vaddq_s32(v_fx, v_fdx);
v_fy = vaddq_s32(v_fy, v_fdy);
}
- fx = vgetq_lane_s32(v_fx, 0);
- fy = vgetq_lane_s32(v_fy, 0);
#endif
}
@@ -2980,10 +2975,8 @@ static const QRgba64 *QT_FASTCALL fetchTransformedBilinear64(QRgba64 *buffer, co
fetchTransformedBilinear_pixelBounds<blendType>(image_width, image_x1, image_x2, x1, x2);
if (x1 != x2)
break;
- sbuf1[i * 2 + 0] = ((const uint*)s1)[x1];
- sbuf1[i * 2 + 1] = ((const uint*)s1)[x2];
- sbuf2[i * 2 + 0] = ((const uint*)s2)[x1];
- sbuf2[i * 2 + 1] = ((const uint*)s2)[x2];
+ sbuf1[i * 2 + 0] = sbuf1[i * 2 + 1] = ((const uint*)s1)[x1];
+ sbuf2[i * 2 + 0] = sbuf2[i * 2 + 1] = ((const uint*)s2)[x1];
fx += fdx;
}
int fastLen;
@@ -3102,6 +3095,16 @@ static const QRgba64 *QT_FASTCALL fetchTransformedBilinear64(QRgba64 *buffer, co
fx += fdx;
fy += fdy;
}
+ int fastLen = len;
+ if (fdx > 0)
+ fastLen = qMin(fastLen, int((qint64(image_x2) * fixed_scale - fx) / fdx));
+ else if (fdx < 0)
+ fastLen = qMin(fastLen, int((qint64(image_x1) * fixed_scale - fx) / fdx));
+ if (fdy > 0)
+ fastLen = qMin(fastLen, int((qint64(image_y2) * fixed_scale - fy) / fdy));
+ else if (fdy < 0)
+ fastLen = qMin(fastLen, int((qint64(image_y1) * fixed_scale - fy) / fdy));
+ fastLen -= 3;
const __m128i v_fdx = _mm_set1_epi32(fdx*4);
const __m128i v_fdy = _mm_set1_epi32(fdy*4);
@@ -3111,15 +3114,7 @@ static const QRgba64 *QT_FASTCALL fetchTransformedBilinear64(QRgba64 *buffer, co
const uchar *s1 = data->texture.imageData;
const uchar *s2 = s1 + bytesPerLine;
const __m128i vbpl = _mm_shufflelo_epi16(_mm_cvtsi32_si128(bytesPerLine/4), _MM_SHUFFLE(0, 0, 0, 0));
- for (; i < len-3; i+=4) {
- if (fdx > 0 && (short)_mm_extract_epi16(v_fx, 7) >= image_x2)
- break;
- if (fdx < 0 && (short)_mm_extract_epi16(v_fx, 7) < image_x1)
- break;
- if (fdy > 0 && (short)_mm_extract_epi16(v_fy, 7) >= image_y2)
- break;
- if (fdy < 0 && (short)_mm_extract_epi16(v_fy, 7) < image_y1)
- break;
+ for (; i < fastLen; i += 4) {
const __m128i vy = _mm_packs_epi32(_mm_srai_epi32(v_fy, 16), _mm_setzero_si128());
__m128i voffset = _mm_unpacklo_epi16(_mm_mullo_epi16(vy, vbpl), _mm_mulhi_epu16(vy, vbpl));
voffset = _mm_add_epi32(voffset, _mm_srli_epi32(v_fx, 16));
@@ -5555,17 +5550,17 @@ static const ProcessSpans processTextureSpans[NBlendTypes][QImage::NImageFormats
blend_src_generic, // ARGB32
blend_transformed_argb, // ARGB32_Premultiplied
blend_transformed_rgb565,
- blend_src_generic,
- blend_src_generic,
- blend_src_generic,
- blend_src_generic,
- blend_src_generic,
- blend_src_generic,
- blend_src_generic,
- blend_src_generic,
- blend_src_generic,
- blend_src_generic,
- blend_src_generic,
+ blend_src_generic, // ARGB8565_Premultiplied
+ blend_src_generic, // RGB666
+ blend_src_generic, // ARGB6666_Premultiplied
+ blend_src_generic, // RGB555
+ blend_src_generic, // ARGB8555_Premultiplied
+ blend_src_generic, // RGB888
+ blend_src_generic, // RGB444
+ blend_src_generic, // ARGB4444_Premultiplied
+ blend_src_generic, // RGBX8888
+ blend_src_generic, // RGBA8888
+ blend_src_generic, // RGBA8888_Premultiplied
blend_src_generic_rgb64,
blend_src_generic_rgb64,
blend_src_generic_rgb64,
@@ -5583,16 +5578,17 @@ static const ProcessSpans processTextureSpans[NBlendTypes][QImage::NImageFormats
blend_src_generic, // ARGB32
blend_transformed_tiled_argb, // ARGB32_Premultiplied
blend_transformed_tiled_rgb565,
- blend_src_generic,
- blend_src_generic,
- blend_src_generic,
- blend_src_generic,
- blend_src_generic,
- blend_src_generic,
- blend_src_generic,
- blend_src_generic,
- blend_src_generic,
- blend_src_generic,
+ blend_src_generic, // ARGB8565_Premultiplied
+ blend_src_generic, // RGB666
+ blend_src_generic, // ARGB6666_Premultiplied
+ blend_src_generic, // RGB555
+ blend_src_generic, // ARGB8555_Premultiplied
+ blend_src_generic, // RGB888
+ blend_src_generic, // RGB444
+ blend_src_generic, // ARGB4444_Premultiplied
+ blend_src_generic, // RGBX8888
+ blend_src_generic, // RGBA8888
+ blend_src_generic, // RGBA8888_Premultiplied
blend_src_generic_rgb64,
blend_src_generic_rgb64,
blend_src_generic_rgb64,
@@ -5610,17 +5606,17 @@ static const ProcessSpans processTextureSpans[NBlendTypes][QImage::NImageFormats
blend_src_generic, // ARGB32
blend_src_generic, // ARGB32_Premultiplied
blend_transformed_bilinear_rgb565,
- blend_src_generic,
- blend_src_generic,
- blend_src_generic,
- blend_src_generic,
- blend_src_generic,
- blend_src_generic,
- blend_src_generic,
- blend_src_generic,
- blend_src_generic,
- blend_src_generic,
- blend_src_generic,
+ blend_src_generic, // ARGB8565_Premultiplied
+ blend_src_generic, // RGB666
+ blend_src_generic, // ARGB6666_Premultiplied
+ blend_src_generic, // RGB555
+ blend_src_generic, // ARGB8555_Premultiplied
+ blend_src_generic, // RGB888
+ blend_src_generic, // RGB444
+ blend_src_generic, // ARGB4444_Premultiplied
+ blend_src_generic, // RGBX8888
+ blend_src_generic, // RGBA8888
+ blend_src_generic, // RGBA8888_Premultiplied
blend_src_generic_rgb64,
blend_src_generic_rgb64,
blend_src_generic_rgb64,
diff --git a/src/gui/painting/qdrawhelper_p.h b/src/gui/painting/qdrawhelper_p.h
index 664117a730..45a3174734 100644
--- a/src/gui/painting/qdrawhelper_p.h
+++ b/src/gui/painting/qdrawhelper_p.h
@@ -636,6 +636,22 @@ static Q_ALWAYS_INLINE uint BYTE_MUL(uint x, uint a) {
}
#endif
+static Q_ALWAYS_INLINE void blend_pixel(quint32 &dst, const quint32 src)
+{
+ if (src >= 0xff000000)
+ dst = src;
+ else if (src != 0)
+ dst = src + BYTE_MUL(dst, qAlpha(~src));
+}
+
+static Q_ALWAYS_INLINE void blend_pixel(quint32 &dst, const quint32 src, const int const_alpha)
+{
+ if (src != 0) {
+ const quint32 s = BYTE_MUL(src, const_alpha);
+ dst = s + BYTE_MUL(dst, qAlpha(~s));
+ }
+}
+
#if defined(__SSE2__)
static Q_ALWAYS_INLINE uint interpolate_4_pixels_sse2(__m128i vt, __m128i vb, uint distx, uint disty)
{
diff --git a/src/gui/painting/qdrawhelper_ssse3.cpp b/src/gui/painting/qdrawhelper_ssse3.cpp
index 7cd3e9ca1b..2026a4e656 100644
--- a/src/gui/painting/qdrawhelper_ssse3.cpp
+++ b/src/gui/painting/qdrawhelper_ssse3.cpp
@@ -45,15 +45,6 @@
QT_BEGIN_NAMESPACE
-inline static void blend_pixel(quint32 &dst, const quint32 src)
-{
- if (src >= 0xff000000)
- dst = src;
- else if (src != 0)
- dst = src + BYTE_MUL(dst, qAlpha(~src));
-}
-
-
/* The instruction palignr uses direct arguments, so we have to generate the code fo the different
shift (4, 8, 12). Checking the alignment inside the loop is unfortunatelly way too slow.
*/
diff --git a/src/gui/painting/qdrawingprimitive_sse2_p.h b/src/gui/painting/qdrawingprimitive_sse2_p.h
index 8799dff92a..7affc63b32 100644
--- a/src/gui/painting/qdrawingprimitive_sse2_p.h
+++ b/src/gui/painting/qdrawingprimitive_sse2_p.h
@@ -171,11 +171,7 @@ QT_BEGIN_NAMESPACE
\
/* First, get dst aligned. */ \
ALIGNMENT_PROLOGUE_16BYTES(dst, x, length) { \
- uint s = src[x]; \
- if (s >= 0xff000000) \
- dst[x] = s; \
- else if (s != 0) \
- dst[x] = s + BYTE_MUL(dst[x], qAlpha(~s)); \
+ blend_pixel(dst[x], src[x]); \
} \
\
for (; x < length-3; x += 4) { \
@@ -183,11 +179,7 @@ QT_BEGIN_NAMESPACE
BLEND_SOURCE_OVER_ARGB32_SSE2_helper(dst, srcVector, nullVector, half, one, colorMask, alphaMask) \
} \
for (; x < length; ++x) { \
- uint s = src[x]; \
- if (s >= 0xff000000) \
- dst[x] = s; \
- else if (s != 0) \
- dst[x] = s + BYTE_MUL(dst[x], qAlpha(~s)); \
+ blend_pixel(dst[x], src[x]); \
} \
}
@@ -207,11 +199,7 @@ QT_BEGIN_NAMESPACE
int x = 0; \
\
ALIGNMENT_PROLOGUE_16BYTES(dst, x, length) { \
- quint32 s = src[x]; \
- if (s != 0) { \
- s = BYTE_MUL(s, const_alpha); \
- dst[x] = s + BYTE_MUL(dst[x], qAlpha(~s)); \
- } \
+ blend_pixel(dst[x], src[x], const_alpha); \
} \
\
for (; x < length-3; x += 4) { \
@@ -232,11 +220,7 @@ QT_BEGIN_NAMESPACE
} \
} \
for (; x < length; ++x) { \
- quint32 s = src[x]; \
- if (s != 0) { \
- s = BYTE_MUL(s, const_alpha); \
- dst[x] = s + BYTE_MUL(dst[x], qAlpha(~s)); \
- } \
+ blend_pixel(dst[x], src[x], const_alpha); \
} \
}
diff --git a/src/gui/text/qfontdatabase.cpp b/src/gui/text/qfontdatabase.cpp
index e8f29ce520..a3a3f20b18 100644
--- a/src/gui/text/qfontdatabase.cpp
+++ b/src/gui/text/qfontdatabase.cpp
@@ -663,11 +663,8 @@ struct QtFontDesc
static void initFontDef(const QtFontDesc &desc, const QFontDef &request, QFontDef *fontDef, bool multi)
{
fontDef->family = desc.family->name;
- if (! desc.foundry->name.isEmpty() && desc.family->count > 1) {
- fontDef->family += QString::fromLatin1(" [");
- fontDef->family += desc.foundry->name;
- fontDef->family += QLatin1Char(']');
- }
+ if (! desc.foundry->name.isEmpty() && desc.family->count > 1)
+ fontDef->family += QLatin1String(" [") + desc.foundry->name + QLatin1Char(']');
if (desc.style->smoothScalable
|| QGuiApplicationPrivate::platformIntegration()->fontDatabase()->fontsAlwaysScalable()
@@ -842,9 +839,13 @@ QStringList QPlatformFontDatabase::fallbacksForFamily(const QString &family, QFo
return retList;
}
+static void initializeDb();
+
static QStringList fallbacksForFamily(const QString &family, QFont::Style style, QFont::StyleHint styleHint, QChar::Script script)
{
QFontDatabasePrivate *db = privateDb();
+ if (!db->count)
+ initializeDb();
const FallbacksCacheKey cacheKey = { family, style, styleHint, script };
diff --git a/src/gui/text/qplatformfontdatabase.cpp b/src/gui/text/qplatformfontdatabase.cpp
index 0d7cb204ff..b83affecdc 100644
--- a/src/gui/text/qplatformfontdatabase.cpp
+++ b/src/gui/text/qplatformfontdatabase.cpp
@@ -395,10 +395,8 @@ void QPlatformFontDatabase::releaseHandle(void *handle)
QString QPlatformFontDatabase::fontDir() const
{
QString fontpath = QString::fromLocal8Bit(qgetenv("QT_QPA_FONTDIR"));
- if (fontpath.isEmpty()) {
- fontpath = QLibraryInfo::location(QLibraryInfo::LibrariesPath);
- fontpath += QLatin1String("/fonts");
- }
+ if (fontpath.isEmpty())
+ fontpath = QLibraryInfo::location(QLibraryInfo::LibrariesPath) + QLatin1String("/fonts");
return fontpath;
}
diff --git a/src/gui/text/qtextimagehandler.cpp b/src/gui/text/qtextimagehandler.cpp
index 18311ed161..f7117bfe0a 100644
--- a/src/gui/text/qtextimagehandler.cpp
+++ b/src/gui/text/qtextimagehandler.cpp
@@ -61,10 +61,10 @@ static QString resolveFileName(QString fileName, QUrl *url, qreal targetDevicePi
// Also, QFile{Info}::exists works only on filepaths (not urls)
if (url->isValid()) {
- if (url->scheme() == QLatin1Literal("qrc")) {
+ if (url->scheme() == QLatin1String("qrc")) {
fileName = fileName.right(fileName.length() - 3);
}
- else if (url->scheme() == QLatin1Literal("file")) {
+ else if (url->scheme() == QLatin1String("file")) {
fileName = url->toLocalFile();
}
}
diff --git a/src/network/configure.json b/src/network/configure.json
new file mode 100644
index 0000000000..97bf92167d
--- /dev/null
+++ b/src/network/configure.json
@@ -0,0 +1,274 @@
+{
+ "module": "network",
+ "depends": [
+ "core"
+ ],
+ "testDir": "../../config.tests",
+
+ "commandline": {
+ "assignments": {
+ "OPENSSL_LIBS": "openssl.libs",
+ "OPENSSL_LIBS_DEBUG": "openssl.libs.debug",
+ "OPENSSL_LIBS_RELEASE": "openssl.libs.release",
+ "OPENSSL_PATH": "openssl.prefix"
+ },
+ "options": {
+ "libproxy": "boolean",
+ "openssl": { "type": "optionalString", "values": [ "no", "yes", "linked", "runtime" ] },
+ "openssl-linked": { "type": "void", "name": "openssl", "value": "linked" },
+ "openssl-runtime": { "type": "void", "name": "openssl", "value": "runtime" },
+ "sctp": "boolean",
+ "securetransport": "boolean",
+ "ssl": "boolean",
+ "system-proxies": "boolean"
+ }
+ },
+
+ "libraries": {
+ "corewlan": {
+ "label": "CoreWLan",
+ "export": "",
+ "test": "mac/corewlan",
+ "sources": [
+ "-framework CoreWLAN -framework Foundation"
+ ]
+ },
+ "network": {
+ "export": "",
+ "sources": [
+ { "type": "makeSpec", "spec": "NETWORK" }
+ ]
+ },
+ "libproxy": {
+ "label": "libproxy",
+ "test": "common/libproxy",
+ "sources": [
+ "-lproxy"
+ ]
+ },
+ "openssl": {
+ "label": "OpenSSL Libraries",
+ "export": "",
+ "sources": [
+ { "type": "openssl" },
+ {
+ "comment": "placeholder for OPENSSL_LIBS{,_{DEBUG,RELEASE}}",
+ "libs": "",
+ "builds": {
+ "debug": "",
+ "release": ""
+ },
+ "condition": "config.win32 && !features.shared"
+ },
+ { "libs": "-lssleay32 -llibeay32", "condition": "config.win32 && features.shared" },
+ { "libs": "-lssl -lcrypto", "condition": "!config.win32" }
+ ]
+ }
+ },
+
+ "tests": {
+ "getaddrinfo": {
+ "label": "getaddrinfo()",
+ "type": "compile",
+ "test": "unix/getaddrinfo",
+ "use": "network"
+ },
+ "getifaddrs": {
+ "label": "getifaddrs()",
+ "type": "compile",
+ "test": "unix/getifaddrs",
+ "use": "network"
+ },
+ "ipv6ifname": {
+ "label": "IPv6 ifname",
+ "type": "compile",
+ "test": "unix/ipv6ifname",
+ "use": "network"
+ },
+ "openssl": {
+ "label": "OpenSSL",
+ "type": "compile",
+ "test": "unix/openssl"
+ },
+ "sctp": {
+ "label": "SCTP support",
+ "type": "compile",
+ "test": "unix/sctp",
+ "use": "network"
+ }
+ },
+
+ "features": {
+ "corewlan": {
+ "label": "CoreWLan",
+ "condition": "libs.corewlan",
+ "emitIf": "config.darwin",
+ "output": [ "feature", "privateFeature" ]
+ },
+ "getaddrinfo": {
+ "label": "getaddrinfo()",
+ "condition": "tests.getaddrinfo",
+ "output": [ "feature" ]
+ },
+ "getifaddrs": {
+ "label": "getifaddrs()",
+ "condition": "tests.getifaddrs",
+ "output": [ "feature" ]
+ },
+ "ipv6ifname": {
+ "label": "IPv6 ifname",
+ "condition": "tests.ipv6ifname",
+ "output": [ "feature" ]
+ },
+ "libproxy": {
+ "label": "libproxy",
+ "autoDetect": false,
+ "condition": "libs.libproxy",
+ "output": [ "privateFeature" ]
+ },
+ "openssl": {
+ "label": "OpenSSL",
+ "enable": "input.openssl == 'yes' || input.openssl == 'linked' || input.openssl == 'runtime'",
+ "disable": "input.openssl == 'no' || input.ssl == 'no'",
+ "autoDetect": "!config.winrt",
+ "condition": "!features.securetransport && tests.openssl",
+ "output": [
+ "privateFeature",
+ { "type": "publicQtConfig", "condition": "!features.openssl-linked" },
+ { "type": "define", "negative": true, "name": "QT_NO_OPENSSL" }
+ ]
+ },
+ "openssl-linked": {
+ "label": " Qt directly linked to OpenSSL",
+ "enable": "input.openssl == 'linked'",
+ "disable": "input.openssl != 'linked'",
+ "condition": "features.openssl && libs.openssl",
+ "output": [
+ "privateFeature",
+ { "type": "varAssign", "name": "OPENSSL_LIBS", "value": "libs.openssl.libs", "eval": "true" },
+ { "type": "varAssign", "name": "OPENSSL_LIBS_DEBUG", "value": "libs.openssl.builds.debug.libs",
+ "eval": "true", "condition": "config.win32" },
+ { "type": "varAssign", "name": "OPENSSL_LIBS_RELEASE", "value": "libs.openssl.builds.release.libs",
+ "eval": "true", "condition": "config.win32" },
+ { "type": "define", "name": "QT_LINKED_OPENSSL" }
+ ]
+ },
+ "securetransport": {
+ "label": "SecureTransport",
+ "disable": "input.securetransport == 'no' || input.ssl == 'no'",
+ "condition": "config.darwin && (input.openssl == '' || input.openssl == 'no')",
+ "output": [
+ "privateFeature",
+ { "type": "define", "name": "QT_SECURETRANSPORT" }
+ ]
+ },
+ "ssl": {
+ "label": "SSL",
+ "condition": "config.winrt || features.securetransport || features.openssl",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "sctp": {
+ "label": "SCTP",
+ "autoDetect": false,
+ "condition": "tests.sctp",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "system-proxies": {
+ "label": "Use system proxies",
+ "output": [ "privateFeature" ]
+ },
+ "ftp": {
+ "label": "FTP",
+ "purpose": "Provides support for the File Transfer Protocol in QNetworkAccessManager.",
+ "section": "Networking",
+ "condition": "features.textdate",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "http": {
+ "label": "HTTP",
+ "purpose": "Provides support for the Hypertext Transfer Protocol in QNetworkAccessManager.",
+ "section": "Networking",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "udpsocket": {
+ "label": "QUdpSocket",
+ "purpose": "Provides access to UDP sockets.",
+ "section": "Networking",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "networkproxy": {
+ "label": "QNetworkProxy",
+ "purpose": "Provides network proxy support.",
+ "section": "Networking",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "socks5": {
+ "label": "SOCKS5",
+ "purpose": "Provides SOCKS5 support in QNetworkProxy.",
+ "section": "Networking",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "networkinterface": {
+ "label": "QNetworkInterface",
+ "purpose": "Supports enumerating a host's IP addresses and network interfaces.",
+ "section": "Networking",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "networkdiskcache": {
+ "label": "QNetworkDiskCache",
+ "purpose": "Provides a disk cache for network resources.",
+ "section": "Networking",
+ "condition": "features.temporaryfile",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "bearermanagement": {
+ "label": "Bearer management",
+ "purpose": "Provides bearer management for the network stack.",
+ "section": "Networking",
+ "condition": "features.library && features.networkinterface && features.properties",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "localserver": {
+ "label": "QLocalServer",
+ "purpose": "Provides a local socket based server.",
+ "section": "Networking",
+ "condition": "features.temporaryfile",
+ "output": [ "publicFeature", "feature" ]
+ }
+ },
+
+ "report": [
+ {
+ "type": "note",
+ "condition": "features.openssl-linked && libs.openssl.source != 0
+ && input.openssl.prefix == '' && input.openssl.libs == '' && input.openssl.libs.debug == ''",
+ "message": "When linking against OpenSSL, you can override the default
+library names through OPENSSL_LIBS.
+For example:
+ OPENSSL_LIBS='-L/opt/ssl/lib -lssl -lcrypto' ./configure -openssl-linked"
+ }
+ ],
+
+ "summary": [
+ {
+ "section": "Qt Network",
+ "entries": [
+ {
+ "type": "feature",
+ "args": "corewlan",
+ "condition": "config.darwin"
+ },
+ "getaddrinfo", "getifaddrs", "ipv6ifname", "libproxy",
+ {
+ "type": "feature",
+ "args": "securetransport",
+ "condition": "config.darwin"
+ },
+ "openssl",
+ "openssl-linked",
+ "sctp",
+ "system-proxies"
+ ]
+ }
+ ]
+}
diff --git a/src/network/configure.pri b/src/network/configure.pri
new file mode 100644
index 0000000000..57568902e4
--- /dev/null
+++ b/src/network/configure.pri
@@ -0,0 +1,12 @@
+# custom tests
+
+defineTest(qtConfLibrary_openssl) {
+ libs = $$getenv("OPENSSL_LIBS")
+ !isEmpty(libs) {
+ $${1}.libs = $$libs
+ export($${1}.libs)
+ return(true)
+ }
+ return(false)
+}
+
diff --git a/src/network/kernel/qnetworkproxy_mac.cpp b/src/network/kernel/qnetworkproxy_mac.cpp
index 37126298c6..76a2d2df9f 100644
--- a/src/network/kernel/qnetworkproxy_mac.cpp
+++ b/src/network/kernel/qnetworkproxy_mac.cpp
@@ -180,31 +180,23 @@ static QNetworkProxy proxyFromDictionary(CFDictionaryRef dict)
return QNetworkProxy(proxyType, hostName, port, user, password);
}
-const char * cfurlErrorDescription(SInt32 errorCode)
+namespace {
+struct PACInfo {
+ QCFType<CFArrayRef> proxies;
+ QCFType<CFErrorRef> error;
+ bool done = false;
+};
+
+void proxyAutoConfigCallback(void *client, CFArrayRef proxylist, CFErrorRef error)
{
- switch (errorCode) {
- case kCFURLUnknownError:
- return "Unknown Error";
- case kCFURLUnknownSchemeError:
- return "Unknown Scheme";
- case kCFURLResourceNotFoundError:
- return "Resource Not Found";
- case kCFURLResourceAccessViolationError:
- return "Resource Access Violation";
- case kCFURLRemoteHostUnavailableError:
- return "Remote Host Unavailable";
- case kCFURLImproperArgumentsError:
- return "Improper Arguments";
- case kCFURLUnknownPropertyKeyError:
- return "Unknown Property Key";
- case kCFURLPropertyKeyUnavailableError:
- return "Property Key Unavailable";
- case kCFURLTimeoutError:
- return "Timeout";
- default:
- return "Really Unknown Error";
- }
+ PACInfo *info = reinterpret_cast<PACInfo *>(reinterpret_cast<CFStreamClientContext *>(client)->info);
+ info->done = true;
+ if (proxylist)
+ CFRetain(proxylist);
+ info->proxies = proxylist;
+ info->error = error;
}
+} // anon namespace
QList<QNetworkProxy> macQueryInternal(const QNetworkProxyQuery &query)
{
@@ -240,23 +232,6 @@ QList<QNetworkProxy> macQueryInternal(const QNetworkProxyQuery &query)
qWarning("Invalid PAC URL \"%s\"", qPrintable(QCFString::toQString(cfPacLocation)));
return result;
}
- SInt32 errorCode;
- if (!CFURLCreateDataAndPropertiesFromResource(kCFAllocatorDefault, pacUrl, &pacData, NULL, NULL, &errorCode)) {
- QString pacLocation = QCFString::toQString(cfPacLocation);
- qWarning("Unable to get the PAC script at \"%s\" (%s)", qPrintable(pacLocation), cfurlErrorDescription(errorCode));
- return result;
- }
- if (!pacData) {
- qWarning("\"%s\" returned an empty PAC script", qPrintable(QCFString::toQString(cfPacLocation)));
- return result;
- }
- QCFType<CFStringRef> pacScript = CFStringCreateFromExternalRepresentation(kCFAllocatorDefault, pacData, kCFStringEncodingISOLatin1);
- if (!pacScript) {
- // This should never happen, but the documentation says it may return NULL if there was a problem creating the object.
- QString pacLocation = QCFString::toQString(cfPacLocation);
- qWarning("Unable to read the PAC script at \"%s\"", qPrintable(pacLocation));
- return result;
- }
QByteArray encodedURL = query.url().toEncoded(); // converted to UTF-8
if (encodedURL.isEmpty()) {
@@ -268,18 +243,31 @@ QList<QNetworkProxy> macQueryInternal(const QNetworkProxyQuery &query)
return result; // URL creation problem, abort
}
- QCFType<CFErrorRef> pacError;
- QCFType<CFArrayRef> proxies = CFNetworkCopyProxiesForAutoConfigurationScript(pacScript, targetURL, &pacError);
- if (!proxies) {
+ CFStreamClientContext pacCtx;
+ pacCtx.version = 0;
+ PACInfo pacInfo;
+ pacCtx.info = &pacInfo;
+ pacCtx.retain = NULL;
+ pacCtx.release = NULL;
+ pacCtx.copyDescription = NULL;
+
+ static CFStringRef pacRunLoopMode = CFSTR("qtPACRunLoopMode");
+
+ QCFType<CFRunLoopSourceRef> pacRunLoopSource = CFNetworkExecuteProxyAutoConfigurationURL(pacUrl, targetURL, &proxyAutoConfigCallback, &pacCtx);
+ CFRunLoopAddSource(CFRunLoopGetCurrent(), pacRunLoopSource, pacRunLoopMode);
+ while (!pacInfo.done)
+ CFRunLoopRunInMode(pacRunLoopMode, 1000, /*returnAfterSourceHandled*/ true);
+
+ if (!pacInfo.proxies) {
QString pacLocation = QCFString::toQString(cfPacLocation);
- QCFType<CFStringRef> pacErrorDescription = CFErrorCopyDescription(pacError);
+ QCFType<CFStringRef> pacErrorDescription = CFErrorCopyDescription(pacInfo.error);
qWarning("Execution of PAC script at \"%s\" failed: %s", qPrintable(pacLocation), qPrintable(QCFString::toQString(pacErrorDescription)));
return result;
}
- CFIndex size = CFArrayGetCount(proxies);
+ CFIndex size = CFArrayGetCount(pacInfo.proxies);
for (CFIndex i = 0; i < size; ++i) {
- CFDictionaryRef proxy = (CFDictionaryRef)CFArrayGetValueAtIndex(proxies, i);
+ CFDictionaryRef proxy = (CFDictionaryRef)CFArrayGetValueAtIndex(pacInfo.proxies, i);
result << proxyFromDictionary(proxy);
}
return result;
diff --git a/src/network/kernel/qtnetworkglobal.h b/src/network/kernel/qtnetworkglobal.h
index 192601970a..586b847816 100644
--- a/src/network/kernel/qtnetworkglobal.h
+++ b/src/network/kernel/qtnetworkglobal.h
@@ -41,6 +41,7 @@
#define QTNETWORKGLOBAL_H
#include <QtCore/qglobal.h>
+#include <QtNetwork/qtnetwork-config.h>
QT_BEGIN_NAMESPACE
diff --git a/src/network/kernel/qtnetworkglobal_p.h b/src/network/kernel/qtnetworkglobal_p.h
index 51347e440d..859e3d9ebd 100644
--- a/src/network/kernel/qtnetworkglobal_p.h
+++ b/src/network/kernel/qtnetworkglobal_p.h
@@ -53,5 +53,6 @@
#include <QtNetwork/qtnetworkglobal.h>
#include <QtCore/private/qglobal_p.h>
+#include <QtNetwork/private/qtnetwork-config_p.h>
#endif // QTNETWORKGLOBAL_P_H
diff --git a/src/network/socket/qnativesocketengine_winrt.cpp b/src/network/socket/qnativesocketengine_winrt.cpp
index 641863b4fd..6b71912838 100644
--- a/src/network/socket/qnativesocketengine_winrt.cpp
+++ b/src/network/socket/qnativesocketengine_winrt.cpp
@@ -1306,10 +1306,12 @@ HRESULT QNativeSocketEnginePrivate::handleConnectOpFinished(IAsyncAction *action
if (socketType != QAbstractSocket::TcpSocket)
return S_OK;
+#ifndef QT_NO_SSL
// Delay the reader so that the SSL socket can upgrade
if (sslSocket)
QObject::connect(qobject_cast<QSslSocket *>(sslSocket), &QSslSocket::encrypted, q, &QNativeSocketEngine::establishRead);
else
+#endif
q->establishRead();
return S_OK;
}
diff --git a/src/network/ssl/qsslcertificate.cpp b/src/network/ssl/qsslcertificate.cpp
index 96ba68089d..ce78399e01 100644
--- a/src/network/ssl/qsslcertificate.cpp
+++ b/src/network/ssl/qsslcertificate.cpp
@@ -111,7 +111,7 @@
\value EmailAddress The email address associated with the certificate
*/
-#include <QtCore/qglobal.h>
+#include <QtNetwork/qtnetworkglobal.h>
#ifndef QT_NO_OPENSSL
#include "qsslsocket_openssl_symbols_p.h"
#endif
diff --git a/src/platformsupport/cglconvenience/cglconvenience.mm b/src/platformsupport/cglconvenience/cglconvenience.mm
index 28cde1264d..85add35879 100644
--- a/src/platformsupport/cglconvenience/cglconvenience.mm
+++ b/src/platformsupport/cglconvenience/cglconvenience.mm
@@ -75,8 +75,11 @@ void *qcgl_createNSOpenGLPixelFormat(const QSurfaceFormat &format)
QVector<NSOpenGLPixelFormatAttribute> attrs;
- if (format.swapBehavior() != QSurfaceFormat::SingleBuffer)
+ if (format.swapBehavior() == QSurfaceFormat::DoubleBuffer
+ || format.swapBehavior() == QSurfaceFormat::DefaultSwapBehavior)
attrs.append(NSOpenGLPFADoubleBuffer);
+ else if (format.swapBehavior() == QSurfaceFormat::TripleBuffer)
+ attrs.append(NSOpenGLPFATripleBuffer);
if (format.profile() == QSurfaceFormat::CoreProfile
&& ((format.majorVersion() == 3 && format.minorVersion() >= 2)
diff --git a/src/platformsupport/fbconvenience/qfbvthandler_p.h b/src/platformsupport/fbconvenience/qfbvthandler_p.h
index e05a9d3ffc..17d07317b2 100644
--- a/src/platformsupport/fbconvenience/qfbvthandler_p.h
+++ b/src/platformsupport/fbconvenience/qfbvthandler_p.h
@@ -51,6 +51,7 @@
// We mean it.
//
+#include <QtGui/private/qtguiglobal_p.h>
#include <QObject>
QT_BEGIN_NAMESPACE
diff --git a/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp b/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp
index 02b7e1bd63..5847c601a8 100644
--- a/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp
+++ b/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp
@@ -504,7 +504,7 @@ static void populateFromPattern(FcPattern *pattern)
void QFontconfigDatabase::populateFontDatabase()
{
- FcInitReinitialize();
+ FcInit();
FcFontSet *fonts;
{
@@ -568,6 +568,12 @@ void QFontconfigDatabase::populateFontDatabase()
// QApplication::setFont(font);
}
+void QFontconfigDatabase::invalidate()
+{
+ // Clear app fonts.
+ FcConfigAppFontClear(0);
+}
+
QFontEngineMulti *QFontconfigDatabase::fontEngineMulti(QFontEngine *fontEngine, QChar::Script script)
{
return new QFontEngineMultiFontConfig(fontEngine, script);
diff --git a/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase_p.h b/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase_p.h
index 197a442d5b..244558b910 100644
--- a/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase_p.h
+++ b/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase_p.h
@@ -62,6 +62,7 @@ class QFontconfigDatabase : public QBasicFontDatabase
{
public:
void populateFontDatabase() Q_DECL_OVERRIDE;
+ void invalidate() Q_DECL_OVERRIDE;
QFontEngineMulti *fontEngineMulti(QFontEngine *fontEngine, QChar::Script script) Q_DECL_OVERRIDE;
QFontEngine *fontEngine(const QFontDef &fontDef, void *handle) Q_DECL_OVERRIDE;
QFontEngine *fontEngine(const QByteArray &fontData, qreal pixelSize, QFont::HintingPreference hintingPreference) Q_DECL_OVERRIDE;
diff --git a/src/platformsupport/input/evdevtouch/qevdevtouchhandler_p.h b/src/platformsupport/input/evdevtouch/qevdevtouchhandler_p.h
index b29aa3a793..6554d4998c 100644
--- a/src/platformsupport/input/evdevtouch/qevdevtouchhandler_p.h
+++ b/src/platformsupport/input/evdevtouch/qevdevtouchhandler_p.h
@@ -51,6 +51,7 @@
// We mean it.
//
+#include <QtGui/private/qtguiglobal_p.h>
#include <QObject>
#include <QString>
#include <QList>
diff --git a/src/platformsupport/themes/qabstractfileiconengine.cpp b/src/platformsupport/themes/qabstractfileiconengine.cpp
index 19a8eee47b..192ed00510 100644
--- a/src/platformsupport/themes/qabstractfileiconengine.cpp
+++ b/src/platformsupport/themes/qabstractfileiconengine.cpp
@@ -73,8 +73,7 @@ QPixmap QAbstractFileIconEngine::pixmap(const QSize &size, QIcon::Mode mode,
if (key.isEmpty())
return filePixmap(size, mode, state);
- key += QLatin1Char('_');
- key += QString::number(size.width());
+ key += QLatin1Char('_') + QString::number(size.width());
QPixmap result;
if (!QPixmapCache::find(key, result)) {
diff --git a/src/plugins/bearer/bearer.pro b/src/plugins/bearer/bearer.pro
index 8078a5708c..b362722b28 100644
--- a/src/plugins/bearer/bearer.pro
+++ b/src/plugins/bearer/bearer.pro
@@ -1,4 +1,5 @@
TEMPLATE = subdirs
+QT_FOR_CONFIG += network-private
!android:linux*:qtHaveModule(dbus) {
SUBDIRS += generic
diff --git a/src/plugins/bearer/connman/qconnmanengine.cpp b/src/plugins/bearer/connman/qconnmanengine.cpp
index 51ee51a64a..eabae5a07b 100644
--- a/src/plugins/bearer/connman/qconnmanengine.cpp
+++ b/src/plugins/bearer/connman/qconnmanengine.cpp
@@ -93,9 +93,9 @@ void QConnmanEngine::initialize()
connect(connmanManager,SIGNAL(servicesReady(QStringList)),this,SLOT(servicesReady(QStringList)));
connect(connmanManager,SIGNAL(scanFinished(bool)),this,SLOT(finishedScan(bool)));
- foreach (const QString &servPath, connmanManager->getServices()) {
+ const auto servPaths = connmanManager->getServices();
+ for (const QString &servPath : servPaths)
addServiceConfiguration(servPath);
- }
Q_EMIT updateCompleted();
}
@@ -115,9 +115,8 @@ void QConnmanEngine::changedModem()
void QConnmanEngine::servicesReady(const QStringList &list)
{
QMutexLocker locker(&mutex);
- foreach (const QString &servPath, list) {
+ for (const QString &servPath : list)
addServiceConfiguration(servPath);
- }
Q_EMIT updateCompleted();
}
@@ -329,7 +328,8 @@ QNetworkSessionPrivate *QConnmanEngine::createSessionBackend()
QNetworkConfigurationPrivatePointer QConnmanEngine::defaultConfiguration()
{
const QMutexLocker locker(&mutex);
- Q_FOREACH (const QString &servPath, connmanManager->getServices()) {
+ const auto servPaths = connmanManager->getServices();
+ for (const QString &servPath : servPaths) {
if (connmanServiceInterfaces.contains(servPath)) {
if (accessPointConfigurations.contains(servPath))
return accessPointConfigurations.value(servPath);
@@ -461,7 +461,8 @@ QNetworkConfiguration::BearerType QConnmanEngine::ofonoTechToBearerType(const QS
bool QConnmanEngine::isRoamingAllowed(const QString &context)
{
- foreach (const QString &dcPath, ofonoContextManager->contexts()) {
+ const auto dcPaths = ofonoContextManager->contexts();
+ for (const QString &dcPath : dcPaths) {
if (dcPath.contains(context.section("_",-1))) {
return ofonoContextManager->roamingAllowed();
}
@@ -557,7 +558,8 @@ bool QConnmanEngine::requiresPolling() const
void QConnmanEngine::reEvaluateCellular()
{
- Q_FOREACH (const QString &servicePath, connmanManager->getServices()) {
+ const auto servicePaths = connmanManager->getServices();
+ for (const QString &servicePath : servicePaths) {
if (servicePath.contains("cellular") && accessPointConfigurations.contains(servicePath)) {
configurationChange(connmanServiceInterfaces.value(servicePath));
}
diff --git a/src/plugins/bearer/connman/qconnmanservice_linux.cpp b/src/plugins/bearer/connman/qconnmanservice_linux.cpp
index 7fbbe2cd07..bc89f540fc 100644
--- a/src/plugins/bearer/connman/qconnmanservice_linux.cpp
+++ b/src/plugins/bearer/connman/qconnmanservice_linux.cpp
@@ -144,10 +144,9 @@ void QConnmanManagerInterface::servicesReply(QDBusPendingCallWatcher *call)
qDebug() << serv_reply.error().message();
} else {
servicesList.clear(); //connman list changes order
- ConnmanMap connmanobj;
- Q_FOREACH (connmanobj, serv_reply.value()) {
+ const ConnmanMapList connmanobjs = serv_reply.value();
+ for (const ConnmanMap &connmanobj : connmanobjs)
servicesList << connmanobj.objectPath.path();
- }
Q_EMIT servicesReady(servicesList);
}
call->deleteLater();
@@ -181,7 +180,7 @@ void QConnmanManagerInterface::connectNotify(const QMetaMethod &signal)
void QConnmanManagerInterface::onServicesChanged(const ConnmanMapList &changed, const QList<QDBusObjectPath> &removed)
{
servicesList.clear(); //connman list changes order
- Q_FOREACH (const ConnmanMap &connmanobj, changed) {
+ for (const ConnmanMap &connmanobj : changed) {
const QString svcPath(connmanobj.objectPath.path());
servicesList << svcPath;
}
@@ -225,7 +224,8 @@ QStringList QConnmanManagerInterface::getTechnologies()
QDBusPendingReply<ConnmanMapList> reply = call(QLatin1String("GetTechnologies"));
reply.waitForFinished();
if (!reply.isError()) {
- Q_FOREACH (const ConnmanMap &map, reply.value()) {
+ const ConnmanMapList maps = reply.value();
+ for (const ConnmanMap &map : maps) {
if (!technologiesMap.contains(map.objectPath.path())) {
technologyAdded(map.objectPath, map.propertyMap);
}
@@ -241,9 +241,9 @@ QStringList QConnmanManagerInterface::getServices()
QDBusPendingReply<ConnmanMapList> reply = call(QLatin1String("GetServices"));
reply.waitForFinished();
if (!reply.isError()) {
- Q_FOREACH (const ConnmanMap &map, reply.value()) {
+ const ConnmanMapList maps = reply.value();
+ for (const ConnmanMap &map : maps)
servicesList << map.objectPath.path();
- }
}
}
return servicesList;
diff --git a/src/plugins/bearer/linux_common/qofonoservice_linux.cpp b/src/plugins/bearer/linux_common/qofonoservice_linux.cpp
index b0f5f29f6c..adf7feef2e 100644
--- a/src/plugins/bearer/linux_common/qofonoservice_linux.cpp
+++ b/src/plugins/bearer/linux_common/qofonoservice_linux.cpp
@@ -103,9 +103,9 @@ QStringList QOfonoManagerInterface::getModems()
QDBusPendingReply<PathPropertiesList> reply = callWithArgumentList(QDBus::Block, QLatin1String("GetModems"), argumentList);
reply.waitForFinished();
if (!reply.isError()) {
- foreach (const ObjectPathProperties &modem, reply.value()) {
+ const auto modems = reply.value();
+ for (const ObjectPathProperties &modem : modems)
modemList << modem.path.path();
- }
}
}
@@ -114,8 +114,8 @@ QStringList QOfonoManagerInterface::getModems()
QString QOfonoManagerInterface::currentModem()
{
- QStringList modems = getModems();
- foreach (const QString &modem, modems) {
+ const QStringList modems = getModems();
+ for (const QString &modem : modems) {
QOfonoModemInterface device(modem);
if (device.isPowered() && device.isOnline()
&& device.interfaces().contains(QStringLiteral("org.ofono.NetworkRegistration")))
@@ -266,9 +266,9 @@ QStringList QOfonoDataConnectionManagerInterface::contexts()
QDBusPendingReply<PathPropertiesList > reply = call(QLatin1String("GetContexts"));
reply.waitForFinished();
if (!reply.isError()) {
- foreach (const ObjectPathProperties &context, reply.value()) {
+ const auto contexts = reply.value();
+ for (const ObjectPathProperties &context : contexts)
contextList << context.path.path();
- }
}
}
return contextList;
diff --git a/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp b/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp
index f02b6befb8..543e66491d 100644
--- a/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp
+++ b/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp
@@ -127,7 +127,8 @@ void QNetworkManagerEngine::setupConfigurations()
{
QMutexLocker locker(&mutex);
// Get active connections.
- foreach (const QDBusObjectPath &acPath, managerInterface->activeConnections()) {
+ const auto acPaths = managerInterface->activeConnections();
+ for (const QDBusObjectPath &acPath : acPaths) {
if (activeConnectionsList.contains(acPath.path()))
continue;
@@ -144,8 +145,10 @@ void QNetworkManagerEngine::setupConfigurations()
connectionInterfaces.insert(activeConnection->connection().path(),device.networkInterface());
}
}
+
// Get connections.
- foreach (const QDBusObjectPath &settingsPath, systemSettings->listConnections()) {
+ const auto settingsPaths = systemSettings->listConnections();
+ for (const QDBusObjectPath &settingsPath : settingsPaths) {
locker.unlock();
if (!hasIdentifier(settingsPath.path()))
newConnection(settingsPath, systemSettings); //add system connection configs
@@ -189,21 +192,13 @@ void QNetworkManagerEngine::connectToId(const QString &id)
if (isConnectionActive(settingsPath))
return;
- QHashIterator<QString, QNetworkManagerInterfaceDevice*> i(interfaceDevices);
- while (i.hasNext()) {
- i.next();
- if (i.value()->deviceType() == DEVICE_TYPE_ETHERNET &&
- connectionType == DEVICE_TYPE_ETHERNET) {
- dbusDevicePath = i.key();
- break;
- } else if (i.value()->deviceType() == DEVICE_TYPE_WIFI &&
- connectionType == DEVICE_TYPE_WIFI) {
- dbusDevicePath = i.key();
- break;
- } else if (i.value()->deviceType() == DEVICE_TYPE_MODEM &&
- connectionType == DEVICE_TYPE_MODEM) {
- dbusDevicePath = i.key();
- break;
+ for (auto i = interfaceDevices.cbegin(), end = interfaceDevices.cend(); i != end; ++i) {
+ const auto type = i.value()->deviceType();
+ if (type == DEVICE_TYPE_ETHERNET || type == DEVICE_TYPE_WIFI || type == DEVICE_TYPE_MODEM) {
+ if (type == connectionType) {
+ dbusDevicePath = i.key();
+ break;
+ }
}
}
@@ -230,9 +225,7 @@ void QNetworkManagerEngine::disconnectFromId(const QString &id)
return;
}
- QHashIterator<QString, QNetworkManagerConnectionActive*> i(activeConnectionsList);
- while (i.hasNext()) {
- i.next();
+ for (auto i = activeConnectionsList.cbegin(), end = activeConnectionsList.cend(); i != end; ++i) {
if (id == i.value()->connection().path() && accessPointConfigurations.contains(id)) {
managerInterface->deactivateConnection(QDBusObjectPath(i.key()));
break;
@@ -243,11 +236,8 @@ void QNetworkManagerEngine::disconnectFromId(const QString &id)
void QNetworkManagerEngine::requestUpdate()
{
if (managerInterface && managerInterface->wirelessEnabled()) {
- QHashIterator<QString, QNetworkManagerInterfaceDeviceWireless *> i(wirelessDevices);
- while (i.hasNext()) {
- i.next();
- i.value()->requestScan();
- }
+ for (auto *wirelessDevice : qAsConst(wirelessDevices))
+ wirelessDevice->requestScan();
}
QMetaObject::invokeMethod(this, "updateCompleted", Qt::QueuedConnection);
}
@@ -255,20 +245,17 @@ void QNetworkManagerEngine::requestUpdate()
void QNetworkManagerEngine::interfacePropertiesChanged(const QMap<QString, QVariant> &properties)
{
QMutexLocker locker(&mutex);
- QMapIterator<QString, QVariant> i(properties);
- while (i.hasNext()) {
- i.next();
+ for (auto i = properties.cbegin(), end = properties.cend(); i != end; ++i) {
if (i.key() == QLatin1String("ActiveConnections")) {
// Active connections changed, update configurations.
- QList<QDBusObjectPath> activeConnections =
- qdbus_cast<QList<QDBusObjectPath> >(i.value().value<QDBusArgument>());
+ const auto activeConnections = qdbus_cast<QList<QDBusObjectPath> >(i.value().value<QDBusArgument>());
QStringList identifiers = accessPointConfigurations.keys();
QStringList priorActiveConnections = activeConnectionsList.keys();
- foreach (const QDBusObjectPath &acPath, activeConnections) {
+ for (const QDBusObjectPath &acPath : activeConnections) {
priorActiveConnections.removeOne(acPath.path());
QNetworkManagerConnectionActive *activeConnection =
activeConnectionsList.value(acPath.path());
@@ -399,7 +386,8 @@ void QNetworkManagerEngine::wiredCarrierChanged(bool carrier)
if (!deviceWired)
return;
QMutexLocker locker(&mutex);
- foreach (const QDBusObjectPath &settingsPath, systemSettings->listConnections()) {
+ const auto settingsPaths = systemSettings->listConnections();
+ for (const QDBusObjectPath &settingsPath : settingsPaths) {
for (int i = 0; i < connections.count(); ++i) {
QNetworkManagerSettingsConnection *connection = connections.at(i);
if (connection->getType() == DEVICE_TYPE_ETHERNET
@@ -477,12 +465,9 @@ void QNetworkManagerEngine::newConnection(const QDBusObjectPath &path,
cpPriv->state |= QNetworkConfiguration::Active;
if (deviceType == DEVICE_TYPE_ETHERNET) {
- QHashIterator<QString, QNetworkManagerInterfaceDevice*> i(interfaceDevices);
- while (i.hasNext()) {
- i.next();
- if (i.value()->deviceType() == deviceType) {
- QNetworkManagerInterfaceDeviceWired *wiredDevice
- = wiredDevices.value(i.value()->path());
+ for (const auto *interfaceDevice : interfaceDevices) {
+ if (interfaceDevice->deviceType() == deviceType) {
+ auto *wiredDevice = wiredDevices.value(interfaceDevice->path());
if (wiredDevice && wiredDevice->carrier()) {
cpPriv->state |= QNetworkConfiguration::Discovered;
}
@@ -559,7 +544,8 @@ void QNetworkManagerEngine::updateConnection()
QNetworkConfigurationPrivate *cpPriv = parseConnection(settingsPath, connection->getSettings());
// Check if connection is active.
- foreach (const QDBusObjectPath &acPath, managerInterface->activeConnections()) {
+ const auto acPaths = managerInterface->activeConnections();
+ for (const QDBusObjectPath &acPath : acPaths) {
QNetworkManagerConnectionActive activeConnection(acPath.path());
if (activeConnection.connection().path() == settingsPath &&
@@ -635,7 +621,8 @@ QNetworkConfigurationPrivate *QNetworkManagerEngine::parseConnection(const QStri
if (connectionType == QLatin1String("802-3-ethernet")) {
cpPriv->bearerType = QNetworkConfiguration::BearerEthernet;
- foreach (const QDBusObjectPath &devicePath, managerInterface->getDevices()) {
+ const auto devicePaths = managerInterface->getDevices();
+ for (const QDBusObjectPath &devicePath : devicePaths) {
QNetworkManagerInterfaceDevice device(devicePath.path(),this);
if (device.deviceType() == DEVICE_TYPE_ETHERNET) {
QNetworkManagerInterfaceDeviceWired *wiredDevice = wiredDevices.value(device.path());
@@ -729,9 +716,7 @@ QNetworkSession::State QNetworkManagerEngine::sessionStateForId(const QString &i
if (!ptr->isValid)
return QNetworkSession::Invalid;
- foreach (const QString &acPath, activeConnectionsList.keys()) {
- QNetworkManagerConnectionActive *activeConnection = activeConnectionsList.value(acPath);
-
+ for (QNetworkManagerConnectionActive *activeConnection : activeConnectionsList) {
const QString identifier = activeConnection->connection().path();
if (id == identifier) {
@@ -932,7 +917,8 @@ void QNetworkManagerEngine::ofonoRegistered(const QString &)
}
ofonoManager = new QOfonoManagerInterface(this);
if (ofonoManager && ofonoManager->isValid()) {
- Q_FOREACH (const QString &modem, ofonoManager->getModems()) {
+ const auto modems = ofonoManager->getModems();
+ for (const QString &modem : modems) {
QOfonoDataConnectionManagerInterface *ofonoContextManager
= new QOfonoDataConnectionManagerInterface(modem,this);
ofonoContextManagers.insert(modem, ofonoContextManager);
diff --git a/src/plugins/bearer/qnetworksession_impl.cpp b/src/plugins/bearer/qnetworksession_impl.cpp
index 85942b56f1..5ce51670f7 100644
--- a/src/plugins/bearer/qnetworksession_impl.cpp
+++ b/src/plugins/bearer/qnetworksession_impl.cpp
@@ -54,7 +54,8 @@ static QBearerEngineImpl *getEngineFromId(const QString &id)
{
QNetworkConfigurationManagerPrivate *priv = qNetworkConfigurationManagerPrivate();
- foreach (QBearerEngine *engine, priv->engines()) {
+ const auto engines = priv->engines();
+ for (QBearerEngine *engine : engines) {
QBearerEngineImpl *engineImpl = qobject_cast<QBearerEngineImpl *>(engine);
if (engineImpl && engineImpl->hasIdentifier(id))
return engineImpl;
@@ -306,7 +307,8 @@ void QNetworkSessionPrivateImpl::updateStateFromServiceNetwork()
{
QNetworkSession::State oldState = state;
- foreach (const QNetworkConfiguration &config, serviceConfig.children()) {
+ const auto configs = serviceConfig.children();
+ for (const QNetworkConfiguration &config : configs) {
if ((config.state() & QNetworkConfiguration::Active) != QNetworkConfiguration::Active)
continue;
diff --git a/src/plugins/generic/generic.pro b/src/plugins/generic/generic.pro
index c0a81d4dc8..996e57d015 100644
--- a/src/plugins/generic/generic.pro
+++ b/src/plugins/generic/generic.pro
@@ -1,6 +1,5 @@
TEMPLATE = subdirs
-
-load(qfeatures)
+QT_FOR_CONFIG += gui-private network-private
qtConfig(evdev) {
SUBDIRS += evdevmouse evdevtouch evdevkeyboard evdevtablet
@@ -10,7 +9,7 @@ qtConfig(tslib) {
SUBDIRS += tslib
}
-!contains(QT_DISABLED_FEATURES, udpsocket) {
+qtConfig(udpsocket) {
SUBDIRS += tuiotouch
}
diff --git a/src/plugins/generic/tuiotouch/qoscbundle.cpp b/src/plugins/generic/tuiotouch/qoscbundle.cpp
index 6ddca9b09d..b84ae39aca 100644
--- a/src/plugins/generic/tuiotouch/qoscbundle.cpp
+++ b/src/plugins/generic/tuiotouch/qoscbundle.cpp
@@ -38,17 +38,20 @@
**
****************************************************************************/
+#include "qoscbundle_p.h"
+#include "qtuio_p.h"
+
#include <QtEndian>
#include <QDebug>
#include <QLoggingCategory>
-#include "qoscbundle_p.h"
-#include "qtuio_p.h"
QT_BEGIN_NAMESPACE
Q_LOGGING_CATEGORY(lcTuioBundle, "qt.qpa.tuio.bundle")
+QOscBundle::QOscBundle() {}
+
// TUIO packets are transmitted using the OSC protocol, located at:
// http://opensoundcontrol.org/specification
// Snippets of this specification have been pasted into the source as a means of
@@ -172,21 +175,5 @@ QOscBundle::QOscBundle(const QByteArray &data)
}
}
-
-bool QOscBundle::isValid() const
-{
- return m_isValid;
-}
-
-QList<QOscBundle> QOscBundle::bundles() const
-{
- return m_bundles;
-}
-
-QList<QOscMessage> QOscBundle::messages() const
-{
- return m_messages;
-}
-
QT_END_NAMESPACE
diff --git a/src/plugins/generic/tuiotouch/qoscbundle_p.h b/src/plugins/generic/tuiotouch/qoscbundle_p.h
index e95a202ae7..cb3ec4d251 100644
--- a/src/plugins/generic/tuiotouch/qoscbundle_p.h
+++ b/src/plugins/generic/tuiotouch/qoscbundle_p.h
@@ -43,25 +43,32 @@
#include "qoscmessage_p.h"
+#include <QtCore/QVector>
+
QT_BEGIN_NAMESPACE
+class QByteArray;
+
class QOscBundle
{
+ QOscBundle(); // for QVector, don't use
+ friend class QVector<QOscBundle>;
public:
- QOscBundle(const QByteArray &data);
+ explicit QOscBundle(const QByteArray &data);
- bool isValid() const;
- QList<QOscBundle> bundles() const;
- QList<QOscMessage> messages() const;
+ bool isValid() const { return m_isValid; }
+ QVector<QOscBundle> bundles() const { return m_bundles; }
+ QVector<QOscMessage> messages() const { return m_messages; }
private:
bool m_isValid;
bool m_immediate;
quint32 m_timeEpoch;
quint32 m_timePico;
- QList<QOscBundle> m_bundles;
- QList<QOscMessage> m_messages;
+ QVector<QOscBundle> m_bundles;
+ QVector<QOscMessage> m_messages;
};
+Q_DECLARE_TYPEINFO(QOscBundle, Q_MOVABLE_TYPE);
QT_END_NAMESPACE
diff --git a/src/plugins/generic/tuiotouch/qoscmessage.cpp b/src/plugins/generic/tuiotouch/qoscmessage.cpp
index 6f82cd784b..b2004903bd 100644
--- a/src/plugins/generic/tuiotouch/qoscmessage.cpp
+++ b/src/plugins/generic/tuiotouch/qoscmessage.cpp
@@ -38,19 +38,19 @@
**
****************************************************************************/
-#include <QByteArray>
+#include "qoscmessage_p.h"
+#include "qtuio_p.h"
+
#include <QDebug>
#include <QtEndian>
-#include <QVariant>
#include <QLoggingCategory>
-#include "qoscmessage_p.h"
-#include "qtuio_p.h"
-
QT_BEGIN_NAMESPACE
Q_LOGGING_CATEGORY(lcTuioMessage, "qt.qpa.tuio.message")
+QOscMessage::QOscMessage() {}
+
// TUIO packets are transmitted using the OSC protocol, located at:
// http://opensoundcontrol.org/specification
// Snippets of this specification have been pasted into the source as a means of
@@ -125,20 +125,5 @@ QOscMessage::QOscMessage(const QByteArray &data)
qCDebug(lcTuioMessage) << "Message with address pattern: " << addressPattern << " arguments: " << arguments;
}
-bool QOscMessage::isValid() const
-{
- return m_isValid;
-}
-
-QByteArray QOscMessage::addressPattern() const
-{
- return m_addressPattern;
-}
-
-QList<QVariant> QOscMessage::arguments() const
-{
- return m_arguments;
-}
-
QT_END_NAMESPACE
diff --git a/src/plugins/generic/tuiotouch/qoscmessage_p.h b/src/plugins/generic/tuiotouch/qoscmessage_p.h
index 788a03e504..76d40ceb18 100644
--- a/src/plugins/generic/tuiotouch/qoscmessage_p.h
+++ b/src/plugins/generic/tuiotouch/qoscmessage_p.h
@@ -41,22 +41,32 @@
#ifndef QOSCMESSAGE_P_H
#define QOSCMESSAGE_P_H
+#include <QtCore/QByteArray>
+#include <QtCore/QVariant>
+#include <QtCore/QVector>
+#include <QtCore/QList>
+
+
QT_BEGIN_NAMESPACE
class QOscMessage
{
+ QOscMessage(); // for QVector, don't use
+ friend class QVector<QOscMessage>;
public:
- QOscMessage(const QByteArray &data);
- bool isValid() const;
+ explicit QOscMessage(const QByteArray &data);
+
+ bool isValid() const { return m_isValid; }
- QByteArray addressPattern() const;
- QList<QVariant> arguments() const;
+ QByteArray addressPattern() const { return m_addressPattern; }
+ QList<QVariant> arguments() const { return m_arguments; }
private:
bool m_isValid;
QByteArray m_addressPattern;
QList<QVariant> m_arguments;
};
+Q_DECLARE_TYPEINFO(QOscMessage, Q_MOVABLE_TYPE);
QT_END_NAMESPACE
diff --git a/src/plugins/generic/tuiotouch/qtuiocursor_p.h b/src/plugins/generic/tuiotouch/qtuiocursor_p.h
index 2ff762b836..46134e6f3f 100644
--- a/src/plugins/generic/tuiotouch/qtuiocursor_p.h
+++ b/src/plugins/generic/tuiotouch/qtuiocursor_p.h
@@ -102,6 +102,7 @@ private:
float m_acceleration;
Qt::TouchPointState m_state;
};
+Q_DECLARE_TYPEINFO(QTuioCursor, Q_MOVABLE_TYPE); // Q_PRIMITIVE_TYPE: not possible, m_state is = 1, not 0.
QT_END_NAMESPACE
diff --git a/src/plugins/generic/tuiotouch/qtuiohandler.cpp b/src/plugins/generic/tuiotouch/qtuiohandler.cpp
index 38105fe656..26b88d6d78 100644
--- a/src/plugins/generic/tuiotouch/qtuiohandler.cpp
+++ b/src/plugins/generic/tuiotouch/qtuiohandler.cpp
@@ -38,19 +38,22 @@
**
****************************************************************************/
-#include <QLoggingCategory>
-#include <QRect>
-#include <QWindow>
-#include <QGuiApplication>
-#include <QTouchDevice>
-#include <qmath.h>
-
-#include <qpa/qwindowsysteminterface.h>
+#include "qtuiohandler_p.h"
#include "qtuiocursor_p.h"
#include "qtuiotoken_p.h"
-#include "qtuiohandler_p.h"
#include "qoscbundle_p.h"
+#include "qoscmessage_p.h"
+
+#include <qpa/qwindowsysteminterface.h>
+
+#include <QTouchDevice>
+#include <QWindow>
+#include <QGuiApplication>
+
+#include <QLoggingCategory>
+#include <QRect>
+#include <qmath.h>
QT_BEGIN_NAMESPACE
@@ -151,7 +154,7 @@ void QTuioHandler::processPackets()
// messages. The FSEQ frame ID is incremented for each delivered bundle,
// while redundant bundles can be marked using the frame sequence ID
// -1."
- QList<QOscMessage> messages;
+ QVector<QOscMessage> messages;
QOscBundle bundle(datagram);
if (bundle.isValid()) {
diff --git a/src/plugins/generic/tuiotouch/qtuiotoken_p.h b/src/plugins/generic/tuiotouch/qtuiotoken_p.h
index 5084aeed11..b784190d53 100644
--- a/src/plugins/generic/tuiotouch/qtuiotoken_p.h
+++ b/src/plugins/generic/tuiotouch/qtuiotoken_p.h
@@ -138,6 +138,7 @@ private:
float m_angularAcceleration;
Qt::TouchPointState m_state;
};
+Q_DECLARE_TYPEINFO(QTuioToken, Q_MOVABLE_TYPE); // Q_PRIMITIVE_TYPE: not possible: m_id, m_classId == -1
QT_END_NAMESPACE
diff --git a/src/plugins/generic/tuiotouch/tuiotouch.pro b/src/plugins/generic/tuiotouch/tuiotouch.pro
index ad6a1c6876..08f7036c92 100644
--- a/src/plugins/generic/tuiotouch/tuiotouch.pro
+++ b/src/plugins/generic/tuiotouch/tuiotouch.pro
@@ -21,6 +21,7 @@ HEADERS += \
OTHER_FILES += \
tuiotouch.json
+DEFINES += QT_NO_FOREACH
PLUGIN_TYPE = generic
PLUGIN_EXTENDS = -
PLUGIN_CLASS_NAME = QTuioTouchPlugin
diff --git a/src/plugins/imageformats/imageformats.pro b/src/plugins/imageformats/imageformats.pro
index d2588c1b18..9d1c0c8fdf 100644
--- a/src/plugins/imageformats/imageformats.pro
+++ b/src/plugins/imageformats/imageformats.pro
@@ -1,4 +1,5 @@
TEMPLATE = subdirs
+QT_FOR_CONFIG += gui-private
qtConfig(ico): SUBDIRS += ico
qtConfig(jpeg): SUBDIRS += jpeg
diff --git a/src/plugins/platforminputcontexts/platforminputcontexts.pro b/src/plugins/platforminputcontexts/platforminputcontexts.pro
index f22b8b69db..ed6b1b8702 100644
--- a/src/plugins/platforminputcontexts/platforminputcontexts.pro
+++ b/src/plugins/platforminputcontexts/platforminputcontexts.pro
@@ -1,4 +1,5 @@
TEMPLATE = subdirs
+QT_FOR_CONFIG += gui-private
qtHaveModule(dbus) {
!mac:!win32:SUBDIRS += ibus
diff --git a/src/plugins/platforms/cocoa/qcocoaglcontext.mm b/src/plugins/platforms/cocoa/qcocoaglcontext.mm
index 7a12969972..628357eb39 100644
--- a/src/plugins/platforms/cocoa/qcocoaglcontext.mm
+++ b/src/plugins/platforms/cocoa/qcocoaglcontext.mm
@@ -312,8 +312,16 @@ void QCocoaGLContext::updateSurfaceFormat()
m_format.setSamples(samples);
int doubleBuffered = -1;
+ int tripleBuffered = -1;
[pixelFormat getValues:&doubleBuffered forAttribute:NSOpenGLPFADoubleBuffer forVirtualScreen:0];
- m_format.setSwapBehavior(doubleBuffered == 1 ? QSurfaceFormat::DoubleBuffer : QSurfaceFormat::SingleBuffer);
+ [pixelFormat getValues:&tripleBuffered forAttribute:NSOpenGLPFATripleBuffer forVirtualScreen:0];
+
+ if (tripleBuffered == 1)
+ m_format.setSwapBehavior(QSurfaceFormat::TripleBuffer);
+ else if (doubleBuffered == 1)
+ m_format.setSwapBehavior(QSurfaceFormat::DoubleBuffer);
+ else
+ m_format.setSwapBehavior(QSurfaceFormat::SingleBuffer);
int steroBuffers = -1;
[pixelFormat getValues:&steroBuffers forAttribute:NSOpenGLPFAStereo forVirtualScreen:0];
diff --git a/src/plugins/platforms/eglfs/deviceintegration/deviceintegration.pro b/src/plugins/platforms/eglfs/deviceintegration/deviceintegration.pro
index b46b04d149..d86a67b4f4 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/deviceintegration.pro
+++ b/src/plugins/platforms/eglfs/deviceintegration/deviceintegration.pro
@@ -1,4 +1,5 @@
TEMPLATE = subdirs
+QT_FOR_CONFIG += gui-private
qtConfig(egl_x11): SUBDIRS += eglfs_x11
qtConfig(eglfs_gbm): SUBDIRS += eglfs_kms_support eglfs_kms
diff --git a/src/plugins/platforms/platforms.pro b/src/plugins/platforms/platforms.pro
index fcfebf6e94..938e63d95a 100644
--- a/src/plugins/platforms/platforms.pro
+++ b/src/plugins/platforms/platforms.pro
@@ -1,4 +1,5 @@
TEMPLATE = subdirs
+QT_FOR_CONFIG += gui-private
android: SUBDIRS += android
diff --git a/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp b/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp
index a7106c972b..8f1358de6c 100644
--- a/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp
+++ b/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp
@@ -750,10 +750,13 @@ void QWindowsNativeFileDialogBase::setDirectory(const QUrl &directory)
QString QWindowsNativeFileDialogBase::directory() const
{
+ QString result;
IShellItem *item = 0;
- if (m_fileDialog && SUCCEEDED(m_fileDialog->GetFolder(&item)) && item)
- return QWindowsNativeFileDialogBase::itemPath(item);
- return QString();
+ if (m_fileDialog && SUCCEEDED(m_fileDialog->GetFolder(&item)) && item) {
+ result = QWindowsNativeFileDialogBase::itemPath(item);
+ item->Release();
+ }
+ return result;
}
void QWindowsNativeFileDialogBase::doExec(HWND owner)
@@ -1216,8 +1219,10 @@ QList<QUrl> QWindowsNativeSaveFileDialog::selectedFiles() const
QList<QUrl> result;
IShellItem *item = 0;
const HRESULT hr = fileDialog()->GetCurrentSelection(&item);
- if (SUCCEEDED(hr) && item)
+ if (SUCCEEDED(hr) && item) {
result.push_back(QUrl::fromLocalFile(QWindowsNativeSaveFileDialog::itemPath(item)));
+ item->Release();
+ }
return result;
}
diff --git a/src/plugins/platforms/winrt/qwinrtinputcontext.cpp b/src/plugins/platforms/winrt/qwinrtinputcontext.cpp
index 3f476556ee..968c47f2c2 100644
--- a/src/plugins/platforms/winrt/qwinrtinputcontext.cpp
+++ b/src/plugins/platforms/winrt/qwinrtinputcontext.cpp
@@ -39,6 +39,7 @@
#include "qwinrtinputcontext.h"
#include "qwinrtscreen.h"
+#include <QtGui/QGuiApplication>
#include <QtGui/QWindow>
#include <private/qeventdispatcher_winrt_p.h>
@@ -59,7 +60,7 @@ QT_BEGIN_NAMESPACE
Q_LOGGING_CATEGORY(lcQpaInputMethods, "qt.qpa.input.methods")
-inline QRectF getInputPaneRect(IInputPane *pane, qreal scaleFactor)
+inline QRectF getInputPaneRect(ComPtr<IInputPane> pane, qreal scaleFactor)
{
Rect rect;
pane->get_OccludedRect(&rect);
@@ -85,28 +86,32 @@ QWinRTInputContext::QWinRTInputContext(QWinRTScreen *screen)
{
qCDebug(lcQpaInputMethods) << __FUNCTION__ << screen;
- IInputPaneStatics *statics;
+ ComPtr<IInputPaneStatics> statics;
if (FAILED(GetActivationFactory(HString::MakeReference(RuntimeClass_Windows_UI_ViewManagement_InputPane).Get(),
&statics))) {
qWarning("failed to retrieve input pane statics.");
return;
}
- IInputPane *inputPane;
+ ComPtr<IInputPane> inputPane;
statics->GetForCurrentView(&inputPane);
- statics->Release();
if (inputPane) {
- EventRegistrationToken showToken, hideToken;
- inputPane->add_Showing(Callback<InputPaneVisibilityHandler>(
- this, &QWinRTInputContext::onShowing).Get(), &showToken);
- inputPane->add_Hiding(Callback<InputPaneVisibilityHandler>(
- this, &QWinRTInputContext::onHiding).Get(), &hideToken);
+ QEventDispatcherWinRT::runOnXamlThread([this, inputPane]() {
+ EventRegistrationToken showToken, hideToken;
+ inputPane->add_Showing(Callback<InputPaneVisibilityHandler>(
+ this, &QWinRTInputContext::onShowing).Get(), &showToken);
+ inputPane->add_Hiding(Callback<InputPaneVisibilityHandler>(
+ this, &QWinRTInputContext::onHiding).Get(), &hideToken);
+ return S_OK;
+ });
m_keyboardRect = getInputPaneRect(inputPane, m_screen->scaleFactor());
m_isInputPanelVisible = !m_keyboardRect.isEmpty();
} else {
qWarning("failed to retrieve InputPane.");
}
+ connect(QGuiApplication::inputMethod(), &QInputMethod::cursorRectangleChanged,
+ this, &QWinRTInputContext::updateScreenCursorRect);
}
QRectF QWinRTInputContext::keyboardRect() const
@@ -119,6 +124,11 @@ bool QWinRTInputContext::isInputPanelVisible() const
return m_isInputPanelVisible;
}
+void QWinRTInputContext::updateScreenCursorRect()
+{
+ m_screen->setCursorRect(QGuiApplication::inputMethod()->cursorRectangle());
+}
+
HRESULT QWinRTInputContext::onShowing(IInputPane *pane, IInputPaneVisibilityEventArgs *)
{
qCDebug(lcQpaInputMethods) << __FUNCTION__ << pane;
@@ -141,6 +151,7 @@ HRESULT QWinRTInputContext::handleVisibilityChange(IInputPane *pane)
const QRectF keyboardRect = getInputPaneRect(pane, m_screen->scaleFactor());
if (m_keyboardRect != keyboardRect) {
m_keyboardRect = keyboardRect;
+ m_screen->setKeyboardRect(m_keyboardRect);
emitKeyboardRectChanged();
}
return S_OK;
diff --git a/src/plugins/platforms/winrt/qwinrtinputcontext.h b/src/plugins/platforms/winrt/qwinrtinputcontext.h
index 5e416bb99f..9d5c4187e2 100644
--- a/src/plugins/platforms/winrt/qwinrtinputcontext.h
+++ b/src/plugins/platforms/winrt/qwinrtinputcontext.h
@@ -79,6 +79,9 @@ public:
void hideInputPanel();
#endif
+private slots:
+ void updateScreenCursorRect();
+
private:
HRESULT onShowing(ABI::Windows::UI::ViewManagement::IInputPane *,
ABI::Windows::UI::ViewManagement::IInputPaneVisibilityEventArgs *);
@@ -89,6 +92,7 @@ private:
QWinRTScreen *m_screen;
QRectF m_keyboardRect;
+ QRectF m_cursorRect;
bool m_isInputPanelVisible;
};
diff --git a/src/plugins/platforms/winrt/qwinrtintegration.cpp b/src/plugins/platforms/winrt/qwinrtintegration.cpp
index 42b7f7e909..32edf2b1a2 100644
--- a/src/plugins/platforms/winrt/qwinrtintegration.cpp
+++ b/src/plugins/platforms/winrt/qwinrtintegration.cpp
@@ -197,9 +197,9 @@ QWinRTIntegration::QWinRTIntegration() : d_ptr(new QWinRTIntegrationPrivate)
QEventDispatcherWinRT::runOnXamlThread([d]() {
d->mainScreen = new QWinRTScreen;
- d->inputContext.reset(new QWinRTInputContext(d->mainScreen));
return S_OK;
});
+ d->inputContext.reset(new QWinRTInputContext(d->mainScreen));
screenAdded(d->mainScreen);
d->platformServices = new QWinRTServices;
diff --git a/src/plugins/platforms/winrt/qwinrtscreen.cpp b/src/plugins/platforms/winrt/qwinrtscreen.cpp
index ad32c046df..9236de58a1 100644
--- a/src/plugins/platforms/winrt/qwinrtscreen.cpp
+++ b/src/plugins/platforms/winrt/qwinrtscreen.cpp
@@ -753,12 +753,66 @@ void QWinRTScreen::initialize()
onVisibilityChanged(nullptr, nullptr);
}
+void QWinRTScreen::setCursorRect(const QRectF &cursorRect)
+{
+ mCursorRect = cursorRect;
+}
+
+void QWinRTScreen::setKeyboardRect(const QRectF &keyboardRect)
+{
+ Q_D(QWinRTScreen);
+ QRectF visibleRectF;
+ HRESULT hr;
+ Rect windowSize;
+
+ hr = d->coreWindow->get_Bounds(&windowSize);
+ if (FAILED(hr)) {
+ qErrnoWarning(hr, "Failed to get window bounds");
+ return;
+ }
+ d->logicalRect = QRectF(windowSize.X, windowSize.Y, windowSize.Width, windowSize.Height);
+#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_PHONE_APP)
+ Rect visibleRect;
+ hr = d->view2->get_VisibleBounds(&visibleRect);
+ if (FAILED(hr)) {
+ qErrnoWarning(hr, "Failed to get window visible bounds");
+ return;
+ }
+ visibleRectF = QRectF(visibleRect.X, visibleRect.Y, visibleRect.Width, visibleRect.Height);
+#else
+ visibleRectF = d->logicalRect;
+#endif // WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_PHONE_APP)
+ // if keyboard is snapped to the bottom of the screen and would cover the cursor the content is
+ // moved up to make it visible
+ if (keyboardRect.intersects(mCursorRect)
+ && qFuzzyCompare(geometry().height(), keyboardRect.y() + keyboardRect.height())) {
+ visibleRectF.moveTop(visibleRectF.top() - keyboardRect.height() / d->scaleFactor);
+ }
+ d->visibleRect = visibleRectF;
+
+ qCDebug(lcQpaWindows) << __FUNCTION__ << d->visibleRect;
+ QWindowSystemInterface::handleScreenGeometryChange(screen(), geometry(), availableGeometry());
+ QPlatformScreen::resizeMaximizedWindows();
+ handleExpose();
+}
+
QWindow *QWinRTScreen::topWindow() const
{
Q_D(const QWinRTScreen);
return d->visibleWindows.isEmpty() ? 0 : d->visibleWindows.first();
}
+QWindow *QWinRTScreen::windowAt(const QPoint &pos)
+{
+ Q_D(const QWinRTScreen);
+ for (auto w : qAsConst(d->visibleWindows)) {
+ if (w->geometry().contains(pos))
+ return w;
+ }
+ qCDebug(lcQpaWindows) << __FUNCTION__ << ": No window found at:" << pos;
+ return nullptr;
+}
+
void QWinRTScreen::addWindow(QWindow *window)
{
Q_D(QWinRTScreen);
@@ -767,8 +821,12 @@ void QWinRTScreen::addWindow(QWindow *window)
return;
d->visibleWindows.prepend(window);
- updateWindowTitle(window->title());
- QWindowSystemInterface::handleWindowActivated(window, Qt::OtherFocusReason);
+ const Qt::WindowType type = window->type();
+ if (type != Qt::Popup && type != Qt::ToolTip && type != Qt::Tool) {
+ updateWindowTitle(window->title());
+ QWindowSystemInterface::handleWindowActivated(window, Qt::OtherFocusReason);
+ }
+
handleExpose();
QWindowSystemInterface::flushWindowSystemEvents();
@@ -785,7 +843,9 @@ void QWinRTScreen::removeWindow(QWindow *window)
const bool wasTopWindow = window == topWindow();
if (!d->visibleWindows.removeAll(window))
return;
- if (wasTopWindow)
+
+ const Qt::WindowType type = window->type();
+ if (wasTopWindow && type != Qt::Popup && type != Qt::ToolTip && type != Qt::Tool)
QWindowSystemInterface::handleWindowActivated(Q_NULLPTR, Qt::OtherFocusReason);
handleExpose();
QWindowSystemInterface::flushWindowSystemEvents();
@@ -1001,9 +1061,12 @@ HRESULT QWinRTScreen::onPointerUpdated(ICoreWindow *, IPointerEventArgs *args)
pointerPoint->get_Position(&point);
QPointF pos(point.X * d->scaleFactor, point.Y * d->scaleFactor);
QPointF localPos = pos;
- if (topWindow()) {
- const QPointF globalPosDelta = pos - pos.toPoint();
- localPos = topWindow()->mapFromGlobal(pos.toPoint()) + globalPosDelta;
+
+ const QPoint posPoint = pos.toPoint();
+ QWindow *targetWindow = windowAt(posPoint);
+ if (targetWindow) {
+ const QPointF globalPosDelta = pos - posPoint;
+ localPos = targetWindow->mapFromGlobal(posPoint) + globalPosDelta;
}
VirtualKeyModifiers modifiers;
@@ -1038,7 +1101,7 @@ HRESULT QWinRTScreen::onPointerUpdated(ICoreWindow *, IPointerEventArgs *args)
boolean isHorizontal;
properties->get_IsHorizontalMouseWheel(&isHorizontal);
QPoint angleDelta(isHorizontal ? delta : 0, isHorizontal ? 0 : delta);
- QWindowSystemInterface::handleWheelEvent(topWindow(), localPos, pos, QPoint(), angleDelta, mods);
+ QWindowSystemInterface::handleWheelEvent(targetWindow, localPos, pos, QPoint(), angleDelta, mods);
break;
}
@@ -1064,7 +1127,7 @@ HRESULT QWinRTScreen::onPointerUpdated(ICoreWindow *, IPointerEventArgs *args)
if (isPressed)
buttons |= Qt::XButton2;
- QWindowSystemInterface::handleMouseEvent(topWindow(), localPos, pos, buttons, mods);
+ QWindowSystemInterface::handleMouseEvent(targetWindow, localPos, pos, buttons, mods);
break;
}
@@ -1116,7 +1179,7 @@ HRESULT QWinRTScreen::onPointerUpdated(ICoreWindow *, IPointerEventArgs *args)
it.value().normalPosition = QPointF(point.X/d->logicalRect.width(), point.Y/d->logicalRect.height());
it.value().pressure = pressure;
- QWindowSystemInterface::handleTouchEvent(topWindow(), d->touchDevice, d->touchPoints.values(), mods);
+ QWindowSystemInterface::handleTouchEvent(targetWindow, d->touchDevice, d->touchPoints.values(), mods);
// Fall-through for pen to generate tablet event
if (pointerDeviceType != PointerDeviceType_Pen)
@@ -1135,7 +1198,7 @@ HRESULT QWinRTScreen::onPointerUpdated(ICoreWindow *, IPointerEventArgs *args)
float rotation;
properties->get_Twist(&rotation);
- QWindowSystemInterface::handleTabletEvent(topWindow(), isPressed, pos, pos, 0,
+ QWindowSystemInterface::handleTabletEvent(targetWindow, isPressed, pos, pos, 0,
pointerType, pressure, xTilt, yTilt,
0, rotation, 0, id, mods);
diff --git a/src/plugins/platforms/winrt/qwinrtscreen.h b/src/plugins/platforms/winrt/qwinrtscreen.h
index 0e753b748b..e489e208d5 100644
--- a/src/plugins/platforms/winrt/qwinrtscreen.h
+++ b/src/plugins/platforms/winrt/qwinrtscreen.h
@@ -104,6 +104,7 @@ public:
Qt::ScreenOrientation orientation() const Q_DECL_OVERRIDE;
QWindow *topWindow() const;
+ QWindow *windowAt(const QPoint &pos);
void addWindow(QWindow *window);
void removeWindow(QWindow *window);
void raise(QWindow *window);
@@ -116,6 +117,9 @@ public:
void initialize();
+ void setCursorRect(const QRectF &cursorRect);
+ void setKeyboardRect(const QRectF &keyboardRect);
+
private:
void handleExpose();
@@ -140,6 +144,7 @@ private:
#endif
QScopedPointer<QWinRTScreenPrivate> d_ptr;
+ QRectF mCursorRect;
Q_DECLARE_PRIVATE(QWinRTScreen)
};
diff --git a/src/plugins/platforms/xcb/gl_integrations/gl_integrations.pro b/src/plugins/platforms/xcb/gl_integrations/gl_integrations.pro
index 0cdee03f62..b8f878ffe8 100644
--- a/src/plugins/platforms/xcb/gl_integrations/gl_integrations.pro
+++ b/src/plugins/platforms/xcb/gl_integrations/gl_integrations.pro
@@ -1,4 +1,5 @@
TEMPLATE = subdirs
+QT_FOR_CONFIG += gui-private
qtConfig(egl):qtConfig(egl_x11):qtConfig(opengl) {
SUBDIRS += xcb_egl
diff --git a/src/plugins/platforms/xcb/qxcbconnection.h b/src/plugins/platforms/xcb/qxcbconnection.h
index dca32af9b1..f6ba828a15 100644
--- a/src/plugins/platforms/xcb/qxcbconnection.h
+++ b/src/plugins/platforms/xcb/qxcbconnection.h
@@ -43,6 +43,7 @@
#include <xcb/xcb.h>
#include <xcb/randr.h>
+#include <QtGui/private/qtguiglobal_p.h>
#include "qxcbexport.h"
#include <QHash>
#include <QList>
@@ -686,8 +687,12 @@ private:
friend class QXcbEventReader;
};
+#ifdef XCB_USE_XINPUT2
+#ifndef QT_NO_TABLETEVENT
Q_DECLARE_TYPEINFO(QXcbConnection::TabletData::ValuatorClassInfo, Q_PRIMITIVE_TYPE);
Q_DECLARE_TYPEINFO(QXcbConnection::TabletData, Q_MOVABLE_TYPE);
+#endif
+#endif
#define DISPLAY_FROM_XCB(object) ((Display *)(object->connection()->xlib_display()))
#define CREATE_VISUALINFO_FROM_DEFAULT_VISUALID(object) ((XVisualInfo *)(object->connection()->createVisualInfoForDefaultVisualId()))
diff --git a/src/plugins/platforms/xcb/qxcbmime.cpp b/src/plugins/platforms/xcb/qxcbmime.cpp
index 4803c14c4c..749906d1e8 100644
--- a/src/plugins/platforms/xcb/qxcbmime.cpp
+++ b/src/plugins/platforms/xcb/qxcbmime.cpp
@@ -121,9 +121,7 @@ bool QXcbMime::mimeDataForAtom(QXcbConnection *connection, xcb_atom_t a, QMimeDa
// so QXcbConnection::atomName() has to be used.
if (atomName == QLatin1String("text/uri-list")
&& connection->atomName(a) == "text/x-moz-url") {
- const QByteArray uri = data->split('\n').first();
- QString mozUri = QString::fromLatin1(uri, uri.size());
- mozUri += QLatin1Char('\n');
+ const QString mozUri = QLatin1String(data->split('\n').constFirst()) + QLatin1Char('\n');
*data = QByteArray(reinterpret_cast<const char *>(mozUri.utf16()),
mozUri.length() * 2);
} else if (atomName == QLatin1String("application/x-color"))
diff --git a/src/plugins/platforms/xcb/qxcbnativeinterface.cpp b/src/plugins/platforms/xcb/qxcbnativeinterface.cpp
index a3e8da7df8..189ec53050 100644
--- a/src/plugins/platforms/xcb/qxcbnativeinterface.cpp
+++ b/src/plugins/platforms/xcb/qxcbnativeinterface.cpp
@@ -85,7 +85,6 @@ static int resourceType(const QByteArray &key)
QByteArrayLiteral("gettimestamp"), QByteArrayLiteral("x11screen"),
QByteArrayLiteral("rootwindow"),
QByteArrayLiteral("subpixeltype"), QByteArrayLiteral("antialiasingenabled"),
- QByteArrayLiteral("nofonthinting"),
QByteArrayLiteral("atspibus"),
QByteArrayLiteral("compositingenabled")
};
@@ -242,9 +241,6 @@ void *QXcbNativeInterface::nativeResourceForScreen(const QByteArray &resourceStr
case GetTimestamp:
result = getTimestamp(xcbScreen);
break;
- case NoFontHinting:
- result = xcbScreen->noFontHinting() ? this : 0; //qboolptr...
- break;
case RootWindow:
result = reinterpret_cast<void *>(xcbScreen->root());
break;
diff --git a/src/plugins/platforms/xcb/qxcbnativeinterface.h b/src/plugins/platforms/xcb/qxcbnativeinterface.h
index ba19cd869c..8728b6e937 100644
--- a/src/plugins/platforms/xcb/qxcbnativeinterface.h
+++ b/src/plugins/platforms/xcb/qxcbnativeinterface.h
@@ -73,7 +73,6 @@ public:
RootWindow,
ScreenSubpixelType,
ScreenAntialiasingEnabled,
- NoFontHinting,
AtspiBus,
CompositingEnabled
};
diff --git a/src/plugins/platforms/xcb/qxcbscreen.cpp b/src/plugins/platforms/xcb/qxcbscreen.cpp
index dc6846b20b..a9675935f4 100644
--- a/src/plugins/platforms/xcb/qxcbscreen.cpp
+++ b/src/plugins/platforms/xcb/qxcbscreen.cpp
@@ -61,8 +61,7 @@ QXcbVirtualDesktop::QXcbVirtualDesktop(QXcbConnection *connection, xcb_screen_t
, m_number(number)
, m_xSettings(Q_NULLPTR)
{
- QByteArray cmAtomName("_NET_WM_CM_S");
- cmAtomName += QByteArray::number(m_number);
+ const QByteArray cmAtomName = "_NET_WM_CM_S" + QByteArray::number(m_number);
m_net_wm_cm_atom = connection->internAtom(cmAtomName.constData());
m_compositingActive = connection->getSelectionOwner(m_net_wm_cm_atom);
@@ -188,7 +187,6 @@ QXcbScreen::QXcbScreen(QXcbConnection *connection, QXcbVirtualDesktop *virtualDe
, m_forcedDpi(-1)
, m_pixelDensity(1)
, m_hintStyle(QFontEngine::HintStyle(-1))
- , m_noFontHinting(false)
, m_subpixelType(QFontEngine::SubpixelAntialiasingType(-1))
, m_antialiasingEnabled(-1)
{
diff --git a/src/plugins/platforms/xcb/qxcbscreen.h b/src/plugins/platforms/xcb/qxcbscreen.h
index 8716af29b5..0d32c3d624 100644
--- a/src/plugins/platforms/xcb/qxcbscreen.h
+++ b/src/plugins/platforms/xcb/qxcbscreen.h
@@ -172,7 +172,6 @@ public:
void readXResources();
QFontEngine::HintStyle hintStyle() const { return m_hintStyle; }
- bool noFontHinting() const { return m_noFontHinting; }
QFontEngine::SubpixelAntialiasingType subpixelType() const { return m_subpixelType; }
int antialiasingEnabled() const { return m_antialiasingEnabled; }
@@ -208,7 +207,6 @@ private:
int m_forcedDpi;
int m_pixelDensity;
QFontEngine::HintStyle m_hintStyle;
- bool m_noFontHinting;
QFontEngine::SubpixelAntialiasingType m_subpixelType;
int m_antialiasingEnabled;
};
diff --git a/src/plugins/platforms/xcb/xcb.pro b/src/plugins/platforms/xcb/xcb.pro
index 7840a4583f..0d27645a60 100644
--- a/src/plugins/platforms/xcb/xcb.pro
+++ b/src/plugins/platforms/xcb/xcb.pro
@@ -1,5 +1,6 @@
TEMPLATE = subdirs
CONFIG += ordered
+QT_FOR_CONFIG += gui-private
!qtConfig(system-xcb): SUBDIRS += xcb-static
diff --git a/src/plugins/platformthemes/platformthemes.pro b/src/plugins/platformthemes/platformthemes.pro
index 166b39ce8c..0e2812bed3 100644
--- a/src/plugins/platformthemes/platformthemes.pro
+++ b/src/plugins/platformthemes/platformthemes.pro
@@ -1,3 +1,4 @@
TEMPLATE = subdirs
+QT_FOR_CONFIG += widgets-private
-qtConfig(gtk3): SUBDIRS += gtk3
+qtHaveModule(widgets):qtConfig(gtk3): SUBDIRS += gtk3
diff --git a/src/plugins/plugins.pro b/src/plugins/plugins.pro
index 0f4207c636..941c25361f 100644
--- a/src/plugins/plugins.pro
+++ b/src/plugins/plugins.pro
@@ -1,14 +1,13 @@
TEMPLATE = subdirs
+QT_FOR_CONFIG += network
-load(qfeatures)
SUBDIRS *= sqldrivers
-qtHaveModule(network):!contains(QT_DISABLED_FEATURES, bearermanagement): SUBDIRS += bearer
+qtHaveModule(network):qtConfig(bearermanagement): SUBDIRS += bearer
qtHaveModule(gui) {
SUBDIRS *= platforms platforminputcontexts platformthemes
- !contains(QT_DISABLED_FEATURES, imageformatplugin): SUBDIRS *= imageformats
- !android:!contains(QT_DISABLED_FEATURES, library): SUBDIRS *= generic
+ qtConfig(imageformatplugin): SUBDIRS *= imageformats
+ !android:qtConfig(library): SUBDIRS *= generic
}
-!winrt:!wince*:qtHaveModule(widgets):!contains(QT_DISABLED_FEATURES, printer) {
+!winrt:!wince:qtHaveModule(printsupport): \
SUBDIRS += printsupport
-}
diff --git a/src/plugins/printsupport/printsupport.pro b/src/plugins/printsupport/printsupport.pro
index 55feaba40c..05cf1bc0b2 100644
--- a/src/plugins/printsupport/printsupport.pro
+++ b/src/plugins/printsupport/printsupport.pro
@@ -1,5 +1,5 @@
-QT += printsupport
TEMPLATE = subdirs
+QT_FOR_CONFIG += printsupport-private
osx: SUBDIRS += cocoa
win32: SUBDIRS += windows
diff --git a/src/plugins/sqldrivers/psql/qsql_psql.cpp b/src/plugins/sqldrivers/psql/qsql_psql.cpp
index fcf75af298..968b71a27d 100644
--- a/src/plugins/sqldrivers/psql/qsql_psql.cpp
+++ b/src/plugins/sqldrivers/psql/qsql_psql.cpp
@@ -704,10 +704,10 @@ void QPSQLDriverPrivate::detectBackslashEscape()
hasBackslashEscape = true;
} else {
hasBackslashEscape = false;
- PGresult* result = exec(QLatin1Literal("SELECT '\\\\' x"));
+ PGresult* result = exec(QLatin1String("SELECT '\\\\' x"));
int status = PQresultStatus(result);
if (status == PGRES_COMMAND_OK || status == PGRES_TUPLES_OK)
- if (QString::fromLatin1(PQgetvalue(result, 0, 0)) == QLatin1Literal("\\"))
+ if (QString::fromLatin1(PQgetvalue(result, 0, 0)) == QLatin1String("\\"))
hasBackslashEscape = true;
PQclear(result);
}
diff --git a/src/plugins/sqldrivers/sqldrivers.pro b/src/plugins/sqldrivers/sqldrivers.pro
index 37dbd2394e..30fb6019ce 100644
--- a/src/plugins/sqldrivers/sqldrivers.pro
+++ b/src/plugins/sqldrivers/sqldrivers.pro
@@ -1,11 +1,12 @@
TEMPLATE = subdirs
+QT_FOR_CONFIG += sql
-contains(sql-drivers, psql) : SUBDIRS += psql
-contains(sql-drivers, mysql) : SUBDIRS += mysql
-contains(sql-drivers, odbc) : SUBDIRS += odbc
-contains(sql-drivers, tds) : SUBDIRS += tds
-contains(sql-drivers, oci) : SUBDIRS += oci
-contains(sql-drivers, db2) : SUBDIRS += db2
-contains(sql-drivers, sqlite) : SUBDIRS += sqlite
-contains(sql-drivers, sqlite2) : SUBDIRS += sqlite2
-contains(sql-drivers, ibase) : SUBDIRS += ibase
+qtConfig(sql-psql) : SUBDIRS += psql
+qtConfig(sql-mysql) : SUBDIRS += mysql
+qtConfig(sql-odbc) : SUBDIRS += odbc
+qtConfig(sql-tds) : SUBDIRS += tds
+qtConfig(sql-oci) : SUBDIRS += oci
+qtConfig(sql-db2) : SUBDIRS += db2
+qtConfig(sql-sqlite) : SUBDIRS += sqlite
+qtConfig(sql-sqlite2) : SUBDIRS += sqlite2
+qtConfig(sql-ibase) : SUBDIRS += ibase
diff --git a/src/printsupport/configure.json b/src/printsupport/configure.json
new file mode 100644
index 0000000000..439f2dbdd8
--- /dev/null
+++ b/src/printsupport/configure.json
@@ -0,0 +1,72 @@
+{
+ "module": "printsupport",
+ "depends": [
+ "core",
+ "gui",
+ "widgets"
+ ],
+ "testDir": "../../config.tests",
+
+ "commandline": {
+ "options": {
+ "cups": "boolean"
+ }
+ },
+
+ "libraries": {
+ "cups": {
+ "label": "CUPS",
+ "test": "unix/cups",
+ "sources": [
+ "-lcups"
+ ]
+ }
+ },
+
+ "features": {
+ "cups": {
+ "label": "CUPS",
+ "purpose": "Provides support for the Common Unix Printing System.",
+ "section": "Painting",
+ "condition": "libs.cups",
+ "output": [ "privateFeature", "feature" ]
+ },
+ "printer": {
+ "label": "QPrinter",
+ "purpose": "Provides a printer backend of QPainter.",
+ "section": "Painting",
+ "condition": "!config.android && !config.uikit && !config.winrt && features.picture && features.temporaryfile && features.pdf",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "printpreviewwidget": {
+ "label": "QPrintPreviewWidget",
+ "purpose": "Provides a widget for previewing page layouts for printer output.",
+ "section": "Widgets",
+ "condition": "features.graphicsview && features.printer && features.mainwindow",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "printdialog": {
+ "label": "QPrintDialog",
+ "purpose": "Provides a dialog widget for specifying printer configuration.",
+ "section": "Dialogs",
+ "condition": "features.printer && features.combobox && features.buttongroup && features.spinbox && features.treeview && features.tabwidget",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "printpreviewdialog": {
+ "label": "QPrintPreviewDialog",
+ "purpose": "Provides a dialog for previewing and configuring page layouts for printer output.",
+ "section": "Dialogs",
+ "condition": "features.printpreviewwidget && features.printdialog && features.toolbar",
+ "output": [ "publicFeature", "feature" ]
+ }
+ },
+
+ "summary": [
+ {
+ "section": "Qt PrintSupport",
+ "entries": [
+ "cups"
+ ]
+ }
+ ]
+}
diff --git a/src/printsupport/dialogs/qprintdialog_unix.cpp b/src/printsupport/dialogs/qprintdialog_unix.cpp
index 9b08ffe4df..4d8299b115 100644
--- a/src/printsupport/dialogs/qprintdialog_unix.cpp
+++ b/src/printsupport/dialogs/qprintdialog_unix.cpp
@@ -38,6 +38,7 @@
****************************************************************************/
#include "qplatformdefs.h"
+#include <QtPrintSupport/qtprintsupportglobal.h>
#ifndef QT_NO_PRINTDIALOG
diff --git a/src/printsupport/dialogs/qprintdialog_win.cpp b/src/printsupport/dialogs/qprintdialog_win.cpp
index 93d09bc745..2e954a508d 100644
--- a/src/printsupport/dialogs/qprintdialog_win.cpp
+++ b/src/printsupport/dialogs/qprintdialog_win.cpp
@@ -37,6 +37,8 @@
**
****************************************************************************/
+#include <QtPrintSupport/qtprintsupportglobal.h>
+
#ifndef QT_NO_PRINTDIALOG
#include "qprintdialog.h"
diff --git a/src/printsupport/kernel/qpaintengine_alpha.cpp b/src/printsupport/kernel/qpaintengine_alpha.cpp
index 939322cc07..cae5c2f522 100644
--- a/src/printsupport/kernel/qpaintengine_alpha.cpp
+++ b/src/printsupport/kernel/qpaintengine_alpha.cpp
@@ -37,7 +37,7 @@
**
****************************************************************************/
-#include <qglobal.h>
+#include <qtprintsupportglobal.h>
#ifndef QT_NO_PRINTER
#include <qdebug.h>
diff --git a/src/printsupport/kernel/qplatformprintplugin.cpp b/src/printsupport/kernel/qplatformprintplugin.cpp
index b50f43056b..9bc4b61829 100644
--- a/src/printsupport/kernel/qplatformprintplugin.cpp
+++ b/src/printsupport/kernel/qplatformprintplugin.cpp
@@ -43,6 +43,8 @@
#include "private/qfactoryloader_p.h"
#include <qcoreapplication.h>
+#ifndef QT_NO_PRINTER
+
QT_BEGIN_NAMESPACE
Q_GLOBAL_STATIC_WITH_ARGS(QFactoryLoader, loader,
@@ -86,3 +88,5 @@ QPlatformPrinterSupport *QPlatformPrinterSupportPlugin::get()
}
QT_END_NAMESPACE
+
+#endif
diff --git a/src/printsupport/kernel/qplatformprintplugin.h b/src/printsupport/kernel/qplatformprintplugin.h
index 3e909519c2..30e8f7938a 100644
--- a/src/printsupport/kernel/qplatformprintplugin.h
+++ b/src/printsupport/kernel/qplatformprintplugin.h
@@ -53,6 +53,8 @@
#include <QtCore/qplugin.h>
#include <QtCore/qfactoryinterface.h>
+#ifndef QT_NO_PRINTER
+
QT_BEGIN_NAMESPACE
@@ -74,4 +76,6 @@ public:
QT_END_NAMESPACE
+#endif
+
#endif // QPLATFORMPRINTPLUGIN_H
diff --git a/src/printsupport/kernel/qprintengine_win.cpp b/src/printsupport/kernel/qprintengine_win.cpp
index b0f85dc825..706a7c4b02 100644
--- a/src/printsupport/kernel/qprintengine_win.cpp
+++ b/src/printsupport/kernel/qprintengine_win.cpp
@@ -37,6 +37,8 @@
**
****************************************************************************/
+#include <QtPrintSupport/qtprintsupportglobal.h>
+
#ifndef QT_NO_PRINTER
#include "qprintengine_win_p.h"
@@ -924,14 +926,14 @@ void QWin32PrintEnginePrivate::initialize()
Q_ASSERT(hPrinter);
Q_ASSERT(pInfo);
+ initHDC();
+
if (devMode) {
num_copies = devMode->dmCopies;
devMode->dmCollate = DMCOLLATE_TRUE;
updatePageLayout();
}
- initHDC();
-
#if defined QT_DEBUG_DRAW || defined QT_DEBUG_METRICS
qDebug("QWin32PrintEngine::initialize()");
debugMetrics();
diff --git a/src/printsupport/kernel/qprintengine_win_p.h b/src/printsupport/kernel/qprintengine_win_p.h
index f2c6eeca4c..196263df74 100644
--- a/src/printsupport/kernel/qprintengine_win_p.h
+++ b/src/printsupport/kernel/qprintengine_win_p.h
@@ -130,10 +130,14 @@ public:
state(QPrinter::Idle),
resolution(0),
m_pageLayout(QPageLayout(QPageSize(QPageSize::A4), QPageLayout::Portrait, QMarginsF(0, 0, 0, 0))),
+ stretch_x(1), stretch_y(1), origin_x(0), origin_y(0),
+ dpi_x(96), dpi_y(96), dpi_display(96),
num_copies(1),
printToFile(false),
reinit(false),
- embed_fonts(true)
+ complex_xform(false), has_pen(false), has_brush(false), has_custom_paper_size(false),
+ embed_fonts(true),
+ txop(0 /* QTransform::TxNone */)
{
}
diff --git a/src/printsupport/kernel/qtprintsupportglobal.h b/src/printsupport/kernel/qtprintsupportglobal.h
index c060b98958..67779af5a2 100644
--- a/src/printsupport/kernel/qtprintsupportglobal.h
+++ b/src/printsupport/kernel/qtprintsupportglobal.h
@@ -41,6 +41,7 @@
#define QTPRINTSUPPORTGLOBAL_H
#include <QtWidgets/qtwidgetsglobal.h>
+#include <QtPrintSupport/qtprintsupport-config.h>
QT_BEGIN_NAMESPACE
diff --git a/src/sql/configure.json b/src/sql/configure.json
new file mode 100644
index 0000000000..d1dc198656
--- /dev/null
+++ b/src/sql/configure.json
@@ -0,0 +1,201 @@
+{
+ "module": "sql",
+ "depends": [
+ "core"
+ ],
+ "testDir": "../../config.tests",
+
+ "commandline": {
+ "assignments": {
+ "MYSQL_PATH": "mysql.prefix",
+ "PSQL_LIBS": "psql.libs",
+ "SYBASE": "tds.prefix",
+ "SYBASE_LIBS": "tds.libs"
+ },
+ "options": {
+ "mysql_config": "string",
+ "psql_config": "string",
+ "sqlite": { "type": "enum", "name": "system-sqlite", "values": { "qt": "no", "system": "yes" } },
+ "sql-db2": "boolean",
+ "sql-ibase": "boolean",
+ "sql-mysql": "boolean",
+ "sql-oci": "boolean",
+ "sql-odbc": "boolean",
+ "sql-psql": "boolean",
+ "sql-sqlite": "boolean",
+ "sql-sqlite2": "boolean",
+ "sql-tds": "boolean",
+ "plugin-sql-db2": { "type": "void", "name": "sql-db2" },
+ "plugin-sql-ibase": { "type": "void", "name": "sql-ibase" },
+ "plugin-sql-mysql": { "type": "void", "name": "sql-mysql" },
+ "plugin-sql-oci": { "type": "void", "name": "sql-oci" },
+ "plugin-sql-odbc": { "type": "void", "name": "sql-odbc" },
+ "plugin-sql-psql": { "type": "void", "name": "sql-psql" },
+ "plugin-sql-sqlite": { "type": "void", "name": "sql-sqlite" },
+ "plugin-sql-sqlite2": { "type": "void", "name": "sql-sqlite2" },
+ "plugin-sql-tds": { "type": "void", "name": "sql-tds" }
+ }
+ },
+
+ "libraries": {
+ "db2": {
+ "label": "DB2 (IBM)",
+ "test": "unix/db2",
+ "sources": [
+ { "libs": "-ldb2cli", "condition": "config.win32" },
+ { "libs": "-ldb2", "condition": "!config.win32" }
+ ]
+ },
+ "ibase": {
+ "label": "InterBase",
+ "test": "unix/ibase",
+ "sources": [
+ { "libs": "-lgds32_ms", "condition": "config.win32" },
+ { "libs": "-lgds", "condition": "!config.win32" }
+ ]
+ },
+ "mysql": {
+ "label": "MySQL",
+ "test": "unix/mysql",
+ "sources": [
+ { "type": "mysqlConfig", "query": "--libs_r" },
+ { "type": "mysqlConfig", "query": "--libs" },
+ { "libs": "-lmysqlclient_r", "condition": "!config.win32" },
+ { "libs": "-llibmysql", "condition": "config.win32" },
+ { "libs": "-lmysqlclient", "condition": "!config.win32" }
+ ]
+ },
+ "psql": {
+ "label": "PostgreSQL",
+ "test": "unix/psql",
+ "sources": [
+ { "type": "psqlConfig" },
+ { "type": "psqlEnv", "libs": "-llibpq -lws2_32 -ladvapi32", "condition": "config.win32" },
+ { "type": "psqlEnv", "libs": "-lpq", "condition": "!config.win32" }
+ ]
+ },
+ "tds": {
+ "label": "TDS (Sybase)",
+ "test": "unix/tds",
+ "sources": [
+ { "type": "sybaseEnv", "libs": "-lNTWDBLIB", "condition": "config.win32" },
+ { "type": "sybaseEnv", "libs": "-lsybdb", "condition": "!config.win32" }
+ ]
+ },
+ "oci": {
+ "label": "OCI (Oracle)",
+ "test": "unix/oci",
+ "sources": [
+ { "libs": "-loci", "condition": "config.win32" },
+ { "libs": "-lclntsh", "condition": "!config.win32" }
+ ]
+ },
+ "odbc": {
+ "label": "ODBC",
+ "test": "unix/odbc",
+ "sources": [
+ { "libs": "-lodbc32", "condition": "config.win32" },
+ { "libs": "-liodbc", "condition": "config.darwin" },
+ { "libs": "-lodbc", "condition": "!config.win32 && !config.darwin" }
+ ]
+ },
+ "sqlite2": {
+ "label": "SQLite (version 2)",
+ "test": "unix/sqlite2",
+ "sources": [
+ "-lsqlite"
+ ]
+ },
+ "sqlite3": {
+ "label": "SQLite (version 3)",
+ "export": "sqlite",
+ "test": "unix/sqlite",
+ "sources": [
+ { "type": "pkgConfig", "args": "sqlite3" },
+ { "libs": "-lsqlite3", "condition": "config.win32" },
+ { "libs": "-lsqlite3 -lz", "condition": "!config.win32" }
+ ]
+ }
+ },
+
+ "tests": {
+ },
+
+ "features": {
+ "sql-db2": {
+ "label": "DB2 (IBM)",
+ "condition": "libs.db2",
+ "output": [ "publicFeature" ]
+ },
+ "sql-ibase": {
+ "label": "InterBase",
+ "condition": "libs.ibase",
+ "output": [ "publicFeature" ]
+ },
+ "sql-mysql": {
+ "label": "MySql",
+ "condition": "libs.mysql",
+ "output": [ "publicFeature" ]
+ },
+ "use_libmysqlclient_r": {
+ "label": "MySql (threadsafe)",
+ "condition": "features.sql-mysql && (libs.mysql.source == 0 || libs.mysql.source == 2)",
+ "output": [ "privateConfig" ]
+ },
+ "sql-oci": {
+ "label": "OCI (Oracle)",
+ "condition": "libs.oci",
+ "output": [ "publicFeature" ]
+ },
+ "sql-odbc": {
+ "label": "ODBC",
+ "condition": "libs.odbc",
+ "output": [ "publicFeature" ]
+ },
+ "sql-psql": {
+ "label": "PostgreSQL",
+ "condition": "libs.psql",
+ "output": [ "publicFeature" ]
+ },
+ "sql-sqlite2": {
+ "label": "SQLite2",
+ "condition": "libs.sqlite2",
+ "output": [ "publicFeature" ]
+ },
+ "sql-sqlite": {
+ "label": "SQLite",
+ "output": [ "publicFeature" ]
+ },
+ "system-sqlite": {
+ "label": " Using system provided SQLite",
+ "autoDetect": false,
+ "condition": "features.sql-sqlite && libs.sqlite3",
+ "output": [ "publicQtConfig" ]
+ },
+ "sql-tds": {
+ "label": "TDS (Sybase)",
+ "condition": "libs.tds",
+ "output": [ "publicFeature" ]
+ }
+ },
+
+ "report": [
+ {
+ "type": "warning",
+ "condition": "config.win32 && !config.msvc && features.sql-oci",
+ "message": "Qt does not support compiling the Oracle database driver with
+MinGW, due to lack of such support from Oracle. Consider disabling the
+Oracle driver, as the current build will most likely fail."
+ }
+ ],
+
+ "summary": [
+ {
+ "section": "Qt Sql",
+ "entries": [
+ "sql-db2", "sql-ibase", "sql-mysql", "sql-oci", "sql-odbc", "sql-psql",
+ "sql-sqlite2", "sql-sqlite", "system-sqlite", "sql-tds"
+ ]
+ }
+ ]
+}
diff --git a/src/sql/configure.pri b/src/sql/configure.pri
new file mode 100644
index 0000000000..948808f4f7
--- /dev/null
+++ b/src/sql/configure.pri
@@ -0,0 +1,89 @@
+# custom tests
+
+defineReplace(filterLibraryPath) {
+ str = $${1}
+ for (l, QMAKE_DEFAULT_LIBDIRS): \
+ str -= "-L$$l"
+
+ return($$str)
+}
+
+defineTest(qtConfLibrary_psqlConfig) {
+ pg_config = $$config.input.psql_config
+ isEmpty(pg_config): \
+ pg_config = $$qtConfFindInPath("pg_config")
+ !win32:!isEmpty(pg_config) {
+ qtRunLoggedCommand("$$pg_config --libdir", libdir)|return(false)
+ qtRunLoggedCommand("$$pg_config --includedir", includedir)|return(false)
+ libdir -= $$QMAKE_DEFAULT_LIBDIRS
+ libs =
+ !isEmpty(libdir): libs += "-L$$libdir"
+ libs += "-lpq"
+ $${1}.libs = "$$val_escape(libs)"
+ includedir -= $$QMAKE_DEFAULT_INCDIRS
+ $${1}.includedir = "$$val_escape(includedir)"
+ !isEmpty(includedir): \
+ $${1}.cflags = "-I$$val_escape(includedir)"
+ export($${1}.libs)
+ export($${1}.includedir)
+ export($${1}.cflags)
+ return(true)
+ }
+ return(false)
+}
+
+defineTest(qtConfLibrary_psqlEnv) {
+ # Respect PSQL_LIBS if set
+ PSQL_LIBS = $$getenv(PSQL_LIBS)
+ !isEmpty(PSQL_LIBS) {
+ $${1}.libs = $$PSQL_LIBS
+ export($${1}.libs)
+ }
+ return(true)
+}
+
+defineTest(qtConfLibrary_mysqlConfig) {
+ mysql_config = $$config.input.mysql_config
+ isEmpty(mysql_config): \
+ mysql_config = $$qtConfFindInPath("mysql_config")
+ !isEmpty(mysql_config) {
+ qtRunLoggedCommand("$$mysql_config --version", version)|return(false)
+ version = $$split(version, '.')
+ version = $$first(version)
+ isEmpty(version)|lessThan(version, 4): return(false)]
+
+ # query is either --libs or --libs_r
+ query = $$eval($${1}.query)
+ qtRunLoggedCommand("$$mysql_config $$query", libs)|return(false)
+ qtRunLoggedCommand("$$mysql_config --include", includedir)|return(false)
+ eval(libs = $$libs)
+ libs = $$filterLibraryPath($$libs)
+ # -rdynamic should not be returned by mysql_config, but is on RHEL 6.6
+ libs -= -rdynamic
+ $${1}.libs = "$$val_escape(libs)"
+ eval(includedir = $$includedir)
+ includedir ~= s/^-I//g
+ includedir -= $$QMAKE_DEFAULT_INCDIRS
+ $${1}.includedir = "$$val_escape(includedir)"
+ !isEmpty(includedir): \
+ $${1}.cflags = "-I$$val_escape(includedir)"
+ export($${1}.libs)
+ export($${1}.includedir)
+ export($${1}.cflags)
+ return(true)
+ }
+ return(false)
+}
+
+defineTest(qtConfLibrary_sybaseEnv) {
+ libs =
+ sybase = $$getenv(SYBASE)
+ !isEmpty(sybase): \
+ libs += "-L$${sybase}/lib"
+ libs += $$getenv(SYBASE_LIBS)
+ !isEmpty(libs) {
+ $${1}.libs = "$$val_escape(libs)"
+ export($${1}.libs)
+ }
+ return(true)
+}
diff --git a/src/src.pro b/src/src.pro
index ec656e483c..541053eba5 100644
--- a/src/src.pro
+++ b/src/src.pro
@@ -1,48 +1,44 @@
TEMPLATE = subdirs
+QT_FOR_CONFIG += gui-private
+include($$OUT_PWD/corelib/qtcore-config.pri)
+include($$OUT_PWD/gui/qtgui-config.pri)
+
src_qtzlib.file = $$PWD/corelib/qtzlib.pro
src_qtzlib.target = sub-zlib
src_tools_bootstrap.subdir = tools/bootstrap
src_tools_bootstrap.target = sub-bootstrap
-src_tools_bootstrap.CONFIG = host_build
src_tools_moc.subdir = tools/moc
src_tools_moc.target = sub-moc
src_tools_moc.depends = src_tools_bootstrap
-src_tools_moc.CONFIG = host_build
src_tools_rcc.subdir = tools/rcc
src_tools_rcc.target = sub-rcc
src_tools_rcc.depends = src_tools_bootstrap
-src_tools_rcc.CONFIG = host_build
src_tools_qlalr.subdir = tools/qlalr
src_tools_qlalr.target = sub-qlalr
-src_tools_qlalr.CONFIG = host_build
force_bootstrap: src_tools_qlalr.depends = src_tools_bootstrap
else: src_tools_qlalr.depends = src_corelib
src_tools_uic.subdir = tools/uic
src_tools_uic.target = sub-uic
-src_tools_uic.CONFIG = host_build
force_bootstrap: src_tools_uic.depends = src_tools_bootstrap
else: src_tools_uic.depends = src_corelib
src_tools_bootstrap_dbus.subdir = tools/bootstrap-dbus
src_tools_bootstrap_dbus.target = sub-bootstrap_dbus
src_tools_bootstrap_dbus.depends = src_tools_bootstrap
-src_tools_bootstrap_dbus.CONFIG = host_build
src_tools_qdbusxml2cpp.subdir = tools/qdbusxml2cpp
src_tools_qdbusxml2cpp.target = sub-qdbusxml2cpp
-src_tools_qdbusxml2cpp.CONFIG = host_build
force_bootstrap: src_tools_qdbusxml2cpp.depends = src_tools_bootstrap_dbus
else: src_tools_qdbusxml2cpp.depends = src_dbus
src_tools_qdbuscpp2xml.subdir = tools/qdbuscpp2xml
src_tools_qdbuscpp2xml.target = sub-qdbuscpp2xml
-src_tools_qdbuscpp2xml.CONFIG = host_build
force_bootstrap: src_tools_qdbuscpp2xml.depends = src_tools_bootstrap_dbus
else: src_tools_qdbuscpp2xml.depends = src_dbus
@@ -138,7 +134,7 @@ src_android.subdir = $$PWD/android
}
}
SUBDIRS += src_tools_bootstrap src_tools_moc src_tools_rcc
-!contains(QT_DISABLED_FEATURES, regularexpression):pcre {
+qtConfig(regularexpression):pcre {
SUBDIRS += src_3rdparty_pcre
src_corelib.depends += src_3rdparty_pcre
}
diff --git a/src/testlib/qteamcitylogger.cpp b/src/testlib/qteamcitylogger.cpp
index 4773ea937f..1d700d8201 100644
--- a/src/testlib/qteamcitylogger.cpp
+++ b/src/testlib/qteamcitylogger.cpp
@@ -228,22 +228,22 @@ QString QTeamCityLogger::tcEscapedString(const QString &str) const
switch (ch.toLatin1()) {
case '\n':
- formattedString.append(QLatin1Literal("|n"));
+ formattedString.append(QLatin1String("|n"));
break;
case '\r':
- formattedString.append(QLatin1Literal("|r"));
+ formattedString.append(QLatin1String("|r"));
break;
case '|':
- formattedString.append(QLatin1Literal("||"));
+ formattedString.append(QLatin1String("||"));
break;
case '[':
- formattedString.append(QLatin1Literal("|["));
+ formattedString.append(QLatin1String("|["));
break;
case ']':
- formattedString.append(QLatin1Literal("|]"));
+ formattedString.append(QLatin1String("|]"));
break;
case '\'':
- formattedString.append(QLatin1Literal("|'"));
+ formattedString.append(QLatin1String("|'"));
break;
default:
formattedString.append(ch);
diff --git a/src/testlib/qtestblacklist.cpp b/src/testlib/qtestblacklist.cpp
index 3fec0ad98a..587930ca73 100644
--- a/src/testlib/qtestblacklist.cpp
+++ b/src/testlib/qtestblacklist.cpp
@@ -97,7 +97,7 @@ static QSet<QByteArray> keywords()
#ifdef Q_OS_OSX
<< "osx"
#endif
-#ifdef Q_OS_WIN
+#if defined(Q_OS_WIN) && !defined(Q_OS_WINRT)
<< "windows"
#endif
#ifdef Q_OS_IOS
diff --git a/src/testlib/qtestcase.h b/src/testlib/qtestcase.h
index 09da575bc9..106fa7abd5 100644
--- a/src/testlib/qtestcase.h
+++ b/src/testlib/qtestcase.h
@@ -52,11 +52,11 @@
#include <string.h>
+#include <type_traits>
#ifndef QT_NO_EXCEPTIONS
# include <exception>
#endif // QT_NO_EXCEPTIONS
-
QT_BEGIN_NAMESPACE
class QRegularExpression;
@@ -204,11 +204,11 @@ do {\
return;\
} while (0)
-#define QFETCH(type, name)\
- type name = *static_cast<type *>(QTest::qData(#name, ::qMetaTypeId<type >()))
+#define QFETCH(Type, name)\
+ Type name = *static_cast<Type *>(QTest::qData(#name, ::qMetaTypeId<typename std::remove_cv<Type >::type>()))
-#define QFETCH_GLOBAL(type, name)\
- type name = *static_cast<type *>(QTest::qGlobalData(#name, ::qMetaTypeId<type >()))
+#define QFETCH_GLOBAL(Type, name)\
+ Type name = *static_cast<Type *>(QTest::qGlobalData(#name, ::qMetaTypeId<typename std::remove_cv<Type >::type>()))
#define QTEST(actual, testElement)\
do {\
diff --git a/src/tools/moc/moc.cpp b/src/tools/moc/moc.cpp
index 22207a9030..e4b9b19758 100644
--- a/src/tools/moc/moc.cpp
+++ b/src/tools/moc/moc.cpp
@@ -560,7 +560,8 @@ void Moc::parse()
until(RBRACE);
def.end = index;
index = def.begin + 1;
- while (inNamespace(&def) && hasNext()) {
+ const bool parseNamespace = currentFilenames.size() <= 1;
+ while (parseNamespace && inNamespace(&def) && hasNext()) {
switch (next()) {
case Q_NAMESPACE_TOKEN:
def.hasQNamespace = true;
@@ -569,10 +570,16 @@ void Moc::parse()
case Q_ENUM_NS_TOKEN:
parseEnumOrFlag(&def, false);
break;
+ case Q_ENUM_TOKEN:
+ error("Q_ENUM can't be used in a Q_NAMESPACE, use Q_ENUM_NS instead");
+ break;
case Q_FLAGS_TOKEN:
case Q_FLAG_NS_TOKEN:
parseEnumOrFlag(&def, true);
break;
+ case Q_FLAG_TOKEN:
+ error("Q_FLAG can't be used in a Q_NAMESPACE, use Q_FLAG_NS instead");
+ break;
case Q_DECLARE_FLAGS_TOKEN:
parseFlag(&def);
break;
@@ -735,10 +742,16 @@ void Moc::parse()
case Q_ENUM_TOKEN:
parseEnumOrFlag(&def, false);
break;
+ case Q_ENUM_NS_TOKEN:
+ error("Q_ENUM_NS can't be used in a Q_OBJECT/Q_GADGET, use Q_ENUM instead");
+ break;
case Q_FLAGS_TOKEN:
case Q_FLAG_TOKEN:
parseEnumOrFlag(&def, true);
break;
+ case Q_FLAG_NS_TOKEN:
+ error("Q_FLAG_NS can't be used in a Q_OBJECT/Q_GADGET, use Q_FLAG instead");
+ break;
case Q_DECLARE_FLAGS_TOKEN:
parseFlag(&def);
break;
diff --git a/src/tools/rcc/rcc.cpp b/src/tools/rcc/rcc.cpp
index 3156df3f30..18772d2816 100644
--- a/src/tools/rcc/rcc.cpp
+++ b/src/tools/rcc/rcc.cpp
@@ -705,9 +705,7 @@ static void resourceDataFileMapRecursion(const RCCFileInfo *m_root, const QStrin
const ChildConstIterator cend = m_root->m_children.constEnd();
for (ChildConstIterator it = m_root->m_children.constBegin(); it != cend; ++it) {
const RCCFileInfo *child = it.value();
- QString childName = path;
- childName += slash;
- childName += child->m_name;
+ const QString childName = path + slash + child->m_name;
if (child->m_flags & RCCFileInfo::Directory) {
resourceDataFileMapRecursion(child, childName, m);
} else {
diff --git a/src/tools/uic/cpp/cppwriteinitialization.cpp b/src/tools/uic/cpp/cppwriteinitialization.cpp
index df55ca29f1..d69eeebc5c 100644
--- a/src/tools/uic/cpp/cppwriteinitialization.cpp
+++ b/src/tools/uic/cpp/cppwriteinitialization.cpp
@@ -2307,7 +2307,7 @@ QString WriteInitialization::trCall(const QString &str, const QString &commentHi
return QLatin1String("QString()");
QString result;
- const QString comment = commentHint.isEmpty() ? QString(QLatin1Char('0')) : fixString(commentHint, m_dindent);
+ const QString comment = commentHint.isEmpty() ? QString(QLatin1String("Q_NULLPTR")) : fixString(commentHint, m_dindent);
if (m_option.translateFunction.isEmpty()) {
if (m_option.idBased) {
diff --git a/src/widgets/configure.json b/src/widgets/configure.json
new file mode 100644
index 0000000000..c1931d9d80
--- /dev/null
+++ b/src/widgets/configure.json
@@ -0,0 +1,567 @@
+{
+ "module": "widgets",
+ "depends": [
+ "core-private",
+ "gui"
+ ],
+ "testDir": "../../config.tests",
+
+ "commandline": {
+ "options": {
+ "android-style-assets": "boolean",
+ "gtk": { "type": "boolean", "name": "gtk3" },
+ "style-windows": "boolean",
+ "style-windowsxp": "boolean",
+ "style-windowsvista": "boolean",
+ "style-fusion": "boolean",
+ "style-mac": "boolean",
+ "style-android": "boolean"
+ }
+ },
+
+ "libraries": {
+ "gtk3": {
+ "label": "GTK+",
+ "sources": [
+ { "type": "pkgConfig", "args": "gtk+-3.0" }
+ ]
+ }
+ },
+
+ "tests": {
+ "uxtheme": {
+ "label": "uxtheme.h",
+ "type": "files",
+ "files": [ "uxtheme.h" ]
+ }
+ },
+
+ "features": {
+ "gtk3": {
+ "label": "GTK+",
+ "autoDetect": "!config.darwin",
+ "condition": "features.glib && libs.gtk3",
+ "output": [ "privateFeature" ]
+ },
+ "style-fusion": {
+ "label": "Fusion",
+ "output": [ "styles" ]
+ },
+ "style-mac": {
+ "label": "macOS",
+ "condition": "config.osx",
+ "output": [ "styles" ]
+ },
+ "style-windows": {
+ "label": "Windows",
+ "output": [ "styles" ]
+ },
+ "style-windowsxp": {
+ "label": "WindowsXP",
+ "condition": "features.style-windows && config.win32 && !config.winrt && tests.uxtheme",
+ "output": [ "styles" ]
+ },
+ "style-windowsvista": {
+ "label": "WindowsVista",
+ "condition": "features.style-windowsxp",
+ "output": [ "styles" ]
+ },
+ "style-android": {
+ "label": "Android",
+ "autoDetect": "config.android",
+ "output": [ "styles" ]
+ },
+ "style-stylesheet": {
+ "label": "QStyleSheetStyle",
+ "purpose": "Provides a widget style which is configurable via CSS.",
+ "section": "Styles",
+ "condition": "features.style-windows && features.properties && features.cssparser",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "android-style-assets": {
+ "label": "Android Style Assets",
+ "condition": "features.style-android",
+ "output": [ "privateConfig" ]
+ },
+ "effects": {
+ "label": "Effects",
+ "purpose": "Provides special widget effects (e.g. fading and scrolling).",
+ "section": "Kernel"
+ },
+ "filesystemmodel": {
+ "label": "QFileSystemModel",
+ "purpose": "Provides a data model for the local filesystem.",
+ "section": "File I/O",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "itemviews": {
+ "label": "The Model/View Framework",
+ "purpose": "Provides the model/view architecture managing the relationship between data and the way it is presented to the user.",
+ "section": "ItemViews",
+ "condition": "features.itemmodel && features.rubberband && features.scrollarea",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "treewidget": {
+ "label": "QTreeWidget",
+ "purpose": "Provides views using tree models.",
+ "section": "Widgets",
+ "condition": "features.treeview",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "listwidget": {
+ "label": "QListWidget",
+ "purpose": "Provides item-based list widgets.",
+ "section": "Widgets",
+ "condition": "features.listview",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "tablewidget": {
+ "label": "QTableWidget",
+ "purpose": "Provides item-based table views.",
+ "section": "Widgets",
+ "condition": "features.tableview",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "datetimeedit": {
+ "label": "QDateTimeEdit",
+ "purpose": "Supports editing dates and times.",
+ "section": "Widgets",
+ "condition": "features.calendarwidget && features.datestring",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "stackedwidget": {
+ "label": "QStackedWidget",
+ "purpose": "Provides stacked widgets.",
+ "section": "Widgets",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "textbrowser": {
+ "label": "QTextBrowser",
+ "purpose": "Supports HTML document browsing.",
+ "section": "Widgets",
+ "condition": "features.textedit",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "splashscreen": {
+ "label": "QSplashScreen",
+ "purpose": "Supports splash screens that can be shown during application startup.",
+ "section": "Widgets",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "splitter": {
+ "label": "QSplitter",
+ "purpose": "Provides user controlled splitter widgets.",
+ "section": "Widgets",
+ "condition": "features.rubberband",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "lcdnumber": {
+ "label": "QLCDNumber",
+ "purpose": "Provides LCD-like digits.",
+ "section": "Widgets",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "menu": {
+ "label": "QMenu",
+ "purpose": "Provides popup-menus.",
+ "section": "Widgets",
+ "condition": "features.action",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "lineedit": {
+ "label": "QLineEdit",
+ "purpose": "Provides single-line edits.",
+ "section": "Widgets",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "spinbox": {
+ "label": "QSpinBox",
+ "purpose": "Provides spin boxes handling integers and discrete sets of values.",
+ "section": "Widgets",
+ "condition": "features.spinwidget && features.lineedit && features.validator",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "tabbar": {
+ "label": "QTabBar",
+ "purpose": "Provides tab bars, e.g., for use in tabbed dialogs.",
+ "section": "Widgets",
+ "condition": "features.toolbutton",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "tabwidget": {
+ "label": "QTabWidget",
+ "purpose": "Supports stacking tabbed widgets.",
+ "section": "Widgets",
+ "condition": "features.tabbar && features.stackedwidget",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "combobox": {
+ "label": "QComboBox",
+ "purpose": "Provides drop-down boxes presenting a list of options to the user.",
+ "section": "Widgets",
+ "condition": "features.lineedit && features.standarditemmodel && features.listview",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "fontcombobox": {
+ "label": "QFontComboBox",
+ "purpose": "Provides a combobox that lets the user select a font family.",
+ "section": "Widgets",
+ "condition": "features.combobox && features.stringlistmodel",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "toolbutton": {
+ "label": "QToolButton",
+ "purpose": "Provides quick-access buttons to commands and options.",
+ "section": "Widgets",
+ "condition": "features.action",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "toolbar": {
+ "label": "QToolBar",
+ "purpose": "Provides movable panels containing a set of controls.",
+ "section": "Widgets",
+ "condition": "features.mainwindow",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "toolbox": {
+ "label": "QToolBox",
+ "purpose": "Provides columns of tabbed widget items.",
+ "section": "Widgets",
+ "condition": "features.toolbutton && features.scrollarea",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "groupbox": {
+ "label": "QGroupBox",
+ "purpose": "Provides widget grouping boxes with frames.",
+ "section": "Widgets",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "buttongroup": {
+ "label": "QButtonGroup",
+ "purpose": "Supports organizing groups of button widgets.",
+ "section": "Widgets",
+ "condition": "features.groupbox",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "mainwindow": {
+ "label": "QMainWindow",
+ "purpose": "Provides main application windows.",
+ "section": "Widgets",
+ "condition": "features.menu && features.resizehandler && features.toolbutton",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "dockwidget": {
+ "label": "QDockwidget",
+ "purpose": "Supports docking widgets inside a QMainWindow or floated as a top-level window on the desktop.",
+ "section": "Widgets",
+ "condition": "features.rubberband && features.mainwindow",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "mdiarea": {
+ "label": "QMdiArea",
+ "purpose": "Provides an area in which MDI windows are displayed.",
+ "section": "Widgets",
+ "condition": "features.scrollarea",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "resizehandler": {
+ "label": "QWidgetResizeHandler",
+ "purpose": "Provides an internal resize handler for dock widgets.",
+ "section": "Widgets",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "statusbar": {
+ "label": "QStatusBar",
+ "purpose": "Supports presentation of status information.",
+ "section": "Widgets",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "menubar": {
+ "label": "QMenuBar",
+ "purpose": "Provides pull-down menu items.",
+ "section": "Widgets",
+ "condition": "features.menu && features.toolbutton",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "contextmenu": {
+ "label": "Context menus",
+ "purpose": "Adds pop-up menus on right mouse click to numerous widgets.",
+ "section": "Widgets",
+ "condition": "features.menu",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "progressbar": {
+ "label": "QProgressBar",
+ "purpose": "Supports presentation of operation progress.",
+ "section": "Widgets",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "slider": {
+ "label": "QSlider",
+ "purpose": "Provides sliders controlling a bounded value.",
+ "section": "Widgets",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "scrollbar": {
+ "label": "QScrollBar",
+ "purpose": "Provides scrollbars allowing the user access parts of a document that is larger than the widget used to display it.",
+ "section": "Widgets",
+ "condition": "features.slider",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "dial": {
+ "label": "QDial",
+ "purpose": "Provides a rounded range control, e.g., like a speedometer.",
+ "section": "Widgets",
+ "condition": "features.slider",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "scrollarea": {
+ "label": "QScrollArea",
+ "purpose": "Supports scrolling views onto widgets.",
+ "section": "Widgets",
+ "condition": "features.scrollbar",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "graphicsview": {
+ "label": "QGraphicsView",
+ "purpose": "Provides a canvas/sprite framework.",
+ "section": "Widgets",
+ "condition": "features.scrollarea",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "graphicseffect": {
+ "label": "QGraphicsEffect",
+ "purpose": "Provides various graphics effects.",
+ "section": "Widgets",
+ "condition": "features.graphicsview",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "spinbox": {
+ "label": "QSpinBox",
+ "purpose": "Provides spinbox control widgets.",
+ "section": "Widgets",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "textedit": {
+ "label": "QTextEdit",
+ "purpose": "Supports rich text editing.",
+ "section": "Widgets",
+ "condition": "features.scrollarea && features.properties",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "syntaxhighlighter": {
+ "label": "QSyntaxHighlighter",
+ "purpose": "Supports custom syntax highlighting.",
+ "section": "Widgets",
+ "condition": "features.textedit",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "rubberband": {
+ "label": "QRubberBand",
+ "purpose": "Supports using rubberbands to indicate selections and boundaries.",
+ "section": "Widgets",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "tooltip": {
+ "label": "QToolTip",
+ "purpose": "Supports presentation of tooltips.",
+ "section": "Widgets",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "statustip": {
+ "label": "Status Tip",
+ "purpose": "Supports status tip functionality and events.",
+ "section": "Widgets",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "whatsthis": {
+ "label": "QWhatsThis",
+ "purpose": "Supports displaying \"What's this\" help.",
+ "section": "Widgets",
+ "condition": "features.toolbutton",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "sizegrip": {
+ "label": "QSizeGrip",
+ "purpose": "Provides corner-grips for resizing top-level windows.",
+ "section": "Widgets",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "calendarwidget": {
+ "label": "QCalendarWidget",
+ "purpose": "Provides a monthly based calendar widget allowing the user to select a date.",
+ "section": "Widgets",
+ "condition": "features.tableview && features.menu && features.textdate && features.spinbox && features.toolbutton",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "keysequenceedit": {
+ "label": "QKeySequenceEdit",
+ "purpose": "Provides a widget for editing QKeySequences.",
+ "section": "Widgets",
+ "condition": "features.lineedit && features.shortcut",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "messagebox": {
+ "label": "QMessageBox",
+ "purpose": "Provides message boxes displaying informative messages and simple questions.",
+ "section": "Dialogs",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "colordialog": {
+ "label": "QColorDialog",
+ "purpose": "Provides a dialog widget for specifying colors.",
+ "section": "Dialogs",
+ "condition": "features.spinbox",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "filedialog": {
+ "label": "QFileDialog",
+ "purpose": "Provides a dialog widget for selecting files or directories.",
+ "section": "Dialogs",
+ "condition": "features.dirmodel && features.treeview && features.combobox && features.toolbutton && features.buttongroup && features.tooltip && features.splitter && features.stackedwidget && features.proxymodel",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "fontdialog": {
+ "label": "QFontDialog",
+ "purpose": "Provides a dialog widget for selecting fonts.",
+ "section": "Dialogs",
+ "condition": "features.stringlistmodel && features.combobox && features.validator && features.groupbox",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "progressdialog": {
+ "label": "QProgressDialog",
+ "purpose": "Provides feedback on the progress of a slow operation.",
+ "section": "Dialogs",
+ "condition": "features.progressbar",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "inputdialog": {
+ "label": "QInputDialog",
+ "purpose": "Provides a simple convenience dialog to get a single value from the user.",
+ "section": "Dialogs",
+ "condition": "features.combobox && features.spinbox && features.stackedwidget",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "errormessage": {
+ "label": "QErrorMessage",
+ "purpose": "Provides an error message display dialog.",
+ "section": "Dialogs",
+ "condition": "features.textedit",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "wizard": {
+ "label": "QWizard",
+ "purpose": "Provides a framework for multi-page click-through dialogs.",
+ "section": "Dialogs",
+ "condition": "features.properties",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "dirmodel": {
+ "label": "QDirModel",
+ "purpose": "Provides a data model for the local filesystem.",
+ "section": "ItemViews",
+ "condition": "features.itemviews && features.filesystemmodel",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "listview": {
+ "label": "QListView",
+ "purpose": "Provides a list or icon view onto a model.",
+ "section": "ItemViews",
+ "condition": "features.itemviews",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "tableview": {
+ "label": "QTableView",
+ "purpose": "Provides a default model/view implementation of a table view.",
+ "section": "ItemViews",
+ "condition": "features.itemviews",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "treeview": {
+ "label": "QTreeView",
+ "purpose": "Provides a default model/view implementation of a tree view.",
+ "section": "ItemViews",
+ "condition": "features.itemviews",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "datawidgetmapper": {
+ "label": "QDataWidgetMapper",
+ "purpose": "Provides mapping between a section of a data model to widgets.",
+ "section": "ItemViews",
+ "condition": "features.itemviews && features.properties",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "columnview": {
+ "label": "QColumnView",
+ "purpose": "Provides a model/view implementation of a column view.",
+ "section": "ItemViews",
+ "condition": "features.listview",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "paint_debug": {
+ "label": "Painting Debug Utilities",
+ "purpose": "Enabled debugging painting with the environment variables QT_FLUSH_UPDATE and QT_FLUSH_PAINT.",
+ "section": "Painting",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "completer": {
+ "label": "QCompleter",
+ "purpose": "Provides completions based on an item model.",
+ "section": "Utilities",
+ "condition": "features.proxymodel",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "fscompleter": {
+ "label": "QFSCompleter",
+ "purpose": "Provides file name completion in QFileDialog.",
+ "section": "Utilities",
+ "condition": "features.filesystemmodel && features.completer",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "undocommand": {
+ "label": "QUndoCommand",
+ "purpose": "Applies (redo or) undo of a single change in a document.",
+ "section": "Utilities",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "undostack": {
+ "label": "QUndoStack",
+ "purpose": "Provides the ability to (redo or) undo a list of changes in a document.",
+ "section": "Utilities",
+ "condition": "features.undocommand",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "undogroup": {
+ "label": "QUndoGroup",
+ "purpose": "Provides the ability to cluster QUndoCommands.",
+ "section": "Utilities",
+ "condition": "features.undostack",
+ "output": [ "publicFeature", "feature" ]
+ },
+ "undoview": {
+ "label": "QUndoView",
+ "purpose": "Provides a widget which shows the contents of an undo stack.",
+ "section": "Utilities",
+ "condition": "features.undostack && features.listview",
+ "output": [ "publicFeature", "feature" ]
+ }
+ },
+
+ "report": [
+ ],
+
+ "summary": [
+ {
+ "section": "Qt Widgets",
+ "entries": [
+ "gtk3",
+ {
+ "message": "Styles",
+ "type": "featureList",
+ "args": "style-fusion style-mac style-windows style-windowsxp style-windowsvista style-android"
+ }
+ ]
+ }
+ ]
+}
diff --git a/src/widgets/configure.pri b/src/widgets/configure.pri
new file mode 100644
index 0000000000..ddb3657700
--- /dev/null
+++ b/src/widgets/configure.pri
@@ -0,0 +1,8 @@
+# custom outputs
+
+defineTest(qtConfOutput_styles) {
+ !$${2}: return()
+
+ style = $$replace($${1}.feature, "style-", "")
+ qtConfOutputVar(append, "privatePro", "styles", $$style)
+}
diff --git a/src/widgets/kernel/qtwidgetsglobal.h b/src/widgets/kernel/qtwidgetsglobal.h
index f6d003e629..1c74f37618 100644
--- a/src/widgets/kernel/qtwidgetsglobal.h
+++ b/src/widgets/kernel/qtwidgetsglobal.h
@@ -41,6 +41,7 @@
#define QTWIDGETSGLOBAL_H
#include <QtGui/qtguiglobal.h>
+#include <QtWidgets/qtwidgets-config.h>
QT_BEGIN_NAMESPACE
diff --git a/src/widgets/kernel/qtwidgetsglobal_p.h b/src/widgets/kernel/qtwidgetsglobal_p.h
index 7dd545415c..22ba876022 100644
--- a/src/widgets/kernel/qtwidgetsglobal_p.h
+++ b/src/widgets/kernel/qtwidgetsglobal_p.h
@@ -53,5 +53,6 @@
#include <QtWidgets/qtwidgetsglobal.h>
#include <QtGui/private/qtguiglobal_p.h>
+#include <QtWidgets/private/qtwidgets-config_p.h>
#endif // QTWIDGETSGLOBAL_P_H
diff --git a/src/widgets/styles/qstylesheetstyle.cpp b/src/widgets/styles/qstylesheetstyle.cpp
index 690524b64b..b214dae154 100644
--- a/src/widgets/styles/qstylesheetstyle.cpp
+++ b/src/widgets/styles/qstylesheetstyle.cpp
@@ -3818,6 +3818,13 @@ void QStyleSheetStyle::drawControl(ControlElement ce, const QStyleOption *opt, Q
ParentStyle::drawControl(ce, opt, p, w);
return;
}
+ if (subRule.hasFont) {
+ const QFont oldFont = p->font();
+ p->setFont(subRule.font.resolve(p->font()));
+ baseStyle()->drawControl(ce, opt, p, w);
+ p->setFont(oldFont);
+ return;
+ }
}
break;
case CE_HeaderSection:
@@ -4931,13 +4938,14 @@ QSize QStyleSheetStyle::sizeFromContents(ContentsType ct, const QStyleOption *op
case CT_HeaderSection: {
if (const QStyleOptionHeader *hdr = qstyleoption_cast<const QStyleOptionHeader *>(opt)) {
QRenderRule subRule = renderRule(w, opt, PseudoElement_HeaderViewSection);
- if (subRule.hasGeometry() || subRule.hasBox() || !subRule.hasNativeBorder()) {
+ if (subRule.hasGeometry() || subRule.hasBox() || !subRule.hasNativeBorder() || subRule.hasFont) {
sz = subRule.adjustSize(csz);
if (!subRule.hasGeometry()) {
QSize nativeContentsSize;
bool nullIcon = hdr->icon.isNull();
int iconSize = nullIcon ? 0 : pixelMetric(QStyle::PM_SmallIconSize, hdr, w);
- QSize txt = hdr->fontMetrics.size(0, hdr->text);
+ const QSize txt = subRule.hasFont ? QFontMetrics(subRule.font).size(0, hdr->text)
+ : hdr->fontMetrics.size(0, hdr->text);
nativeContentsSize.setHeight(qMax(iconSize, txt.height()));
nativeContentsSize.setWidth(iconSize + txt.width());
sz = sz.expandedTo(nativeContentsSize);
diff --git a/src/widgets/styles/styles.pri b/src/widgets/styles/styles.pri
index 7b9497172c..69e13fb6ec 100644
--- a/src/widgets/styles/styles.pri
+++ b/src/widgets/styles/styles.pri
@@ -35,6 +35,8 @@ SOURCES += \
RESOURCES += styles/qstyle.qrc
+include($$OUT_PWD/qtwidgets-config.pri)
+
contains( styles, mac ) {
HEADERS += \
styles/qmacstyle_mac_p.h \
diff --git a/src/widgets/widgets/qdockarealayout.cpp b/src/widgets/widgets/qdockarealayout.cpp
index b347e93807..a7e865ff05 100644
--- a/src/widgets/widgets/qdockarealayout.cpp
+++ b/src/widgets/widgets/qdockarealayout.cpp
@@ -2617,6 +2617,21 @@ void QDockAreaLayout::remove(const QList<int> &path)
docks[index].remove(path.mid(1));
}
+void QDockAreaLayout::removePlaceHolder(const QString &name)
+{
+ QList<int> index = indexOfPlaceHolder(name);
+ if (!index.isEmpty())
+ remove(index);
+ foreach (QDockWidgetGroupWindow *dwgw, mainWindow->findChildren<QDockWidgetGroupWindow *>(
+ QString(), Qt::FindDirectChildrenOnly)) {
+ index = dwgw->layoutInfo()->indexOfPlaceHolder(name);
+ if (!index.isEmpty()) {
+ dwgw->layoutInfo()->remove(index);
+ dwgw->destroyOrHideIfEmpty();
+ }
+ }
+}
+
static inline int qMax(int i1, int i2, int i3) { return qMax(i1, qMax(i2, i3)); }
void QDockAreaLayout::getGrid(QVector<QLayoutStruct> *_ver_struct_list,
@@ -3043,15 +3058,27 @@ QRect QDockAreaLayout::constrainedRect(QRect rect, QWidget* widget)
bool QDockAreaLayout::restoreDockWidget(QDockWidget *dockWidget)
{
- QList<int> index = indexOfPlaceHolder(dockWidget->objectName());
- if (index.isEmpty())
- return false;
+ QDockAreaLayoutItem *item = 0;
+ foreach (QDockWidgetGroupWindow *dwgw, mainWindow->findChildren<QDockWidgetGroupWindow *>(
+ QString(), Qt::FindDirectChildrenOnly)) {
+ QList<int> index = dwgw->layoutInfo()->indexOfPlaceHolder(dockWidget->objectName());
+ if (!index.isEmpty()) {
+ dockWidget->setParent(dwgw);
+ item = const_cast<QDockAreaLayoutItem *>(&dwgw->layoutInfo()->item(index));
+ break;
+ }
+ }
+ if (!item) {
+ QList<int> index = indexOfPlaceHolder(dockWidget->objectName());
+ if (index.isEmpty())
+ return false;
+ item = const_cast<QDockAreaLayoutItem *>(&this->item(index));
+ }
- QDockAreaLayoutItem &item = this->item(index);
- QPlaceHolderItem *placeHolder = item.placeHolderItem;
+ QPlaceHolderItem *placeHolder = item->placeHolderItem;
Q_ASSERT(placeHolder != 0);
- item.widgetItem = new QDockWidgetItem(dockWidget);
+ item->widgetItem = new QDockWidgetItem(dockWidget);
if (placeHolder->window) {
const QRect r = constrainedRect(placeHolder->topLevelRect, dockWidget);
@@ -3063,7 +3090,7 @@ bool QDockAreaLayout::restoreDockWidget(QDockWidget *dockWidget)
dockWidget->d_func()->setWindowState(true);
#endif
- item.placeHolderItem = 0;
+ item->placeHolderItem = 0;
delete placeHolder;
return true;
@@ -3099,9 +3126,7 @@ void QDockAreaLayout::addDockWidget(QInternal::DockPosition pos, QDockWidget *do
info = new_info;
}
- QList<int> index = indexOfPlaceHolder(dockWidget->objectName());
- if (!index.isEmpty())
- remove(index);
+ removePlaceHolder(dockWidget->objectName());
}
void QDockAreaLayout::tabifyDockWidget(QDockWidget *first, QDockWidget *second)
@@ -3114,9 +3139,7 @@ void QDockAreaLayout::tabifyDockWidget(QDockWidget *first, QDockWidget *second)
Q_ASSERT(info != 0);
info->tab(path.last(), new QDockWidgetItem(second));
- QList<int> index = indexOfPlaceHolder(second->objectName());
- if (!index.isEmpty())
- remove(index);
+ removePlaceHolder(second->objectName());
}
void QDockAreaLayout::resizeDocks(const QList<QDockWidget *> &docks,
@@ -3178,9 +3201,7 @@ void QDockAreaLayout::splitDockWidget(QDockWidget *after,
Q_ASSERT(info != 0);
info->split(path.last(), orientation, new QDockWidgetItem(dockWidget));
- QList<int> index = indexOfPlaceHolder(dockWidget->objectName());
- if (!index.isEmpty())
- remove(index);
+ removePlaceHolder(dockWidget->objectName());
}
void QDockAreaLayout::apply(bool animate)
diff --git a/src/widgets/widgets/qdockarealayout_p.h b/src/widgets/widgets/qdockarealayout_p.h
index aa6e4232e0..f22a3d2de2 100644
--- a/src/widgets/widgets/qdockarealayout_p.h
+++ b/src/widgets/widgets/qdockarealayout_p.h
@@ -262,6 +262,7 @@ public:
QLayoutItem *plug(const QList<int> &path);
QLayoutItem *unplug(const QList<int> &path);
void remove(const QList<int> &path);
+ void removePlaceHolder(const QString &name);
void fitLayout();
diff --git a/src/widgets/widgets/qmainwindowlayout.cpp b/src/widgets/widgets/qmainwindowlayout.cpp
index c5b08387a3..939453473a 100644
--- a/src/widgets/widgets/qmainwindowlayout.cpp
+++ b/src/widgets/widgets/qmainwindowlayout.cpp
@@ -221,11 +221,10 @@ public:
}
void setGeometry(const QRect&r) Q_DECL_OVERRIDE
{
+ static_cast<QDockWidgetGroupWindow *>(parent())->destroyOrHideIfEmpty();
QDockAreaLayoutInfo *li = layoutInfo();
- if (li->isEmpty()) {
- static_cast<QDockWidgetGroupWindow *>(parent())->destroyIfEmpty();
+ if (li->isEmpty())
return;
- }
int fw = frameWidth();
li->reparentWidgets(parentWidget());
li->rect = r.adjusted(fw, fw, -fw, -fw);
@@ -278,6 +277,10 @@ bool QDockWidgetGroupWindow::event(QEvent *e)
if (qobject_cast<QDockWidget *>(static_cast<QChildEvent*>(e)->child()))
adjustFlags();
break;
+ case QEvent::LayoutRequest:
+ // We might need to show the widget again
+ destroyOrHideIfEmpty();
+ break;
default:
break;
}
@@ -331,34 +334,43 @@ QDockWidget *QDockWidgetGroupWindow::topDockWidget() const
}
/*! \internal
- Destroy this window if there is no more QDockWidget in it.
+ Destroy or hide this window if there is no more QDockWidget in it.
+ Otherwise make sure it is shown.
*/
-void QDockWidgetGroupWindow::destroyIfEmpty()
-{
- if (layoutInfo()->isEmpty()) {
- // Make sure to reparent the possibly floating or hidden QDockWidgets to the parent
- foreach (QDockWidget *dw,
- findChildren<QDockWidget *>(QString(), Qt::FindDirectChildrenOnly)) {
- bool wasFloating = dw->isFloating();
- bool wasHidden = dw->isHidden();
- dw->setParent(parentWidget());
- if (wasFloating) {
- dw->setFloating(true);
- } else {
- // maybe it was hidden, we still have to put it back in the main layout.
- QMainWindowLayout *ml = qt_mainwindow_layout(static_cast<QMainWindow*>(parentWidget()));
- Qt::DockWidgetArea area = ml->dockWidgetArea(this);
- if (area == Qt::NoDockWidgetArea)
- area = Qt::LeftDockWidgetArea;
- static_cast<QMainWindow*>(parentWidget())->addDockWidget(area, dw);
- }
- if (!wasHidden)
- dw->show();
+void QDockWidgetGroupWindow::destroyOrHideIfEmpty()
+{
+ if (!layoutInfo()->isEmpty()) {
+ show(); // It might have been hidden,
+ return;
+ }
+ // There might still be placeholders
+ if (!layoutInfo()->item_list.isEmpty()) {
+ hide();
+ return;
+ }
+
+ // Make sure to reparent the possibly floating or hidden QDockWidgets to the parent
+ foreach (QDockWidget *dw, findChildren<QDockWidget *>(QString(), Qt::FindDirectChildrenOnly)) {
+ bool wasFloating = dw->isFloating();
+ bool wasHidden = dw->isHidden();
+ dw->setParent(parentWidget());
+ if (wasFloating) {
+ dw->setFloating(true);
+ } else {
+ // maybe it was hidden, we still have to put it back in the main layout.
+ QMainWindowLayout *ml =
+ qt_mainwindow_layout(static_cast<QMainWindow *>(parentWidget()));
+ Qt::DockWidgetArea area = ml->dockWidgetArea(this);
+ if (area == Qt::NoDockWidgetArea)
+ area = Qt::LeftDockWidgetArea;
+ static_cast<QMainWindow *>(parentWidget())->addDockWidget(area, dw);
}
- foreach (QTabBar *tb, findChildren<QTabBar *>(QString(), Qt::FindDirectChildrenOnly))
- tb->setParent(parentWidget());
- deleteLater();
+ if (!wasHidden)
+ dw->show();
}
+ foreach (QTabBar *tb, findChildren<QTabBar *>(QString(), Qt::FindDirectChildrenOnly))
+ tb->setParent(parentWidget());
+ deleteLater();
}
/*! \internal
@@ -2093,7 +2105,7 @@ void QMainWindowLayout::animationFinished(QWidget *widget)
item.subinfo->reparentWidgets(parentWidget());
item.subinfo->setTabBarShape(parentInfo->tabBarShape);
}
- dwgw->destroyIfEmpty();
+ dwgw->destroyOrHideIfEmpty();
}
if (QDockWidget *dw = qobject_cast<QDockWidget*>(widget)) {
diff --git a/src/widgets/widgets/qmainwindowlayout_p.h b/src/widgets/widgets/qmainwindowlayout_p.h
index 7f35f78111..c06122b9c7 100644
--- a/src/widgets/widgets/qmainwindowlayout_p.h
+++ b/src/widgets/widgets/qmainwindowlayout_p.h
@@ -81,7 +81,7 @@ public:
: QWidget(parent, f) {}
QDockAreaLayoutInfo *layoutInfo() const;
QDockWidget *topDockWidget() const;
- void destroyIfEmpty();
+ void destroyOrHideIfEmpty();
void adjustFlags();
protected:
bool event(QEvent *) Q_DECL_OVERRIDE;
diff --git a/src/xml/configure.json b/src/xml/configure.json
new file mode 100644
index 0000000000..345eb8544b
--- /dev/null
+++ b/src/xml/configure.json
@@ -0,0 +1,16 @@
+{
+ "module": "xml",
+ "depends": [
+ "core"
+ ],
+ "testDir": "../../config.tests",
+
+ "features": {
+ "dom": {
+ "label": "DOM",
+ "purpose": "Supports the Document Object Model.",
+ "section": "File I/O",
+ "output": [ "publicFeature", "feature" ]
+ }
+ }
+}
diff --git a/src/xml/qtxmlglobal.h b/src/xml/qtxmlglobal.h
index de5a8ab39d..ed5de8db87 100644
--- a/src/xml/qtxmlglobal.h
+++ b/src/xml/qtxmlglobal.h
@@ -41,6 +41,9 @@
#define QTXMLGLOBAL_H
#include <QtCore/qglobal.h>
+#ifndef QT_BOOTSTRAPPED
+# include <QtXml/qtxml-config.h>
+#endif
QT_BEGIN_NAMESPACE
diff --git a/sync.profile b/sync.profile
index 0860c7692a..4da3499667 100644
--- a/sync.profile
+++ b/sync.profile
@@ -65,7 +65,7 @@ my @zlib_headers = ( "zconf.h", "zlib.h" );
@ignore_headers = ( @internal_zlib_headers );
@ignore_for_include_check = ( "qsystemdetection.h", "qcompilerdetection.h", "qprocessordetection.h", @zlib_headers, @angle_headers);
@ignore_for_qt_begin_namespace_check = ( "qt_windows.h", @zlib_headers, @angle_headers);
-%inject_headers = ( "$basedir/src/corelib/global" => [ "qconfig.h", "qconfig_p.h", "qfeatures.h" ] );
+%inject_headers = ( "$basedir/src/corelib/global" => [ "qconfig.h", "qconfig_p.h" ] );
# Module dependencies.
# Every module that is required to build this module should have one entry.
# Each of the module version specifiers can take one of the following values:
diff --git a/tests/auto/corelib/json/json.pro b/tests/auto/corelib/json/json.pro
index dc9cd3e383..16c2ae2fb7 100644
--- a/tests/auto/corelib/json/json.pro
+++ b/tests/auto/corelib/json/json.pro
@@ -1,5 +1,5 @@
TARGET = tst_json
-QT = core testlib
+QT = core-private testlib
CONFIG -= app_bundle
CONFIG += testcase
diff --git a/tests/auto/corelib/plugin/plugin.pro b/tests/auto/corelib/plugin/plugin.pro
index 777e920995..774edc655a 100644
--- a/tests/auto/corelib/plugin/plugin.pro
+++ b/tests/auto/corelib/plugin/plugin.pro
@@ -3,8 +3,7 @@ SUBDIRS=\
qfactoryloader \
quuid
-load(qfeatures)
-!contains(QT_DISABLED_FEATURES, library): SUBDIRS += \
+qtConfig(library): SUBDIRS += \
qpluginloader \
qplugin \
qlibrary
diff --git a/tests/auto/corelib/plugin/qfactoryloader/test/test.pro b/tests/auto/corelib/plugin/qfactoryloader/test/test.pro
index f1e76c31bf..3345651730 100644
--- a/tests/auto/corelib/plugin/qfactoryloader/test/test.pro
+++ b/tests/auto/corelib/plugin/qfactoryloader/test/test.pro
@@ -19,7 +19,6 @@ win32 {
mac: CONFIG -= app_bundle
-load(qfeatures)
-contains(QT_DISABLED_FEATURES, library) {
+!qtConfig(library) {
LIBS += -L ../bin/ -lplugin1 -lplugin2
}
diff --git a/tests/auto/corelib/tools/qbytearray/tst_qbytearray.cpp b/tests/auto/corelib/tools/qbytearray/tst_qbytearray.cpp
index 88c505601a..310c5f6fd3 100644
--- a/tests/auto/corelib/tools/qbytearray/tst_qbytearray.cpp
+++ b/tests/auto/corelib/tools/qbytearray/tst_qbytearray.cpp
@@ -778,9 +778,17 @@ void tst_QByteArray::qstrncpy()
{
QByteArray src(1024, 'a'), dst(1024, 'b');
- // singularities
- QCOMPARE(::qstrncpy(0, 0,0), (char*)0);
- QCOMPARE(::qstrncpy(dst.data(), 0, 0), (char*)0);
+ // dst == nullptr
+ QCOMPARE(::qstrncpy(0, src.data(), 0), (char*)0);
+ QCOMPARE(::qstrncpy(0, src.data(), 10), (char*)0);
+
+ // src == nullptr
+ QCOMPARE(::qstrncpy(dst.data(), 0, 0), (char*)0);
+ QCOMPARE(::qstrncpy(dst.data(), 0, 10), (char*)0);
+
+ // valid pointers, but len == 0
+ QCOMPARE(::qstrncpy(dst.data(), src.data(), 0), dst.data());
+ QCOMPARE(*dst.data(), 'b'); // must not have written to dst
// normal copy
QCOMPARE(::qstrncpy(dst.data(), src.data(), src.size()), dst.data());
diff --git a/tests/auto/corelib/tools/qcollator/qcollator.pro b/tests/auto/corelib/tools/qcollator/qcollator.pro
index 7725194e3d..2f3995a75f 100644
--- a/tests/auto/corelib/tools/qcollator/qcollator.pro
+++ b/tests/auto/corelib/tools/qcollator/qcollator.pro
@@ -1,6 +1,6 @@
CONFIG += testcase
TARGET = tst_qcollator
-QT = core testlib
+QT = core-private testlib
SOURCES = tst_qcollator.cpp
DEFINES += QT_NO_CAST_TO_ASCII
qtConfig(icu): DEFINES += QT_USE_ICU
diff --git a/tests/auto/corelib/tools/qstring/qstring.pro b/tests/auto/corelib/tools/qstring/qstring.pro
index a94ad3405a..ec8a9b5df5 100644
--- a/tests/auto/corelib/tools/qstring/qstring.pro
+++ b/tests/auto/corelib/tools/qstring/qstring.pro
@@ -1,6 +1,6 @@
CONFIG += testcase
TARGET = tst_qstring
-QT = core testlib
+QT = core-private testlib
SOURCES = tst_qstring.cpp
DEFINES += QT_NO_CAST_TO_ASCII
qtConfig(icu): DEFINES += QT_USE_ICU
diff --git a/tests/auto/gui/image/qimagewriter/tst_qimagewriter.cpp b/tests/auto/gui/image/qimagewriter/tst_qimagewriter.cpp
index b66eef5759..191aabdf6a 100644
--- a/tests/auto/gui/image/qimagewriter/tst_qimagewriter.cpp
+++ b/tests/auto/gui/image/qimagewriter/tst_qimagewriter.cpp
@@ -239,7 +239,7 @@ void tst_QImageWriter::writeImage2_data()
foreach (const QString format, formats) {
const QString fileName = QLatin1String("solidcolor_")
+ QString::number(imgFormat) + QLatin1Char('.') + format;
- QTest::newRow(fileName.toLatin1()) << fileName
+ QTest::newRow(fileName.toLatin1()) << writePrefix + fileName
<< format.toLatin1()
<< image;
}
@@ -510,7 +510,7 @@ void tst_QImageWriter::saveToTemporaryFile()
}
{
// 3) Via QImageWriter's API, with a named temp file
- QTemporaryFile file("tempXXXXXX");
+ QTemporaryFile file(writePrefix + QLatin1String("tempXXXXXX"));
QVERIFY2(file.open(), qPrintable(file.errorString()));
QImageWriter writer(&file, "PNG");
QVERIFY(writer.write(image));
@@ -518,7 +518,7 @@ void tst_QImageWriter::saveToTemporaryFile()
}
{
// 4) Via QImage's API, with a named temp file
- QTemporaryFile file("tempXXXXXX");
+ QTemporaryFile file(writePrefix + QLatin1String("tempXXXXXX"));
QVERIFY2(file.open(), qPrintable(file.errorString()));
QVERIFY(image.save(&file, "PNG"));
file.reset();
diff --git a/tests/auto/gui/image/qmovie/qmovie.pro b/tests/auto/gui/image/qmovie/qmovie.pro
index 6a7e23be99..1de428a685 100644
--- a/tests/auto/gui/image/qmovie/qmovie.pro
+++ b/tests/auto/gui/image/qmovie/qmovie.pro
@@ -1,6 +1,7 @@
CONFIG += testcase
TARGET = tst_qmovie
QT += testlib
+QT_FOR_CONFIG += gui-private
qtHaveModule(widgets): QT += widgets
SOURCES += tst_qmovie.cpp
MOC_DIR=tmp
diff --git a/tests/auto/gui/text/qcssparser/qcssparser.pro b/tests/auto/gui/text/qcssparser/qcssparser.pro
index e2bb3eeea8..776b4b3de2 100644
--- a/tests/auto/gui/text/qcssparser/qcssparser.pro
+++ b/tests/auto/gui/text/qcssparser/qcssparser.pro
@@ -3,6 +3,8 @@ TARGET = tst_qcssparser
SOURCES += tst_qcssparser.cpp
QT += xml gui-private testlib
+TESTDATA += testdata
+
requires(qtConfig(private_tests))
DEFINES += SRCDIR=\\\"$$PWD\\\"
diff --git a/tests/auto/gui/text/qcssparser/tst_qcssparser.cpp b/tests/auto/gui/text/qcssparser/tst_qcssparser.cpp
index 2301655909..45cfd6f43a 100644
--- a/tests/auto/gui/text/qcssparser/tst_qcssparser.cpp
+++ b/tests/auto/gui/text/qcssparser/tst_qcssparser.cpp
@@ -85,7 +85,7 @@ void tst_QCssParser::scanner_data()
QTest::addColumn<QString>("input");
QTest::addColumn<QString>("output");
-#if defined(Q_OS_ANDROID)
+#if defined(Q_OS_ANDROID) || defined(Q_OS_WINRT)
QDir d(":/");
#elif !defined(Q_OS_IRIX)
QDir d(SRCDIR);
diff --git a/tests/auto/gui/text/qfontdatabase/qfontdatabase.pro b/tests/auto/gui/text/qfontdatabase/qfontdatabase.pro
index 0aff8a3ac8..8a08cdc182 100644
--- a/tests/auto/gui/text/qfontdatabase/qfontdatabase.pro
+++ b/tests/auto/gui/text/qfontdatabase/qfontdatabase.pro
@@ -2,6 +2,7 @@ CONFIG += testcase
TARGET = tst_qfontdatabase
SOURCES += tst_qfontdatabase.cpp
QT += testlib core-private gui-private
+TESTDATA += LED_REAL.TTF
android {
RESOURCES += testdata.qrc
diff --git a/tests/auto/gui/text/qzip/qzip.pro b/tests/auto/gui/text/qzip/qzip.pro
index eb3de04da6..ee92855093 100644
--- a/tests/auto/gui/text/qzip/qzip.pro
+++ b/tests/auto/gui/text/qzip/qzip.pro
@@ -2,6 +2,7 @@ CONFIG += testcase
TARGET = tst_qzip
QT += gui-private testlib
SOURCES += tst_qzip.cpp
+TESTDATA += testdata
android {
RESOURCES += \
diff --git a/tests/auto/network/access/qnetworkreply/test/test.pro b/tests/auto/network/access/qnetworkreply/test/test.pro
index 47e7f5ed15..45a5734305 100644
--- a/tests/auto/network/access/qnetworkreply/test/test.pro
+++ b/tests/auto/network/access/qnetworkreply/test/test.pro
@@ -5,6 +5,7 @@ SOURCES += ../tst_qnetworkreply.cpp
TARGET = ../tst_qnetworkreply
QT = core-private network-private testlib
+QT_FOR_CONFIG += gui-private
RESOURCES += ../qnetworkreply.qrc
TESTDATA += ../empty ../rfc3252.txt ../resource ../bigfile ../*.jpg ../certs \
diff --git a/tests/auto/network/socket/socket.pro b/tests/auto/network/socket/socket.pro
index 307f7e92de..06fe356a5a 100644
--- a/tests/auto/network/socket/socket.pro
+++ b/tests/auto/network/socket/socket.pro
@@ -1,4 +1,6 @@
TEMPLATE=subdirs
+QT_FOR_CONFIG += network
+
SUBDIRS=\
qhttpsocketengine \
qudpsocket \
diff --git a/tests/auto/network/ssl/ssl.pro b/tests/auto/network/ssl/ssl.pro
index 65e35ea4c0..ec74748f5b 100644
--- a/tests/auto/network/ssl/ssl.pro
+++ b/tests/auto/network/ssl/ssl.pro
@@ -1,4 +1,6 @@
TEMPLATE=subdirs
+QT_FOR_CONFIG += network
+
SUBDIRS=\
qsslcertificate \
qsslcipher \
diff --git a/tests/auto/opengl/qgl/BLACKLIST b/tests/auto/opengl/qgl/BLACKLIST
index a7aaa04900..a83d1272a0 100644
--- a/tests/auto/opengl/qgl/BLACKLIST
+++ b/tests/auto/opengl/qgl/BLACKLIST
@@ -1,17 +1,25 @@
[glWidgetRendering]
windows
+winrt
[glFBORendering]
windows
+winrt
[multipleFBOInterleavedRendering]
windows
+winrt
[glPBufferRendering]
windows
+winrt
[replaceClipping]
windows
+winrt
[clipTest]
windows
+winrt
opensuse-13.1
[graphicsViewClipping]
windows
+winrt
[glFBOUseInGLWidget]
windows
+winrt
diff --git a/tests/auto/other/compiler/tst_compiler.cpp b/tests/auto/other/compiler/tst_compiler.cpp
index 55fab00156..121d731757 100644
--- a/tests/auto/other/compiler/tst_compiler.cpp
+++ b/tests/auto/other/compiler/tst_compiler.cpp
@@ -870,11 +870,14 @@ void tst_Compiler::cxx11_default_members()
};
class DefaultMembersChild: public DefaultMembers
{
+ DefaultMembersChild(const DefaultMembersChild &) : DefaultMembers() {}
public:
DefaultMembersChild():DefaultMembers() {};
+ DefaultMembersChild(DefaultMembersChild &&) = default;
};
DefaultMembersChild dm;
- Q_UNUSED(dm);
+ DefaultMembersChild dm2 = std::move(dm);
+ Q_UNUSED(dm2);
#endif
}
diff --git a/tests/auto/other/other.pro b/tests/auto/other/other.pro
index a7297afa2b..a12f08488d 100644
--- a/tests/auto/other/other.pro
+++ b/tests/auto/other/other.pro
@@ -1,4 +1,6 @@
TEMPLATE=subdirs
+QT_FOR_CONFIG += gui-private
+
SUBDIRS=\
compiler \
gestures \
diff --git a/tests/auto/testlib/selftests/generate_expected_output.py b/tests/auto/testlib/selftests/generate_expected_output.py
index 66a75a304f..202c4cc426 100755
--- a/tests/auto/testlib/selftests/generate_expected_output.py
+++ b/tests/auto/testlib/selftests/generate_expected_output.py
@@ -27,89 +27,184 @@
##
#############################################################################
-#regenerate all test's output
+# Regenerate all tests' output.
+#
+# Usage: cd to the build directory corresponding to this script's
+# location; invoke this script; optionally pass the names of sub-dirs
+# to limit which tests to regenerate expected_* files for.
import os
-import sys
import subprocess
-import re
-
-formats = ['xml', 'txt', 'xunitxml', 'lightxml', 'teamcity']
-
-qtver = subprocess.check_output(['qmake', '-query', 'QT_VERSION']).strip().decode('utf-8')
-rootPath = os.getcwd()
-
-isWindows = sys.platform == 'win32'
-
-replacements = [
- (qtver, r'@INSERT_QT_VERSION_HERE@'),
- (r'Config: Using QtTest library.*', r'Config: Using QtTest library'), # Build string in text logs
- (rootPath.encode('unicode-escape').decode('utf-8'), r''),
- (r'( *)<Duration msecs="[\d\.]+"/>', r'\1<Duration msecs="0"/>'),
- (r'( *)<QtBuild>[^<]+</QtBuild>', r'\1<QtBuild/>'), # Build element in xml, lightxml
- (r'<property value="[^"]+" name="QtBuild"/>', r'<property value="" name="QtBuild"/>') # Build in xunitxml
-]
-
-extraArgs = {
- "commandlinedata": "fiveTablePasses fiveTablePasses:fiveTablePasses_data1 -v2",
- "benchlibcallgrind": "-callgrind",
- "benchlibeventcounter": "-eventcounter",
- "benchliboptions": "-eventcounter",
- "benchlibtickcounter": "-tickcounter",
- "badxml": "-eventcounter",
- "benchlibcounting": "-eventcounter",
- "printdatatags": "-datatags",
- "printdatatagswithglobaltags": "-datatags",
- "silent": "-silent",
- "verbose1": "-v1",
- "verbose2": "-v2",
-}
-
-# Replace all occurrences of searchExp in one file
-def replaceInFile(file):
- import sys
- import fileinput
- for line in fileinput.input(file, inplace=1):
- for searchExp, replaceExp in replacements:
- line = re.sub(searchExp, replaceExp, line)
- sys.stdout.write(line)
-
-def subdirs():
- result = []
- for path in os.listdir('.'):
- if os.path.isdir('./' + path):
- result.append(path)
- return result
-
-def getTestForPath(path):
- if isWindows:
- testpath = path + '\\' + path + '.exe'
- else:
- testpath = path + '/' + path
- return testpath
-
-def generateTestData(testname):
- print(" running " + testname)
+
+class Fail (Exception): pass
+
+class Cleaner (object):
+ """Tool to clean up test output to make diff-ing runs useful.
+
+ We care about whether tests pass or fail - if that changes,
+ something that matters has happened - and we care about some
+ changes to what they say when they do fail; but we don't care
+ exactly what line of what file the failing line of code now
+ occupies, nor do we care how many milliseconds each test took to
+ run; and changes to the Qt version number mean nothing to us.
+
+ Create one singleton instance; it'll do mildly expensive things
+ once and you can use its .clean() method to tidy up your test
+ output."""
+
+ def __init__(self, here, command):
+ """Set up the details we need for later cleaning.
+
+ Takes two parameters: here is $PWD and command is how this
+ script was invoked, from which we'll work out where it is; in
+ a shadow build, the former is the build tree's location
+ corresponding to this last. Checks $PWD does look as expected
+ in a build tree - raising Fail() if not - then invokes qmake
+ to discover Qt version (saved as .version for the benefit of
+ clients) and prepares the sequence of (regex, replace) pairs
+ that .clean() needs to do its job."""
+ self.version, self.__replace = self.__getPatterns(here, command)
+
+ import re
+ @staticmethod
+ def __getPatterns(here, command,
+ patterns = (
+ # Timings:
+ (r'( *<Duration msecs=)"[\d\.]+"/>', r'\1"0"/>'), # xml, lightxml
+ (r'(Totals:.*,) *[0-9.]+ms', r'\1 0ms'), # txt
+ # Benchmarks:
+ (r'[0-9,.]+( (?:CPU ticks|msecs) per iteration \(total:) [0-9,.]+ ', r'0\1 0, '), # txt
+ (r'(<BenchmarkResult metric="(?:CPUTicks|WalltimeMilliseconds)".*\bvalue=)"[^"]+"', r'\1"0"'), # xml, lightxml
+ # Build details:
+ (r'(Config: Using QtTest library).*', r'\1'), # txt
+ (r'( *<QtBuild)>[^<]+</QtBuild>', r'\1/>'), # xml, lightxml
+ (r'(<property value=")[^"]+(" name="QtBuild"/>)', r'\1\2'), # xunitxml
+ # Line numbers in source files:
+ (r'(Loc: \[[^[\]()]+)\(\d+\)', r'\1(0)'), # txt
+ (r'(\[Loc: [^[\]()]+)\(\d+\)', r'\1(0)'), # teamcity
+ (r'(<Incident.*\bfile=.*\bline=)"\d+"', r'\1"0"'), # lightxml, xml
+ ),
+ precook = re.compile):
+ """Private implementation details of __init__()."""
+
+ qmake = ('..',) * 4 + ('bin', 'qmake')
+ qmake = os.path.join(*qmake)
+
+ if os.path.sep in command:
+ scriptPath = os.path.abspath(command)
+ elif os.path.exists(command):
+ # e.g. if you typed "python3 generate_expected_output.py"
+ scriptPath = os.path.join(here, command)
+ else:
+ # From py 3.2: could use os.get_exec_path() here.
+ for d in os.environ.get('PATH', '').split(os.pathsep):
+ scriptPath = os.path.join(d, command)
+ if os.path.isfile(scriptPath):
+ break
+ else: # didn't break
+ raise Fail('Unable to find', command, 'in $PATH')
+
+ # Are we being run from the right place ?
+ myNames = scriptPath.split(os.path.sep)
+ if not (here.split(os.path.sep)[-5:] == myNames[-6:-1]
+ and os.path.isfile(qmake)):
+ raise Fail('Run', myNames[-1], 'in its directory of a completed build')
+
+ try:
+ qtver = subprocess.check_output([qmake, '-query', 'QT_VERSION'])
+ except OSError as what:
+ raise Fail(what.strerror)
+ qtver = qtver.strip().decode('utf-8')
+
+ scriptPath = os.path.dirname(scriptPath) # ditch leaf file-name
+ sentinel = os.path.sep + 'qtbase' + os.path.sep # '/qtbase/'
+ # Identify the path prefix of our qtbase ancestor directory
+ # (source, build and $PWD, when different); trim such prefixes
+ # off all paths we see.
+ roots = tuple(r[:r.find(sentinel) + 1].encode('unicode-escape').decode('utf-8')
+ for r in set((here, scriptPath, os.environ.get('PWD', '')))
+ if sentinel in r)
+ patterns += tuple((root, r'') for root in roots) + (
+ (r'\.'.join(qtver.split('.')), r'@INSERT_QT_VERSION_HERE@'),)
+ if any('-' in r for r in roots):
+ # Our xml formats replace hyphens with a character entity:
+ patterns += tuple((root.replace('-', '&#x0*2D;'), r'')
+ for root in roots if '-' in root)
+
+ return qtver, tuple((precook(p), r) for p, r in patterns)
+ del re
+
+ def clean(self, data):
+ """Remove volatile details from test output.
+
+ Takes the full test output as a single (possibly huge)
+ multi-line string; iterates over cleaned lines of output."""
+ for line in data.split('\n'):
+ # Replace all occurrences of each regex:
+ for searchRe, replaceExp in self.__replace:
+ line = searchRe.sub(replaceExp, line)
+ yield line
+
+def generateTestData(testname, clean,
+ formats = ('xml', 'txt', 'xunitxml', 'lightxml', 'teamcity'),
+ extraArgs = {
+ "commandlinedata": "fiveTablePasses fiveTablePasses:fiveTablePasses_data1 -v2",
+ "benchlibcallgrind": "-callgrind",
+ "benchlibeventcounter": "-eventcounter",
+ "benchliboptions": "-eventcounter",
+ "benchlibtickcounter": "-tickcounter",
+ "badxml": "-eventcounter",
+ "benchlibcounting": "-eventcounter",
+ "printdatatags": "-datatags",
+ "printdatatagswithglobaltags": "-datatags",
+ "silent": "-silent",
+ "verbose1": "-v1",
+ "verbose2": "-v2",
+ }):
+ """Run one test and save its cleaned results.
+
+ Required arguments are the name of the test directory (the binary
+ it contains is expected to have the same name) and a function
+ that'll clean a test-run's output; see Cleaner.clean().
+ """
+ # MS-Win: shall need to add .exe to this
+ path = os.path.join(testname, testname)
+ if not os.path.isfile(path):
+ print("Warning: directory", testname, "contains no test executable")
+ return
+
+ print(" running", testname)
for format in formats:
- cmd = [getTestForPath(testname) + ' -' + format + ' ' + extraArgs.get(testname, '')]
- result = 'expected_' + testname + '.' + format
- data = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True).communicate()[0]
- out = open(result, 'wb')
- out.write(data)
- out.close()
- replaceInFile(result)
-
-if isWindows:
- print("This script does not work on Windows.")
- exit()
-
-tests = sys.argv[1:]
-os.environ['LC_ALL'] = 'C'
-if len(tests) == 0:
- tests = subdirs()
-print("Generating " + str(len(tests)) + " test results for: " + qtver + " in: " + rootPath)
-for path in tests:
- if os.path.isfile(getTestForPath(path)):
- generateTestData(path)
- else:
- print("Warning: directory " + path + " contains no test executable")
+ cmd = [path, '-' + format]
+ if testname in extraArgs:
+ cmd += extraArgs[testname].split()
+
+ data = subprocess.Popen(cmd, stdout=subprocess.PIPE,
+ universal_newlines=True).communicate()[0]
+ with open('expected_' + testname + '.' + format, 'w') as out:
+ out.write('\n'.join(clean(data))) # write() appends a newline, too
+
+def main(name, *args):
+ """Minimal argument parsing and driver for the real work"""
+ os.environ['LC_ALL'] = 'C'
+ herePath = os.getcwd()
+ cleaner = Cleaner(herePath, name)
+
+ tests = args if args else [d for d in os.listdir('.') if os.path.isdir(d)]
+ print("Generating", len(tests), "test results for", cleaner.version, "in:", herePath)
+ for path in tests:
+ generateTestData(path, cleaner.clean)
+
+if __name__ == '__main__':
+ # Executed when script is run, not when imported (e.g. to debug)
+ import sys
+
+ if sys.platform.startswith('win'):
+ print("This script does not work on Windows.")
+ exit()
+
+ try:
+ main(*sys.argv)
+ except Fail as what:
+ sys.stderr.write('Failed: ' + ' '.join(what.args) + '\n')
+ exit(1)
diff --git a/tests/auto/tools/moc/moc.pro b/tests/auto/tools/moc/moc.pro
index 688799048f..d2b750bdc5 100644
--- a/tests/auto/tools/moc/moc.pro
+++ b/tests/auto/tools/moc/moc.pro
@@ -28,7 +28,8 @@ HEADERS += using-namespaces.h no-keywords.h task87883.h c-comments.h backslash-n
qtbug-35657-gadget.h \
non-gadget-parent-class.h grand-parent-gadget-class.h \
related-metaobjects-in-gadget.h \
- related-metaobjects-name-conflict.h
+ related-metaobjects-name-conflict.h \
+ namespace.h
if(*-g++*|*-icc*|*-clang*|*-llvm):!irix-*:!win32-*: HEADERS += os9-newlines.h win-newlines.h
diff --git a/tests/auto/tools/moc/namespace.h b/tests/auto/tools/moc/namespace.h
new file mode 100644
index 0000000000..2bb1d8e958
--- /dev/null
+++ b/tests/auto/tools/moc/namespace.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#include <QObject>
+
+namespace FooNamespace {
+ Q_NAMESPACE
+}
diff --git a/tests/auto/tools/moc/tst_moc.cpp b/tests/auto/tools/moc/tst_moc.cpp
index 714ae19a10..a3648c95b6 100644
--- a/tests/auto/tools/moc/tst_moc.cpp
+++ b/tests/auto/tools/moc/tst_moc.cpp
@@ -69,6 +69,7 @@
#include "non-gadget-parent-class.h"
#include "grand-parent-gadget-class.h"
+#include "namespace.h"
#ifdef Q_MOC_RUN
// check that moc can parse these constructs, they are being used in Windows winsock2.h header
@@ -2082,6 +2083,34 @@ void tst_Moc::warnings_data()
<< QString()
<< QString("standard input:1: Error: Namespace declaration lacks Q_NAMESPACE macro.");
+ QTest::newRow("Wrong Q_ENUM context.")
+ << QByteArray("namespace X {\nQ_NAMESPACE\n\nenum class MyEnum {Key1 = 1}\nQ_ENUM(MyEnum)\n}\n")
+ << QStringList()
+ << 1
+ << QString()
+ << QString("standard input:5: Error: Q_ENUM can't be used in a Q_NAMESPACE, use Q_ENUM_NS instead");
+
+ QTest::newRow("Wrong Q_FLAG context.")
+ << QByteArray("namespace X {\nQ_NAMESPACE\n\nenum class MyEnum {Key1 = 1}\nQ_FLAG(MyEnum)\n}\n")
+ << QStringList()
+ << 1
+ << QString()
+ << QString("standard input:5: Error: Q_FLAG can't be used in a Q_NAMESPACE, use Q_FLAG_NS instead");
+
+ QTest::newRow("Wrong Q_ENUM_NS context.")
+ << QByteArray("class X {\nQ_GADGET\n\nenum class MyEnum {Key1 = 1}\nQ_ENUM_NS(MyEnum)\n};\n")
+ << QStringList()
+ << 1
+ << QString()
+ << QString("standard input:5: Error: Q_ENUM_NS can't be used in a Q_OBJECT/Q_GADGET, use Q_ENUM instead");
+
+ QTest::newRow("Wrong Q_FLAG_NS context.")
+ << QByteArray("class X {\nQ_GADGET\n\nenum class MyEnum {Key1 = 1}\nQ_FLAG_NS(MyEnum)\n};\n")
+ << QStringList()
+ << 1
+ << QString()
+ << QString("standard input:5: Error: Q_FLAG_NS can't be used in a Q_OBJECT/Q_GADGET, use Q_FLAG instead");
+
QTest::newRow("Invalid macro definition")
<< QByteArray("#define Foo(a, b, c) a b c #a #b #c a##b##c #d\n Foo(45, 42, 39);")
<< QStringList()
diff --git a/tests/auto/tools/uic/baseline/Dialog_with_Buttons_Bottom.ui.h b/tests/auto/tools/uic/baseline/Dialog_with_Buttons_Bottom.ui.h
index 37f02008f1..f63995af24 100644
--- a/tests/auto/tools/uic/baseline/Dialog_with_Buttons_Bottom.ui.h
+++ b/tests/auto/tools/uic/baseline/Dialog_with_Buttons_Bottom.ui.h
@@ -44,7 +44,7 @@ public:
void retranslateUi(QDialog *Dialog)
{
- Dialog->setWindowTitle(QApplication::translate("Dialog", "Dialog", 0));
+ Dialog->setWindowTitle(QApplication::translate("Dialog", "Dialog", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/Dialog_with_Buttons_Right.ui.h b/tests/auto/tools/uic/baseline/Dialog_with_Buttons_Right.ui.h
index 17647ba5f5..5cee346d35 100644
--- a/tests/auto/tools/uic/baseline/Dialog_with_Buttons_Right.ui.h
+++ b/tests/auto/tools/uic/baseline/Dialog_with_Buttons_Right.ui.h
@@ -44,7 +44,7 @@ public:
void retranslateUi(QDialog *Dialog)
{
- Dialog->setWindowTitle(QApplication::translate("Dialog", "Dialog", 0));
+ Dialog->setWindowTitle(QApplication::translate("Dialog", "Dialog", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/Dialog_without_Buttons.ui.h b/tests/auto/tools/uic/baseline/Dialog_without_Buttons.ui.h
index 08b751a34c..05330c9a2a 100644
--- a/tests/auto/tools/uic/baseline/Dialog_without_Buttons.ui.h
+++ b/tests/auto/tools/uic/baseline/Dialog_without_Buttons.ui.h
@@ -35,7 +35,7 @@ public:
void retranslateUi(QDialog *Dialog)
{
- Dialog->setWindowTitle(QApplication::translate("Dialog", "Dialog", 0));
+ Dialog->setWindowTitle(QApplication::translate("Dialog", "Dialog", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/Main_Window.ui.h b/tests/auto/tools/uic/baseline/Main_Window.ui.h
index 43459280a4..da2f4c8e07 100644
--- a/tests/auto/tools/uic/baseline/Main_Window.ui.h
+++ b/tests/auto/tools/uic/baseline/Main_Window.ui.h
@@ -50,7 +50,7 @@ public:
void retranslateUi(QMainWindow *MainWindow)
{
- MainWindow->setWindowTitle(QApplication::translate("MainWindow", "MainWindow", 0));
+ MainWindow->setWindowTitle(QApplication::translate("MainWindow", "MainWindow", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/Widget.ui.h b/tests/auto/tools/uic/baseline/Widget.ui.h
index b5bb974423..b812386645 100644
--- a/tests/auto/tools/uic/baseline/Widget.ui.h
+++ b/tests/auto/tools/uic/baseline/Widget.ui.h
@@ -60,13 +60,13 @@ public:
void retranslateUi(QWidget *Form)
{
- Form->setWindowTitle(QApplication::translate("Form", "Form", 0));
+ Form->setWindowTitle(QApplication::translate("Form", "Form", Q_NULLPTR));
Alabel->setText(QApplication::translate("Form", "A label.\n"
"One new line.\n"
"Another new line.\n"
-"Last line.", 0));
- groupBox->setTitle(QApplication::translate("Form", "A Group Box", 0));
- pushButton->setText(QApplication::translate("Form", "PushButton", 0));
+"Last line.", Q_NULLPTR));
+ groupBox->setTitle(QApplication::translate("Form", "A Group Box", Q_NULLPTR));
+ pushButton->setText(QApplication::translate("Form", "PushButton", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/addlinkdialog.ui.h b/tests/auto/tools/uic/baseline/addlinkdialog.ui.h
index 5a26984c70..9430d47c00 100644
--- a/tests/auto/tools/uic/baseline/addlinkdialog.ui.h
+++ b/tests/auto/tools/uic/baseline/addlinkdialog.ui.h
@@ -100,9 +100,9 @@ public:
void retranslateUi(QDialog *AddLinkDialog)
{
- AddLinkDialog->setWindowTitle(QApplication::translate("AddLinkDialog", "Insert Link", 0));
- label->setText(QApplication::translate("AddLinkDialog", "Title:", 0));
- label_2->setText(QApplication::translate("AddLinkDialog", "URL:", 0));
+ AddLinkDialog->setWindowTitle(QApplication::translate("AddLinkDialog", "Insert Link", Q_NULLPTR));
+ label->setText(QApplication::translate("AddLinkDialog", "Title:", Q_NULLPTR));
+ label_2->setText(QApplication::translate("AddLinkDialog", "URL:", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/addtorrentform.ui.h b/tests/auto/tools/uic/baseline/addtorrentform.ui.h
index 5aca0c4e47..9d40907ad2 100644
--- a/tests/auto/tools/uic/baseline/addtorrentform.ui.h
+++ b/tests/auto/tools/uic/baseline/addtorrentform.ui.h
@@ -212,23 +212,23 @@ public:
void retranslateUi(QDialog *AddTorrentFile)
{
- AddTorrentFile->setWindowTitle(QApplication::translate("AddTorrentFile", "Add a torrent", 0));
- groupBox->setTitle(QApplication::translate("AddTorrentFile", "Select a torrent source", 0));
- label_4->setText(QApplication::translate("AddTorrentFile", "Destination:", 0));
- label_2->setText(QApplication::translate("AddTorrentFile", "Tracker URL:", 0));
- browseTorrents->setText(QApplication::translate("AddTorrentFile", "Browse", 0));
- label_5->setText(QApplication::translate("AddTorrentFile", "File(s):", 0));
- label_3->setText(QApplication::translate("AddTorrentFile", "Size:", 0));
- label_6->setText(QApplication::translate("AddTorrentFile", "Creator:", 0));
- announceUrl->setText(QApplication::translate("AddTorrentFile", "<none>", 0));
- label->setText(QApplication::translate("AddTorrentFile", "Torrent file:", 0));
- browseDestination->setText(QApplication::translate("AddTorrentFile", "Browse", 0));
- label_7->setText(QApplication::translate("AddTorrentFile", "Comment:", 0));
- commentLabel->setText(QApplication::translate("AddTorrentFile", "<none>", 0));
- creatorLabel->setText(QApplication::translate("AddTorrentFile", "<none>", 0));
- sizeLabel->setText(QApplication::translate("AddTorrentFile", "0", 0));
- okButton->setText(QApplication::translate("AddTorrentFile", "&OK", 0));
- cancelButton->setText(QApplication::translate("AddTorrentFile", "&Cancel", 0));
+ AddTorrentFile->setWindowTitle(QApplication::translate("AddTorrentFile", "Add a torrent", Q_NULLPTR));
+ groupBox->setTitle(QApplication::translate("AddTorrentFile", "Select a torrent source", Q_NULLPTR));
+ label_4->setText(QApplication::translate("AddTorrentFile", "Destination:", Q_NULLPTR));
+ label_2->setText(QApplication::translate("AddTorrentFile", "Tracker URL:", Q_NULLPTR));
+ browseTorrents->setText(QApplication::translate("AddTorrentFile", "Browse", Q_NULLPTR));
+ label_5->setText(QApplication::translate("AddTorrentFile", "File(s):", Q_NULLPTR));
+ label_3->setText(QApplication::translate("AddTorrentFile", "Size:", Q_NULLPTR));
+ label_6->setText(QApplication::translate("AddTorrentFile", "Creator:", Q_NULLPTR));
+ announceUrl->setText(QApplication::translate("AddTorrentFile", "<none>", Q_NULLPTR));
+ label->setText(QApplication::translate("AddTorrentFile", "Torrent file:", Q_NULLPTR));
+ browseDestination->setText(QApplication::translate("AddTorrentFile", "Browse", Q_NULLPTR));
+ label_7->setText(QApplication::translate("AddTorrentFile", "Comment:", Q_NULLPTR));
+ commentLabel->setText(QApplication::translate("AddTorrentFile", "<none>", Q_NULLPTR));
+ creatorLabel->setText(QApplication::translate("AddTorrentFile", "<none>", Q_NULLPTR));
+ sizeLabel->setText(QApplication::translate("AddTorrentFile", "0", Q_NULLPTR));
+ okButton->setText(QApplication::translate("AddTorrentFile", "&OK", Q_NULLPTR));
+ cancelButton->setText(QApplication::translate("AddTorrentFile", "&Cancel", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/authenticationdialog.ui.h b/tests/auto/tools/uic/baseline/authenticationdialog.ui.h
index ba888c30d6..fbc379a1c1 100644
--- a/tests/auto/tools/uic/baseline/authenticationdialog.ui.h
+++ b/tests/auto/tools/uic/baseline/authenticationdialog.ui.h
@@ -106,12 +106,12 @@ public:
void retranslateUi(QDialog *Dialog)
{
- Dialog->setWindowTitle(QApplication::translate("Dialog", "Http authentication required", 0));
- label->setText(QApplication::translate("Dialog", "You need to supply a Username and a Password to access this site", 0));
- label_2->setText(QApplication::translate("Dialog", "Username:", 0));
- label_3->setText(QApplication::translate("Dialog", "Password:", 0));
- label_4->setText(QApplication::translate("Dialog", "Site:", 0));
- siteDescription->setText(QApplication::translate("Dialog", "%1 at %2", 0));
+ Dialog->setWindowTitle(QApplication::translate("Dialog", "Http authentication required", Q_NULLPTR));
+ label->setText(QApplication::translate("Dialog", "You need to supply a Username and a Password to access this site", Q_NULLPTR));
+ label_2->setText(QApplication::translate("Dialog", "Username:", Q_NULLPTR));
+ label_3->setText(QApplication::translate("Dialog", "Password:", Q_NULLPTR));
+ label_4->setText(QApplication::translate("Dialog", "Site:", Q_NULLPTR));
+ siteDescription->setText(QApplication::translate("Dialog", "%1 at %2", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/backside.ui.h b/tests/auto/tools/uic/baseline/backside.ui.h
index 9ac2d6a442..abbf331182 100644
--- a/tests/auto/tools/uic/baseline/backside.ui.h
+++ b/tests/auto/tools/uic/baseline/backside.ui.h
@@ -146,40 +146,40 @@ public:
void retranslateUi(QWidget *BackSide)
{
- BackSide->setWindowTitle(QApplication::translate("BackSide", "BackSide", 0));
- groupBox->setTitle(QApplication::translate("BackSide", "Settings", 0));
- label->setText(QApplication::translate("BackSide", "Title:", 0));
- hostName->setText(QApplication::translate("BackSide", "Pad Navigator Example", 0));
- label_2->setText(QApplication::translate("BackSide", "Modified:", 0));
- label_3->setText(QApplication::translate("BackSide", "Extent", 0));
- groupBox_2->setTitle(QApplication::translate("BackSide", "Other input", 0));
+ BackSide->setWindowTitle(QApplication::translate("BackSide", "BackSide", Q_NULLPTR));
+ groupBox->setTitle(QApplication::translate("BackSide", "Settings", Q_NULLPTR));
+ label->setText(QApplication::translate("BackSide", "Title:", Q_NULLPTR));
+ hostName->setText(QApplication::translate("BackSide", "Pad Navigator Example", Q_NULLPTR));
+ label_2->setText(QApplication::translate("BackSide", "Modified:", Q_NULLPTR));
+ label_3->setText(QApplication::translate("BackSide", "Extent", Q_NULLPTR));
+ groupBox_2->setTitle(QApplication::translate("BackSide", "Other input", Q_NULLPTR));
QTreeWidgetItem *___qtreewidgetitem = treeWidget->headerItem();
- ___qtreewidgetitem->setText(0, QApplication::translate("BackSide", "Widgets On Graphics View", 0));
+ ___qtreewidgetitem->setText(0, QApplication::translate("BackSide", "Widgets On Graphics View", Q_NULLPTR));
const bool __sortingEnabled = treeWidget->isSortingEnabled();
treeWidget->setSortingEnabled(false);
QTreeWidgetItem *___qtreewidgetitem1 = treeWidget->topLevelItem(0);
- ___qtreewidgetitem1->setText(0, QApplication::translate("BackSide", "QGraphicsProxyWidget", 0));
+ ___qtreewidgetitem1->setText(0, QApplication::translate("BackSide", "QGraphicsProxyWidget", Q_NULLPTR));
QTreeWidgetItem *___qtreewidgetitem2 = ___qtreewidgetitem1->child(0);
- ___qtreewidgetitem2->setText(0, QApplication::translate("BackSide", "QGraphicsWidget", 0));
+ ___qtreewidgetitem2->setText(0, QApplication::translate("BackSide", "QGraphicsWidget", Q_NULLPTR));
QTreeWidgetItem *___qtreewidgetitem3 = ___qtreewidgetitem2->child(0);
- ___qtreewidgetitem3->setText(0, QApplication::translate("BackSide", "QObject", 0));
+ ___qtreewidgetitem3->setText(0, QApplication::translate("BackSide", "QObject", Q_NULLPTR));
QTreeWidgetItem *___qtreewidgetitem4 = ___qtreewidgetitem2->child(1);
- ___qtreewidgetitem4->setText(0, QApplication::translate("BackSide", "QGraphicsItem", 0));
+ ___qtreewidgetitem4->setText(0, QApplication::translate("BackSide", "QGraphicsItem", Q_NULLPTR));
QTreeWidgetItem *___qtreewidgetitem5 = ___qtreewidgetitem2->child(2);
- ___qtreewidgetitem5->setText(0, QApplication::translate("BackSide", "QGraphicsLayoutItem", 0));
+ ___qtreewidgetitem5->setText(0, QApplication::translate("BackSide", "QGraphicsLayoutItem", Q_NULLPTR));
QTreeWidgetItem *___qtreewidgetitem6 = treeWidget->topLevelItem(1);
- ___qtreewidgetitem6->setText(0, QApplication::translate("BackSide", "QGraphicsGridLayout", 0));
+ ___qtreewidgetitem6->setText(0, QApplication::translate("BackSide", "QGraphicsGridLayout", Q_NULLPTR));
QTreeWidgetItem *___qtreewidgetitem7 = ___qtreewidgetitem6->child(0);
- ___qtreewidgetitem7->setText(0, QApplication::translate("BackSide", "QGraphicsLayout", 0));
+ ___qtreewidgetitem7->setText(0, QApplication::translate("BackSide", "QGraphicsLayout", Q_NULLPTR));
QTreeWidgetItem *___qtreewidgetitem8 = ___qtreewidgetitem7->child(0);
- ___qtreewidgetitem8->setText(0, QApplication::translate("BackSide", "QGraphicsLayoutItem", 0));
+ ___qtreewidgetitem8->setText(0, QApplication::translate("BackSide", "QGraphicsLayoutItem", Q_NULLPTR));
QTreeWidgetItem *___qtreewidgetitem9 = treeWidget->topLevelItem(2);
- ___qtreewidgetitem9->setText(0, QApplication::translate("BackSide", "QGraphicsLinearLayout", 0));
+ ___qtreewidgetitem9->setText(0, QApplication::translate("BackSide", "QGraphicsLinearLayout", Q_NULLPTR));
QTreeWidgetItem *___qtreewidgetitem10 = ___qtreewidgetitem9->child(0);
- ___qtreewidgetitem10->setText(0, QApplication::translate("BackSide", "QGraphicsLayout", 0));
+ ___qtreewidgetitem10->setText(0, QApplication::translate("BackSide", "QGraphicsLayout", Q_NULLPTR));
QTreeWidgetItem *___qtreewidgetitem11 = ___qtreewidgetitem10->child(0);
- ___qtreewidgetitem11->setText(0, QApplication::translate("BackSide", "QGraphicsLayoutItem", 0));
+ ___qtreewidgetitem11->setText(0, QApplication::translate("BackSide", "QGraphicsLayoutItem", Q_NULLPTR));
treeWidget->setSortingEnabled(__sortingEnabled);
} // retranslateUi
diff --git a/tests/auto/tools/uic/baseline/batchtranslation.ui.h b/tests/auto/tools/uic/baseline/batchtranslation.ui.h
index 9d35f37b2a..87c140deff 100644
--- a/tests/auto/tools/uic/baseline/batchtranslation.ui.h
+++ b/tests/auto/tools/uic/baseline/batchtranslation.ui.h
@@ -216,16 +216,16 @@ public:
void retranslateUi(QDialog *databaseTranslationDialog)
{
- databaseTranslationDialog->setWindowTitle(QApplication::translate("databaseTranslationDialog", "Qt Linguist - Batch Translation", 0));
- groupBox->setTitle(QApplication::translate("databaseTranslationDialog", "Options", 0));
- ckOnlyUntranslated->setText(QApplication::translate("databaseTranslationDialog", "Only translate entries with no translation", 0));
- ckMarkFinished->setText(QApplication::translate("databaseTranslationDialog", "Set translated entries to finished", 0));
- groupBox_2->setTitle(QApplication::translate("databaseTranslationDialog", "Phrase book preference", 0));
- moveUpButton->setText(QApplication::translate("databaseTranslationDialog", "Move up", 0));
- moveDownButton->setText(QApplication::translate("databaseTranslationDialog", "Move down", 0));
- label->setText(QApplication::translate("databaseTranslationDialog", "The batch translator will search through the selected phrasebooks in the order given above.", 0));
- runButton->setText(QApplication::translate("databaseTranslationDialog", "&Run", 0));
- cancelButton->setText(QApplication::translate("databaseTranslationDialog", "&Cancel", 0));
+ databaseTranslationDialog->setWindowTitle(QApplication::translate("databaseTranslationDialog", "Qt Linguist - Batch Translation", Q_NULLPTR));
+ groupBox->setTitle(QApplication::translate("databaseTranslationDialog", "Options", Q_NULLPTR));
+ ckOnlyUntranslated->setText(QApplication::translate("databaseTranslationDialog", "Only translate entries with no translation", Q_NULLPTR));
+ ckMarkFinished->setText(QApplication::translate("databaseTranslationDialog", "Set translated entries to finished", Q_NULLPTR));
+ groupBox_2->setTitle(QApplication::translate("databaseTranslationDialog", "Phrase book preference", Q_NULLPTR));
+ moveUpButton->setText(QApplication::translate("databaseTranslationDialog", "Move up", Q_NULLPTR));
+ moveDownButton->setText(QApplication::translate("databaseTranslationDialog", "Move down", Q_NULLPTR));
+ label->setText(QApplication::translate("databaseTranslationDialog", "The batch translator will search through the selected phrasebooks in the order given above.", Q_NULLPTR));
+ runButton->setText(QApplication::translate("databaseTranslationDialog", "&Run", Q_NULLPTR));
+ cancelButton->setText(QApplication::translate("databaseTranslationDialog", "&Cancel", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/bookmarkdialog.ui.h b/tests/auto/tools/uic/baseline/bookmarkdialog.ui.h
index fa18ba5cda..6e62aeaec5 100644
--- a/tests/auto/tools/uic/baseline/bookmarkdialog.ui.h
+++ b/tests/auto/tools/uic/baseline/bookmarkdialog.ui.h
@@ -150,13 +150,13 @@ public:
void retranslateUi(QDialog *BookmarkDialog)
{
- BookmarkDialog->setWindowTitle(QApplication::translate("BookmarkDialog", "Add Bookmark", 0));
- label->setText(QApplication::translate("BookmarkDialog", "Bookmark:", 0));
- label_2->setText(QApplication::translate("BookmarkDialog", "Add in Folder:", 0));
- toolButton->setText(QApplication::translate("BookmarkDialog", "+", 0));
+ BookmarkDialog->setWindowTitle(QApplication::translate("BookmarkDialog", "Add Bookmark", Q_NULLPTR));
+ label->setText(QApplication::translate("BookmarkDialog", "Bookmark:", Q_NULLPTR));
+ label_2->setText(QApplication::translate("BookmarkDialog", "Add in Folder:", Q_NULLPTR));
+ toolButton->setText(QApplication::translate("BookmarkDialog", "+", Q_NULLPTR));
QTreeWidgetItem *___qtreewidgetitem = bookmarkWidget->headerItem();
- ___qtreewidgetitem->setText(0, QApplication::translate("BookmarkDialog", "1", 0));
- newFolderButton->setText(QApplication::translate("BookmarkDialog", "New Folder", 0));
+ ___qtreewidgetitem->setText(0, QApplication::translate("BookmarkDialog", "1", Q_NULLPTR));
+ newFolderButton->setText(QApplication::translate("BookmarkDialog", "New Folder", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/bookwindow.ui.h b/tests/auto/tools/uic/baseline/bookwindow.ui.h
index 1f498421c9..57ac4b3bdd 100644
--- a/tests/auto/tools/uic/baseline/bookwindow.ui.h
+++ b/tests/auto/tools/uic/baseline/bookwindow.ui.h
@@ -159,15 +159,15 @@ public:
void retranslateUi(QMainWindow *BookWindow)
{
- BookWindow->setWindowTitle(QApplication::translate("BookWindow", "Books", 0));
- groupBox->setTitle(QApplication::translate("BookWindow", "Books", 0));
- groupBox_2->setTitle(QApplication::translate("BookWindow", "Details", 0));
- label_5->setText(QApplication::translate("BookWindow", "<b>Title:</b>", 0));
- label_2_2_2_2->setText(QApplication::translate("BookWindow", "<b>Author: </b>", 0));
- label_3->setText(QApplication::translate("BookWindow", "<b>Genre:</b>", 0));
- label_4->setText(QApplication::translate("BookWindow", "<b>Year:</b>", 0));
+ BookWindow->setWindowTitle(QApplication::translate("BookWindow", "Books", Q_NULLPTR));
+ groupBox->setTitle(QApplication::translate("BookWindow", "Books", Q_NULLPTR));
+ groupBox_2->setTitle(QApplication::translate("BookWindow", "Details", Q_NULLPTR));
+ label_5->setText(QApplication::translate("BookWindow", "<b>Title:</b>", Q_NULLPTR));
+ label_2_2_2_2->setText(QApplication::translate("BookWindow", "<b>Author: </b>", Q_NULLPTR));
+ label_3->setText(QApplication::translate("BookWindow", "<b>Genre:</b>", Q_NULLPTR));
+ label_4->setText(QApplication::translate("BookWindow", "<b>Year:</b>", Q_NULLPTR));
yearEdit->setPrefix(QString());
- label->setText(QApplication::translate("BookWindow", "<b>Rating:</b>", 0));
+ label->setText(QApplication::translate("BookWindow", "<b>Rating:</b>", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/browserwidget.ui.h b/tests/auto/tools/uic/baseline/browserwidget.ui.h
index aa0e6786a0..876e99d504 100644
--- a/tests/auto/tools/uic/baseline/browserwidget.ui.h
+++ b/tests/auto/tools/uic/baseline/browserwidget.ui.h
@@ -156,18 +156,18 @@ public:
void retranslateUi(QWidget *Browser)
{
- Browser->setWindowTitle(QApplication::translate("Browser", "Qt SQL Browser", 0));
- insertRowAction->setText(QApplication::translate("Browser", "&Insert Row", 0));
+ Browser->setWindowTitle(QApplication::translate("Browser", "Qt SQL Browser", Q_NULLPTR));
+ insertRowAction->setText(QApplication::translate("Browser", "&Insert Row", Q_NULLPTR));
#ifndef QT_NO_STATUSTIP
- insertRowAction->setStatusTip(QApplication::translate("Browser", "Inserts a new Row", 0));
+ insertRowAction->setStatusTip(QApplication::translate("Browser", "Inserts a new Row", Q_NULLPTR));
#endif // QT_NO_STATUSTIP
- deleteRowAction->setText(QApplication::translate("Browser", "&Delete Row", 0));
+ deleteRowAction->setText(QApplication::translate("Browser", "&Delete Row", Q_NULLPTR));
#ifndef QT_NO_STATUSTIP
- deleteRowAction->setStatusTip(QApplication::translate("Browser", "Deletes the current Row", 0));
+ deleteRowAction->setStatusTip(QApplication::translate("Browser", "Deletes the current Row", Q_NULLPTR));
#endif // QT_NO_STATUSTIP
- groupBox->setTitle(QApplication::translate("Browser", "SQL Query", 0));
- clearButton->setText(QApplication::translate("Browser", "&Clear", 0));
- submitButton->setText(QApplication::translate("Browser", "&Submit", 0));
+ groupBox->setTitle(QApplication::translate("Browser", "SQL Query", Q_NULLPTR));
+ clearButton->setText(QApplication::translate("Browser", "&Clear", Q_NULLPTR));
+ submitButton->setText(QApplication::translate("Browser", "&Submit", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/bug18156QTreeWidget.ui.h b/tests/auto/tools/uic/baseline/bug18156QTreeWidget.ui.h
index 8bee2c3a02..d72ca81be6 100644
--- a/tests/auto/tools/uic/baseline/bug18156QTreeWidget.ui.h
+++ b/tests/auto/tools/uic/baseline/bug18156QTreeWidget.ui.h
@@ -59,9 +59,9 @@ public:
void retranslateUi(QDialog *Dialog)
{
- Dialog->setWindowTitle(QApplication::translate("Dialog", "Dialog", 0));
+ Dialog->setWindowTitle(QApplication::translate("Dialog", "Dialog", Q_NULLPTR));
QTreeWidgetItem *___qtreewidgetitem = treeWidget->headerItem();
- ___qtreewidgetitem->setText(1, QApplication::translate("Dialog", "4", 0));
+ ___qtreewidgetitem->setText(1, QApplication::translate("Dialog", "4", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/calculator.ui.h b/tests/auto/tools/uic/baseline/calculator.ui.h
index 7ac878e3fb..88644eaaaf 100644
--- a/tests/auto/tools/uic/baseline/calculator.ui.h
+++ b/tests/auto/tools/uic/baseline/calculator.ui.h
@@ -159,34 +159,34 @@ public:
void retranslateUi(QWidget *Calculator)
{
- Calculator->setWindowTitle(QApplication::translate("Calculator", "Calculator", 0));
- backspaceButton->setText(QApplication::translate("Calculator", "Backspace", 0));
- clearButton->setText(QApplication::translate("Calculator", "Clear", 0));
- clearAllButton->setText(QApplication::translate("Calculator", "Clear All", 0));
- clearMemoryButton->setText(QApplication::translate("Calculator", "MC", 0));
- readMemoryButton->setText(QApplication::translate("Calculator", "MR", 0));
- setMemoryButton->setText(QApplication::translate("Calculator", "MS", 0));
- addToMemoryButton->setText(QApplication::translate("Calculator", "M+", 0));
- sevenButton->setText(QApplication::translate("Calculator", "7", 0));
- eightButton->setText(QApplication::translate("Calculator", "8", 0));
- nineButton->setText(QApplication::translate("Calculator", "9", 0));
- fourButton->setText(QApplication::translate("Calculator", "4", 0));
- fiveButton->setText(QApplication::translate("Calculator", "5", 0));
- sixButton->setText(QApplication::translate("Calculator", "6", 0));
- oneButton->setText(QApplication::translate("Calculator", "1", 0));
- twoButton->setText(QApplication::translate("Calculator", "2", 0));
- threeButton->setText(QApplication::translate("Calculator", "3", 0));
- zeroButton->setText(QApplication::translate("Calculator", "0", 0));
- pointButton->setText(QApplication::translate("Calculator", ".", 0));
- changeSignButton->setText(QApplication::translate("Calculator", "+-", 0));
- plusButton->setText(QApplication::translate("Calculator", "+", 0));
- divisionButton->setText(QApplication::translate("Calculator", "/", 0));
- timesButton->setText(QApplication::translate("Calculator", "*", 0));
- minusButton->setText(QApplication::translate("Calculator", "-", 0));
- squareRootButton->setText(QApplication::translate("Calculator", "Sqrt", 0));
- powerButton->setText(QApplication::translate("Calculator", "x^2", 0));
- reciprocalButton->setText(QApplication::translate("Calculator", "1/x", 0));
- equalButton->setText(QApplication::translate("Calculator", "=", 0));
+ Calculator->setWindowTitle(QApplication::translate("Calculator", "Calculator", Q_NULLPTR));
+ backspaceButton->setText(QApplication::translate("Calculator", "Backspace", Q_NULLPTR));
+ clearButton->setText(QApplication::translate("Calculator", "Clear", Q_NULLPTR));
+ clearAllButton->setText(QApplication::translate("Calculator", "Clear All", Q_NULLPTR));
+ clearMemoryButton->setText(QApplication::translate("Calculator", "MC", Q_NULLPTR));
+ readMemoryButton->setText(QApplication::translate("Calculator", "MR", Q_NULLPTR));
+ setMemoryButton->setText(QApplication::translate("Calculator", "MS", Q_NULLPTR));
+ addToMemoryButton->setText(QApplication::translate("Calculator", "M+", Q_NULLPTR));
+ sevenButton->setText(QApplication::translate("Calculator", "7", Q_NULLPTR));
+ eightButton->setText(QApplication::translate("Calculator", "8", Q_NULLPTR));
+ nineButton->setText(QApplication::translate("Calculator", "9", Q_NULLPTR));
+ fourButton->setText(QApplication::translate("Calculator", "4", Q_NULLPTR));
+ fiveButton->setText(QApplication::translate("Calculator", "5", Q_NULLPTR));
+ sixButton->setText(QApplication::translate("Calculator", "6", Q_NULLPTR));
+ oneButton->setText(QApplication::translate("Calculator", "1", Q_NULLPTR));
+ twoButton->setText(QApplication::translate("Calculator", "2", Q_NULLPTR));
+ threeButton->setText(QApplication::translate("Calculator", "3", Q_NULLPTR));
+ zeroButton->setText(QApplication::translate("Calculator", "0", Q_NULLPTR));
+ pointButton->setText(QApplication::translate("Calculator", ".", Q_NULLPTR));
+ changeSignButton->setText(QApplication::translate("Calculator", "+-", Q_NULLPTR));
+ plusButton->setText(QApplication::translate("Calculator", "+", Q_NULLPTR));
+ divisionButton->setText(QApplication::translate("Calculator", "/", Q_NULLPTR));
+ timesButton->setText(QApplication::translate("Calculator", "*", Q_NULLPTR));
+ minusButton->setText(QApplication::translate("Calculator", "-", Q_NULLPTR));
+ squareRootButton->setText(QApplication::translate("Calculator", "Sqrt", Q_NULLPTR));
+ powerButton->setText(QApplication::translate("Calculator", "x^2", Q_NULLPTR));
+ reciprocalButton->setText(QApplication::translate("Calculator", "1/x", Q_NULLPTR));
+ equalButton->setText(QApplication::translate("Calculator", "=", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/calculatorform.ui.h b/tests/auto/tools/uic/baseline/calculatorform.ui.h
index 1383244504..3688c79d04 100644
--- a/tests/auto/tools/uic/baseline/calculatorform.ui.h
+++ b/tests/auto/tools/uic/baseline/calculatorform.ui.h
@@ -173,13 +173,13 @@ public:
void retranslateUi(QWidget *CalculatorForm)
{
- CalculatorForm->setWindowTitle(QApplication::translate("CalculatorForm", "Calculator Builder", 0));
- label->setText(QApplication::translate("CalculatorForm", "Input 1", 0));
- label_3->setText(QApplication::translate("CalculatorForm", "+", 0));
- label_2->setText(QApplication::translate("CalculatorForm", "Input 2", 0));
- label_3_2->setText(QApplication::translate("CalculatorForm", "=", 0));
- label_2_2_2->setText(QApplication::translate("CalculatorForm", "Output", 0));
- outputWidget->setText(QApplication::translate("CalculatorForm", "0", 0));
+ CalculatorForm->setWindowTitle(QApplication::translate("CalculatorForm", "Calculator Builder", Q_NULLPTR));
+ label->setText(QApplication::translate("CalculatorForm", "Input 1", Q_NULLPTR));
+ label_3->setText(QApplication::translate("CalculatorForm", "+", Q_NULLPTR));
+ label_2->setText(QApplication::translate("CalculatorForm", "Input 2", Q_NULLPTR));
+ label_3_2->setText(QApplication::translate("CalculatorForm", "=", Q_NULLPTR));
+ label_2_2_2->setText(QApplication::translate("CalculatorForm", "Output", Q_NULLPTR));
+ outputWidget->setText(QApplication::translate("CalculatorForm", "0", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/certificateinfo.ui.h b/tests/auto/tools/uic/baseline/certificateinfo.ui.h
index 9b16110d33..183b89aaff 100644
--- a/tests/auto/tools/uic/baseline/certificateinfo.ui.h
+++ b/tests/auto/tools/uic/baseline/certificateinfo.ui.h
@@ -93,9 +93,9 @@ public:
void retranslateUi(QDialog *CertificateInfo)
{
- CertificateInfo->setWindowTitle(QApplication::translate("CertificateInfo", "Display Certificate Information", 0));
- groupBox->setTitle(QApplication::translate("CertificateInfo", "Certification Path", 0));
- groupBox_2->setTitle(QApplication::translate("CertificateInfo", "Certificate Information", 0));
+ CertificateInfo->setWindowTitle(QApplication::translate("CertificateInfo", "Display Certificate Information", Q_NULLPTR));
+ groupBox->setTitle(QApplication::translate("CertificateInfo", "Certification Path", Q_NULLPTR));
+ groupBox_2->setTitle(QApplication::translate("CertificateInfo", "Certificate Information", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/chatdialog.ui.h b/tests/auto/tools/uic/baseline/chatdialog.ui.h
index e917eb9fb1..b678b85eb9 100644
--- a/tests/auto/tools/uic/baseline/chatdialog.ui.h
+++ b/tests/auto/tools/uic/baseline/chatdialog.ui.h
@@ -100,8 +100,8 @@ public:
void retranslateUi(QDialog *ChatDialog)
{
- ChatDialog->setWindowTitle(QApplication::translate("ChatDialog", "Chat", 0));
- label->setText(QApplication::translate("ChatDialog", "Message:", 0));
+ ChatDialog->setWindowTitle(QApplication::translate("ChatDialog", "Chat", Q_NULLPTR));
+ label->setText(QApplication::translate("ChatDialog", "Message:", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/chatmainwindow.ui.h b/tests/auto/tools/uic/baseline/chatmainwindow.ui.h
index b3675746bf..8cfd9b4851 100644
--- a/tests/auto/tools/uic/baseline/chatmainwindow.ui.h
+++ b/tests/auto/tools/uic/baseline/chatmainwindow.ui.h
@@ -149,25 +149,25 @@ public:
void retranslateUi(QMainWindow *ChatMainWindow)
{
- ChatMainWindow->setWindowTitle(QApplication::translate("ChatMainWindow", "Qt D-Bus Chat", 0));
- actionQuit->setText(QApplication::translate("ChatMainWindow", "Quit", 0));
- actionQuit->setShortcut(QApplication::translate("ChatMainWindow", "Ctrl+Q", 0));
- actionAboutQt->setText(QApplication::translate("ChatMainWindow", "About Qt...", 0));
- actionChangeNickname->setText(QApplication::translate("ChatMainWindow", "Change nickname...", 0));
- actionChangeNickname->setShortcut(QApplication::translate("ChatMainWindow", "Ctrl+N", 0));
+ ChatMainWindow->setWindowTitle(QApplication::translate("ChatMainWindow", "Qt D-Bus Chat", Q_NULLPTR));
+ actionQuit->setText(QApplication::translate("ChatMainWindow", "Quit", Q_NULLPTR));
+ actionQuit->setShortcut(QApplication::translate("ChatMainWindow", "Ctrl+Q", Q_NULLPTR));
+ actionAboutQt->setText(QApplication::translate("ChatMainWindow", "About Qt...", Q_NULLPTR));
+ actionChangeNickname->setText(QApplication::translate("ChatMainWindow", "Change nickname...", Q_NULLPTR));
+ actionChangeNickname->setShortcut(QApplication::translate("ChatMainWindow", "Ctrl+N", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- chatHistory->setToolTip(QApplication::translate("ChatMainWindow", "Messages sent and received from other users", 0));
+ chatHistory->setToolTip(QApplication::translate("ChatMainWindow", "Messages sent and received from other users", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- label->setText(QApplication::translate("ChatMainWindow", "Message:", 0));
+ label->setText(QApplication::translate("ChatMainWindow", "Message:", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- sendButton->setToolTip(QApplication::translate("ChatMainWindow", "Sends a message to other people", 0));
+ sendButton->setToolTip(QApplication::translate("ChatMainWindow", "Sends a message to other people", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
#ifndef QT_NO_WHATSTHIS
sendButton->setWhatsThis(QString());
#endif // QT_NO_WHATSTHIS
- sendButton->setText(QApplication::translate("ChatMainWindow", "Send", 0));
- menuQuit->setTitle(QApplication::translate("ChatMainWindow", "Help", 0));
- menuFile->setTitle(QApplication::translate("ChatMainWindow", "File", 0));
+ sendButton->setText(QApplication::translate("ChatMainWindow", "Send", Q_NULLPTR));
+ menuQuit->setTitle(QApplication::translate("ChatMainWindow", "Help", Q_NULLPTR));
+ menuFile->setTitle(QApplication::translate("ChatMainWindow", "File", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/chatsetnickname.ui.h b/tests/auto/tools/uic/baseline/chatsetnickname.ui.h
index e9ebca5f7f..aa023a56fb 100644
--- a/tests/auto/tools/uic/baseline/chatsetnickname.ui.h
+++ b/tests/auto/tools/uic/baseline/chatsetnickname.ui.h
@@ -115,10 +115,10 @@ public:
void retranslateUi(QDialog *NicknameDialog)
{
- NicknameDialog->setWindowTitle(QApplication::translate("NicknameDialog", "Set nickname", 0));
- label->setText(QApplication::translate("NicknameDialog", "New nickname:", 0));
- okButton->setText(QApplication::translate("NicknameDialog", "OK", 0));
- cancelButton->setText(QApplication::translate("NicknameDialog", "Cancel", 0));
+ NicknameDialog->setWindowTitle(QApplication::translate("NicknameDialog", "Set nickname", Q_NULLPTR));
+ label->setText(QApplication::translate("NicknameDialog", "New nickname:", Q_NULLPTR));
+ okButton->setText(QApplication::translate("NicknameDialog", "OK", Q_NULLPTR));
+ cancelButton->setText(QApplication::translate("NicknameDialog", "Cancel", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/config.ui.h b/tests/auto/tools/uic/baseline/config.ui.h
index e87078dd83..2dadae383e 100644
--- a/tests/auto/tools/uic/baseline/config.ui.h
+++ b/tests/auto/tools/uic/baseline/config.ui.h
@@ -708,46 +708,46 @@ public:
void retranslateUi(QDialog *Config)
{
- Config->setWindowTitle(QApplication::translate("Config", "Configure", 0));
- ButtonGroup1->setTitle(QApplication::translate("Config", "Size", 0));
- size_176_220->setText(QApplication::translate("Config", "176x220 \"SmartPhone\"", 0));
- size_240_320->setText(QApplication::translate("Config", "240x320 \"PDA\"", 0));
- size_320_240->setText(QApplication::translate("Config", "320x240 \"TV\" / \"QVGA\"", 0));
- size_640_480->setText(QApplication::translate("Config", "640x480 \"VGA\"", 0));
- size_800_600->setText(QApplication::translate("Config", "800x600", 0));
- size_1024_768->setText(QApplication::translate("Config", "1024x768", 0));
- size_custom->setText(QApplication::translate("Config", "Custom", 0));
- ButtonGroup2->setTitle(QApplication::translate("Config", "Depth", 0));
- depth_1->setText(QApplication::translate("Config", "1 bit monochrome", 0));
- depth_4gray->setText(QApplication::translate("Config", "4 bit grayscale", 0));
- depth_8->setText(QApplication::translate("Config", "8 bit", 0));
- depth_12->setText(QApplication::translate("Config", "12 (16) bit", 0));
- depth_15->setText(QApplication::translate("Config", "15 bit", 0));
- depth_16->setText(QApplication::translate("Config", "16 bit", 0));
- depth_18->setText(QApplication::translate("Config", "18 bit", 0));
- depth_24->setText(QApplication::translate("Config", "24 bit", 0));
- depth_32->setText(QApplication::translate("Config", "32 bit", 0));
- depth_32_argb->setText(QApplication::translate("Config", "32 bit ARGB", 0));
- TextLabel1_3->setText(QApplication::translate("Config", "Skin", 0));
+ Config->setWindowTitle(QApplication::translate("Config", "Configure", Q_NULLPTR));
+ ButtonGroup1->setTitle(QApplication::translate("Config", "Size", Q_NULLPTR));
+ size_176_220->setText(QApplication::translate("Config", "176x220 \"SmartPhone\"", Q_NULLPTR));
+ size_240_320->setText(QApplication::translate("Config", "240x320 \"PDA\"", Q_NULLPTR));
+ size_320_240->setText(QApplication::translate("Config", "320x240 \"TV\" / \"QVGA\"", Q_NULLPTR));
+ size_640_480->setText(QApplication::translate("Config", "640x480 \"VGA\"", Q_NULLPTR));
+ size_800_600->setText(QApplication::translate("Config", "800x600", Q_NULLPTR));
+ size_1024_768->setText(QApplication::translate("Config", "1024x768", Q_NULLPTR));
+ size_custom->setText(QApplication::translate("Config", "Custom", Q_NULLPTR));
+ ButtonGroup2->setTitle(QApplication::translate("Config", "Depth", Q_NULLPTR));
+ depth_1->setText(QApplication::translate("Config", "1 bit monochrome", Q_NULLPTR));
+ depth_4gray->setText(QApplication::translate("Config", "4 bit grayscale", Q_NULLPTR));
+ depth_8->setText(QApplication::translate("Config", "8 bit", Q_NULLPTR));
+ depth_12->setText(QApplication::translate("Config", "12 (16) bit", Q_NULLPTR));
+ depth_15->setText(QApplication::translate("Config", "15 bit", Q_NULLPTR));
+ depth_16->setText(QApplication::translate("Config", "16 bit", Q_NULLPTR));
+ depth_18->setText(QApplication::translate("Config", "18 bit", Q_NULLPTR));
+ depth_24->setText(QApplication::translate("Config", "24 bit", Q_NULLPTR));
+ depth_32->setText(QApplication::translate("Config", "32 bit", Q_NULLPTR));
+ depth_32_argb->setText(QApplication::translate("Config", "32 bit ARGB", Q_NULLPTR));
+ TextLabel1_3->setText(QApplication::translate("Config", "Skin", Q_NULLPTR));
skin->clear();
skin->insertItems(0, QStringList()
- << QApplication::translate("Config", "None", 0)
+ << QApplication::translate("Config", "None", Q_NULLPTR)
);
- touchScreen->setText(QApplication::translate("Config", "Emulate touch screen (no mouse move)", 0));
- lcdScreen->setText(QApplication::translate("Config", "Emulate LCD screen (Only with fixed zoom of 3.0 times magnification)", 0));
- TextLabel1->setText(QApplication::translate("Config", "<p>Note that any applications using the virtual framebuffer will be terminated if you change the Size or Depth <i>above</i>. You may freely modify the Gamma <i>below</i>.", 0));
- GroupBox1->setTitle(QApplication::translate("Config", "Gamma", 0));
- TextLabel3->setText(QApplication::translate("Config", "Blue", 0));
- blabel->setText(QApplication::translate("Config", "1.0", 0));
- TextLabel2->setText(QApplication::translate("Config", "Green", 0));
- glabel->setText(QApplication::translate("Config", "1.0", 0));
- TextLabel7->setText(QApplication::translate("Config", "All", 0));
- TextLabel8->setText(QApplication::translate("Config", "1.0", 0));
- TextLabel1_2->setText(QApplication::translate("Config", "Red", 0));
- rlabel->setText(QApplication::translate("Config", "1.0", 0));
- PushButton3->setText(QApplication::translate("Config", "Set all to 1.0", 0));
- buttonOk->setText(QApplication::translate("Config", "&OK", 0));
- buttonCancel->setText(QApplication::translate("Config", "&Cancel", 0));
+ touchScreen->setText(QApplication::translate("Config", "Emulate touch screen (no mouse move)", Q_NULLPTR));
+ lcdScreen->setText(QApplication::translate("Config", "Emulate LCD screen (Only with fixed zoom of 3.0 times magnification)", Q_NULLPTR));
+ TextLabel1->setText(QApplication::translate("Config", "<p>Note that any applications using the virtual framebuffer will be terminated if you change the Size or Depth <i>above</i>. You may freely modify the Gamma <i>below</i>.", Q_NULLPTR));
+ GroupBox1->setTitle(QApplication::translate("Config", "Gamma", Q_NULLPTR));
+ TextLabel3->setText(QApplication::translate("Config", "Blue", Q_NULLPTR));
+ blabel->setText(QApplication::translate("Config", "1.0", Q_NULLPTR));
+ TextLabel2->setText(QApplication::translate("Config", "Green", Q_NULLPTR));
+ glabel->setText(QApplication::translate("Config", "1.0", Q_NULLPTR));
+ TextLabel7->setText(QApplication::translate("Config", "All", Q_NULLPTR));
+ TextLabel8->setText(QApplication::translate("Config", "1.0", Q_NULLPTR));
+ TextLabel1_2->setText(QApplication::translate("Config", "Red", Q_NULLPTR));
+ rlabel->setText(QApplication::translate("Config", "1.0", Q_NULLPTR));
+ PushButton3->setText(QApplication::translate("Config", "Set all to 1.0", Q_NULLPTR));
+ buttonOk->setText(QApplication::translate("Config", "&OK", Q_NULLPTR));
+ buttonCancel->setText(QApplication::translate("Config", "&Cancel", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/connectdialog.ui.h b/tests/auto/tools/uic/baseline/connectdialog.ui.h
index b01238c344..384f406582 100644
--- a/tests/auto/tools/uic/baseline/connectdialog.ui.h
+++ b/tests/auto/tools/uic/baseline/connectdialog.ui.h
@@ -129,12 +129,12 @@ public:
void retranslateUi(QDialog *ConnectDialog)
{
- ConnectDialog->setWindowTitle(QApplication::translate("ConnectDialog", "Configure Connection", 0));
- signalGroupBox->setTitle(QApplication::translate("ConnectDialog", "GroupBox", 0));
- editSignalsButton->setText(QApplication::translate("ConnectDialog", "Edit...", 0));
- slotGroupBox->setTitle(QApplication::translate("ConnectDialog", "GroupBox", 0));
- editSlotsButton->setText(QApplication::translate("ConnectDialog", "Edit...", 0));
- showAllCheckBox->setText(QApplication::translate("ConnectDialog", "Show signals and slots inherited from QWidget", 0));
+ ConnectDialog->setWindowTitle(QApplication::translate("ConnectDialog", "Configure Connection", Q_NULLPTR));
+ signalGroupBox->setTitle(QApplication::translate("ConnectDialog", "GroupBox", Q_NULLPTR));
+ editSignalsButton->setText(QApplication::translate("ConnectDialog", "Edit...", Q_NULLPTR));
+ slotGroupBox->setTitle(QApplication::translate("ConnectDialog", "GroupBox", Q_NULLPTR));
+ editSlotsButton->setText(QApplication::translate("ConnectDialog", "Edit...", Q_NULLPTR));
+ showAllCheckBox->setText(QApplication::translate("ConnectDialog", "Show signals and slots inherited from QWidget", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/controller.ui.h b/tests/auto/tools/uic/baseline/controller.ui.h
index e66c3622be..6f3162c5c6 100644
--- a/tests/auto/tools/uic/baseline/controller.ui.h
+++ b/tests/auto/tools/uic/baseline/controller.ui.h
@@ -78,12 +78,12 @@ public:
void retranslateUi(QWidget *Controller)
{
- Controller->setWindowTitle(QApplication::translate("Controller", "Controller", 0));
- label->setText(QApplication::translate("Controller", "Controller", 0));
- decelerate->setText(QApplication::translate("Controller", "Decelerate", 0));
- accelerate->setText(QApplication::translate("Controller", "Accelerate", 0));
- right->setText(QApplication::translate("Controller", "Right", 0));
- left->setText(QApplication::translate("Controller", "Left", 0));
+ Controller->setWindowTitle(QApplication::translate("Controller", "Controller", Q_NULLPTR));
+ label->setText(QApplication::translate("Controller", "Controller", Q_NULLPTR));
+ decelerate->setText(QApplication::translate("Controller", "Decelerate", Q_NULLPTR));
+ accelerate->setText(QApplication::translate("Controller", "Accelerate", Q_NULLPTR));
+ right->setText(QApplication::translate("Controller", "Right", Q_NULLPTR));
+ left->setText(QApplication::translate("Controller", "Left", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/cookies.ui.h b/tests/auto/tools/uic/baseline/cookies.ui.h
index a47b2b9969..f1c7a6a4f9 100644
--- a/tests/auto/tools/uic/baseline/cookies.ui.h
+++ b/tests/auto/tools/uic/baseline/cookies.ui.h
@@ -93,9 +93,9 @@ public:
void retranslateUi(QDialog *CookiesDialog)
{
- CookiesDialog->setWindowTitle(QApplication::translate("CookiesDialog", "Cookies", 0));
- removeButton->setText(QApplication::translate("CookiesDialog", "&Remove", 0));
- removeAllButton->setText(QApplication::translate("CookiesDialog", "Remove &All Cookies", 0));
+ CookiesDialog->setWindowTitle(QApplication::translate("CookiesDialog", "Cookies", Q_NULLPTR));
+ removeButton->setText(QApplication::translate("CookiesDialog", "&Remove", Q_NULLPTR));
+ removeAllButton->setText(QApplication::translate("CookiesDialog", "Remove &All Cookies", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/cookiesexceptions.ui.h b/tests/auto/tools/uic/baseline/cookiesexceptions.ui.h
index 0c6c6cf307..a86c40d289 100644
--- a/tests/auto/tools/uic/baseline/cookiesexceptions.ui.h
+++ b/tests/auto/tools/uic/baseline/cookiesexceptions.ui.h
@@ -160,15 +160,15 @@ public:
void retranslateUi(QDialog *CookiesExceptionsDialog)
{
- CookiesExceptionsDialog->setWindowTitle(QApplication::translate("CookiesExceptionsDialog", "Cookie Exceptions", 0));
- newExceptionGroupBox->setTitle(QApplication::translate("CookiesExceptionsDialog", "New Exception", 0));
- label->setText(QApplication::translate("CookiesExceptionsDialog", "Domain:", 0));
- blockButton->setText(QApplication::translate("CookiesExceptionsDialog", "Block", 0));
- allowForSessionButton->setText(QApplication::translate("CookiesExceptionsDialog", "Allow For Session", 0));
- allowButton->setText(QApplication::translate("CookiesExceptionsDialog", "Allow", 0));
- ExceptionsGroupBox->setTitle(QApplication::translate("CookiesExceptionsDialog", "Exceptions", 0));
- removeButton->setText(QApplication::translate("CookiesExceptionsDialog", "&Remove", 0));
- removeAllButton->setText(QApplication::translate("CookiesExceptionsDialog", "Remove &All", 0));
+ CookiesExceptionsDialog->setWindowTitle(QApplication::translate("CookiesExceptionsDialog", "Cookie Exceptions", Q_NULLPTR));
+ newExceptionGroupBox->setTitle(QApplication::translate("CookiesExceptionsDialog", "New Exception", Q_NULLPTR));
+ label->setText(QApplication::translate("CookiesExceptionsDialog", "Domain:", Q_NULLPTR));
+ blockButton->setText(QApplication::translate("CookiesExceptionsDialog", "Block", Q_NULLPTR));
+ allowForSessionButton->setText(QApplication::translate("CookiesExceptionsDialog", "Allow For Session", Q_NULLPTR));
+ allowButton->setText(QApplication::translate("CookiesExceptionsDialog", "Allow", Q_NULLPTR));
+ ExceptionsGroupBox->setTitle(QApplication::translate("CookiesExceptionsDialog", "Exceptions", Q_NULLPTR));
+ removeButton->setText(QApplication::translate("CookiesExceptionsDialog", "&Remove", Q_NULLPTR));
+ removeAllButton->setText(QApplication::translate("CookiesExceptionsDialog", "Remove &All", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/default.ui.h b/tests/auto/tools/uic/baseline/default.ui.h
index b9e1475d70..03d97f86f1 100644
--- a/tests/auto/tools/uic/baseline/default.ui.h
+++ b/tests/auto/tools/uic/baseline/default.ui.h
@@ -219,88 +219,88 @@ public:
void retranslateUi(QMainWindow *MainWindow)
{
- MainWindow->setWindowTitle(QApplication::translate("MainWindow", "MainWindow", 0));
- exitAction->setText(QApplication::translate("MainWindow", "&Exit", 0));
- aboutQtAction->setText(QApplication::translate("MainWindow", "About Qt", 0));
- editStyleAction->setText(QApplication::translate("MainWindow", "Edit &Style", 0));
- aboutAction->setText(QApplication::translate("MainWindow", "About", 0));
- nameLabel->setText(QApplication::translate("MainWindow", "&Name:", 0));
+ MainWindow->setWindowTitle(QApplication::translate("MainWindow", "MainWindow", Q_NULLPTR));
+ exitAction->setText(QApplication::translate("MainWindow", "&Exit", Q_NULLPTR));
+ aboutQtAction->setText(QApplication::translate("MainWindow", "About Qt", Q_NULLPTR));
+ editStyleAction->setText(QApplication::translate("MainWindow", "Edit &Style", Q_NULLPTR));
+ aboutAction->setText(QApplication::translate("MainWindow", "About", Q_NULLPTR));
+ nameLabel->setText(QApplication::translate("MainWindow", "&Name:", Q_NULLPTR));
nameCombo->clear();
nameCombo->insertItems(0, QStringList()
- << QApplication::translate("MainWindow", "Girish", 0)
- << QApplication::translate("MainWindow", "Jasmin", 0)
- << QApplication::translate("MainWindow", "Simon", 0)
- << QApplication::translate("MainWindow", "Zack", 0)
+ << QApplication::translate("MainWindow", "Girish", Q_NULLPTR)
+ << QApplication::translate("MainWindow", "Jasmin", Q_NULLPTR)
+ << QApplication::translate("MainWindow", "Simon", Q_NULLPTR)
+ << QApplication::translate("MainWindow", "Zack", Q_NULLPTR)
);
#ifndef QT_NO_TOOLTIP
- nameCombo->setToolTip(QApplication::translate("MainWindow", "Specify your name", 0));
+ nameCombo->setToolTip(QApplication::translate("MainWindow", "Specify your name", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
#ifndef QT_NO_TOOLTIP
- femaleRadioButton->setToolTip(QApplication::translate("MainWindow", "Check this if you are female", 0));
+ femaleRadioButton->setToolTip(QApplication::translate("MainWindow", "Check this if you are female", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- femaleRadioButton->setText(QApplication::translate("MainWindow", "&Female", 0));
+ femaleRadioButton->setText(QApplication::translate("MainWindow", "&Female", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- agreeCheckBox->setToolTip(QApplication::translate("MainWindow", "Please read the license before checking this", 0));
+ agreeCheckBox->setToolTip(QApplication::translate("MainWindow", "Please read the license before checking this", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- agreeCheckBox->setText(QApplication::translate("MainWindow", "I &accept the terms and conditions", 0));
+ agreeCheckBox->setText(QApplication::translate("MainWindow", "I &accept the terms and conditions", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- maleRadioButton->setToolTip(QApplication::translate("MainWindow", "Check this if you are male", 0));
+ maleRadioButton->setToolTip(QApplication::translate("MainWindow", "Check this if you are male", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- maleRadioButton->setText(QApplication::translate("MainWindow", "&Male", 0));
- genderLabel->setText(QApplication::translate("MainWindow", "Gender:", 0));
+ maleRadioButton->setText(QApplication::translate("MainWindow", "&Male", Q_NULLPTR));
+ genderLabel->setText(QApplication::translate("MainWindow", "Gender:", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- ageSpinBox->setToolTip(QApplication::translate("MainWindow", "Specify your age", 0));
+ ageSpinBox->setToolTip(QApplication::translate("MainWindow", "Specify your age", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
#ifndef QT_NO_STATUSTIP
- ageSpinBox->setStatusTip(QApplication::translate("MainWindow", "Specify your age here", 0));
+ ageSpinBox->setStatusTip(QApplication::translate("MainWindow", "Specify your age here", Q_NULLPTR));
#endif // QT_NO_STATUSTIP
- ageLabel->setText(QApplication::translate("MainWindow", "&Age:", 0));
- passwordLabel->setText(QApplication::translate("MainWindow", "&Password:", 0));
+ ageLabel->setText(QApplication::translate("MainWindow", "&Age:", Q_NULLPTR));
+ passwordLabel->setText(QApplication::translate("MainWindow", "&Password:", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- passwordEdit->setToolTip(QApplication::translate("MainWindow", "Specify your password", 0));
+ passwordEdit->setToolTip(QApplication::translate("MainWindow", "Specify your password", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
#ifndef QT_NO_STATUSTIP
- passwordEdit->setStatusTip(QApplication::translate("MainWindow", "Specify your password here", 0));
+ passwordEdit->setStatusTip(QApplication::translate("MainWindow", "Specify your password here", Q_NULLPTR));
#endif // QT_NO_STATUSTIP
- passwordEdit->setText(QApplication::translate("MainWindow", "Password", 0));
- label->setText(QApplication::translate("MainWindow", "Profession", 0));
- countryLabel->setText(QApplication::translate("MainWindow", "&Country", 0));
+ passwordEdit->setText(QApplication::translate("MainWindow", "Password", Q_NULLPTR));
+ label->setText(QApplication::translate("MainWindow", "Profession", Q_NULLPTR));
+ countryLabel->setText(QApplication::translate("MainWindow", "&Country", Q_NULLPTR));
const bool __sortingEnabled = professionList->isSortingEnabled();
professionList->setSortingEnabled(false);
QListWidgetItem *___qlistwidgetitem = professionList->item(0);
- ___qlistwidgetitem->setText(QApplication::translate("MainWindow", "Developer", 0));
+ ___qlistwidgetitem->setText(QApplication::translate("MainWindow", "Developer", Q_NULLPTR));
QListWidgetItem *___qlistwidgetitem1 = professionList->item(1);
- ___qlistwidgetitem1->setText(QApplication::translate("MainWindow", "Student", 0));
+ ___qlistwidgetitem1->setText(QApplication::translate("MainWindow", "Student", Q_NULLPTR));
QListWidgetItem *___qlistwidgetitem2 = professionList->item(2);
- ___qlistwidgetitem2->setText(QApplication::translate("MainWindow", "Fisherman", 0));
+ ___qlistwidgetitem2->setText(QApplication::translate("MainWindow", "Fisherman", Q_NULLPTR));
professionList->setSortingEnabled(__sortingEnabled);
#ifndef QT_NO_TOOLTIP
- professionList->setToolTip(QApplication::translate("MainWindow", "Select your profession", 0));
+ professionList->setToolTip(QApplication::translate("MainWindow", "Select your profession", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
#ifndef QT_NO_STATUSTIP
- professionList->setStatusTip(QApplication::translate("MainWindow", "Select your profession", 0));
+ professionList->setStatusTip(QApplication::translate("MainWindow", "Select your profession", Q_NULLPTR));
#endif // QT_NO_STATUSTIP
#ifndef QT_NO_WHATSTHIS
- professionList->setWhatsThis(QApplication::translate("MainWindow", "Select your profession", 0));
+ professionList->setWhatsThis(QApplication::translate("MainWindow", "Select your profession", Q_NULLPTR));
#endif // QT_NO_WHATSTHIS
countryCombo->clear();
countryCombo->insertItems(0, QStringList()
- << QApplication::translate("MainWindow", "Germany", 0)
- << QApplication::translate("MainWindow", "India", 0)
- << QApplication::translate("MainWindow", "Norway", 0)
- << QApplication::translate("MainWindow", "United States Of America", 0)
- << QApplication::translate("MainWindow", "United Kingdom", 0)
+ << QApplication::translate("MainWindow", "Germany", Q_NULLPTR)
+ << QApplication::translate("MainWindow", "India", Q_NULLPTR)
+ << QApplication::translate("MainWindow", "Norway", Q_NULLPTR)
+ << QApplication::translate("MainWindow", "United States Of America", Q_NULLPTR)
+ << QApplication::translate("MainWindow", "United Kingdom", Q_NULLPTR)
);
#ifndef QT_NO_TOOLTIP
- countryCombo->setToolTip(QApplication::translate("MainWindow", "Specify your country", 0));
+ countryCombo->setToolTip(QApplication::translate("MainWindow", "Specify your country", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
#ifndef QT_NO_STATUSTIP
- countryCombo->setStatusTip(QApplication::translate("MainWindow", "Specify your country here", 0));
+ countryCombo->setStatusTip(QApplication::translate("MainWindow", "Specify your country here", Q_NULLPTR));
#endif // QT_NO_STATUSTIP
- menu_File->setTitle(QApplication::translate("MainWindow", "&File", 0));
- menu_Help->setTitle(QApplication::translate("MainWindow", "&Help", 0));
+ menu_File->setTitle(QApplication::translate("MainWindow", "&File", Q_NULLPTR));
+ menu_Help->setTitle(QApplication::translate("MainWindow", "&Help", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/dialog.ui.h b/tests/auto/tools/uic/baseline/dialog.ui.h
index ef587f9d9d..88ca359e20 100644
--- a/tests/auto/tools/uic/baseline/dialog.ui.h
+++ b/tests/auto/tools/uic/baseline/dialog.ui.h
@@ -61,10 +61,10 @@ public:
void retranslateUi(QDialog *Dialog)
{
- Dialog->setWindowTitle(QApplication::translate("Dialog", "Dialog", 0));
- loadFromFileButton->setText(QApplication::translate("Dialog", "Load Image From File...", 0));
- label->setText(QApplication::translate("Dialog", "Launch two of these dialogs. In the first, press the top button and load an image from a file. In the second, press the bottom button and display the loaded image from shared memory.", 0));
- loadFromSharedMemoryButton->setText(QApplication::translate("Dialog", "Display Image From Shared Memory", 0));
+ Dialog->setWindowTitle(QApplication::translate("Dialog", "Dialog", Q_NULLPTR));
+ loadFromFileButton->setText(QApplication::translate("Dialog", "Load Image From File...", Q_NULLPTR));
+ label->setText(QApplication::translate("Dialog", "Launch two of these dialogs. In the first, press the top button and load an image from a file. In the second, press the bottom button and display the loaded image from shared memory.", Q_NULLPTR));
+ loadFromSharedMemoryButton->setText(QApplication::translate("Dialog", "Display Image From Shared Memory", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/downloaditem.ui.h b/tests/auto/tools/uic/baseline/downloaditem.ui.h
index b0f5106246..87f2efe3eb 100644
--- a/tests/auto/tools/uic/baseline/downloaditem.ui.h
+++ b/tests/auto/tools/uic/baseline/downloaditem.ui.h
@@ -127,13 +127,13 @@ public:
void retranslateUi(QWidget *DownloadItem)
{
- DownloadItem->setWindowTitle(QApplication::translate("DownloadItem", "Form", 0));
- fileIcon->setText(QApplication::translate("DownloadItem", "Ico", 0));
- fileNameLabel->setProperty("text", QVariant(QApplication::translate("DownloadItem", "Filename", 0)));
+ DownloadItem->setWindowTitle(QApplication::translate("DownloadItem", "Form", Q_NULLPTR));
+ fileIcon->setText(QApplication::translate("DownloadItem", "Ico", Q_NULLPTR));
+ fileNameLabel->setProperty("text", QVariant(QApplication::translate("DownloadItem", "Filename", Q_NULLPTR)));
downloadInfoLabel->setProperty("text", QVariant(QString()));
- tryAgainButton->setText(QApplication::translate("DownloadItem", "Try Again", 0));
- stopButton->setText(QApplication::translate("DownloadItem", "Stop", 0));
- openButton->setText(QApplication::translate("DownloadItem", "Open", 0));
+ tryAgainButton->setText(QApplication::translate("DownloadItem", "Try Again", Q_NULLPTR));
+ stopButton->setText(QApplication::translate("DownloadItem", "Stop", Q_NULLPTR));
+ openButton->setText(QApplication::translate("DownloadItem", "Open", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/downloads.ui.h b/tests/auto/tools/uic/baseline/downloads.ui.h
index 7e688669e4..4fbcceb7b4 100644
--- a/tests/auto/tools/uic/baseline/downloads.ui.h
+++ b/tests/auto/tools/uic/baseline/downloads.ui.h
@@ -81,9 +81,9 @@ public:
void retranslateUi(QDialog *DownloadDialog)
{
- DownloadDialog->setWindowTitle(QApplication::translate("DownloadDialog", "Downloads", 0));
- cleanupButton->setText(QApplication::translate("DownloadDialog", "Clean up", 0));
- itemCount->setText(QApplication::translate("DownloadDialog", "0 Items", 0));
+ DownloadDialog->setWindowTitle(QApplication::translate("DownloadDialog", "Downloads", Q_NULLPTR));
+ cleanupButton->setText(QApplication::translate("DownloadDialog", "Clean up", Q_NULLPTR));
+ itemCount->setText(QApplication::translate("DownloadDialog", "0 Items", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/embeddeddialog.ui.h b/tests/auto/tools/uic/baseline/embeddeddialog.ui.h
index 872dc7db87..69027286b6 100644
--- a/tests/auto/tools/uic/baseline/embeddeddialog.ui.h
+++ b/tests/auto/tools/uic/baseline/embeddeddialog.ui.h
@@ -98,16 +98,16 @@ public:
void retranslateUi(QDialog *embeddedDialog)
{
- embeddedDialog->setWindowTitle(QApplication::translate("embeddedDialog", "Embedded Dialog", 0));
- label->setText(QApplication::translate("embeddedDialog", "Layout Direction:", 0));
+ embeddedDialog->setWindowTitle(QApplication::translate("embeddedDialog", "Embedded Dialog", Q_NULLPTR));
+ label->setText(QApplication::translate("embeddedDialog", "Layout Direction:", Q_NULLPTR));
layoutDirection->clear();
layoutDirection->insertItems(0, QStringList()
- << QApplication::translate("embeddedDialog", "Left to Right", 0)
- << QApplication::translate("embeddedDialog", "Right to Left", 0)
+ << QApplication::translate("embeddedDialog", "Left to Right", Q_NULLPTR)
+ << QApplication::translate("embeddedDialog", "Right to Left", Q_NULLPTR)
);
- label_2->setText(QApplication::translate("embeddedDialog", "Select Font:", 0));
- label_3->setText(QApplication::translate("embeddedDialog", "Style:", 0));
- label_4->setText(QApplication::translate("embeddedDialog", "Layout spacing:", 0));
+ label_2->setText(QApplication::translate("embeddedDialog", "Select Font:", Q_NULLPTR));
+ label_3->setText(QApplication::translate("embeddedDialog", "Style:", Q_NULLPTR));
+ label_4->setText(QApplication::translate("embeddedDialog", "Layout spacing:", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/enumnostdset.ui.h b/tests/auto/tools/uic/baseline/enumnostdset.ui.h
index 89a8411b4a..2c7d4cb591 100644
--- a/tests/auto/tools/uic/baseline/enumnostdset.ui.h
+++ b/tests/auto/tools/uic/baseline/enumnostdset.ui.h
@@ -41,7 +41,7 @@ public:
void retranslateUi(QWidget *Form)
{
- Form->setWindowTitle(QApplication::translate("Form", "Form", 0));
+ Form->setWindowTitle(QApplication::translate("Form", "Form", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/filespage.ui.h b/tests/auto/tools/uic/baseline/filespage.ui.h
index ee4f702233..d84d609e01 100644
--- a/tests/auto/tools/uic/baseline/filespage.ui.h
+++ b/tests/auto/tools/uic/baseline/filespage.ui.h
@@ -83,10 +83,10 @@ public:
void retranslateUi(QWidget *FilesPage)
{
- FilesPage->setWindowTitle(QApplication::translate("FilesPage", "Form", 0));
- fileLabel->setText(QApplication::translate("FilesPage", "Files:", 0));
- removeButton->setText(QApplication::translate("FilesPage", "Remove", 0));
- removeAllButton->setText(QApplication::translate("FilesPage", "Remove All", 0));
+ FilesPage->setWindowTitle(QApplication::translate("FilesPage", "Form", Q_NULLPTR));
+ fileLabel->setText(QApplication::translate("FilesPage", "Files:", Q_NULLPTR));
+ removeButton->setText(QApplication::translate("FilesPage", "Remove", Q_NULLPTR));
+ removeAllButton->setText(QApplication::translate("FilesPage", "Remove All", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/filternamedialog.ui.h b/tests/auto/tools/uic/baseline/filternamedialog.ui.h
index 7b10ceb7ec..b789b9045b 100644
--- a/tests/auto/tools/uic/baseline/filternamedialog.ui.h
+++ b/tests/auto/tools/uic/baseline/filternamedialog.ui.h
@@ -79,8 +79,8 @@ public:
void retranslateUi(QDialog *FilterNameDialogClass)
{
- FilterNameDialogClass->setWindowTitle(QApplication::translate("FilterNameDialogClass", "FilterNameDialog", 0));
- label->setText(QApplication::translate("FilterNameDialogClass", "Filter Name:", 0));
+ FilterNameDialogClass->setWindowTitle(QApplication::translate("FilterNameDialogClass", "FilterNameDialog", Q_NULLPTR));
+ label->setText(QApplication::translate("FilterNameDialogClass", "Filter Name:", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/filterpage.ui.h b/tests/auto/tools/uic/baseline/filterpage.ui.h
index fb12686a83..d2e37dc5a4 100644
--- a/tests/auto/tools/uic/baseline/filterpage.ui.h
+++ b/tests/auto/tools/uic/baseline/filterpage.ui.h
@@ -105,14 +105,14 @@ public:
void retranslateUi(QWidget *FilterPage)
{
- FilterPage->setWindowTitle(QApplication::translate("FilterPage", "Form", 0));
- label->setText(QApplication::translate("FilterPage", "Filter attributes for current documentation (comma separated list):", 0));
- groupBox->setTitle(QApplication::translate("FilterPage", "Custom Filters", 0));
+ FilterPage->setWindowTitle(QApplication::translate("FilterPage", "Form", Q_NULLPTR));
+ label->setText(QApplication::translate("FilterPage", "Filter attributes for current documentation (comma separated list):", Q_NULLPTR));
+ groupBox->setTitle(QApplication::translate("FilterPage", "Custom Filters", Q_NULLPTR));
QTreeWidgetItem *___qtreewidgetitem = customFilterWidget->headerItem();
- ___qtreewidgetitem->setText(1, QApplication::translate("FilterPage", "2", 0));
- ___qtreewidgetitem->setText(0, QApplication::translate("FilterPage", "1", 0));
- addButton->setText(QApplication::translate("FilterPage", "Add", 0));
- removeButton->setText(QApplication::translate("FilterPage", "Remove", 0));
+ ___qtreewidgetitem->setText(1, QApplication::translate("FilterPage", "2", Q_NULLPTR));
+ ___qtreewidgetitem->setText(0, QApplication::translate("FilterPage", "1", Q_NULLPTR));
+ addButton->setText(QApplication::translate("FilterPage", "Add", Q_NULLPTR));
+ removeButton->setText(QApplication::translate("FilterPage", "Remove", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/finddialog.ui.h b/tests/auto/tools/uic/baseline/finddialog.ui.h
index 8c587d2814..de354627f0 100644
--- a/tests/auto/tools/uic/baseline/finddialog.ui.h
+++ b/tests/auto/tools/uic/baseline/finddialog.ui.h
@@ -196,40 +196,40 @@ public:
void retranslateUi(QDialog *FindDialog)
{
- FindDialog->setWindowTitle(QApplication::translate("FindDialog", "Find", 0));
+ FindDialog->setWindowTitle(QApplication::translate("FindDialog", "Find", Q_NULLPTR));
#ifndef QT_NO_WHATSTHIS
- FindDialog->setWhatsThis(QApplication::translate("FindDialog", "This window allows you to search for some text in the translation source file.", 0));
+ FindDialog->setWhatsThis(QApplication::translate("FindDialog", "This window allows you to search for some text in the translation source file.", Q_NULLPTR));
#endif // QT_NO_WHATSTHIS
- findWhat->setText(QApplication::translate("FindDialog", "&Find what:", 0));
+ findWhat->setText(QApplication::translate("FindDialog", "&Find what:", Q_NULLPTR));
#ifndef QT_NO_WHATSTHIS
- led->setWhatsThis(QApplication::translate("FindDialog", "Type in the text to search for.", 0));
+ led->setWhatsThis(QApplication::translate("FindDialog", "Type in the text to search for.", Q_NULLPTR));
#endif // QT_NO_WHATSTHIS
- groupBox->setTitle(QApplication::translate("FindDialog", "Options", 0));
+ groupBox->setTitle(QApplication::translate("FindDialog", "Options", Q_NULLPTR));
#ifndef QT_NO_WHATSTHIS
- sourceText->setWhatsThis(QApplication::translate("FindDialog", "Source texts are searched when checked.", 0));
+ sourceText->setWhatsThis(QApplication::translate("FindDialog", "Source texts are searched when checked.", Q_NULLPTR));
#endif // QT_NO_WHATSTHIS
- sourceText->setText(QApplication::translate("FindDialog", "&Source texts", 0));
+ sourceText->setText(QApplication::translate("FindDialog", "&Source texts", Q_NULLPTR));
#ifndef QT_NO_WHATSTHIS
- translations->setWhatsThis(QApplication::translate("FindDialog", "Translations are searched when checked.", 0));
+ translations->setWhatsThis(QApplication::translate("FindDialog", "Translations are searched when checked.", Q_NULLPTR));
#endif // QT_NO_WHATSTHIS
- translations->setText(QApplication::translate("FindDialog", "&Translations", 0));
+ translations->setText(QApplication::translate("FindDialog", "&Translations", Q_NULLPTR));
#ifndef QT_NO_WHATSTHIS
- matchCase->setWhatsThis(QApplication::translate("FindDialog", "Texts such as 'TeX' and 'tex' are considered as different when checked.", 0));
+ matchCase->setWhatsThis(QApplication::translate("FindDialog", "Texts such as 'TeX' and 'tex' are considered as different when checked.", Q_NULLPTR));
#endif // QT_NO_WHATSTHIS
- matchCase->setText(QApplication::translate("FindDialog", "&Match case", 0));
+ matchCase->setText(QApplication::translate("FindDialog", "&Match case", Q_NULLPTR));
#ifndef QT_NO_WHATSTHIS
- comments->setWhatsThis(QApplication::translate("FindDialog", "Comments and contexts are searched when checked.", 0));
+ comments->setWhatsThis(QApplication::translate("FindDialog", "Comments and contexts are searched when checked.", Q_NULLPTR));
#endif // QT_NO_WHATSTHIS
- comments->setText(QApplication::translate("FindDialog", "&Comments", 0));
- ignoreAccelerators->setText(QApplication::translate("FindDialog", "Ignore &accelerators", 0));
+ comments->setText(QApplication::translate("FindDialog", "&Comments", Q_NULLPTR));
+ ignoreAccelerators->setText(QApplication::translate("FindDialog", "Ignore &accelerators", Q_NULLPTR));
#ifndef QT_NO_WHATSTHIS
- findNxt->setWhatsThis(QApplication::translate("FindDialog", "Click here to find the next occurrence of the text you typed in.", 0));
+ findNxt->setWhatsThis(QApplication::translate("FindDialog", "Click here to find the next occurrence of the text you typed in.", Q_NULLPTR));
#endif // QT_NO_WHATSTHIS
- findNxt->setText(QApplication::translate("FindDialog", "Find Next", 0));
+ findNxt->setText(QApplication::translate("FindDialog", "Find Next", Q_NULLPTR));
#ifndef QT_NO_WHATSTHIS
- cancel->setWhatsThis(QApplication::translate("FindDialog", "Click here to close this window.", 0));
+ cancel->setWhatsThis(QApplication::translate("FindDialog", "Click here to close this window.", Q_NULLPTR));
#endif // QT_NO_WHATSTHIS
- cancel->setText(QApplication::translate("FindDialog", "Cancel", 0));
+ cancel->setText(QApplication::translate("FindDialog", "Cancel", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/form.ui.h b/tests/auto/tools/uic/baseline/form.ui.h
index 0b82a41f5d..89a08c2050 100644
--- a/tests/auto/tools/uic/baseline/form.ui.h
+++ b/tests/auto/tools/uic/baseline/form.ui.h
@@ -126,9 +126,9 @@ public:
void retranslateUi(QWidget *WorldTimeForm)
{
- WorldTimeForm->setWindowTitle(QApplication::translate("WorldTimeForm", "World Time Clock", 0));
- label->setText(QApplication::translate("WorldTimeForm", "Current time:", 0));
- label_2->setText(QApplication::translate("WorldTimeForm", "Set time zone:", 0));
+ WorldTimeForm->setWindowTitle(QApplication::translate("WorldTimeForm", "World Time Clock", Q_NULLPTR));
+ label->setText(QApplication::translate("WorldTimeForm", "Current time:", Q_NULLPTR));
+ label_2->setText(QApplication::translate("WorldTimeForm", "Set time zone:", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/formwindowsettings.ui.h b/tests/auto/tools/uic/baseline/formwindowsettings.ui.h
index 5b3c3c2368..2aafa8b6c0 100644
--- a/tests/auto/tools/uic/baseline/formwindowsettings.ui.h
+++ b/tests/auto/tools/uic/baseline/formwindowsettings.ui.h
@@ -274,17 +274,17 @@ public:
void retranslateUi(QDialog *FormWindowSettings)
{
- FormWindowSettings->setWindowTitle(QApplication::translate("FormWindowSettings", "Form Settings", 0));
- layoutDefaultGroupBox->setTitle(QApplication::translate("FormWindowSettings", "Layout &Default", 0));
- label_2->setText(QApplication::translate("FormWindowSettings", "&Spacing:", 0));
- label->setText(QApplication::translate("FormWindowSettings", "&Margin:", 0));
- layoutFunctionGroupBox->setTitle(QApplication::translate("FormWindowSettings", "&Layout Function", 0));
- label_3->setText(QApplication::translate("FormWindowSettings", "Ma&rgin:", 0));
- label_3_2->setText(QApplication::translate("FormWindowSettings", "Spa&cing:", 0));
- pixmapFunctionGroupBox_2->setTitle(QApplication::translate("FormWindowSettings", "&Author", 0));
- includeHintsGroupBox->setTitle(QApplication::translate("FormWindowSettings", "&Include Hints", 0));
- pixmapFunctionGroupBox->setTitle(QApplication::translate("FormWindowSettings", "&Pixmap Function", 0));
- gridPanel->setTitle(QApplication::translate("FormWindowSettings", "Grid", 0));
+ FormWindowSettings->setWindowTitle(QApplication::translate("FormWindowSettings", "Form Settings", Q_NULLPTR));
+ layoutDefaultGroupBox->setTitle(QApplication::translate("FormWindowSettings", "Layout &Default", Q_NULLPTR));
+ label_2->setText(QApplication::translate("FormWindowSettings", "&Spacing:", Q_NULLPTR));
+ label->setText(QApplication::translate("FormWindowSettings", "&Margin:", Q_NULLPTR));
+ layoutFunctionGroupBox->setTitle(QApplication::translate("FormWindowSettings", "&Layout Function", Q_NULLPTR));
+ label_3->setText(QApplication::translate("FormWindowSettings", "Ma&rgin:", Q_NULLPTR));
+ label_3_2->setText(QApplication::translate("FormWindowSettings", "Spa&cing:", Q_NULLPTR));
+ pixmapFunctionGroupBox_2->setTitle(QApplication::translate("FormWindowSettings", "&Author", Q_NULLPTR));
+ includeHintsGroupBox->setTitle(QApplication::translate("FormWindowSettings", "&Include Hints", Q_NULLPTR));
+ pixmapFunctionGroupBox->setTitle(QApplication::translate("FormWindowSettings", "&Pixmap Function", Q_NULLPTR));
+ gridPanel->setTitle(QApplication::translate("FormWindowSettings", "Grid", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/generalpage.ui.h b/tests/auto/tools/uic/baseline/generalpage.ui.h
index ec51c40ab5..6cdc6f812e 100644
--- a/tests/auto/tools/uic/baseline/generalpage.ui.h
+++ b/tests/auto/tools/uic/baseline/generalpage.ui.h
@@ -76,9 +76,9 @@ public:
void retranslateUi(QWidget *GeneralPage)
{
- GeneralPage->setWindowTitle(QApplication::translate("GeneralPage", "Form", 0));
- label->setText(QApplication::translate("GeneralPage", "Namespace:", 0));
- label_2->setText(QApplication::translate("GeneralPage", "Virtual Folder:", 0));
+ GeneralPage->setWindowTitle(QApplication::translate("GeneralPage", "Form", Q_NULLPTR));
+ label->setText(QApplication::translate("GeneralPage", "Namespace:", Q_NULLPTR));
+ label_2->setText(QApplication::translate("GeneralPage", "Virtual Folder:", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/gridalignment.ui.h b/tests/auto/tools/uic/baseline/gridalignment.ui.h
index 8e82d5460d..3513e0e727 100644
--- a/tests/auto/tools/uic/baseline/gridalignment.ui.h
+++ b/tests/auto/tools/uic/baseline/gridalignment.ui.h
@@ -64,11 +64,11 @@ public:
void retranslateUi(QWidget *Form)
{
- Form->setWindowTitle(QApplication::translate("Form", "Form", 0));
- pushButton->setText(QApplication::translate("Form", "Left", 0));
- pushButton_3->setText(QApplication::translate("Form", "Top", 0));
- pushButton_2->setText(QApplication::translate("Form", "Right", 0));
- pushButton_4->setText(QApplication::translate("Form", "Bottom", 0));
+ Form->setWindowTitle(QApplication::translate("Form", "Form", Q_NULLPTR));
+ pushButton->setText(QApplication::translate("Form", "Left", Q_NULLPTR));
+ pushButton_3->setText(QApplication::translate("Form", "Top", Q_NULLPTR));
+ pushButton_2->setText(QApplication::translate("Form", "Right", Q_NULLPTR));
+ pushButton_4->setText(QApplication::translate("Form", "Bottom", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/gridpanel.ui.h b/tests/auto/tools/uic/baseline/gridpanel.ui.h
index c289914aaf..2c61c7228b 100644
--- a/tests/auto/tools/uic/baseline/gridpanel.ui.h
+++ b/tests/auto/tools/uic/baseline/gridpanel.ui.h
@@ -135,14 +135,14 @@ public:
void retranslateUi(QWidget *qdesigner_internal__GridPanel)
{
- qdesigner_internal__GridPanel->setWindowTitle(QApplication::translate("qdesigner_internal::GridPanel", "Form", 0));
- m_gridGroupBox->setTitle(QApplication::translate("qdesigner_internal::GridPanel", "Grid", 0));
- m_visibleCheckBox->setText(QApplication::translate("qdesigner_internal::GridPanel", "Visible", 0));
- label->setText(QApplication::translate("qdesigner_internal::GridPanel", "Grid &X", 0));
- m_snapXCheckBox->setText(QApplication::translate("qdesigner_internal::GridPanel", "Snap", 0));
- m_resetButton->setText(QApplication::translate("qdesigner_internal::GridPanel", "Reset", 0));
- label_2->setText(QApplication::translate("qdesigner_internal::GridPanel", "Grid &Y", 0));
- m_snapYCheckBox->setText(QApplication::translate("qdesigner_internal::GridPanel", "Snap", 0));
+ qdesigner_internal__GridPanel->setWindowTitle(QApplication::translate("qdesigner_internal::GridPanel", "Form", Q_NULLPTR));
+ m_gridGroupBox->setTitle(QApplication::translate("qdesigner_internal::GridPanel", "Grid", Q_NULLPTR));
+ m_visibleCheckBox->setText(QApplication::translate("qdesigner_internal::GridPanel", "Visible", Q_NULLPTR));
+ label->setText(QApplication::translate("qdesigner_internal::GridPanel", "Grid &X", Q_NULLPTR));
+ m_snapXCheckBox->setText(QApplication::translate("qdesigner_internal::GridPanel", "Snap", Q_NULLPTR));
+ m_resetButton->setText(QApplication::translate("qdesigner_internal::GridPanel", "Reset", Q_NULLPTR));
+ label_2->setText(QApplication::translate("qdesigner_internal::GridPanel", "Grid &Y", Q_NULLPTR));
+ m_snapYCheckBox->setText(QApplication::translate("qdesigner_internal::GridPanel", "Snap", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/helpdialog.ui.h b/tests/auto/tools/uic/baseline/helpdialog.ui.h
index e0a270b5a2..77cc30314f 100644
--- a/tests/auto/tools/uic/baseline/helpdialog.ui.h
+++ b/tests/auto/tools/uic/baseline/helpdialog.ui.h
@@ -298,77 +298,77 @@ public:
void retranslateUi(QWidget *HelpDialog)
{
- HelpDialog->setWindowTitle(QApplication::translate("HelpDialog", "Help", 0));
+ HelpDialog->setWindowTitle(QApplication::translate("HelpDialog", "Help", Q_NULLPTR));
#ifndef QT_NO_WHATSTHIS
- HelpDialog->setWhatsThis(QApplication::translate("HelpDialog", "<b>Help</b><p>Choose the topic you want help on from the contents list, or search the index for keywords.</p>", 0));
+ HelpDialog->setWhatsThis(QApplication::translate("HelpDialog", "<b>Help</b><p>Choose the topic you want help on from the contents list, or search the index for keywords.</p>", Q_NULLPTR));
#endif // QT_NO_WHATSTHIS
#ifndef QT_NO_WHATSTHIS
- tabWidget->setWhatsThis(QApplication::translate("HelpDialog", "Displays help topics organized by category, index or bookmarks. Another tab inherits the full text search.", 0));
+ tabWidget->setWhatsThis(QApplication::translate("HelpDialog", "Displays help topics organized by category, index or bookmarks. Another tab inherits the full text search.", Q_NULLPTR));
#endif // QT_NO_WHATSTHIS
QTreeWidgetItem *___qtreewidgetitem = listContents->headerItem();
- ___qtreewidgetitem->setText(0, QApplication::translate("HelpDialog", "column 1", 0));
+ ___qtreewidgetitem->setText(0, QApplication::translate("HelpDialog", "column 1", Q_NULLPTR));
#ifndef QT_NO_WHATSTHIS
- listContents->setWhatsThis(QApplication::translate("HelpDialog", "<b>Help topics organized by category.</b><p>Double-click an item to see the topics in that category. To view a topic, just double-click it.</p>", 0));
+ listContents->setWhatsThis(QApplication::translate("HelpDialog", "<b>Help topics organized by category.</b><p>Double-click an item to see the topics in that category. To view a topic, just double-click it.</p>", Q_NULLPTR));
#endif // QT_NO_WHATSTHIS
- tabWidget->setTabText(tabWidget->indexOf(contentPage), QApplication::translate("HelpDialog", "Con&tents", 0));
- TextLabel1->setText(QApplication::translate("HelpDialog", "&Look For:", 0));
+ tabWidget->setTabText(tabWidget->indexOf(contentPage), QApplication::translate("HelpDialog", "Con&tents", Q_NULLPTR));
+ TextLabel1->setText(QApplication::translate("HelpDialog", "&Look For:", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- editIndex->setToolTip(QApplication::translate("HelpDialog", "Enter keyword", 0));
+ editIndex->setToolTip(QApplication::translate("HelpDialog", "Enter keyword", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
#ifndef QT_NO_WHATSTHIS
- editIndex->setWhatsThis(QApplication::translate("HelpDialog", "<b>Enter a keyword.</b><p>The list will select an item that matches the entered string best.</p>", 0));
+ editIndex->setWhatsThis(QApplication::translate("HelpDialog", "<b>Enter a keyword.</b><p>The list will select an item that matches the entered string best.</p>", Q_NULLPTR));
#endif // QT_NO_WHATSTHIS
#ifndef QT_NO_WHATSTHIS
- listIndex->setWhatsThis(QApplication::translate("HelpDialog", "<b>List of available help topics.</b><p>Double-click on an item to open its help page. If more than one is found, you must specify which page you want.</p>", 0));
+ listIndex->setWhatsThis(QApplication::translate("HelpDialog", "<b>List of available help topics.</b><p>Double-click on an item to open its help page. If more than one is found, you must specify which page you want.</p>", Q_NULLPTR));
#endif // QT_NO_WHATSTHIS
- tabWidget->setTabText(tabWidget->indexOf(indexPage), QApplication::translate("HelpDialog", "&Index", 0));
+ tabWidget->setTabText(tabWidget->indexOf(indexPage), QApplication::translate("HelpDialog", "&Index", Q_NULLPTR));
QTreeWidgetItem *___qtreewidgetitem1 = listBookmarks->headerItem();
- ___qtreewidgetitem1->setText(0, QApplication::translate("HelpDialog", "column 1", 0));
+ ___qtreewidgetitem1->setText(0, QApplication::translate("HelpDialog", "column 1", Q_NULLPTR));
#ifndef QT_NO_WHATSTHIS
- listBookmarks->setWhatsThis(QApplication::translate("HelpDialog", "Displays the list of bookmarks.", 0));
+ listBookmarks->setWhatsThis(QApplication::translate("HelpDialog", "Displays the list of bookmarks.", Q_NULLPTR));
#endif // QT_NO_WHATSTHIS
#ifndef QT_NO_TOOLTIP
- buttonAdd->setToolTip(QApplication::translate("HelpDialog", "Add new bookmark", 0));
+ buttonAdd->setToolTip(QApplication::translate("HelpDialog", "Add new bookmark", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
#ifndef QT_NO_WHATSTHIS
- buttonAdd->setWhatsThis(QApplication::translate("HelpDialog", "Add the currently displayed page as a new bookmark.", 0));
+ buttonAdd->setWhatsThis(QApplication::translate("HelpDialog", "Add the currently displayed page as a new bookmark.", Q_NULLPTR));
#endif // QT_NO_WHATSTHIS
- buttonAdd->setText(QApplication::translate("HelpDialog", "&New", 0));
+ buttonAdd->setText(QApplication::translate("HelpDialog", "&New", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- buttonRemove->setToolTip(QApplication::translate("HelpDialog", "Delete bookmark", 0));
+ buttonRemove->setToolTip(QApplication::translate("HelpDialog", "Delete bookmark", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
#ifndef QT_NO_WHATSTHIS
- buttonRemove->setWhatsThis(QApplication::translate("HelpDialog", "Delete the selected bookmark.", 0));
+ buttonRemove->setWhatsThis(QApplication::translate("HelpDialog", "Delete the selected bookmark.", Q_NULLPTR));
#endif // QT_NO_WHATSTHIS
- buttonRemove->setText(QApplication::translate("HelpDialog", "&Delete", 0));
- tabWidget->setTabText(tabWidget->indexOf(bookmarkPage), QApplication::translate("HelpDialog", "&Bookmarks", 0));
- TextLabel1_2->setText(QApplication::translate("HelpDialog", "Searching f&or:", 0));
+ buttonRemove->setText(QApplication::translate("HelpDialog", "&Delete", Q_NULLPTR));
+ tabWidget->setTabText(tabWidget->indexOf(bookmarkPage), QApplication::translate("HelpDialog", "&Bookmarks", Q_NULLPTR));
+ TextLabel1_2->setText(QApplication::translate("HelpDialog", "Searching f&or:", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- termsEdit->setToolTip(QApplication::translate("HelpDialog", "Enter searchword(s).", 0));
+ termsEdit->setToolTip(QApplication::translate("HelpDialog", "Enter searchword(s).", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
#ifndef QT_NO_WHATSTHIS
- termsEdit->setWhatsThis(QApplication::translate("HelpDialog", "<b>Enter search word(s).</b><p>Enter here the word(s) you are looking for. The words may contain wildcards (*). For a sequence of words quote them.</p>", 0));
+ termsEdit->setWhatsThis(QApplication::translate("HelpDialog", "<b>Enter search word(s).</b><p>Enter here the word(s) you are looking for. The words may contain wildcards (*). For a sequence of words quote them.</p>", Q_NULLPTR));
#endif // QT_NO_WHATSTHIS
#ifndef QT_NO_WHATSTHIS
- resultBox->setWhatsThis(QApplication::translate("HelpDialog", "<b>Found documents</b><p>This list contains all found documents from the last search. The documents are ordered, i.e. the first document has the most matches.</p>", 0));
+ resultBox->setWhatsThis(QApplication::translate("HelpDialog", "<b>Found documents</b><p>This list contains all found documents from the last search. The documents are ordered, i.e. the first document has the most matches.</p>", Q_NULLPTR));
#endif // QT_NO_WHATSTHIS
- TextLabel2->setText(QApplication::translate("HelpDialog", "Found &Documents:", 0));
+ TextLabel2->setText(QApplication::translate("HelpDialog", "Found &Documents:", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- helpButton->setToolTip(QApplication::translate("HelpDialog", "Display the help page.", 0));
+ helpButton->setToolTip(QApplication::translate("HelpDialog", "Display the help page.", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
#ifndef QT_NO_WHATSTHIS
- helpButton->setWhatsThis(QApplication::translate("HelpDialog", "Display the help page for the full text search.", 0));
+ helpButton->setWhatsThis(QApplication::translate("HelpDialog", "Display the help page for the full text search.", Q_NULLPTR));
#endif // QT_NO_WHATSTHIS
- helpButton->setText(QApplication::translate("HelpDialog", "He&lp", 0));
+ helpButton->setText(QApplication::translate("HelpDialog", "He&lp", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- searchButton->setToolTip(QApplication::translate("HelpDialog", "Start searching.", 0));
+ searchButton->setToolTip(QApplication::translate("HelpDialog", "Start searching.", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
#ifndef QT_NO_WHATSTHIS
- searchButton->setWhatsThis(QApplication::translate("HelpDialog", "Pressing this button starts the search.", 0));
+ searchButton->setWhatsThis(QApplication::translate("HelpDialog", "Pressing this button starts the search.", Q_NULLPTR));
#endif // QT_NO_WHATSTHIS
- searchButton->setText(QApplication::translate("HelpDialog", "&Search", 0));
- tabWidget->setTabText(tabWidget->indexOf(searchPage), QApplication::translate("HelpDialog", "&Search", 0));
- labelPrepare->setText(QApplication::translate("HelpDialog", "Preparing...", 0));
+ searchButton->setText(QApplication::translate("HelpDialog", "&Search", Q_NULLPTR));
+ tabWidget->setTabText(tabWidget->indexOf(searchPage), QApplication::translate("HelpDialog", "&Search", Q_NULLPTR));
+ labelPrepare->setText(QApplication::translate("HelpDialog", "Preparing...", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/history.ui.h b/tests/auto/tools/uic/baseline/history.ui.h
index e4c4c7d1b5..b0eccba5bc 100644
--- a/tests/auto/tools/uic/baseline/history.ui.h
+++ b/tests/auto/tools/uic/baseline/history.ui.h
@@ -93,9 +93,9 @@ public:
void retranslateUi(QDialog *HistoryDialog)
{
- HistoryDialog->setWindowTitle(QApplication::translate("HistoryDialog", "History", 0));
- removeButton->setText(QApplication::translate("HistoryDialog", "&Remove", 0));
- removeAllButton->setText(QApplication::translate("HistoryDialog", "Remove &All", 0));
+ HistoryDialog->setWindowTitle(QApplication::translate("HistoryDialog", "History", Q_NULLPTR));
+ removeButton->setText(QApplication::translate("HistoryDialog", "&Remove", Q_NULLPTR));
+ removeAllButton->setText(QApplication::translate("HistoryDialog", "Remove &All", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/icontheme.ui.h b/tests/auto/tools/uic/baseline/icontheme.ui.h
index 28fd27475d..f9cc837761 100644
--- a/tests/auto/tools/uic/baseline/icontheme.ui.h
+++ b/tests/auto/tools/uic/baseline/icontheme.ui.h
@@ -77,10 +77,10 @@ public:
void retranslateUi(QWidget *Form)
{
- Form->setWindowTitle(QApplication::translate("Form", "Form", 0));
- fileicon->setText(QApplication::translate("Form", "fileicon", 0));
- fileandthemeicon->setText(QApplication::translate("Form", "PushButton", 0));
- themeicon->setText(QApplication::translate("Form", "PushButton", 0));
+ Form->setWindowTitle(QApplication::translate("Form", "Form", Q_NULLPTR));
+ fileicon->setText(QApplication::translate("Form", "fileicon", Q_NULLPTR));
+ fileandthemeicon->setText(QApplication::translate("Form", "PushButton", Q_NULLPTR));
+ themeicon->setText(QApplication::translate("Form", "PushButton", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/identifierpage.ui.h b/tests/auto/tools/uic/baseline/identifierpage.ui.h
index 9f92608c62..68649a8a9e 100644
--- a/tests/auto/tools/uic/baseline/identifierpage.ui.h
+++ b/tests/auto/tools/uic/baseline/identifierpage.ui.h
@@ -92,10 +92,10 @@ public:
void retranslateUi(QWidget *IdentifierPage)
{
- IdentifierPage->setWindowTitle(QApplication::translate("IdentifierPage", "Form", 0));
- identifierCheckBox->setText(QApplication::translate("IdentifierPage", "Create identifiers", 0));
- globalButton->setText(QApplication::translate("IdentifierPage", "Global prefix:", 0));
- fileNameButton->setText(QApplication::translate("IdentifierPage", "Inherit prefix from file names", 0));
+ IdentifierPage->setWindowTitle(QApplication::translate("IdentifierPage", "Form", Q_NULLPTR));
+ identifierCheckBox->setText(QApplication::translate("IdentifierPage", "Create identifiers", Q_NULLPTR));
+ globalButton->setText(QApplication::translate("IdentifierPage", "Global prefix:", Q_NULLPTR));
+ fileNameButton->setText(QApplication::translate("IdentifierPage", "Inherit prefix from file names", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/imagedialog.ui.h b/tests/auto/tools/uic/baseline/imagedialog.ui.h
index 99e853b7a8..9ce2a577f0 100644
--- a/tests/auto/tools/uic/baseline/imagedialog.ui.h
+++ b/tests/auto/tools/uic/baseline/imagedialog.ui.h
@@ -199,14 +199,14 @@ public:
void retranslateUi(QDialog *dialog)
{
- dialog->setWindowTitle(QApplication::translate("ImageDialog", "Create Image", 0));
- widthLabel->setText(QApplication::translate("ImageDialog", "Width:", 0));
- heightLabel->setText(QApplication::translate("ImageDialog", "Height:", 0));
- nameLineEdit->setText(QApplication::translate("ImageDialog", "Untitled image", 0));
- nameLabel->setText(QApplication::translate("ImageDialog", "Name:", 0));
- colorDepthLabel->setText(QApplication::translate("ImageDialog", "Color depth:", 0));
- okButton->setText(QApplication::translate("ImageDialog", "OK", 0));
- cancelButton->setText(QApplication::translate("ImageDialog", "Cancel", 0));
+ dialog->setWindowTitle(QApplication::translate("ImageDialog", "Create Image", Q_NULLPTR));
+ widthLabel->setText(QApplication::translate("ImageDialog", "Width:", Q_NULLPTR));
+ heightLabel->setText(QApplication::translate("ImageDialog", "Height:", Q_NULLPTR));
+ nameLineEdit->setText(QApplication::translate("ImageDialog", "Untitled image", Q_NULLPTR));
+ nameLabel->setText(QApplication::translate("ImageDialog", "Name:", Q_NULLPTR));
+ colorDepthLabel->setText(QApplication::translate("ImageDialog", "Color depth:", Q_NULLPTR));
+ okButton->setText(QApplication::translate("ImageDialog", "OK", Q_NULLPTR));
+ cancelButton->setText(QApplication::translate("ImageDialog", "Cancel", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/inputpage.ui.h b/tests/auto/tools/uic/baseline/inputpage.ui.h
index b064f94c20..ad97dfcf85 100644
--- a/tests/auto/tools/uic/baseline/inputpage.ui.h
+++ b/tests/auto/tools/uic/baseline/inputpage.ui.h
@@ -84,9 +84,9 @@ public:
void retranslateUi(QWidget *InputPage)
{
- InputPage->setWindowTitle(QApplication::translate("InputPage", "Form", 0));
- label->setText(QApplication::translate("InputPage", "File name:", 0));
- browseButton->setText(QApplication::translate("InputPage", "...", 0));
+ InputPage->setWindowTitle(QApplication::translate("InputPage", "Form", Q_NULLPTR));
+ label->setText(QApplication::translate("InputPage", "File name:", Q_NULLPTR));
+ browseButton->setText(QApplication::translate("InputPage", "...", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/installdialog.ui.h b/tests/auto/tools/uic/baseline/installdialog.ui.h
index 6ba51c7404..5bbd7b6f08 100644
--- a/tests/auto/tools/uic/baseline/installdialog.ui.h
+++ b/tests/auto/tools/uic/baseline/installdialog.ui.h
@@ -123,13 +123,13 @@ public:
void retranslateUi(QDialog *InstallDialog)
{
- InstallDialog->setWindowTitle(QApplication::translate("InstallDialog", "Install Documentation", 0));
- label->setText(QApplication::translate("InstallDialog", "Available Documentation:", 0));
- installButton->setText(QApplication::translate("InstallDialog", "Install", 0));
- cancelButton->setText(QApplication::translate("InstallDialog", "Cancel", 0));
- closeButton->setText(QApplication::translate("InstallDialog", "Close", 0));
- label_4->setText(QApplication::translate("InstallDialog", "Installation Path:", 0));
- browseButton->setText(QApplication::translate("InstallDialog", "...", 0));
+ InstallDialog->setWindowTitle(QApplication::translate("InstallDialog", "Install Documentation", Q_NULLPTR));
+ label->setText(QApplication::translate("InstallDialog", "Available Documentation:", Q_NULLPTR));
+ installButton->setText(QApplication::translate("InstallDialog", "Install", Q_NULLPTR));
+ cancelButton->setText(QApplication::translate("InstallDialog", "Cancel", Q_NULLPTR));
+ closeButton->setText(QApplication::translate("InstallDialog", "Close", Q_NULLPTR));
+ label_4->setText(QApplication::translate("InstallDialog", "Installation Path:", Q_NULLPTR));
+ browseButton->setText(QApplication::translate("InstallDialog", "...", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/languagesdialog.ui.h b/tests/auto/tools/uic/baseline/languagesdialog.ui.h
index dfdc1d1ac6..7d22656471 100644
--- a/tests/auto/tools/uic/baseline/languagesdialog.ui.h
+++ b/tests/auto/tools/uic/baseline/languagesdialog.ui.h
@@ -109,39 +109,39 @@ public:
void retranslateUi(QDialog *LanguagesDialog)
{
- LanguagesDialog->setWindowTitle(QApplication::translate("LanguagesDialog", "Auxiliary Languages", 0));
+ LanguagesDialog->setWindowTitle(QApplication::translate("LanguagesDialog", "Auxiliary Languages", Q_NULLPTR));
QTreeWidgetItem *___qtreewidgetitem = languagesList->headerItem();
- ___qtreewidgetitem->setText(1, QApplication::translate("LanguagesDialog", "File", 0));
- ___qtreewidgetitem->setText(0, QApplication::translate("LanguagesDialog", "Locale", 0));
+ ___qtreewidgetitem->setText(1, QApplication::translate("LanguagesDialog", "File", Q_NULLPTR));
+ ___qtreewidgetitem->setText(0, QApplication::translate("LanguagesDialog", "Locale", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
upButton->setToolTip(QApplication::translate("LanguagesDialog", "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
"p, li { white-space: pre-wrap; }\n"
"</style></head><body style=\" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;\">\n"
-"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">Move selected language up</p></body></html>", 0));
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">Move selected language up</p></body></html>", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- upButton->setText(QApplication::translate("LanguagesDialog", "up", 0));
+ upButton->setText(QApplication::translate("LanguagesDialog", "up", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
downButton->setToolTip(QApplication::translate("LanguagesDialog", "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
"p, li { white-space: pre-wrap; }\n"
"</style></head><body style=\" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;\">\n"
-"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;\">Move selected language down</p></body></html>", 0));
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;\">Move selected language down</p></body></html>", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- downButton->setText(QApplication::translate("LanguagesDialog", "down", 0));
+ downButton->setText(QApplication::translate("LanguagesDialog", "down", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
removeButton->setToolTip(QApplication::translate("LanguagesDialog", "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
"p, li { white-space: pre-wrap; }\n"
"</style></head><body style=\" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;\">\n"
-"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">Remove selected language</p></body></html>", 0));
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">Remove selected language</p></body></html>", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- removeButton->setText(QApplication::translate("LanguagesDialog", "remove", 0));
+ removeButton->setText(QApplication::translate("LanguagesDialog", "remove", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
openFileButton->setToolTip(QApplication::translate("LanguagesDialog", "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
"p, li { white-space: pre-wrap; }\n"
"</style></head><body style=\" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;\">\n"
-"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">Open auxiliary language files</p></body></html>", 0));
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\">Open auxiliary language files</p></body></html>", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- openFileButton->setText(QApplication::translate("LanguagesDialog", "...", 0));
- okButton->setText(QApplication::translate("LanguagesDialog", "OK", 0));
+ openFileButton->setText(QApplication::translate("LanguagesDialog", "...", Q_NULLPTR));
+ okButton->setText(QApplication::translate("LanguagesDialog", "OK", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/listwidgeteditor.ui.h b/tests/auto/tools/uic/baseline/listwidgeteditor.ui.h
index 8ab616d5bf..2e18e6d71c 100644
--- a/tests/auto/tools/uic/baseline/listwidgeteditor.ui.h
+++ b/tests/auto/tools/uic/baseline/listwidgeteditor.ui.h
@@ -175,28 +175,28 @@ public:
void retranslateUi(QDialog *qdesigner_internal__ListWidgetEditor)
{
- qdesigner_internal__ListWidgetEditor->setWindowTitle(QApplication::translate("qdesigner_internal::ListWidgetEditor", "Dialog", 0));
- groupBox->setTitle(QApplication::translate("qdesigner_internal::ListWidgetEditor", "Items List", 0));
+ qdesigner_internal__ListWidgetEditor->setWindowTitle(QApplication::translate("qdesigner_internal::ListWidgetEditor", "Dialog", Q_NULLPTR));
+ groupBox->setTitle(QApplication::translate("qdesigner_internal::ListWidgetEditor", "Items List", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- listWidget->setToolTip(QApplication::translate("qdesigner_internal::ListWidgetEditor", "Items List", 0));
+ listWidget->setToolTip(QApplication::translate("qdesigner_internal::ListWidgetEditor", "Items List", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
#ifndef QT_NO_TOOLTIP
- newItemButton->setToolTip(QApplication::translate("qdesigner_internal::ListWidgetEditor", "New Item", 0));
+ newItemButton->setToolTip(QApplication::translate("qdesigner_internal::ListWidgetEditor", "New Item", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- newItemButton->setText(QApplication::translate("qdesigner_internal::ListWidgetEditor", "&New", 0));
+ newItemButton->setText(QApplication::translate("qdesigner_internal::ListWidgetEditor", "&New", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- deleteItemButton->setToolTip(QApplication::translate("qdesigner_internal::ListWidgetEditor", "Delete Item", 0));
+ deleteItemButton->setToolTip(QApplication::translate("qdesigner_internal::ListWidgetEditor", "Delete Item", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- deleteItemButton->setText(QApplication::translate("qdesigner_internal::ListWidgetEditor", "&Delete", 0));
+ deleteItemButton->setText(QApplication::translate("qdesigner_internal::ListWidgetEditor", "&Delete", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- moveItemUpButton->setToolTip(QApplication::translate("qdesigner_internal::ListWidgetEditor", "Move Item Up", 0));
+ moveItemUpButton->setToolTip(QApplication::translate("qdesigner_internal::ListWidgetEditor", "Move Item Up", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- moveItemUpButton->setText(QApplication::translate("qdesigner_internal::ListWidgetEditor", "U", 0));
+ moveItemUpButton->setText(QApplication::translate("qdesigner_internal::ListWidgetEditor", "U", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- moveItemDownButton->setToolTip(QApplication::translate("qdesigner_internal::ListWidgetEditor", "Move Item Down", 0));
+ moveItemDownButton->setToolTip(QApplication::translate("qdesigner_internal::ListWidgetEditor", "Move Item Down", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- moveItemDownButton->setText(QApplication::translate("qdesigner_internal::ListWidgetEditor", "D", 0));
- label->setText(QApplication::translate("qdesigner_internal::ListWidgetEditor", "Icon", 0));
+ moveItemDownButton->setText(QApplication::translate("qdesigner_internal::ListWidgetEditor", "D", Q_NULLPTR));
+ label->setText(QApplication::translate("qdesigner_internal::ListWidgetEditor", "Icon", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/mainwindow.ui.h b/tests/auto/tools/uic/baseline/mainwindow.ui.h
index bb6c8641a1..62b1e8766c 100644
--- a/tests/auto/tools/uic/baseline/mainwindow.ui.h
+++ b/tests/auto/tools/uic/baseline/mainwindow.ui.h
@@ -363,30 +363,30 @@ public:
void retranslateUi(QMainWindow *MainWindow)
{
- MainWindow->setWindowTitle(QApplication::translate("MainWindow", "MakeQPF", 0));
- actionAdd_Custom_Font->setText(QApplication::translate("MainWindow", "&Add Custom Font...", 0));
- action_Exit->setText(QApplication::translate("MainWindow", "&Exit", 0));
- groupBox->setTitle(QApplication::translate("MainWindow", "Font Properties", 0));
- label->setText(QApplication::translate("MainWindow", "Family:", 0));
- label_2->setText(QApplication::translate("MainWindow", "Pixel Size:", 0));
- label_7->setText(QApplication::translate("MainWindow", "Weight:", 0));
- italic->setText(QApplication::translate("MainWindow", "Italic", 0));
- groupBox_2->setTitle(QApplication::translate("MainWindow", "Glyph Coverage", 0));
- chooseFromCodePoints->setText(QApplication::translate("MainWindow", "Choose from Unicode Codepoints:", 0));
- selectAll->setText(QApplication::translate("MainWindow", "Select &All", 0));
- deselectAll->setText(QApplication::translate("MainWindow", "&Deselect All", 0));
- invertSelection->setText(QApplication::translate("MainWindow", "&Invert Selection", 0));
- chooseFromSampleFile->setText(QApplication::translate("MainWindow", "Choose from Sample Text File (UTF-8 Encoded):", 0));
- label_5->setText(QApplication::translate("MainWindow", "Path:", 0));
- browseSampleFile->setText(QApplication::translate("MainWindow", "Browse...", 0));
- charCount->setText(QApplication::translate("MainWindow", "TextLabel", 0));
- groupBox_3->setTitle(QApplication::translate("MainWindow", "Preview", 0));
- groupBox_4->setTitle(QApplication::translate("MainWindow", "Output Options", 0));
- label_3->setText(QApplication::translate("MainWindow", "Path:", 0));
- browsePath->setText(QApplication::translate("MainWindow", "Browse...", 0));
- label_4->setText(QApplication::translate("MainWindow", "Filename:", 0));
- generate->setText(QApplication::translate("MainWindow", "Generate Pre-Rendered Font...", 0));
- menuFile->setTitle(QApplication::translate("MainWindow", "File", 0));
+ MainWindow->setWindowTitle(QApplication::translate("MainWindow", "MakeQPF", Q_NULLPTR));
+ actionAdd_Custom_Font->setText(QApplication::translate("MainWindow", "&Add Custom Font...", Q_NULLPTR));
+ action_Exit->setText(QApplication::translate("MainWindow", "&Exit", Q_NULLPTR));
+ groupBox->setTitle(QApplication::translate("MainWindow", "Font Properties", Q_NULLPTR));
+ label->setText(QApplication::translate("MainWindow", "Family:", Q_NULLPTR));
+ label_2->setText(QApplication::translate("MainWindow", "Pixel Size:", Q_NULLPTR));
+ label_7->setText(QApplication::translate("MainWindow", "Weight:", Q_NULLPTR));
+ italic->setText(QApplication::translate("MainWindow", "Italic", Q_NULLPTR));
+ groupBox_2->setTitle(QApplication::translate("MainWindow", "Glyph Coverage", Q_NULLPTR));
+ chooseFromCodePoints->setText(QApplication::translate("MainWindow", "Choose from Unicode Codepoints:", Q_NULLPTR));
+ selectAll->setText(QApplication::translate("MainWindow", "Select &All", Q_NULLPTR));
+ deselectAll->setText(QApplication::translate("MainWindow", "&Deselect All", Q_NULLPTR));
+ invertSelection->setText(QApplication::translate("MainWindow", "&Invert Selection", Q_NULLPTR));
+ chooseFromSampleFile->setText(QApplication::translate("MainWindow", "Choose from Sample Text File (UTF-8 Encoded):", Q_NULLPTR));
+ label_5->setText(QApplication::translate("MainWindow", "Path:", Q_NULLPTR));
+ browseSampleFile->setText(QApplication::translate("MainWindow", "Browse...", Q_NULLPTR));
+ charCount->setText(QApplication::translate("MainWindow", "TextLabel", Q_NULLPTR));
+ groupBox_3->setTitle(QApplication::translate("MainWindow", "Preview", Q_NULLPTR));
+ groupBox_4->setTitle(QApplication::translate("MainWindow", "Output Options", Q_NULLPTR));
+ label_3->setText(QApplication::translate("MainWindow", "Path:", Q_NULLPTR));
+ browsePath->setText(QApplication::translate("MainWindow", "Browse...", Q_NULLPTR));
+ label_4->setText(QApplication::translate("MainWindow", "Filename:", Q_NULLPTR));
+ generate->setText(QApplication::translate("MainWindow", "Generate Pre-Rendered Font...", Q_NULLPTR));
+ menuFile->setTitle(QApplication::translate("MainWindow", "File", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/mydialog.ui.h b/tests/auto/tools/uic/baseline/mydialog.ui.h
index 6f2462611b..061b476f63 100644
--- a/tests/auto/tools/uic/baseline/mydialog.ui.h
+++ b/tests/auto/tools/uic/baseline/mydialog.ui.h
@@ -59,10 +59,10 @@ public:
void retranslateUi(QDialog *MyDialog)
{
- MyDialog->setWindowTitle(QApplication::translate("MyDialog", "Mach 2!", 0));
- aLabel->setText(QApplication::translate("MyDialog", "Join the life in the fastlane; - PCH enable your project today! -", 0));
- aButton->setText(QApplication::translate("MyDialog", "&Quit", 0));
- aButton->setShortcut(QApplication::translate("MyDialog", "Alt+Q", 0));
+ MyDialog->setWindowTitle(QApplication::translate("MyDialog", "Mach 2!", Q_NULLPTR));
+ aLabel->setText(QApplication::translate("MyDialog", "Join the life in the fastlane; - PCH enable your project today! -", Q_NULLPTR));
+ aButton->setText(QApplication::translate("MyDialog", "&Quit", Q_NULLPTR));
+ aButton->setShortcut(QApplication::translate("MyDialog", "Alt+Q", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/myform.ui.h b/tests/auto/tools/uic/baseline/myform.ui.h
index 4c58bceed9..6e7873c5ad 100644
--- a/tests/auto/tools/uic/baseline/myform.ui.h
+++ b/tests/auto/tools/uic/baseline/myform.ui.h
@@ -123,17 +123,17 @@ public:
void retranslateUi(QWidget *Form)
{
- Form->setWindowTitle(QApplication::translate("Form", "Export Document", 0));
- groupBox->setTitle(QApplication::translate("Form", "Export Options", 0));
- radioButton_2->setText(QApplication::translate("Form", "&DocBook", 0));
- radioButton->setText(QApplication::translate("Form", "&LaTeX", 0));
- checkBox_2->setText(QApplication::translate("Form", "Include p&ictures", 0));
- checkBox->setText(QApplication::translate("Form", "&Compress", 0));
- radioButton_2_2->setText(QApplication::translate("Form", "&HTML", 0));
- radioButton_3->setText(QApplication::translate("Form", "&PostScript", 0));
- radioButton_4->setText(QApplication::translate("Form", "PD&F", 0));
- checkBox_3->setText(QApplication::translate("Form", "Include &metadata", 0));
- checkBox_4->setText(QApplication::translate("Form", "Create inde&x", 0));
+ Form->setWindowTitle(QApplication::translate("Form", "Export Document", Q_NULLPTR));
+ groupBox->setTitle(QApplication::translate("Form", "Export Options", Q_NULLPTR));
+ radioButton_2->setText(QApplication::translate("Form", "&DocBook", Q_NULLPTR));
+ radioButton->setText(QApplication::translate("Form", "&LaTeX", Q_NULLPTR));
+ checkBox_2->setText(QApplication::translate("Form", "Include p&ictures", Q_NULLPTR));
+ checkBox->setText(QApplication::translate("Form", "&Compress", Q_NULLPTR));
+ radioButton_2_2->setText(QApplication::translate("Form", "&HTML", Q_NULLPTR));
+ radioButton_3->setText(QApplication::translate("Form", "&PostScript", Q_NULLPTR));
+ radioButton_4->setText(QApplication::translate("Form", "PD&F", Q_NULLPTR));
+ checkBox_3->setText(QApplication::translate("Form", "Include &metadata", Q_NULLPTR));
+ checkBox_4->setText(QApplication::translate("Form", "Create inde&x", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/newactiondialog.ui.h b/tests/auto/tools/uic/baseline/newactiondialog.ui.h
index 2df21235b0..14c215c972 100644
--- a/tests/auto/tools/uic/baseline/newactiondialog.ui.h
+++ b/tests/auto/tools/uic/baseline/newactiondialog.ui.h
@@ -162,10 +162,10 @@ public:
void retranslateUi(QDialog *qdesigner_internal__NewActionDialog)
{
- qdesigner_internal__NewActionDialog->setWindowTitle(QApplication::translate("qdesigner_internal::NewActionDialog", "New Action...", 0));
- label->setText(QApplication::translate("qdesigner_internal::NewActionDialog", "&Text:", 0));
- label_3->setText(QApplication::translate("qdesigner_internal::NewActionDialog", "Object &name:", 0));
- label_2->setText(QApplication::translate("qdesigner_internal::NewActionDialog", "&Icon:", 0));
+ qdesigner_internal__NewActionDialog->setWindowTitle(QApplication::translate("qdesigner_internal::NewActionDialog", "New Action...", Q_NULLPTR));
+ label->setText(QApplication::translate("qdesigner_internal::NewActionDialog", "&Text:", Q_NULLPTR));
+ label_3->setText(QApplication::translate("qdesigner_internal::NewActionDialog", "Object &name:", Q_NULLPTR));
+ label_2->setText(QApplication::translate("qdesigner_internal::NewActionDialog", "&Icon:", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/newdynamicpropertydialog.ui.h b/tests/auto/tools/uic/baseline/newdynamicpropertydialog.ui.h
index 3c4e0ba09e..43a7250737 100644
--- a/tests/auto/tools/uic/baseline/newdynamicpropertydialog.ui.h
+++ b/tests/auto/tools/uic/baseline/newdynamicpropertydialog.ui.h
@@ -111,9 +111,9 @@ public:
void retranslateUi(QDialog *qdesigner_internal__NewDynamicPropertyDialog)
{
- qdesigner_internal__NewDynamicPropertyDialog->setWindowTitle(QApplication::translate("qdesigner_internal::NewDynamicPropertyDialog", "Create Dynamic Property", 0));
- label->setText(QApplication::translate("qdesigner_internal::NewDynamicPropertyDialog", "Property Name", 0));
- label_2->setText(QApplication::translate("qdesigner_internal::NewDynamicPropertyDialog", "Property Type", 0));
+ qdesigner_internal__NewDynamicPropertyDialog->setWindowTitle(QApplication::translate("qdesigner_internal::NewDynamicPropertyDialog", "Create Dynamic Property", Q_NULLPTR));
+ label->setText(QApplication::translate("qdesigner_internal::NewDynamicPropertyDialog", "Property Name", Q_NULLPTR));
+ label_2->setText(QApplication::translate("qdesigner_internal::NewDynamicPropertyDialog", "Property Type", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/newform.ui.h b/tests/auto/tools/uic/baseline/newform.ui.h
index c548797d40..438a537580 100644
--- a/tests/auto/tools/uic/baseline/newform.ui.h
+++ b/tests/auto/tools/uic/baseline/newform.ui.h
@@ -134,11 +134,11 @@ public:
void retranslateUi(QDialog *NewForm)
{
- NewForm->setWindowTitle(QApplication::translate("NewForm", "New Form", 0));
+ NewForm->setWindowTitle(QApplication::translate("NewForm", "New Form", Q_NULLPTR));
QTreeWidgetItem *___qtreewidgetitem = treeWidget->headerItem();
- ___qtreewidgetitem->setText(0, QApplication::translate("NewForm", "0", 0));
- lblPreview->setText(QApplication::translate("NewForm", "Choose a template for a preview", 0));
- chkShowOnStartup->setText(QApplication::translate("NewForm", "Show this Dialog on Startup", 0));
+ ___qtreewidgetitem->setText(0, QApplication::translate("NewForm", "0", Q_NULLPTR));
+ lblPreview->setText(QApplication::translate("NewForm", "Choose a template for a preview", Q_NULLPTR));
+ chkShowOnStartup->setText(QApplication::translate("NewForm", "Show this Dialog on Startup", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/orderdialog.ui.h b/tests/auto/tools/uic/baseline/orderdialog.ui.h
index aaeb67563d..483db65de2 100644
--- a/tests/auto/tools/uic/baseline/orderdialog.ui.h
+++ b/tests/auto/tools/uic/baseline/orderdialog.ui.h
@@ -133,13 +133,13 @@ public:
void retranslateUi(QDialog *qdesigner_internal__OrderDialog)
{
- qdesigner_internal__OrderDialog->setWindowTitle(QApplication::translate("qdesigner_internal::OrderDialog", "Change Page Order", 0));
- groupBox->setTitle(QApplication::translate("qdesigner_internal::OrderDialog", "Page Order", 0));
+ qdesigner_internal__OrderDialog->setWindowTitle(QApplication::translate("qdesigner_internal::OrderDialog", "Change Page Order", Q_NULLPTR));
+ groupBox->setTitle(QApplication::translate("qdesigner_internal::OrderDialog", "Page Order", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- upButton->setToolTip(QApplication::translate("qdesigner_internal::OrderDialog", "Move page up", 0));
+ upButton->setToolTip(QApplication::translate("qdesigner_internal::OrderDialog", "Move page up", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
#ifndef QT_NO_TOOLTIP
- downButton->setToolTip(QApplication::translate("qdesigner_internal::OrderDialog", "Move page down", 0));
+ downButton->setToolTip(QApplication::translate("qdesigner_internal::OrderDialog", "Move page down", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
} // retranslateUi
diff --git a/tests/auto/tools/uic/baseline/outputpage.ui.h b/tests/auto/tools/uic/baseline/outputpage.ui.h
index 4adb76e642..6d0c392f7e 100644
--- a/tests/auto/tools/uic/baseline/outputpage.ui.h
+++ b/tests/auto/tools/uic/baseline/outputpage.ui.h
@@ -90,9 +90,9 @@ public:
void retranslateUi(QWidget *OutputPage)
{
- OutputPage->setWindowTitle(QApplication::translate("OutputPage", "Form", 0));
- label->setText(QApplication::translate("OutputPage", "Project file name:", 0));
- label_2->setText(QApplication::translate("OutputPage", "Collection file name:", 0));
+ OutputPage->setWindowTitle(QApplication::translate("OutputPage", "Form", Q_NULLPTR));
+ label->setText(QApplication::translate("OutputPage", "Project file name:", Q_NULLPTR));
+ label_2->setText(QApplication::translate("OutputPage", "Collection file name:", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/pagefold.ui.h b/tests/auto/tools/uic/baseline/pagefold.ui.h
index e9ec66f4e9..b82c8d7fbd 100644
--- a/tests/auto/tools/uic/baseline/pagefold.ui.h
+++ b/tests/auto/tools/uic/baseline/pagefold.ui.h
@@ -233,88 +233,88 @@ public:
void retranslateUi(QMainWindow *MainWindow)
{
- MainWindow->setWindowTitle(QApplication::translate("MainWindow", "MainWindow", 0));
- exitAction->setText(QApplication::translate("MainWindow", "&Exit", 0));
- aboutQtAction->setText(QApplication::translate("MainWindow", "About Qt", 0));
- editStyleAction->setText(QApplication::translate("MainWindow", "Edit &Style", 0));
- aboutAction->setText(QApplication::translate("MainWindow", "About", 0));
+ MainWindow->setWindowTitle(QApplication::translate("MainWindow", "MainWindow", Q_NULLPTR));
+ exitAction->setText(QApplication::translate("MainWindow", "&Exit", Q_NULLPTR));
+ aboutQtAction->setText(QApplication::translate("MainWindow", "About Qt", Q_NULLPTR));
+ editStyleAction->setText(QApplication::translate("MainWindow", "Edit &Style", Q_NULLPTR));
+ aboutAction->setText(QApplication::translate("MainWindow", "About", Q_NULLPTR));
nameCombo->clear();
nameCombo->insertItems(0, QStringList()
- << QApplication::translate("MainWindow", "Girish", 0)
- << QApplication::translate("MainWindow", "Jasmin", 0)
- << QApplication::translate("MainWindow", "Simon", 0)
- << QApplication::translate("MainWindow", "Zack", 0)
+ << QApplication::translate("MainWindow", "Girish", Q_NULLPTR)
+ << QApplication::translate("MainWindow", "Jasmin", Q_NULLPTR)
+ << QApplication::translate("MainWindow", "Simon", Q_NULLPTR)
+ << QApplication::translate("MainWindow", "Zack", Q_NULLPTR)
);
#ifndef QT_NO_TOOLTIP
- nameCombo->setToolTip(QApplication::translate("MainWindow", "Specify your name", 0));
+ nameCombo->setToolTip(QApplication::translate("MainWindow", "Specify your name", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- femaleRadioButton->setStyleSheet(QApplication::translate("MainWindow", "Check this if you are female", 0));
- femaleRadioButton->setText(QApplication::translate("MainWindow", "&Female", 0));
- genderLabel->setText(QApplication::translate("MainWindow", "Gender:", 0));
- ageLabel->setText(QApplication::translate("MainWindow", "&Age:", 0));
+ femaleRadioButton->setStyleSheet(QApplication::translate("MainWindow", "Check this if you are female", Q_NULLPTR));
+ femaleRadioButton->setText(QApplication::translate("MainWindow", "&Female", Q_NULLPTR));
+ genderLabel->setText(QApplication::translate("MainWindow", "Gender:", Q_NULLPTR));
+ ageLabel->setText(QApplication::translate("MainWindow", "&Age:", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- maleRadioButton->setToolTip(QApplication::translate("MainWindow", "Check this if you are male", 0));
+ maleRadioButton->setToolTip(QApplication::translate("MainWindow", "Check this if you are male", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- maleRadioButton->setText(QApplication::translate("MainWindow", "&Male", 0));
- nameLabel->setText(QApplication::translate("MainWindow", "&Name:", 0));
- passwordLabel->setText(QApplication::translate("MainWindow", "&Password:", 0));
+ maleRadioButton->setText(QApplication::translate("MainWindow", "&Male", Q_NULLPTR));
+ nameLabel->setText(QApplication::translate("MainWindow", "&Name:", Q_NULLPTR));
+ passwordLabel->setText(QApplication::translate("MainWindow", "&Password:", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- ageSpinBox->setToolTip(QApplication::translate("MainWindow", "Specify your age", 0));
+ ageSpinBox->setToolTip(QApplication::translate("MainWindow", "Specify your age", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
#ifndef QT_NO_STATUSTIP
- ageSpinBox->setStatusTip(QApplication::translate("MainWindow", "Specify your age", 0));
+ ageSpinBox->setStatusTip(QApplication::translate("MainWindow", "Specify your age", Q_NULLPTR));
#endif // QT_NO_STATUSTIP
#ifndef QT_NO_TOOLTIP
- agreeCheckBox->setToolTip(QApplication::translate("MainWindow", "Please read the LICENSE file before checking", 0));
+ agreeCheckBox->setToolTip(QApplication::translate("MainWindow", "Please read the LICENSE file before checking", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- agreeCheckBox->setText(QApplication::translate("MainWindow", "I &accept the terms and &conditions", 0));
+ agreeCheckBox->setText(QApplication::translate("MainWindow", "I &accept the terms and &conditions", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- passwordEdit->setToolTip(QApplication::translate("MainWindow", "Specify your password", 0));
+ passwordEdit->setToolTip(QApplication::translate("MainWindow", "Specify your password", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
#ifndef QT_NO_STATUSTIP
- passwordEdit->setStatusTip(QApplication::translate("MainWindow", "Specify your password", 0));
+ passwordEdit->setStatusTip(QApplication::translate("MainWindow", "Specify your password", Q_NULLPTR));
#endif // QT_NO_STATUSTIP
- passwordEdit->setText(QApplication::translate("MainWindow", "Password", 0));
+ passwordEdit->setText(QApplication::translate("MainWindow", "Password", Q_NULLPTR));
const bool __sortingEnabled = professionList->isSortingEnabled();
professionList->setSortingEnabled(false);
QListWidgetItem *___qlistwidgetitem = professionList->item(0);
- ___qlistwidgetitem->setText(QApplication::translate("MainWindow", "Developer", 0));
+ ___qlistwidgetitem->setText(QApplication::translate("MainWindow", "Developer", Q_NULLPTR));
QListWidgetItem *___qlistwidgetitem1 = professionList->item(1);
- ___qlistwidgetitem1->setText(QApplication::translate("MainWindow", "Student", 0));
+ ___qlistwidgetitem1->setText(QApplication::translate("MainWindow", "Student", Q_NULLPTR));
QListWidgetItem *___qlistwidgetitem2 = professionList->item(2);
- ___qlistwidgetitem2->setText(QApplication::translate("MainWindow", "Fisherman", 0));
+ ___qlistwidgetitem2->setText(QApplication::translate("MainWindow", "Fisherman", Q_NULLPTR));
professionList->setSortingEnabled(__sortingEnabled);
#ifndef QT_NO_TOOLTIP
- professionList->setToolTip(QApplication::translate("MainWindow", "Select your profession", 0));
+ professionList->setToolTip(QApplication::translate("MainWindow", "Select your profession", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
#ifndef QT_NO_STATUSTIP
- professionList->setStatusTip(QApplication::translate("MainWindow", "Specify your name here", 0));
+ professionList->setStatusTip(QApplication::translate("MainWindow", "Specify your name here", Q_NULLPTR));
#endif // QT_NO_STATUSTIP
#ifndef QT_NO_WHATSTHIS
- professionList->setWhatsThis(QApplication::translate("MainWindow", "Specify your name here", 0));
+ professionList->setWhatsThis(QApplication::translate("MainWindow", "Specify your name here", Q_NULLPTR));
#endif // QT_NO_WHATSTHIS
- label->setText(QApplication::translate("MainWindow", "Profession:", 0));
+ label->setText(QApplication::translate("MainWindow", "Profession:", Q_NULLPTR));
countryCombo->clear();
countryCombo->insertItems(0, QStringList()
- << QApplication::translate("MainWindow", "Egypt", 0)
- << QApplication::translate("MainWindow", "France", 0)
- << QApplication::translate("MainWindow", "Germany", 0)
- << QApplication::translate("MainWindow", "India", 0)
- << QApplication::translate("MainWindow", "Italy", 0)
- << QApplication::translate("MainWindow", "Korea", 0)
- << QApplication::translate("MainWindow", "Norway", 0)
+ << QApplication::translate("MainWindow", "Egypt", Q_NULLPTR)
+ << QApplication::translate("MainWindow", "France", Q_NULLPTR)
+ << QApplication::translate("MainWindow", "Germany", Q_NULLPTR)
+ << QApplication::translate("MainWindow", "India", Q_NULLPTR)
+ << QApplication::translate("MainWindow", "Italy", Q_NULLPTR)
+ << QApplication::translate("MainWindow", "Korea", Q_NULLPTR)
+ << QApplication::translate("MainWindow", "Norway", Q_NULLPTR)
);
#ifndef QT_NO_TOOLTIP
- countryCombo->setToolTip(QApplication::translate("MainWindow", "Specify country of origin", 0));
+ countryCombo->setToolTip(QApplication::translate("MainWindow", "Specify country of origin", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
#ifndef QT_NO_STATUSTIP
- countryCombo->setStatusTip(QApplication::translate("MainWindow", "Specify country of origin", 0));
+ countryCombo->setStatusTip(QApplication::translate("MainWindow", "Specify country of origin", Q_NULLPTR));
#endif // QT_NO_STATUSTIP
- countryLabel->setText(QApplication::translate("MainWindow", "Pro&fession", 0));
- menu_File->setTitle(QApplication::translate("MainWindow", "&File", 0));
- menu_Help->setTitle(QApplication::translate("MainWindow", "&Help", 0));
+ countryLabel->setText(QApplication::translate("MainWindow", "Pro&fession", Q_NULLPTR));
+ menu_File->setTitle(QApplication::translate("MainWindow", "&File", Q_NULLPTR));
+ menu_Help->setTitle(QApplication::translate("MainWindow", "&Help", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/paletteeditor.ui.h b/tests/auto/tools/uic/baseline/paletteeditor.ui.h
index 3f28976ab7..17edb548ef 100644
--- a/tests/auto/tools/uic/baseline/paletteeditor.ui.h
+++ b/tests/auto/tools/uic/baseline/paletteeditor.ui.h
@@ -199,16 +199,16 @@ public:
void retranslateUi(QDialog *qdesigner_internal__PaletteEditor)
{
- qdesigner_internal__PaletteEditor->setWindowTitle(QApplication::translate("qdesigner_internal::PaletteEditor", "Edit Palette", 0));
- advancedBox->setTitle(QApplication::translate("qdesigner_internal::PaletteEditor", "Tune Palette", 0));
+ qdesigner_internal__PaletteEditor->setWindowTitle(QApplication::translate("qdesigner_internal::PaletteEditor", "Edit Palette", Q_NULLPTR));
+ advancedBox->setTitle(QApplication::translate("qdesigner_internal::PaletteEditor", "Tune Palette", Q_NULLPTR));
buildButton->setText(QString());
- detailsRadio->setText(QApplication::translate("qdesigner_internal::PaletteEditor", "Show Details", 0));
- computeRadio->setText(QApplication::translate("qdesigner_internal::PaletteEditor", "Compute Details", 0));
- label->setText(QApplication::translate("qdesigner_internal::PaletteEditor", "Quick", 0));
- GroupBox126->setTitle(QApplication::translate("qdesigner_internal::PaletteEditor", "Preview", 0));
- disabledRadio->setText(QApplication::translate("qdesigner_internal::PaletteEditor", "Disabled", 0));
- inactiveRadio->setText(QApplication::translate("qdesigner_internal::PaletteEditor", "Inactive", 0));
- activeRadio->setText(QApplication::translate("qdesigner_internal::PaletteEditor", "Active", 0));
+ detailsRadio->setText(QApplication::translate("qdesigner_internal::PaletteEditor", "Show Details", Q_NULLPTR));
+ computeRadio->setText(QApplication::translate("qdesigner_internal::PaletteEditor", "Compute Details", Q_NULLPTR));
+ label->setText(QApplication::translate("qdesigner_internal::PaletteEditor", "Quick", Q_NULLPTR));
+ GroupBox126->setTitle(QApplication::translate("qdesigner_internal::PaletteEditor", "Preview", Q_NULLPTR));
+ disabledRadio->setText(QApplication::translate("qdesigner_internal::PaletteEditor", "Disabled", Q_NULLPTR));
+ inactiveRadio->setText(QApplication::translate("qdesigner_internal::PaletteEditor", "Inactive", Q_NULLPTR));
+ activeRadio->setText(QApplication::translate("qdesigner_internal::PaletteEditor", "Active", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/passworddialog.ui.h b/tests/auto/tools/uic/baseline/passworddialog.ui.h
index b99954ab88..a9c9ed842f 100644
--- a/tests/auto/tools/uic/baseline/passworddialog.ui.h
+++ b/tests/auto/tools/uic/baseline/passworddialog.ui.h
@@ -101,11 +101,11 @@ public:
void retranslateUi(QDialog *PasswordDialog)
{
- PasswordDialog->setWindowTitle(QApplication::translate("PasswordDialog", "Authentication Required", 0));
- iconLabel->setText(QApplication::translate("PasswordDialog", "DUMMY ICON", 0));
- introLabel->setText(QApplication::translate("PasswordDialog", "INTRO TEXT DUMMY", 0));
- label->setText(QApplication::translate("PasswordDialog", "Username:", 0));
- lblPassword->setText(QApplication::translate("PasswordDialog", "Password:", 0));
+ PasswordDialog->setWindowTitle(QApplication::translate("PasswordDialog", "Authentication Required", Q_NULLPTR));
+ iconLabel->setText(QApplication::translate("PasswordDialog", "DUMMY ICON", Q_NULLPTR));
+ introLabel->setText(QApplication::translate("PasswordDialog", "INTRO TEXT DUMMY", Q_NULLPTR));
+ label->setText(QApplication::translate("PasswordDialog", "Username:", Q_NULLPTR));
+ lblPassword->setText(QApplication::translate("PasswordDialog", "Password:", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/pathpage.ui.h b/tests/auto/tools/uic/baseline/pathpage.ui.h
index 018e62c091..10a11d5fbd 100644
--- a/tests/auto/tools/uic/baseline/pathpage.ui.h
+++ b/tests/auto/tools/uic/baseline/pathpage.ui.h
@@ -107,11 +107,11 @@ public:
void retranslateUi(QWidget *PathPage)
{
- PathPage->setWindowTitle(QApplication::translate("PathPage", "Form", 0));
- label_2->setText(QApplication::translate("PathPage", "File filters:", 0));
- label->setText(QApplication::translate("PathPage", "Documentation source file paths:", 0));
- addButton->setText(QApplication::translate("PathPage", "Add", 0));
- removeButton->setText(QApplication::translate("PathPage", "Remove", 0));
+ PathPage->setWindowTitle(QApplication::translate("PathPage", "Form", Q_NULLPTR));
+ label_2->setText(QApplication::translate("PathPage", "File filters:", Q_NULLPTR));
+ label->setText(QApplication::translate("PathPage", "Documentation source file paths:", Q_NULLPTR));
+ addButton->setText(QApplication::translate("PathPage", "Add", Q_NULLPTR));
+ removeButton->setText(QApplication::translate("PathPage", "Remove", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/phrasebookbox.ui.h b/tests/auto/tools/uic/baseline/phrasebookbox.ui.h
index 100c244b0b..cc8963fcae 100644
--- a/tests/auto/tools/uic/baseline/phrasebookbox.ui.h
+++ b/tests/auto/tools/uic/baseline/phrasebookbox.ui.h
@@ -186,38 +186,38 @@ public:
void retranslateUi(QDialog *PhraseBookBox)
{
- PhraseBookBox->setWindowTitle(QApplication::translate("PhraseBookBox", "Edit Phrase Book", 0));
+ PhraseBookBox->setWindowTitle(QApplication::translate("PhraseBookBox", "Edit Phrase Book", Q_NULLPTR));
#ifndef QT_NO_WHATSTHIS
- PhraseBookBox->setWhatsThis(QApplication::translate("PhraseBookBox", "This window allows you to add, modify, or delete phrases in a phrase book.", 0));
+ PhraseBookBox->setWhatsThis(QApplication::translate("PhraseBookBox", "This window allows you to add, modify, or delete phrases in a phrase book.", Q_NULLPTR));
#endif // QT_NO_WHATSTHIS
- target->setText(QApplication::translate("PhraseBookBox", "&Translation:", 0));
+ target->setText(QApplication::translate("PhraseBookBox", "&Translation:", Q_NULLPTR));
#ifndef QT_NO_WHATSTHIS
- targetLed->setWhatsThis(QApplication::translate("PhraseBookBox", "This is the phrase in the target language corresponding to the source phrase.", 0));
+ targetLed->setWhatsThis(QApplication::translate("PhraseBookBox", "This is the phrase in the target language corresponding to the source phrase.", Q_NULLPTR));
#endif // QT_NO_WHATSTHIS
- source->setText(QApplication::translate("PhraseBookBox", "S&ource phrase:", 0));
+ source->setText(QApplication::translate("PhraseBookBox", "S&ource phrase:", Q_NULLPTR));
#ifndef QT_NO_WHATSTHIS
- definitionLed->setWhatsThis(QApplication::translate("PhraseBookBox", "This is a definition for the source phrase.", 0));
+ definitionLed->setWhatsThis(QApplication::translate("PhraseBookBox", "This is a definition for the source phrase.", Q_NULLPTR));
#endif // QT_NO_WHATSTHIS
#ifndef QT_NO_WHATSTHIS
- sourceLed->setWhatsThis(QApplication::translate("PhraseBookBox", "This is the phrase in the source language.", 0));
+ sourceLed->setWhatsThis(QApplication::translate("PhraseBookBox", "This is the phrase in the source language.", Q_NULLPTR));
#endif // QT_NO_WHATSTHIS
- definition->setText(QApplication::translate("PhraseBookBox", "&Definition:", 0));
+ definition->setText(QApplication::translate("PhraseBookBox", "&Definition:", Q_NULLPTR));
#ifndef QT_NO_WHATSTHIS
- newBut->setWhatsThis(QApplication::translate("PhraseBookBox", "Click here to add the phrase to the phrase book.", 0));
+ newBut->setWhatsThis(QApplication::translate("PhraseBookBox", "Click here to add the phrase to the phrase book.", Q_NULLPTR));
#endif // QT_NO_WHATSTHIS
- newBut->setText(QApplication::translate("PhraseBookBox", "&New Phrase", 0));
+ newBut->setText(QApplication::translate("PhraseBookBox", "&New Phrase", Q_NULLPTR));
#ifndef QT_NO_WHATSTHIS
- removeBut->setWhatsThis(QApplication::translate("PhraseBookBox", "Click here to remove the phrase from the phrase book.", 0));
+ removeBut->setWhatsThis(QApplication::translate("PhraseBookBox", "Click here to remove the phrase from the phrase book.", Q_NULLPTR));
#endif // QT_NO_WHATSTHIS
- removeBut->setText(QApplication::translate("PhraseBookBox", "&Remove Phrase", 0));
+ removeBut->setText(QApplication::translate("PhraseBookBox", "&Remove Phrase", Q_NULLPTR));
#ifndef QT_NO_WHATSTHIS
- saveBut->setWhatsThis(QApplication::translate("PhraseBookBox", "Click here to save the changes made.", 0));
+ saveBut->setWhatsThis(QApplication::translate("PhraseBookBox", "Click here to save the changes made.", Q_NULLPTR));
#endif // QT_NO_WHATSTHIS
- saveBut->setText(QApplication::translate("PhraseBookBox", "&Save", 0));
+ saveBut->setText(QApplication::translate("PhraseBookBox", "&Save", Q_NULLPTR));
#ifndef QT_NO_WHATSTHIS
- closeBut->setWhatsThis(QApplication::translate("PhraseBookBox", "Click here to close this window.", 0));
+ closeBut->setWhatsThis(QApplication::translate("PhraseBookBox", "Click here to close this window.", Q_NULLPTR));
#endif // QT_NO_WHATSTHIS
- closeBut->setText(QApplication::translate("PhraseBookBox", "Close", 0));
+ closeBut->setText(QApplication::translate("PhraseBookBox", "Close", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/plugindialog.ui.h b/tests/auto/tools/uic/baseline/plugindialog.ui.h
index d7fb99dc9c..d8b034b9ee 100644
--- a/tests/auto/tools/uic/baseline/plugindialog.ui.h
+++ b/tests/auto/tools/uic/baseline/plugindialog.ui.h
@@ -113,11 +113,11 @@ public:
void retranslateUi(QDialog *PluginDialog)
{
- PluginDialog->setWindowTitle(QApplication::translate("PluginDialog", "Plugin Information", 0));
- label->setText(QApplication::translate("PluginDialog", "TextLabel", 0));
+ PluginDialog->setWindowTitle(QApplication::translate("PluginDialog", "Plugin Information", Q_NULLPTR));
+ label->setText(QApplication::translate("PluginDialog", "TextLabel", Q_NULLPTR));
QTreeWidgetItem *___qtreewidgetitem = treeWidget->headerItem();
- ___qtreewidgetitem->setText(0, QApplication::translate("PluginDialog", "1", 0));
- message->setText(QApplication::translate("PluginDialog", "TextLabel", 0));
+ ___qtreewidgetitem->setText(0, QApplication::translate("PluginDialog", "1", Q_NULLPTR));
+ message->setText(QApplication::translate("PluginDialog", "TextLabel", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/preferencesdialog.ui.h b/tests/auto/tools/uic/baseline/preferencesdialog.ui.h
index 2c4d08c547..078d13a7f5 100644
--- a/tests/auto/tools/uic/baseline/preferencesdialog.ui.h
+++ b/tests/auto/tools/uic/baseline/preferencesdialog.ui.h
@@ -153,11 +153,11 @@ public:
void retranslateUi(QDialog *PreferencesDialog)
{
- PreferencesDialog->setWindowTitle(QApplication::translate("PreferencesDialog", "Preferences", 0));
- m_uiModeGroupBox->setTitle(QApplication::translate("PreferencesDialog", "User Interface Mode", 0));
- m_templatePathGroupBox->setTitle(QApplication::translate("PreferencesDialog", "Additional Template Paths", 0));
- m_addTemplatePathButton->setText(QApplication::translate("PreferencesDialog", "...", 0));
- m_removeTemplatePathButton->setText(QApplication::translate("PreferencesDialog", "...", 0));
+ PreferencesDialog->setWindowTitle(QApplication::translate("PreferencesDialog", "Preferences", Q_NULLPTR));
+ m_uiModeGroupBox->setTitle(QApplication::translate("PreferencesDialog", "User Interface Mode", Q_NULLPTR));
+ m_templatePathGroupBox->setTitle(QApplication::translate("PreferencesDialog", "Additional Template Paths", Q_NULLPTR));
+ m_addTemplatePathButton->setText(QApplication::translate("PreferencesDialog", "...", Q_NULLPTR));
+ m_removeTemplatePathButton->setText(QApplication::translate("PreferencesDialog", "...", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/previewconfigurationwidget.ui.h b/tests/auto/tools/uic/baseline/previewconfigurationwidget.ui.h
index 11051c7a15..3209e203e8 100644
--- a/tests/auto/tools/uic/baseline/previewconfigurationwidget.ui.h
+++ b/tests/auto/tools/uic/baseline/previewconfigurationwidget.ui.h
@@ -111,14 +111,14 @@ public:
void retranslateUi(QGroupBox *PreviewConfigurationWidget)
{
- PreviewConfigurationWidget->setWindowTitle(QApplication::translate("PreviewConfigurationWidget", "Form", 0));
- PreviewConfigurationWidget->setTitle(QApplication::translate("PreviewConfigurationWidget", "Print/Preview Configuration", 0));
- m_styleLabel->setText(QApplication::translate("PreviewConfigurationWidget", "Style", 0));
- m_appStyleSheetLabel->setText(QApplication::translate("PreviewConfigurationWidget", "Style sheet", 0));
- m_appStyleSheetChangeButton->setText(QApplication::translate("PreviewConfigurationWidget", "...", 0));
- m_appStyleSheetClearButton->setText(QApplication::translate("PreviewConfigurationWidget", "...", 0));
- m_skinLabel->setText(QApplication::translate("PreviewConfigurationWidget", "Device skin", 0));
- m_skinRemoveButton->setText(QApplication::translate("PreviewConfigurationWidget", "...", 0));
+ PreviewConfigurationWidget->setWindowTitle(QApplication::translate("PreviewConfigurationWidget", "Form", Q_NULLPTR));
+ PreviewConfigurationWidget->setTitle(QApplication::translate("PreviewConfigurationWidget", "Print/Preview Configuration", Q_NULLPTR));
+ m_styleLabel->setText(QApplication::translate("PreviewConfigurationWidget", "Style", Q_NULLPTR));
+ m_appStyleSheetLabel->setText(QApplication::translate("PreviewConfigurationWidget", "Style sheet", Q_NULLPTR));
+ m_appStyleSheetChangeButton->setText(QApplication::translate("PreviewConfigurationWidget", "...", Q_NULLPTR));
+ m_appStyleSheetClearButton->setText(QApplication::translate("PreviewConfigurationWidget", "...", Q_NULLPTR));
+ m_skinLabel->setText(QApplication::translate("PreviewConfigurationWidget", "Device skin", Q_NULLPTR));
+ m_skinRemoveButton->setText(QApplication::translate("PreviewConfigurationWidget", "...", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/previewdialogbase.ui.h b/tests/auto/tools/uic/baseline/previewdialogbase.ui.h
index d717ac91af..de046d575a 100644
--- a/tests/auto/tools/uic/baseline/previewdialogbase.ui.h
+++ b/tests/auto/tools/uic/baseline/previewdialogbase.ui.h
@@ -172,11 +172,11 @@ public:
void retranslateUi(QDialog *PreviewDialogBase)
{
- PreviewDialogBase->setWindowTitle(QApplication::translate("PreviewDialogBase", "Print Preview", 0));
- label->setText(QApplication::translate("PreviewDialogBase", "&Paper Size:", 0));
- label_2->setText(QApplication::translate("PreviewDialogBase", "&Orientation:", 0));
+ PreviewDialogBase->setWindowTitle(QApplication::translate("PreviewDialogBase", "Print Preview", Q_NULLPTR));
+ label->setText(QApplication::translate("PreviewDialogBase", "&Paper Size:", Q_NULLPTR));
+ label_2->setText(QApplication::translate("PreviewDialogBase", "&Orientation:", Q_NULLPTR));
QTreeWidgetItem *___qtreewidgetitem = pageList->headerItem();
- ___qtreewidgetitem->setText(0, QApplication::translate("PreviewDialogBase", "1", 0));
+ ___qtreewidgetitem->setText(0, QApplication::translate("PreviewDialogBase", "1", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/previewwidget.ui.h b/tests/auto/tools/uic/baseline/previewwidget.ui.h
index b65724c5ea..1fb96c8c70 100644
--- a/tests/auto/tools/uic/baseline/previewwidget.ui.h
+++ b/tests/auto/tools/uic/baseline/previewwidget.ui.h
@@ -237,20 +237,20 @@ public:
void retranslateUi(QWidget *qdesigner_internal__PreviewWidget)
{
- qdesigner_internal__PreviewWidget->setWindowTitle(QApplication::translate("qdesigner_internal::PreviewWidget", "Preview Window", 0));
- LineEdit1->setText(QApplication::translate("qdesigner_internal::PreviewWidget", "LineEdit", 0));
+ qdesigner_internal__PreviewWidget->setWindowTitle(QApplication::translate("qdesigner_internal::PreviewWidget", "Preview Window", Q_NULLPTR));
+ LineEdit1->setText(QApplication::translate("qdesigner_internal::PreviewWidget", "LineEdit", Q_NULLPTR));
ComboBox1->clear();
ComboBox1->insertItems(0, QStringList()
- << QApplication::translate("qdesigner_internal::PreviewWidget", "ComboBox", 0)
+ << QApplication::translate("qdesigner_internal::PreviewWidget", "ComboBox", Q_NULLPTR)
);
- PushButton1->setText(QApplication::translate("qdesigner_internal::PreviewWidget", "PushButton", 0));
- ButtonGroup2->setTitle(QApplication::translate("qdesigner_internal::PreviewWidget", "ButtonGroup2", 0));
- CheckBox1->setText(QApplication::translate("qdesigner_internal::PreviewWidget", "CheckBox1", 0));
- CheckBox2->setText(QApplication::translate("qdesigner_internal::PreviewWidget", "CheckBox2", 0));
- ButtonGroup1->setTitle(QApplication::translate("qdesigner_internal::PreviewWidget", "ButtonGroup", 0));
- RadioButton1->setText(QApplication::translate("qdesigner_internal::PreviewWidget", "RadioButton1", 0));
- RadioButton2->setText(QApplication::translate("qdesigner_internal::PreviewWidget", "RadioButton2", 0));
- RadioButton3->setText(QApplication::translate("qdesigner_internal::PreviewWidget", "RadioButton3", 0));
+ PushButton1->setText(QApplication::translate("qdesigner_internal::PreviewWidget", "PushButton", Q_NULLPTR));
+ ButtonGroup2->setTitle(QApplication::translate("qdesigner_internal::PreviewWidget", "ButtonGroup2", Q_NULLPTR));
+ CheckBox1->setText(QApplication::translate("qdesigner_internal::PreviewWidget", "CheckBox1", Q_NULLPTR));
+ CheckBox2->setText(QApplication::translate("qdesigner_internal::PreviewWidget", "CheckBox2", Q_NULLPTR));
+ ButtonGroup1->setTitle(QApplication::translate("qdesigner_internal::PreviewWidget", "ButtonGroup", Q_NULLPTR));
+ RadioButton1->setText(QApplication::translate("qdesigner_internal::PreviewWidget", "RadioButton1", Q_NULLPTR));
+ RadioButton2->setText(QApplication::translate("qdesigner_internal::PreviewWidget", "RadioButton2", Q_NULLPTR));
+ RadioButton3->setText(QApplication::translate("qdesigner_internal::PreviewWidget", "RadioButton3", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/proxy.ui.h b/tests/auto/tools/uic/baseline/proxy.ui.h
index d311478853..79a33251b7 100644
--- a/tests/auto/tools/uic/baseline/proxy.ui.h
+++ b/tests/auto/tools/uic/baseline/proxy.ui.h
@@ -90,11 +90,11 @@ public:
void retranslateUi(QDialog *ProxyDialog)
{
- ProxyDialog->setWindowTitle(QApplication::translate("ProxyDialog", "Proxy Authentication", 0));
- iconLabel->setText(QApplication::translate("ProxyDialog", "ICON", 0));
- introLabel->setText(QApplication::translate("ProxyDialog", "Connect to proxy", 0));
- usernameLabel->setText(QApplication::translate("ProxyDialog", "Username:", 0));
- passwordLabel->setText(QApplication::translate("ProxyDialog", "Password:", 0));
+ ProxyDialog->setWindowTitle(QApplication::translate("ProxyDialog", "Proxy Authentication", Q_NULLPTR));
+ iconLabel->setText(QApplication::translate("ProxyDialog", "ICON", Q_NULLPTR));
+ introLabel->setText(QApplication::translate("ProxyDialog", "Connect to proxy", Q_NULLPTR));
+ usernameLabel->setText(QApplication::translate("ProxyDialog", "Username:", Q_NULLPTR));
+ passwordLabel->setText(QApplication::translate("ProxyDialog", "Password:", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/qfiledialog.ui.h b/tests/auto/tools/uic/baseline/qfiledialog.ui.h
index aa974b61a4..24bf810f72 100644
--- a/tests/auto/tools/uic/baseline/qfiledialog.ui.h
+++ b/tests/auto/tools/uic/baseline/qfiledialog.ui.h
@@ -273,26 +273,26 @@ public:
void retranslateUi(QDialog *QFileDialog)
{
- lookInLabel->setText(QApplication::translate("QFileDialog", "Look in:", 0));
+ lookInLabel->setText(QApplication::translate("QFileDialog", "Look in:", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- backButton->setToolTip(QApplication::translate("QFileDialog", "Back", 0));
+ backButton->setToolTip(QApplication::translate("QFileDialog", "Back", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
#ifndef QT_NO_TOOLTIP
- forwardButton->setToolTip(QApplication::translate("QFileDialog", "Forward", 0));
+ forwardButton->setToolTip(QApplication::translate("QFileDialog", "Forward", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
#ifndef QT_NO_TOOLTIP
- toParentButton->setToolTip(QApplication::translate("QFileDialog", "Parent Directory", 0));
+ toParentButton->setToolTip(QApplication::translate("QFileDialog", "Parent Directory", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
#ifndef QT_NO_TOOLTIP
- newFolderButton->setToolTip(QApplication::translate("QFileDialog", "Create New Folder", 0));
+ newFolderButton->setToolTip(QApplication::translate("QFileDialog", "Create New Folder", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
#ifndef QT_NO_TOOLTIP
- listModeButton->setToolTip(QApplication::translate("QFileDialog", "List View", 0));
+ listModeButton->setToolTip(QApplication::translate("QFileDialog", "List View", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
#ifndef QT_NO_TOOLTIP
- detailModeButton->setToolTip(QApplication::translate("QFileDialog", "Detail View", 0));
+ detailModeButton->setToolTip(QApplication::translate("QFileDialog", "Detail View", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- fileTypeLabel->setText(QApplication::translate("QFileDialog", "Files of type:", 0));
+ fileTypeLabel->setText(QApplication::translate("QFileDialog", "Files of type:", Q_NULLPTR));
Q_UNUSED(QFileDialog);
} // retranslateUi
diff --git a/tests/auto/tools/uic/baseline/qpagesetupwidget.ui.h b/tests/auto/tools/uic/baseline/qpagesetupwidget.ui.h
index 48f840f2f8..0c6fc92ea2 100644
--- a/tests/auto/tools/uic/baseline/qpagesetupwidget.ui.h
+++ b/tests/auto/tools/uic/baseline/qpagesetupwidget.ui.h
@@ -269,41 +269,41 @@ public:
void retranslateUi(QWidget *QPageSetupWidget)
{
- QPageSetupWidget->setWindowTitle(QApplication::translate("QPageSetupWidget", "Form", 0));
- groupBox_2->setTitle(QApplication::translate("QPageSetupWidget", "Paper", 0));
- pageSizeLabel->setText(QApplication::translate("QPageSetupWidget", "Page size:", 0));
- widthLabel->setText(QApplication::translate("QPageSetupWidget", "Width:", 0));
- heightLabel->setText(QApplication::translate("QPageSetupWidget", "Height:", 0));
- paperSourceLabel->setText(QApplication::translate("QPageSetupWidget", "Paper source:", 0));
- groupBox_3->setTitle(QApplication::translate("QPageSetupWidget", "Orientation", 0));
- portrait->setText(QApplication::translate("QPageSetupWidget", "Portrait", 0));
- landscape->setText(QApplication::translate("QPageSetupWidget", "Landscape", 0));
- reverseLandscape->setText(QApplication::translate("QPageSetupWidget", "Reverse landscape", 0));
- reversePortrait->setText(QApplication::translate("QPageSetupWidget", "Reverse portrait", 0));
- groupBox->setTitle(QApplication::translate("QPageSetupWidget", "Margins", 0));
+ QPageSetupWidget->setWindowTitle(QApplication::translate("QPageSetupWidget", "Form", Q_NULLPTR));
+ groupBox_2->setTitle(QApplication::translate("QPageSetupWidget", "Paper", Q_NULLPTR));
+ pageSizeLabel->setText(QApplication::translate("QPageSetupWidget", "Page size:", Q_NULLPTR));
+ widthLabel->setText(QApplication::translate("QPageSetupWidget", "Width:", Q_NULLPTR));
+ heightLabel->setText(QApplication::translate("QPageSetupWidget", "Height:", Q_NULLPTR));
+ paperSourceLabel->setText(QApplication::translate("QPageSetupWidget", "Paper source:", Q_NULLPTR));
+ groupBox_3->setTitle(QApplication::translate("QPageSetupWidget", "Orientation", Q_NULLPTR));
+ portrait->setText(QApplication::translate("QPageSetupWidget", "Portrait", Q_NULLPTR));
+ landscape->setText(QApplication::translate("QPageSetupWidget", "Landscape", Q_NULLPTR));
+ reverseLandscape->setText(QApplication::translate("QPageSetupWidget", "Reverse landscape", Q_NULLPTR));
+ reversePortrait->setText(QApplication::translate("QPageSetupWidget", "Reverse portrait", Q_NULLPTR));
+ groupBox->setTitle(QApplication::translate("QPageSetupWidget", "Margins", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- topMargin->setToolTip(QApplication::translate("QPageSetupWidget", "top margin", 0));
+ topMargin->setToolTip(QApplication::translate("QPageSetupWidget", "top margin", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
#ifndef QT_NO_ACCESSIBILITY
- topMargin->setAccessibleName(QApplication::translate("QPageSetupWidget", "top margin", 0));
+ topMargin->setAccessibleName(QApplication::translate("QPageSetupWidget", "top margin", Q_NULLPTR));
#endif // QT_NO_ACCESSIBILITY
#ifndef QT_NO_TOOLTIP
- leftMargin->setToolTip(QApplication::translate("QPageSetupWidget", "left margin", 0));
+ leftMargin->setToolTip(QApplication::translate("QPageSetupWidget", "left margin", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
#ifndef QT_NO_ACCESSIBILITY
- leftMargin->setAccessibleName(QApplication::translate("QPageSetupWidget", "left margin", 0));
+ leftMargin->setAccessibleName(QApplication::translate("QPageSetupWidget", "left margin", Q_NULLPTR));
#endif // QT_NO_ACCESSIBILITY
#ifndef QT_NO_TOOLTIP
- rightMargin->setToolTip(QApplication::translate("QPageSetupWidget", "right margin", 0));
+ rightMargin->setToolTip(QApplication::translate("QPageSetupWidget", "right margin", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
#ifndef QT_NO_ACCESSIBILITY
- rightMargin->setAccessibleName(QApplication::translate("QPageSetupWidget", "right margin", 0));
+ rightMargin->setAccessibleName(QApplication::translate("QPageSetupWidget", "right margin", Q_NULLPTR));
#endif // QT_NO_ACCESSIBILITY
#ifndef QT_NO_TOOLTIP
- bottomMargin->setToolTip(QApplication::translate("QPageSetupWidget", "bottom margin", 0));
+ bottomMargin->setToolTip(QApplication::translate("QPageSetupWidget", "bottom margin", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
#ifndef QT_NO_ACCESSIBILITY
- bottomMargin->setAccessibleName(QApplication::translate("QPageSetupWidget", "bottom margin", 0));
+ bottomMargin->setAccessibleName(QApplication::translate("QPageSetupWidget", "bottom margin", Q_NULLPTR));
#endif // QT_NO_ACCESSIBILITY
} // retranslateUi
diff --git a/tests/auto/tools/uic/baseline/qprintpropertieswidget.ui.h b/tests/auto/tools/uic/baseline/qprintpropertieswidget.ui.h
index 7251f05300..dcd6ca6efd 100644
--- a/tests/auto/tools/uic/baseline/qprintpropertieswidget.ui.h
+++ b/tests/auto/tools/uic/baseline/qprintpropertieswidget.ui.h
@@ -81,9 +81,9 @@ public:
void retranslateUi(QWidget *QPrintPropertiesWidget)
{
- QPrintPropertiesWidget->setWindowTitle(QApplication::translate("QPrintPropertiesWidget", "Form", 0));
- tabs->setTabText(tabs->indexOf(tabPage), QApplication::translate("QPrintPropertiesWidget", "Page", 0));
- tabs->setTabText(tabs->indexOf(cupsPropertiesPage), QApplication::translate("QPrintPropertiesWidget", "Advanced", 0));
+ QPrintPropertiesWidget->setWindowTitle(QApplication::translate("QPrintPropertiesWidget", "Form", Q_NULLPTR));
+ tabs->setTabText(tabs->indexOf(tabPage), QApplication::translate("QPrintPropertiesWidget", "Page", Q_NULLPTR));
+ tabs->setTabText(tabs->indexOf(cupsPropertiesPage), QApplication::translate("QPrintPropertiesWidget", "Advanced", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/qprintsettingsoutput.ui.h b/tests/auto/tools/uic/baseline/qprintsettingsoutput.ui.h
index f3816965dd..a11709c014 100644
--- a/tests/auto/tools/uic/baseline/qprintsettingsoutput.ui.h
+++ b/tests/auto/tools/uic/baseline/qprintsettingsoutput.ui.h
@@ -279,25 +279,25 @@ public:
void retranslateUi(QWidget *QPrintSettingsOutput)
{
- QPrintSettingsOutput->setWindowTitle(QApplication::translate("QPrintSettingsOutput", "Form", 0));
- gbPrintRange->setTitle(QApplication::translate("QPrintSettingsOutput", "Print range", 0));
- printAll->setText(QApplication::translate("QPrintSettingsOutput", "Print all", 0));
- printRange->setText(QApplication::translate("QPrintSettingsOutput", "Pages from", 0));
- label_3->setText(QApplication::translate("QPrintSettingsOutput", "to", 0));
- printSelection->setText(QApplication::translate("QPrintSettingsOutput", "Selection", 0));
- groupBox->setTitle(QApplication::translate("QPrintSettingsOutput", "Output Settings", 0));
- label->setText(QApplication::translate("QPrintSettingsOutput", "Copies:", 0));
- collate->setText(QApplication::translate("QPrintSettingsOutput", "Collate", 0));
- reverse->setText(QApplication::translate("QPrintSettingsOutput", "Reverse", 0));
- tabs->setTabText(tabs->indexOf(copiesTab), QApplication::translate("QPrintSettingsOutput", "Copies", 0));
- colorMode->setTitle(QApplication::translate("QPrintSettingsOutput", "Color Mode", 0));
- color->setText(QApplication::translate("QPrintSettingsOutput", "Color", 0));
- grayscale->setText(QApplication::translate("QPrintSettingsOutput", "Grayscale", 0));
- duplex->setTitle(QApplication::translate("QPrintSettingsOutput", "Duplex Printing", 0));
- noDuplex->setText(QApplication::translate("QPrintSettingsOutput", "None", 0));
- duplexLong->setText(QApplication::translate("QPrintSettingsOutput", "Long side", 0));
- duplexShort->setText(QApplication::translate("QPrintSettingsOutput", "Short side", 0));
- tabs->setTabText(tabs->indexOf(optionsTab), QApplication::translate("QPrintSettingsOutput", "Options", 0));
+ QPrintSettingsOutput->setWindowTitle(QApplication::translate("QPrintSettingsOutput", "Form", Q_NULLPTR));
+ gbPrintRange->setTitle(QApplication::translate("QPrintSettingsOutput", "Print range", Q_NULLPTR));
+ printAll->setText(QApplication::translate("QPrintSettingsOutput", "Print all", Q_NULLPTR));
+ printRange->setText(QApplication::translate("QPrintSettingsOutput", "Pages from", Q_NULLPTR));
+ label_3->setText(QApplication::translate("QPrintSettingsOutput", "to", Q_NULLPTR));
+ printSelection->setText(QApplication::translate("QPrintSettingsOutput", "Selection", Q_NULLPTR));
+ groupBox->setTitle(QApplication::translate("QPrintSettingsOutput", "Output Settings", Q_NULLPTR));
+ label->setText(QApplication::translate("QPrintSettingsOutput", "Copies:", Q_NULLPTR));
+ collate->setText(QApplication::translate("QPrintSettingsOutput", "Collate", Q_NULLPTR));
+ reverse->setText(QApplication::translate("QPrintSettingsOutput", "Reverse", Q_NULLPTR));
+ tabs->setTabText(tabs->indexOf(copiesTab), QApplication::translate("QPrintSettingsOutput", "Copies", Q_NULLPTR));
+ colorMode->setTitle(QApplication::translate("QPrintSettingsOutput", "Color Mode", Q_NULLPTR));
+ color->setText(QApplication::translate("QPrintSettingsOutput", "Color", Q_NULLPTR));
+ grayscale->setText(QApplication::translate("QPrintSettingsOutput", "Grayscale", Q_NULLPTR));
+ duplex->setTitle(QApplication::translate("QPrintSettingsOutput", "Duplex Printing", Q_NULLPTR));
+ noDuplex->setText(QApplication::translate("QPrintSettingsOutput", "None", Q_NULLPTR));
+ duplexLong->setText(QApplication::translate("QPrintSettingsOutput", "Long side", Q_NULLPTR));
+ duplexShort->setText(QApplication::translate("QPrintSettingsOutput", "Short side", Q_NULLPTR));
+ tabs->setTabText(tabs->indexOf(optionsTab), QApplication::translate("QPrintSettingsOutput", "Options", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/qprintwidget.ui.h b/tests/auto/tools/uic/baseline/qprintwidget.ui.h
index 0358176321..7a81f3daf5 100644
--- a/tests/auto/tools/uic/baseline/qprintwidget.ui.h
+++ b/tests/auto/tools/uic/baseline/qprintwidget.ui.h
@@ -143,15 +143,15 @@ public:
void retranslateUi(QWidget *QPrintWidget)
{
- QPrintWidget->setWindowTitle(QApplication::translate("QPrintWidget", "Form", 0));
- printerGroup->setTitle(QApplication::translate("QPrintWidget", "Printer", 0));
- label->setText(QApplication::translate("QPrintWidget", "&Name:", 0));
- properties->setText(QApplication::translate("QPrintWidget", "P&roperties", 0));
- label_2->setText(QApplication::translate("QPrintWidget", "Location:", 0));
- preview->setText(QApplication::translate("QPrintWidget", "Preview", 0));
- label_3->setText(QApplication::translate("QPrintWidget", "Type:", 0));
- lOutput->setText(QApplication::translate("QPrintWidget", "Output &file:", 0));
- fileBrowser->setText(QApplication::translate("QPrintWidget", "...", 0));
+ QPrintWidget->setWindowTitle(QApplication::translate("QPrintWidget", "Form", Q_NULLPTR));
+ printerGroup->setTitle(QApplication::translate("QPrintWidget", "Printer", Q_NULLPTR));
+ label->setText(QApplication::translate("QPrintWidget", "&Name:", Q_NULLPTR));
+ properties->setText(QApplication::translate("QPrintWidget", "P&roperties", Q_NULLPTR));
+ label_2->setText(QApplication::translate("QPrintWidget", "Location:", Q_NULLPTR));
+ preview->setText(QApplication::translate("QPrintWidget", "Preview", Q_NULLPTR));
+ label_3->setText(QApplication::translate("QPrintWidget", "Type:", Q_NULLPTR));
+ lOutput->setText(QApplication::translate("QPrintWidget", "Output &file:", Q_NULLPTR));
+ fileBrowser->setText(QApplication::translate("QPrintWidget", "...", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/qsqlconnectiondialog.ui.h b/tests/auto/tools/uic/baseline/qsqlconnectiondialog.ui.h
index 31edb426fe..bffb9a1b63 100644
--- a/tests/auto/tools/uic/baseline/qsqlconnectiondialog.ui.h
+++ b/tests/auto/tools/uic/baseline/qsqlconnectiondialog.ui.h
@@ -209,18 +209,18 @@ public:
void retranslateUi(QDialog *QSqlConnectionDialogUi)
{
- QSqlConnectionDialogUi->setWindowTitle(QApplication::translate("QSqlConnectionDialogUi", "Connect...", 0));
- connGroupBox->setTitle(QApplication::translate("QSqlConnectionDialogUi", "Connection settings", 0));
- textLabel4->setText(QApplication::translate("QSqlConnectionDialogUi", "&Username:", 0));
- textLabel2->setText(QApplication::translate("QSqlConnectionDialogUi", "D&river", 0));
- portSpinBox->setSpecialValueText(QApplication::translate("QSqlConnectionDialogUi", "Default", 0));
- textLabel3->setText(QApplication::translate("QSqlConnectionDialogUi", "Database Name:", 0));
- textLabel5->setText(QApplication::translate("QSqlConnectionDialogUi", "&Hostname:", 0));
- textLabel5_2->setText(QApplication::translate("QSqlConnectionDialogUi", "P&ort:", 0));
- textLabel4_2->setText(QApplication::translate("QSqlConnectionDialogUi", "&Password:", 0));
- dbCheckBox->setText(QApplication::translate("QSqlConnectionDialogUi", "Us&e predefined in-memory database", 0));
- okButton->setText(QApplication::translate("QSqlConnectionDialogUi", "&OK", 0));
- cancelButton->setText(QApplication::translate("QSqlConnectionDialogUi", "&Cancel", 0));
+ QSqlConnectionDialogUi->setWindowTitle(QApplication::translate("QSqlConnectionDialogUi", "Connect...", Q_NULLPTR));
+ connGroupBox->setTitle(QApplication::translate("QSqlConnectionDialogUi", "Connection settings", Q_NULLPTR));
+ textLabel4->setText(QApplication::translate("QSqlConnectionDialogUi", "&Username:", Q_NULLPTR));
+ textLabel2->setText(QApplication::translate("QSqlConnectionDialogUi", "D&river", Q_NULLPTR));
+ portSpinBox->setSpecialValueText(QApplication::translate("QSqlConnectionDialogUi", "Default", Q_NULLPTR));
+ textLabel3->setText(QApplication::translate("QSqlConnectionDialogUi", "Database Name:", Q_NULLPTR));
+ textLabel5->setText(QApplication::translate("QSqlConnectionDialogUi", "&Hostname:", Q_NULLPTR));
+ textLabel5_2->setText(QApplication::translate("QSqlConnectionDialogUi", "P&ort:", Q_NULLPTR));
+ textLabel4_2->setText(QApplication::translate("QSqlConnectionDialogUi", "&Password:", Q_NULLPTR));
+ dbCheckBox->setText(QApplication::translate("QSqlConnectionDialogUi", "Us&e predefined in-memory database", Q_NULLPTR));
+ okButton->setText(QApplication::translate("QSqlConnectionDialogUi", "&OK", Q_NULLPTR));
+ cancelButton->setText(QApplication::translate("QSqlConnectionDialogUi", "&Cancel", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/qtgradientdialog.ui.h b/tests/auto/tools/uic/baseline/qtgradientdialog.ui.h
index 47134aae05..a4599607b8 100644
--- a/tests/auto/tools/uic/baseline/qtgradientdialog.ui.h
+++ b/tests/auto/tools/uic/baseline/qtgradientdialog.ui.h
@@ -92,7 +92,7 @@ public:
void retranslateUi(QDialog *QtGradientDialog)
{
- QtGradientDialog->setWindowTitle(QApplication::translate("QtGradientDialog", "Edit Gradient", 0));
+ QtGradientDialog->setWindowTitle(QApplication::translate("QtGradientDialog", "Edit Gradient", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/qtgradienteditor.ui.h b/tests/auto/tools/uic/baseline/qtgradienteditor.ui.h
index 9d6ff8f43c..8b7a4c1293 100644
--- a/tests/auto/tools/uic/baseline/qtgradienteditor.ui.h
+++ b/tests/auto/tools/uic/baseline/qtgradienteditor.ui.h
@@ -586,119 +586,119 @@ public:
void retranslateUi(QWidget *QtGradientEditor)
{
- QtGradientEditor->setWindowTitle(QApplication::translate("QtGradientEditor", "Form", 0));
+ QtGradientEditor->setWindowTitle(QApplication::translate("QtGradientEditor", "Form", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- gradientWidget->setToolTip(QApplication::translate("QtGradientEditor", "Gradient Editor", 0));
+ gradientWidget->setToolTip(QApplication::translate("QtGradientEditor", "Gradient Editor", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
#ifndef QT_NO_WHATSTHIS
- gradientWidget->setWhatsThis(QApplication::translate("QtGradientEditor", "This area shows a preview of the gradient being edited. It also allows you to edit parameters specific to the gradient's type such as start and final point, radius, etc. by drag & drop.", 0));
+ gradientWidget->setWhatsThis(QApplication::translate("QtGradientEditor", "This area shows a preview of the gradient being edited. It also allows you to edit parameters specific to the gradient's type such as start and final point, radius, etc. by drag & drop.", Q_NULLPTR));
#endif // QT_NO_WHATSTHIS
- label1->setText(QApplication::translate("QtGradientEditor", "1", 0));
- label2->setText(QApplication::translate("QtGradientEditor", "2", 0));
- label3->setText(QApplication::translate("QtGradientEditor", "3", 0));
- label4->setText(QApplication::translate("QtGradientEditor", "4", 0));
- label5->setText(QApplication::translate("QtGradientEditor", "5", 0));
+ label1->setText(QApplication::translate("QtGradientEditor", "1", Q_NULLPTR));
+ label2->setText(QApplication::translate("QtGradientEditor", "2", Q_NULLPTR));
+ label3->setText(QApplication::translate("QtGradientEditor", "3", Q_NULLPTR));
+ label4->setText(QApplication::translate("QtGradientEditor", "4", Q_NULLPTR));
+ label5->setText(QApplication::translate("QtGradientEditor", "5", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- gradientStopsWidget->setToolTip(QApplication::translate("QtGradientEditor", "Gradient Stops Editor", 0));
+ gradientStopsWidget->setToolTip(QApplication::translate("QtGradientEditor", "Gradient Stops Editor", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
#ifndef QT_NO_WHATSTHIS
- gradientStopsWidget->setWhatsThis(QApplication::translate("QtGradientEditor", "This area allows you to edit gradient stops. Double click on the existing stop handle to duplicate it. Double click outside of the existing stop handles to create a new stop. Drag & drop the handle to reposition it. Use right mouse button to popup context menu with extra actions.", 0));
+ gradientStopsWidget->setWhatsThis(QApplication::translate("QtGradientEditor", "This area allows you to edit gradient stops. Double click on the existing stop handle to duplicate it. Double click outside of the existing stop handles to create a new stop. Drag & drop the handle to reposition it. Use right mouse button to popup context menu with extra actions.", Q_NULLPTR));
#endif // QT_NO_WHATSTHIS
- zoomLabel->setText(QApplication::translate("QtGradientEditor", "Zoom", 0));
+ zoomLabel->setText(QApplication::translate("QtGradientEditor", "Zoom", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- zoomAllButton->setToolTip(QApplication::translate("QtGradientEditor", "Reset Zoom", 0));
+ zoomAllButton->setToolTip(QApplication::translate("QtGradientEditor", "Reset Zoom", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- zoomAllButton->setText(QApplication::translate("QtGradientEditor", "Reset Zoom", 0));
- positionLabel->setText(QApplication::translate("QtGradientEditor", "Position", 0));
+ zoomAllButton->setText(QApplication::translate("QtGradientEditor", "Reset Zoom", Q_NULLPTR));
+ positionLabel->setText(QApplication::translate("QtGradientEditor", "Position", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- hLabel->setToolTip(QApplication::translate("QtGradientEditor", "Hue", 0));
+ hLabel->setToolTip(QApplication::translate("QtGradientEditor", "Hue", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- hLabel->setText(QApplication::translate("QtGradientEditor", "H", 0));
+ hLabel->setText(QApplication::translate("QtGradientEditor", "H", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- hueColorLine->setToolTip(QApplication::translate("QtGradientEditor", "Hue", 0));
+ hueColorLine->setToolTip(QApplication::translate("QtGradientEditor", "Hue", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- hueLabel->setText(QApplication::translate("QtGradientEditor", "Hue", 0));
+ hueLabel->setText(QApplication::translate("QtGradientEditor", "Hue", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- sLabel->setToolTip(QApplication::translate("QtGradientEditor", "Saturation", 0));
+ sLabel->setToolTip(QApplication::translate("QtGradientEditor", "Saturation", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- sLabel->setText(QApplication::translate("QtGradientEditor", "S", 0));
+ sLabel->setText(QApplication::translate("QtGradientEditor", "S", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- saturationColorLine->setToolTip(QApplication::translate("QtGradientEditor", "Saturation", 0));
+ saturationColorLine->setToolTip(QApplication::translate("QtGradientEditor", "Saturation", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- saturationLabel->setText(QApplication::translate("QtGradientEditor", "Sat", 0));
+ saturationLabel->setText(QApplication::translate("QtGradientEditor", "Sat", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- vLabel->setToolTip(QApplication::translate("QtGradientEditor", "Value", 0));
+ vLabel->setToolTip(QApplication::translate("QtGradientEditor", "Value", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- vLabel->setText(QApplication::translate("QtGradientEditor", "V", 0));
+ vLabel->setText(QApplication::translate("QtGradientEditor", "V", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- valueColorLine->setToolTip(QApplication::translate("QtGradientEditor", "Value", 0));
+ valueColorLine->setToolTip(QApplication::translate("QtGradientEditor", "Value", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- valueLabel->setText(QApplication::translate("QtGradientEditor", "Val", 0));
+ valueLabel->setText(QApplication::translate("QtGradientEditor", "Val", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- aLabel->setToolTip(QApplication::translate("QtGradientEditor", "Alpha", 0));
+ aLabel->setToolTip(QApplication::translate("QtGradientEditor", "Alpha", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- aLabel->setText(QApplication::translate("QtGradientEditor", "A", 0));
+ aLabel->setText(QApplication::translate("QtGradientEditor", "A", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- alphaColorLine->setToolTip(QApplication::translate("QtGradientEditor", "Alpha", 0));
+ alphaColorLine->setToolTip(QApplication::translate("QtGradientEditor", "Alpha", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- alphaLabel->setText(QApplication::translate("QtGradientEditor", "Alpha", 0));
+ alphaLabel->setText(QApplication::translate("QtGradientEditor", "Alpha", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- typeComboBox->setToolTip(QApplication::translate("QtGradientEditor", "Type", 0));
+ typeComboBox->setToolTip(QApplication::translate("QtGradientEditor", "Type", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
#ifndef QT_NO_TOOLTIP
- spreadComboBox->setToolTip(QApplication::translate("QtGradientEditor", "Spread", 0));
+ spreadComboBox->setToolTip(QApplication::translate("QtGradientEditor", "Spread", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- colorLabel->setText(QApplication::translate("QtGradientEditor", "Color", 0));
+ colorLabel->setText(QApplication::translate("QtGradientEditor", "Color", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- colorButton->setToolTip(QApplication::translate("QtGradientEditor", "Current stop's color", 0));
+ colorButton->setToolTip(QApplication::translate("QtGradientEditor", "Current stop's color", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
colorButton->setText(QString());
#ifndef QT_NO_TOOLTIP
- hsvRadioButton->setToolTip(QApplication::translate("QtGradientEditor", "Show HSV specification", 0));
+ hsvRadioButton->setToolTip(QApplication::translate("QtGradientEditor", "Show HSV specification", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- hsvRadioButton->setText(QApplication::translate("QtGradientEditor", "HSV", 0));
+ hsvRadioButton->setText(QApplication::translate("QtGradientEditor", "HSV", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- rgbRadioButton->setToolTip(QApplication::translate("QtGradientEditor", "Show RGB specification", 0));
+ rgbRadioButton->setToolTip(QApplication::translate("QtGradientEditor", "Show RGB specification", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- rgbRadioButton->setText(QApplication::translate("QtGradientEditor", "RGB", 0));
+ rgbRadioButton->setText(QApplication::translate("QtGradientEditor", "RGB", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- positionSpinBox->setToolTip(QApplication::translate("QtGradientEditor", "Current stop's position", 0));
+ positionSpinBox->setToolTip(QApplication::translate("QtGradientEditor", "Current stop's position", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- zoomSpinBox->setSuffix(QApplication::translate("QtGradientEditor", "%", 0));
+ zoomSpinBox->setSuffix(QApplication::translate("QtGradientEditor", "%", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- zoomInButton->setToolTip(QApplication::translate("QtGradientEditor", "Zoom In", 0));
+ zoomInButton->setToolTip(QApplication::translate("QtGradientEditor", "Zoom In", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
#ifndef QT_NO_TOOLTIP
- zoomOutButton->setToolTip(QApplication::translate("QtGradientEditor", "Zoom Out", 0));
+ zoomOutButton->setToolTip(QApplication::translate("QtGradientEditor", "Zoom Out", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
#ifndef QT_NO_TOOLTIP
- detailsButton->setToolTip(QApplication::translate("QtGradientEditor", "Toggle details extension", 0));
+ detailsButton->setToolTip(QApplication::translate("QtGradientEditor", "Toggle details extension", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- detailsButton->setText(QApplication::translate("QtGradientEditor", ">", 0));
+ detailsButton->setText(QApplication::translate("QtGradientEditor", ">", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- linearButton->setToolTip(QApplication::translate("QtGradientEditor", "Linear Type", 0));
+ linearButton->setToolTip(QApplication::translate("QtGradientEditor", "Linear Type", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- linearButton->setText(QApplication::translate("QtGradientEditor", "...", 0));
+ linearButton->setText(QApplication::translate("QtGradientEditor", "...", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- radialButton->setToolTip(QApplication::translate("QtGradientEditor", "Radial Type", 0));
+ radialButton->setToolTip(QApplication::translate("QtGradientEditor", "Radial Type", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- radialButton->setText(QApplication::translate("QtGradientEditor", "...", 0));
+ radialButton->setText(QApplication::translate("QtGradientEditor", "...", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- conicalButton->setToolTip(QApplication::translate("QtGradientEditor", "Conical Type", 0));
+ conicalButton->setToolTip(QApplication::translate("QtGradientEditor", "Conical Type", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- conicalButton->setText(QApplication::translate("QtGradientEditor", "...", 0));
+ conicalButton->setText(QApplication::translate("QtGradientEditor", "...", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- padButton->setToolTip(QApplication::translate("QtGradientEditor", "Pad Spread", 0));
+ padButton->setToolTip(QApplication::translate("QtGradientEditor", "Pad Spread", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- padButton->setText(QApplication::translate("QtGradientEditor", "...", 0));
+ padButton->setText(QApplication::translate("QtGradientEditor", "...", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- repeatButton->setToolTip(QApplication::translate("QtGradientEditor", "Repeat Spread", 0));
+ repeatButton->setToolTip(QApplication::translate("QtGradientEditor", "Repeat Spread", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- repeatButton->setText(QApplication::translate("QtGradientEditor", "...", 0));
+ repeatButton->setText(QApplication::translate("QtGradientEditor", "...", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- reflectButton->setToolTip(QApplication::translate("QtGradientEditor", "Reflect Spread", 0));
+ reflectButton->setToolTip(QApplication::translate("QtGradientEditor", "Reflect Spread", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- reflectButton->setText(QApplication::translate("QtGradientEditor", "...", 0));
+ reflectButton->setText(QApplication::translate("QtGradientEditor", "...", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/qtgradientview.ui.h b/tests/auto/tools/uic/baseline/qtgradientview.ui.h
index 5847730235..14cb1da6b2 100644
--- a/tests/auto/tools/uic/baseline/qtgradientview.ui.h
+++ b/tests/auto/tools/uic/baseline/qtgradientview.ui.h
@@ -108,11 +108,11 @@ public:
void retranslateUi(QWidget *QtGradientView)
{
- QtGradientView->setWindowTitle(QApplication::translate("QtGradientView", "Gradient View", 0));
- newButton->setText(QApplication::translate("QtGradientView", "New...", 0));
- editButton->setText(QApplication::translate("QtGradientView", "Edit...", 0));
- renameButton->setText(QApplication::translate("QtGradientView", "Rename", 0));
- removeButton->setText(QApplication::translate("QtGradientView", "Remove", 0));
+ QtGradientView->setWindowTitle(QApplication::translate("QtGradientView", "Gradient View", Q_NULLPTR));
+ newButton->setText(QApplication::translate("QtGradientView", "New...", Q_NULLPTR));
+ editButton->setText(QApplication::translate("QtGradientView", "Edit...", Q_NULLPTR));
+ renameButton->setText(QApplication::translate("QtGradientView", "Rename", Q_NULLPTR));
+ removeButton->setText(QApplication::translate("QtGradientView", "Remove", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/qtgradientviewdialog.ui.h b/tests/auto/tools/uic/baseline/qtgradientviewdialog.ui.h
index 6af0760b3c..e2f8a3da03 100644
--- a/tests/auto/tools/uic/baseline/qtgradientviewdialog.ui.h
+++ b/tests/auto/tools/uic/baseline/qtgradientviewdialog.ui.h
@@ -92,7 +92,7 @@ public:
void retranslateUi(QDialog *QtGradientViewDialog)
{
- QtGradientViewDialog->setWindowTitle(QApplication::translate("QtGradientViewDialog", "Select Gradient", 0));
+ QtGradientViewDialog->setWindowTitle(QApplication::translate("QtGradientViewDialog", "Select Gradient", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/qtresourceeditordialog.ui.h b/tests/auto/tools/uic/baseline/qtresourceeditordialog.ui.h
index 6d5f25872b..50c844cf35 100644
--- a/tests/auto/tools/uic/baseline/qtresourceeditordialog.ui.h
+++ b/tests/auto/tools/uic/baseline/qtresourceeditordialog.ui.h
@@ -143,25 +143,25 @@ public:
void retranslateUi(QDialog *QtResourceEditorDialog)
{
- QtResourceEditorDialog->setWindowTitle(QApplication::translate("QtResourceEditorDialog", "Dialog", 0));
+ QtResourceEditorDialog->setWindowTitle(QApplication::translate("QtResourceEditorDialog", "Dialog", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- newQrcButton->setToolTip(QApplication::translate("QtResourceEditorDialog", "New File", 0));
+ newQrcButton->setToolTip(QApplication::translate("QtResourceEditorDialog", "New File", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- newQrcButton->setText(QApplication::translate("QtResourceEditorDialog", "N", 0));
+ newQrcButton->setText(QApplication::translate("QtResourceEditorDialog", "N", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- removeQrcButton->setToolTip(QApplication::translate("QtResourceEditorDialog", "Remove File", 0));
+ removeQrcButton->setToolTip(QApplication::translate("QtResourceEditorDialog", "Remove File", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- removeQrcButton->setText(QApplication::translate("QtResourceEditorDialog", "R", 0));
- importQrcButton->setText(QApplication::translate("QtResourceEditorDialog", "I", 0));
+ removeQrcButton->setText(QApplication::translate("QtResourceEditorDialog", "R", Q_NULLPTR));
+ importQrcButton->setText(QApplication::translate("QtResourceEditorDialog", "I", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- newResourceButton->setToolTip(QApplication::translate("QtResourceEditorDialog", "New Resource", 0));
+ newResourceButton->setToolTip(QApplication::translate("QtResourceEditorDialog", "New Resource", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- newResourceButton->setText(QApplication::translate("QtResourceEditorDialog", "N", 0));
- addResourceButton->setText(QApplication::translate("QtResourceEditorDialog", "A", 0));
+ newResourceButton->setText(QApplication::translate("QtResourceEditorDialog", "N", Q_NULLPTR));
+ addResourceButton->setText(QApplication::translate("QtResourceEditorDialog", "A", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- removeResourceButton->setToolTip(QApplication::translate("QtResourceEditorDialog", "Remove Resource or File", 0));
+ removeResourceButton->setToolTip(QApplication::translate("QtResourceEditorDialog", "Remove Resource or File", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- removeResourceButton->setText(QApplication::translate("QtResourceEditorDialog", "R", 0));
+ removeResourceButton->setText(QApplication::translate("QtResourceEditorDialog", "R", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/qttoolbardialog.ui.h b/tests/auto/tools/uic/baseline/qttoolbardialog.ui.h
index 9439b6b1d3..6694cf4ccd 100644
--- a/tests/auto/tools/uic/baseline/qttoolbardialog.ui.h
+++ b/tests/auto/tools/uic/baseline/qttoolbardialog.ui.h
@@ -180,40 +180,40 @@ public:
void retranslateUi(QDialog *QtToolBarDialog)
{
- QtToolBarDialog->setWindowTitle(QApplication::translate("QtToolBarDialog", "Customize Toolbars", 0));
+ QtToolBarDialog->setWindowTitle(QApplication::translate("QtToolBarDialog", "Customize Toolbars", Q_NULLPTR));
QTreeWidgetItem *___qtreewidgetitem = actionTree->headerItem();
- ___qtreewidgetitem->setText(0, QApplication::translate("QtToolBarDialog", "1", 0));
- label->setText(QApplication::translate("QtToolBarDialog", "Actions", 0));
- label_2->setText(QApplication::translate("QtToolBarDialog", "Toolbars", 0));
+ ___qtreewidgetitem->setText(0, QApplication::translate("QtToolBarDialog", "1", Q_NULLPTR));
+ label->setText(QApplication::translate("QtToolBarDialog", "Actions", Q_NULLPTR));
+ label_2->setText(QApplication::translate("QtToolBarDialog", "Toolbars", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- newButton->setToolTip(QApplication::translate("QtToolBarDialog", "Add new toolbar", 0));
+ newButton->setToolTip(QApplication::translate("QtToolBarDialog", "Add new toolbar", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- newButton->setText(QApplication::translate("QtToolBarDialog", "New", 0));
+ newButton->setText(QApplication::translate("QtToolBarDialog", "New", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- removeButton->setToolTip(QApplication::translate("QtToolBarDialog", "Remove selected toolbar", 0));
+ removeButton->setToolTip(QApplication::translate("QtToolBarDialog", "Remove selected toolbar", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- removeButton->setText(QApplication::translate("QtToolBarDialog", "Remove", 0));
+ removeButton->setText(QApplication::translate("QtToolBarDialog", "Remove", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- renameButton->setToolTip(QApplication::translate("QtToolBarDialog", "Rename toolbar", 0));
+ renameButton->setToolTip(QApplication::translate("QtToolBarDialog", "Rename toolbar", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- renameButton->setText(QApplication::translate("QtToolBarDialog", "Rename", 0));
+ renameButton->setText(QApplication::translate("QtToolBarDialog", "Rename", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- upButton->setToolTip(QApplication::translate("QtToolBarDialog", "Move action up", 0));
+ upButton->setToolTip(QApplication::translate("QtToolBarDialog", "Move action up", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- upButton->setText(QApplication::translate("QtToolBarDialog", "Up", 0));
+ upButton->setText(QApplication::translate("QtToolBarDialog", "Up", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- leftButton->setToolTip(QApplication::translate("QtToolBarDialog", "Remove action from toolbar", 0));
+ leftButton->setToolTip(QApplication::translate("QtToolBarDialog", "Remove action from toolbar", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- leftButton->setText(QApplication::translate("QtToolBarDialog", "<-", 0));
+ leftButton->setText(QApplication::translate("QtToolBarDialog", "<-", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- rightButton->setToolTip(QApplication::translate("QtToolBarDialog", "Add action to toolbar", 0));
+ rightButton->setToolTip(QApplication::translate("QtToolBarDialog", "Add action to toolbar", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- rightButton->setText(QApplication::translate("QtToolBarDialog", "->", 0));
+ rightButton->setText(QApplication::translate("QtToolBarDialog", "->", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- downButton->setToolTip(QApplication::translate("QtToolBarDialog", "Move action down", 0));
+ downButton->setToolTip(QApplication::translate("QtToolBarDialog", "Move action down", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- downButton->setText(QApplication::translate("QtToolBarDialog", "Down", 0));
- label_3->setText(QApplication::translate("QtToolBarDialog", "Current Toolbar Actions", 0));
+ downButton->setText(QApplication::translate("QtToolBarDialog", "Down", Q_NULLPTR));
+ label_3->setText(QApplication::translate("QtToolBarDialog", "Current Toolbar Actions", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/querywidget.ui.h b/tests/auto/tools/uic/baseline/querywidget.ui.h
index 1dcf7befdd..531df0d614 100644
--- a/tests/auto/tools/uic/baseline/querywidget.ui.h
+++ b/tests/auto/tools/uic/baseline/querywidget.ui.h
@@ -156,10 +156,10 @@ public:
void retranslateUi(QMainWindow *QueryWidget)
{
- QueryWidget->setWindowTitle(QApplication::translate("QueryWidget", "Recipes XQuery Example", 0));
- inputGroupBox->setTitle(QApplication::translate("QueryWidget", "Input Document", 0));
- queryGroupBox->setTitle(QApplication::translate("QueryWidget", "Select your query:", 0));
- outputGroupBox->setTitle(QApplication::translate("QueryWidget", "Output Document", 0));
+ QueryWidget->setWindowTitle(QApplication::translate("QueryWidget", "Recipes XQuery Example", Q_NULLPTR));
+ inputGroupBox->setTitle(QApplication::translate("QueryWidget", "Input Document", Q_NULLPTR));
+ queryGroupBox->setTitle(QApplication::translate("QueryWidget", "Select your query:", Q_NULLPTR));
+ outputGroupBox->setTitle(QApplication::translate("QueryWidget", "Output Document", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/remotecontrol.ui.h b/tests/auto/tools/uic/baseline/remotecontrol.ui.h
index b25f940450..00af983ed7 100644
--- a/tests/auto/tools/uic/baseline/remotecontrol.ui.h
+++ b/tests/auto/tools/uic/baseline/remotecontrol.ui.h
@@ -223,22 +223,22 @@ public:
void retranslateUi(QMainWindow *RemoteControlClass)
{
- RemoteControlClass->setWindowTitle(QApplication::translate("RemoteControlClass", "RemoteControl", 0));
- actionQuit->setText(QApplication::translate("RemoteControlClass", "Quit", 0));
- label->setText(QApplication::translate("RemoteControlClass", "Start URL:", 0));
- launchButton->setText(QApplication::translate("RemoteControlClass", "Launch Qt HelpViewer", 0));
- actionGroupBox->setTitle(QApplication::translate("RemoteControlClass", "Actions", 0));
- label_2->setText(QApplication::translate("RemoteControlClass", "Search in Index:", 0));
+ RemoteControlClass->setWindowTitle(QApplication::translate("RemoteControlClass", "RemoteControl", Q_NULLPTR));
+ actionQuit->setText(QApplication::translate("RemoteControlClass", "Quit", Q_NULLPTR));
+ label->setText(QApplication::translate("RemoteControlClass", "Start URL:", Q_NULLPTR));
+ launchButton->setText(QApplication::translate("RemoteControlClass", "Launch Qt HelpViewer", Q_NULLPTR));
+ actionGroupBox->setTitle(QApplication::translate("RemoteControlClass", "Actions", Q_NULLPTR));
+ label_2->setText(QApplication::translate("RemoteControlClass", "Search in Index:", Q_NULLPTR));
indexButton->setText(QString());
- label_4->setText(QApplication::translate("RemoteControlClass", "Identifier:", 0));
+ label_4->setText(QApplication::translate("RemoteControlClass", "Identifier:", Q_NULLPTR));
identifierButton->setText(QString());
- label_3->setText(QApplication::translate("RemoteControlClass", "Show URL:", 0));
+ label_3->setText(QApplication::translate("RemoteControlClass", "Show URL:", Q_NULLPTR));
urlButton->setText(QString());
- syncContentsButton->setText(QApplication::translate("RemoteControlClass", "Sync Contents", 0));
- contentsCheckBox->setText(QApplication::translate("RemoteControlClass", "Show Contents", 0));
- indexCheckBox->setText(QApplication::translate("RemoteControlClass", "Show Index", 0));
- bookmarksCheckBox->setText(QApplication::translate("RemoteControlClass", "Show Bookmarks", 0));
- menuFile->setTitle(QApplication::translate("RemoteControlClass", "File", 0));
+ syncContentsButton->setText(QApplication::translate("RemoteControlClass", "Sync Contents", Q_NULLPTR));
+ contentsCheckBox->setText(QApplication::translate("RemoteControlClass", "Show Contents", Q_NULLPTR));
+ indexCheckBox->setText(QApplication::translate("RemoteControlClass", "Show Index", Q_NULLPTR));
+ bookmarksCheckBox->setText(QApplication::translate("RemoteControlClass", "Show Bookmarks", Q_NULLPTR));
+ menuFile->setTitle(QApplication::translate("RemoteControlClass", "File", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/saveformastemplate.ui.h b/tests/auto/tools/uic/baseline/saveformastemplate.ui.h
index aee383d03a..953bb211a9 100644
--- a/tests/auto/tools/uic/baseline/saveformastemplate.ui.h
+++ b/tests/auto/tools/uic/baseline/saveformastemplate.ui.h
@@ -134,10 +134,10 @@ public:
void retranslateUi(QDialog *SaveFormAsTemplate)
{
- SaveFormAsTemplate->setWindowTitle(QApplication::translate("SaveFormAsTemplate", "Save Form As Template", 0));
- label->setText(QApplication::translate("SaveFormAsTemplate", "&Name:", 0));
+ SaveFormAsTemplate->setWindowTitle(QApplication::translate("SaveFormAsTemplate", "Save Form As Template", Q_NULLPTR));
+ label->setText(QApplication::translate("SaveFormAsTemplate", "&Name:", Q_NULLPTR));
templateNameEdit->setText(QString());
- label_2->setText(QApplication::translate("SaveFormAsTemplate", "&Category:", 0));
+ label_2->setText(QApplication::translate("SaveFormAsTemplate", "&Category:", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/settings.ui.h b/tests/auto/tools/uic/baseline/settings.ui.h
index aa03609e98..7342810462 100644
--- a/tests/auto/tools/uic/baseline/settings.ui.h
+++ b/tests/auto/tools/uic/baseline/settings.ui.h
@@ -185,13 +185,13 @@ public:
void retranslateUi(QDialog *Dialog)
{
- Dialog->setWindowTitle(QApplication::translate("Dialog", "Dialog", 0));
- label->setText(QApplication::translate("Dialog", "Audio device:", 0));
- label_6->setText(QApplication::translate("Dialog", "Audio effect:", 0));
- crossFadeLabel->setText(QApplication::translate("Dialog", "Cross fade:", 0));
- label_3->setText(QApplication::translate("Dialog", "-10 Sec", 0));
- label_5->setText(QApplication::translate("Dialog", "0", 0));
- label_4->setText(QApplication::translate("Dialog", "10 Sec", 0));
+ Dialog->setWindowTitle(QApplication::translate("Dialog", "Dialog", Q_NULLPTR));
+ label->setText(QApplication::translate("Dialog", "Audio device:", Q_NULLPTR));
+ label_6->setText(QApplication::translate("Dialog", "Audio effect:", Q_NULLPTR));
+ crossFadeLabel->setText(QApplication::translate("Dialog", "Cross fade:", Q_NULLPTR));
+ label_3->setText(QApplication::translate("Dialog", "-10 Sec", Q_NULLPTR));
+ label_5->setText(QApplication::translate("Dialog", "0", Q_NULLPTR));
+ label_4->setText(QApplication::translate("Dialog", "10 Sec", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/signalslotdialog.ui.h b/tests/auto/tools/uic/baseline/signalslotdialog.ui.h
index c0a72b3c91..5c1483c651 100644
--- a/tests/auto/tools/uic/baseline/signalslotdialog.ui.h
+++ b/tests/auto/tools/uic/baseline/signalslotdialog.ui.h
@@ -136,25 +136,25 @@ public:
void retranslateUi(QDialog *SignalSlotDialogClass)
{
- SignalSlotDialogClass->setWindowTitle(QApplication::translate("SignalSlotDialogClass", "Signals and slots", 0));
- slotGroupBox->setTitle(QApplication::translate("SignalSlotDialogClass", "Slots", 0));
+ SignalSlotDialogClass->setWindowTitle(QApplication::translate("SignalSlotDialogClass", "Signals and slots", Q_NULLPTR));
+ slotGroupBox->setTitle(QApplication::translate("SignalSlotDialogClass", "Slots", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- addSlotButton->setToolTip(QApplication::translate("SignalSlotDialogClass", "Add", 0));
+ addSlotButton->setToolTip(QApplication::translate("SignalSlotDialogClass", "Add", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- addSlotButton->setText(QApplication::translate("SignalSlotDialogClass", "...", 0));
+ addSlotButton->setText(QApplication::translate("SignalSlotDialogClass", "...", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- removeSlotButton->setToolTip(QApplication::translate("SignalSlotDialogClass", "Delete", 0));
+ removeSlotButton->setToolTip(QApplication::translate("SignalSlotDialogClass", "Delete", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- removeSlotButton->setText(QApplication::translate("SignalSlotDialogClass", "...", 0));
- signalGroupBox->setTitle(QApplication::translate("SignalSlotDialogClass", "Signals", 0));
+ removeSlotButton->setText(QApplication::translate("SignalSlotDialogClass", "...", Q_NULLPTR));
+ signalGroupBox->setTitle(QApplication::translate("SignalSlotDialogClass", "Signals", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- addSignalButton->setToolTip(QApplication::translate("SignalSlotDialogClass", "Add", 0));
+ addSignalButton->setToolTip(QApplication::translate("SignalSlotDialogClass", "Add", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- addSignalButton->setText(QApplication::translate("SignalSlotDialogClass", "...", 0));
+ addSignalButton->setText(QApplication::translate("SignalSlotDialogClass", "...", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- removeSignalButton->setToolTip(QApplication::translate("SignalSlotDialogClass", "Delete", 0));
+ removeSignalButton->setToolTip(QApplication::translate("SignalSlotDialogClass", "Delete", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- removeSignalButton->setText(QApplication::translate("SignalSlotDialogClass", "...", 0));
+ removeSignalButton->setText(QApplication::translate("SignalSlotDialogClass", "...", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/sslclient.ui.h b/tests/auto/tools/uic/baseline/sslclient.ui.h
index f2071d8780..7c8676eec7 100644
--- a/tests/auto/tools/uic/baseline/sslclient.ui.h
+++ b/tests/auto/tools/uic/baseline/sslclient.ui.h
@@ -158,20 +158,20 @@ public:
void retranslateUi(QWidget *Form)
{
- Form->setWindowTitle(QApplication::translate("Form", "Secure Socket Client", 0));
- hostNameLabel->setText(QApplication::translate("Form", "Host name:", 0));
- hostNameEdit->setText(QApplication::translate("Form", "imap.example.com", 0));
- portLabel->setText(QApplication::translate("Form", "Port:", 0));
- connectButton->setText(QApplication::translate("Form", "Connect to host", 0));
- sessionBox->setTitle(QApplication::translate("Form", "Active session", 0));
- cipherText->setText(QApplication::translate("Form", "Cryptographic Cipher:", 0));
- cipherLabel->setText(QApplication::translate("Form", "<none>", 0));
+ Form->setWindowTitle(QApplication::translate("Form", "Secure Socket Client", Q_NULLPTR));
+ hostNameLabel->setText(QApplication::translate("Form", "Host name:", Q_NULLPTR));
+ hostNameEdit->setText(QApplication::translate("Form", "imap.example.com", Q_NULLPTR));
+ portLabel->setText(QApplication::translate("Form", "Port:", Q_NULLPTR));
+ connectButton->setText(QApplication::translate("Form", "Connect to host", Q_NULLPTR));
+ sessionBox->setTitle(QApplication::translate("Form", "Active session", Q_NULLPTR));
+ cipherText->setText(QApplication::translate("Form", "Cryptographic Cipher:", Q_NULLPTR));
+ cipherLabel->setText(QApplication::translate("Form", "<none>", Q_NULLPTR));
sessionOutput->setHtml(QApplication::translate("Form", "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
"p, li { white-space: pre-wrap; }\n"
"</style></head><body style=\" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;\">\n"
-"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"></p></body></html>", 0));
- sessionInputLabel->setText(QApplication::translate("Form", "Input:", 0));
- sendButton->setText(QApplication::translate("Form", "&Send", 0));
+"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"></p></body></html>", Q_NULLPTR));
+ sessionInputLabel->setText(QApplication::translate("Form", "Input:", Q_NULLPTR));
+ sendButton->setText(QApplication::translate("Form", "&Send", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/sslerrors.ui.h b/tests/auto/tools/uic/baseline/sslerrors.ui.h
index c52c71f3aa..0149eee45a 100644
--- a/tests/auto/tools/uic/baseline/sslerrors.ui.h
+++ b/tests/auto/tools/uic/baseline/sslerrors.ui.h
@@ -89,14 +89,14 @@ public:
void retranslateUi(QDialog *SslErrors)
{
- SslErrors->setWindowTitle(QApplication::translate("SslErrors", "Unable To Validate The Connection", 0));
+ SslErrors->setWindowTitle(QApplication::translate("SslErrors", "Unable To Validate The Connection", Q_NULLPTR));
label->setText(QApplication::translate("SslErrors", "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
"p, li { white-space: pre-wrap; }\n"
"</style></head><body style=\" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;\">\n"
-"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-weight:600; color:#ff0000;\">Warning</span><span style=\" color:#ff0000;\">:</span><span style=\" color:#000000;\"> One or more errors with this connection prevent validating the authenticity of the host you are connecting to. Please review the following list of errors, and click </span><span style=\" color:#000000;\">Ignore</span><span style=\" color:#000000;\"> to continue, or </span><span style=\" color:#000000;\">Cancel</span><span style=\" color:#000000;\"> to abort the connection.</span></p></body></html>", 0));
- certificateChainButton->setText(QApplication::translate("SslErrors", "View Certificate Chain", 0));
- pushButton->setText(QApplication::translate("SslErrors", "Ignore", 0));
- pushButton_2->setText(QApplication::translate("SslErrors", "Cancel", 0));
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-weight:600; color:#ff0000;\">Warning</span><span style=\" color:#ff0000;\">:</span><span style=\" color:#000000;\"> One or more errors with this connection prevent validating the authenticity of the host you are connecting to. Please review the following list of errors, and click </span><span style=\" color:#000000;\">Ignore</span><span style=\" color:#000000;\"> to continue, or </span><span style=\" color:#000000;\">Cancel</span><span style=\" color:#000000;\"> to abort the connection.</span></p></body></html>", Q_NULLPTR));
+ certificateChainButton->setText(QApplication::translate("SslErrors", "View Certificate Chain", Q_NULLPTR));
+ pushButton->setText(QApplication::translate("SslErrors", "Ignore", Q_NULLPTR));
+ pushButton_2->setText(QApplication::translate("SslErrors", "Cancel", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/statistics.ui.h b/tests/auto/tools/uic/baseline/statistics.ui.h
index 31710131d7..8bcdd8b6d8 100644
--- a/tests/auto/tools/uic/baseline/statistics.ui.h
+++ b/tests/auto/tools/uic/baseline/statistics.ui.h
@@ -182,19 +182,19 @@ public:
void retranslateUi(QDialog *Statistics)
{
- Statistics->setWindowTitle(QApplication::translate("Statistics", "Statistics", 0));
- closeBtn->setText(QApplication::translate("Statistics", "&Close", 0));
- textLabel4->setText(QApplication::translate("Statistics", "Translation", 0));
- textLabel5->setText(QApplication::translate("Statistics", "Source", 0));
- untrWords->setText(QApplication::translate("Statistics", "0", 0));
- trWords->setText(QApplication::translate("Statistics", "0", 0));
- textLabel1->setText(QApplication::translate("Statistics", "Words:", 0));
- trChars->setText(QApplication::translate("Statistics", "0", 0));
- untrChars->setText(QApplication::translate("Statistics", "0", 0));
- textLabel3->setText(QApplication::translate("Statistics", "Characters:", 0));
- textLabel6->setText(QApplication::translate("Statistics", "Characters (with spaces):", 0));
- trCharsSpc->setText(QApplication::translate("Statistics", "0", 0));
- untrCharsSpc->setText(QApplication::translate("Statistics", "0", 0));
+ Statistics->setWindowTitle(QApplication::translate("Statistics", "Statistics", Q_NULLPTR));
+ closeBtn->setText(QApplication::translate("Statistics", "&Close", Q_NULLPTR));
+ textLabel4->setText(QApplication::translate("Statistics", "Translation", Q_NULLPTR));
+ textLabel5->setText(QApplication::translate("Statistics", "Source", Q_NULLPTR));
+ untrWords->setText(QApplication::translate("Statistics", "0", Q_NULLPTR));
+ trWords->setText(QApplication::translate("Statistics", "0", Q_NULLPTR));
+ textLabel1->setText(QApplication::translate("Statistics", "Words:", Q_NULLPTR));
+ trChars->setText(QApplication::translate("Statistics", "0", Q_NULLPTR));
+ untrChars->setText(QApplication::translate("Statistics", "0", Q_NULLPTR));
+ textLabel3->setText(QApplication::translate("Statistics", "Characters:", Q_NULLPTR));
+ textLabel6->setText(QApplication::translate("Statistics", "Characters (with spaces):", Q_NULLPTR));
+ trCharsSpc->setText(QApplication::translate("Statistics", "0", Q_NULLPTR));
+ untrCharsSpc->setText(QApplication::translate("Statistics", "0", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/stringlisteditor.ui.h b/tests/auto/tools/uic/baseline/stringlisteditor.ui.h
index 5f939ce3e6..2dba42b4d5 100644
--- a/tests/auto/tools/uic/baseline/stringlisteditor.ui.h
+++ b/tests/auto/tools/uic/baseline/stringlisteditor.ui.h
@@ -217,25 +217,25 @@ public:
void retranslateUi(QDialog *qdesigner_internal__Dialog)
{
- qdesigner_internal__Dialog->setWindowTitle(QApplication::translate("qdesigner_internal::Dialog", "Dialog", 0));
- groupBox->setTitle(QApplication::translate("qdesigner_internal::Dialog", "StringList", 0));
+ qdesigner_internal__Dialog->setWindowTitle(QApplication::translate("qdesigner_internal::Dialog", "Dialog", Q_NULLPTR));
+ groupBox->setTitle(QApplication::translate("qdesigner_internal::Dialog", "StringList", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- newButton->setToolTip(QApplication::translate("qdesigner_internal::Dialog", "New String", 0));
+ newButton->setToolTip(QApplication::translate("qdesigner_internal::Dialog", "New String", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- newButton->setText(QApplication::translate("qdesigner_internal::Dialog", "&New", 0));
+ newButton->setText(QApplication::translate("qdesigner_internal::Dialog", "&New", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- deleteButton->setToolTip(QApplication::translate("qdesigner_internal::Dialog", "Delete String", 0));
+ deleteButton->setToolTip(QApplication::translate("qdesigner_internal::Dialog", "Delete String", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- deleteButton->setText(QApplication::translate("qdesigner_internal::Dialog", "&Delete", 0));
- label->setText(QApplication::translate("qdesigner_internal::Dialog", "&Value:", 0));
+ deleteButton->setText(QApplication::translate("qdesigner_internal::Dialog", "&Delete", Q_NULLPTR));
+ label->setText(QApplication::translate("qdesigner_internal::Dialog", "&Value:", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- upButton->setToolTip(QApplication::translate("qdesigner_internal::Dialog", "Move String Up", 0));
+ upButton->setToolTip(QApplication::translate("qdesigner_internal::Dialog", "Move String Up", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- upButton->setText(QApplication::translate("qdesigner_internal::Dialog", "Up", 0));
+ upButton->setText(QApplication::translate("qdesigner_internal::Dialog", "Up", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- downButton->setToolTip(QApplication::translate("qdesigner_internal::Dialog", "Move String Down", 0));
+ downButton->setToolTip(QApplication::translate("qdesigner_internal::Dialog", "Move String Down", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- downButton->setText(QApplication::translate("qdesigner_internal::Dialog", "Down", 0));
+ downButton->setText(QApplication::translate("qdesigner_internal::Dialog", "Down", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/stylesheeteditor.ui.h b/tests/auto/tools/uic/baseline/stylesheeteditor.ui.h
index 35b45f7e94..94ffa45509 100644
--- a/tests/auto/tools/uic/baseline/stylesheeteditor.ui.h
+++ b/tests/auto/tools/uic/baseline/stylesheeteditor.ui.h
@@ -130,16 +130,16 @@ public:
void retranslateUi(QWidget *StyleSheetEditor)
{
- StyleSheetEditor->setWindowTitle(QApplication::translate("StyleSheetEditor", "Style Editor", 0));
+ StyleSheetEditor->setWindowTitle(QApplication::translate("StyleSheetEditor", "Style Editor", Q_NULLPTR));
styleSheetCombo->clear();
styleSheetCombo->insertItems(0, QStringList()
- << QApplication::translate("StyleSheetEditor", "Default", 0)
- << QApplication::translate("StyleSheetEditor", "Coffee", 0)
- << QApplication::translate("StyleSheetEditor", "Pagefold", 0)
+ << QApplication::translate("StyleSheetEditor", "Default", Q_NULLPTR)
+ << QApplication::translate("StyleSheetEditor", "Coffee", Q_NULLPTR)
+ << QApplication::translate("StyleSheetEditor", "Pagefold", Q_NULLPTR)
);
- label_7->setText(QApplication::translate("StyleSheetEditor", "Style:", 0));
- applyButton->setText(QApplication::translate("StyleSheetEditor", "&Apply", 0));
- label_8->setText(QApplication::translate("StyleSheetEditor", "Style Sheet:", 0));
+ label_7->setText(QApplication::translate("StyleSheetEditor", "Style:", Q_NULLPTR));
+ applyButton->setText(QApplication::translate("StyleSheetEditor", "&Apply", Q_NULLPTR));
+ label_8->setText(QApplication::translate("StyleSheetEditor", "Style Sheet:", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/tabbedbrowser.ui.h b/tests/auto/tools/uic/baseline/tabbedbrowser.ui.h
index 534b5381aa..acf0ddaef4 100644
--- a/tests/auto/tools/uic/baseline/tabbedbrowser.ui.h
+++ b/tests/auto/tools/uic/baseline/tabbedbrowser.ui.h
@@ -183,14 +183,14 @@ public:
void retranslateUi(QWidget *TabbedBrowser)
{
- TabbedBrowser->setWindowTitle(QApplication::translate("TabbedBrowser", "TabbedBrowser", 0));
- tab->setTabText(tab->indexOf(frontpage), QApplication::translate("TabbedBrowser", "Untitled", 0));
+ TabbedBrowser->setWindowTitle(QApplication::translate("TabbedBrowser", "TabbedBrowser", Q_NULLPTR));
+ tab->setTabText(tab->indexOf(frontpage), QApplication::translate("TabbedBrowser", "Untitled", Q_NULLPTR));
toolClose->setText(QString());
- toolPrevious->setText(QApplication::translate("TabbedBrowser", "Previous", 0));
- toolNext->setText(QApplication::translate("TabbedBrowser", "Next", 0));
- checkCase->setText(QApplication::translate("TabbedBrowser", "Case Sensitive", 0));
- checkWholeWords->setText(QApplication::translate("TabbedBrowser", "Whole words", 0));
- labelWrapped->setText(QApplication::translate("TabbedBrowser", "<img src=\":/qt-project.org/assistant/images/wrap.png\">&nbsp;Search wrapped", 0));
+ toolPrevious->setText(QApplication::translate("TabbedBrowser", "Previous", Q_NULLPTR));
+ toolNext->setText(QApplication::translate("TabbedBrowser", "Next", Q_NULLPTR));
+ checkCase->setText(QApplication::translate("TabbedBrowser", "Case Sensitive", Q_NULLPTR));
+ checkWholeWords->setText(QApplication::translate("TabbedBrowser", "Whole words", Q_NULLPTR));
+ labelWrapped->setText(QApplication::translate("TabbedBrowser", "<img src=\":/qt-project.org/assistant/images/wrap.png\">&nbsp;Search wrapped", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/tablewidgeteditor.ui.h b/tests/auto/tools/uic/baseline/tablewidgeteditor.ui.h
index 54c4435f5d..51c053a9c1 100644
--- a/tests/auto/tools/uic/baseline/tablewidgeteditor.ui.h
+++ b/tests/auto/tools/uic/baseline/tablewidgeteditor.ui.h
@@ -313,54 +313,54 @@ public:
void retranslateUi(QDialog *qdesigner_internal__TableWidgetEditor)
{
- qdesigner_internal__TableWidgetEditor->setWindowTitle(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Edit Table Widget", 0));
- itemsBox->setTitle(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Table Items", 0));
+ qdesigner_internal__TableWidgetEditor->setWindowTitle(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Edit Table Widget", Q_NULLPTR));
+ itemsBox->setTitle(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Table Items", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- tableWidget->setToolTip(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Table Items", 0));
+ tableWidget->setToolTip(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Table Items", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- label_3->setText(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Icon", 0));
- columnsBox->setTitle(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Columns", 0));
+ label_3->setText(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Icon", Q_NULLPTR));
+ columnsBox->setTitle(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Columns", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- columnsListWidget->setToolTip(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Table Columns", 0));
+ columnsListWidget->setToolTip(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Table Columns", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
#ifndef QT_NO_TOOLTIP
- newColumnButton->setToolTip(QApplication::translate("qdesigner_internal::TableWidgetEditor", "New Column", 0));
+ newColumnButton->setToolTip(QApplication::translate("qdesigner_internal::TableWidgetEditor", "New Column", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- newColumnButton->setText(QApplication::translate("qdesigner_internal::TableWidgetEditor", "New", 0));
+ newColumnButton->setText(QApplication::translate("qdesigner_internal::TableWidgetEditor", "New", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- deleteColumnButton->setToolTip(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Delete Column", 0));
+ deleteColumnButton->setToolTip(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Delete Column", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- deleteColumnButton->setText(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Delete", 0));
+ deleteColumnButton->setText(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Delete", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- moveColumnUpButton->setToolTip(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Move Column Up", 0));
+ moveColumnUpButton->setToolTip(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Move Column Up", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- moveColumnUpButton->setText(QApplication::translate("qdesigner_internal::TableWidgetEditor", "U", 0));
+ moveColumnUpButton->setText(QApplication::translate("qdesigner_internal::TableWidgetEditor", "U", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- moveColumnDownButton->setToolTip(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Move Column Down", 0));
+ moveColumnDownButton->setToolTip(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Move Column Down", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- moveColumnDownButton->setText(QApplication::translate("qdesigner_internal::TableWidgetEditor", "D", 0));
- label->setText(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Icon", 0));
- rowsBox->setTitle(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Rows", 0));
+ moveColumnDownButton->setText(QApplication::translate("qdesigner_internal::TableWidgetEditor", "D", Q_NULLPTR));
+ label->setText(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Icon", Q_NULLPTR));
+ rowsBox->setTitle(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Rows", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- rowsListWidget->setToolTip(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Table Rows", 0));
+ rowsListWidget->setToolTip(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Table Rows", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
#ifndef QT_NO_TOOLTIP
- newRowButton->setToolTip(QApplication::translate("qdesigner_internal::TableWidgetEditor", "New Row", 0));
+ newRowButton->setToolTip(QApplication::translate("qdesigner_internal::TableWidgetEditor", "New Row", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- newRowButton->setText(QApplication::translate("qdesigner_internal::TableWidgetEditor", "New", 0));
+ newRowButton->setText(QApplication::translate("qdesigner_internal::TableWidgetEditor", "New", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- deleteRowButton->setToolTip(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Delete Row", 0));
+ deleteRowButton->setToolTip(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Delete Row", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- deleteRowButton->setText(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Delete", 0));
+ deleteRowButton->setText(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Delete", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- moveRowUpButton->setToolTip(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Move Row Up", 0));
+ moveRowUpButton->setToolTip(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Move Row Up", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- moveRowUpButton->setText(QApplication::translate("qdesigner_internal::TableWidgetEditor", "U", 0));
+ moveRowUpButton->setText(QApplication::translate("qdesigner_internal::TableWidgetEditor", "U", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- moveRowDownButton->setToolTip(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Move Row Down", 0));
+ moveRowDownButton->setToolTip(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Move Row Down", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- moveRowDownButton->setText(QApplication::translate("qdesigner_internal::TableWidgetEditor", "D", 0));
- label_2->setText(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Icon", 0));
+ moveRowDownButton->setText(QApplication::translate("qdesigner_internal::TableWidgetEditor", "D", Q_NULLPTR));
+ label_2->setText(QApplication::translate("qdesigner_internal::TableWidgetEditor", "Icon", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/tetrixwindow.ui.h b/tests/auto/tools/uic/baseline/tetrixwindow.ui.h
index 0f945fab35..f3ec6d6fc9 100644
--- a/tests/auto/tools/uic/baseline/tetrixwindow.ui.h
+++ b/tests/auto/tools/uic/baseline/tetrixwindow.ui.h
@@ -150,15 +150,15 @@ public:
void retranslateUi(QWidget *TetrixWindow)
{
- TetrixWindow->setWindowTitle(QApplication::translate("TetrixWindow", "Tetrix", 0));
- startButton->setText(QApplication::translate("TetrixWindow", "&Start", 0));
- linesRemovedLabel->setText(QApplication::translate("TetrixWindow", "LINES REMOVED", 0));
- pauseButton->setText(QApplication::translate("TetrixWindow", "&Pause", 0));
- levelLabel->setText(QApplication::translate("TetrixWindow", "LEVEL", 0));
- nextLabel->setText(QApplication::translate("TetrixWindow", "NEXT", 0));
- scoreLabel->setText(QApplication::translate("TetrixWindow", "SCORE", 0));
+ TetrixWindow->setWindowTitle(QApplication::translate("TetrixWindow", "Tetrix", Q_NULLPTR));
+ startButton->setText(QApplication::translate("TetrixWindow", "&Start", Q_NULLPTR));
+ linesRemovedLabel->setText(QApplication::translate("TetrixWindow", "LINES REMOVED", Q_NULLPTR));
+ pauseButton->setText(QApplication::translate("TetrixWindow", "&Pause", Q_NULLPTR));
+ levelLabel->setText(QApplication::translate("TetrixWindow", "LEVEL", Q_NULLPTR));
+ nextLabel->setText(QApplication::translate("TetrixWindow", "NEXT", Q_NULLPTR));
+ scoreLabel->setText(QApplication::translate("TetrixWindow", "SCORE", Q_NULLPTR));
nextPieceLabel->setText(QString());
- quitButton->setText(QApplication::translate("TetrixWindow", "&Quit", 0));
+ quitButton->setText(QApplication::translate("TetrixWindow", "&Quit", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/textfinder.ui.h b/tests/auto/tools/uic/baseline/textfinder.ui.h
index 148bf11dbc..159cb54c0a 100644
--- a/tests/auto/tools/uic/baseline/textfinder.ui.h
+++ b/tests/auto/tools/uic/baseline/textfinder.ui.h
@@ -96,9 +96,9 @@ public:
void retranslateUi(QWidget *Form)
{
- Form->setWindowTitle(QApplication::translate("Form", "Find Text", 0));
- searchLabel->setText(QApplication::translate("Form", "&Keyword:", 0));
- findButton->setText(QApplication::translate("Form", "&Find", 0));
+ Form->setWindowTitle(QApplication::translate("Form", "Find Text", Q_NULLPTR));
+ searchLabel->setText(QApplication::translate("Form", "&Keyword:", Q_NULLPTR));
+ findButton->setText(QApplication::translate("Form", "&Find", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/topicchooser.ui.h b/tests/auto/tools/uic/baseline/topicchooser.ui.h
index 3935a7a87b..5580b437da 100644
--- a/tests/auto/tools/uic/baseline/topicchooser.ui.h
+++ b/tests/auto/tools/uic/baseline/topicchooser.ui.h
@@ -103,10 +103,10 @@ public:
void retranslateUi(QDialog *TopicChooser)
{
- TopicChooser->setWindowTitle(QApplication::translate("TopicChooser", "Choose Topic", 0));
- label->setText(QApplication::translate("TopicChooser", "&Topics", 0));
- buttonDisplay->setText(QApplication::translate("TopicChooser", "&Display", 0));
- buttonCancel->setText(QApplication::translate("TopicChooser", "&Close", 0));
+ TopicChooser->setWindowTitle(QApplication::translate("TopicChooser", "Choose Topic", Q_NULLPTR));
+ label->setText(QApplication::translate("TopicChooser", "&Topics", Q_NULLPTR));
+ buttonDisplay->setText(QApplication::translate("TopicChooser", "&Display", Q_NULLPTR));
+ buttonCancel->setText(QApplication::translate("TopicChooser", "&Close", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/translatedialog.ui.h b/tests/auto/tools/uic/baseline/translatedialog.ui.h
index d33ce29395..14b1622d8f 100644
--- a/tests/auto/tools/uic/baseline/translatedialog.ui.h
+++ b/tests/auto/tools/uic/baseline/translatedialog.ui.h
@@ -208,34 +208,34 @@ public:
void retranslateUi(QDialog *TranslateDialog)
{
- TranslateDialog->setWindowTitle(QApplication::translate("TranslateDialog", "Qt Linguist", 0));
+ TranslateDialog->setWindowTitle(QApplication::translate("TranslateDialog", "Qt Linguist", Q_NULLPTR));
#ifndef QT_NO_WHATSTHIS
- TranslateDialog->setWhatsThis(QApplication::translate("TranslateDialog", "This window allows you to search for some text in the translation source file.", 0));
+ TranslateDialog->setWhatsThis(QApplication::translate("TranslateDialog", "This window allows you to search for some text in the translation source file.", Q_NULLPTR));
#endif // QT_NO_WHATSTHIS
#ifndef QT_NO_WHATSTHIS
- ledTranslateTo->setWhatsThis(QApplication::translate("TranslateDialog", "Type in the text to search for.", 0));
+ ledTranslateTo->setWhatsThis(QApplication::translate("TranslateDialog", "Type in the text to search for.", Q_NULLPTR));
#endif // QT_NO_WHATSTHIS
- findWhat->setText(QApplication::translate("TranslateDialog", "Find &source text:", 0));
- translateTo->setText(QApplication::translate("TranslateDialog", "&Translate to:", 0));
+ findWhat->setText(QApplication::translate("TranslateDialog", "Find &source text:", Q_NULLPTR));
+ translateTo->setText(QApplication::translate("TranslateDialog", "&Translate to:", Q_NULLPTR));
#ifndef QT_NO_WHATSTHIS
- ledFindWhat->setWhatsThis(QApplication::translate("TranslateDialog", "Type in the text to search for.", 0));
+ ledFindWhat->setWhatsThis(QApplication::translate("TranslateDialog", "Type in the text to search for.", Q_NULLPTR));
#endif // QT_NO_WHATSTHIS
- groupBox->setTitle(QApplication::translate("TranslateDialog", "Search options", 0));
+ groupBox->setTitle(QApplication::translate("TranslateDialog", "Search options", Q_NULLPTR));
#ifndef QT_NO_WHATSTHIS
- ckMatchCase->setWhatsThis(QApplication::translate("TranslateDialog", "Texts such as 'TeX' and 'tex' are considered as different when checked.", 0));
+ ckMatchCase->setWhatsThis(QApplication::translate("TranslateDialog", "Texts such as 'TeX' and 'tex' are considered as different when checked.", Q_NULLPTR));
#endif // QT_NO_WHATSTHIS
- ckMatchCase->setText(QApplication::translate("TranslateDialog", "Match &case", 0));
- ckMarkFinished->setText(QApplication::translate("TranslateDialog", "Mark new translation as &finished", 0));
+ ckMatchCase->setText(QApplication::translate("TranslateDialog", "Match &case", Q_NULLPTR));
+ ckMarkFinished->setText(QApplication::translate("TranslateDialog", "Mark new translation as &finished", Q_NULLPTR));
#ifndef QT_NO_WHATSTHIS
- findNxt->setWhatsThis(QApplication::translate("TranslateDialog", "Click here to find the next occurrence of the text you typed in.", 0));
+ findNxt->setWhatsThis(QApplication::translate("TranslateDialog", "Click here to find the next occurrence of the text you typed in.", Q_NULLPTR));
#endif // QT_NO_WHATSTHIS
- findNxt->setText(QApplication::translate("TranslateDialog", "Find Next", 0));
- translate->setText(QApplication::translate("TranslateDialog", "Translate", 0));
- translateAll->setText(QApplication::translate("TranslateDialog", "Translate All", 0));
+ findNxt->setText(QApplication::translate("TranslateDialog", "Find Next", Q_NULLPTR));
+ translate->setText(QApplication::translate("TranslateDialog", "Translate", Q_NULLPTR));
+ translateAll->setText(QApplication::translate("TranslateDialog", "Translate All", Q_NULLPTR));
#ifndef QT_NO_WHATSTHIS
- cancel->setWhatsThis(QApplication::translate("TranslateDialog", "Click here to close this window.", 0));
+ cancel->setWhatsThis(QApplication::translate("TranslateDialog", "Click here to close this window.", Q_NULLPTR));
#endif // QT_NO_WHATSTHIS
- cancel->setText(QApplication::translate("TranslateDialog", "Cancel", 0));
+ cancel->setText(QApplication::translate("TranslateDialog", "Cancel", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/translation/Dialog_without_Buttons_tr.h b/tests/auto/tools/uic/baseline/translation/Dialog_without_Buttons_tr.h
index 597728e207..08c063cf6f 100644
--- a/tests/auto/tools/uic/baseline/translation/Dialog_without_Buttons_tr.h
+++ b/tests/auto/tools/uic/baseline/translation/Dialog_without_Buttons_tr.h
@@ -36,7 +36,7 @@ public:
void retranslateUi(QDialog *Dialog)
{
- Dialog->setWindowTitle(i18n("Dialog", 0));
+ Dialog->setWindowTitle(i18n("Dialog", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/translationsettings.ui.h b/tests/auto/tools/uic/baseline/translationsettings.ui.h
index e67cba5289..628c42d42e 100644
--- a/tests/auto/tools/uic/baseline/translationsettings.ui.h
+++ b/tests/auto/tools/uic/baseline/translationsettings.ui.h
@@ -102,10 +102,10 @@ public:
void retranslateUi(QDialog *TranslationSettings)
{
- TranslationSettings->setWindowTitle(QApplication::translate("TranslationSettings", "Qt Linguist - Translation file settings", 0));
- groupBox->setTitle(QApplication::translate("TranslationSettings", "Target language", 0));
- label->setText(QApplication::translate("TranslationSettings", "Language", 0));
- lblCountry->setText(QApplication::translate("TranslationSettings", "Country/Region", 0));
+ TranslationSettings->setWindowTitle(QApplication::translate("TranslationSettings", "Qt Linguist - Translation file settings", Q_NULLPTR));
+ groupBox->setTitle(QApplication::translate("TranslationSettings", "Target language", Q_NULLPTR));
+ label->setText(QApplication::translate("TranslationSettings", "Language", Q_NULLPTR));
+ lblCountry->setText(QApplication::translate("TranslationSettings", "Country/Region", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/treewidgeteditor.ui.h b/tests/auto/tools/uic/baseline/treewidgeteditor.ui.h
index 6c1995c903..ce077c42f4 100644
--- a/tests/auto/tools/uic/baseline/treewidgeteditor.ui.h
+++ b/tests/auto/tools/uic/baseline/treewidgeteditor.ui.h
@@ -278,63 +278,63 @@ public:
void retranslateUi(QDialog *qdesigner_internal__TreeWidgetEditor)
{
- qdesigner_internal__TreeWidgetEditor->setWindowTitle(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "Edit Tree Widget", 0));
- itemsBox->setTitle(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "Tree Items", 0));
+ qdesigner_internal__TreeWidgetEditor->setWindowTitle(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "Edit Tree Widget", Q_NULLPTR));
+ itemsBox->setTitle(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "Tree Items", Q_NULLPTR));
QTreeWidgetItem *___qtreewidgetitem = treeWidget->headerItem();
- ___qtreewidgetitem->setText(0, QApplication::translate("qdesigner_internal::TreeWidgetEditor", "1", 0));
+ ___qtreewidgetitem->setText(0, QApplication::translate("qdesigner_internal::TreeWidgetEditor", "1", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- treeWidget->setToolTip(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "Tree Items", 0));
+ treeWidget->setToolTip(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "Tree Items", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
#ifndef QT_NO_TOOLTIP
- newItemButton->setToolTip(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "New Item", 0));
+ newItemButton->setToolTip(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "New Item", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- newItemButton->setText(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "&New", 0));
+ newItemButton->setText(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "&New", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- newSubItemButton->setToolTip(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "New Subitem", 0));
+ newSubItemButton->setToolTip(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "New Subitem", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- newSubItemButton->setText(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "New &Subitem", 0));
+ newSubItemButton->setText(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "New &Subitem", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- deleteItemButton->setToolTip(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "Delete Item", 0));
+ deleteItemButton->setToolTip(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "Delete Item", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- deleteItemButton->setText(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "&Delete", 0));
+ deleteItemButton->setText(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "&Delete", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- moveItemLeftButton->setToolTip(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "Move Item Left (before Parent Item)", 0));
+ moveItemLeftButton->setToolTip(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "Move Item Left (before Parent Item)", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- moveItemLeftButton->setText(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "L", 0));
+ moveItemLeftButton->setText(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "L", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- moveItemRightButton->setToolTip(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "Move Item Right (as a First Subitem of the Next Sibling Item)", 0));
+ moveItemRightButton->setToolTip(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "Move Item Right (as a First Subitem of the Next Sibling Item)", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- moveItemRightButton->setText(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "R", 0));
+ moveItemRightButton->setText(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "R", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- moveItemUpButton->setToolTip(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "Move Item Up", 0));
+ moveItemUpButton->setToolTip(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "Move Item Up", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- moveItemUpButton->setText(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "U", 0));
+ moveItemUpButton->setText(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "U", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- moveItemDownButton->setToolTip(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "Move Item Down", 0));
+ moveItemDownButton->setToolTip(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "Move Item Down", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- moveItemDownButton->setText(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "D", 0));
- label_2->setText(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "Icon", 0));
- columnsBox->setTitle(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "Columns", 0));
+ moveItemDownButton->setText(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "D", Q_NULLPTR));
+ label_2->setText(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "Icon", Q_NULLPTR));
+ columnsBox->setTitle(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "Columns", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- listWidget->setToolTip(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "Tree Columns", 0));
+ listWidget->setToolTip(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "Tree Columns", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
#ifndef QT_NO_TOOLTIP
- newColumnButton->setToolTip(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "New Column", 0));
+ newColumnButton->setToolTip(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "New Column", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- newColumnButton->setText(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "New", 0));
+ newColumnButton->setText(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "New", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- deleteColumnButton->setToolTip(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "Delete Column", 0));
+ deleteColumnButton->setToolTip(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "Delete Column", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- deleteColumnButton->setText(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "Delete", 0));
+ deleteColumnButton->setText(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "Delete", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- moveColumnUpButton->setToolTip(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "Move Column Up", 0));
+ moveColumnUpButton->setToolTip(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "Move Column Up", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- moveColumnUpButton->setText(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "U", 0));
+ moveColumnUpButton->setText(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "U", Q_NULLPTR));
#ifndef QT_NO_TOOLTIP
- moveColumnDownButton->setToolTip(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "Move Column Down", 0));
+ moveColumnDownButton->setToolTip(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "Move Column Down", Q_NULLPTR));
#endif // QT_NO_TOOLTIP
- moveColumnDownButton->setText(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "D", 0));
- label->setText(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "Icon", 0));
+ moveColumnDownButton->setText(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "D", Q_NULLPTR));
+ label->setText(QApplication::translate("qdesigner_internal::TreeWidgetEditor", "Icon", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/trpreviewtool.ui.h b/tests/auto/tools/uic/baseline/trpreviewtool.ui.h
index 3a55661256..d694ae5a8d 100644
--- a/tests/auto/tools/uic/baseline/trpreviewtool.ui.h
+++ b/tests/auto/tools/uic/baseline/trpreviewtool.ui.h
@@ -164,19 +164,19 @@ public:
void retranslateUi(QMainWindow *TrPreviewToolClass)
{
- TrPreviewToolClass->setWindowTitle(QApplication::translate("TrPreviewToolClass", "Qt Translation Preview Tool", 0));
- actionOpenForm->setText(QApplication::translate("TrPreviewToolClass", "&Open Form...", 0));
- actionLoadTranslation->setText(QApplication::translate("TrPreviewToolClass", "&Load Translation...", 0));
- actionReloadTranslations->setText(QApplication::translate("TrPreviewToolClass", "&Reload Translations", 0));
- actionReloadTranslations->setShortcut(QApplication::translate("TrPreviewToolClass", "F5", 0));
- actionClose->setText(QApplication::translate("TrPreviewToolClass", "&Close", 0));
- actionAbout->setText(QApplication::translate("TrPreviewToolClass", "About", 0));
- actionAbout_Qt->setText(QApplication::translate("TrPreviewToolClass", "About Qt", 0));
- menuView->setTitle(QApplication::translate("TrPreviewToolClass", "&View", 0));
- menuViewViews->setTitle(QApplication::translate("TrPreviewToolClass", "&Views", 0));
- menuHelp->setTitle(QApplication::translate("TrPreviewToolClass", "&Help", 0));
- menuFile->setTitle(QApplication::translate("TrPreviewToolClass", "&File", 0));
- dwForms->setWindowTitle(QApplication::translate("TrPreviewToolClass", "Forms", 0));
+ TrPreviewToolClass->setWindowTitle(QApplication::translate("TrPreviewToolClass", "Qt Translation Preview Tool", Q_NULLPTR));
+ actionOpenForm->setText(QApplication::translate("TrPreviewToolClass", "&Open Form...", Q_NULLPTR));
+ actionLoadTranslation->setText(QApplication::translate("TrPreviewToolClass", "&Load Translation...", Q_NULLPTR));
+ actionReloadTranslations->setText(QApplication::translate("TrPreviewToolClass", "&Reload Translations", Q_NULLPTR));
+ actionReloadTranslations->setShortcut(QApplication::translate("TrPreviewToolClass", "F5", Q_NULLPTR));
+ actionClose->setText(QApplication::translate("TrPreviewToolClass", "&Close", Q_NULLPTR));
+ actionAbout->setText(QApplication::translate("TrPreviewToolClass", "About", Q_NULLPTR));
+ actionAbout_Qt->setText(QApplication::translate("TrPreviewToolClass", "About Qt", Q_NULLPTR));
+ menuView->setTitle(QApplication::translate("TrPreviewToolClass", "&View", Q_NULLPTR));
+ menuViewViews->setTitle(QApplication::translate("TrPreviewToolClass", "&Views", Q_NULLPTR));
+ menuHelp->setTitle(QApplication::translate("TrPreviewToolClass", "&Help", Q_NULLPTR));
+ menuFile->setTitle(QApplication::translate("TrPreviewToolClass", "&File", Q_NULLPTR));
+ dwForms->setWindowTitle(QApplication::translate("TrPreviewToolClass", "Forms", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/validators.ui.h b/tests/auto/tools/uic/baseline/validators.ui.h
index 3770c45dcb..e8548f1454 100644
--- a/tests/auto/tools/uic/baseline/validators.ui.h
+++ b/tests/auto/tools/uic/baseline/validators.ui.h
@@ -376,24 +376,24 @@ public:
void retranslateUi(QWidget *ValidatorsForm)
{
- ValidatorsForm->setWindowTitle(QApplication::translate("ValidatorsForm", "Form", 0));
- groupBox->setTitle(QApplication::translate("ValidatorsForm", "QIntValidator", 0));
- label->setText(QApplication::translate("ValidatorsForm", "Min:", 0));
- label_2->setText(QApplication::translate("ValidatorsForm", "Max:", 0));
- label_7->setText(QApplication::translate("ValidatorsForm", "editingFinished()", 0));
- groupBox_2->setTitle(QApplication::translate("ValidatorsForm", "QDoubleValidator", 0));
- label_3->setText(QApplication::translate("ValidatorsForm", "Min:", 0));
- label_5->setText(QApplication::translate("ValidatorsForm", "Format:", 0));
+ ValidatorsForm->setWindowTitle(QApplication::translate("ValidatorsForm", "Form", Q_NULLPTR));
+ groupBox->setTitle(QApplication::translate("ValidatorsForm", "QIntValidator", Q_NULLPTR));
+ label->setText(QApplication::translate("ValidatorsForm", "Min:", Q_NULLPTR));
+ label_2->setText(QApplication::translate("ValidatorsForm", "Max:", Q_NULLPTR));
+ label_7->setText(QApplication::translate("ValidatorsForm", "editingFinished()", Q_NULLPTR));
+ groupBox_2->setTitle(QApplication::translate("ValidatorsForm", "QDoubleValidator", Q_NULLPTR));
+ label_3->setText(QApplication::translate("ValidatorsForm", "Min:", Q_NULLPTR));
+ label_5->setText(QApplication::translate("ValidatorsForm", "Format:", Q_NULLPTR));
doubleFormat->clear();
doubleFormat->insertItems(0, QStringList()
- << QApplication::translate("ValidatorsForm", "Standard", 0)
- << QApplication::translate("ValidatorsForm", "Scientific", 0)
+ << QApplication::translate("ValidatorsForm", "Standard", Q_NULLPTR)
+ << QApplication::translate("ValidatorsForm", "Scientific", Q_NULLPTR)
);
- label_4->setText(QApplication::translate("ValidatorsForm", "Max:", 0));
- label_6->setText(QApplication::translate("ValidatorsForm", "Decimals:", 0));
+ label_4->setText(QApplication::translate("ValidatorsForm", "Max:", Q_NULLPTR));
+ label_6->setText(QApplication::translate("ValidatorsForm", "Decimals:", Q_NULLPTR));
doubleLedWidget->setText(QString());
- label_8->setText(QApplication::translate("ValidatorsForm", "editingFinished()", 0));
- pushButton->setText(QApplication::translate("ValidatorsForm", "Quit", 0));
+ label_8->setText(QApplication::translate("ValidatorsForm", "editingFinished()", Q_NULLPTR));
+ pushButton->setText(QApplication::translate("ValidatorsForm", "Quit", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/tools/uic/baseline/wateringconfigdialog.ui.h b/tests/auto/tools/uic/baseline/wateringconfigdialog.ui.h
index 705c7bb142..348a83a8da 100644
--- a/tests/auto/tools/uic/baseline/wateringconfigdialog.ui.h
+++ b/tests/auto/tools/uic/baseline/wateringconfigdialog.ui.h
@@ -243,38 +243,38 @@ public:
void retranslateUi(QDialog *WateringConfigDialog)
{
- WateringConfigDialog->setWindowTitle(QApplication::translate("WateringConfigDialog", "Watering Configuration", 0));
- label_3->setText(QApplication::translate("WateringConfigDialog", "Plant:", 0));
+ WateringConfigDialog->setWindowTitle(QApplication::translate("WateringConfigDialog", "Watering Configuration", Q_NULLPTR));
+ label_3->setText(QApplication::translate("WateringConfigDialog", "Plant:", Q_NULLPTR));
plantComboBox->clear();
plantComboBox->insertItems(0, QStringList()
- << QApplication::translate("WateringConfigDialog", "Squash", 0)
- << QApplication::translate("WateringConfigDialog", "Bean", 0)
- << QApplication::translate("WateringConfigDialog", "Carrot", 0)
- << QApplication::translate("WateringConfigDialog", "Strawberry", 0)
- << QApplication::translate("WateringConfigDialog", "Raspberry", 0)
- << QApplication::translate("WateringConfigDialog", "Blueberry", 0)
+ << QApplication::translate("WateringConfigDialog", "Squash", Q_NULLPTR)
+ << QApplication::translate("WateringConfigDialog", "Bean", Q_NULLPTR)
+ << QApplication::translate("WateringConfigDialog", "Carrot", Q_NULLPTR)
+ << QApplication::translate("WateringConfigDialog", "Strawberry", Q_NULLPTR)
+ << QApplication::translate("WateringConfigDialog", "Raspberry", Q_NULLPTR)
+ << QApplication::translate("WateringConfigDialog", "Blueberry", Q_NULLPTR)
);
- label_2->setText(QApplication::translate("WateringConfigDialog", "Water when:", 0));
- temperatureCheckBox->setText(QApplication::translate("WateringConfigDialog", "Temperature is higher than:", 0));
+ label_2->setText(QApplication::translate("WateringConfigDialog", "Water when:", Q_NULLPTR));
+ temperatureCheckBox->setText(QApplication::translate("WateringConfigDialog", "Temperature is higher than:", Q_NULLPTR));
temperatureSpinBox->setSpecialValueText(QString());
- temperatureSpinBox->setSuffix(QApplication::translate("WateringConfigDialog", "C", 0));
- rainCheckBox->setText(QApplication::translate("WateringConfigDialog", "Rain less than:", 0));
+ temperatureSpinBox->setSuffix(QApplication::translate("WateringConfigDialog", "C", Q_NULLPTR));
+ rainCheckBox->setText(QApplication::translate("WateringConfigDialog", "Rain less than:", Q_NULLPTR));
rainSpinBox->setSpecialValueText(QString());
- rainSpinBox->setSuffix(QApplication::translate("WateringConfigDialog", "mm", 0));
- label->setText(QApplication::translate("WateringConfigDialog", "Starting Time:", 0));
- label_4->setText(QApplication::translate("WateringConfigDialog", "Amount:", 0));
- amountSpinBox->setSuffix(QApplication::translate("WateringConfigDialog", "l", 0));
- label_5->setText(QApplication::translate("WateringConfigDialog", "Source:", 0));
+ rainSpinBox->setSuffix(QApplication::translate("WateringConfigDialog", "mm", Q_NULLPTR));
+ label->setText(QApplication::translate("WateringConfigDialog", "Starting Time:", Q_NULLPTR));
+ label_4->setText(QApplication::translate("WateringConfigDialog", "Amount:", Q_NULLPTR));
+ amountSpinBox->setSuffix(QApplication::translate("WateringConfigDialog", "l", Q_NULLPTR));
+ label_5->setText(QApplication::translate("WateringConfigDialog", "Source:", Q_NULLPTR));
sourceComboBox->clear();
sourceComboBox->insertItems(0, QStringList()
- << QApplication::translate("WateringConfigDialog", "Foundain", 0)
- << QApplication::translate("WateringConfigDialog", "River", 0)
- << QApplication::translate("WateringConfigDialog", "Lake", 0)
- << QApplication::translate("WateringConfigDialog", "Public Water System", 0)
+ << QApplication::translate("WateringConfigDialog", "Foundain", Q_NULLPTR)
+ << QApplication::translate("WateringConfigDialog", "River", Q_NULLPTR)
+ << QApplication::translate("WateringConfigDialog", "Lake", Q_NULLPTR)
+ << QApplication::translate("WateringConfigDialog", "Public Water System", Q_NULLPTR)
);
- label_6->setText(QApplication::translate("WateringConfigDialog", "Filter:", 0));
+ label_6->setText(QApplication::translate("WateringConfigDialog", "Filter:", Q_NULLPTR));
filterCheckBox->setText(QString());
- helpLabel->setText(QApplication::translate("WateringConfigDialog", "<a href=\"test\">Show Details</a>", 0));
+ helpLabel->setText(QApplication::translate("WateringConfigDialog", "<a href=\"test\">Show Details</a>", Q_NULLPTR));
} // retranslateUi
};
diff --git a/tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp b/tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp
index 844f21cfe1..e13e0201bc 100644
--- a/tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp
+++ b/tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp
@@ -132,7 +132,6 @@ private slots:
void saveButtonText();
void clearLineEdit();
void enableChooseButton();
- void widgetlessNativeDialog();
void selectedFilesWithoutWidgets();
void trailingDotsAndSpaces();
#ifdef Q_OS_UNIX
@@ -144,6 +143,20 @@ private slots:
void rejectModalDialogs();
void QTBUG49600_nativeIconProviderCrash();
+ // NOTE: Please keep widgetlessNativeDialog() as the LAST test!
+ //
+ // widgetlessNativeDialog() is the only test function that creates
+ // a native file dialog instance. GTK+ versions prior 3.15.5 have
+ // a nasty bug (https://bugzilla.gnome.org/show_bug.cgi?id=725164)
+ // in GtkFileChooserWidget, which makes it leak its folder change
+ // callback, causing a crash "at some point later". Running the
+ // native test last is enough to avoid spinning the event loop after
+ // the test, and that way circumvent the crash.
+ //
+ // The crash has been fixed in GTK+ 3.15.5, but the RHEL 7.2 CI has
+ // GTK+ 3.14.13 installed (QTBUG-55276).
+ void widgetlessNativeDialog();
+
private:
void cleanupSettingsFile();
};
diff --git a/tests/auto/xml/sax/qxmlsimplereader/tst_qxmlsimplereader.cpp b/tests/auto/xml/sax/qxmlsimplereader/tst_qxmlsimplereader.cpp
index 5d5e00ac42..da38ed254b 100644
--- a/tests/auto/xml/sax/qxmlsimplereader/tst_qxmlsimplereader.cpp
+++ b/tests/auto/xml/sax/qxmlsimplereader/tst_qxmlsimplereader.cpp
@@ -257,6 +257,7 @@ static QStringList findXmlFiles(QString dir_name)
{
QStringList result;
+ dir_name = QFINDTESTDATA(dir_name);
QDir dir(dir_name);
QFileInfoList file_list = dir.entryInfoList(QStringList("*.xml"), QDir::Files, QDir::Name);
@@ -300,7 +301,7 @@ void tst_QXmlSimpleReader::testGoodXmlFile()
QVERIFY(file.open(QIODevice::ReadOnly));
Parser parser;
- QEXPECT_FAIL("xmldocs/valid/sa/089.xml", "a form feed character is not accepted in XML", Continue);
+ QEXPECT_FAIL(QFINDTESTDATA("xmldocs/valid/sa/089.xml").toLocal8Bit().constData(), "a form feed character is not accepted in XML", Continue);
QVERIFY(parser.parseFile(&file));
QFile ref_file(file_name + ".ref");
@@ -337,46 +338,46 @@ void tst_QXmlSimpleReader::testBadXmlFile()
QVERIFY(file.open(QIODevice::ReadOnly));
Parser parser;
- QEXPECT_FAIL("xmldocs/not-wf/sa/030.xml", "a form feed character is not accepted in XML", Continue);
- QEXPECT_FAIL("xmldocs/not-wf/sa/031.xml", "a form feed character is not accepted in a processing instruction", Continue);
- QEXPECT_FAIL("xmldocs/not-wf/sa/032.xml", "a form feed character is not accepted in a comment", Continue);
- QEXPECT_FAIL("xmldocs/not-wf/sa/033.xml", "overlong sequence - small latin letter d should be rejected", Continue);
- QEXPECT_FAIL("xmldocs/not-wf/sa/038.xml", "attribute x redefined; should be rejected", Continue);
- QEXPECT_FAIL("xmldocs/not-wf/sa/072.xml", "entity foo not defined", Continue);
- QEXPECT_FAIL("xmldocs/not-wf/sa/073.xml", "entity f not defined", Continue);
- QEXPECT_FAIL("xmldocs/not-wf/sa/074.xml", "entity e is not well-formed (</foo><foo>)", Continue);
- QEXPECT_FAIL("xmldocs/not-wf/sa/076.xml", "entity foo is not defined", Continue);
- QEXPECT_FAIL("xmldocs/not-wf/sa/077.xml", "entity bar is not defined within the definition of entity foo", Continue);
- QEXPECT_FAIL("xmldocs/not-wf/sa/078.xml", "entity foo not defined", Continue);
- QEXPECT_FAIL("xmldocs/not-wf/sa/085.xml", "Unfinished Public or System Id", Continue);
- QEXPECT_FAIL("xmldocs/not-wf/sa/086.xml", "Unfinished Public or System Id", Continue);
- QEXPECT_FAIL("xmldocs/not-wf/sa/087.xml", "Unfinished Public or System Id", Continue);
- QEXPECT_FAIL("xmldocs/not-wf/sa/101.xml", "Invalid XML encoding name (space before utf-8)", Continue);
- QEXPECT_FAIL("xmldocs/not-wf/sa/102.xml", "Invalid version specification (1.0 followed by space)", Continue);
- QEXPECT_FAIL("xmldocs/not-wf/sa/104.xml", "Premature end of data in tag foo", Continue);
- QEXPECT_FAIL("xmldocs/not-wf/sa/116.xml", "Invalid decimal value", Continue);
- QEXPECT_FAIL("xmldocs/not-wf/sa/117.xml", "No name", Continue);
- QEXPECT_FAIL("xmldocs/not-wf/sa/119.xml", "No name", Continue);
- QEXPECT_FAIL("xmldocs/not-wf/sa/122.xml", "; expected in declaration of element", Continue);
- QEXPECT_FAIL("xmldocs/not-wf/sa/132.xml", "; expected in declaration of element", Continue);
- QEXPECT_FAIL("xmldocs/not-wf/sa/142.xml", "Invalid value '0'", Continue);
- QEXPECT_FAIL("xmldocs/not-wf/sa/143.xml", "Invalid value '31'", Continue);
-
- QEXPECT_FAIL("xmldocs/not-wf/sa/144.xml", "noncharacter code 0xFFFF should be rejected", Continue);
- QEXPECT_FAIL("xmldocs/not-wf/sa/145.xml", "surrogate code point 0xD800 should be rejected", Continue);
- QEXPECT_FAIL("xmldocs/not-wf/sa/146.xml", "code point out-of-range 0x110000 (must be < 0x10FFFE)", Abort);
- QEXPECT_FAIL("xmldocs/not-wf/sa/160.xml", "Parameter references forbidden in internal subset", Continue);
- QEXPECT_FAIL("xmldocs/not-wf/sa/162.xml", "Parameter references forbidden in internal subset", Continue);
-
- QEXPECT_FAIL("xmldocs/not-wf/sa/168.xml", "Surrogate code point 0xEDA080 should be rejected", Continue);
- QEXPECT_FAIL("xmldocs/not-wf/sa/169.xml", "Surrogate code point 0xEDB080 should be rejected", Continue);
- QEXPECT_FAIL("xmldocs/not-wf/sa/170.xml", "Code point 0xF7808080 should be rejected", Continue);
-
- QEXPECT_FAIL("xmldocs/not-wf/sa/180.xml", "Entity e is not defined", Continue);
- QEXPECT_FAIL("xmldocs/not-wf/sa/181.xml", "Unregistered error message", Continue);
- QEXPECT_FAIL("xmldocs/not-wf/sa/182.xml", "Comment not terminated", Continue);
- QEXPECT_FAIL("xmldocs/not-wf/sa/185.xml", "Entity e not defined", Continue);
- QEXPECT_FAIL("xmldocs/not-wf/sa/186.xml", "Attributes constructs error", Continue);
+ QEXPECT_FAIL(QFINDTESTDATA("xmldocs/not-wf/sa/030.xml").toLocal8Bit().constData(), "a form feed character is not accepted in XML", Continue);
+ QEXPECT_FAIL(QFINDTESTDATA("xmldocs/not-wf/sa/031.xml").toLocal8Bit().constData(), "a form feed character is not accepted in a processing instruction", Continue);
+ QEXPECT_FAIL(QFINDTESTDATA("xmldocs/not-wf/sa/032.xml").toLocal8Bit().constData(), "a form feed character is not accepted in a comment", Continue);
+ QEXPECT_FAIL(QFINDTESTDATA("xmldocs/not-wf/sa/033.xml").toLocal8Bit().constData(), "overlong sequence - small latin letter d should be rejected", Continue);
+ QEXPECT_FAIL(QFINDTESTDATA("xmldocs/not-wf/sa/038.xml").toLocal8Bit().constData(), "attribute x redefined; should be rejected", Continue);
+ QEXPECT_FAIL(QFINDTESTDATA("xmldocs/not-wf/sa/072.xml").toLocal8Bit().constData(), "entity foo not defined", Continue);
+ QEXPECT_FAIL(QFINDTESTDATA("xmldocs/not-wf/sa/073.xml").toLocal8Bit().constData(), "entity f not defined", Continue);
+ QEXPECT_FAIL(QFINDTESTDATA("xmldocs/not-wf/sa/074.xml").toLocal8Bit().constData(), "entity e is not well-formed (</foo><foo>)", Continue);
+ QEXPECT_FAIL(QFINDTESTDATA("xmldocs/not-wf/sa/076.xml").toLocal8Bit().constData(), "entity foo is not defined", Continue);
+ QEXPECT_FAIL(QFINDTESTDATA("xmldocs/not-wf/sa/077.xml").toLocal8Bit().constData(), "entity bar is not defined within the definition of entity foo", Continue);
+ QEXPECT_FAIL(QFINDTESTDATA("xmldocs/not-wf/sa/078.xml").toLocal8Bit().constData(), "entity foo not defined", Continue);
+ QEXPECT_FAIL(QFINDTESTDATA("xmldocs/not-wf/sa/085.xml").toLocal8Bit().constData(), "Unfinished Public or System Id", Continue);
+ QEXPECT_FAIL(QFINDTESTDATA("xmldocs/not-wf/sa/086.xml").toLocal8Bit().constData(), "Unfinished Public or System Id", Continue);
+ QEXPECT_FAIL(QFINDTESTDATA("xmldocs/not-wf/sa/087.xml").toLocal8Bit().constData(), "Unfinished Public or System Id", Continue);
+ QEXPECT_FAIL(QFINDTESTDATA("xmldocs/not-wf/sa/101.xml").toLocal8Bit().constData(), "Invalid XML encoding name (space before utf-8)", Continue);
+ QEXPECT_FAIL(QFINDTESTDATA("xmldocs/not-wf/sa/102.xml").toLocal8Bit().constData(), "Invalid version specification (1.0 followed by space)", Continue);
+ QEXPECT_FAIL(QFINDTESTDATA("xmldocs/not-wf/sa/104.xml").toLocal8Bit().constData(), "Premature end of data in tag foo", Continue);
+ QEXPECT_FAIL(QFINDTESTDATA("xmldocs/not-wf/sa/116.xml").toLocal8Bit().constData(), "Invalid decimal value", Continue);
+ QEXPECT_FAIL(QFINDTESTDATA("xmldocs/not-wf/sa/117.xml").toLocal8Bit().constData(), "No name", Continue);
+ QEXPECT_FAIL(QFINDTESTDATA("xmldocs/not-wf/sa/119.xml").toLocal8Bit().constData(), "No name", Continue);
+ QEXPECT_FAIL(QFINDTESTDATA("xmldocs/not-wf/sa/122.xml").toLocal8Bit().constData(), "; expected in declaration of element", Continue);
+ QEXPECT_FAIL(QFINDTESTDATA("xmldocs/not-wf/sa/132.xml").toLocal8Bit().constData(), "; expected in declaration of element", Continue);
+ QEXPECT_FAIL(QFINDTESTDATA("xmldocs/not-wf/sa/142.xml").toLocal8Bit().constData(), "Invalid value '0'", Continue);
+ QEXPECT_FAIL(QFINDTESTDATA("xmldocs/not-wf/sa/143.xml").toLocal8Bit().constData(), "Invalid value '31'", Continue);
+
+ QEXPECT_FAIL(QFINDTESTDATA("xmldocs/not-wf/sa/144.xml").toLocal8Bit().constData(), "noncharacter code 0xFFFF should be rejected", Continue);
+ QEXPECT_FAIL(QFINDTESTDATA("xmldocs/not-wf/sa/145.xml").toLocal8Bit().constData(), "surrogate code point 0xD800 should be rejected", Continue);
+ QEXPECT_FAIL(QFINDTESTDATA("xmldocs/not-wf/sa/146.xml").toLocal8Bit().constData(), "code point out-of-range 0x110000 (must be < 0x10FFFE)", Abort);
+ QEXPECT_FAIL(QFINDTESTDATA("xmldocs/not-wf/sa/160.xml").toLocal8Bit().constData(), "Parameter references forbidden in internal subset", Continue);
+ QEXPECT_FAIL(QFINDTESTDATA("xmldocs/not-wf/sa/162.xml").toLocal8Bit().constData(), "Parameter references forbidden in internal subset", Continue);
+
+ QEXPECT_FAIL(QFINDTESTDATA("xmldocs/not-wf/sa/168.xml").toLocal8Bit().constData(), "Surrogate code point 0xEDA080 should be rejected", Continue);
+ QEXPECT_FAIL(QFINDTESTDATA("xmldocs/not-wf/sa/169.xml").toLocal8Bit().constData(), "Surrogate code point 0xEDB080 should be rejected", Continue);
+ QEXPECT_FAIL(QFINDTESTDATA("xmldocs/not-wf/sa/170.xml").toLocal8Bit().constData(), "Code point 0xF7808080 should be rejected", Continue);
+
+ QEXPECT_FAIL(QFINDTESTDATA("xmldocs/not-wf/sa/180.xml").toLocal8Bit().constData(), "Entity e is not defined", Continue);
+ QEXPECT_FAIL(QFINDTESTDATA("xmldocs/not-wf/sa/181.xml").toLocal8Bit().constData(), "Unregistered error message", Continue);
+ QEXPECT_FAIL(QFINDTESTDATA("xmldocs/not-wf/sa/182.xml").toLocal8Bit().constData(), "Comment not terminated", Continue);
+ QEXPECT_FAIL(QFINDTESTDATA("xmldocs/not-wf/sa/185.xml").toLocal8Bit().constData(), "Entity e not defined", Continue);
+ QEXPECT_FAIL(QFINDTESTDATA("xmldocs/not-wf/sa/186.xml").toLocal8Bit().constData(), "Attributes constructs error", Continue);
QVERIFY(!parser.parseFile(&file));
@@ -386,7 +387,7 @@ void tst_QXmlSimpleReader::testBadXmlFile()
ref_stream.setCodec("UTF-8");
QString ref_file_contents = ref_stream.readAll();
- QEXPECT_FAIL("xmldocs/not-wf/sa/145.xml", "Surrogate code point 0xD800 should be rejected", Continue);
+ QEXPECT_FAIL(QFINDTESTDATA("xmldocs/not-wf/sa/145.xml").toLocal8Bit().constData(), "Surrogate code point 0xD800 should be rejected", Continue);
QCOMPARE(parser.result(), ref_file_contents);
}
@@ -410,14 +411,20 @@ void tst_QXmlSimpleReader::testIncrementalParsing_data()
for (int i=1; i<10; ++i) {
QStringList::const_iterator it = good_file_list.begin();
+ const QString skip49 = QFINDTESTDATA("xmldocs/valid/sa/049.xml");
+ const QString skip50 = QFINDTESTDATA("xmldocs/valid/sa/050.xml");
+ const QString skip51 = QFINDTESTDATA("xmldocs/valid/sa/051.xml");
+ const QString skip52 = QFINDTESTDATA("xmldocs/valid/sa/052.xml");
+ const QString skip89 = QFINDTESTDATA("xmldocs/valid/sa/089.xml");
+
for (; it != good_file_list.end(); ++it) {
- if ( *it == "xmldocs/valid/sa/089.xml" )
+ if ( *it == skip89 )
continue;// TODO: fails at the moment -- don't bother
if ( i==1 && (
- *it == "xmldocs/valid/sa/049.xml" ||
- *it == "xmldocs/valid/sa/050.xml" ||
- *it == "xmldocs/valid/sa/051.xml" ||
- *it == "xmldocs/valid/sa/052.xml" ) ) {
+ *it == skip49 ||
+ *it == skip50 ||
+ *it == skip51 ||
+ *it == skip52 ) ) {
continue; // TODO: fails at the moment -- don't bother
}
QTest::newRow(QString("%1 %2").arg(*it).arg(i).toLatin1()) << *it << i;
@@ -551,6 +558,9 @@ void tst_QXmlSimpleReader::inputFromSocket_data()
void tst_QXmlSimpleReader::inputFromSocket()
{
QFETCH(QString, file_name);
+#ifdef Q_OS_WINRT
+ QSKIP("WinRT does not support connecting to localhost");
+#endif
QTRY_VERIFY(server->listening);
@@ -756,7 +766,7 @@ public:
void tst_QXmlSimpleReader::dtdRecursionLimit()
{
- QFile file("xmldocs/2-levels-nested-dtd.xml");
+ QFile file(QFINDTESTDATA("xmldocs/2-levels-nested-dtd.xml"));
QVERIFY(file.open(QIODevice::ReadOnly));
QXmlSimpleReader xmlReader;
{
@@ -768,7 +778,7 @@ void tst_QXmlSimpleReader::dtdRecursionLimit()
}
file.close();
- file.setFileName("xmldocs/1-levels-nested-dtd.xml");
+ file.setFileName(QFINDTESTDATA("xmldocs/1-levels-nested-dtd.xml"));
QVERIFY(file.open(QIODevice::ReadOnly));
{
QXmlInputSource *source = new QXmlInputSource(&file);
@@ -782,7 +792,7 @@ void tst_QXmlSimpleReader::dtdRecursionLimit()
}
file.close();
- file.setFileName("xmldocs/internal-entity-polynomial-attribute.xml");
+ file.setFileName(QFINDTESTDATA("xmldocs/internal-entity-polynomial-attribute.xml"));
QVERIFY(file.open(QIODevice::ReadOnly));
{
QXmlInputSource *source = new QXmlInputSource(&file);
diff --git a/tests/benchmarks/gui/image/qimageconversion/qimageconversion.pro b/tests/benchmarks/gui/image/qimageconversion/qimageconversion.pro
index 828f36348d..e152ac8200 100644
--- a/tests/benchmarks/gui/image/qimageconversion/qimageconversion.pro
+++ b/tests/benchmarks/gui/image/qimageconversion/qimageconversion.pro
@@ -1,6 +1,7 @@
TEMPLATE = app
TARGET = tst_bench_imageConversion
QT += testlib
+QT_FOR_CONFIG += gui-private
SOURCES += tst_qimageconversion.cpp
qtConfig(gif): DEFINES += QTEST_HAVE_GIF
diff --git a/tests/benchmarks/gui/image/qimagereader/qimagereader.pro b/tests/benchmarks/gui/image/qimagereader/qimagereader.pro
index 7de1eedbdf..33e0c50bba 100644
--- a/tests/benchmarks/gui/image/qimagereader/qimagereader.pro
+++ b/tests/benchmarks/gui/image/qimagereader/qimagereader.pro
@@ -1,4 +1,5 @@
QT += testlib
+QT_FOR_CONFIG += gui-private
TEMPLATE = app
TARGET = tst_bench_qimagereader
diff --git a/tests/benchmarks/network/network.pro b/tests/benchmarks/network/network.pro
index 01b3b80ef4..d53041eb61 100644
--- a/tests/benchmarks/network/network.pro
+++ b/tests/benchmarks/network/network.pro
@@ -1,4 +1,6 @@
TEMPLATE = subdirs
+QT_FOR_CONFIG += network-private
+
SUBDIRS = \
access \
kernel \
diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp
index cc46fb99cb..bf2d7aa8a7 100644
--- a/tools/configure/configureapp.cpp
+++ b/tools/configure/configureapp.cpp
@@ -1015,35 +1015,21 @@ void Configure::configure()
QStringList args;
args << buildPath + "/bin/qmake"
- << "-o" << "Makefile.cfg"
- << sourcePath + "/configure.pri"
+ << sourcePathMangled
<< "--" << configCmdLine;
+ QString pwd = QDir::currentPath();
+ QDir::setCurrent(buildPathMangled);
if (int exitCode = Environment::execute(args, QStringList(), QStringList())) {
cout << "Qmake failed, return code " << exitCode << endl << endl;
dictionary[ "DONE" ] = "error";
}
+ QDir::setCurrent(pwd);
if ((dictionary["REDO"] != "yes") && (dictionary["DONE"] != "error"))
saveCmdLine();
}
-void Configure::generateMakefiles()
-{
- QString pwd = QDir::currentPath();
- {
- QStringList args;
- args << buildPath + "/bin/qmake" << sourcePathMangled;
-
- QDir::setCurrent(buildPathMangled);
- if (int exitCode = Environment::execute(args, QStringList(), QStringList())) {
- cout << "Qmake failed, return code " << exitCode << endl << endl;
- dictionary[ "DONE" ] = "error";
- }
- }
- QDir::setCurrent(pwd);
-}
-
bool Configure::showLicense(QString orgLicenseFile)
{
if (dictionary["LICENSE_CONFIRMED"] == "yes") {
diff --git a/tools/configure/configureapp.h b/tools/configure/configureapp.h
index 436c9307b1..b1c6ea9181 100644
--- a/tools/configure/configureapp.h
+++ b/tools/configure/configureapp.h
@@ -51,7 +51,6 @@ public:
void configure();
void generateHeaders();
- void generateMakefiles();
void generateQDevicePri();
void prepareConfigTests();
diff --git a/tools/configure/main.cpp b/tools/configure/main.cpp
index ac521f42e4..91a99c16c2 100644
--- a/tools/configure/main.cpp
+++ b/tools/configure/main.cpp
@@ -80,10 +80,6 @@ int runConfigure( int argc, char** argv )
if (!app.isOk())
return 3;
- app.generateMakefiles();
- if( !app.isOk() )
- return 2;
-
return 0;
}