Commit Graph

28133 Commits (6ca047aba9d41d4b2f00ecef33a6a7ca43d90ac8)

Author SHA1 Message Date
Albert Astals Cid f6a830095f cmake: blacklist xlib test, we can just use X11_FOUND
Change-Id: Ic733c42e11b00fa8bf107f460a0596aeb10ac37b
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-02-12 09:21:46 +00:00
Albert Astals Cid 3882e9ea09 cmake: Find Cups and enable its plugin
Change-Id: I44bf176587331d86eb147d106f28deb0a6618ab4
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-02-12 09:20:20 +00:00
Albert Astals Cid 71c9db7da8 cmake: Blacklist the libinput_axis_api test
We already have a cmake find module for libinput so we know it is there

Change-Id: I153544c5c13cb57b1ce258243ede17f4be9507fd
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-02-12 08:49:55 +00:00
Albert Astals Cid 8d05d88ab9 cmake: imageformats plugin needs an if guard
And add TODO for all the other missing plugins

Change-Id: Ic1d3cb7398198aea37ccb4ed6c16fc64e454036a
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-02-12 08:49:36 +00:00
Kevin Funk f9b78445a9 cmake: Fixup paths to qvulkan* files
Change-Id: Ifbd28e696c3cf64e008fa4617750b79f37ff1f8c
Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
2019-02-11 22:02:23 +00:00
Albert Astals Cid d6aed4b3d0 cmake: enable the compose plugin
Change-Id: I0201b37531f7ba7380b2ca2f221283dda9a601a0
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2019-02-11 17:17:41 +00:00
Albert Astals Cid dee2413bfc cmake: build the ibus plugin
Change-Id: Ib2846204cc89b538ffe3b2282f7890f3de6ef33d
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-02-11 17:17:28 +00:00
Albert Astals Cid 8927c4de70 cmake: enable the xdgdesktopportal plugin
Change-Id: I97454ea918e3b34ca8a33bf221bcf9a0f5fa56f8
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-02-11 17:17:00 +00:00
Albert Astals Cid ac96d08b9d cmake: find gtk3 and build the gtk3 platformtheme
Change-Id: I7db7321a2fd5ea0eda1924f3dece3b1c86d87d10
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2019-02-11 17:16:28 +00:00
Albert Astals Cid f18db41f85 cmake: Find tslib and build the tslib plugin if found
Change-Id: I7119ddf473a3ede29bbfef23cffb08a4fcbd5681
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2019-02-11 17:16:17 +00:00
Simon Hausmann c5697c8597 Fix ARM build
Don't try to build the MIPS draw helpers ;)

Change-Id: If569aa41871d7e484e664382d71b8ef2b4025dce
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-02-11 17:08:22 +00:00
Simon Hausmann 92087db8f8 Fix build of neon accelerated drawing helpers
We must instruct cmake that we're interested in providing input files
for the assembler directly and the file name needs to be correct, too :)

Change-Id: I7cccb6ac66d28261ee71869991b14ac20c63050e
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-02-11 17:08:11 +00:00
Liang Qi 08cefb6e63 cmake: build the offscreen platform plugin on macOS
This amends beace29a57.

Change-Id: I38fef70687f36d3b2ab4ff9cd001dc35cc79942d
Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
2019-02-11 16:51:10 +00:00
Albert Astals Cid 391ceb1d76 cmake: build libinput plugin
Change-Id: If263e6fa212f5349ad5e75252ff77ce0c92c5b75
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-02-11 16:37:43 +00:00
Albert Astals Cid a3506fd4df cmake: build the tuiotouch plugin
Change-Id: I3e448fa8c21651a31429a87ee0b209eaea0fe1b1
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-02-11 16:37:05 +00:00
Albert Astals Cid 9dbcbeb1de cmake: enable evdevtablet plugin
Change-Id: Ia2d8c88b4c36c7c6e71a49f42398ebd0378239c1
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-02-11 16:36:57 +00:00
Albert Astals Cid db8e4077d1 cmake: Enable evdevkeyboard plugin
Change-Id: I74b000ce657dbc0573f97a095391902917fe8f80
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-02-11 16:36:01 +00:00
Albert Astals Cid 3e18790103 cmake: enable evdevtouch plugin
Change-Id: I7c8a7bd6ce79ca6823c0e517ef80c9418b91e552
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-02-11 16:35:51 +00:00
Albert Astals Cid 6f5e8c8e18 cmake: Enable evdevmouse plugin
Change-Id: I5c213a946d6127d635cd76bc827201e379e75aa9
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-02-11 16:35:40 +00:00
Albert Astals Cid 4ac0afb8ba cmake: build the minimalegl platform plugin
Change-Id: I5c509efa30257be6ccc3455dd40bef3882b7e1da
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-02-11 16:35:21 +00:00
Kevin Funk 7830b72fd5 cmake: gui/vulkan: Generate files in correct dir
This is where headers.pri expects them

