Commit Graph

27734 Commits

Author SHA1 Message Date
Anton Kudryavtsev
943a658c07 QJsonObject: use reserve() to reduce memory allocations
Change-Id: I97821ffa0c485815c781dc4f98012b0b490da90a
Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-04-26 12:20:49 +00:00
Eskil Abrahamsen Blomfeldt
1880e8432f Disable Directwrite 2 when Directwrite is disabled
While this wouldn't have any consequences in practice, it was
perceived as confusing to users that Directwrite 2 was listed
as enabled in the summary when Qt was configured with -no-directwrite.
To give a better presentation of what will actually be compiled,
we force disable Directwrite 2 when Directwrite is disabled.

Task-number: QTBUG-52952
Change-Id: I779772ecc4d47b20854588cedde2b097ae22ded4
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2016-04-26 12:17:37 +00:00
Tor Arne Vestbø
8996776f1e iOS: Handle old exclusive build CONFIG names for simulator and device
Qt Creator uses e.g. CONFIG+=iphoneos to make the default build target
be device. Now that the exclusive build is named simulator_and_device
to support e.g. tvOS, we need to handle the old CONFIG names for
backwards compatibility.

Task-number: QTBUG-52970
Change-Id: I0f864bebf11e657eb4225a182753037205f450b8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-04-26 11:33:22 +00:00
Friedemann Kleint
172f7e618e Windows/Configure tests: Test for DirectWrite2 more extensively.
Previously, the test succeeded for MinGW 64 5.3, which is still missing
IDWriteFontFace2. Amends change 33044b83c2.

Task-number: QTBUG-52952
Change-Id: I959f604d6bb9aa0efc765f2e26ec58d852ab92de
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2016-04-26 11:14:48 +00:00
Liang Qi
75d4742e04 Merge "Merge remote-tracking branch 'origin/5.6' into 5.7" into refs/staging/5.7 2016-04-26 11:08:23 +00:00
Liang Qi
bb4b86618d Merge remote-tracking branch 'origin/5.6' into 5.7
Conflicts:
	config.tests/unix/compile.test
	configure
	src/android/jar/src/org/qtproject/qt5/android/QtMessageDialogHelper.java
	src/corelib/global/qglobal.cpp
	src/widgets/kernel/qapplication.cpp
	src/widgets/styles/qwindowsvistastyle.cpp
	tests/auto/corelib/kernel/qobject/tst_qobject.cpp

Change-Id: I067083f34e5290aa5f7565e40c30a069cc37b83a
2016-04-25 14:03:45 +02:00
Anton Kudryavtsev
84330007e1 QLockFile: move early out earlier to avoid allocations.
Saves reading two lines and allocating storage for them.

Change-Id: I71f6c7019f4c097897945eea52851e4623b75dc2
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com>
2016-04-25 07:46:02 +00:00
Anton Kudryavtsev
be6c14211e qTopLevelDomain: use QStringRef more
qIsEffectiveTLD() and containsTLDEntry() now
have overloaded versions with QStringRef arg.

Change-Id: Ic2b7fd56c8ea1579d3e4bdf4ed0e10405515d417
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-04-25 07:45:56 +00:00
Marc Mutz
ebbfc55667 QtGui: mark more types as primitive/movable
These types are held in QVarLengthArrays, so benefit
from being trivially relocatable. They are also part
of the private API, so there's no BC issues with
potential uses of these types in QList, except for
QPainter::PixmapFragment, which consequently has been
marked as relocatable only.

Change-Id: I90fb9a19231c6f5c71c593602fc997ffafe8f047
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2016-04-25 07:43:27 +00:00
Marc Mutz
0d19a571cd Android: eradicate Q_FOREACH loops [rvalues]
... by replacing them with C++11 range-for loops.

This is the simplest of the patch series: Q_FOREACH took a
copy, so we do, too. Except we don't, since we're just
catching the return value that comes out of the function
(RVO). We can't feed the rvalues into range-for, because
they are non-const and would thus detach.

