Commit Graph

30865 Commits

Author SHA1 Message Date
Martin Smith
740ff1b881 qdoc: Remove Q_OS_* frome defines variable
In clangqdoc, we no longer define platform-specific
macros, because they make clang try to include too
much include stuff. Instead, when we have something
like #if defined(Q_OS_XXX) surrounding something we
want clangqdoc to see, we add the Q_CLANG_QDOC macro
like this: #if defined(Q_OS_XXX) || defined(Q_CLANG_QDOC).
This should not be done everywhere Q_OS_XXX is used, but
only where there is some platform-specific things we want
to document.

Change-Id: I97bb57e9b0c044899fa45b0beb02702906d5c89a
Reviewed-by: Martin Smith <martin.smith@qt.io>
2017-01-07 18:51:12 +00:00
Martin Smith
4f24e30f57 qdoc: Add config variable for clang defines
The qdoc 'defines' config variable lists values
that contain '*' to represent wildcards, but clang
doesn't accept them. This change adds a new config
variable called 'clangdefines' which explicitly
lists all the defines that match the wildcards.

It also lists several Qt defines for C++11 stuff,
because when clangqdoc comes into use, all the
supported compilers for Qt will support C++11
constructs.

There might be a few defines listed in clangdefines
that are unnecessary and maybe a few that we really
should not include, but we can adjust the list as
needed.

The clangqdoc code that reads this new config variable
will be added in a separate change. This change will
not affect the non-clang qdoc, because qdoc will just
ignore the clangdefines variable.

This change also adds Q_CLANG_QDOC to 'defines' and
to 'clangdefine'. Q_CLANG_QDOC is meant to be used
in the sources the way Q_QDOC is used. It indicates
that a particular use of Q_QDOC has been reviewed and
is still required for clangqdoc.

Change-Id: I3b00b18ec726196eda5cfa8411cd3e87433fec59
Reviewed-by: Martin Smith <martin.smith@qt.io>
2017-01-07 18:50:53 +00:00
Martin Smith
29bbbe5e60 doc: update QPrinter docs for clangqdoc
The docs for QPrinter contained a use of Q_QDoc to
declare an enum representing paper sizes for different
printers, but this special declaration for qdoc was
no longer needed, so it was removed. The real declaration
is in QPagedPaintDevice, which is the public base class
of QPrinter, and it is documented there. A few other
uses of Q_QDOC were examined and either removed or
upgraded to Q_CLANG_QDOC. One use of Q_OS_WIN was
changed to also be included for Q_CLANG_QDOC.

Change-Id: If6d810c624aa8d659fd0e3e753ba666d4d42ef83
Reviewed-by: Martin Smith <martin.smith@qt.io>
2017-01-06 20:18:39 +00:00
Martin Smith
9605f4f47b doc: clangqdoc documents the threads case
qmutex.h is updated to let clangqdoc document the threads case,
because the no-threads case is not interesting, and clang can
handle everything declared in qmutex.h. This change required
that a few minor qdoc errors be corrected in qmutex.cpp as well.

Change-Id: Icb4122f2179d6aad39dc68376498364820143297
Reviewed-by: Martin Smith <martin.smith@qt.io>
2017-01-06 20:18:19 +00:00
Gabriel de Dietrich
0e810e27a5 QMacStyle: Fix drawing of PE_IndicatorMenuCheckMark
... And refactor to use it for drawing CE_MenuItem.

This removes a couple calls to HITheme. Instead, we
use CoreText to render the checkmark character. Notice
that this is what we were doing with HITheme for
CE_MenuItem. Drawing PE_IndicatorMenuCheckMark was
done manually, and in a way that has not been updated.

Notice also that the choice of color from the palette
has also been fixed to look for the State_Selected state
instead of the State_On state, in accordance with
QCommonStyle. In fact, on macOS, the checkmark is never
rendered when the State_On bit is clear. Moreover, we
systematically pick the checkmark color from the style
option palette.

[ChangeLog][QtWidgets][QMacStyle] PE_IndicatorMenuCheckMark
looks for State_On instead of the State_Selected to set its
highlighted state. Its color is picked from the style option
palette.