Change-Id: If518704ae7bfcae3e898a0da61f9b1e6ae6effbb
Reviewed-by: Jean-Michaël Celerier <jean-michael.celerier@kdab.com>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2019-02-11 16:19:23 +00:00
Albert Astals Cid 6a2577e04b cmake: don't die when running on macOS
still same result for me on Linux

Change-Id: Icb74ffc5989c0b96f069f6ec33c2a707e012414b
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-02-11 16:13:58 +00:00
Liang Qi 5ad3803def cmake: fix harfbuzz target
If doesn't build with harfbuzz::harfbuzz, please check
harfbuzz-config.cmake in system. Latest harfbuzz has it.

Change-Id: Idaaa77dc748ba2228b4e67e72a495bed93bc0192
Reviewed-by: Mikhail Svetkin <mikhail.svetkin@qt.io>
Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
2019-02-11 15:18:37 +00:00
Михаил Светкин 6c8fb8aad8 cmake: Fix build widgets on macOS
Change-Id: I9c7b7e1677f665861f8a106244468bdc0e1386f2
Reviewed-by: Liang Qi <liang.qi@qt.io>
2019-02-11 15:10:22 +00:00
Simon Hausmann a372783f66 Fix linkage against freetype
Target "XcbQpa" links to target "Freetype::Freetype" but the target was not

There was indeed a find_package(Freetype) missing

Change-Id: I486adbcf3b4ed0ae849a11294e2b83d2dc45d66f
Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
2019-02-11 15:00:41 +00:00
Albert Astals Cid 8ee0cb04bd cmake: build glxconvenience
Change-Id: Iad09a86d11565665bb06d8d5d5616fc1b35ad777
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-02-11 14:02:12 +00:00
Albert Astals Cid beace29a57 cmake: build the offscreen platform plugin
Change-Id: I6ccd430a2779fb889329cd411221c29b2601acfb
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-02-11 14:01:25 +00:00
Albert Astals Cid 7edcdd7ac0 cmake: build minimal platform plugin
Change-Id: Icd80b33e2840ab1d34d2502bfdc3cb9116bdfba4
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-02-11 14:00:54 +00:00
Albert Astals Cid ad312879b5 cmake: Build platformcompositor
Change-Id: Ib9855e8ce0abddf5dce3408f10d3c2d32a2df937
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-02-11 14:00:23 +00:00
Albert Astals Cid 553254ba50 cmake: build eglconvenience
Change-Id: Iba578190feb06953bfcba62978d2ba5b7ff35cb7
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-02-11 13:59:50 +00:00
Albert Astals Cid 324bf0f344 cmake: build linuxfb platform plugin
Change-Id: I74c84ca410bdcf9c46828c5da903e241b2fa5d0d
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-02-11 13:25:52 +00:00
Albert Astals Cid 8a1110f388 cmake: build kmsconvenience
Change-Id: I3e1cdb4b9dd26a74262a183d8137ed2011a6e52d
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-02-11 13:25:09 +00:00
Albert Astals Cid 6b637d1afe cmake: Use the proper libudev library
Change-Id: I884756473a8c26a4ef17472aaaceb94509d3c72f
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-02-11 13:24:41 +00:00
Albert Astals Cid 03d096d11a cmake: enable src/platformsupport/input
Change-Id: Iafe75f55c579779d3d25a0147d993904622161fa
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-02-11 13:24:01 +00:00
Albert Astals Cid 5682ca156c cmake: Fix linking of the opengles tests
The FindOpenGL.cmake file in cmake has a comment that is not very
reassuring this should work, but it actually works for me

