Shane Kearns [Mon, 30 Jan 2012 14:14:04 +0000 (14:14 +0000)]
Fix tst_QSslCertificate::toText on windows
Open the comparison file as text mode, so that it does not differ from
the dumped certificate in CRLF vs LF line endings.
Change-Id: I54d6ea6e37044059e89e762435657ebf5fa6cb39
Reviewed-by: Richard J. Moore <rich@kde.org>
Shane Kearns [Fri, 27 Jan 2012 16:49:00 +0000 (16:49 +0000)]
Fix link error in QSslSocket auto test
This has been broken for months, but invisible because the code causing
the link error is unreachable (due to QSKIP). So the link error only
occurs in debug builds with -O0.
Change-Id: I6093a7803bedf37bfc8c2d9ff0b28b2309b57959
Reviewed-by: Richard J. Moore <rich@kde.org>
Lars Knoll [Mon, 30 Jan 2012 13:37:36 +0000 (14:37 +0100)]
Add a null pointer check to QJsonObject::toVariantMap
If the object is null, simply return an empty variant map.
Added another test case checking conversion from QJsonArray
to a QVariantList.
Change-Id: Ieccd163e76630f7db7f41255acd9d1baf66bb38d
Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
Reviewed-by: Kevin Simons <kevin.simons@nokia.com>
Lars Knoll [Thu, 26 Jan 2012 11:12:44 +0000 (12:12 +0100)]
Add the missing test file and give it a proper name.
Change-Id: Icb9bc2aab99d52b5ffbd6153ce94d64a494330d8
Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
Xizhi Zhu [Mon, 23 Jan 2012 20:21:40 +0000 (21:21 +0100)]
Remove Symbian specific code from QtCore.
Change-Id: I131303e28a12dccb96de3de4ca0073b389a9bbae
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Xizhi Zhu [Mon, 23 Jan 2012 18:03:09 +0000 (19:03 +0100)]
Remove Symbian specific code in platformsupport.
Change-Id: I5f06f80ae47b2c9fcd93832c23a453a9193e6120
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Xizhi Zhu [Mon, 23 Jan 2012 18:02:06 +0000 (19:02 +0100)]
Remove reference to Symbian in printsupport.
Change-Id: I63b3559cd9ec620d76a177f57096dd8d38ef834c
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Xizhi Zhu [Mon, 23 Jan 2012 17:33:22 +0000 (18:33 +0100)]
Remove Symbian code from tools.
Change-Id: Id9d7b2b4f6bc8b558f92bc09b7956c49e5a3752a
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Kent Hansen [Fri, 27 Jan 2012 13:28:20 +0000 (14:28 +0100)]
Remove type id/name conversion for QVariant::UserType
QVariant::UserType does not correspond to an actual type named
"UserType". This logic didn't make sense.
Change-Id: I369911e514f7902fc863cb05174011d6fc15c447
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Jason McDonald [Mon, 16 Jan 2012 05:32:14 +0000 (15:32 +1000)]
Remove pass/fail/skip count getters from QTestResult.
These functions are no longer used, as the counters have been moved to
QTestLog.
Change-Id: I7cd13fc92a18920706fcc712804c304f9c333969
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Jason McDonald [Tue, 24 Jan 2012 07:03:14 +0000 (17:03 +1000)]
Avoid non-standard indentation of license headers.
The strange indentation has made maintenance of license headers
difficult on several occasions.
Change-Id: Ib29a7e5275e2c7a2c13a3f32fd2479f34d3353ca
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Friedemann Kleint [Fri, 27 Jan 2012 13:09:36 +0000 (14:09 +0100)]
Add native event filters to Windows, forward to Widgets.
Use prototypically for qwizard_win.cpp.
Change-Id: I075e81ae1bc3d62d9f27e51c73c800ffd71cbcd6
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Richard Moore [Sat, 28 Jan 2012 13:41:20 +0000 (13:41 +0000)]
Make the pause modes a QFlags.
The intention is to add additional pause modes over time, this will
be easier if we can just test if a particular reason for pausing is
turned on. If we don't do this we'll end up having to check for each
enum value every time we check what is enabled.
Change-Id: I6b08f0e819b5593e3f6463c3dd175eff8625e155
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Reviewed-by: Shane Kearns <ext-shane.2.kearns@nokia.com>
Jeremy Lainé [Mon, 23 Jan 2012 17:25:39 +0000 (18:25 +0100)]
Add support for DNS lookups using native APIs
The QDnsLookup class provides asynchronous APIs for performing
DNS lookups. For now, the following lookups are supported:
- A and AAAA
- CNAME as defined per RFC 1035
- MX as defined per RFC 1035
- NS as defined per RFC 1035
- PTR as defined per RFC 1035
- SRV as defined per RFC 2782
- TXT as defined per RFC 1035
Task-number: QTBUG-10481
Change-Id: I46c1741ec23615863eeca3a1231d5e3f8942495e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Stephen Kelly [Fri, 27 Jan 2012 02:33:13 +0000 (03:33 +0100)]
Change the type key for delegate editors to int.
Previous type of QVariant::Type does not allow for custom types.
While technically source incompatible I found no re-implementation
of this class in qttools or qt-creator (most likely to use it for
property editors). The virtual methods are not needed because
registerEditor is all the API that is really needed.
Task-number: QTBUG-1065
Change-Id: I2a9c578c444a80359416f2224a0ee03903bfe779
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Stephen Kelly [Tue, 24 Jan 2012 16:29:20 +0000 (17:29 +0100)]
Add the QAbstractItemModel::canDropMimeData method.
Can be used by views to indicate whether a drop is allowed (eg
adequete permissions in a filesystem model).
Change-Id: Iefedb5399e44c8edc5f5df1403c8d5c0da618612
Reviewed-by: Peter Penz <peter.penz19@gmail.com>
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Gunnar Sletta [Thu, 26 Jan 2012 10:15:02 +0000 (11:15 +0100)]
Don't crash when source or target is null
Change-Id: I4992867ad764bd1bd175478c6be1094ca8a72812
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
David Faure [Sun, 29 Jan 2012 18:15:04 +0000 (19:15 +0100)]
Fix compilation of Qt apps with -Wshadow -Werror
qstring.h:648:70: error: declaration of ‘size’ shadows a member of 'this'
Change-Id: I96d2a5b1201b53b11d23bf194b89fa8967b9e25d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Oswald Buddenhagen [Thu, 26 Jan 2012 18:50:15 +0000 (19:50 +0100)]
fix bash-ism
Change-Id: Ibc560b2cc57e30f3f966bb939b356d6eb0762ec8
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Oswald Buddenhagen [Thu, 26 Jan 2012 17:43:06 +0000 (18:43 +0100)]
Remove dead code from the configures
This removes the options to disable several modules, as they are in
separate repositories now and can be "disabled" by simply not compiling
them.
Note that this leaves some configuration options for these separate
modules in, as they have no own configures. This is ugly, but has to
stay that way for the time being.
Some other dead code had to go as well, just like accepting the obsolete
-qdbus option.
Change-Id: Ibb26e4f48ca8239c2c4396e4abefab4c87322be2
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Jonas Gastal [Sat, 28 Jan 2012 19:01:40 +0000 (17:01 -0200)]
Removing Qt5 note that would break SC.
This would be a silent behaviour change and is not particularly needed.
Change-Id: Iee1e48408e605d671dfe0402880df3c93a14a8c7
Reviewed-by: David Faure <faure@kde.org>
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Pierre Rossi [Wed, 16 Nov 2011 15:48:40 +0000 (16:48 +0100)]
Prettify the plastique style's slider thumb.
the bottom corners shouldn't be filled.
Change-Id: I8be1c7a712225fe101b775ea04a8c2fc29e4e9da
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Jens Bache-Wiig
Thorbjørn Lund Martsum [Wed, 18 Jan 2012 14:34:06 +0000 (15:34 +0100)]
QHeaderView - length returns wrong value fix
setSectionHidden called with (logindex, true) will
sometimes prevent a (correct) call to
resizeSection(logicalIndex, 0).
This seems a bit odd - however it does execute
d->doDelayedResizeSections().
Therefore the section is going to be hidden later.
However it is a problem that the length meanwhile is wrong.
(That is a value that is not the sum of the sections)
This is fixed by execute updates before returning the
length.
Task-number: QTBUG-14242
Change-Id: Ia1d2f6db3213792b250a6a37942b56554261cd3a
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Jason McDonald [Tue, 24 Jan 2012 06:17:24 +0000 (16:17 +1000)]
Remove "All rights reserved" line from license headers.
As in the past, to avoid rewriting various autotests that contain
line-number information, an extra blank line has been inserted at the
end of the license text to ensure that this commit does not change the
total number of lines in the license header.
Change-Id: I311e001373776812699d6efc045b5f742890c689
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Jason McDonald [Fri, 13 Jan 2012 03:26:04 +0000 (13:26 +1000)]
Eliminate QTestResult::ignoreMessage().
The removed function was just a wrapper around QTestLog::ignoreMessage()
and was only called twice (once in qtestcase.cpp and once in
qtdeclarative). Better to just call the desired function directly and
avoid the indirection.
Change-Id: Ib900f35f5d584e8f323cef9b0e7b4f8a507c199e
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Jędrzej Nowacki [Fri, 27 Jan 2012 12:22:36 +0000 (13:22 +0100)]
Get rid of QColorGroup from QVariant.
The type was removed long time ago. It has type id 63 which currently
is unbound, but potentially can be reused in future.
Change-Id: I099997c9bae93ce52ba8c46275d6267c25dee4ca
Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Shane Kearns [Tue, 17 Jan 2012 19:51:39 +0000 (19:51 +0000)]
Fix BC break with QAbstractFileEngine "mount points"
File system cached metadata can't be trusted when custom file engines
are in use, because the custom file engine may want to override the
metadata. (e.g. present an archive file as a directory)
Therefore, check if a file engine should be instantiated for each
result in QDirIterator. This is a fast check if no custom file engines
are registered.
When pushing a directory (using QDirIterator::SubDirectories) the
file engine needs to be instantiated also.
Task-number: QTBUG-23688
Task-number: ou1cimx1#965023
Change-Id: I0114c8df6258535553783a2486131c4194926649
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
(cherry picked from
3864ad09d578210b52e5f58fca2ee8a1144f5be2)
Jędrzej Nowacki [Thu, 26 Jan 2012 11:20:06 +0000 (12:20 +0100)]
Fix compilation warnings on MSVC.
Q_STATIC_ASSERT as condition should accept anything cast-able to "bool".
Change-Id: Id76992080f9bb84d3a16b80adffc656d52eca91d
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
Jędrzej Nowacki [Tue, 24 Jan 2012 14:42:01 +0000 (15:42 +0100)]
Introduce QTypeInfo::sizeOf.
In QMetaType "void" is a regular type, lack of c++ sizeof operator
force us to write a template specialization for the type.
Change-Id: I9a56e135223b416b8031836d29ef33ef3fb750e4
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Jędrzej Nowacki [Mon, 23 Jan 2012 15:34:50 +0000 (16:34 +0100)]
Fix null pointer call in QMetaType::destruct().
Logic has a flow causing null pointer call during destruction of an
instance of a custom type in bootstrap mode.
The patch doesn't include autotests, because we do not test bootstrap
mode.
Change-Id: Ie70c6f4226cb604f094513621d96a560e84502d7
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Jan Arne Petersen [Fri, 27 Jan 2012 12:07:48 +0000 (13:07 +0100)]
Use per session socket to connect to maliit server
In newer versions of maliit a per session abstract socket for
communication between maliit server and input contexts is used. The
address is published over the D-Bus session bus as address property in
the org.maliit.Server.Address interface of the
/org/maliit/server/address object at the org.maliit.server service.
Fallback to old socket when org.maliit.server service is not available.
Task-number: QTBUG-22982
Change-Id: I1b2cdd0c804d3d625e18b4958dd60008ea289d91
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Kent Hansen [Fri, 27 Jan 2012 13:04:12 +0000 (14:04 +0100)]
Get rid of checks for Qt3 types
These types don't exist anymore, so it's pointless to check for them.
Also remove the dead types from uic's type-to-header map.
Change-Id: I7f0af5c337859f3da1c103157a802bbe5372df9f
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Olivier Goffart [Thu, 15 Dec 2011 05:57:17 +0000 (06:57 +0100)]
Call connectNotify when connecting with function pointer
Some objects expect connectNotify to be called in order the signal to be
emitted.
Change-Id: Id0460d9c2aef8f9c3618a2b62b2119a790e06f30
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Thiago Macieira [Sun, 31 Jul 2011 22:33:54 +0000 (19:33 -0300)]
Add a set of atomics based on C++11's std::atomic
The C++11 std::atomic type is very close to our API, to the point one
has to wonder if the committe was inspired by it. It provides all of
the memory semantics that Qt requires and more, plus some
compare-and-swap operations that we don't use.
The idea of returning the actual value in the event of a failed
compare-and-swap is actually quite good, as often we'll retry with
it. We just couldn't come up with a good name (fetchAndTestAndSet?).
The C++11 atomics require that the compiler support constexpr as well,
since std::atomic itself isn't required by the standard to be
trivially-constructible (in fact, it has a constexpr constructor in
the standard). For that reason, we need constexpr so we can add a
constructor to QBasicAtomic too.
Change-Id: I12c51455ba73350a6f7501aacc2ca7681c4369dd
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Thiago Macieira [Sun, 31 Jul 2011 22:22:18 +0000 (19:22 -0300)]
Add a set of atomics based on GCC intrinsics
With this implementation, we can have Qt run on any architecture that
GCC supports without having to write specialised code. However, on
some architectures, the code that GCC generates is not optimal: it
uses locking on ARMv5 and it's always fully-ordered. For that reason,
it appears after the Qt native assembly implementations (it's a
fallback, not an override).
Since they all have fully-ordered memory semantics, we define only the
xxxRelaxed functions. The exception is __sync_lock_and_test, which has
acquire semantics, so we need to define the Release and Ordered
versions too.
On some architectures, GCC can support atomics on types different than
32-bit and pointer-sized (like x86, x86-64, ARM and even
MIPS). However, there's no standardised way of telling: GCC seems to
define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2,4,8} if those operations
are present, but I couldn't find it on the ARM compiler (it was there
for i386, x86-64, IA-64 and MIPS).
Change-Id: I55ff7a7c0cfc6388b7ad8e2c0dedecffdf2a3e01
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Liang Qi [Fri, 13 Jan 2012 09:57:26 +0000 (10:57 +0100)]
Put the generated <module>version.h into build tree
It was put in source tree before.
Task-number: QTBUG-20439
Change-Id: Ib52d9c2e83ae375aad259ddc74138bbc728b3ed0
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Jonas M. Gastal [Thu, 26 Jan 2012 19:19:18 +0000 (17:19 -0200)]
Making socketOption/setSocketOption virtual on QSslSocket.
Per ### Qt5 comment and the fact that it was already virtual on
QAbstractSocket.
Change-Id: If2d2b2f9cdec1ef4c5bf625e3ce0d6f2d9a7bdfd
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Jędrzej Nowacki [Fri, 27 Jan 2012 13:06:53 +0000 (14:06 +0100)]
Code cleanup, remove QVariant::nameToType usage.
It is better to use QMetaType::type because it works well with custom
types too.
Change-Id: I30bc70d16b2aad4ba22682de1c215b917e64209b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Erik Verbruggen [Thu, 26 Jan 2012 10:19:17 +0000 (11:19 +0100)]
Do not suppress tr() methods when QT_NO_META_MACROS is defined.
The tr() methods are unrelated to the "meta" part, so disabling them
with that macro is not the proper way. They were originally included to
make static checks for string translation simpler, but it just results
in duplicating the definition every time QT_NO_META_MACROS is used.
Change-Id: I29eb9b83a09e1fd6c66c85c9e4ff23d8dbe65f15
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
David Faure [Thu, 26 Jan 2012 00:57:59 +0000 (01:57 +0100)]
QUrl: deprecate setEncodedUrl() and fromEncoded(), add url().
setEncodedUrl() isn't necessary anymore now that setUrl can handle
encoded (and partially encoded) urls.
url() is added for symmetry with setUrl().
Change-Id: I4e671482a5635a86797421ca50882db9cd60d852
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
David Faure [Wed, 25 Jan 2012 18:54:20 +0000 (19:54 +0100)]
QUrl: use partially-decoded data in toString and QUrl(QString)
This fixes round-trip bugs. People expect to be able to do
QUrl u(...); QString s = u.toString(); QUrl u2(s); and have u==u2.
This was not true for paths containing a '#', for instance, which would
be parsed back as a fragment. The solution is to make toString output
partially decoded data (more readable than toEncoded, but not decoded
to the point of changing the meaning, if parsing it back later as a
QUrl), and to make the QUrl constructor work with partially decoded data.
Change-Id: I013c01e8947d538435f3c20fc4ec57cd9ccbba6c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Jani Uusi-Rantala [Sat, 28 Jan 2012 07:58:16 +0000 (09:58 +0200)]
Fix compilation problem in qjsonvalue.h
Extra ; after namespace was causing build failures with -pedantic.
Change-Id: I340252810a04815820964c625377a1dc0635783f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Denis Dzyubenko [Fri, 27 Jan 2012 11:57:46 +0000 (12:57 +0100)]
Fixed includes in public headers
Change-Id: I360c94d41691a618f1bec97da8317c9dcee658c0
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Denis Dzyubenko [Wed, 4 Jan 2012 13:34:39 +0000 (14:34 +0100)]
Added $publicclassregexp variable to sync.profile
$publicclassregexp specifies the prefix for Qt classes in a qt5 module. For example
in QtJsonDb all classes have "JsonDb" prefix and forward include headers were
not generated properly - e.g. "jsondb-client.h" was generated in the include
folder, but "JsonDbClient" (which matches class name) was not.
Change-Id: I6b57a799d926254e2ab3fd00fa6e38f95b8eb96c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Reviewed-by: Prasanth Ullattil <prasanth.ullattil@nokia.com>
Giuseppe D'Angelo [Wed, 25 Jan 2012 22:12:43 +0000 (22:12 +0000)]
QHash benchmark: improve Java's hash
Added a bit of documentation to the Java-like hashing function.
Change-Id: I3f44eee305d91b76f0f89cd1acf21f6430b9482b
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Giuseppe D'Angelo [Wed, 25 Jan 2012 21:43:28 +0000 (21:43 +0000)]
QHash benchmark: remove unused variables
Change-Id: Ib5abc171fb8fb70e2f73ac92ca22dc09146d8a55
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Mark Brand [Wed, 6 Jul 2011 08:58:56 +0000 (10:58 +0200)]
improvements to ModifiedRow
-remove unnecessary explicit copy constructor
-explicitly inline constructor
-more convenient initialization
Change-Id: I78b275ef9d5413f95278a044345e42303dc35624
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
Mark Brand [Wed, 6 Jul 2011 15:08:50 +0000 (17:08 +0200)]
use nameToIndex() instead of duplicating code
Change-Id: If55541aa8a2345f90984d8b82bee0c3ebb01a605
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
Mark Brand [Wed, 6 Jul 2011 07:50:37 +0000 (09:50 +0200)]
fix identation and style
Change-Id: I18e9e752e8dc0cf980f424264f274177b98a98be
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Friedemann Kleint [Thu, 26 Jan 2012 10:01:13 +0000 (11:01 +0100)]
QSizeGrip: Fix Windows.
Reactivate the old Windows code.
Change-Id: Ied467cf83d89c76a0fa8edf3c76bb207cc2a70e0
Reviewed-by: Oliver Wolff <oliver.wolff@nokia.com>
Friedemann Kleint [Thu, 26 Jan 2012 10:29:24 +0000 (11:29 +0100)]
Decouple QPlatformTheme from QDialog.
- Use an enumeration for the dialog type.
- Implemented on Windows and Mac
Reviewed-by: Morten Johan Sorvig <morten.sorvig@nokia.com>
Change-Id: I213748a08168efbabc2ac0106308e97ff19d19c0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Friedemann Kleint [Fri, 27 Jan 2012 10:21:13 +0000 (11:21 +0100)]
WindowsXP-Style: Draw on DC of backing store for widgets only.
- Check the device type pof the painter passed in.
- Introduce convenience functions for retrieving the DC for
widgets that default to the top level.
Change-Id: I18a8db02c8ffd7a249310a5ffaf3a530f0a3df40
Reviewed-by: Oliver Wolff <oliver.wolff@nokia.com>
Friedemann Kleint [Fri, 27 Jan 2012 13:49:02 +0000 (14:49 +0100)]
Windows: Fix exit crash related to deletion of platform screens.
Do not delete screens in the destructor as this might call
back to the Windows and use QWindowsContext.
Change-Id: I5e66e480d4b6ddb8b17cc92e4bef93013e336be6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Samuli Piippo [Thu, 26 Jan 2012 11:52:44 +0000 (12:52 +0100)]
Add concurrent to QT_CONFIG also on Windows
It was forgotten in
7c64ab4966e24834768eb1a09b3d2fd08471787a
Change-Id: I1ed9a60983f978d89615ae91c99f5c02ffe57f7c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Simon Hausmann [Fri, 27 Jan 2012 12:39:45 +0000 (13:39 +0100)]
Fix compilation of MeeGo/Maliit related code after Qt::ScreenOrientation API changes
Qt::UnknownOrientation is now Qt::PrimaryOrientation.
Change-Id: I2846a90bd11ecd1416c29b7bd861f180ccb129a1
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
Oswald Buddenhagen [Mon, 23 Jan 2012 15:08:39 +0000 (16:08 +0100)]
remove bogus comment
Change-Id: Ibd2d974ac46f80953f628e8d7c93e742e4c8eb23
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Oswald Buddenhagen [Mon, 23 Jan 2012 14:40:33 +0000 (15:40 +0100)]
delete handling of dead -base-dir argument
Change-Id: I4f69ea213f996f99d2ad8b00efbaf85882e59e27
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Oswald Buddenhagen [Tue, 10 Jan 2012 16:46:20 +0000 (17:46 +0100)]
update readme to current reality
Change-Id: I330702f197c8b558f0a00b90f5e147dbef731abd
Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Jonas M. Gastal [Wed, 11 Jan 2012 19:00:11 +0000 (17:00 -0200)]
Gives QNetworkCookieJar a virtual API.
QNetworkCookieJar now has the following virtual methods:
virtual bool validateCookie(QNetworkCookie &cookie);
virtual bool insertCookie(const QNetworkCookie &cookie, const QUrl &url);
virtual bool updateCookie(const QNetworkCookie &cookie);
virtual void deleteCookie(const QNetworkCookie &cookie);
Their implementation is such that the behavior the class previously
had(in memory storage of the cookies) is mantained.
Task-number: QTBUG-23145
Change-Id: I1420894d31e8072eca6903c3c7ffd6f06205a257
Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com>
Reviewed-by: Alexis Menard <alexis.menard@openbossa.org>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Shane Kearns <ext-shane.2.kearns@nokia.com>
Pekka Vuorela [Mon, 23 Jan 2012 11:09:14 +0000 (13:09 +0200)]
QWidgets to use QGuiApplication focus object change notifications
Moving away from deprecated QInputPanel inputItem.
Small behavioral changes:
- On focus proxy widgets, disabling WA_InputMethodEnabled on
proxy will no longer disable input method for proxy target.
- setEnabled(false) on proxy widget will no longer disable
input method for target as a special case.
Change-Id: Ifb5b7144d29bd3aefdde7cf4a0bd396db06e67e2
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
Pekka Vuorela [Fri, 20 Jan 2012 15:57:21 +0000 (17:57 +0200)]
QGuiApplication::focusObject() to replace QInputPanel::inputItem()
* Deprecated QInputPanel::inputWindow() which is already
just returning QGuiApplication::activeWindow()
* Deprecated QInputPanel::inputItem() and introduced
QGuiApplication::focusObject(). Input methods can check
input method support by Qt::ImEnabled query.
Change-Id: I70a9c1c3f79aadb75c839d0489a9428f7a221df5
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
Giuseppe D'Angelo [Mon, 23 Jan 2012 23:04:02 +0000 (23:04 +0000)]
QRegularExpression: infrastructure for importing PCRE in 3rdparty/
Added the necessary files for importing and compiling PCRE under
3rdparty/, including a small shell script to ease the import
and the update of PCRE from its dist tarball.
PCRE's config.h is used, but it is assumed that a global
s/HAVE_CONFIG_H/PCRE_HAVE_CONFIG_H/g
was run on PCRE source files to avoid polluting QtCore
compilation with -DHAVE_CONFIG_H (the aforementioned shell script
performs this substitution; therefore, -DPCRE_HAVE_CONFIG_H
is added instead to the compiler's command line).
Change-Id: Ic0f23526ebf5f770aefdffc8f688e5816c28fd8c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Samuel Rødal [Wed, 25 Jan 2012 17:27:50 +0000 (18:27 +0100)]
Fall back on glXChooseVisual() if glXChooseFBConfig() doesn't work.
Some older drivers don't fully support glXChooseFBConfig(). As a bonus,
fix some memory leaks here and there.
Task-number: QTBUG-21880
Change-Id: Ie306dee27f616927a6aa55fd71601569b828afcc
Reviewed-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Samuel Rødal [Thu, 26 Jan 2012 10:44:05 +0000 (11:44 +0100)]
Introduced QOpenGLContext::defaultFramebufferObject().
Also add some debugging helpers to make sure applications are correctly
written even on less restrictive platforms.
Change-Id: Ie92e497c32e07b2b83662f7ab5540d8f37777fd0
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Oswald Buddenhagen [Mon, 9 Jan 2012 19:20:00 +0000 (20:20 +0100)]
"cache" is used only locally, so move it into scope
Change-Id: I0ba45d5620a8e5a79fdc6a1854245a0bfcc489f0
Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Jędrzej Nowacki [Thu, 26 Jan 2012 15:54:43 +0000 (16:54 +0100)]
Remove qDBusNameToTypeId function.
The function is redundant and can be replaced by QMetaType::type().
Change-Id: I131a7fd285a60d8bd0f3b958668a43bd5da2d6c4
Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Jonas M. Gastal [Thu, 26 Jan 2012 12:59:34 +0000 (10:59 -0200)]
Style fix for QSslCertificate constructor.
Change-Id: I1f128eb9f99ef4d25590bd034762cb8a0e68b075
Reviewed-by: Richard J. Moore <rich@kde.org>
Jonas M. Gastal [Thu, 26 Jan 2012 12:53:24 +0000 (10:53 -0200)]
Removing ### that would cause needless SC brekage.
Change-Id: Iaa9cfd709c0ca4192760117ba5ec6d3992804d6a
Reviewed-by: Richard J. Moore <rich@kde.org>
Anselmo L. S. Melo [Fri, 20 Jan 2012 12:08:42 +0000 (09:08 -0300)]
Implement QWindow::close()
Implement the public slot QWindow::close() and add the correspondent test.
Change-Id: If3f07cce3b26640f06fc52d0e4dca875d9894b3d
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Jędrzej Nowacki [Thu, 26 Jan 2012 14:39:50 +0000 (15:39 +0100)]
Give a more verbose warning during QVariant serialization.
Change-Id: Ia3c0736284afbd4acd8cc86538f5a5399964a589
Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Giuseppe D'Angelo [Mon, 23 Jan 2012 22:31:13 +0000 (22:31 +0000)]
QRegularExpression: configure support for PCRE
Added PCRE config.tests, and logic and command line options
(-qt-pcre and -system-pcre) for configure and configure.exe.
Change-Id: I5da2658191198dbcf48c07d7c5de1be1b884a7a5
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Oswald Buddenhagen [Mon, 23 Jan 2012 15:02:33 +0000 (16:02 +0100)]
fix grammar in error message
Change-Id: I3fe4e0fa6da1467a4572e7f1dec1be7294632e34
Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Oswald Buddenhagen [Wed, 11 Jan 2012 18:12:27 +0000 (19:12 +0100)]
use warnings instead of -w
that way invocation via perl (c.f. syncqt.bat) does not need options.
Change-Id: I5d8e0d1f0ffe1b7cf280fe97d4f70968a3dbbb22
Reviewed-by: Giuseppe D'Angelo <dangelog@gmail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Rafael Roquetto [Tue, 24 Jan 2012 17:05:07 +0000 (18:05 +0100)]
Add mkspecs for Blackberry Playbook NDK
mkspecs for QNX qcc, armv7le and x86 targets
Change-Id: Ie4b0ec46a8837ad63f5aea8429cfdd516531e09a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Joerg Bornemann [Mon, 16 Jan 2012 11:02:47 +0000 (12:02 +0100)]
QProcess/Win: use asynchronous I/O for reading stdout and stderr
This saves us from using the 100 ms polling timer to read process output.
Task-number: QTBUG-23012
Change-Id: I3f9398d7a4d30826d2d89ac04bd2fd031500ff57
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Joerg Bornemann [Thu, 8 Dec 2011 13:16:47 +0000 (14:16 +0100)]
QProcess/Win: use named pipes for redirecting standard I/O
Named pipes allow us to make use of overlapped I/O for
redirected stdin, stdout and stderr.
Change-Id: I50191b036bce696147139b200ddbc6c31c16112b
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Jędrzej Nowacki [Fri, 20 Jan 2012 14:51:26 +0000 (15:51 +0100)]
Fix a typo in tst_qtreewidget autotest.
Change-Id: I573467c3fdfc4b3d059b216258d39944ac546061
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Simon Hausmann [Thu, 26 Jan 2012 13:35:55 +0000 (14:35 +0100)]
Fix virtual keyboard on Harmattan not following window content orientation changes
Track the input item's window and notify the input method server when the content
orientation changes.
Change-Id: I401c4fd677ed2eebd8b85968d4a2b3692517e097
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
Denis Dzyubenko [Thu, 26 Jan 2012 10:50:07 +0000 (11:50 +0100)]
Made it possible to run tst_qtjson test from shadow build directory.
Change-Id: I167737c91e01f055a2ce14db54dfcc6b74ad8c28
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
David Faure [Wed, 25 Jan 2012 18:53:22 +0000 (19:53 +0100)]
QStandardPaths: remove unused includes (leftovers from qdesktopservices)
Change-Id: I6fe23ecd04adc7dd68573dd0d6d01888c0cf71b6
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
David Faure [Wed, 25 Jan 2012 17:03:37 +0000 (18:03 +0100)]
QUrl: Implement a number of ## Qt5 TODOs (merging overloads)
Change-Id: I629c20f10e3667937d488ea30f93bf86f980ee1a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
David Faure [Tue, 24 Jan 2012 21:33:48 +0000 (22:33 +0100)]
Convert tst_qurl.cpp to UTF-8 (to make it editable in QtCreator)
Change-Id: I9baa445b11f65b28596e5b88746b72c5cf04fe77
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Frederik Gladhorn [Fri, 20 Jan 2012 17:12:13 +0000 (18:12 +0100)]
Send text selection changes for accessibility.
Change-Id: I3c50510ae9f995101d6e2c977c5138713389d71e
(cherry picked from commit
2cf1f24f93fa0f3f5bd7d38e160160a2c91d87f5)
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Denis Dzyubenko [Thu, 26 Jan 2012 10:13:41 +0000 (11:13 +0100)]
Fixed QString::operator<(QLatin1String)
QLatin1String now has a constructor that takes explicit length, which makes it
possible to create QLatin1String that do not have null-termination character.
Fixed QString::operator> and < to be safe in that case.
In the same patch fixed qtjson which had operator< implemented in the same way.
QString::compare(QLatin1String) is still broken and will be fixed separately.
Change-Id: I48ec1183a6f44034129cc17312af854795085408
Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Bradley T. Hughes [Wed, 25 Jan 2012 15:12:53 +0000 (16:12 +0100)]
Remove the 'macosx' arch
The new atomic implementation chooses which header to include based
on what #define's are set by the compiler (i.e. __x86_64__ or
__i386__). Because of this, the qatomic_macosx.h header isn't used
anymore. This also means that the configure script does not need to
use or look for this file anymore, it should just use the normal
uname -m detection.
Change-Id: Ibf275488735483268286196952299c0e496dfd1f
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Stephen Kelly [Tue, 24 Jan 2012 22:27:34 +0000 (23:27 +0100)]
Mark the single argument containers as movable.
Change-Id: I1557b9f3c2d3ad805e1ab7bf4d49973f08664a79
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
Stephen Kelly [Sat, 31 Dec 2011 06:25:07 +0000 (07:25 +0100)]
Automated metatype definition for template types.
If T is defined as a metatype, then QList<T> is too automatically.
So for example, no need to use
Q_DECLARE_METATYPE(QList<int>)
anymore.
This is a source compatible change.
Change-Id: I2ee8a7b9e28fe6d4775f6a05cce39aca8563e0c5
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Friedemann Kleint [Wed, 25 Jan 2012 15:47:41 +0000 (16:47 +0100)]
Cleanup of QWindowsVistaStyle.
- Remove the limbowidget, try to obtain HWND from a toplevel or
the desktop instead.
- Clean up handling of the theme map, avoid operator[] and
repeated invocation of of map.end()
Change-Id: Ic5ea6186508f37aaff782ca304ce577899f7b41c
Reviewed-by: Oliver Wolff <oliver.wolff@nokia.com>
Samuel Rødal [Wed, 25 Jan 2012 12:41:43 +0000 (13:41 +0100)]
Made QWindow::currentOrientation() a property.
To match the previous QWindow::orientation() property which can be
useful to access from QML. Also, removed the automatic translation of
Qt::PrimaryOrientation to QScreen::primaryOrientation() on the QWindow
level, as it leads to a lot of complexity regarding the
QWindow::contentOrientationChanged() signal, and makes it hard to
distinguish between the case where the window's orientation follows
that of the screen, and the case where the orientation just happens to
be set to that of the screen.
Change-Id: I6950d1337b7f929815eff1328181855090d8066b
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Olivier Goffart [Tue, 24 Jan 2012 17:51:51 +0000 (18:51 +0100)]
Wrap unimplemented clang feature in __has_feature
So that when they are actually implemented in future version, the proper
defines get defined.
Change-Id: I5cc3e3ef64b06facc27e6d697700dcb7a96300d5
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Andy Shaw [Thu, 19 Jan 2012 16:32:41 +0000 (17:32 +0100)]
Fix a couple of edge cases for WildcardUnix matching
Fix a couple of cases where WildcardUnix was not matching when the
string was just [] or ended with a \.
The testWildcardEscaping() test has been extended to account for these
two cases too.
Integrate
7ce3726aea4be2dfdb57966a4482f66fec6f8f57 from 4.8
Task-number: QTBUG-20897
Change-Id: I7a07ac008473fa7a080db752e189f6404842603f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Andrew den Exter [Mon, 23 Jan 2012 06:34:33 +0000 (16:34 +1000)]
Remove QTextControl and QLineControl.
QtWidgets and QtDeclarative now both have their own versions of these
so there's no need to keep them around any longer.
Change-Id: I9c2201c8495a0a0816e2af16c8f647fcad991479
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Jędrzej Nowacki [Fri, 13 Jan 2012 09:41:02 +0000 (10:41 +0100)]
Cleanup mess in public type ids.
There is no reason to keep two separated core types sets. It
couldn't be fixed before Qt5 because of binary compatibility promise.
This patch merges QMetaType core types with ext core types.
This "simple" operation consists of:
- QDataStream version was incremented, because type ids are
saved in QVariant's data stream.
- QMetaType LastExtCoreType and FirstExtCoreType were replaced by
LastCoreType, FirstCoreType and new QMetaType::HighestInternalId.
- New tests checking QVariant data stream for Qt4 and for Qt5 versions
were added.
Change-Id: I02dd74d29317365c297a789a4eb7c9c5edc3b231
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Friedemann Kleint [Wed, 25 Jan 2012 18:34:49 +0000 (19:34 +0100)]
Fix building of configure.exe.
Add missing files to profile.
Change-Id: I72ccbbbef3e036fc0cfe7a0a6df4c19d0474b798
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Peter Hartmann [Fri, 20 Jan 2012 12:55:15 +0000 (13:55 +0100)]
QAbstractSocket / QSslSocket: add API to pause and resume
pause and resume is currently only supported upon emitting the
QSslSocket::sslErrors() signal. The API was added in QAbstractSocket to
also support QAbstractSocket::proxyAuthenticationRequired() in the
future.
This is the first patch to support that feature on the socket level,
another patch will follow to support sslErrors() and
authenticationRequired() in QNetworkAccessManager / QNetworkReply.
Task-number: QTBUG-19032
Change-Id: Ide2918268590ab9a01454ab26cb7fdca3dc840ab
Reviewed-by: Shane Kearns <ext-shane.2.kearns@nokia.com>
Friedemann Kleint [Wed, 25 Jan 2012 11:43:20 +0000 (12:43 +0100)]
Introduce QGuiApplicationPrivate::windowForWidget.
Change getHWNDForWidget() to take a const QWidget *.
Change-Id: I6b0d0bce70487304dfcd4e7a6a039fe8c7ca4aae
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Friedemann Kleint [Wed, 25 Jan 2012 11:31:50 +0000 (12:31 +0100)]
Windows Vista Style: Fix drawing of buttons in message boxes.
Do not use the HDC of the backing store when drawing to an image
(as opposed to 4.8, where the HDC of the paint engine was used).
This causes 'ghost buttons' to appear in the dialog box at 0,0.
Change-Id: I301b66abf4447a65ee144f09655b68efaf18700d
Reviewed-by: Oliver Wolff <oliver.wolff@nokia.com>
Friedemann Kleint [Wed, 25 Jan 2012 11:26:37 +0000 (12:26 +0100)]
Widgets: Enable Windows styles on Windows.
Change-Id: I1f1a675ad52da2bfb8988d91012d725469d1cac9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Stephen Kelly [Wed, 25 Jan 2012 09:22:05 +0000 (10:22 +0100)]
Mark the enumerator QVariant::Type as obsolete.
In most cases, QMetaType::Type should be used (contains more
entries) and in APIs an int should be used to allow for
user-extended metatypes.
Change-Id: Iaa768f6d510686da36c61b8aaf5de3ac53a6f463
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Shane Kearns [Wed, 1 Jun 2011 15:35:43 +0000 (16:35 +0100)]
bearer: run the bearer engines in their own worker thread
The original architecture of the QtNetwork bearer support hosted the
engines in the application's main thread, but this causes some problems.
If the QNetworkConfigurationManager is constructed in a worker thread,
then it is populated asynchronously without any notification when it is
done (the app gets incomplete or missing results)
Fixing that by restoring the earlier behaviour of using blocking queued
connections to wait for the lists to be populated caused a regression,
as some applications deadlock because the main thread is waiting on the
worker thread at this time.
By introducing a dedicated worker thread for the bearer engines,
QNetworkConfigurationManager can be safely constructed in any thread
while using blocking queued connections internally.
Task-number: QTBUG-18795
Change-Id: Iaa1706d44b02b42057c100b0b399364175af2ddb
Reviewed-by: mread
(cherry picked from commit
5f879c55e531165cc2569b03c3796d0f33d0a0b7)
Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
Reviewed-by: Murray Read <ext-murray.2.read@nokia.com>
Reviewed-by: Alex <alex.blasche@nokia.com>