Change-Id: Ia086b1f3d072dd56c3545780490be03346df2880
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2016-04-25 07:42:48 +00:00
Eskil Abrahamsen Blomfeldt
3010c38713 Android: Make SDK detection its own qmake feature
To allow reusing the logic which detects the appropriate
Android SDK version to use for building the Java code,
this is now separated into its own .prf file. This is
required by Qt Purchasing to avoid duplicating the logic
there.

Change-Id: Ief5f5e70dab79751ef9e5a9c4a019bfda686cd09
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-04-25 07:41:54 +00:00
Marc Mutz
7ba9863e32 Simplify code in QSpdyProtocolHandler::parseHttpHeaders()
Instead of checking for the presence of a NUL,
then splitting the QByteArray at NUL separators
just to join the parts with different binders,
simply use replace('\0', ...).

Change-Id: I0e0453b80f63cffce4a0ff152120ece754211166
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2016-04-25 07:39:58 +00:00
Marc Mutz
db27f3d5a7 QtNetwork: eradicate Q_FOREACH loops [const-& returns]
... by replacing them with C++11 range-for loops.

The function QObject::children() returns by const-reference,
so its result can be passed to range-for without further changes.

Change-Id: Ic330a8e110d6dd5624b9e328ece2a614d5c71e4f
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2016-04-25 07:39:10 +00:00
Marc Mutz
bac6da10dd QtNetwork: eradicate Q_FOREACH loops [needing qAsConst()]
... by replacing them with C++11 range-for loops.
To avoid detaches of these mutable Qt containers,
wrap the container in qAsConst().

Change-Id: I47c5308a6ad220b4c5495e55a3b0d38547bfa8d9
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2016-04-25 07:38:59 +00:00
Marc Mutz
036b404032 QtNetwork: eradicate Q_FOREACH loops [already const]
... (or trivially marked const) local variables or
parameters, by replacing them with C++11 range-for
loops.

Also ported one indexed loop.

Change-Id: Idddcac48ce7527b1ea674671ceb9aaf4d31fb42e
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2016-04-25 07:38:50 +00:00
Oliver Wolff
a1dec825f9 winrt: Skip context validation in ANGLE
The flag causes context validation to be skipped by ANGLE. If validation
is active nothing is rendered on Windows Phone (just a black screen) for
widget applications.
Everything works as expected without validation so we do without it.

Change-Id: I6f9ea249b653ba5a602bc33e75105c57b686b92d
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
2016-04-25 05:57:42 +00:00
Oliver Wolff
e12ba07322 Update ANGLE to chromium/2651
Change-Id: I1cd32b780b1a0b913fab870e155ae1f4f9ac40d7
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
2016-04-25 05:57:38 +00:00
Richard Moe Gustavsen
d3dcc6f610 QWidgetTextControl: respect run-time changes to cursorFlashTime
cursorFlashTime will now change dynamically from QPA while platform
controlled text selection (on mobile) is ongoing. This patch
will therefore update QWidgetTextControl so that it listens to the
cursorFlashTimeChanged signal and changes the blinking rate when
triggered.

Change-Id: I89bdfaab0e93d1d055baba6b132a7911d2ae84f6
Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
2016-04-25 05:56:13 +00:00
Richard Moe Gustavsen
2a740b9cf5 Darwin: set SH_BlinkCursorWhenTextSelected to false on Darwin
When text is selected on e.g iOS or OS X, the cursor should not
blink (or be visible), regardless of style.

Note that SH_BlinkCursorWhenTextSelected is actually
implemented to mean "hide cursor when text selected"
in e.g QWidgetTextControl. If this is a bug or not
is hard to say, but it is anyway the desired behavior
on Apple platforms.