Change-Id: I05b0ac6ec551252f8c58ab7abf4254d2d09a069c
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-02-11 10:26:21 +00:00
Albert Astals Cid 337ab23665 cmake: Fix linking of the libinput_axis_api test
Change-Id: I7b70643e013b01d48f347bd5b3db9506793e46a4
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2019-02-11 10:03:12 +00:00
Albert Astals Cid 9afca46e37 cmake: Fix linking of the egl_x11 test
Change-Id: Id350e1cf85de67d1f27f6bfc94316bed115b377f
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2019-02-11 10:02:33 +00:00
Albert Astals Cid 622816499d Add moc dependency also to CorePrivate
Otherwise if you start a make -j14 in src/sql without having built
anything it would hang because sql only depends on CorePrivate and not
Core and thus moc would not be build at the right time

Change-Id: I916242782e6aea4a0491d870391f91182959ca7c
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2019-02-11 10:01:38 +00:00
Albert Astals Cid 810c5be5be Fix xcb platform linking when compiling the nativepainting code
Change-Id: I9bc435d27bf4abf1ff4cbfebb981ab701a5d17ec
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2019-02-11 09:28:05 +00:00
Albert Astals Cid c2511b629a Fix xlib compile test
Change-Id: Ib7d58484ef2bd0f38d3954940e7e527b4f848c4b
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2019-02-11 09:27:55 +00:00
Albert Astals Cid 487adb4d7d Add devicediscovery and fbconvenience
Generated by pro2cmake.py

Change-Id: I405430c622824aab9a7bf6839b2271a494856c24
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2019-02-11 09:27:45 +00:00
Albert Astals Cid 2ce3f440f9 Allow passing libraries to qt_config_compile_test
Fixes cxx11_future and ipc_posix tests

Change-Id: I0f3a7b1a0452724c07198a87c2fc25344e7451eb
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2019-02-11 09:26:08 +00:00
Albert Astals Cid bb0deccf19 cmake: Make sure moc/rcc/uic are built when needed
This way you can run cmake, go directly into src/widgets
and it will build moc and rcc before QtCore (because they are needed
there) and uic before QtWidgets but not before QtCore because
it's not used there.

Without this it would get stuck creating the mocs since cmake
is not expecting the moc executable to just not be there

Change-Id: Ibcb6057bfab7a4bf823544e8f7bd128ea93d1986
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2019-02-07 09:12:55 +00:00
Albert Astals Cid 6d51f69bbf cmake: Build src/plugins/imageformats
Change-Id: I4bf09c50eebf71255590e9b17e637ce621d3cd40
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2019-02-01 12:27:27 +00:00
Albert Astals Cid 70419e31f9 cmake: Fix build of xcb platform plugin when vulkan is available
Change-Id: I79760aa0cb08752cfc20aabc1a890f60c91c9dfd
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2019-02-01 12:27:11 +00:00
Albert Astals Cid 773999816e cmake: glib changed name to glib2
Change-Id: I4a86bd3b01e1fe307e9802182df943245a7fce4c
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2019-02-01 12:26:21 +00:00
Tobias Hunger af285274b6 CMake: Find common frameworks on apple in one place
Change-Id: I38bc631568b438970465a7616464e2b998a74607
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-01-31 08:55:32 +00:00
Albert Astals Cid 5e339a0f97 cmake: Add trivial FindLibproxy.cmake
And fix link to it

