Commit Graph

21982 Commits

Author SHA1 Message Date
Oswald Buddenhagen
2b31356ac9 optimize filePrefixRoot()
more efficient use of string functions.

Change-Id: I3d95d6379eaab025b18449b706f93631a2132aad
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-02-02 11:14:57 +00:00
Oswald Buddenhagen
eb9db750e9 remove dead variables
Change-Id: I6c48a2e64027c432a87767782669c30a8876b0d6
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-02-02 11:14:55 +00:00
Oswald Buddenhagen
a5c197bee7 remove pointless fixForOutput() call
the path is processed, and afterwards fixForOutput()ed again. the first
call makes no sense (even if it registered some variables that are gone
in the second call, that would be pointless exactly because they are gone).

Change-Id: I251f1e4858bec36f3a7a9427c2ba78031b35a2d3
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-02-02 11:14:53 +00:00
Oswald Buddenhagen
835566685c remove bogus path fixing
commands come already fully expanded and quoted from the project.

Change-Id: I239d5c305f5f65d32c832bc09bfd1c322051e149
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-02-02 11:14:51 +00:00
Oswald Buddenhagen
23ab0d3e6a prune vestiges of IMAGES and QMAKE_IMAGE_COLLECTION
this stuff apparently pre-dates rcc.

Change-Id: Iaa58419476c3d20e2801e91dc1881880c741fdc6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-02-02 11:14:49 +00:00
Oswald Buddenhagen
f9b882b584 remove QMAKE_FAILED_REQUIREMENTS optimization from unix generator
no other generator does it. if it actually buys anything, it should be
re-instantiated differently.

Change-Id: I8431702ac7d558d65fd28a7f9e36bb49db2eb253
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-02-02 11:14:48 +00:00
Oswald Buddenhagen
3b9f103155 make fallback handling for QMAKE_BUNDLE_EXTENSION sane
the logic was such that if the bundle name already had the specified
extension which was not the default extension, the default extension
would be appended, too. i don't think that was the intention ...

now we simply put the default into QMAKE_BUNDLE_EXTENSION if its empty -
the variable is not used anywhere else where it would be expected to
preserve its emptiness, so this is safe.

Change-Id: Ied34d10f9fe60756bddc0037dcb2f1d3bbfd3e12
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-02-02 11:14:45 +00:00
Oswald Buddenhagen
4b486cb88c values(foo).first() => first(foo)
Change-Id: Ic5bb8ae3166c76299881970f83d20206bec704bc
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-02-02 11:14:43 +00:00
Oswald Buddenhagen
365eb89713 remove weird qt_dll hack
there is no reference to it anywhere.

Change-Id: I72403be6c8294d9b2e64075ebd428eba24d97097
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-02-02 11:14:41 +00:00
Oswald Buddenhagen
9999ada1bf don't verify compilers twice
Change-Id: Iad214f8a14c29b633752935e31125a6f4b512f4b
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-02-02 11:14:40 +00:00
Oswald Buddenhagen
84c80538af remove pointless double initialization guards
this isn't some fuzzy logic, the call sequence is well determined.

Change-Id: I1696b49ed687da83d2969efcfe23ac6565630020
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-02-02 11:14:37 +00:00
Oswald Buddenhagen
12b7b2c643 nuke gbuild generator
it never left the rudimentary stage. should it ever be re-added, it
needs to be done basically from scratch anyway.

Change-Id: I76858c8a2c90235f228f7a6e5a178a10a2669d37
Reviewed-by: Rolland Dudemaine <rolland@ghs.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-02-02 11:14:34 +00:00
Oswald Buddenhagen
6e6b50f541 fix relative path resolution inconsistency in qmake properties
suppose we queried QT_INSTALL_DOCS/get. if no [EffectivePaths] existed,
we'd try [Paths]. if that didn't exist, either, we'd use the built-in,
which is relative. so we'd query QT_INSTALL_PREFIX ... without the /get,
which is technically wrong.

this doesn't currently matter, as all groups have the same built-in
defaults anyway, but it may (hint hint) matter later on.

Change-Id: I5a3746e80ca1bfbf2f37db3604cc351bddeacd94
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-02-02 11:14:32 +00:00
Oswald Buddenhagen
f1836ecaf7 less preprocessor magic relating to qmake build
it's not worth making things more complicated to remove the duplication of
one real LOC.