Change-Id: Ib033df357fd83080cb4320c43949f75bb079c8a5
Task-number: QTBUG-57470
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2017-01-06 19:41:54 +00:00
Gabriel de Dietrich
64f4108c3a QMacStyle: Remove unused focusRectPolicy methods
Change-Id: I436c714aee25d8def4318a4b0aef022493dec19f
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2017-01-06 19:35:16 +00:00
Tor Arne Vestbø
60d6b3c565 macOS: Fix unused function warning in tst_QWidget
Change-Id: I9c3b1c2216b15bb8da961a4e188040e32d269809
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2017-01-06 16:30:06 +00:00
Tor Arne Vestbø
5da5586a96 iOS: Ensure that QPlatformBackingStore can clean up textures in dtor
We are using QPlatformBackingStore::composeAndFlush, which allocates
textures on our behalf using the context that we pass in, so we need
to keep the context alive (and make it current) for the duration of
the QPlatformBackingStore destructor, otherwise we're leaking textures
every time a window (dialog e.g.) is closed.

Change-Id: I1450fa0ff7a170d13ec59920566e4401b50cd513
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2017-01-06 16:30:00 +00:00
Tor Arne Vestbø
3c99bddb84 iOS: Center IM cursor rectangle within available space when showing keyboard
The cursor rectangle is translated into screen coordinates, and compared
against the screen geometry after subtracting the future keyboard rect
(which is already in screen coordinates). If the two do not overlap
completely, the root view is shifted accordingly so that the cursor
rectangle is placed in the center of the available space.

A future improvement would be to first check if centering the input
item's clip rectangle would bring the cursor within the available
geometry, before falling back to using the cursor rectangle. This
would look better for multi-line text inputs where the cursor is
not in the center.

Task-number: QTBUG-46747
Change-Id: If9b551b4d297e2a1f6d7f84b81628fa65c08edfd
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2017-01-06 16:29:48 +00:00
Elvis Angelaccio
34f82b8abc Improve mime type filters in QFileDialog
This patch improves the handling of mime type filters in QFileDialog.

The main change is in selectMimeTypeFilter(), which was just falling back
unconditionally on selectNameFilter(). Instead, mime type filters should
have an higher priority than name filters.

This patch also adds a new selectedMimeTypeFilter() method, which is used in the unit test.

Change-Id: Ice8bb08f5ff46e4a942d539f6001424eca878f74
Reviewed-by: David Faure <david.faure@kdab.com>
2017-01-06 16:27:41 +00:00
Tor Arne Vestbø
bc80cef1d4 iOS: Limit duration of FirstResponderCandidate to becomeFirstResponder
We only need the FirstResponderCandidate for the duration of the call to
[super becomeFirstResponder]. Keeping it around longer means that when
emitting window activation events, which may result in changing the
first responder again, we may wrongly conclude that we're not allowed
to change the responder due to the FirstResponderCandidate still being
alive.

Change-Id: I8203e795cdde4128776283fe63a1907eb6ebc151
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2017-01-06 13:31:26 +00:00
Marc Mutz
8ad200dcb4 tst_QImageWriter: clean up
- port Q_FOREACH to C++11 range-for
- port uses of inefficient QLists to QVector or C arrays
- port uses of dynamic containers with static content, to constexpr
  C arrays
- fix algorithmic mistakes:
  * use adjacent_find with greater<> to emulate C++11 std::is_sorted
    instead of sorting the range and comparing it with the original
    (and not even using stable_sort to do this).
  * use std::unique == end() to detect absence of duplicates instead
    of poplulating a QSet and comparing its size with that of the
    original range.
  * use a simple QCOMPARE instead of populating a QSet with statically-
    known content, removing known options to be able to check that the
    remaining options are unknown

Fixes errors pointed out by my tree's static checks.

Change-Id: I935dbc21d56b55889d96aaf6ec179624c6ce9047
Reviewed-by: David Faure <david.faure@kdab.com>
2017-01-06 13:31:26 +00:00
Alexander Volkov
6a81145414 vnc: Add missing override
... to fix build with clang.