Change-Id: Ie4f29a35a83d19ab83933faf3bcd7d62cffa68b8
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-01-29 15:07:54 +00:00
Liang Qi 4bb44a17f6 CMake: fix build for QtNetwork on macOS
Change-Id: I32e4550d67e9d72b56de4aafaddec5e2f80792b8
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2019-01-29 09:30:44 +00:00
Tobias Hunger e2ff9e3b99 CMake: Introduce Q_OBJECT qdoc macro
CMake's moc file scanning is rather primitive: It will run moc on any
file containing a line that starts with Q_OBJECT (and similar macros).

We have four files in QtBase that contain such a macro at the start
of the line in a qdoc comment. These four files were excluded from
automatic moc handling by cmake, which is not ideal, since this will
silently fail when somebody actually adds a Q_OBJECT macro in code.

This patch introduces a macro Q_OBJECT for qdoc. This macro will be
replaced with Q_OBJECT in the generated documentation.  While not nice,
at least a failure to use \Q_OBJECT is noticeable: Moc will warn about
the file.

Change-Id: I829893c1166eee306fe30058d4ea0256affd45ea
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2019-01-25 14:33:26 +00:00
Tobias Hunger 6a1ee4de07 CMake: Store Qt features in CMake Cache
This is less self-contained than what we have, but significantly speeds
up cmake configure/generate runs.

This patch also warns when a feature is already defined.

Change-Id: I8cab63e208ba98756b47d362a39b462f5ec55e20
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-01-17 16:16:55 +00:00
Tobias Hunger 4f26758978 CMake: Introduce Qt::GlobalConfig to hold the global features
This simplifies the handling of features a bit as it removes the special
code to store two sets of features in Qt::Core.

Change-Id: I536d41cfc76a02af054e3cfbad6bda50b1e9e49a
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-01-17 08:33:27 +00:00
Mikhail Svetkin 7bc03bca71 CMake: Use WrapRt instead of rt
Change-Id: I98f50a5ee7c3f1707589214df816ed03e0cfa249
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2019-01-09 14:24:23 +00:00
Tobias Hunger 99315c2129 CMake: Build PrintSupport module and tests
Change-Id: I7ac14f5214619f547af7221d213ac7e338a05bfc
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2018-12-14 14:05:14 +00:00
Tobias Hunger e57a94cbd8 CMake: Use AUTOMOC/AUTOUIC/AUTORCC
Change-Id: I0235ca4f227623e5937348b4b010637921dbf154
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2018-12-14 14:04:59 +00:00
Tobias Hunger 42d6e5c5fa CMake: Simplify
* Only import features once
* Move Core specific code into its CMakeLists.txt file
* More consistently use target names like "Core" to
  refer to "Qt modules". We tend to require either "Core"
  or "QtCore" in places, which I find confusing.

Change-Id: Id54161bc5468412750cb9eb7eeb15de3812e8a09
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2018-12-14 14:00:21 +00:00
Tobias Hunger 3a8d8344e5 CMake: Merge qt_internal_module_include_dir and qt_internal_module_info
... and fix the fallout of this change. It results in more targets being
passed overall (instead of a strange mix of targets and module names),
so this is a good thing(TM).

Change-Id: I1c4326b80e2c6675356587879ec8471ef7249a50
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2018-12-14 14:00:11 +00:00
Tobias Hunger 3acebfe6eb CMake: Add support to find LTTng-ust
CMake comes with a Find module for this, so use it in src/corelib/configure.cmake

Change-Id: I8f4abcb32fb10513d67c3c959310eefaf7b56d3d
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2018-11-06 15:25:15 +00:00
Tobias Hunger eb2ece3c59 CMake: Add FindSlog2
Add FindSlog2 and use it in src/corelib/configure.cmake.

Change-Id: I7e6a696a49df568a41ed1224228ab608db2dbb0e
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2018-11-06 15:24:55 +00:00
Tobias Hunger 38f1a10b6f CMake: Improve handling of the different kinds of iconv
Improve conditions/enable/disable conditions for iconv related features.

These are detected a bit different from what qmake does, so adapt to that.

Change-Id: I7b3e4baf05dc324507f370d7f651a62f29e42a98
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2018-11-06 15:24:35 +00:00
Tobias Hunger e11522726b CMake: Add FindPPS and use it in src/corelib/configure.cmake
Find the PPS library and use the result PPS_FOUND in configure.cmake where
needed.