Change-Id: I541dabbe1945c266107ba39e3adb006bec0258bf
Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
2016-04-25 05:56:01 +00:00
Richard Moe Gustavsen
1b5bc9723c QWidgetLineControl: respect run-time changes to cursorFlashTime
cursorFlashTime will now change dynamically from QPA while platform
controlled text selection (on mobile) is ongoing. This patch
will therefore update QWidgetLineControl so that it listens to the
cursorFlashTimeChanged signal and changes the blinking rate when
triggered.

The previous code had a function setBlinkingRate, which is now
changed to setBlinkingCursorEnabled (like in QWidgetTextControl).
This is because all callers of the function did either pass
"QApplication::cursorFlashTime" or "0", which basically means enable
or disable blinking. This moves the control of the blinking rate
fully to QWidgetLineControl, which simplifies the code a bit, especially
when cursorFlashTime can change.

Note that when setting a blink period to 0, it means "show the
cursor without blinking". AFAICS, the current implementation did
not guarantee that. This is now made more explicit in the code. If
hiding the cursor is needed, a separate function "setCursorVisible"
is already available for controlling that.

Change-Id: I7d39882de192a23e6e7ba370749892c7702c3d3b
Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
2016-04-25 05:55:57 +00:00
Anton Kudryavtsev
e36f03f97a ConfigureApp: fix warning -Wsign-compare.
Use size_t as index type for C array.

Change-Id: I0980f47ef881108c9639a2a73fbb878b7d8161d2
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-04-25 05:33:54 +00:00
Shawn Rutledge
6e850af09d OSX: remove tablet->mouse event synth
The synthesis of mouse events for unhandled tablet events is now in
cross-platform code, so the platform plugins don't need to do it.

Task-number: QTBUG-47007
Change-Id: I948be398e4b1ab627a8dc97ca20c08dba4390238
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2016-04-25 05:22:42 +00:00
Marc Mutz
83b2c97713 Android: don't iterate over .keys()
... iterate over the container itself instead. Avoids
temporary QList creation as well as the lookup cost
when actually calling value(key).

Change-Id: I63a11e6f8f19919145ea142309ddbacd99c3bfc3
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-04-25 05:11:35 +00:00
Marc Mutz
bb71bd8de9 Android: eradicate Q_FOREACH loops [needing qAsConst()]
... by replacing them with C++11 range-for loops.
To avoid detaches of these mutable Qt containers,
wrap the container in qAsConst().

Change-Id: I9158c507f9249a7322b11c982bfcab1e6ed4a38a
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-04-25 05:11:31 +00:00
Marc Mutz
54d26804d7 Android: eradicate Q_FOREACH loops [already const]
... (or trivially marked const) local variables,
parameters, or data members with trivial loop bodies,
by replacing them with C++11 range-for loops.

Change-Id: I25e9e2148abd7676305ebd18754dc647f217e48b
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-04-25 05:11:28 +00:00
Marc Mutz
0909a94af2 QtCore: mark more types as primitive/movable
These types are held in QVarLengthArrays, so benefit
from being trivially relocatable. They are also part
of the private API, so there's no BC issues with
potential uses of these types in QList.

Change-Id: I8adc0c801885f8fffa05eb1f173d7e4bb085ba7b
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-04-25 05:11:12 +00:00
Marc Mutz
4579d966af QMutexPool: avoid QVarLengthArray of QAtomicPointers
QAtomicPointer is CopyConstructible, but std::atomic<T*> is not,
for a reason. So avoid putting them in a QVarLengthArray, using
a dynamic heap allocation instead. This sounds wasteful until
you realize that virtually all users of QMutexPool (and we know
them all) use the global instance(), and that each QMutex (131,
by default) is heap-allocated, too.