Change-Id: I1ddc1ed3c17f9c0b4ad0d983a28fe821a813e444
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2017-01-06 12:59:01 +00:00
Martin Smith
45ff1cf60a doc: Fix all remaining "Cannot tie" errors in QtBase
Most of these involved moving or removing extraneous
aide-memoir comments left by programmers between qdoc
comments and their functions. There were also some
cases where Q_CLANG_QDOC had to be tested to make
something visible to clangqdoc. And there were a few
functions that should not have been documented at all.

Change-Id: I3bf7c397a9e5ddbffc40cc1fee7f19cad71a1ae7
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2017-01-06 07:04:12 +00:00
Martin Smith
ed6b6bc039 doc: Removed a \fn command and a misplaced comment
They were preventing clangqdoc from matching two
qdoc comments with the functions they are meant
to document.

Change-Id: Idfe9d0ab328e938d66e5da75d065974329be616d
Reviewed-by: Martin Smith <martin.smith@qt.io>
2017-01-05 18:46:06 +00:00
Martin Smith
c64ad695fa doc: Removed two cases of // static
They were preventing clangqdoc from matching two
qdoc comments with the functions they are meant
to document.

Change-Id: I51fea7957debc6fbfc89eb1a531ba8f39a34410a
Reviewed-by: Martin Smith <martin.smith@qt.io>
2017-01-05 18:45:32 +00:00
Tor Arne Vestbø
725c2346b1 Provide default implementation of QPlatformMenuBar::createMenu()
Instead of falling back to createPlatformMenu() in client code.

Change-Id: Ia257449200f5c71f5e164072adce13d1137b1d87
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
2017-01-05 18:26:47 +00:00
Tor Arne Vestbø
2ac50ac156 Split QPlatformWindow::isEmbedded into isAncestorOf to separate concerns
The function was doing two things, both checking window ancestry and
whether or the window was a direct child of non-Qt window. The former
has now been split of in a QPlatformWindow::isAncestorOf(), which
simplifies the code in e.g. QApplicationPrivate::isWindowBlocked().

Change-Id: I259a190e03ef8def23356005474eeeee74c9ae89
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2017-01-05 12:07:35 +00:00
Allan Sandfeld Jensen
c5282fc185 Split fetchTransformedBilinearARGB32PM
Split out the fast paths of fetchTransformedBilinearARGB32PM, so each
can be more easily read on its own, and to prepare for future AVX2
versions.

Change-Id: I1e9842a8928689823bf6d7d8a352625ed4b4b6c5
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2017-01-05 11:16:54 +00:00
Martin Smith
dea9177675 doc: Removed illegal qdoc comments
Some member functions of a class declared in a cpp
file were documented, but they should not have been
documented.

Change-Id: I9ce621bd858ebf1ad916beaf217d1c4d9feabbce
Reviewed-by: Martin Smith <martin.smith@qt.io>
2017-01-05 10:06:03 +00:00
Martin Smith
3b37208e33 doc: Moved two qdoc comments
They were simply not postioned correctly relative
to the functions they were meant to document.

Change-Id: I6eef94b291ae4ffe343d2728cc32477f55b2a871
Reviewed-by: Martin Smith <martin.smith@qt.io>
2017-01-05 07:35:32 +00:00
Martin Smith
d78cddc719 doc: removed illegal qdoc comments
Removed qdoc comment marker from two comments for
static function defined in the cpp file. Tbey are
not known globally.

Change-Id: I485fa06142879b6c732b6865d264395deafade33
Reviewed-by: Martin Smith <martin.smith@qt.io>
2017-01-04 21:44:31 +00:00
Frederik Gladhorn
b1dc0841fe Always instantiate QPlatformAccessibility
Instead of returning 0, instantiate QPlatformAccessibility which
delegates the handling of accessibilty to accessibilitybridge plugins.

This makes it possible to implement entirely custom handling of the
accessibility events, making it possible to write for example in-process
screen readers.