Change-Id: I08d3ace421278dc0ae5c3128d4234e6bca906c05
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2018-11-06 15:24:17 +00:00
Tobias Hunger bebbb41030 CMake: Find librt
Change-Id: Ibc39ba7a385146cd0428b78e12a793f0ddbfae91
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2018-11-06 15:24:07 +00:00
Mikhail Svetkin da3c73ad13 CMake: cocoa disable printsupport features
cmake have not built printsupport yet.

Change-Id: I635b4678bbf0b659750e7f6b842834e084b6f3a5
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-11-06 14:33:58 +00:00
Tobias Hunger 806595c5b6 Add Sql build and tests
Change-Id: I9bf7d61a65950eafcfe6b3ea9c437e353ff7b2ed
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2018-11-05 15:45:54 +00:00
Tobias Hunger ec510d0ebc Store QT_FEATUREs that are not emitted
Store QT_FEATUREs that are not emitted, but do not show them in the UI. Also separate
out the UI (FEATURE_foo) from the internal CMake value (QT_FEATURE_foo). This does
break the overriding of settings, but that did not work well before either. This
will be fixed in follow-up patches.

Remove fallout: xkbcommon_system was now evaluated where it was not before. Remove
it as that is always the case now.

Change-Id: I2d303827a1cc9afeef93ad73285a2043ddaa9766
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2018-11-05 14:54:48 +00:00
Tobias Hunger 465da04bcb Build and test QtConcurrent
Change-Id: I2d4b64d3e9b2cb22c67ce462155e73b5d600fb32
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2018-11-01 11:50:17 +00:00
Tobias Hunger 60d7331f93 Build qlalr
Change-Id: I81d69e6f79027f0811174db261c4d9e071852606
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2018-11-01 11:49:57 +00:00
Tobias Hunger 0ec6b3049b Add linuxaccessibility support
Change-Id: I6766756e58cadf2d3f13331f4a453123ea575c6f
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2018-11-01 11:49:49 +00:00
Tobias Hunger b102b41be7 Add ATSPI2 library support
Change-Id: I304ba2b9df65008340b698eb3a74dc3b4abfb826
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2018-11-01 11:49:38 +00:00
Tobias Hunger e3f047f1cd Build qdbusxml2cpp and qdbuscpp2xml
Change-Id: Ic14eb1d3608608d00836b216969acb4ed017b678
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2018-11-01 11:49:20 +00:00
Tobias Hunger 6456d9e14a Rerun configurejson2cmake after rebase on top of newer dev
Change-Id: I1af79e5c87bb17e9145f817d2488c6d24531a2fc
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2018-11-01 11:49:12 +00:00
Simon Hausmann e9c45bbddd Begin port of qtbase to CMake
Done-by: Alexandru Croitor <alexandru.croitor@qt.io>
Done-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Done-by: Kevin Funk <kevin.funk@kdab.com>
Done-by: Mikhail Svetkin <mikhail.svetkin@qt.io>
Done-by: Simon Hausmann <simon.hausmann@qt.io>
Done-by: Tobias Hunger <tobias.hunger@qt.io>
Done-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Done-by: Volker Krause <volker.krause@kdab.com>
Change-Id: Ida4f8bd190f9a4849a1af7b5b7981337a5df5310
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: Mikhail Svetkin <mikhail.svetkin@qt.io>
2018-11-01 11:48:46 +00:00
Martin Smith 5ea233ca67 doc: Remove indistinguishable declaration
QTimer contains a template member function callOnTimeout(), which accepts
a variable number of arguments. Because it is difficult to document such
a general function, several specific declarations were added under the
guard Q_CLANG_QDOC that represent the typical ways this function is used.
They are easier to document because they have specific signatures.

Unfortunately, the clang parser recognizes two of them as being the same,
so this change removes one of the two. It also adjusts the documentation
of the remaining one so that it indicates both uses.