Change-Id: Iddbd0db7d0f81b80192b3980dbe2316b246a3b57
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-02-02 11:14:29 +00:00
Oswald Buddenhagen
afd40dd123 avoid direct use of QLibraryInfo as much as possible
Change-Id: Ic1f5f5167181b15bc67bf4c6a1001532d0058b45
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-02-02 11:14:27 +00:00
Oswald Buddenhagen
44fca87241 complete reversal of adding QLibraryInfo to the bootstrap library
amends 684028a64.

Change-Id: I8dcc4b74c4c0328c07711cd7253ff19a74ea2fbf
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-02-02 11:14:25 +00:00
Oswald Buddenhagen
8e98a07b30 silence msvc warning 4996 while bootstrapping qmake as well
amends 0a76b6bc7f.

Change-Id: I5fc65a5ed71727d3e291ceda5877aa3586611846
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-02-02 11:14:22 +00:00
Allan Sandfeld Jensen
9be87085d8 Only use 32bit version of qPremultiply
With auto-vectorization enabled in QtGui, the 32bit version of
qPremultiply is faster than the 64bit version since it can be vectorized
wider (4x on 128bit as opposed to 2x). Since all our important 64bit
targets have SIMD, that makes the 64bit version pointless.

Change-Id: I4e9070a3a3c8e2b54f17a95ba0aee0405cbb8ec9
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2015-02-02 11:14:00 +00:00
Marc Mutz
1749c1dd42 Centralize use of __attribute__((noinline))
There are currently only two users, but I have patches in
the pipeline which mark some other function noinline, so
proavtively centralize the ifdef'ery involved.

Change-Id: I1f02351fdc903d4e026089e12b8a976ed6a8d603
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-01-29 13:42:07 +00:00
Marc Mutz
7b5ba56b0a QString: optimize multiArg()
The function used a QMap<int,int> to map the %n's to the index
in the args array.

By way of construction, the key was sorted in ascending order
while the values, initially all -1, were later reassigned to be
0...map.size()-1, ie. std::iota().

The only information this data structure stores is therefore
the sorted %n's. For that, a sorted vector is a vastly superior
data structure.

Go one step further and use QVarLengthArray to avoid
allocating any memory for the common case of just a few
placeholders.

As an artifact of the underlying refactoring, the management
of that data structure has been moved to a separate class,
ArgMapper.

Runtime for the following test from tst_qstring:

    QString str("%1 %2 %3 %4 %5 %6 %7 %8 %9 foo %10 %11 bar"); // not timed
    str = str.arg("one", "2", "3", "4", "5", "6", "7", "8", "9");
    str = str.arg("ahoy", "there");

went down from 2.2us to 1.5us.

Change-Id: Ic552615fbac646b78ba05eb4e3215e63d202fd94
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-01-29 13:41:56 +00:00
Marc Mutz
72c456909c QString: reduce template bloat
Reduce the number of (non-regex) splitString instantiations from
six to two by:

- Passing separators by (const QChar*, int) and using qFindString()
  instead of indexOf()
- Passing QString as QStringRef when the output is QVector<QStringRef>.
  Doing so also allows to drop the MidMethod template parameter since
  QString::midRef() is no longer being used.

(Somewhat disappointing) effects on Linux GCC 4.9 stripped release builds:
 text   -500B
 data    +-0B
 relocs  +-0

Change-Id: Id89e2814d5f7da5170181d863167517943c2e0cd
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-01-29 13:41:47 +00:00
Konstantin Ritt
131b3cffc8 [QSSL] Pass params of shareable type by const-ref rather than by value
Change-Id: I9c09a3e2dfb90eb22d4509ac6c450a0bb5da48f6
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
2015-01-28 17:05:44 +00:00
Raphael Kubo da Costa
f99b3719f0 qlogging: Fix build on FreeBSD after 63cd16d.
pthread_getthreadid_np(3) is defined in pthread_np.h, not pthread.h.
Additionally, it was added during the FreeBSD 9 time frame, so add a
version check to use it only when we know it is present.