Change-Id: I7bcfd83b769af8ca2689fb38add1345719cf804f
Reviewed-by: Jesus Fernandez <jesus.fernandez@qt.io>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
2017-01-04 15:46:43 +00:00
BogDan Vatra
d90c234bac Add new APIs which is useful to upload more than one layer at once
It's useful to upload textures storred in .KTX files without dividing the layers.
It's also more efficient than uploading layer by layer.

Change-Id: I92d93c57514e2a3637d1202cb83bd72b8d277edf
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2017-01-04 15:03:59 +00:00
Shawn Rutledge
80fa5f6e76 Android: populate TouchPoint rotation and axes correctly
We model each TouchPoint contact patch as an ellipse now, which is
consistent with Android APIs.

Change-Id: I4edfbebfb5e1ab6686dba0ec924bfcfbbd6ff0f4
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2017-01-04 14:46:25 +00:00
André Klitzing
9dd4381b69 update bundled sqlite to 3.16.1
[ChangeLog][Third-Party Code] Sqlite was updated to version 3.16.1.

Change-Id: I9a19fcb6bbc95991ecf4699f2f7acf4b904eb4af
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2017-01-04 13:39:16 +00:00
Tor Arne Vestbø
33bf267e25 QFileDialog: Only focus file name edit when becoming visible
Doing it when hiding the dialog (which happens when closing it) makes no
sense, and messes with the focus object for no reason.

Change-Id: I4831d4a9b3c22248594f52bfa3b14dc73db110b7
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2017-01-04 13:19:09 +00:00
Tor Arne Vestbø
8ba5fe1562 macOS: Don't update screen for child windows
Results in 'Attempt to set a screen on a child window' warning from
QWindow.

Change-Id: Ib421bada07d2085c33a4dcb62e705b2c8e2ba1c4
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2017-01-04 13:16:45 +00:00
Martin Smith
dd58804cfe doc: clangqdoc doesn't need Q_GADGET
This update undefines Q_GADGET when clangqdoc is running.
With Q_GADGET defined, clangqdoc expects documentation for
QtGadgetHelper in each class where Q_GADGET is used.

Note that the documentation for the Q_GADGET macro is still
generated.

Change-Id: I3e6e6644c2c537c00c44ae77664892e125046daa
Reviewed-by: Martin Smith <martin.smith@qt.io>
2017-01-04 12:58:37 +00:00
Simon Hausmann
47c4d1378c Restore configure command line compatibility for PCRE support
Commit 9ca635482d renamed the configure
feature from pcre to pcre2, which unfortunately means that people would
have to change their build scripts to pass -qt-pcre2 instead of
-qt-pcre. As the configure check already verifies the correct PCRE
version for use (when using the system library), it seems more
convenient for our users to retain compatibility and call the configure
feature "pcre" again.

Change-Id: If26e7888814d8204d43baf7298d9916a4f856a48
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-01-04 12:02:31 +00:00
Jake Petroules
a670f06390 Bump the minimum required Darwin versions
The macOS and iOS version bumps were already proposed, and bumping
up tvOS and watchOS by one version since all original devices that
ran tvOS 9 and watchOS 1 can run the latest versions and given
the upgrade cycles and TP status of these platforms in 5.8, there
is not much point supporting any older version.

Change-Id: Ib01035054291f5bcd18d15a4f27ad33922076851
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
2017-01-03 23:04:36 +00:00
Jędrzej Nowacki
5d4089299a Reduce size of QPpsObject by one pointer
Change-Id: Ibb1bef375e7d23b45595ca759646883820643f02
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-01-03 15:27:01 +00:00
Oleg Yadrov
6af07c57f6 Fix QMenu position on a multi-display system
Ensure that the point QPushButtonPrivate::adjustedMenuPosition() returns
is on the same screen with the button

Task-number: QTBUG-57689
Change-Id: If611d41fff4c72ae16369fd95bc5159f398894e9
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2017-01-02 21:42:41 +00:00
Addison Elliott
00ad7bd5a4 Added isObsolete and setObsolete functions in QUndoStack
Added isObsolete and setObsolete functions to QUndoCommand that signifies
a command is not functional. This is useful for when two commands are
merged in such a way that the merged command does nothing. Another
particular use is with networking commands in which the command fails
due to connection issues. The command is considered obsolete because the
undo/redo functions do nothing since the connection failed.