Change-Id: Ifa7bed9093bd1491b7bfe154990864454885c003
Reviewed-by: Martin Smith <martin.smith@qt.io>
2018-10-23 15:08:00 +00:00
Ivan Komissarov 17f4adfe18 Use std::unique_ptr for memory management in QMimeDataBasePrivate
This change simplifies memory management as long as it doesn't requires
manuall calls to qDeleteAll and manual deleting/nulling pointers.

Change-Id: Id0dc563d0b1e74ae33939d90d4b39999020cd7ce
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2018-10-22 16:24:40 +00:00
Edward Welbourne 6c543879a3 Avoid races on TZ in environment via tzset() calls
POSIX specifies that tzset() consults environment variable TZ and
modifies some globals; it also specifies mktime(), localtime() and
strftime() to behave as if they called tzset().  Fortunately, we only
call strftime() from a test and only call localtime() when not
threaded.  Provide wrappers for tzset() and mktime() that share the
lock used by our environment-access code, to prevent races on the
environment (and tzset()'s globals) when we call them.

In the process, re-use tst_QDateTime's TimeZoneRollback in its older
test systemTimeZoneChange() and presume that this can now be tested
cross-platform, since TimeZoneRollback is used in another test where
this works.

Fixes: QTBUG-71030
Change-Id: I79f559b8857ea2803e73501008bf0d7158c6731f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-10-22 10:07:01 +00:00
Christian Ehrlicher a7518a11b6 Mark deprecated functions with QT_DEPRECATED
QWidget::isEnabledToTLW() and QApplication::setKeypadNavigationEnabled()
are deprecated for a long time but not marked as deprecated. Therefore
add QT_DEPRECATED and guard them with QT_DEPRECATED_SINCE(5, 13).

Change-Id: I12a76597aaad71025e4b7ad251dd67be55f8f966
Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch>
2018-10-21 06:44:20 +00:00
Christian Ehrlicher 54e74c515c Itemviews: mark some functions as deprecated
Mark some long deprecated functions as deprecated so they can be removed
with Qt6.

Change-Id: I2ccd21c829c954b6a3662799070682dbe71fd693
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Luca Beldi <v.ronin@yahoo.it>
2018-10-21 06:43:43 +00:00
Frederik Gladhorn 64f6169f61 Warn when setting a completer on non-editable QComboBox
This is not valid, but was confusing before and would be silently ignored,
warn instead.

Fixes: QTBUG-50583
Change-Id: If78c4a5ef96c76e1d5116a1bd24e5c289ff74cc4
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2018-10-19 08:11:27 +00:00
Christian Ehrlicher aaae027435 Qt Style Sheets: fix range of hue in hsl/hsv functions
The hue parameter in hsl/hsv was treated the same way as a the other
parameters although it's range is from 0-359 and not from 0-255.
Fix it by extending the maximum range for the first parameter when
parsing a color value given in hsv or hsl.

[ChangeLog][QtGui][CSS] Fix the range of the hue parameter when parsing
a color given in hsl or hsv

Fixes: QTBUG-70897
Change-Id: I9ffa65a89c0abcca62bae35777ca1cbde3375180
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2018-10-18 06:36:28 +00:00
Christian Ehrlicher d65631daa4 Qt Style Sheets: add support for hsl(a) colors
The Qt stylesheets color property did not support hsl or hsla although
CSS 2.1 does support it. Since QColor natively supports this color model
only the color parsing needed to be adjusted.
This also adds some stricter checks for a valid css color definition and
prints a warning about the issue.

[ChangeLog][QtGui][CSS] Added support for hsl/hsla colors

Fixes: QTBUG-58804
Change-Id: Ief65a36a7e0ed0d705dc1fe5a8658e8d07fe9a13
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2018-10-18 06:36:23 +00:00
Frederik Gladhorn 4afd9234c2 Let QApplication emit paletteChanged
Only QGuiApplication would emit the signal. Untangling the duplicate
code is rather non-trivial, so left alone for now.

Fixes: QTBUG-71186
Change-Id: I4021e3b9ff39718562f4fa3a03c092436b559e9a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2018-10-17 14:47:16 +00:00
Mikhail Svetkin b472e73b02 qdbuserror: Use qOffsetStringArray instead of script generated code
Change-Id: I2498702bcf4706cb717a7481cf6f81ceebb29ae8
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-10-16 18:32:18 +00:00
Martin Smith 0014d81b19 doc: Revert to documenting the actual functions
A few member functions of QCborValue and QCborValueRef were given special
declarations for qdoc to see so that they could be documented as a single
function, but because clang is now used to parse c++, the special declarations
caused parsing errors.

The declarations for qdoc are removed in this update, but the functions are
still documented with a single comment by grouping the \fn commands for the
similar functions together in the single comment.

Change-Id: If97ee2f2bfcd045d2259a4375b31b8884eeb1072
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Martin Smith <martin.smith@qt.io>
2018-10-16 15:55:26 +00:00
Anton Kudryavtsev 5ab9451846 QPixmapFilter: some cleanup
Use unique_ptr instead of plain array. No need to call 'delete'.

Change-Id: Ia77f4f209b1fd83391428d8b82b7acbba48781b9
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2018-10-16 15:27:34 +00:00
Frederik Gladhorn eb4d39ada0 Remove separation of headers into two lists
This doesn't add any value and just complicates things.

Change-Id: I3a011174e330f212eda99371d2806517ceec45d7
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2018-10-16 14:42:44 +00:00
Mårten Nordheim 13d86d692f Ssl: move _q_makePkcs12 into shared file
It's needed to generate a pkcs12/pfx bundle from our
certificate chains which are then imported into a certificate
store in Schannel and then passed to various Schannel API.

Change-Id: Idb88f42f2aa15eb91c52404ee6c57bf43e983379
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2018-10-16 10:45:48 +00:00
Liang Qi af6d4d0687 Bring QTestPrivate::checkBlackLists() back
This change partially reverts 641eb4a965.

Task-number: QTBUG-71141
Change-Id: I423332cc89db4b8137e71fdd57798039d429d0d2
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2018-10-15 17:30:57 +00:00
Joni Poikelin d88c65a532 Qt 6: Change QMainWindow::toolBarArea to take const pointer instead
toolBarArea took non-const even though const would have been enough.
In the public API do this for Qt 6.

Fixes: QTBUG-45953
Change-Id: Ic99f4dd5a7f344d49d046e3b084b68120f8de3c0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2018-10-15 12:30:04 +00:00
Simon Hausmann c9aeb73fd1 Fix build with no-cast-from-ascii
Change-Id: I720ceb4e511c914b924c473470f65b5b248f682a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-10-14 09:19:18 +00:00
Simon Hausmann 38ead1f24f Fix build without PCH
These inclusions are necessary when compiling without pre-compiled headers.

Change-Id: I4345ad3f6882046e4b8f2ba9d315299e280c9f18
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-10-13 18:34:51 +00:00
Christian Ehrlicher daba850df8 QTreeView: small optimization in verticalOffset()
When the scroll mode is ScrollPerItem and uniformRowHeights is not set,
the offset has to be calculated by iterating over all items.
Optimize the loop by calculating the last item before the loop instead
of checking at every iteration.

Task-number: QTBUG-61763
Change-Id: I1d4439fe0fc3f32194f5f368c0486e793048d965
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Luca Beldi <v.ronin@yahoo.it>
2018-10-13 10:51:31 +00:00
Christian Ehrlicher 2672a9a767 QWidget: set brushOrigin in paintBackground() only when really needed
When painting the background for a QAbstractScrollArea, the brushOrigin
was calculated for every brush type although it was not needed. Since
this can be very time consuming (e.g for a QTreeView with non-uniform
row sizes) it should be avoided when possible.
Therefore check if the brush is a texture and skip the calculation if
it is not the case. Also do not restore the old brushOrigin since the
painter is not used at all afterwards.

Task-number: QTBUG-61763
Change-Id: I66cbe1b796cb5cad4c78e656fb86d199d8e4bde9
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2018-10-13 10:51:26 +00:00
Qt Forward Merge Bot fedcaf0256 Merge remote-tracking branch 'origin/5.12' into dev
Change-Id: I2715ee7c694e5579bcedc7bab0ae68e79d5fd0b6
2018-10-13 00:07:20 +02:00
Andre de la Rocha 4d51e099b3 WinRT QPA: Fix crash in QWinRTBackingStore::flush()
QWinRTBackingStore::flush() was not considering the possibility
that the supplied region may fall partially outside the bounds
of the paint device. This resulted in possible accesses to invalid
memory addresses, causing a crash. This bug was exposed by an update
in ANGLE that was causing a crash when running tst_QTableView::bigMode
with a small screen size. With this fix the function will use the
intersection of the supplied region with the paint device bounds.

Change-Id: I2f0f0f7f5510688bfa1459320a0c146df6be65d1
Reviewed-by: Miguel Costa <miguel.costa@qt.io>
2018-10-12 14:42:03 +00:00
Laszlo Agocs 9098ef697a windows: Disable shader disk cache for all Intel GPUs
Follow up to dff9bb2f9b

Task-number: QTBUG-64697
Change-Id: I73a114dd3c75f3ed1272fa73dad378ecfdc0db09
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2018-10-12 14:09:38 +00:00
Edward Welbourne 641eb4a965 Remove GPU_BLACKLIST support from QTest
This reverts 4fe68ffbe5,
1dfc16f6da and
9545bee98a2431d4ef4c3449631a5fcb8d9bd57a; this feature has not been in
use for some time, so is just dead code.

[ChangeLog][QtTestLib] Removed support for GPU_BLACKLIST files.
Reimplementations or equivalents of QTEST_MAIN() should remove their
uses of QTEST_ADD_GPU_BLACKLIST_SUPPORT and its _DEFS; they are still
vacuously defined, but serve no remaining purpose and shall be
undefined in due course.

Change-Id: I94ffd5c37ce4e1f7cf25d3c7ae8d40696b74c911
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2018-10-12 13:59:41 +00:00
Gatis Paeglis 8315acfb16 Revert "glib dispatcher: ensure all window system events are flushed"
This reverts commit 341bfcd1ea.

As it turns out there might be use cases where we want to have proper
windowing system event integration with glib dispatcher via g_source_attach().
For example with gtk_dialog_run, where GTK blocks in a recursive main loop.
We want to continue dispatcing our windowing system events during this nested
event loop. Not having a proper glib integration can result in rendering issues,
e.g. when resizing parent window via mouse while GTK-based dialog is shown. Can
be seen on examples/widgets/richtext/textedit/ -> Format (from menu) -> "Color..."

The issue from 341bfcd1ea actually should be fixed inside XCB platform plugin,
by improving integration with event dispatcher. That is handled in follow-up patches.

Change-Id: Icabc6d841a554aefbdd460765a3165d22e65f651
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2018-10-12 10:21:32 +00:00
Gatis Paeglis 466d65cd5b xcb: remove runtime check for xcb_poll_for_queued_event
xcb_poll_for_queued_event() was introduced in libxcb 1.8.
The minimal required libxcb version was bumped up to 1.9 in
1f5d791708. Before this version
bump we needed the runtime check to support older versions
of libxcb.

Updated connections in the event reader to use the new signal
and slot syntax. Removed threadedEventHandling() method because
now it is always 'true'.

Change-Id: I0bce61fd478a871d35e676239ee5280c4f40be8a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-10-12 10:21:22 +00:00
Albert Astals Cid b6427ded65 Printing: Expose default and supported color modes
We had this information internally but there was no public API for it

Fixes: QTBUG-4071
Change-Id: Ic7f855e32a6870129e7723a47d31a629e0ea1aca
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2018-10-12 09:19:16 +00:00
Allan Sandfeld Jensen e8fd992849 Add support font-kerning CSS3 property
Change-Id: Ie3894481ded40d20091bd0103ac426c1086f943f
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2018-10-12 07:16:30 +00:00