Change-Id: Ie9c95671ec42a1f51919c18631b623aad2c0d6ba
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-04-24 18:22:02 +00:00
Richard Moe Gustavsen
8586cccc07 iOS: (crash fix) ensure we don't clear focus object in a text responder transition
When IM hints changes (e.g as a result of transferring focus
between Qt objects), we sometimes need to reconfigure the keyboard.
And the way we do that is to create a new QIOSTextResponder that
matches the new configuration and tell it to become first responder.
And in that process we need to ensure that we don't clear the
focus object when the old text responder resigns. After all, it was
the one requesting the new IM configuration in the first place.

Since we set FirstResponderCandidate to point to the new text responder
just before telling the old one to resign, we can use that variable
to check if were in a first responder transition before clearing the
focus object.

Change-Id: I05bfb8180700a92a8f14f496044457583bcd38d3
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2016-04-22 06:36:59 +00:00
Friedemann Kleint
276adc5a09 QtWidgets: Fix qdoc warnings related to inputMethodQuery().
Mark the overloads taking an additional QVariant as \internal as (cf
QTextEdit) and the overridden functions as \reimp.
Amends change ab67a5b7b6, fixes warnings:
qtbase/src/widgets/widgets/qlineedit.cpp:1755: warning: Cannot find base function for '\reimp' in inputMethodQuery() /

Change-Id: I9949bf3850ab4200ee500cbe33a44faacecc30b0
Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
2016-04-21 13:27:45 +00:00
Jake Petroules
bbd1228b17 Fix Group-relative specification of files in generated Xcode projects.
Xcode does not recognize "<Group>" with a capital G, only "<group>" with
a lowercase g. As a result, paths of files within these groups are
calculated incorrectly. For example, dragging any external file into the
Xcode project would result in its leading slash being removed (while
still treated as an absolute path - broken reference). Furthermore, the
dropdown in Xcode displayed the Group location as an invalid string
instead of the correct "Relative to Group". This patch restores correct
behavior.

This fixes a regression introduced in
f09ec09c208c75a16abe05b6bb505a1fc58775a6.

Task-number: QTBUG-52701
Change-Id: I9af5360049a79e7958301e4090a9a542bab0af8c
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2016-04-20 18:18:33 +00:00
Joerg Bornemann
64b54819d8 Doc: Fix links to QProcess::start(const QString &, OpenMode)
The startDetached(const QString &, OpenMode) overload and the
QT_NO_PROCESS_COMBINED_ARGUMENT_START macro must point to the
start(const QString &, OpenMode) overload.

Change-Id: I7607fcb92b9f1ef3547a4a1aadc950532024225a
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2016-04-20 13:43:53 +00:00
Timur Pocheptsov
6d9a3c0119 QMacPinchGestureRecognizer - fix totalScaleFactor
Set totalScaleFactor on a pinch gesture (OS X) so that it works the same way
as in 'standard' gesture recognizer and corresponds to what we document.

[ChangeLog][QtWidgets] : QPinchGesture on OS X now behaves like on other
platforms: totalScaleFactor is the magnitude of the pinch and scaleFactor
is the delta for the current event.

Task-number: QTBUG-48138
Change-Id: I66b9a1df05cbe106b76aed8f15d900bcdd41fdb7
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
2016-04-20 12:22:59 +00:00
Anton Kudryavtsev
bafe205d6a Moc: use QStringBuilder more
Adding strings in a single expression gets mediated
efficiently by QStringBuilder, where using += repeatedly
forces premature consolidation.

Change-Id: I6c1abb9c9801a016ce6c151cffdf8c7ac9502f4e
Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-04-20 12:07:52 +00:00
Friedemann Kleint
e75bd17e3d QWindowsTheme::standardPixmap(): Do not create pixmaps with DPR.
The given size is mostly ignored and the resulting pixmaps typically end up
in a QIcon, which will clobber the DPR anyways when returning a pixmap
for a given size.
Moreover, returning a message box icon with a DPR > 1 when
high DPI scaling is active and Qt::AA_UseHighDpiPixmaps is not set
causes the pixmap to become too small due to some scaling error.

