Commit Graph

29350 Commits

Author SHA1 Message Date
Marc Mutz
e6f5a7d6c0 tst_QString: clean up
- add Q_DECLARE_TYPEINFO for types held in Qt containers (incl. QVariant)
- port Q_FOREACH to C++11 range-for
- port uses of inefficient QLists to QVector

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

Change-Id: I7176b4b12ed47ed23166857bd127c459ea2a48d5
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-08-17 08:58:58 +00:00
Marc Mutz
af5ccb7f8c tst_QStyleSheetStyle: Extract Method sample_widgets()
The only difference between the sample widget sets was:

  -    widgets << new QLabel("TESTING TESTING");
  +    widgets << new QLabel("<b>TESTING TESTING</b>");

I chose the latter, because it's the more complex example
and neither the hoverColors nor focusColors tests suggest
the boldness of the text matters.

Part of port away from Q_FOREACH.

Change-Id: I9a928de4e781b96ad00a8c9515977c35ebfa6c24
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-08-17 08:58:50 +00:00
Marc Mutz
3d39c66369 QColor: remove unused qt_get_rgb_val()
Defined out-of-line, not exported, not used anywhere in QtGui,
so it can be removed.

Change-Id: Ib049bad7d02e5412c063965cd81c8d95e1c1c183
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-08-17 08:58:42 +00:00
Friedemann Kleint
02a03e52f7 QCocoaFileIconEngine: Add icon size 256
Change-Id: Ib36025f802404f74f6ce5494f3858dfe0e283004
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
2016-08-17 04:44:15 +00:00
Jake Petroules
5264ddf1e0 xcodebuild.mk: forward INSTALL_ROOT from make to xcodebuild
This allows overriding the INSTALL_ROOT with the Xcode generator.

Change-Id: Ifb894bdbf9764918f76428fb32d9af68914853f6
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2016-08-16 21:22:20 +00:00
Jake Petroules
f1f767da92 Don't build the tests which require helpers on UIKit platforms
These tests use helpers, which are not supported on UIKit platforms.

Change-Id: I51447754dba2cd2547be05c3767e4ff3b6b5a671
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-08-16 21:22:15 +00:00
Jake Petroules
e708d63e18 Don't build the complexpingpong example on UIKit platforms
This example uses QProcess which is not available on UIKit platforms.

Change-Id: I126d20369ccf307579a60956de7769e92e17548a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-08-16 21:22:10 +00:00
Jake Petroules
dee35b5a78 xcodebuild.mk: explicitly specify the Xcode project to build
This fixes the examples build on UIKit platforms in
examples/dbus/pingpong where there are two Xcode projects and the build
therefore cannot disambiguate between the two.

Change-Id: Ic8b808c1ddf3565bb9861a487eab6854ec177184
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2016-08-16 21:22:05 +00:00
Anton Kudryavtsev
8617ce5c88 Use QStringRef() more, exploiting its new ::chop()
Change-Id: Id2201639be604b9a32b2dc5d21e675a961bee477
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-08-16 20:08:31 +00:00
Marc Mutz
1e4ba2b4e5 Don't hold MakefileGenerator::Compiler in QList
MakefileGenerater::Compiler is larger than a void*, so holding
it in QList is horribly inefficient.

Fix by using QVector instead.

Change-Id: I9ea173271caf9b4995d311c3864c6967da049380
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-08-16 17:09:12 +00:00
Marc Mutz
839bab1355 qmake: don't hold VCFilter in QList
Change-Id: Ib10539187e0c8e4ffa2000dcad75715a7b931701
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-08-16 17:09:07 +00:00
Marc Mutz
e7b6cc2700 qmake: remove pointless ~VCProjectSingleConfig()
It's empty, but non-trivial, thus preventing move special member
functions from being generated by the compiler (now that qmake
is compiled as C++11, too).

The default ctor was also empty - removed, too.

Change-Id: I714db524f681f1fc250d21926245757e97351e87
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-08-16 17:09:03 +00:00
Marc Mutz
aa11287a27 qmake: mark VCProjectSingleConfig as movable
Has a few too many fields for defining a member-swap
(which would be required to mark it shared).