This property is checked in QUndoStack::push(), QUndoStack::undo(),
QUndoStack::redo(), and QUndoStack::setIndex(). The obsolete flag is
checked after QUndoCommand::undo(), QUndoCommand::redo(), and
QUndoCommand::mergeWith() is called where applicable. This allows the
user to set the obsolete flag within the QUndoCommand class and it will
be deleted directly afterwards.

Task-number: QTBUG-54970
Change-Id: Ia8e962ff3aa16515e8f9e2180aee5e1d726d5ba3
Reviewed-by: David Faure <david.faure@kdab.com>
2017-01-02 13:31:25 +00:00
Edward Welbourne
afda26ce5d QDateTime test: clarify overflow-check
An overflow-check needed the datum for the "min" test to be minus the
datum for the "max" test; so explicitly make the former use -max()
instead of synthesising it as min()+1.  This simplifies the
explanation of why that's needed, too.  Clarify the overflow-check's
comment at the same time.

Change-Id: I41f56764fdf5e8c749bfae7a685e5fb77d37b3a8
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-01-02 13:13:57 +00:00
Simon Hausmann
79bf4e8f1c Added QSaveFile to the bootstrap library
It's quite a simple addition and required for the ahead of time compilation
tool for qtdeclarative.

Change-Id: Iba85ae5182919cdb5ab15a0b643e57c103eae632
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-01-02 12:51:37 +00:00
Albert Astals Cid
59ae55e12e Q_ENUMS -> Q_ENUM and Q_FLAGS -> Q_FLAG
Change-Id: I3cdc7338354da40ab20bdaeb9d5745264ea27228
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2017-01-02 10:31:25 +00:00
Kimmo Ollila
92f6a4588f Add needed includes to qdesktopwidget_p.h and qwidgetwindow_p.h
The template definitions are required here as we are using an object
of type QPointer below when doing static cast of QPointer::data()

Change-Id: I41e2b6f59667574ca3c5d75c5dddb203790adbce
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-01-02 10:15:03 +00:00
Daniel Vrátil
c7f0e3ebc2 Use qGetPtrHelper in Q_DECLARE_PRIVATE_D macro
This allows the Dptr parameter of the Q_DECLARE_PRIVATE_D macro to be
a smart pointer, not just a raw pointer.

Change-Id: Iaf27352e327e9aedea149461d47f2f11460a42dc
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-12-30 11:07:15 +00:00
Timur Pocheptsov
6090c86bd6 tst_qnetworkreply - remove redundant semicolon
... after a member-function declaration: this would be a compilation error
anywhere outside of a class-definition, allowed as 'opt' inside a class-definition
and essentially not needed at all (and is already different from other
member-functions we have in the same code).

Change-Id: Ia689a41bf2a1052cd19eb8fb4766ed9635c20c88
Reviewed-by: Jesus Fernandez <jesus.fernandez@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2016-12-28 14:36:22 +00:00
Thiago Macieira
d908ba2765 Remove HarryF's "compiler error feature" that isn't used anymore
The "qYouForgotTheQ_OBJECT_Macro" function hasn't been used in
qobject_cast since commit 7d7e8ae3fa (Qt
5.2), when Olivier made the error use Q_STATIC_ASSERT instead.

Change-Id: I15b62e0f9cec482fbb40fffd1490d7c050084369
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-12-28 12:43:53 +00:00
Thiago Macieira
dc6b73390b Revert "QUrl::resolved: keep treating file:name.txt as relative for now"
This reverts commit 91a2c8630b. We
promised in the Qt 5.6.2 changelog to do it in Qt 5.8. It was a
temporary compatibility hack.

[ChangeLog][QtCore][QUrl] The temporary compatibility in
QUrl::resolved() that treated the base URL as relative if its scheme
matched the current URL's scheme has been removed.