Task-number: QTBUG-52622
Change-Id: I8aaaa97667d6c168040e19b7edad9dfb7517f70f
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
2016-04-20 11:59:25 +00:00
Friedemann Kleint
ff49c56450 QMessageBox: Try to pass window handle to QIcon::pixmap().
Try to find a window handle so that the pixmap matching the
device pixel ratio of the screen can be found.

Task-number: QTBUG-52622
Change-Id: Iccf3cea82065af5e055d3cd932cd0808b29b15dc
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
2016-04-20 11:59:06 +00:00
Anton Kudryavtsev
64df35c02d OpenGL: use const (and const APIs) more
For CoW types, prefer const methods to avoid needless detach()ing.

Change-Id: I211ae74434bf3705914764e1e9d02ae823a1be3a
Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-04-20 11:56:25 +00:00
Friedemann Kleint
5386a35d35 Add a manual styles test.
Task-number: QTBUG-49374
Task-number: QTBUG-52622
Change-Id: Ic205590725780147aec3abc0f4be2058d001d358
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
2016-04-20 11:35:48 +00:00
Kai Koehne
68266c4ae2 Fix compilation MSVC warning in 3rdparty/rfc6234
Fixes C4838 warnings:

  rfc6234/sha384-512.c(326): warning C4838: conversion from '__int64' to 'quint64' requires a narrowing conversion
  rfc6234/sha384-512.c(331): warning C4838: conversion from '__int64' to 'quint64' requires a narrowing conversion
  rfc6234/sha384-512.c(796): warning C4838: conversion from '__int64' to 'const quint64' requires a narrowing conversion

Change-Id: Ib531d376d3fd49785e227455f280fc4072bba8c5
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2016-04-20 07:49:41 +00:00
Kai Koehne
a24ac8950f Doc: Fix typo in QAtomicPointer::loadAcquire documentation
Change-Id: I1b0e6b0f230b2f17595a9cc91234a011ad0260b5
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2016-04-20 07:49:36 +00:00
Friedemann Kleint
cec15a89d0 QWindowsXPStyle: Enlarge QLineEdit/QComboBox when High DPI scaling is active.
In QWindowsXPStyle::sizeFromContents(), scale the margins using the
devicePixelRatio and round the height up. Typically increases
the height by 2 pixels when the device pixel ratio equals 2.

Change-Id: I446ad518c3808a6454a08db7b66a942d37c1703f
Task-number: QTBUG-49374
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
2016-04-19 20:26:24 +00:00
Friedemann Kleint
5fb2dceab4 QTabBar: Fix crash when the tab being dragged is deleted programmatically.
Call QTabBarPrivate::moveTabFinished() from QTabBar::removeTab()
to cancel any drag in progress to prevent crashes due
to invalidated indexes.

Task-number: QTBUG-52527
Change-Id: I5bd8cc6f55e5aea1f1a4710494ba5b92939a42ee
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-04-19 20:25:36 +00:00
Alex Trotsenko
cc7cd61909 Improve performance of socket notifications on WinCE
QEventDispatcherWin32 on WinCE uses a separate low-priority thread to
monitor sockets activity, so changing the state of notifiers occurs
asynchronously to the main thread. This makes a message-based socket
activation mechanism ineffective.

To avoid timeouts in the helper thread, update the thread's pool
directly from the (un)registerSocketNotifier() functions.

Change-Id: I702c32d69dce09323ca5f65dc2ee1407842e41ef
Reviewed-by: Tobias Koenig <tobias.koenig@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2016-04-19 19:32:39 +00:00
Thiago Macieira
394a026241 compile.text: Split huge line into multiple
Makes it easier to add stuff to it.