Change-Id: Iecbeec9e60a9884cb4a984c58cb192918cef799d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-08-16 17:08:59 +00:00
Friedemann Kleint
ff00b2efbd Add " We mean it" comment to qdeadlinetimer_p.h
Fix warning:
QtCore: WARNING: qtbase/src/corelib/kernel/qdeadlinetimer_p.h does not have the "We mean it." warning

Amends change 12eacc3bab

Change-Id: Ibb8fd25cee0249380996ae271200055e131d359b
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-08-16 15:46:20 +00:00
Eskil Abrahamsen Blomfeldt
365a65da70 Remove special case for color fonts from Freetype font engine
When adding color font support to the Freetype engine, we added
a special case to some functions based on the assumption that
color fonts do not contain the latin alphabet. The reason for
the assumption is that color fonts are currently most popular
for emojis and the most popular ones on Linux did not contain
the latin alphabet. But there is nothing special about color
fonts making them less likely to contain latin characters
than other fonts especially made for non-latin writing systems.

If we want an additional fallback when the x character is
not available, this should be implemented for all font engines
and font types.

Change-Id: I1c4aa28d49c38ba7a416c1cae50a1d1c09cbda41
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: jian liang <jianliang79@gmail.com>
2016-08-16 12:47:06 +00:00
Allan Sandfeld Jensen
5def42f783 Fix alpha from qfontengine_ft to fit qdrawhelper expectations
The short-cuts in qdrawhelper's qt_alphargbblit_argb32 expects the
alpha value of the A32 glyphs to be 0xff.

Since the alpha value is not otherwise used, set it to that.

The reported image format is also changed to RGB32, matching
coretext and windows fontengines, and expected by the OpenGL
paintengine.

Change-Id: I0873156d716566f7f1634249155b6c9983a3d0de
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2016-08-16 11:50:34 +00:00
Giuseppe D'Angelo
8dc45d5b7c Deprecate Q(Persistent)ModelIndex::child
Due to how invalid model indices are handled in Qt, child() is unsuitable
for general purpose usage. In particular you can never get a top level
item in the model because the root model index by definition hasn't got
a pointer to the model it belongs.