Change-Id: I3e4e5051937c40319d6efffd1490eb9a5a948481
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-12-28 12:43:50 +00:00
Laszlo Agocs
94b136f320 linuxfb: generate expose events
Task-number: QTBUG-57747
Change-Id: I7e6a26b447cb929842e69e85fb91882c04ae10d0
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2016-12-25 14:44:56 +00:00
Laszlo Agocs
7980e92e89 eglfs: generate an expose whenever the geometry is changing
Relevant for QWidget apps with multiple top-level widgets. With real
windowing systems a resize will result in an expose. Follow suit.

Task-number: QTBUG-57747
Change-Id: I9c6e9fa5e073f85a695df07d63176b1d2d657f25
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2016-12-25 14:44:50 +00:00
Lars Schmertmann
5882866768 Extend qChecksum calculation
ISO 14443-3 is for nfc communication and uses 2 different checksums.
The existing one is from ISO 3309 and the other one is from ITU-V.41.
Both are needed to implement an own transport layer defined in ISO
14443-4 to allow nfc commands with a length above 250 byte independent
from the smartphone.

This change will avoid code duplication in QNearFieldTarget.
The private function qNfcChecksum is a copy of qChecksum.

Change-Id: I790ffec8e2ea46f88b2db6f48b64fdcb140e7b70
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-12-25 08:24:18 +00:00
Andre Hartmann
615027129d QByteArray: Overload toHex() with separator character
The separator character is inserted in the resulting array
after every byte and is useful for MAC address output like
01:23:45🆎cd:ef, Hash fingerprints, or low level data
debug output.

[ChangeLog][QtCore][QByteArray] Added toHex() overload to
insert a separator character between the hex bytes.

Change-Id: Ibe436094badc02f3ade7751aa8b5d690599941d4
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-12-24 21:05:43 +00:00
Stephen Kelly
8266de089c CMake: Create a Qt5::<ModuleName>Private target for each module
Make it depend on the corresponding Private target of each
dependency.  This way, user code can write

 find_package(Qt5Gui REQUIRED)

 add_executable(hello hello.cpp)

 target_link_libraries(hello Qt5::GuiPrivate)

and get the private include directories for both Qt5Core and Qt5Gui.

Don't create the Private target if any of the private include
directories do not exist.  This way, if user code uses one of the
targets, CMake will issue an error if the private include directories do
not exist.  Unfortunately the error is somewhat cryptic (eg, 'the
"Qt5::CorePrivate" was not found'), but this is still an improvement
over an error at compile time.

This is an improvement on the situation described in QTBUG-37417 using
Modern CMake features.

Change-Id: I034f8216c3ec64d1a3309682456a713cac9bf854
Reviewed-by: Kai Pastor <dg0yt@darc.de>
Reviewed-by: Stephen Kelly <steveire@gmail.com>
2016-12-23 19:24:35 +00:00
Gabriel de Dietrich
2f797f8a91 QSplitterHandle: Ensure a minimum grab area
This used to work only for 0- and 1-pixel wide handles. However,
and paradoxically, 2- and 3-pixel wide handles would end up with
narrower grab areas. We now ensure a 4 or 5 minimum grab area,
depending on the handle width parity.

The patch also clears the margins and mask if the handle size is
increased at some point.

Change-Id: I8a16e39fb34b5452d9021dbde8c22bec79df0243
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
2016-12-23 19:23:24 +00:00
Anton Kudryavtsev
6d1d66a042 QObject: add startTimer() overload with std::chrono
In client code I often see code like:

    startTimer(1000); //ms

Let the code to be self-explaining. So provide overload
method that takes std::chrono::milliseconds as arg.
QTimer already has std::chrono support, but QObject does not.

Change-Id: Ib348612ce35f1a997b4816fe9e864775cbcbec16
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-12-23 18:08:53 +00:00
BogDan Vatra
3e7f42cb81 Android: Prepare ministro repos for next release
Task-number: QTBUG-57647
Change-Id: I7cbf6d4bb22f51530dc008e15ca635fed3b68a81
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
2016-12-23 10:09:10 +00:00