Change-Id: I4d716d9bfb189d10128b6d458a47045e130b51e8
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-01-28 16:12:14 +00:00
Raphael Kubo da Costa
b1220f7f73 corelib: Fix a faulty 5.4->dev merge.
Commit b6191b16 ("Merge remote-tracking branch 'origin/5.4' into dev")
merged commit 350c60b ("Link against QMAKE_LIBS_EXECINFO when using
backtrace(3)") into the dev branch, but the conflict resolution left out
the actual line that changed LIBS_PRIVATE.

Change-Id: I6e716ed375abdc534a1f20e412ce7c56ee85d6c0
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
2015-01-28 15:51:44 +00:00
Frederik Gladhorn
a275e1c1d9 OS X: Fix QWindowSystemInterface::handleExtendedKeyEvent
In d7ca800a87 another parameter was
introduced to unify ShortcutOverride. The call to it in qnsview.mm
accidentally passed false as last parameter which would go to count
instead of tryShortcutOverride. The patch wasn't released yet, so this
regression doesn't need a change log entry.

Thanks to Felipe Seoane for spotting this!

Change-Id: Ide2211806caf742d649e0d5dadcc47fd032d2cdf
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
2015-01-28 15:48:43 +00:00
Lars Knoll
bcf6a3eb34 Remove unused class QPaintBuffer
The class hasn't been used for a while anymore. Since it's
private, simply remove it from QtGui.

Change-Id: Ia0911d1c8b8836d963a51c8e354c96bc1ee4093f
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2015-01-28 15:44:18 +00:00
Shawn Rutledge
ed8dbe6493 systray example: revert the heart icon to its previous version
Change e910c36a3f unintentially included
a cropped version of this icon to test what happens with non-square
tray icons.  Now reverting to the original version.

Change-Id: If49de2f54bfce7f11576317908f8742abffc105a
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
2015-01-28 12:51:03 +00:00
Shawn Rutledge
fe8900405d Use qt.io rather than qt-project.org for network tests
Mainly because of a change in certificates which is causing failing
tests.

Change-Id: I8304e5ac4107428a250b71be5df7b5399a811017
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@digia.com>
2015-01-28 12:50:32 +00:00
Erik Verbruggen
467c2bc9c3 Remove support for QT_QLOCALE_USES_FCVT.
We expect floating-point math to be IEEE754 compliant.

Change-Id: I2b257177f2ef5fce38ac4d8fd76f746dc7b9fc15
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2015-01-28 12:44:55 +00:00
Alex Blasche
e1cdfc5529 Make Qt for Android compile when using errors for warnings
In file included from kernel/qsystemsemaphore_android.cpp:35:0:
kernel/qsystemsemaphore_p.h: In constructor 'QSystemSemaphorePrivate::QSystemSemaphorePrivate()':
kernel/qsystemsemaphore_p.h:104:10: error: 'QSystemSemaphorePrivate::createdSemaphore' will be initialized after [-Werror=reorder]
     bool createdSemaphore;
          ^
kernel/qsystemsemaphore_p.h:101:11: error:   'key_t QSystemSemaphorePrivate::unix_key' [-Werror=reorder]
    key_t unix_key;
          ^
kernel/qsystemsemaphore_android.cpp:43:1: error:   when initialized here [-Werror=reorder]
 QSystemSemaphorePrivate::QSystemSemaphorePrivate() :
 ^

widgets/qdockwidget.cpp:208:6: error: unused parameter 'floating' [-Werror=unused-parameter]
 bool QDockWidgetLayout::nativeWindowDeco(bool floating) const
      ^
cc1plus: all warnings being treated as errors

Change-Id: I69af3ba3883b4311477f0e4e991b5cc0900fb71b
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2015-01-28 12:38:34 +00:00
Konstantin Ritt
6ef40175e5 Introduce QMatrix4x4::isAffine()
- a convenience method thats checks if the matrix
has no projective coefficients.

Change-Id: Ieea8ac2e4237b471a683ad5010672b1e89a0c953
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2015-01-28 12:37:52 +00:00
Konstantin Ritt
14419b0a2b Introduce QQuaternion::inverted()
Change-Id: I6de77082bb7c32e48fb7f7d765a58fdbe68db1fd
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2015-01-28 12:37:50 +00:00
Konstantin Ritt
a14559bc78 [QVectorND] Add missing operator/=(const QVectorND &)
Change-Id: Ic1d2912808b95e02ba5d9cb2972c81c6374bbca9
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2015-01-28 12:37:47 +00:00
Laszlo Agocs
6462744b6b Avoid warning in makeCurrent
This warning is not necessary. We don't warn in doneCurrent or QOpenGLWindow either.

Task-number: QTBUG-44094
Change-Id: Icb3cf51137258c939d5dfb653cf98ded3c147aac
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-01-28 12:37:20 +00:00
Laszlo Agocs
f939c3728c Bail out in composeAndFlush when makeCurrent fails
And show a warning so we have a chance of knowing what
happened.

Change-Id: I9ddf3842b7d19946876ac1a2375611e8c13bbb9a
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
2015-01-28 12:37:14 +00:00
Joerg Bornemann
5582851c33 turn off nmake inference rule generation on detected conflicts
When there are source files with the same file name in different
directories of the project, then nmake's inference rules might pick up
the wrong source file. Note that this even happens when only one of those
files is in SOURCES. The existence of conflicting file names is enough
to cause hard-to-find build failures.
The usual work-around for this situation is CONFIG+=no_batch.
This is now done automatically when a conflict situation is detected and
a warning message is printed.

Task-number: QTBUG-13496
Change-Id: Icd81027407d3d489dbc50231e5ed8bcb91f8d2bc
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-01-28 12:33:18 +00:00
Eskil Abrahamsen Blomfeldt
ce9c4915d5 Android: Don't open assets files in read/write mode
We would return true when opening assets in read/write mode despite
the fact that the files are not writable. The logic now matches
that of the qrc file engine.

This also adds a unit test for Android-specific issues.

[ChangeLog][Android][Important Behavior Changes] Opening assets with
QIODevice::ReadWrite now returns false to correctly indicate that the
files are not writable.

Change-Id: I019cc27861fc9b000dc13c5e0a38c0fc09a08671
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2015-01-28 12:20:54 +00:00
David Faure
b65a415e67 Simplify fontsampler example by using the automatic tristate feature.
All the features implemented here are done by QTreeWidget, which also
sets PartiallyChecked when appropriate.

Change-Id: I8c8b515478708d1b7a853e7b8d963dd8fc9863fb
Reviewed-by: Jarek Kobus <jaroslaw.kobus@theqtcompany.com>
2015-01-25 12:38:04 +01:00
David Faure
dd23d9f161 QTreeWidget: forbid forcing PartiallyChecked on parent tristate items.
ItemIsTristate means QTreeWidget determines the check state of parent
items based on the check state of child items.
Checking/unchecking the parent propagates to children; but setting
the parent to PartiallyChecked shouldn't do that, especially since it can
lead to children without ItemIsTristate having PartiallyChecked check state.

Change-Id: Ibc8b7c77d9ec4c1578c07f3c62581edb770f8439
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@theqtcompany.com>
2015-01-25 12:37:51 +01:00
David Faure
4910f416c2 Itemviews: add ItemIsUserTristate flag
ItemIsTristate is now again purely for enabling the automatic management
of the check state of QTreeWidgetItems, while ItemIsUserTristate is
separate from that and lets the user select the three states manually.

This restores the original behavior of ItemIsTristate for QTreeWidgetItems,
which got broken by letting the user cycle through the states too.

[ChangeLog][QtWidgets][QTreeWidget] Restored Qt 5.1 behavior of
QTreeWidgetItems with ItemIsTristate to enable automatic management
of the check state. User-editable tristate checkboxes are now enabled
by setting the new flag ItemIsUserTristate.

Task-number: QTBUG-40060
Change-Id: I341f5e983804d3b4f27982520bb6647f3014cccc
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@theqtcompany.com>
2015-01-25 12:37:41 +01:00
Konstantin Ritt
ed56e79b53 [HarfBuzz-NG] Fix build on WinRT
This adopts c26d5cf6ef
and moves some code around.

Change-Id: Icbc1f4e0cfa6c6b994c3e5096cf1cc66bc0b32f9
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2015-01-25 08:41:11 +01:00
Konstantin Ritt
3de9bc9cb1 Update bundled HarfBuzz-NG to 0.9.38
Most important changes:
* Fixes for Arabic, Hangul, Hebrew, Indic,
  Mandaic, Myanmar, and New Tai Lue shapers.
* Fixed out-of-bounds access in Indic shaper.
* Build and stability fixes, various optimizations.

Change-Id: I4f0e32c017f62fe576bee41a430d3da6d571de80
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2015-01-25 08:41:05 +01:00
Konstantin Ritt
3c1e16df75 Micro optimizations to HB-NG path
No changes in functionality.

Change-Id: I9cf90241bdb087ef16fb0b759a5976848a197f55
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2015-01-24 17:33:00 +01:00
Tor Arne Vestbø
29f96fab24 iOS: Limit auto-rotation to device screen (excludes external screens)
An external screen should always stay in the native orientation of the
screen, and not be affected by rotations of the device. If the user
requires the external content to follow the device rotation, this
can be done explicitly by listening to orientation changes of the
main screen, or using QSensors.

Change-Id: I3a98655d11915f0db107930e7d97a24417656bc9
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2015-01-24 13:23:55 +01:00
Tor Arne Vestbø
d824c7bcc5 Track QPlatformScreen -> QScreen using QPointer
Allows the QPlatformScreen to verify that the QScreen is alive before
sending events to QPA for the given screen (which will assert if the
screen is being destroyed).

Change-Id: Ie77674fead3e0a4d4f6fedbf1f7f3c98364c7485
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2015-01-24 13:23:54 +01:00
J-P Nurmi
b26dc9bc05 QPlainTextEditControl: reimplement anchorAt()
See comments in QPlainTextDocumentLayout::hitTest(). Since
QPlainTextEdit does not do hit testing on the document layout
level, allow QPlainTextEditControl to override anchorAt() so
that hit testing can be done on the widget level instead.

Change-Id: I70247eafae96897382a0c7db7d596128a03e7a6c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2015-01-24 12:36:41 +01:00
Giuseppe D'Angelo
7414c2c404 QOpenGLWidget/QOpenGLWindow: add a destructor which calls makeCurrent
Generally speaking, QOpenGLWindow subclasses are going to use some
various QOpenGL* wrapper object to handle their buffers, FBOs, etc.

Some of those QOpenGL* wrappers are QObjects, hence it should be safe
to have them as child objects, and expect Qt to clean them up properly;
but that doesn't happen because of how the destruction will work.

In particular, when the subclass object is deleted, there may not be
the right OpenGL context set as current. The deletion will go up to
~QObject, where the child objects will be deleted, resulting in a crash.

That will *also* happen if someone connected to the context's
aboutToBeDestroyed() signal: the context will in fact be deleted
after the child objects, since it's stored in QOpenGLWindowPrivate,
whose dtor will be run after ~QObject (!).

Now, in the general case, QOpenGLWindow subclasses should always
have a dtor in which they call makeCurrent() (also because various QOpenGL*
class are not QObjects, hence they're kept around as full members
instead of pointers-to); but at the same time we should clean up
properly the QObject children.

All of the above of course stands for QOpenGLWidget as well.

Task-number: QTBUG-44094
Change-Id: I2379041fe175416936f6d40292039f773a515b35
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2015-01-24 12:35:56 +01:00
Allan Sandfeld Jensen
dd07b1e389 Add conversion functions for C++11 u16string and u32string
The patch adds convenience functions for working on C++11's new char
width specific unicode strings u16string and u32string.

[ChangeLog][QtCore][QString] Added methods for convenient conversion
to and from std::u16string and std::u32string.

Change-Id: I67c082e4755c592d61daaaaa70c8867ef0b23dcb
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-01-24 11:50:13 +01:00
Marc Mutz
05cda3d465 src/corelib/tools/tools.pri: add missing qtools_p.h
Change-Id: If7af29fdaefddc1e3f08148610ba2720f5927b67
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-01-24 11:12:38 +01:00
Marc Mutz
f272c40697 tst_QSet: make qhash() test deterministic
Change-Id: I857e66f21030da2210122c8c95c95f05a73da50a
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2015-01-23 23:38:27 +01:00