That makes child() useless for anything but tree models (and even there
you'd need to special case your code anyhow).

[ChangeLog][QtCore][QModelIndex] QModelIndex::child has
been deprecated due to its lack of generality.
Use model->index(row, column, index) instead.

[ChangeLog][QtCore][QPersistentModelIndex] QPersistentModelIndex::child has
been deprecated due to its lack of generality.
Use model->index(row, column, index) instead.

Change-Id: Ice73c17133aaf71355fa2af1eacfe64da01bd456
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
Reviewed-by: David Faure <david.faure@kdab.com>
2016-08-16 11:07:03 +00:00
Liang Qi
17198e03ab Merge remote-tracking branch 'origin/5.7' into dev
Conflicts:
	qmake/doc/src/qmake-manual.qdoc
	src/corelib/global/qglobal.cpp
	src/corelib/tools/qstring.cpp
	src/network/socket/qabstractsocket.cpp
	src/network/socket/qnativesocketengine_unix.cpp
	src/plugins/platforms/eglfs/api/qeglfsglobal.h

Change-Id: Id5dfdbd30fa996f9b4b66a0b030b7d3b8c0ef288
2016-08-16 07:58:32 +02:00
Marc Mutz
b23fb2f07f qmake: Mark MakefileGenerator::Compiler as Q_MOVABLE_TYPE
Change-Id: I6469ffe3027c8519e80b71f5014f7bd9474e836b
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-08-15 22:16:59 +00:00
Marc Mutz
d153a0534e qmake: remove pointless ~VCConfiguration()
It's empty, but non-trivial, thus preventing move special member
functions from being generated by the compiler (now that qmake
is compiled as C++11, too).

Change-Id: I7e4b6d7f604020dd5e6da81f7a046202c8b78e09
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-08-15 22:16:28 +00:00
Marc Mutz
fae988e449 qmake: remove pointless ~VCFilter()
It's empty, but non-trivial, thus preventing move special member
functions from being generated by the compiler (now that qmake
is compiled as C++11, too).

Change-Id: I9431311d24da802f147ce10e475936838bb85d41
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-08-15 22:16:24 +00:00
Marc Mutz
aeea30ebba qmake: replace a uint:1 with a bool
It doesn't save any memory, generates worse code, and
prevents a member-swap from being added.

Change-Id: Iddc0f1338478e465f34076857e266f1912fbaba6
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-08-15 22:16:09 +00:00
Konstantin Tokarev
ac1e87d9f3 Added capHeight() to QRawFont and QFontMetrics(F)
Cap height is an important metric of font, in particular it is
required to make decent implementation of "initial-letter"
CSS property in QtWebKit.

Note that some fonts lack cap height metadata, so we need to
fall back to measuring H letter height.

Change-Id: Icf69d92159d070889085e20d31f2e397d796d940
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2016-08-15 18:27:06 +00:00
J-P Nurmi
2e2b32a9ab QGtk3Dialog::show(): add missing null-check to avoid warnings
Or else QObject::connect() warns about 'invalid null parameter' when
showing parentless dialogs.

Task-number: QTBUG-55298
Change-Id: I39b1dfc81e5da0c793c86cff763f946db15c13ae
Reviewed-by: Dmitry Shachnev <mitya57@gmail.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2016-08-15 17:27:51 +00:00
Marc Mutz
869513a49f tst_QRegularExpression: clean up
- port Q_FOREACH to C++11 range-for
  (incl. one case of iterating over QHash::keys())
- port uses of inefficient QLists to QVector
- add Q_DECLARE_TYPEINFO for types held in Qt containers

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

Change-Id: I30eb432528fa3008240b5c217d5f2f9ddc3679be
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2016-08-15 17:20:20 +00:00
Marc Mutz
6e2af81daf QMetaType: clean up #ifdefs
We require Q_COMPILER_VARIADIC_TEMPLATES since Qt 5.7,
so remove the non-variadic version which anyway has
zero test coverage.

Change-Id: I24dd22a798e11d797238f9209312802d1d84a672
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-08-15 16:56:01 +00:00
Marc Mutz
7b5d14c699 QFactoryLoader: clean up #ifdefs
We require Q_COMPILER_RVALUE_REFS (implicitly used, but not explicitly
checked for) and Q_COMPILER_VARIADIC_TEMPLATES since Qt 5.7, so remove
the non-variadic version which anyway has zero test coverage.

Change-Id: Ie3658ff6ae71a66df9d35100c3d6df41f2326c80
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-08-15 16:55:58 +00:00
Marc Mutz
2889ebc903 QSharedPointer: clean up #ifdefs
We require Q_COMPILER_RVALUE_REFS and _VARIADIC_TEMPLATES since Qt 5.7,
so remove the non-variadic version which anyway has zero test coverage.

Also drop #include <utility>, as that is included from qglobal.h already,
and drop QSKIP from test.

Change-Id: I1fc7f7068eac80ad6fd85e1d8f6d33c5c7bb67db
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-08-15 16:55:45 +00:00
Andy Nichols
ff57203b57 Move QTriangulator and QTriangulatingStroker classes to painting
Previously the private APIs for QTriangulator and QTriangulatingStroker
were located in src/gui/opengl because they were used by the OpenGL
paint engine.  These API's are not actually specific to OpenGL however,
and were not being built when QT_NO_OPENGL was defined.  It makes more
sense for these classes to belong in the painting subgroup.

Aside from the OpenGL paint engine, these private APIs are used by
QtLocation to triangulate polylines to be rendered by QtQuick.

Change-Id: Idb4d1e5b2a51394d4c6bcdf9ab1ece99de23d4de
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2016-08-15 13:51:53 +00:00
Simon Hausmann
6cc02ce6c8 Fix qmldir copying in debug and release builds on Windows
In a parallel build we may end up copying the qmldir file at the same
time, which doesn't work on Windows due to file locking. Apply the same
guard for the copying condition as in commit
770a0c91f3.

Change-Id: Ia34395e8654acf192b94e7ea6d0137730e4ea027
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-08-15 13:23:15 +00:00
Allan Sandfeld Jensen
131eee5cd7 Avoid synthesizing stretch on condensed font families
If an entire font family is condensed or stretched and we match by
family name, the default stretch factor of 100 will make the font
engine try to synthesize it back to medium stretched font.

The existing code is already made to deal with a stretch of 0 that is
no longer used. This patch reintroduces 0 stretch to indicate no
specific stretch has been requested. Specifically setting stretch to
100 on a QFont will introduce the old behavior.

[ChangeLog][QtGui][QFont] The default value of QFont::stretch() is
now 0 to indicate any default stretch is acceptable.

Task-number: QTBUG-48043
Change-Id: I574747f980fd4f9893df828818aae99a07b41623
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2016-08-15 11:39:44 +00:00
Morten Johan Sørvig
a5e8900544 Cocoa: Make qt_mac_toCGImageMask be self contained
Remove qt_mac_deleteImage and qt_mac_toCGImageMask
which are not used elsewhere.

Change-Id: Idd3177d4c521eea318b58dc664efe6907896d022
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
2016-08-15 11:28:28 +00:00
Timur Pocheptsov
bdc16cce79 HTTP/2 - fix QT_NO_SSL build
Recently enabled cleartext fails to build with QT_NO_SSL - fix
test and QNAM.

Change-Id: I467edab8e4eb5113715ad2d3b3022e0d8c027de8
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2016-08-15 07:59:32 +00:00
Thiago Macieira
12eacc3bab Long live QDeadlineTimer
It's like QElapsedTimer, but marks a time in the future instead.

[ChangeLog][QtCore] Added QDeadlineTimer, a counterpart to
QElapsedTimer, used to mark a time point in the future (a deadline) and
determine whether such a deadline has passed.

Change-Id: Ifea6e497f11a461db432ffff144921f7fbc1d1d3
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-08-15 03:07:16 +00:00
J-P Nurmi
906fc0f5e3 Add Q_DECLARE_OPERATORS_FOR_FLAGS(QStandardPaths::LocateOptions)
QStandardPaths::LocateOptions was declared with Q_DECLARE_FLAGS(),
but missing Q_DECLARE_OPERATORS_FOR_FLAGS().

Change-Id: Id4ab1b1c86cdc9e79fb324d9b9d4d8deb659f718
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2016-08-14 18:43:48 +00:00
J-P Nurmi
af87bf4b14 Register QStandardPaths enums & flags
This allows QML StandardPaths to use the same enums without having to
duplicate them.

Change-Id: Ibfc63a97a8ba31e5c4dc11e3e8fee9d753087c54
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2016-08-14 12:41:49 +00:00
Marc Mutz
dbea509223 AtSpiAdaptor: eradicate Q_FOREACH
In getActions(), simplify the code some more.

Change-Id: I93699d09f701959a4206f84becfb80d4d2a1d410
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2016-08-13 17:15:00 +00:00
Marc Mutz
d08db11008 Remove last uses of Java-style (non-mutable) iterators from QtBase
Change-Id: I7531ffd4f2d5b2193bb6231c743ff0a074618b99
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-08-13 17:14:56 +00:00
Kai Koehne
63d24a746d Copy qmldir file even for prefix builds
The qmldir file is needed in the build dir for non-installed
static builds, so that qmlimportscanner can work.

Change-Id: I9028db6d1e36da5a2be9b0c1ba4c9d475edd5cb5
Task-number: QTBUG-53926
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-08-13 11:26:40 +00:00
Marc Mutz
9c016cefe9 QFuture(Interface): remove unneeded special member functions
The compiler-generated ones are just fine.

This is BC because the class is not exported and
QFutureInterfaceBase (needlessly) contains virtual
functions (the dtor), so this class will never be
trivially copyable. It's also not movable, until I
figure out how to add move special member functions
to QFutureInterfaceBase.

Also made the QFutureInterface(State) constructor
explicit, because a State is not a faithful
representation of a QFutureInterface.

Change-Id: Ifa44f87b41c4ee3c5167c282512ec4860075671d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-08-13 05:34:51 +00:00
Liang Qi
6b8f422c5e Merge remote-tracking branch 'origin/5.6' into 5.7
Conflicts:
	src/corelib/global/qglobal.cpp
	src/corelib/io/qsettings.cpp
	src/corelib/itemmodels/qstringlistmodel.cpp
	tests/auto/gui/image/qimagewriter/tst_qimagewriter.cpp

Change-Id: I1c6c306ef42c3c0234b19907914b19da706b4a03
2016-08-13 01:05:02 +02:00
Allan Sandfeld Jensen
fcd3c11945 Improve vectorized bound calculations
Adds a proper bound calculation to vectorized rotated sampling to avoid
checking inside the loop, and fixes the existing bounds check to use
the incrementor fdx instead the float value it was calculated from
which may cause different rounding.

Change-Id: I5226926a142573c026db5504414204b6ee8dd8a7
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2016-08-12 22:27:17 +00:00
Oswald Buddenhagen
4a1bafcc4e get rid of test type 'shell'
it's bound to the bourne shell, which is not readily available on
windows hosts.

on the way, the pch, fvisibility, and bsymbolic_functions tests were
rewritten as regular compile tests. they now just verify that qmake's
built-in support for the tested features actually works.

Change-Id: Ibac246f21b5ececa40da3f576dc789982eaf9fdf
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2016-08-12 22:04:50 +00:00
Oswald Buddenhagen
ce50eb4a73 nuke forgotten orphaned test (xkb)
d520c825f already mentioned it, but failed to actually remove it.

Change-Id: I3aef8f057baad1c1c66aab8b3e5c4e879a544834
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-08-12 22:04:07 +00:00
Lars Knoll
deeb9f7fde Remove dead code relating to largefile
We set CONFIG+=largefile directly from configure, and there is never
a largefile feature in QT_CONFIG.

Change-Id: I3518c749d674529b272685b6ed6c738e48ee5cd7
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2016-08-12 22:03:57 +00:00
Oswald Buddenhagen
a60b0d5b12 remove left over debug message
Change-Id: I2750e9561c006e7e9dae569af0e1c9095cb1b8f7
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-08-12 22:03:33 +00:00
Oswald Buddenhagen
2b31f47098 rename the -redo status file to config.opt
configure.cache is really kinda misleading.

the old name is still recognized for backwards compat.

Change-Id: I5ca461e99a0f9336ad70adfa5b8f6bb81ad73bbb
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-08-12 22:03:05 +00:00
Shawn Rutledge
d04982dc84 QTest::QTouchEventSequence: add a sleep before each touch movement
In any code (such as QtQuick Flickable) which calculates velocity as
distance / time, it's unrealistic to simulate instantaneous touchpoint
movements.  So, force a slight delay before each event, so that
the touchpoint can only move very fast, but not infinitely fast.
We use qSleep() rather than qWait() because qWait() has a minimum
qSleep(10), and also processes events.  commit() also conditionally
calls processEvents(), and we don't want to make that unconditional.

Change-Id: I3cee890f8951d7ecb8837a6abe216c5a8e0a6e34
Reviewed-by: Liang Qi <liang.qi@qt.io>
2016-08-12 19:03:33 +00:00
Oswald Buddenhagen
2d83e28f08 remove redundant LIBS += -lGAL
it's part of the egl libs.

Change-Id: Id41909f2e1cc5a6a1a22a49d4bf24da43e69a417
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2016-08-12 14:48:46 +00:00
Alessandro Portale
d9e66f63a9 Updated Qt logo for the "About Qt" dialog
The Qt logo has changed (see http://brand.qt.io/ ) but it had not been
updated in the QMessageBox::aboutQt dialog, yet.

Task-number: QTBUG-55137
Change-Id: I81431e44efe65f576e62b92214aa835b82675d00
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2016-08-12 13:51:27 +00:00