Change-Id: Id75834dab9ed466e94c7ffff1445727a2ed975cc
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-04-19 18:17:40 +00:00
Thiago Macieira
1721d56d28 Fix build on Linux/x32 systems (x86-64 ILP32)
When I tested this, it compiled, but either I wasn't using the same
compiler or the problem happens during linking: we can't use .quad
(64-bit) with a relocation on x32. So instead, let's use .long (32-bit).

Task-number: QTBUG-52658
Change-Id: Ifea6e497f11a461db432ffff14468d1a16f49c67
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
2016-04-19 18:17:38 +00:00
Timur Pocheptsov
d31bc5cbf9 QNetworkReplyImplPrivate - potential nullptr dereference
Found by Coverity, CID 11351. If we check 'if (backend)' at one line,
not clear why we do 'if (bakcend->canResume())' two lines above without any test.
Also, 'delete backend' is noop if backend is nullptr, so ...
even this 'if (backend)' is ... not needed.

Change-Id: I7a46ce04baeb9251debb7b246954911df58880ca
Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
2016-04-19 17:53:48 +00:00
Shawn Rutledge
12fe935bb6 xcb: remove tablet->mouse event synth; harmonize handle/report methods
The synthesis of mouse events for unhandled tablet events is now in
cross-platform code, so the platform plugins don't need to do it.

xi2HandleTabletEvent's signature included an eventListener which is
no longer needed; removing it makes it look needlessly inconsistent
with the signature of xi2ReportTabletEvent; and while we're at it,
might as well make the events const and deal with the repercussions.

Task-number: QTBUG-47007
Change-Id: I0f76c8ed2d2b0baed0652bc68286f1734b8b72ff
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2016-04-19 13:07:24 +00:00
Oswald Buddenhagen
a74603098a actually enable mocdepend
so it turns out that the 'unix' conditional in moc.prf meant that the
feature was not enabled *anywhere* by default, as the unix configure
disabled it everywhere.

amends b3fcaea5.

Change-Id: Ie41ed2ebc338e560b8d6bfbb0bb18888e31b6d13
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2016-04-19 12:39:40 +00:00
Oswald Buddenhagen
efb829d44b Mime type browser example: Add documentation.
Change-Id: Ic5f2103b0771799bc9e5e5efceeadf153f8a2159
Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
2016-04-19 11:34:35 +00:00
Anton Kudryavtsev
35b0ecf5da QtNetwork: replace Java-style iterators
... with STL-style iterators or with algorithms.
Java-style iterators have overhead.

Introduce local template separate_if algorithm from kleopatra
project to simplify current code.
http://api.kde.org/4.3-api/kdepim-apidocs/kleopatra/html

Done-with: Marc Mutz <marc.mutz@kdab.com>
Change-Id: Ib154f80f46f8041d9cafd81bed0e1982b21541cf
Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2016-04-19 11:26:02 +00:00
Eskil Abrahamsen Blomfeldt
7094466f7d Interpret fixed CSS line-height as minimum rather than absolute
The QTextBlockFormat::FixedHeight overrides the line height
regardless of its calculated height. If the line contains
objects or text which is higher than the specified line height,
using FixedHeight will cause them to overlap with the previous
line. This is not what happens in normal web browsers. The
expected behavior is that the line height given in CSS is the
minimum height, but that we still reserve space needed to display
everything without overlaps.

To make it possible for people to retain the old behavior, we
introduce the -qt-line-height-type property, which allows them
to override the default.

This also fixes output from toHtml() to use the new property
rather than set the minimum height of the paragraph or the
"line-spacing" property, which does not exist in either CSS nor
in Qt.

[ChangeLog][QtGui][Important Behavior Changes] When line height
is specified in pixels, this is now interpreted as the minimum
line height rather than an absolute line height to avoid overlaps.
To get the old behavior, use the -qt-line-height-type property in
CSS and set it to "fixed".

Task-number: QTBUG-51962
Change-Id: Ic2dde649b69209672170dad4c2de1e1c432a1078
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2016-04-19 09:32:10 +00:00