Commit Graph

3311 Commits

Author SHA1 Message Date
Friedemann Kleint
4212898822 Base active window handling on WM_SET/KILLFOCUS.
Make it work for child windows, fixing the isActive()
test of QWindow.

Task-number: QTBUG-24185
Change-Id: I75597c2d322969f7e109d76e30b9b1f4b66c6e1e
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-02-17 05:26:08 +01:00
Miikka Heikkinen
543d994967 Fix QWindowsClipboard crash when mimeData is NULL.
When setting NULL mimeData in QWindowsClipboard::setMimeData, and the
OleSetClipboard call failed, the warning print crashed because it
tried to access mimeData.

Task-number: QTBUG-24327
Change-Id: I1f56fd28c9191a330e14a93b4b11ac9c89db6985
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-17 05:25:59 +01:00
David Faure
b838170ceb QDebug: Add support for %{pid}, %{appname} and %{threadid}
Change-Id: I4add0a374e6524b615c6dc0ecfb010a90075b04f
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-17 05:25:56 +01:00
Jason McDonald
64642a4d97 testlib: Skip test function if init() fails.
Prior to this commit, the following statement in the qtestlib
documentation was untrue: "If init() fails, the following testfunction
will not be executed, the test will proceed to the next testfunction."
If init() called QSKIP, the test function would be skipped, but if
init() reported a failure, the test function would still be executed
(even though doing so could be unsafe).

This commit makes testlib skip a test function if init() reports a
failure and enhances the selftests to cover skips and fails in both
init() and cleanup().

Task-number: QTBUG-20371
Change-Id: Id1cc8464ae0b8c257ae1b74dbe9189a501f5366b
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-02-17 05:24:46 +01:00
Andrew den Exter
922e0ab515 Add support for querying an elided sub-string from QTextEngine.
The QML Text element attempts to layout text first without eliding and
only builds an elided string for the last visible line.  This allows
it to re-use the already generated layout information to build the
elided string rather than doing a second layout of the relevant text.

Change-Id: Ieee45902d0c129853abe822c465eece4d634a028
Reviewed-by: Martin Jones <martin.jones@nokia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2012-02-16 04:23:20 +01:00
jian liang
0347ac1982 Use english name to match font in windows platform
In windows platform, simplified chinese envrionment, the default font
family name is "SimSun" which is not in the font list generated by
EnumFontFamiliesEx(), this will cause chinese font can't be displayed.

This patch will generate font's english name during font enumeration in
windows platform, and take font's english name into consideration in font
matching. The english name generation code is taken from Qt4.8

Change-Id: Ie939ec0c8c08c628a835c7a53fb22d0545626d9c
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-16 04:23:20 +01:00
Friedemann Kleint
dfddabe115 QDial: Fix crash when singleStep-property is 0.
Task-number: QTBUG-23072

Change-Id: I296b46af23420b24fa5460b9660e33bf203ea29f
Reviewed-by: Jarek Kobus <jaroslaw.kobus@nokia.com>
(cherry picked from commit 6d370a19e367d0ccec59db5c34cbe2e3f7cfc586)
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-16 04:23:20 +01:00
Jason McDonald
9864241309 testlib: Remove obsolete version of QSKIP macro.
A variadic version of the QSKIP macro has been left in qtestlib for
a transitional period to give upstream projects time to catch up with
the removal of the function from the API.  This transitional period is
now finished.

Task-number: QTBUG-21652
Change-Id: Ib1a9158c2efbae05ffd0e69e72879f6387d4b2e8
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-02-16 02:00:42 +01:00
Jason McDonald
45cf303d3a Remove code related to test location.
Testlib no longer does anything with the test location, and neither do
any of Qt's tests, so the code is no longer needed.

Change-Id: I1a464116179f3e26efadad6901f00f3c33e0ce84
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-02-16 02:00:37 +01:00
Jędrzej Nowacki
1b23336a29 Use static-less QMetaType API in QVariant.
This patch improves performance when constructing a custom type in
a QVariant by ~ 7-20% (instructions count) depending on the type size
and metatype attributes.

Change-Id: Ic2707ff5abd689b66e23c1794f111504bf9b3b01
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-02-16 02:00:30 +01:00
Jędrzej Nowacki
214e031d56 Implement new static less API for QMetaType.
Currently QMetaType API contains almost only static methods. This works
nice until someone needs more information or needs to do more operations
on a type. In this case every function call has to do type dispatch.

This API allows to avoid redundant type dispatching, by caching a
type information in a QMetaType instance. It gives significant
performance boost especially for custom types (up to 9x).

Change-Id: I223d066268402e072e41ca1d0a3e7bc160655d7f
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-02-16 02:00:15 +01:00
Donald Carr
b9eb3715f5 Redirect libjpeg messages via qWarning
This allows us to catch spurious libjpeg warnings via the installation of a
message handler

Change-Id: I82f3257118b5fbdf66550be80e72f75e9a24d3c1
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Johannes Zellner <johannes.zellner@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-02-16 02:00:12 +01:00
Michalina Ziemba
6a5d1370b3 Qt Network: Added the \inmodule command in the class documentation.
-Some of the public classes were missing the \inmodule command.
-Fixed a sentence.

Change-Id: I88ebe12680c744e32253dc01c5ddb4292267caf9
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-02-16 02:00:03 +01:00
João Abecasis
af115e5bc0 Drop QFile::fileEngine
The function was already marked as internal.

By moving access to the underlying file engine to private API this
supports the effort to completely drop file engines from public API. In
the future, the goal is to completely drop the file-engine abstraction
as it exists today.

Change-Id: I332fa56e70c87e83c1e08bb9f75e04df7c93fec7
Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
Reviewed-by: Anselmo L. S. Melo <anselmo.melo@openbossa.org>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2012-02-16 01:59:56 +01:00
Kent Hansen
e0d26ebe2e qmetaobjectbuilder: Store only unique strings in the string table
Do like moc: If the string has already been entered into the table,
just return its position, don't make a new copy. This can save
space, for example, if there are several properties of the same type;
the typename only occurs once in the string table but will be
referenced by several property descriptors.

Change-Id: Ic0087697716cab1c6449ea51c0c758a6fd1a1c82
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
2012-02-16 01:57:22 +01:00
Kent Hansen
6a6425dff5 Don't hardcode the number 14 in meta-object generators
14 is the number of fields (ints) in the QMetaObjectPrivate struct
as of revision 6.

Use the calculated number of fields instead, so that the code will
still be correct when more fields are added in future revisions.

Change-Id: I4f2c2bfc125f3fabc8e8caedf5c6ba6c17a34d06
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
2012-02-16 01:57:05 +01:00
Kent Hansen
10de7f77f4 qmetaobjectbuilder: Add asserts to confirm validity
buildMetaObject() can operate in two "modes", based on whether a
buffer to write the meta-object into is passed or not. Add asserts
to make sure that the intermediate meta-data indexes are correct
in both "modes", and that the final size in "write mode" matches
the size that was computed in the preceding non-writing pass.

The asserts make it easier to catch obvious problems when changing
buildMetaObject() to generate a new meta-object revision.

Change-Id: Ief7c74e6f6fca836587e831b06072d6aa98c7193
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
2012-02-16 01:56:43 +01:00
Xizhi Zhu
acb9537551 Include headers before QT_BEGIN_NAMESPACE.
Change-Id: Icaef1cb280d2968e4a35c93375749d2d9feff856
Reviewed-by: Shane Kearns <ext-shane.2.kearns@nokia.com>
2012-02-16 01:56:39 +01:00
Xizhi Zhu
de07c49033 Add missing private headers to .pri.
Change-Id: Ia0f37953124198dce000adad9dfae051925d526e
Reviewed-by: Shane Kearns <ext-shane.2.kearns@nokia.com>
2012-02-16 01:56:32 +01:00
Stephen Kelly
66603985f2 Fix ref counted window close handling.
Instead of refcounting QWindow visibility, we ask the Application
subclass whether quitting is appropriate.

Task-Id: QTBUG-24120
Change-Id: Idd19cc1a3e5742fddded89c7638aaaa5e47c568d
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2012-02-16 01:56:27 +01:00
Jędrzej Nowacki
18965b1384 Add QMetaType::FirstCoreType enum value.
We should not assume that the first type id is 0.

Change-Id: I17ba6ba57e97ebd495904bfd11235fe458f214e5
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
2012-02-16 01:56:05 +01:00
Friedemann Kleint
1747f66457 Add a ThemeChange event.
- Pass it from QWindowSystemInterface via QWindow to the widgets.
- Add handler code from 4.8 / qapplication_win.cpp to qwidget.cpp.

Change-Id: Ic759563aa00cb93fe014c1bf41020446c1927dec
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-02-16 01:56:01 +01:00
Stephen Kelly
394315d902 Move the removal of the Quit event to QWindow.
Change-Id: If524127ba9dab9ef065aaf4079294295eef8e49b
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-02-15 20:47:32 +01:00
Stephen Kelly
c455674555 Make the cmake tests work with a namespace build.
Change-Id: I6858c324548373c57963b5ef137772a1f780ec78
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Clinton Stimpson <clinton@elemtech.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-02-15 18:17:15 +01:00
Thorbjørn Lund Martsum
b800d8b94a QHeaderView::moveSection performance boost
The patch also speeds up swapSections and hideSection a lot.

It work by eliminating the Span. (That is forcing each 'Span'
to have exactly one element) That saves a lot of loops since
we can often lookup info fast - and/or change it fast.

Since it is often a complexity change, it is difficult to
put %-increase on. (The most used linear function is
recalcSectionStartPos() - and it has a very low constant)

However comparing with the new benchmark (2500 rows)
swapSection, showHideSection and moveSection are about
20-40 factors faster. (Yes, it is a lot faster!)

In the benchmark moveSection is about 300 factors faster.

Beside being a far better model it is also far more simple.

This fix partly solves:
Task-number: QTBUG-19092

Change-Id: I8deeb9315276d15c68e8a27d5dcb8e0c0badf367
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-02-15 18:17:01 +01:00
Lars Knoll
7184456f9a Implement new plugin mechanism
moc can now embed meta information about the plugin
inside the plugin itself. This information can
be queried by Qt without having to load the plugin.

Source compatibility with the old plugin loading
mechanism is still there, but will be removed before
Qt 5.0.

Change-Id: I03e4196ddfed07d0fe94acca40d5de8a6ce7f920
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-15 17:27:37 +01:00
Lars Knoll
556dd0228a Add JSON support to the bootstrap library
The JSON support will get used in moc to support
the creation of plugin metadata that's embedded
into the plugin itself.

Change-Id: I3bc52b16ca0a43bc8bf9141b450045c6183b7823
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-15 17:27:24 +01:00
Kim Motoyoshi Kalland
e452923f1e Corrected the size of mipmaps in framebuffer objects.
Change-Id: Ia3c0daefc6537b12be7f9072e7defc0631794690
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-02-15 17:06:49 +01:00
Andy Shaw
b8342ad6fd Remove a couple of QtGui/QtGui header entries
Removed a couple of header entries since they were causing build
problems on Mac.  Additionally it is a bit much to include QtGui/QtGui
in a private header file.  Added in an include to QCache and QGradient
which was necessary afterwards.

Change-Id: I442efc799a4c81b50ec30d58f1aedfb08e686fcb
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-02-15 17:05:45 +01:00
Samuel Rødal
b36ece3ff4 Added support for resetting QOpenGLFramebufferObject attachments.
As the documentation says, this can be useful to free or recreate
attachments when needed. For example, it might be useful to free stencil
and depth attachments to free up resources when not rendering to the
framebuffer object.

Change-Id: Ib267024fdd380a788c256eb8fb86e0f8832329e0
Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
2012-02-15 17:01:50 +01:00
Teemu Katajisto
752a02143b Various documentation fixes ported from Qt 4.8
Final set of selected documentation fixes for qtbase
from Qt 4.8 commit bacae725e584f51ee2fd83af7bef3e4515de9587

Task-number: QTBUG-13362
Task-number: QTBUG-18356
Task-number: QTBUG-18417
Task-number: QTBUG-18664
Task-number: QTBUG-21562
Task-number: QTBUG-22094
Task-number: QTBUG-18741
Task-number: QTBUG-15921
Task-number: QTBUG-15738

Change-Id: I3bd33bb7ce7aa991913ba82f3ea0e4b124f3ee41
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-02-15 08:59:29 +01:00
Kent Hansen
58d6c856ec qmetaobjectbuilder: Add support for revisioned methods and properties
moc supports it, so qmetaobjectbuilder should too.

Change-Id: I01475794e928b5a1b659f0dab044933948186971
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
2012-02-15 08:59:29 +01:00
Jonathan Liu
9c23257fe4 Fix compilation with MinGW
Some headers and constants are available in MinGW-w64 that are not
available in the official MinGW. STATE_SYSTEM_HASPOPUP and
STATE_SYSTEM_PROTECTED constants are defined if they are not already
defined by including oleacc.h. _CrtSetReportMode is not used and
crtdbg.h is not included when using official MinGW as crtdbg.h is
missing from official MinGW.

Change-Id: Ie7f3f3726a1663d0fdeb6ee17b86873ae3f61860
Reviewed-by: Jonathan Liu <net147@gmail.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-15 08:59:29 +01:00
Rohan McGovern
3296b7327b Fixed typo.
keyboar -> keyboard

Change-Id: Ia305237ac92ac5b0d5c8b0d3cc638292238cec02
Reviewed-by: Johannes Zellner <johannes.zellner@nokia.com>
Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
2012-02-15 06:26:33 +01:00
Mark Brand
22e0060e59 QSqlTableModel::indexInQuery(): fix for inserted rows
Should return invalid QModelIndex since inserted row does not map to
query.

Change-Id: Ib1d15cf4198a7063717fb3f3b594b2b1d8a54dfe
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
2012-02-15 02:36:42 +01:00
Mark Brand
76fa96b99e QSqlRelationalTableModelPrivate: simplify field name translation
It's not appropriate to use indexInQuery() here. First of all,
the row might be an inserted row, and thus not be in the query.
The intent was probably to get the column position in the query,
but this is certainly not row dependent. Furthermore, if there
are inserted or removed columns, these are managed within
QSqlQueryModel.

Change-Id: I89668655b263747a5b849136404112e911722b3d
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
2012-02-15 02:36:38 +01:00
Mark Brand
7bced28780 QSqlTableModel::submitAll(): avoid resubmiting successful changes
Consider what happens the 1st change succeeds and the 2nd fails. No
select will be done. When submitAll() is called again, the 1st will
still seem to be pending. It will fail or have unexpected effects if
the primary values were changed.

The solution is to avoid resubmitting successful changes. We leave
them in the cache so they stay visible. Submitted changes cannot
be reverted of course.

Change-Id: Ibf400555effa1c3801d02f8713b4b69856ede23a
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
2012-02-15 02:36:33 +01:00
Mark Brand
434c46e8dc QSqlTableModel: do not store primaryValues in change cache
They can be generated on demand regardless of edit strategy.

Change-Id: I1e1853e93cc453f1486b65ce577f00141b9c5c47
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
2012-02-15 02:36:30 +01:00
Mark Brand
f805dd0b40 QSqlTableModel::primaryValues(): take care of row mapping
There is no reason for the caller to be concerned with this.
primaryValues() now takes advantage of the fact that QSqlQueryModel
uses indexInQuery which was recently made virtual.

Change-Id: I7d856ee05f55c3199fd17c618e559320d0582989
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
2012-02-15 02:36:25 +01:00
Mark Brand
555aa4439b QSqlTableModel::commitAll(): replace row removal hack
The purpose of the hack was to fool QSqlQueryModel into signaling the
removal of extra rows via rowsRemoved(). The extra rows are the
inserted rows generated by QSqlTableModel.

While it is important to signal the removal of all the rows before
requerying after committing changes, there is a cleaner way. The
table model should remove its rows before the query model removes its
rows.

Iterating backwards avoids having to decrement row numbers above ones
being removed.

Expected test results have been adjusted for these changes.

Change-Id: I0e8aa81f5e7b8fea5922f5ffd1cfb4a932313a10
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
2012-02-15 02:36:21 +01:00
Mark Brand
76418628f1 QSqlTableModel: deduplicate and optimize counting of inserts
Reading STL iteration code is painful enough if you only have
to do it once.
Thiago suggested remembering the end iterator for performance.

Change-Id: Ic2cdc480f591932ea420e692a4d2796d49f05313
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
2012-02-15 02:36:17 +01:00
Mark Brand
2ecdb8c091 QSql*Model: make indexInQuery() virtual
Qt 5 seems like an excellent opportunity to simplify logic and separate
concerns by making indexInQuery() virtual. Note that this wasn't my
idea, but was mentioned in a helpful comment.

Change-Id: Ie29ead110def45297c32de3ce6d07a8eefb08d8c
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
2012-02-15 02:36:07 +01:00
Andrew Stanley-Jones
9809471223 Allow the QLocalServer to listen to a native descriptor
QLocalServer could only listen to sockets it created.
Thi is not always possible as sockets may be passed
by socketpair() or have to be created locally by
other means.  This adds a similar feature to QLocalSocket
where a native descriptor maybe used.

Change-Id: I43b0af179b3b868dd164d4e1fd312ff4546cf9ff
Reviewed-by: Michalina Ziemba <michalina.ziemba@nokia.com>
Reviewed-by: Tapani Mikola <tapani.mikola@nokia.com>
Reviewed-by: Harald Fernengel <harald.fernengel@nokia.com>
2012-02-15 02:36:02 +01:00
Alex Wilson
c7d3f9be58 Produce unimplemented warning for QOpenGLBuffer::map only once
Change-Id: Ia4f136e964e4e0ca326f462b0996ef3d1b843cf6
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-02-15 02:35:37 +01:00
Eskil Abrahamsen Blomfeldt
be0dfa3473 Optimize memory consumption for simple GPOS tables
Sometimes GPOS tables are used for kerning and can grow quite
large if the font is unoptimized. In that case, allocating the
maximum size for each ValueRecord will have a great impact on
memory consumption. For GPOS tables which do not contain device
tables, we only allocate the memory actually need to store the
data instead.

While it would be possible to optimize memory for GPOS tables that
contain device tables as well, this is not a part of this patch.

Change-Id: Id665b2821675ef955c497c782f09f99af765b8a3
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-02-15 02:35:32 +01:00
Shane Kearns
a28c433b29 Abort FTP download, not the whole application
An old coding error meant that the C runtime abort() function was
being called instead of QFtp::abort() when cancelling an FTP download
using QNetworkReply::close()

Task-number: QTBUG-22820
Change-Id: Ib97fda9769b2b55a08c042c66c4444cb6216d2b1
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-15 02:35:20 +01:00
Rafael Roquetto
45bf920947 Fixes QTemporaryDir compilation error under QNX.
Checking for Q_OS_QNX as well upon QFileSystemEngine inclusion.

Change-Id: Ia0e0d7344abaae6dd6375528f0cc17dbefafe8d8
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-02-15 02:35:15 +01:00
Kent Hansen
0554d13910 Remove needless line "#define d d_ptr"
There was a time when qsslsocket.h declared its private slots as

Q_PRIVATE_SLOT(d, void _q_connectedSlot())

But now they are correctly declared as

Q_PRIVATE_SLOT(d_func(), void _q_connectedSlot())

so the "#define d d_ptr" hack isn't needed.
Specifically, the define would break moc-generated code that refers
to the member d of a structure (which a future moc revision does,
namely QByteArrayData::d).

Change-Id: Ic94fa4d523fb17e8088973cfc0d090d5cce97267
Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-15 02:35:10 +01:00
Kent Hansen
016633931f Store only unique strings in the QtDBus meta-object string table
Do like moc: If the string has already been entered into the table,
just return its position, don't make a new copy. This can save
space, for example, if there are several properties of the same type;
the typename only occurs once in the string table but will be
referenced by several property descriptors.

Change-Id: I63e5c73d28ba117fd00a5261d0e89f3a3d83df9a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-15 02:35:05 +01:00
Friedemann Kleint
3d3f5f84fe Move desktopSettingsAware to QGuiApplication.
For use by the QPA plugins.

Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Morten Sørvig <morten.sorvig@nokia.com>

Task-number: QTBUG-24204

Change-Id: I7f35274eedb55fcb60ad289768234bc302286d01
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-15 02:34:58 +01:00
Rick Stockton
960f246ffc fix whitespace in qnamespace.qdoc
repair instances of (1) trailing ws; and (2) tabs+spaces.

Task-number: QTBUG-22642

Change-Id: I775c6e1c65625340f6279bcff042dd8e74271021
Reviewed-by: Rick Stockton <rickstockton@reno-computerhelp.com>
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
2012-02-15 02:22:23 +01:00
Xizhi Zhu
c93ac67586 Fix online status checking in generic bearer plugin.
QNetworkInterface::IsUp means the interface is up, but not necessarily
connected. QNetworkInterface::IsRunning means the interface is up and
connected.

Task-number: QTBUG-22873
Change-Id: Ieb544058814520b4292b496de2e4672214f3d00a
Reviewed-by: Shane Kearns <ext-shane.2.kearns@nokia.com>
2012-02-14 20:29:32 +01:00
João Abecasis
5fb2122c34 Move QtConcurrent configuration to a single file
This file lives in src/concurrent, alongside the rest of the library. Relevant
configuration was moved out of qglobal.h, as it isn't relevant for other
parties and thus isn't needed there.

This introduces a global header that all QtConcurrent headers now include. This
header includes qglobal.h and defines library-specific configuration for all to
follow.

Change-Id: If6f11e7bbc6139d29004eb1602bd579b75b637c8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-02-14 16:14:58 +01:00
Bradley T. Hughes
4a99a42adb Compile
mHackedPanel is not declared anywhere in the Cocoa dialog helpers.

Change-Id: I3ba5dd429aa9fe5833b19c1e081425ec4020658d
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-02-14 12:22:32 +01:00
Mark Brand
2b465676aa QSqlTableModel::primaryValues(): make const
Change-Id: I6d53beb2b177dc5c71c74755f2fb602ab87502c0
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
2012-02-14 12:21:38 +01:00
Christoph Schleifenbaum
2907fbd898 Add QCocoaColor- and FontDialogHelper
Change-Id: Ie6e648e9e1f4ffbb34d73f9afdd6cc77e86bc3d1
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-02-14 02:48:35 +01:00
Kim Motoyoshi Kalland
c7fa95bd90 Added static keyword to blend_transformed_tiled_argb/rgb565().
Change-Id: I43745c672d5d31ef89901234c04bf2433269462c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-14 02:48:35 +01:00
Kim Motoyoshi Kalland
28f02bcd51 Removed unused qStorePixel[] array.
Change-Id: I9c9df19fcf06b127aaebb7ab093221e1b254ab9e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-14 02:48:35 +01:00
João Abecasis
731da2a6ab Use newly-added QFileInfo::isNativePath
Don't indirect over internal API.

With QAbstractFileEngine and friends on the way out, QFile is losing its
(marked internal) virtual fileEngine() function and the file engine
can't be queried for LocalDiskFlag. That information is now available
through QFileInfo, instead.

Change-Id: I48827a96fd8cd748055ad5f075912fc8e1c5ef7f
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2012-02-14 02:48:35 +01:00
João Abecasis
5c637e9171 Add QFileInfo::isNativePath
This function returns true if the file path can be used directly with
native APIs, modulo encoding and path separator conversions. This is
important for applications that interface with other libraries or simply
need to use native APIs together with Qt.

Traditionally, this information was available in QAbstractFileEngine and
forced users to explicitly create an engine or use internal API such as
QFile::fileEngine to access the underlying engine and this piece of
information.

Given its usefulness, exposing the information in a more visible place
is more appropriate. This reduces the need for people to know or care
about implementation details, like file engines...

The existing isLocalFs test was updated and repurposed to use the new
API, instead of relying on file engines and internal implementation
details of QFileInfo.

Change-Id: I65f497bb25741f6f7ea4d2c3b3562c8c4aab8bea
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: David Faure <faure@kde.org>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-02-14 02:48:35 +01:00
Bradley T. Hughes
7bf37d966e Cleanup HEADERS+=... in src/corelib/arch/arch.pri
Include all qatomic_*.h files in HEADERS, since we don't know which
include the compiler will end up choosing in the end (operating system
specific includes are still conditionally included, though).

Change-Id: I4241e40ad51d34dede04be0c4ee95378d6f3d037
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-13 22:15:48 +01:00
Bradley T. Hughes
de35b37c68 Add src/corelib/arch/qatomic_unix.h and qatomic_unix.cpp
This provides a fallback implementation on UNIX when the Q_PROCESSOR_*
and Q_CC_*/Q_COMPILER_* checks fail to find an implementation.

Note that we always compile qatomic_unix.cpp, but code is only included
when QATOMIC_UNIX_H is defined (meaning the checks above did not find an
implementation).

Change-Id: I8ce047847206003b4fa96eb3fb76b1c2ffbc2dfc
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-13 22:15:44 +01:00
Bradley T. Hughes
605339a5dd Remove qatomic_arch.h
Make qbasicatomic.h include the OS/compiler/processor dependent
implementation.

For implementations that have not yet been ported to declare a
QAtomicOps, they need to #include <QtCore/qoldbasicatomic.h>, and the
new QBasicAtomicInteger and QBasicAtomicPointer should not be declared.

Change-Id: Ia951834484c9f8dfa75131592e5e716b68ff989b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-13 22:15:40 +01:00
Bradley T. Hughes
5c5498ca0d Remove Windows specific code from qoldbasicatomic.h
This header is not used on Windows anymore, so remove the dead #ifdefs.

Change-Id: I76cfbd13c9fff0eab87cc69e8ca1e0d5ccab9e3a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-13 22:15:36 +01:00
Bradley T. Hughes
df4746db04 Remove the generic atomic implementation
This implementation is not used on Windows, and needs to be updated
on UNIX for processors that we do not support (this will be done in
a separate commit).

Change-Id: I471d0ed00f4e8b89ecfa400796a2dbe2330935c6
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-13 22:15:14 +01:00
Jonathan Liu
f748875fa8 Add missing crtdbg.h include
_CrtSetReportMode requires crtdbg.h to be included.

Change-Id: I7e2cbdf7e3087bbe115cd6a51024422b619ac552
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-13 12:02:11 +01:00
Kai Koehne
23688d8942 Reshuffle code between qglobal, qlogging
Make the content of the .h, .cpp files match.

Change-Id: Ib2506aeff74281ec4bcbf04d21da451038391203
Reviewed-by: David Faure <faure@kde.org>
2012-02-13 12:02:11 +01:00
Olivier Goffart
d4441b0148 Fix qmake compilation
No need to error out in bootstrapped mode because we don't use -fPIC

Change-Id: I0cc2889c75b41968edfd8e801b9161a1eb63f6ef
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-13 12:02:11 +01:00
Bradley T. Hughes
771a3f29f9 Remove HP PA-RISC atomic implementation.
This architecture is obsolete and discontinued.

Support for PA-RISC can be re-added if needed, but it would be preferred
to use the GCC intrinsic support from qatomic_gcc.h (on Linux/HPPA, for
example).

Change-Id: I952e521a2c8c68840df0d44843b5487d5c20b135
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-13 12:02:11 +01:00
Bradley T. Hughes
c4759d19f8 Remove the SH atomic implementation...
... but keep SH-4a, which provides a more efficient implementation. The
implementation removed here was very similar to the code removed by
commit dc5388e79b.

Support for SH can be provided by qatomic_gcc.h, or re-added in the
future if absolutely necessary.

Change-Id: Ic38b57c9513fc9c3c99ba7e102780a3939b735b9
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-13 07:07:50 +01:00
Bradley T. Hughes
48e48f2597 Remove out-of-line atomic implementation for PowerPC
Only support inline assembler with GCC. Support for xlC or other
compilers is not provided or tested. The files in
src/corelib/arch/vxworks only supported out-of-line PowerPC, so
remove it as well.

The xlC compiler seems to support GNU-style inline assembly, which we
prefer. Anyone wishing to support that compiler again should first test
if the inline assembly (the prefered method) works. See

http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/topic/com.ibm.xlcpp8l.doc/language/ref/asm.htm#asm

Change-Id: I70e56c0b06428bfb6538ca5e101baebd870f92f5
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-13 07:07:41 +01:00
Bradley T. Hughes
9b4db5151f Remove out-of-line atomic implementation for Alpha
This implementation has not been tested or supported at all during
the Qt 4.x lifetime. Do not bring it with us into Qt 5.x. Only
inline assembler with GCC is supported.

Change-Id: I31b48721bb7f4c96f4a777da604d80cc63c6fd79
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-13 07:07:28 +01:00
Rohan McGovern
eeabf82958 Fixed compile with -qtnamespace
Add missing (unbalanced) macros.
Some files had QT_BEGIN_NAMESPACE without a corresponding
QT_END_NAMESPACE.

Change-Id: I50226a37a3710eda80ad76320d11efee39aa1fd8
Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
2012-02-13 04:19:04 +01:00
Jason McDonald
9b2971cbb4 testlib: Count passes, fails and skips consistently.
For data-driven tests, testlib previously counted one fail or skip for
each data row that failed or skipped, while it counted only one pass
for a test function where all rows passed and counted no passes for a
test function where some rows passed and some rows failed. A similar
problem also existed for benchmark tests, which could run multiple
iterations of the same test, with each fail and skip being counted but
only a single pass being counted for the entire series of iterations.

This commit makes testlib count one pass, fail or skip for each data
row.  Test functions that are not data-driven count one result for the
test function, as before.  Benchmark tests count one pass, fail or skip
per iteration.

A side-effect of this change is that the test output in plain text, xml
and light xml formats now shows a result for every data row and
benchmark iteration executed, allowing post-processors to correctly
calculate the total number of tests executed.  Previously, individual
rows were not shown in the test output if they passed, making such
calculations impossible.

The only change to the xunitxml output format is to correct a bug where
no test result was recorded for a test function if the last data row
was skipped and all other rows passed -- in which case the overall
result should be a pass.  Note that there is also a pre-existing bug
in the xunit logger, where no result is reported if all rows are
skipped; that bug is unaffected by this commit.

Task-number: QTBUG-21848
Task-number: QTBUG-22124
Change-Id: I7e17177e10d6e89e55b9684c159bd506f21d002b
Reviewed-by: Ed Baak <ed.baak@nokia.com>
2012-02-13 01:46:09 +01:00
Caroline Chao
a6d3983ef6 CodeCoverage: Handle QTest based subtests.
Set QT_TESTCOCOON_ACTIVE environment variable when the coverage is installed
for a test and unset it when the coverage data is saved. Tests that run when
QT_TESTCOCOON_ACTIVE is set are subtests and will not be considered as
stand-alone tests for the coverage.

When a test is run as a subtest its coverage data will not be saved for
itself but for the main test it is merged with. Also its status will not be
reported since only the status of the main test is expected in the test report,
e.g. the test tests/auto/testlib/selftests.

Change-Id: Icfdf99300aae18040e1a3441a8af21f68df4c0db
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
2012-02-12 23:25:19 +01:00
Samuel Rødal
3aacbc1e2b Compile without OpenGL.
Since a GLuint returning virtual was added to QPlatformOpenGLContext
we need to make sure it's protected by #ifndef QT_NO_OPENGL.

Change-Id: Id2f56ccdccc3863986250ee1b3aa7efccf88ba5c
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2012-02-12 13:02:14 +01:00
David Faure
bc8a2de9d4 Use toDisplayString when debugging urls (no passwords in logs)
Change-Id: I618027c5913438bf341864d07d4831f9e33633b6
Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
Reviewed-by: Giuseppe D'Angelo <dangelog@gmail.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-02-12 10:24:28 +01:00
Andreas Holzammer
3755caa12a Remove failing for ARM Architectures.
Checks cover only V7, V6 and V5. But when trying to
compile for V4 it fails.

Change-Id: I573361c61acc904661bf2c8bfe1132cba57f296a
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-02-11 20:22:24 +01:00
David Faure
3791d3b0c2 Add QUrl::toDisplayString(), which is toString() without password.
And fix documentation of toString() which said this was the method to
use for displaying to humans, while this has never been true.

Change-Id: Iff6df92e32b2517e1481d4992d80cae2d58da427
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
Reviewed-by: Giuseppe D'Angelo <dangelog@gmail.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-02-11 11:02:01 +01:00
Andreas Holzammer
10830e8446 Fixed zlib build for WEC7.
errno in zutil.c is leftover, and not used anymore -> removed.

In gzguts.h qfunctions_wince.h are included. To use this header
qglobal.h is needed.

In qfunctions_wince.h a special define section is added for
zlib.

Task-number: QTBUG-22507
Change-Id: I78ec78d22e2930a03b349a47ab3a3ad077277c42
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-11 08:38:00 +01:00
Johannes Zellner
e9a201fee2 Add evdev based generic linux keyboard plugin
This introduces a udev based evdev keyboard plugin. It contains a
default US keyboard map to fit the QKey enumeration.
Most of the udev related code was developed by ICS.
Major parts of the keyboard handler itself is reused from Qt 4 codebase.

Change-Id: I383d05eecfde1c8916b0007dd101bfcb66711968
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-02-11 01:19:49 +01:00
John Stanley
4ef2988aed Raise loopLevel for deleteLater in event filters
Change-Id: Ibd0cd2a2efbcb13a54fe8ba055e7243c0c01b26e
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-02-11 01:19:49 +01:00
Andreas Holzammer
8723c2c90d Don't build printer plugins for Windows CE.
Windows CE does not support printing.

Change-Id: Ia00296fe05b460e9f78c60f8d0400698c6f6b3f3
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-10 22:53:13 +01:00
Friedemann Kleint
c908fc4448 Add QPlatformServices class.
- Add QPlatformServices as back-end for
  QDesktopServices.
- Bring back UNIX/Linux desktop detection in platformsupport
  as a generic implementation.
- Add Windows implementation.

Reviewed-by: Morten Johan Sorvig <morten.sorvig@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Anselmo Lacerda S. de Melo <anselmo.melo@openbossa.org>

Change-Id: If94bb65755df4f849edd83c57143ee2c73002137
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-10 22:53:13 +01:00
Friedemann Kleint
d43a01e149 Re-add default positioning for Widgets.
Center widgets on the screen in show_sys() in case they
are top levels that have not been moved yet.
This was previously done in platform-specific code
on Window creation.

Change-Id: I191f20c0105ed3f27274c6505852b212d400b395
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-02-10 22:53:13 +01:00
Laszlo Agocs
a4fbae9fd9 Fix xcb's native resource getters.
Returning pointers to unexpected types for unknown keys is quite
wrong. The clients expect 0 in such a case but what they got (until
now) was whatever was associated with the default constructed enum
value.

Change-Id: Iefd7bf461bfb2c1f4c73f5f9f291aecad60219eb
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Jani Uusi-Rantala <jani.uusi-rantala@nokia.com>
2012-02-10 19:40:19 +01:00
Laszlo Agocs
1e744d2523 Avoid crash when windows with active mouse synthesization are deleted
Some QtQuick autotests, that apparently generate incomplete touch
sequences and delete windows without finishing them, triggered a crash
when handling the TouchCancel event in QGuiApplication.

Change-Id: Ie725d5a16f55acc40bdc8e2c38f93daac9477f2a
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-02-10 19:39:57 +01:00
Jan Arne Petersen
19a39a4ea2 Add support for "none" QT_IM_MODULE
Do not try to load any input method when QT_IM_MODULE is set to "none".

Change-Id: I695cb76d616bb2ce5021979bae2790b2f286122d
Reviewed-by: Pekka Vuorela <pekka.ta.vuorela@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-02-10 19:32:41 +01:00
Denis Dzyubenko
9633459274 Fixed alignment check in QJsonDocument::fromRawData
Change-Id: I1d107e26a77e40f91ff09d43e9529b08da8f7c3b
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-02-10 19:32:30 +01:00
Stephen Kelly
1406659948 Add -fPIE to the Qt5Core_COMPILE_FLAGS with reduce-relocations.
Qt requires this since 482d96a0c5

Change-Id: Iba783e283b17654abf46f11b81cc1641c3ce7d83
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Clinton Stimpson <clinton@elemtech.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-02-10 19:21:24 +01:00
Samuel Rødal
38257651b7 Properly read back the actual format in xcb and xlib plugins.
Change-Id: Iccef2c4a87863b93914b84edf3a6015dad5e512a
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2012-02-10 16:24:47 +01:00
Samuel Rødal
7dca7c3c57 More graceful handling of QSurfaceFormat::samples() with GLX.
Earlier, if we asked for say 16 and the implementation only handled 4,
we defaulted to 0 (no antialiasing). Now, we instead try a
progressively lower number until we find a match.

Task-number: QTBUG-22669
Change-Id: I3d89f2a302f9c6195e2d43827006fd015d981ce7
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2012-02-10 16:24:40 +01:00
Samuel Rødal
a541fd4d71 More graceful handling of QSurfaceFormat::samples() with EGL.
Earlier, if we asked for say 16 and the implementation only handled 4,
we defaulted to 0 (no antialiasing). Now, we instead try a progressively
lower number until we find a match.

Task-number: QTBUG-22669
Change-Id: I63f4b8aadf8e06713d19fdc9b9d73672162c816a
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2012-02-10 16:24:27 +01:00
Leonard Lee
fb62fdac1c Display QThread name for debugging.
Thanks to João's help.

Change-Id: I9ad3035f016945bed9fdf425fc7b7edd5d20822d
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-10 16:16:00 +01:00
Olivier Goffart
497622cafe Make it possible to put QObject tracked with QWeakPointer inside QSharedPointer
Do that by keeping the QWeakPointer that track QObject independent of
the ones that track QSharedPointer.

QSharedPointer do not touch the sharedRefCount in QObjectPrivate anymore

When converting a QWeakPointer constructed from a QObject to a
QSharedPointer, it will display a warning saying one should not do that.

Task-number: QTBUG-22622
Change-Id: I3595e3e7401702410776c458687ab357ad9366ab
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-02-10 15:37:10 +01:00
Andreas Holzammer
281673e5d3 Include winsock2.h for ntohl.
This fixes the compilation for Windows CE.
Include Windock2.h before Windows.h.

Change-Id: Iae1ab98239bb75b59c78460e0c0e48dfa1326032
Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-02-10 15:30:23 +01:00
Kai Koehne
dd119e14d0 Fix qlogging autotest for clang
Change-Id: Iac82c4847554534174b5419ec78319c9ac381628
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-02-10 15:28:22 +01:00
Jan-Arve Saether
ff2886db6a Move all usages of Relation enum values to QAccessible::relations()
Next step is to remove navigate(), but that has to be done in
qtdeclarative first.

Change-Id: I01ea1386c092446be04cc19d0f70adf53f094adc
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2012-02-10 15:21:46 +01:00
Olivier Goffart
482d96a0c5 Force -fPIE on ELF if Qt is built with reduced relocations
Put in qconfig.h whether qt is compiled with reduced relocations.

When using -Bsymbolic-functions (enabled by default on Qt)
but not -fPIE, the comparison of the function pointers fail
because the addresses are different in Qt, and in the executable.

Hence we now enable -fPIE by default on qmake, and force a compilation
error when it is not enabled and built with reduced relocations.

Done-with: Sune Vuorela <sune@vuorela.dk>
Change-Id: Ib3fdba06fab6e8a93b75b4c6cf16cc973ab335db
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-10 11:42:31 +01:00
Laszlo Agocs
09e2e77be2 Handle TouchCancel in gui and widgets
Change-Id: I31739840348d88ae408ac1aae2399f6328ccdd43
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-02-10 11:41:04 +01:00
Andreas Holzammer
def35efe2a Remove no longer needed ifdef Q_OS_WINCE.
There is now an implementation to qt_pixmapFromWinHICON.
So use it for Windows CE too.

Change-Id: Ie2f3cacd4be9209e33d49e53703c5abc95d98d09
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-10 08:21:51 +01:00
Andreas Holzammer
84607219c0 Add qt_pixmapFromWinHICON again for Windows CE.
qt_pixmapFromWinHICON is used by qfileiconprovider
and qwindowsstyle. So use this one from Qt 4.8.
Also put functions of qguifunctions_wince in here,
because this was splitted.

Change-Id: I00ffb9d66a84884f7338648982e516ca016b9bd6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-10 08:21:28 +01:00
Andreas Holzammer
cbd6b4eb20 Clean up qguifunctions_wince includes.
There are leftovers from Qt 4.8 in regards of the
qguifunctions_wince. The parts which where needed
in widgets have been taken over into qwidgetsfunctions_wince.

Change-Id: I737684a7f56ba356df89c1be77ab776bca034ae9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-10 08:20:13 +01:00
John Stanley
7038151326 Add support for xlib backend X Event filters
Change-Id: Id1e7995f98395de748ce47a27365e4bdd564ea49
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
2012-02-10 03:02:07 +01:00
Andrew Stanley-Jones
49b5306155 Add socketOptions flags to QLocalServer
QLocalServer had no way to set socket options
that more complicated servers require. The
first set of options allow setting of access
control on the sockets.

Change-Id: If4268c66462fc2e6cf1e70b1d5f56c76d2c69228
Reviewed-by: Harald Fernengel <harald.fernengel@nokia.com>
2012-02-10 03:02:07 +01:00
Frederik Gladhorn
8522cb5c97 Update docs for QAccessibleEvent.
This class completely changed,
the old docs were still around.

Change-Id: Ice7b106b33ffc60f45f7af1b4f44dc01462ee0da
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2012-02-10 00:27:44 +01:00
jian liang
c6a1cb701c Improvement to font database cleanup
This patch do the following things:

1) Call QFontDatabasePrivate::free() to clean up font database before
destroying the platform integration object. This is to prevent object leak
which is allocated by platform plugin.

2) Allocate FontFile structure for each font registered in windows
platform to prevent double free of FontFile structure.

3) qt_registerFont() will release the old handle of the registered font
and replace it with the new handle. This is to prevent FontFont structure
leak.

Change-Id: Ib5ca20c695e1e365689fd8554f7caff6ee77a0b1
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
2012-02-10 00:27:44 +01:00
Andreas Holzammer
0abc98847d Compile fix QWindowsMobileStyle
Change-Id: Idb3f8b3cb19b0ed1f49245fa7e43f26f6faa174d
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-02-10 00:27:44 +01:00
Thorbjørn Lund Martsum
73a5bc2aac QHeaderView - minor bug in visualIndexAt
This fixes a minor bug in VisualIndex triggered when calling
resizeSection with size 0 (but not hideSection).

It is mostly cosmetics - however hopefully there will soon
be a minor refactoring and there is really no need to make
strange code to keep a semantic bug.

However it is also doubtful to make a semantic change
while refactoring.

Change-Id: Ide153e421fd7a634062cb74867f4a49da4bf9cd6
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-02-10 00:27:44 +01:00
Andreas Holzammer
2b42987d0a Dont build printer support for Windows CE.
Windows CE has no printing support, so we
can disable this.

Change-Id: I0ec83dff2d045de56d613cd676e9eb290145bf41
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-02-10 00:27:44 +01:00
Friedemann Kleint
41914453d3 Introduce QScreen::grabWindow(), deprecate QPixmap::grabWindow().
WId can be local to a screen.

Change-Id: I09ca71313836a34dbf33289b254c80207a956bb1
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-02-09 21:35:52 +01:00
Kai Koehne
be98fa32c7 Allow customization of qDebug output at runtime
Check the QT_OUTPUT_PATTERN environment variable in the default
message handler to customize the output of messages. Following
place holders are right now supported:
 %{message}, %{type}, %{file}, %{line}, %{function}

The original cleanupFuncinfo was written by Thiago Macieira.

Change-Id: I6ad25baaa0e6a1c9f886105d2a93ef3310e512a9
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: David Faure <faure@kde.org>
2012-02-09 18:11:21 +01:00
Nick Ratelle
e7e8799304 Initializes seqDumpPos on qiodevice.cpp
This was spotted by RIM static code checking team. seqDumpPos is a dummy
variable which is only used on sequential mode. It is used as a
simultaneous storage area of both pPos and pDevicePos when in sequential mode,
to keep both in sync. They just suggested that it would be a good practice to
initialize the variable, since it does not have any side effect, and there's
not much value on not doing it.

Change-Id: I8138729eb31df5779c91b368c2cfaecd39788f29
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
2012-02-09 17:45:38 +01:00
Laszlo Agocs
d5268eabfb Add event type for TouchCancel.
Change-Id: Id8b68e5cb19a2a325139e3241647cc36581cf6f8
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-02-09 13:13:37 +01:00
Jiang Jiang
4af285c7d1 Preserve weight and style request for multi font engines
So that fallback fonts can pickup the weight/style requested instead
of using the weight and style of the primary font.

Change-Id: Ia592e079cad61334f21e0453412b198a900bb6b6
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2012-02-09 12:54:29 +01:00
Teemu Katajisto
7aca5aa910 Various documentation fixes ported from 4.8
Selected documentation fixes for qtbase from 4.8 commit
40fb4750910e23d3e7128ca8e0f1c5920b05bd5a

Task-number: QTBUG-8625
Task-number: QTBUG-19808
Task-number: QTBUG-1231
Task-number: QTBUG-21073
Task-number: QTBUG-8939
Task-number: QTBUG-20399
Task-number: QTBUG-20944
Task-number: QTBUG-22095
Task-number: QTBUG-11278
Task-number: QTBUG-15653

Change-Id: Ia4f59fce7c85f04b6da953a3988f705d9d9a658a
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-02-09 12:51:57 +01:00
Albert Astals Cid
651016020f Take into account shaping in findRealWindow
It can happen that there is a window covering all the screen but it is shaped
to only take part of the screen. If that happens, besides the condition of
   QRect(attr.x,attr.y,attr.width,attr.height).contains(pos)
we also need to query the server for its region rectangles and make
sure the cursor is inside one of those rectangles. If that does not happen
we have to return 0 so the hierarchical xcb_query_tree_children xcb_query_tree_childrenntinues

Change-Id: I67327672e3d854d064190b55a07bd56ade4dfddb
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-02-09 10:50:20 +01:00
Jiang Jiang
3e720809b0 Eliminate a warning
Change-Id: I984821d90df272b85d02c6ee0db5a89174d80873
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2012-02-09 10:46:34 +01:00
Andreas Holzammer
ef7fd67845 Replace Q_WS_WINCE against Q_OS_WINCE.
Window system Macros where deprecated so use
Q_OS_WINCE for now. This code will need
some refactoring, but this is the first
step to it.

Change-Id: I5876b80ee45d4b38ac63fc7d51e775dc70bbd485
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-09 10:45:38 +01:00
Mark Brand
68cee5258b QSqlTableModel::insertRecord(): clean up after failed setRecord()
Change-Id: Ic9f314144bd3ccf4b59b9cb3f0d79f8d6f97a824
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
2012-02-09 10:45:38 +01:00
Andreas Holzammer
9c99f23ffb Remove leftover show() prototype.
In Qt4.8 this was declared in qwidget_wince.cpp. It
was for auto maximizing. This would need to go
into lighthouse if needed. This fixes the Windows CE
compile.

Change-Id: I6fe8361f745e16d9e8053ab58eb76ead0b22d261
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-09 10:45:38 +01:00
Mark Brand
a58e630b61 QSqlTableModel::setRecord(): improve handling of field mapping
-Only use fields where generated flag is set to true.

-Require all fields to map correctly. If fields don't map, that is a
sign of a programming or user error.

Change-Id: Ie8474393005de6c9926b4e46985d62b194eafde2
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
2012-02-09 10:45:38 +01:00
Mark Brand
40afbf3deb QSqlTableModel::insertRecord(): correct documentation
Change-Id: I35680f842a650493cf530c0b74894e2b45aa3c6e
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
2012-02-09 10:45:38 +01:00
Andreas Holzammer
76804c842f Don't link shell32 for Windows CE.
Windows CE normally don't come with a shell32,
so its better to don't use it.

Change-Id: I7198b5fadb0dfe37d1321800371110b7b407f577
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-09 08:40:18 +01:00
Gunnar Sletta
0efb8a7ee3 Avoid advancing animations outside the animation "tick"
We have logic to prevent animations from starting in the middle of
an animation as a result of a previously slow frame. This was
based on current time, not the animation driver time and would
cause severe jumping when custom animation drivers were being used.

Also, this logic would trigger multiple animation runs per frame,
which is very bad for performance, so this change introduces a
threshold of 50ms to compensate for that. 50ms because that is
triplebuffer limit.

Change-Id: I1c7ebac30060e849d03c14d62411c2b953854d98
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
2012-02-09 00:32:41 +01:00
Andreas Holzammer
88f15faa4a Fix compile with QT_NO_OPENGL.
Change-Id: Icade54a6e3b43fdc9c151efbc25adcef6b7e41d6
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2012-02-09 00:32:41 +01:00
João Abecasis
0c97840708 Introduce Q_DECLARE_OPAQUE_POINTER
To hide the IsPointerToTypeDerivedFromQObject monstruosity :-)

Documentation for Q_DECLARE_METATYPE and qRegisterMetaType was updated
to mention requirements on registered types and how they can be
circumvented for pointer types with the new macro.

Change-Id: If83b037a8e2f28761eb903525e87008107298801
Reviewed-by: Harald Fernengel <harald.fernengel@nokia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-02-09 00:32:41 +01:00
Stephen Kelly
14577726ee Build with QT_NO_CAST_FROM_BYTEARRAY
Change-Id: I9069b61c6247bdff323e2e5e93b70e42c3504201
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Reviewed-by: David Faure <faure@kde.org>
2012-02-08 22:29:12 +01:00
Andreas Holzammer
22e0948bc3 Fix compilation of Menubar for Windows CE.
Use QApplicationPrivate::getHWNDForWidget for getting
the HWND for Widgets. The Menubar needs refactoring,
but the API for native Menubars is not in place yet,
so fix it temporarily.

Change-Id: I090cca99d19aa881c2f41b54005a65f3ae67ae68
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-08 19:44:07 +01:00
Andreas Holzammer
c85eeaec7c Add missing include of qdrawutil.h
Change-Id: Ifda1e3a0fbe1ee3431374722878d5cde86ef3916
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-08 19:40:38 +01:00
Nick Ratelle
ee592fc042 realpath(X,0) IS supported on QNX.
Adds check for Q_OS_QNX to force
QFileSystemEntry QFileSystemEngine::canonicalName() use realpath(X, 0) on QNX
as well.

Change-Id: Id0a32277e6d043753c42101c91a393ebedb48a0a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-08 18:49:40 +01:00
Samuel Rødal
547a1f5305 Fixed CustomDashLine drawing bug.
The bug was caused by attempting to stroke an empty subpath. If there
have been no line-to's emitted we should not try to join the start and
end of that line segment.

Task-number: QTBUG-23248
Change-Id: I38b7e955ed6683f8fc25f9551e93b4f472c022bf
Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
(cherry picked from commit 593947ba70188df3d33efe031fab2fd255faa8b9)
2012-02-08 16:42:20 +01:00
Andreas Holzammer
c95a953061 Use qgetenv instead of getenv.
Use the Qt Version because platforms
like Windows CE don't support getenv.

Change-Id: I95ca4d7194e09889ab228af80e679a3c34479e41
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-02-08 16:42:20 +01:00
Stephen Kelly
ae85d7c965 Treat pointers to QObject derived types in QVariant specially.
It is possible to do this for example:

QVariant v = QVariant::fromValue<MyCustomQObject*>();
QObject *object = v.value<QObject*>();

This means that if a QVariant contains a pointer to a QObject
derived type, third parties can extract a QObject* and use its
properties without knowing the concrete type.

This is a source compatible change.

Change-Id: Iee9a9437e99cc2f40d1a4bfea47275482ef7161f
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
2012-02-08 14:43:18 +01:00
Kai Koehne
e85c0862d9 Mac: Fix compilation with -qtnamespace
Change-Id: I85559b6698103eef865464a355d9b00012dcbd5f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-08 14:43:18 +01:00
Mark Brand
7b726900ec QSqlTableModel::setRecord(): emit dataChanged() consistently
Previously, if any fields in the supplied record could not be matched
with a column in the target table, dataChanged() was supressed for all
columns for OnManualSubmit. This is not good because it prevents other
views from noticing the fields that *do* change.

It's simplest and probably more efficient just to emit
dataChanged() once for the whole row. Fewer signals need to be
processed and in typical cases much or all of the row is likely to
be changed anyway.

Change-Id: Ib56bf9a18e51b9cb85771acefcb2bf26e295a54e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-02-08 14:43:18 +01:00
Mark Brand
5953304bc5 QSqlTableModel::setRecord(): do not try to detect value changes
In an apparent attempt to be economical with emitting dataChanged()
and submitting SQL to the databse, setRecord() compares each field
value of the record with the old value, taking action only when
a difference is detected.  Several complaints against this code are:

-The comparision does not work on float type.

-It is really up to the application and database to decide this. The
model should make few assumptions. The application has the option to
omit fields from the record that should be ignored.

-The current behavior seems to assume that the "old" values are the
current state of the database, but the database may have changed since
the model was last refreshed.

-The code compares the value from record(), which probably
corresponds to the EditRole, with the DisplayRole value from data().

Change-Id: I11477c185eb411d442144dc682893d0df12d03d5
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-02-08 14:43:18 +01:00
Mark Brand
f5e58a1f69 QSqlTableModel::setData(): submit() instead of updateRowInTable()
Use submit() instead of calling updatRowInTable(). The effect is
exactly the same. Submit() invokes submitAll() which invokes
updateRowInTable(). The cache is purged and select() is called only
on success.

Change-Id: I3de9a3d6acf802ee6594d034a9e261e53637995d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-02-08 14:43:18 +01:00
Mark Brand
678d56ccf1 QSqlTableModel::setData(): call dataChanged() before select()
Emit dataChanged() before a possible new select instead of after.
The select reinserts all the rows, emitting signals for that, so
there isn't any point to dataChanged() afterwards.

Change-Id: I698a0d385f97104891343d94cc27e4ecf3a7233c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-02-08 14:43:18 +01:00
Mark Brand
f3138fa080 QSqlTableModel: do not suppress dataChanged() on inserted record
Affects setData() and setRecord().

Previously dataChanged() was suppressed when editing an inserted
record, except for OnManualSubmit. The motivation was probably to
allow setData() to be used while handling primeInsert().

Suppressing dataChanged() is not a good idea since views other than
the one which made the change will not know of the change.

It is a terrible idea to call setData() or setRecord() while
handling primeInsert(), so this is now expressly forbidden.
setData() and setRecord() now do nothing and return false if called
while rows are being inserted.

Change-Id: I96738c09a6268704c5626d95b72bfb46378e3242
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-02-08 14:43:18 +01:00
Mark Brand
471cd624e6 QSqlTableModel::setRecord(): use submit for OnFieldChange
submitAll() is supposed to be for OnManualSubmit.

Change-Id: Id0335fe731669bd24e1da72ab4724f88d6f1d905
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-02-08 14:43:18 +01:00
Oswald Buddenhagen
dd84eab9d8 fix msvc 2008 warning about downcasting to bool
the compiler doesn't have static_assert yet, so we ran into the path
which was not fixed by 10229ae.

use !!() pattern instead of bool() cast, as the latter throws off macx
(see 95d7abb). the other alternative - a c-style cast - would cause
autotest failures (see 92464fa), and would be ugly anyway.

Change-Id: Idbe9a3b60e17ae1f566f938d9b9be04f0c977492
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
2012-02-08 14:43:18 +01:00
Pasi Matilainen
6dc85408cd QTextEdit cursor position fix when moving left/right with selection
When text has been selected in a QTextEdit and the left or right arrow
key is pressed, the cursor moves one character beyond the start or end
of the selection, when it shouldn't move past the selection. Fixed by
moving the cursor to the right place when a selection is active.

Task-number: QTBUG-22853
Change-Id: I9ea1863436db98627a6fd041ce554cf10be26493
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
(cherry picked from commit 1b031759ddfdab9703dfecac13f1ed318da3dafe)
2012-02-08 12:37:22 +01:00
David Faure
0a8671fe50 Fix compilation with -Werror -Wshadow
Change-Id: I2ef8f288415820fa08e5bab8b99a00b1ad0f2988
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-08 12:37:06 +01:00
Bradley T. Hughes
43a6739beb Use Q_PROCESSOR_* when chosing an atomic implementation
Use the new Q_PROCESSOR_* macros to decide which headers to include in
the atomic implementation. This also removes qatomic_arm.h, which isn't
needed anymore, just select the correct qatomic_armv*.h from
qbasicatomic.h

Change-Id: I954848feafb8c420949d066ffcee1dd2b271e13b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-08 12:33:26 +01:00
Bradley T. Hughes
eebc124f4c Add qprocessordetection.h
This detects the target processor based on preprocessor #defines,
setting Q_PROCESSOR_${FAMILY} accordingly. Optional
Q_PROCESSOR_${FAMILY}_${REVISION/VARIANT} #defines are also provided,
usually dependent on how the compiler is invoked.

Currently detected families (and variants) include:

ARM (v5, v6, and v7)
X86 (i386 and x86_64, as X86_32 and X86_64 respectively)
IA-64
MIPS (I, II, III, IV, 32, 64)

Other families that currently are not detected, but Qt has (or had)
support for include:

Alpha
AVR32
Blackfin
PA-RISC
PowerPC (optional 64-bit variant)
S390 (and S390X 64-bit variant)
SH (and SH-4A)
SPARC (SPARC V9)

Detection for these is currently commented out, and can
be easily enabled later.

Change-Id: I571f245c189b9d80c7c3a5369ac595a271f37c8b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-08 12:33:11 +01:00
Andreas Holzammer
bf69cc9332 Fix QProcess compile for Windows CE.
There are no Pipes under Windows CE,
so take out the pipereader.

Change-Id: I3e6afd403ed36e86a8694674f6c4798f1226ff74
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-02-08 12:16:35 +01:00
Andreas Holzammer
e999156cb4 Disable Assertion messagebox for unittests.
A messagebox will be shown for an assertion in
debug mode. This introduces a need for user
interaction to proceed the execution of the
unit test. Setting the Report mode to debug,
will only print the assertion to stderr.

Change-Id: If8ae80ea96d6608cba77b9c6ca176f97d1680932
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-02-08 09:53:23 +01:00
Kim Motoyoshi Kalland
5240055e08 Fixed source composition with opacity in the raster paint engine.
Task-number: QTBUG-24075

Change-Id: I2b9263364bf30fb8c914823e80e7ea4a8af26035
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2012-02-08 09:53:23 +01:00
Andrew den Exter
979cb5a09e Initialize dynamic meta object extradata.
QMetaObject::invokeMethod attempts to deference the extradata for
meta objects versions 6 and greater which is causing a crash in some
of the qtquick1 tests.

Change-Id: If5b2ca83b15de2cd558976c6b681dd5457c404d1
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
2012-02-08 09:53:23 +01:00
Jędrzej Nowacki
09900d3dc5 Fix position of a comment.
The comment was wrongly placed. It describes v_cast function.

Change-Id: I2390e4bf1fc19136bbbecbae4be83d5320ca244f
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-02-08 09:53:23 +01:00
Jędrzej Nowacki
0da03ac969 Code cleanup and micro optimizations in QMetaType.
Change-Id: I0fbd713fcdf094f9d13acee855b6dd6986695e0d
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
2012-02-08 09:53:23 +01:00
Andreas Holzammer
8e91e84e85 Don't include qguifunctions_wince.h in QtCore.
qguifunctions_wince.h does not live anymore in
QtCore, but instead in QtGui, so do not include
them in QtCore.

Change-Id: I22222ae7045ee0140924197ac583a3bf2e0f3d36
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-02-08 09:53:23 +01:00
José Millán Soto
4c9266fd16 Make copy and cut methods work in QAccessibleTextEdit
Correct the implementation of cutText and copyText in QAccessibleTextEdit so
they use cut() and copy() methods of QTextEdit

Cherry picked from Qt 4 - 36202cf8fca822492615d418bd563a40bee4af08

Change-Id: I86a531ed7059b1a928cb8515c2743d4d8b596b36
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2012-02-08 07:48:46 +01:00
Rick Stockton
389c5f4a52 Add 'AllButtons' into Qt::MouseButton enum, for use by QML
This allows the QML programmer to set 'acceptedButtons', for a
MouseArea, to accept all buttons with a single value. In
comparison with OR'ing a long list of Qt::MouseButton values,
this is shorter, easier, more clear, and less error-prone.

Task-number: QTBUG-24106
Change-Id: I0259969223c0b44b6ce8ae84aed37d20cb77999b
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
Reviewed-by: Martin Jones <martin.jones@nokia.com>
2012-02-08 05:16:33 +01:00
Jonathan Liu
029bad8b5a Fix compilation with MinGW-w64
Fix compilation with MinGW-w64 with the following changes:
- Include intrin.h to fix __cpuid not declared error
- Include intrin.h before *mmintrin.h headers to avoid extern linkable
  mismatch
- Use quintptr instead of unsigned long to handle LLP64
- Do not declare winuser.h structs already provided with MinGW-w64
- Work around IID_IShellItem being declared but not defined with
  MinGW-w64
- Remove incorrect use of SUCCEEDED macro on pointer

Change-Id: Ia21f8e3a1d225cf501e646eacd968bfc744ce0a2
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-08 03:13:32 +01:00
Friedemann Kleint
a313db2c81 Fix warnings in input contexts.
Change-Id: Idbd46b8bfe73015cce98d510992b3bb57c1e1ded
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
2012-02-08 03:13:28 +01:00
Stephen Kelly
3a706b17d3 Add the mkspecs dir to the include dirs.
Change-Id: If844785d7d3645c33e0fcb1206cc52f8ab644070
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-02-08 03:13:26 +01:00
Jason McDonald
26c41ed918 testlib: Clear ignored messages after every data row
Previously, ignored messages were only cleared at the end of each test
function, i.e. after all data rows were finished. This meant that if a
data row in a data-driven test function didn't cause all of the expected
messages to be generated, the remaining messages would be carried over
to the next data row.  This would result in errors about missing
messages being associated with the last data row rather than with the
correct data row.

This commit makes testlib check for missing ignored messages after
running each data row rather than only doing so after the last data
row.

This commit also adds a regression test to demonstrate that ignored
messages can no longer be carried over from one data row to another.

Change-Id: Ibee51aa6e96866fbcbcb4acee1a8340a86a6a4ba
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-02-08 03:13:23 +01:00
Jason McDonald
da18ada6bf testlib: Clear expected failures after every data row.
Previously, expected failures were only cleared at the end of each test
function, i.e. after all data rows were finished.  This meant that if a
data-driven test function called QEXPECT_FAIL and then didn't perform
any further verification steps to trigger the expected failure, the
expected failure would be carried over to the next data row, probably
causing the first verification step in the test function to XPASS (with
a seemingly irrelevant error message) for the next data row.

This commit adds the new function QTestResult::finishedCurrentTestData()
to cleanup after each data row is executed.  This function treats calls
to QEXPECT_FAIL without subsequent verification steps as a test failure.

This commit also adds a regression test to demonstrate that expected
failures can no longer be carried over from one data row to another. If
run against the previous version of testlib, the new test would report a
pass instead of an error.

Change-Id: Ida5c7f080815b0dca9531131fed582b0918334cb
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-02-08 03:13:21 +01:00
Laszlo Agocs
684a1559f0 Reorganize evdev plugins
linuxinput becomes evdevmouse. The experimental touch code is removed,
now the plugin's purpose is solely to generate mouse events from
absolute and relative pointer events.  The plugin key is EvdevMouse.

touchscreen becomes evdevtouch. The plugin key is EvdevTouch.

In case keyboard support appears some day, it will fit nicely in the
system by the name of evdevkeyboard or similar.

Some little udev code is moved to platformsupport so it can be shared
between the plugins. This may be extended later if more sophisticated
udev support is needed. N.B. the intention is to keep this as simple
as possible. We are shipping these plug-ins as reference examples, not
as full-featured drivers.

evdev and udev support has configure time tests from now on. This
means the "drivers" (generic plugins) will get built automatically
when the support is available.

Change-Id: Iaf6260b5c2edfb9f25d070d2764466725adc6b4e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-02-08 03:13:18 +01:00
José Millán Soto
009cd671ec Do not check isActiveWindow in QAccessibleWidget::state
QWidget::isActiveWindow() was being checked in QAccessibleWidget::state
to determine if a widget is focusable. As a result, focusable widgets
were reported to be not focusable when the window was not active.

Change-Id: I73c47181ed132a84f0251cb67d0e20912e29a1a6
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2012-02-08 03:13:10 +01:00
Mark Brand
269ef14215 QSqlTableModel::removeRows(): require valid full range of rows
If an invalid range of rows is specified, it's likely to be a
programming or user error. The old behavior of ignoring out of range
rows seems dangerous and complicates the code.

Also implement the documented behavior of returning false if
changes are unsuccessful for OnFieldChange and OnRowChange.
Previously the return value of submit() was ignored.

Updated and improved documentation.

Change-Id: Iaaf51c6d9a0c8c06fd5d186b4b88358fbeab9936
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
2012-02-07 22:05:51 +01:00
Mark Brand
f5e1da12f0 QSqlTableModel::removeRows(): don't emit extra beforeDelete
Qt 5 seems like a welcome opportunity to stop emitting this
spurious beforeDelete signal.

Change-Id: Ib8628343ca9b8fdd85c154a206c7e2bf2c4c9dc1
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
2012-02-07 22:05:51 +01:00
Jonas Gastal
63f634322b Don't allow cd'ing to above root.
Task-number: QTBUG-23893
Change-Id: Ifc6e22f135a1f6bff7c0fa8bef3ea7e1042ae819
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: David Faure <david.faure@kdab.com>
2012-02-07 22:05:51 +01:00
Mark Brand
763d0a55e9 QSqlTableModelPrivate::ModifiedRow guard private data
Even though ModifiedRow is not part of the public API, guarding its
data helps make clear the intended patterns of use.

"op" and "primaryValues" are read-only after construction.

setValue() encourages maintainers to let ModifiedRow manage the
"generated" flags of the record.

The primeInsert() signal still exposes the actual record, including
the "generated" flags, which is the justification for recRef().

Change-Id: I16d1610a8f9233af78b90662b08706b48ea19c41
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
2012-02-07 22:05:51 +01:00
Mark Brand
1247683d40 QSqlTableModelPrivate: deduplicate field stripping logic
Change-Id: Ic969a192644e84d78558da0f19e588033e4af43d
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
2012-02-07 22:05:51 +01:00
Bradley T. Hughes
7e4232f10a Fix src/concurrent/concurrent.pro
First, heed the warning from qmake and add load(qt_module) to the
top of src/concurrent/concurrent.pro

Second, qtconcurrentversion.h is in src/concurrent, not src/xml

Change-Id: If4fc55ac2fe21c093023b377195ed82a54d8c963
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-02-07 20:05:12 +01:00
Andreas Holzammer
194d2ca5c3 Use Q_OS_WINCE instead of Q_WS_WINCE
Window system defines have been deprecated,
so use Q_OS_WINCE instead.

Change-Id: I52059d0f854fe783ac20610ab248800c3e1e827c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-07 20:04:44 +01:00
Andreas Holzammer
3cb871241a Fix compilation with QT_NO_PRINTER.
Change-Id: Iacfa47b8d384461ce08202a9a8e1642288cbe1e6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-07 20:04:04 +01:00
Jonathan Liu
b03cabc4cd Change WId to be a quintptr.
Fix compilation with MinGW-w64: Use quintptr instead of
unsigned long as WId needs to be able to cast to
HWND which is a 64-bit pointer on Windows 64-bit.

Acked-by: Samuel Rødal <samuel.rodal@nokia.com>

Change-Id: I7bbe83ce02b739eb04218ca4b6b478509347d515
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-07 20:03:50 +01:00
Andreas Holzammer
de7e3a7db7 Fix include of resource file.
The file was moved, but got never renamed.

Change-Id: I4f13d87976cf35a1e14b9a8c178050332f45b7ee
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-07 20:03:43 +01:00
Friedemann Kleint
8e1107fb22 Fix compiler warnings in accessible code.
- Add missing return value.
- Remove unused static functions.

Change-Id: I0271cacc2a01b33209c4d9d2d958ad89924f8951
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2012-02-07 20:03:43 +01:00
Kim Motoyoshi Kalland
9c31f6793e Fixed jagged lines when drawing scaled image with raster engine.
Task-number: QTBUG-24055

Change-Id: I97a0bf3711e1b4423e2c76ec907c9e2a57522ff9
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-02-07 15:52:31 +01:00
Kim Motoyoshi Kalland
ba1cf5dae3 Removed image format specific template functions in raster engine.
Simplified the raster engine by treating image formats in a more
generic way and removed some unused code.

Change-Id: Ib3979a1a6e3e6f17c5002248545779ec36fff7c9
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2012-02-07 15:52:01 +01:00
Andreas Holzammer
fe2344bd44 Use the QNX implementation of mkdtemp for win and wince.
There is no mktemp for Windows CE, nor mkdtemp. So use the
implementation for QNX for Windows CE too, to simplify
the implementation use it for windows too.

Change-Id: Icddaf474a2d696752d8f9774fb4f033454e34e83
Reviewed-by: David Faure <faure@kde.org>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-02-07 12:48:23 +01:00
jian liang
e09025c1b6 fix memory leak of QLibraryPrivate
this commit is aimed to fix QTBUG-4341. now QFactoryLoaderPrivate's
destructor will call unload() to QLibaryPrivate object which will destory
the plugin's root instance if its refcount reach zero.

Task-number: QTBUG-4341
Change-Id: I3cd3e071b34271bf5802ab09f6c125beda5e9844
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: David Faure <faure@kde.org>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-02-07 12:48:06 +01:00
Bradley T. Hughes
3722bc5d3c Ensure that posted events are sent by Q*Application::processEvents()
Commit b7ca6a81db removed a call to
sendPostedEvents() that deemed unnecessary. Unfortunately, it is
necessary, as shown by the
tst_QScriptEngine::processEventsWhileRunning() test in the QtScript
module. Re-add the call, but only when not waiting for more events.

Change-Id: I648d66dd3ba484ad9e9a93fc03a9792cca5035c6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
2012-02-07 12:47:25 +01:00
Caroline Chao
36f5cc848d CodeCoverage: Save coverage data in QTestLog::stopLogging()
Currently when tests are crashing, aborting or hanging, their status are
reported with a status "Unknown" because SaveCoverageTool is never called
for them. The status of the test given by the coverage tool should be the
same as the one reported in the log output when the test is run. This change
will allow more accuracy in the status reported.

Add QTestResult::setCurrentAppname and QTestResult::currentAppname.
To retrieve the name of the current application running.

Task-number: QTQAINFRA-460

Change-Id: Icc476dc2d6cb28185e5447f1e79da6a8a31cad54
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
2012-02-07 12:43:34 +01:00
Friedemann Kleint
6a75785f49 Compile with -no-freetype.
Fix breakage introduced by
3f75fb8d8f.

Task-number: QTBUG-24091
Change-Id: I322bbab382a5e375dccd4273c70a0ed8b525d125
Reviewed-by: Jonathan Liu <net147@gmail.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-07 10:12:33 +01:00
João Abecasis
5a92dd6124 Detect incompatibilities in repeated type registration
QMetaType used to register a typeName and factory functions for
creation/destruction of objects. While it would be possible for a single
type name to be registered matching different actual types and memory
layouts, there was little that could be done about it.

Now that QMetaType is tracking type information with a direct impact on
data layout and ABI (size and type flags) it is important that we check
and detect binary incompatibilities as early as possible.

[Such incompatibilities could arise from type name re-use (technically,
ODR violations) or, more commonly, as version mismatch between different
shared libraries or plugins.]

Only type size and flags are checked as function pointers to inline and
template or otherwise non-exported functions could trivially differ
across translation units and shared libraries.

When registering typedef types, a check is made to ensure the same name
doesn't get registered as different types.

Change-Id: I8211c3de75d4854ce8fafdb620d3a931c206e0c3
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
2012-02-07 09:47:51 +01:00
Jędrzej Nowacki
b8cf1d6bdc Remove QMetaType::unregisterType().
The function hasn't been working properly. It was not well tested, for
example it is undefined how QVariant should behave if it contains an
instance of an unregistered type.

Concept of unregistering types was inspired by plug-in system, but in
most supported platforms we do not unload plug-ins.

Idea of type unregistering may block optimizations in meta object
system, because it would be not possible to cache a type id.
QMetaType::type() could return different ids for the same name.

Currently QMetaType::unregisterType() is not used in Qt.

Change-Id: I878b6e8d91de99f9bcefeab73af2e2ba0bd0cba0
Reviewed-by: Prasanth Ullattil <prasanth.ullattil@nokia.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
2012-02-07 08:53:18 +01:00
Jędrzej Nowacki
56265031b7 Align QVariant::UserType and QMetaType::User
There is no point in keeping separate values which should mean the
same.

QVariant::UserType was used also to construct a valid, null QVariant,
containing an instance of unknown custom type. The concept was strange
and useless as there was no operation that could be done on such
QVariant. Therefore it was dropped.

Please note that the patch slightly changes behavior of different
functions accepting a type id as parameter. Before QVariant::UserType
was an invalid type from QMetaType perspective (id 127 was not assigned
to any built-in type), but QMetaType::User points to the first registered
custom type.

Change-Id: I5c7d541a9affdcdacf53a4eda2272bdafaa87b71
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Reviewed-by: Andrew Stanley-Jones <andrew.stanley-jones@nokia.com>
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
2012-02-07 08:52:32 +01:00
Bradley T. Hughes
4a1f1b9be0 Make syncqt ignore qsystemdetection.h and qcompilerdetection.h
Remove the #if 0'd blocks and instead add these headers to
sync.profile's @ignore_for_include_check, as documented at

http://wiki.qt-project.org/Creating_a_new_module_or_tool_for_Qt#other_fields

Change-Id: I3bd6e8cb21eca139fdca10fe970eeaf2e4e77c24
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-02-07 03:40:40 +01:00
Jan-Arve Saether
1564b393fe Compile MSVC2008
Change-Id: Ie89ec4095e8865dbc4781bff0db70f35d239664e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-06 20:43:54 +01:00
Samuel Rødal
dbe89db686 Fixed typo in QOpenGLContext warning message.
Change-Id: I967279f4b4875ae80ce45744d559fc7380bc0125
Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
2012-02-06 16:49:55 +01:00
Laszlo Agocs
16c4224568 Destroy the QWindow children in destroy() instead of close()
When closing a window, destroy() ensures a setVisible(false) call only
for the window itself, not for other windows parented to it. With the
new quit lock ref feature this breaks code that creates a fake root
window parented to the main, visible window. (for example the
xcomposite backends of qtwayland do this)

Such apps do not anymore exit after closing their window because the
children do not receive a deref due to setVisible not getting called.
(At that point. It would get called after exiting the event loop but
that never happens due to the refcounting)

Change-Id: I124737c80ad59600ddc79261100f3904af0f410d
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-02-06 16:48:22 +01:00
João Abecasis
5d255789cd Remove dependency on QFSFileEngine
The code was hard-wired to use QFSFileEngine to determine platform
preference for file system case sensitivity. In this case it is cheaper
to use private API and directly access the information in
QFileSystemEngine.

This change is also necessary because file engines are being dropped
from the public API.

Change-Id: I5015d5fdb3979af9ff2d114084053ad06220d834
Reviewed-by: Shane Kearns <ext-shane.2.kearns@nokia.com>
2012-02-06 16:48:22 +01:00
João Abecasis
eeb9861a91 Inline information about FS case sensitivity
As far as Qt is concerned, this information is static and depends only
on the platform. By moving the definition to the header we allow the
information to be directly used by the compiler, forgoing the need to
export the function to interested users.

Change-Id: I43de585391d41204d3c3560ac6e65e5a88aee11c
Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
Reviewed-by: Shane Kearns <ext-shane.2.kearns@nokia.com>
2012-02-06 16:48:22 +01:00
jian liang
effbc9edc5 Fix memory leak of QFontEngineBox object
Delete QFontEngineBox object in QFontDatabase::load() if the object can not
be used.

Change-Id: Ifb055809703fb6be92f41fd56658198df30837fd
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2012-02-06 16:48:22 +01:00
Jędrzej Nowacki
1bc8af96c9 Add missing header in kernel.pri
qobject_impl.h file was missing.

Change-Id: I1701808595933c2462cbc8151961cf9bf9791b64
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-02-06 16:48:22 +01:00
Jiang Jiang
a3566649d1 Add distance field generation functions from Scenegraph
Since we may use distance field text rendering in raster, these
functions need to be moved from declarative to QtGui.

Change-Id: I158bc3bae02b5590ae812f06ad7a78a5914bcb9e
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2012-02-06 16:48:22 +01:00
Friedemann Kleint
8cb26f8511 Complete split of QtConcurrent.
- Fix exports.
- Fix tests.

Acked-by:  Thiago Macieira <thiago.macieira@intel.com>

Change-Id: I2df923ba74b468f5ee09b3a48ae3d09920751365
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-06 16:48:22 +01:00
Bradley T. Hughes
86ee853f47 Silence syncqt warnings for atomic implementation headers
Most of these headers are either forwarding headers, or we explicitly
stop syncqt so that it doesn't generate class includes for the atomic
implementation. Either way, syncqt doesn't see the QT_END_* (and
sometimes not QT_BEGIN_*), which this commit fixes.

Change-Id: Icc8da6f384f38b1ff4eb265c731ce2f2ed92a1a3
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-06 14:50:43 +01:00
Bradley T. Hughes
73e8ba9aff Change #include "qlogging.h" to <QtCore/qlogging.h> in qglobal.h
This silences the warning from syncqt:

QtCore: WARNING: qtbase/src/corelib/global/qglobal.h includes qlogging.h
when it should include QtCore/qlogging.h

Change-Id: I64bd92898190031eb0d3d1dfa5ba5bc56db01c00
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-06 14:50:36 +01:00
Bradley T. Hughes
475cef58f9 Move compiler detection from qglobal.h to a separate header
qcompilerdetection.h is included from qglobal.h, and does all Q_CC_*
and compiler feature detection.

Change-Id: Idd06054e172ef6fa73774e26fa38753996c4161b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-06 14:32:32 +01:00
Bradley T. Hughes
ba3dc5f3b5 Move operating system detection from qglobal.h to a separate header
qsystemdetection.h is included from qglobal.h, and does all Q_OS_*
detection

A side-effect of this change is that QT_BEGIN_HEADER and QT_END_HEADER
started being defined on Mac OS X, which ends up breaking the build
in some cases. Since QT_BEGIN_HEADER and QT_END_HEADER have been
defined to nothing in the past, even on Mac OS X, change these 2
to be unconditionally defined to nothing.

Change-Id: Ibc8a0aa2207664741c25627d7621e006c2ce80d3
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-06 14:32:09 +01:00
Friedemann Kleint
3282b060d1 Windows XP style: Fix warnings wrt retrieving HANDLE from 0-window.
Exclude invisible top level dialogs for whom a native
dialog is being shown from top-level search.

Change-Id: Ia94599905457d81d342c14d09ad0b0fc89ec4ab1
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-06 10:15:09 +01:00
Jan-Arve Saether
1d18fd0164 Remove QAccessible::FocusChild, add focusChild()
Also cleanup (reduce) all implementations of navigate() in order
to make the final removal of navigate smoother.

Change-Id: I2c216db8f5b2e40afcce8f859fc775053adc2fe3
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2012-02-06 10:15:09 +01:00
Frederik Gladhorn
fdf9ee1291 Add accessible role Terminal.
Forward ported from Qt 4.

This is used to mark the role of VTs, terminal emulators.
Needed in order to know about the special editing behavior.
In order to make for example KDE's Konsole accessible this is required.

reviewed-by: jan-arve sæther <jan-arve.saether@nokia.com>
(cherry picked from commit 8ca33c6f1643ab5e89699fbf8b80bfaae108b1e5)

Change-Id: Ic7beb2ae2ee70f2c526c7ec5bf982bec7ba9feda
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2012-02-06 10:15:09 +01:00
Rafael Roquetto
c051d3350e Use available geometry when maximized.
Use the available geometry as a maximized window would fit on the
desktop in the available area (some space is used up by task bar,
system menu, etc.) as opposed to the fullscreen geometry which
would be the entire screen.

Change-Id: Ifa7046c5b13e162727a9b3a54178690c631cc969
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Anselmo L. S. Melo <anselmo.melo@openbossa.org>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-02-06 08:21:06 +01:00
Mark Brand
60f24ec608 reduce cost of checking cache for data() and headerData()
Assume requested row is usually not cached.

Change-Id: I7727b431cc3841528aa6390400b93b1218773e65
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
2012-02-05 17:50:44 +01:00
Mark Brand
e5c8927fe8 QSqlTableModel::setData(): comment historical idiosyncracies
Change-Id: I5c4782e18dc7a471dc294a4146db04f1efd3ed2e
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
2012-02-05 17:50:39 +01:00
Mark Brand
f6e3f24683 refactor QSqlTableModel::setData()
-move logic out of switch statement
-clear cache more clearly for OnFieldChange
-call setValue() in one place instead of two
-eliminate extra return path

Existing idiosyncracies have been kept for the time
being.

Change-Id: Ia4c5a5fd3e374b53e3c4d870f2ee9d37b5090917
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
2012-02-05 17:50:35 +01:00
Mark Brand
11bd543d90 refactor QSqlTableModel::setRecord()
-Do not use setData()
We're using ModifiedRow now so it makes sense to buffer the changes
and submit the row at once. This improves readability and
encourages further haromonization of the editing strategies.

-No longer need temporary change to OnRowChange
Previously, the strategy was temporarily changed from OnFieldChange
to OnRowChange in order to obtain the desired behavior from setData().
Now, since we don't use setData(), we can program the desired behavior
here and don't need this trick.

-Comment historical idiosyncracies/bugs

Change-Id: I6d9e2a69e1571a74c630ad1392e15b60fc0ad3f2
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
2012-02-05 17:50:30 +01:00
Mark Brand
ccaa6734f1 merge private and public QSqlTableModel::setRecord()
Change-Id: I409bd32f85224db64363688d63fc372d1beaa0d3
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
2012-02-05 17:50:26 +01:00
Mark Brand
48c68b0546 ModifiedRow: use for all edit strategies
Previously ModifiedRow was used only for OnManualSubmit and
a seperate buffer and utility methods were used for OnFieldChange
and OnRowChange.

Also, initialization of the edit buffer is done by ModifiedRow
instead of a helper function.

Change-Id: I3316498e5bb10c416138ca14c3a7f8b143c8e544
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
2012-02-05 17:50:21 +01:00
John Layt
23457bd6d9 SIC: QLocale: Make QSystemLocale a private class
As discussed on list and approved by Lars and Thiago.

Make QSystemLocale private to give us time and space to change it to a
better implementation.

Change-Id: Ifd806972f3996c43a876f544f78c6557ad71cd75
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-02-05 17:50:04 +01:00
John Layt
29c4a27a94 SIC: QLocale: Remove base argument from conversion to number api
As discussed on list and approved by Lars and Thiago.

Remove the option to use QLocale to convert strings to non-decimal
numbers as they are not localised and the api is available in QString.

Change-Id: Ib810505ba86fb08ad23571b39f1520e86fde6787
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-05 17:49:56 +01:00
John Layt
1e3833bed8 QString: Make convert to number methods only use C locale
Ensure consistent conversions by not using the system default locale.

Change-Id: I60db9fc4f465c0254f3213419e57d7879aaddd65
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-02-05 17:49:42 +01:00
Lars Knoll
96501b0a18 Move QtConcurrent into its own module
Task-number: QTBUG-20892

Change-Id: I614500aafb6428915509983608bbb0ade4e4f016
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-05 17:49:16 +01:00
Jędrzej Nowacki
c9319f17f4 Do not crash trying to load or save QModelIndex.
QModelIndex doesn't have data stream operators loading or saving this
type should gracefully fail.

Change-Id: I6a1a3bab3f83ff4921369a07fdb54ac462eff554
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-02-05 13:06:02 +01:00
Jędrzej Nowacki
d97fd99270 Reimplement QMetaType::destroy.
New implementation is using QMetaTypeSwitcher, which should reduce
maintenance costs.

Change-Id: Ibb7bb4b9de0e19c081c087d9eebf0c709118d3b4
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
2012-02-05 12:33:30 +01:00
Nick Ratelle
72c0731122 Fixes QIconvCodec::convertToUnicode()
We need to hang onto the internal state of the utf16 converter
object whenever converting a long string to unicode. This was
failing with the text stream class -- the first read was okay,
but subsequent reads could not be correctly converted to unicode.

Change-Id: I9e2d445d51c9009591bfa7a1765ea2d09ae634a2
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-02-05 10:07:48 +01:00
John Layt
fc24979e43 QDateTime: Remove Julian Calendar
Convert QDate to only use Gregorian calendar and not Julian calendar
before 1582.  In future the Julian can be used via proper calendar
classes.

Change-Id: I547a3550332057a0ab1be616706630b6afaceffc
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-05 00:26:07 +01:00
John Layt
8327fa7c11 QDateTime: Store Julian Day as qint64
Store the QDate Julian Day number as an qint64 instead of uint32 to
enable support for dates before 2 January 4713 BCE.  This changes the
possible date range to be approx 2.5 Quadrillion BC to 2.5 Quadrillion
AD. A qint32 was not used as it only covers 5 million BCE to 5 million
CE which does include Geological or Astronomical time.

The effective supported date range is currently 4800 BCE to 1.4 million
CE due to restrictions in existing conversion formulas.  The effective
range will be extended later with new formulas.

Change-Id: Ib4345369455b31d4edae8c933b7721e76414e914
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-05 00:26:07 +01:00
Friedemann Kleint
3f75fb8d8f MinGW: Fix warnings.
- Special #define to access HB seems no longer necessary
  (it was causing about mismatching DLL import attributes).

Change-Id: I57cc7d57b12a67c1d549b053db81e1f198f87786
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-02-04 08:43:38 +01:00
Kent Hansen
b184dd0a01 Bring qmetaobjectbuilder in sync with moc
qmetaobjectbuilder should generate meta-objects of the same version
as moc; in the future, when the moc version is bumped, QMOB has to
be adapted at the same time.

QMOB was generating version 4 meta-objects. This patch makes it
generate version 6 (the current version). This also fixes a bug with
using qt_static_metacall with QMOB (setStaticMetacallFunction()); it
was already using the version 6 qt_static_metacall signature, which
isn't compatible with version 4.

Also add tests that ensure that the QMOB-generated meta-object works
with real objects; in particular we want to test the codepaths in Qt
that check for version >= 4.

Change-Id: I64a151ea5c947a6f8b7a00e85a39866446c735e9
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-02-03 15:09:03 +01:00
Kent Hansen
8bbb00e44e Adapt QtDBus to QVariant property type change
Commit 00c8984b4e changed other parts
of Qt to use QMetaType::QVariant, not 0xff, as the type for QVariant
properties. QtDBus should check for that type, and also use it for
QDBusVariant properties.

Change-Id: I21d81b59754ae44889766877a4c5066466b46d86
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-03 15:09:03 +01:00
Kent Hansen
4ec2b37542 Bring QtDBus meta-object generator in sync with moc
QtDBus's meta-object generator should generate objects of the same
version as moc; in the future, when the moc version is bumped,
QtDBus's meta-object generator has to be adapted at the same time.

Since QMetaObjectPrivate and related flags reside in qmetaobject_p.h,
QtDBus can just include the header instead of duplicating code.
qmetaobject_p.h also defines the meta-object revision QtDBus should
be targeting.

QtDBus was generating version 3 meta-objects. This patch makes it
generate version 6 (the current version). Since a new field was
added to QMetaObjectPrivate in revision 4 (signalCount), the
generator had to be adapted. In particular, the signal definitions
need to come before other methods (as they do with moc), since
there are functions in QObject that rely on that (e.g.
computeOffsets()).

Change-Id: I37f102d8c1be372ef6cfaf013baa87f9abb0fd5e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-03 15:09:03 +01:00
Friedemann Kleint
5117f55063 Fix compilation on MinGW.
- Add missing constant.
- Make FontKey a pair instead of a function-local type which
  cannot be used as template parameter for gcc.
- Fix warnings about redefinition of NOMINMAX and enumeration.

Change-Id: Ie3eb6e5b8dd9cd81210d6e10270ada0158aaf809
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-03 15:09:03 +01:00
Andy Shaw
5bab4744ba Handle the 'real' datatype correctly in the SQLite driver
The 'real' datatype should be seen as a QVariant::Double type and not as
a QVariant::String type otherwise it does not get presented correctly
when using a non Qt application to access it.

Test is included for QSqlQuery.

Task-number: QTBUG-16373

Change-Id: Ie323ce49eb95e4d6bb4c3814ba9a957a63f4b259
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
(cherry picked from commit b23631015c23a49e3b4d296ea0a6266bfce3d4f1)
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2012-02-03 15:09:03 +01:00
Jędrzej Nowacki
1175ec444f Fix a typo TypeDefiniton -> TypeDefinition.
If you repeat a typo often enough, it becomes the right spelling.
But 49 times is definitely not enough :-)

Change-Id: I7c0bb29e68e4bff5c67277f9874df8b3ab8b2b54
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
2012-02-03 15:09:03 +01:00
Bradley T. Hughes
4916510b01 Include qatomic_cxx11.h for C++11 compilers
qatomic_cxx0x.h doesn't exist.

Change-Id: Iac654ecf09a1b890d25fa23625c8c43f2f7f1ecf
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-03 15:09:03 +01:00
Bradley T. Hughes
96809e36b2 Remove empty src/corelib/arch subdirectories
The bfin, integrity, s390, and sh4a directories included an empty
arch.pri, which is not necessary. Remove these directories and arch.pri
files.

Change-Id: I016dcef63e4b9fb4c14cc1fa7b9b91cba2080dbb
Reviewed-by: Giuseppe D'Angelo <dangelog@gmail.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-03 15:09:03 +01:00
Bradley T. Hughes
12e43d7efa Remove src/corelib/arch/nacl/* and qatomic_nacl.h
This implementation uses the GCC __sync_* intrinsics, which we do not
need to duplicate after commit 2bbd2262b3
(which added qatomic_gcc.h).

Change-Id: I59b6e4a03e83f58f4145a5ab2bfd635fe9ab686f
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-03 15:09:03 +01:00
Bradley T. Hughes
7142e689e0 Remove src/corelib/arch/ia64/*
The out-of-line q_atomic_test_and_set_(int|ptr) functions are no longer
declared after commit 1955353149. They
appear to have never been used either. Remove them.

Change-Id: Ia8dfa1f585f2370091b4fd93aaf98cb10241bf31
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-03 15:09:03 +01:00
Bradley T. Hughes
0797676329 Remove src/corelib/arch/i386/* and src/corelib/arch/x86_64/*
We do not want to support out-of-line QAtomic* implementations. Remove
these from the i386 and x86_64 implementations.

Change-Id: Ib6a9614b7b11bf6bccc9054b177357afd83e33e6
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-03 15:09:03 +01:00
Bradley T. Hughes
67729d05d0 Remove src/corelib/arch/avr32/* and qatomic_avr32.h
This implementation uses the GCC __sync_* intrinsics, which we do not
need to duplicate after commit 2bbd2262b3
(which added qatomic_gcc.h).

Change-Id: I2cab86deacad1c37f17f0c5836d9faf2ad366495
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-03 15:09:03 +01:00
Bradley T. Hughes
7b82034600 Remove src/corelib/arch/mips/*
Commit 99fb1bea49 removed the use of the
old, out-of-line q_atomic_* implementation. Remove these functions from
the library.

Change-Id: I0b239bf779e0545cb5558862e3a40f6e95fdcbd9
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-03 15:09:03 +01:00
Bradley T. Hughes
c116206ccd Remove src/corelib/arch/arm/*
After commit dc5388e79b, which removed
support for non-EABI, qt_atomic_yield() and q_atomic_lock are no
longer used. Remove them.

Change-Id: I0f405ae63d7903c222fc2b829887207885be0a03
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-03 15:09:03 +01:00
Bradley T. Hughes
214894da16 Remove #include "qatomic_macosx.h"
This file was removed in commit 68e5fd9ebc

Change-Id: I76671f79432204c28ffa7488871d0eef07cc8dca
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-03 15:09:03 +01:00
Giuseppe D'Angelo
84971b508d Fix QAbstractItemModel documentation
Commit 20abd88e71 refactored the
supportedDragActions methods, this oneliner adds the necessary \fn.

Change-Id: I373b039138e1cbfe0f28a0aa9eb3b65245f2132d
Reviewed-by: David Faure <david.faure@kdab.com>
2012-02-03 13:14:38 +01:00
Rafael Roquetto
38cba9a37f Add support for QNX iconv implementation
QNX implements the POSIX version of iconv (with non-const function
signatures). However, it is still necessary to link with libiconv, unlike most
cases. Also, its iconv_open does not know how to handle an empty string.

Change-Id: I8654703e46b9c64503aca5521ce7fae1c97d7968
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-02-03 13:14:06 +01:00
Pekka Vuorela
c802a5d272 Remove QInputContext
This has only been around as compatibility interface for Qt4
but is now replaced by QPlatformInputContext.

Change-Id: I677dbbea46311bf39f6c5ca9dc3fb5009abe924a
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-02-03 11:01:34 +01:00
Bradley T. Hughes
0160f58d4b Rename qatomic_windows.h to qatomic_msvc.h
The QT_ARCH_WINDOWS(CE) define(s) aren't used to control which
header to include anymore, so just remove it. We also do not need
the empty src/corelib/arch/windows/arch.pri.

Change-Id: I5400fc852af31907e533d0278540b8cd3da391cb
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-03 08:52:42 +01:00
Bradley T. Hughes
b7ca6a81db processEvents(WaitForMoreEvents) should return after delivering events
The Cocoa event dispatcher sends timer, socket, and posted events
correctly, but they are not NSEvents, and as such, they do not cause
[NSApp nextEventMatchingMask] to return. When calling processEvents()
with WaitForMoreEvents, but the EventLoopExec flag isn't set, we want to
interrupt the WaitForMoreEvents.

As a result, We should not call wakeUp() at the top of processEvents(),
otherwise we end up shortcutting other event sources. We also do not
need to call QCoreApplication::sendPostedEvents() directly either in
processEvents(), it's the postedEventsSource job to do that.

The interruptLater mechanism is always run when calling processEvents()
directly (not via exec()), which causes problems when testing
processEvents(). Don't use interruptLater unless the modal sessions
change (which is indicated by the cached session pointer being reset
to zero).

Change-Id: Iec2b49a4f306b2702c979522f12a28d0b5fbd0b4
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
2012-02-03 01:40:24 +01:00
Sergio Martins
2614e16c41 Reimplement QIdentityProxyModel::headerData().
The one in the base class is slower due to parent<->source
mappings.

Change-Id: Ib0b337ef5d4b5b8cd9f6e1d7c5c19a770b53e0e8
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-02-03 01:36:45 +01:00
Giuseppe D'Angelo
8eab9cbce2 Make QAbstractItemView::itemOptions properly initialize a V4 option
Since the QStyleOptionViewItem now contains the V4 fields, they
must be properly initialized when calling itemOptions.

Change-Id: I1346e6887d2d9a7eb29cc458fa4eede0b815001c
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-02-03 01:23:52 +01:00
Stephen Kelly
4b64e38ddc Build with -pedantic
Change-Id: I42487099855d2adaecfad0a3147141f88aca1898
Reviewed-by: David Faure <faure@kde.org>
2012-02-03 00:24:40 +01:00
Stephen Kelly
12b8894f20 Add typedef for source compatibility.
Change-Id: I73fb90b87db50db40c8a712acb25e0f966bbd5d3
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-02-02 22:34:15 +01:00
Giuseppe D'Angelo
3578e05b29 Merge QStyleOption*V{2,3,4} classes together
In order to keep binary compatibility, Qt 4 introduced V{2,3,4}
classes for QStyleOption subclasses. They're simple, low level
containers for various members with public access (no accessors
required).

In Qt 5.0 we can break BC, so this patch moves the members
from the derived classes into the ``base'' ones.
The ``base'' ones get a version bump matching the highest
version available, and the V{2,3,4} classes become typedefs.

This change can cause problems in code that used QStyleOption
directly, especially QStyleOptionViewItem, because the old V4
fields get default initialization but the QStyle subclasses
detect that the option is a V4 option and expect all fields
to be properly initialized. The fix in such places is to
properly initialize all fields.

Task-number: QTBUG-23522
Change-Id: I2f782da09ca5cc8c4cbafc07448fb0d33153a251
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-02-02 20:18:55 +01:00
Gunnar Sletta
75711510b1 Improve QSurface / QWindow API a bit and use that to avoid errors
Change-Id: Iadba1c3a7b8e6bc7f145455132cefed2a905c11d
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-02-02 17:20:24 +01:00
Laszlo Agocs
6181676ca6 Update wrong docs for TouchPoint::id().
What it states is simply not true, at least certainly
not since QPA has been introduced.

Change-Id: If8aa2120cf5fc9ca85f4f0e6832b2115a5b71fe1
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-02-02 17:19:20 +01:00
Stephen Kelly
71002f830b Build with QT_NO_CAST_FROM_BYTEARRAY
Change-Id: Ibb79e372a3adf90c9f982f50ab711066063eff4a
Reviewed-by: David Faure <faure@kde.org>
2012-02-02 17:18:46 +01:00
Friedemann Kleint
920795e99a Windows QPA: Compile with QT_NO_CAST_FROM_ASCII, warnings.
Change-Id: I75d6a102a6a1fa0b5f8add049442f23d6fd57725
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-02 17:16:26 +01:00
Shane Kearns
ddf21c384f Fix unintended source compatiblity break in QSslSocket
QSslSocket overrides one version of QAbstractSocket::connectToHost.
Since these functions were made virtual, this now hides the other
overloads.
Added a using statement to make the other overloads visible.

Change-Id: Ia48fdc9bd67936c75c25bb24dabd26a723bb7a05
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-02 17:11:37 +01:00
Teemu Katajisto
ea8e048e1d Various documentation fixes ported from Qt 4.8
Selected fixes for qtbase from 4.8 commit
3826203f744a2147bebf5f088de0d524156f59fd

Task-number: QTBUG-9466
Task-number: QTBUG-7924
Task-number: QTBUG-20355
Task-number: QTBUG-19367
Task-number: QTBUG-14554

Change-Id: I551251dd8a87d7dd837e5927050ffd14bce9a97c
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-02-02 16:03:30 +01:00
Morten Johan Sorvig
ae664f7dc7 Move QString <-> NSString conversion to QtCore
Add (private) API to QCFString:
	static QString toQString(NSString *)
	static NSString *toNSString(const QString &)

Add implementation to qcore_mac_objc.mm. Keep the
mac_cpp since it's used for building qmake as well
as bootstrapping.

Replace usage of NSString conversion functions
in the cocoa and corewlan plugin with QCFString.

Change-Id: I9f34edd5231255aef9d8d6e9a60306174bb279b3
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-02-02 14:18:36 +01:00
Xizhi Zhu
319ba95c76 Call start() even when bearer is not compiled.
Otherwise, the HTTP request won't be sent if bearer is not compiled.

Change-Id: I9a8171fde6fe5b2db0405b4af6e1d52ac4528502
Reviewed-by: Shane Kearns <ext-shane.2.kearns@nokia.com>
2012-02-02 14:18:36 +01:00
Xizhi Zhu
3acbb12d2d Remove one un-used variant.
Change-Id: I325451f2f346cc75f23703118b451b9c7398baea
Reviewed-by: Shane Kearns <ext-shane.2.kearns@nokia.com>
2012-02-02 14:18:36 +01:00
Morten Johan Sørvig
cecec2e2ce Fix qmlscene segfault on startup on Mac OS 10.6.
Task-number: QTBUG-23982

The platform plugin loader was searching for plugins
in qtbase/bin and would segfault when checking if
the qmlscene binary was a plugin.

Test if "../Plugins" actually exists before setting
it as the platform plugin path.

Change-Id: Ibd887b5c5045d23e3eb62867dc7598e09d3918ad
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Sarah Jane Smith <sarah.j.smith@nokia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2012-02-02 12:49:19 +01:00
jian liang
b852b01958 speed up font enumeration in windows platform
Currently, font enumeration is very slow in windows platform, it will take
several seconds to enumerate all fonts for the first time. This patch
cache the font information queried from font registry, it can
significantly speed up font enumeration.

Change-Id: Ic783877b7f3db3facf24965b0c5d669b22d40c61
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-02 11:10:04 +01:00
Kent Hansen
4b1ba7c792 Fix QString::operator=(QLatin1String) for substrings
QLatin1String now has a constructor that takes explicit length, which
makes it possible to create a QLatin1String that isn't null-terminated.
Made QString::operator=(QLatin1String) work in that case.

Change-Id: Ie77eabd2f8f036531d67cd8051a7b6305b386ccf
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-02-02 11:10:04 +01:00
Kent Hansen
7edd623957 Fix QTextStream and QDebug operator<< for QLatin1String
QLatin1String now has a constructor that takes explicit length, which
makes it possible to create a QLatin1String that isn't null-terminated.
Made the QTextStream and QDebug << operators work in that case.

Change-Id: I94d051ce2ebfb2d2a403b96d25e040c80a54bf7c
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-02-02 11:10:04 +01:00
Kent Hansen
35b19be478 Fix QString(QLatin1String) constructor for substrings
QLatin1String now has a constructor that takes explicit length, which
makes it possible to create a QLatin1String that isn't null-terminated.
Made the QString(QLatin1String) constructor work in that case.

Change-Id: I4f4f07a956144b7ea4aa9c58a61c755fb99ef1b3
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-02-02 11:10:04 +01:00
Kent Hansen
ec9833388f Fix operator==(QLatin1String, QLatin1String) and friends for substrings
QLatin1String now has a constructor that takes explicit length, which
makes it possible to create a QLatin1String that isn't null-terminated.
Made the QLatin1String comparison operators work in that case.

Change-Id: I234ba851e67a6f5cfbb46fb6f0b22623ce40be28
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-02-02 11:10:04 +01:00
Bradley T. Hughes
307c034973 Port the Windows atomic implementation to use QGenericAtomicOps
First, we do not need to have the QT_INTERLOCKED_REMOVE_VOLATILE(a)
macro anymore either, since the value stored in QBasicAtomicInteger is
not volatile.

Windows provides Interlocked*Pointer() functions in some configurations,
so we provide a partial specialization of QAtomicOps for pointer types.
For integer types, QAtomicOps selects an implementation based on the
size of the type. At the moment, we only support 32-bit types, but it
will be possible to add 64-bit later.

Note that the 32-bit specialization of QAtomicOpsBySize declares the
Type typedef as long, not int, since the Windows Interlocked*() API
takes parameters as longs and long pointers. Since this typedef differs
from the type given to QBasicAtomicInteger<T> by the QBasicAtomicInt
typedef, we need to templatise the _q_value parameter separately from
the other arguments in QGenericAtomicOps.

This templatisation would be necessary to port other architectures, such
as PA_RISC, where we need to have an int[4] array in the atomic type
while the arguments do not need this array.

Change-Id: Id71fa1ae334da2023553cb402b45e6c285f1d344
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-02 11:10:04 +01:00
Pekka Vuorela
71726ccf67 Renamed QInputPanel as QInputMethod
QInputMethod better describes what the class is about, input methods
in general, be they panels or just composing input from key events.

Compatability headers added for old name. Not bulletproof but should be
enough to get transition done.

Change-Id: Iefde6e7ccb1ec4a3b226cef3469089e751c60fc1
Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
2012-02-02 11:10:04 +01:00
Bradley T. Hughes
b2b3abe0eb Remove duplicated function from QCocoaEventDispatcher
The qt_mac_waitForMoreModalSessionEvents() is identical to
qt_mac_waitForMoreEvents(), except that it passes a different inMode
parameter to [NSApp nextEventMatchingMask]. Change the latter function
to take the mode as a parameter itself, defaulting to the default mode.

Change the dequeue parameter to [NSApp nextEventMatchingMask] from YES
to NO. Having the function dequeue the event, and then immediately
reposting the event is not necessary.

Change-Id: Iba45d41ad3ff4d5721d1068e6d5c78585cb15810
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
2012-02-02 09:27:25 +01:00
Bradley T. Hughes
8fad23f326 Don't include config.tests/unix/openssl/openssl.pri
This file was removed in commit ba9302b8a9

Change-Id: Ib3a70877f6f6848c8cf072faf13da93abbe186f2
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-02 09:27:25 +01:00
Jian Liang
fe999022af fix memory leak of QAccessibleWidget
in topLevelObjects() we should use "root->object()" instead of
"w->accessibleRoot()->object() to get the object attached to the
accessible interface. This is because "w->accessibleRoot()"
will create a new QAccessibleWidget(or its subclass) object
and this object is never released.

Change-Id: I34292b467b51d6cc439f0a1a45cd74d5f8a6a5a8
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2012-02-02 09:27:25 +01:00
Kent Hansen
d30515104d Avoid duplicating flags/types in qmetaobjectbuilder
Presumably the contents from qmetaobject_p.h were copied
because qmetaobjectbuilder originally lived outside of qtbase,
and private headers could not be included from other modules.
But now we can just include the right headers.

Change-Id: I975df1ea94455f1bf0db1d8024de8f5379fc9fc7
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Lorn Potter <lorn.potter@nokia.com>
2012-02-02 07:50:42 +01:00
Kurt Korbatits
aa5ff68476 qopenglcontext not checking for null and failing with platform minimal
- The minimal platform plugin returns null and was causing segfault.

Change-Id: Ied262692f77e9801c3d3451de7f21539f7686ca4
Reviewed-by: Kurt Korbatits  <kurt.korbatits@nokia.com>
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-02-02 01:56:03 +01:00
Holger Hans Peter Freyther
9cbbd38f22 pixmap: Add QPlatformPixmap::fromData null check for the image
QPlatformPixmap::fromFile is doing the null check,
QRasterPlatformPixmap::fromData is doing the null check as
well. Add the null check to QPlatformPixmap::fromData as
well. This would have avoided a crash in the directfb plugin.

Change-Id: Ifc904b2df2424e86bf0992d4e28dc256530be02d
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-02-02 01:56:03 +01:00
Lars Knoll
bd8ef8d073 Fix some warnings from clang
One of them was a real error, that could
lead to Data::alloc containing wrong values.

Change-Id: I48315ef6fd59188630107ebbe7bf8dbaa5da689e
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-02-02 01:56:03 +01:00
Thorbjørn Lund Martsum
15f253a46a Introduce QItemDelegate::destroyEditor virtual invoked at editor close
This provides a stronger mechanism e.g when inheriting QItemDelegate.

It makes some things much easier e.g avoid delete of an editor
and maybe only delete depending on what the editor says itself.

This introduces a new virtual function.

Task-number: QTBUG-2299

Change-Id: I8410f8199775987dbacffd99e4c354fdadcdd21f
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-02-02 01:56:03 +01:00
Jani Uusi-Rantala
efecd01189 Trivial fix in qjsonobject.h for -Werror=shadow
There was a few errors coming from other components
using qtbase - error: declaration of 'o' shadows a
member of 'this' [-Werror=shadow].

Change-Id: Ib394f404370f001e68fde8b424cd5fff527d8fe7
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-02-02 00:00:45 +01:00
Friedemann Kleint
40fa7a816f Move QPlatformDialogs from QtWidgets to QtGui.
- Remove dependency of the Windows platform plugin on
  QtWidgets.

Change-Id: Iceb876ba7df46b49966af0fc101816654eedb5c5
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-02-01 23:57:21 +01:00
Friedemann Kleint
a31e3f9b8a qabstractitemmodel.cpp: Fix warnings.
Change-Id: I10ef89e2fab31c7f1c9ac67b2234f509fb3f28ab
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-02-01 23:57:21 +01:00
Olivier Goffart
b69bb01f11 Use QBasicMutex instead of Q_GLOBAL_STATIC QMutex
QBasicMutex is a POD and can be used as a static global object.

in qpicture.cpp factoryLoader is used only once, and under the mutex, so
there is no need for Q_GLOBAL_STATIC for it, it can be a function static

in qhostinfo_unix.cpp the code seemed wrong while compiled with
namespace and QT_NO_GETADDRINFO.  I also could get rid of one include
because it was included earlier.

Change-Id: I3c700203c3e067266c20733f4bda8031446dbb86
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-02-01 22:23:55 +01:00
David Faure
c094891db3 Fix parsingMode not used anymore, detected by compiler warning
This came from replacing d->parsingMode with parsingMode when moving
the method to the Private class.

Change-Id: I5a025ea1128dacda97d265d401a329dbbbfb0ff7
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-02-01 22:23:55 +01:00
Gunnar Sletta
ae1d0048d6 Added WindowOverridesSystemGesturesHint to our window flags.
Change-Id: I42c3d3e5ef71960d16f85969b66380999fb15922
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-02-01 20:54:44 +01:00
Shane Kearns
c5aba0ac17 Prevent data loss when an ssl socket is closed by remote
SSL context was destroyed on disconnect. This makes it impossible to
decrypt buffered encrypted data. So if there is encrypted data in the
receive buffers, then don't destroy the ssl context until the socket is
destroyed.

Task-Number: QTBUG-23607
Change-Id: I16a7b4fa006647ec73049c90cdbc72686696850f
Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
Reviewed-by: Richard J. Moore <rich@kde.org>
2012-02-01 19:18:12 +01:00
Xizhi Zhu
755cd58f9c Remove Symbian specific code in 3rdparty.
Symbian specific code in libtiff was added by commit
6ddf09085f1e8a3cc83c4ee0c77c433d26819c35 in Qt4, code in libpng was
added by commit 66fb4038649cfd1d660204bf7c70f99a409ede4f in Qt4, so
they are removed.

Symbian specific code in freetype was copied from upstream, so kept
untouched.

Change-Id: I74f169d9283eefd91ec2e97cbd1b8f03dc449380
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-02-01 19:06:18 +01:00
Jeremy Lainé
7b449abde2 Fix QDnslookup build on FreeBSD
Unify the includes for resolver function on unix-like platforms
to avoid build failures on BSD platforms.

Change-Id: I9accd7077d5a319a2c93642e011492d0fc779394
Reviewed-by: Holger Freyther <holger+qt@freyther.de>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-01 16:33:04 +01:00
Thorbjørn Lund Martsum
6cab0bed1d QHeaderView - Do not try to remove non-existing section
The end parameter passed to removeSectionsFromSpans is off by one.
removeSectionsFromSpans can currently handle/ignore it, but it is
still wrong.

Change-Id: I9148bd106504a37a5c8fd72928ab84c669eebcdb
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-02-01 16:25:37 +01:00
Torben Dannhauer
5caa75f665 SQL driver implementation to signal notification sources
Implements the new notification signal in all QSql drivers which use notifcation.
In qt5 only ibase and psql have a notification implementation.
PSQL differentiates correctly between 'SelfSource' and 'OtherSource' whereas
ibase only signals 'UnknownSource' as a default implementation.

Change-Id: Ifcaa139b7a980ed852cf817b3f93284609360ca7
Reviewed-by: Torben Dannhauer <torben@dannhauer.info>
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
2012-02-01 16:25:15 +01:00
Torben Dannhauer
84f4b81499 Interface definition to provide notifications with a source information.
To differentiate between signals of different sources types, this submission adds an enum and extra signal to provide it.

Change-Id: Iad711739c41894e9c74d83072c50ae17edc695f2
Reviewed-by: Torben Dannhauer <torben@dannhauer.info>
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
2012-02-01 16:25:09 +01:00
Stephen Kelly
e03b77d1a6 Remove the API duplication from QApplication.
The quitOnLastWindowClosed API is present in the base
class QGuiApplication.

Change-Id: Ib2f78e48a198aa835302dcb9a31637a2c3655532
Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
Reviewed-by: David Faure <faure@kde.org>
2012-02-01 16:24:10 +01:00
Friedemann Kleint
b44e67e1ca Windows: Fix inclusion of <windows.h>
- Always use <qt_windows.h> as the last file to be included.
- Remove it from some headers, use Qt::HANDLE instead of HANDLE.
- Clean up #ifdef, use Q_OS_WIN for Windows/Windows CE.
- Add NOMINMAX to qt_windows.h to avoid problems with the
  min/max macros.
- Remove <windows.h> from qplatformdefs.h (VS2005)

Change-Id: Ic44e2cb3eafce38e1ad645c3bf85745439398e50
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-02-01 11:06:19 +01:00
Bradley T. Hughes
f6f1a2dbc1 Revert "Put the generated <module>version.h into build tree"
After discussion with Liang, I'm reverting it as he requested. This change put every header into the SYNCQT.HEADER_FILES twice for in-source builds, and the qtMODULEversion.h header did not include a path component.

This reverts commit 2fbc45b58bba860abf67fb28aa1319c9f4ededaf

Change-Id: Ie84cef19193ce5e49072f1f67a41140d9d2673b8
Reviewed-by: Liang Qi <liang.qi@nokia.com>
2012-02-01 10:48:09 +01:00
Friedemann Kleint
e33e761bb5 Accessibility: Use new updateAccessibility() API in widgets.
Change-Id: Id69cc28a54abc675a991f2c657a446f38313ac6e
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2012-02-01 10:38:23 +01:00
Gunnar Sletta
7518adbb13 Introduced BufferQueueingOpenGL capability in platofrm integration
Change-Id: Iedb7255862fd3a11aceae0e06e90a5539febc7e7
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-02-01 08:25:45 +01:00
Kai Koehne
d394ca7f27 QtDebug: Include file, line, function information
Record the file, line, and function where a qDebug, qWarning, qCritical
or qFatal call happens, and make this information available in a custom
message handler.

The patch uses the C preprocessor to replace qDebug, qWarning, ... with
a line that also records the current file, line, and function. Custom
message handlers can access this information via a new QMessageLogContext
argument.

Change-Id: I0a9b89c1d137e41775932d3b1a35da4ebf12d18d
Reviewed-by: David Faure <faure@kde.org>
2012-02-01 02:16:32 +01:00
Morten Johan Sorvig
ea783ff51f Compile with clang
Add back friend declaration removed in e8105e4.
QListViewPrivate uses QAbstractItemView::
DropIndicatorPosition, which is protected.

Change-Id: Ie9fa9422bf4fb7846637dac24a644d4814cfe622
Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
2012-02-01 02:16:19 +01:00
Jonas M. Gastal
695dded37b Emit QSslSocket::error in case of openssl gives an error.
Create new QAbstractSocket::SocketError value that denotes a error in
the SSL library: SslInternalError
Create QAbstractSocket::SocketError value that denotes a error in data
provided by user cauding an SSL library error: SslInvalidUserDataError

Change-Id: I466a9389d9d7052efd8eddd1a2d6067ba26dfddb
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Shane Kearns <ext-shane.2.kearns@nokia.com>
2012-02-01 02:16:14 +01:00
Thorbjørn Lund Martsum
96f1fe8855 QHeaderView - preventing negative section sizes.
This patch removes the posibility to call resizeSection
with negative sizes.

Sections with negative sizes affect the other sections,
and it does not seem to have a useful, well-defined semantic.

The length can also become negative - and visualIndexAt
work strange.

Change-Id: I632beb160649fa10e2106314557b8c5a106aa3cf
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-02-01 02:16:08 +01:00
Stephen Kelly
a512e210ac Add the event loop quitlock feature to QtCore.
A feature of a ref-counted quit (managed by a quit-lock class)
is added to both QEventLoop and QCoreApplication.

This allows, for example, an event loop to quit() when there is
no more work for it to do.

quitOnLastWindowClosed is implemented in terms of the refcount in
QCoreApplication so that jobs can be completed before the
application quits.

Change-Id: I14c8f4e7ee12bbf81a6e5849290d4c8ff37fa110
Reviewed-by: David Faure <faure@kde.org>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-01-31 23:22:15 +01:00
Tor Arne Vestbø
36a590c90d Don't compile UIC with -O2 inside Scratchbox
It makes QEMU crash when running the resulting binary.

Change-Id: I94e5d703205827dea88770336a8c5201e7333486
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
2012-01-31 21:48:23 +01:00
jian liang
4ab6860172 add virtual destructor to QWindowSystemInterfacePrivate::WindowSystemEvent
Add a virtual destructor to
QWindowSystemInterfacePrivate::WindowSystemEvent class. Otherwise, in
QWindowSystemInterface::sendWindowSystemEvents() "delete event" can't
destruct the subclass of WindowSystemEvent properly.

Change-Id: Ic708f4ab61de88cd0015aa6e472d356b2de64583
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-01-31 21:48:23 +01:00
Thorbjørn Lund Martsum
a5201007f2 QHeaderView - fix to resizeSection patch (Ia812a747)
A minor simple adjustment to the update-patch for resizeSection.
( http://codereview.qt-project.org/#change,11267 )

We can't just return and ignore that we might needed to call
d->doDelayedResizeSections

Just because the header does not have updates enabled does not
mean that the view hasn't updates enabled - and even in
that situation we actually still wanted to keep this.

(It is only if the parent is not visible we safe can/should
skip this - but I will look into that later)

Change-Id: I771de086a07d1e7612a6bfea132d4d15f277ceb3
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-01-31 20:01:10 +01:00
Thorbjørn Lund Martsum
c47b028749 QHeaderView::setOffsetToSectionPosition documentation update
The documentation has used the word visualIndex for the argument
to this function. That is however very misleading since this
visualIndex is not the same as 'visualIndex' as we have in

visualIndex(int logicalIndex)
logicalIndex(int visualIndex)
or visualIndexAt(int position)

Beside the above a variable name has also been changed from
visualIndex to actualVisualIndex.

Change-Id: I43808adfd7c287a349474ab1e2656c417c8cf3e9
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-01-31 20:01:06 +01:00
Jonas M. Gastal
c22be73168 QDir::NoDotAndDotDot is now QDir::NoDot|QDir::NoDotDot.
Change-Id: I8ef7782258c2ec02ad2ec2a5d5cab90f53c62aa3
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-01-31 20:01:02 +01:00
Simon Hausmann
fe7265a0bb Maliit: Fix enter on VKB not resulting in text input field acceptance
Pressing enter on the VKB should result in the emission of the accepted()
for text input fields in QML or the returnPressed() signal in QLineEdit.
In that case the Maliit input server calls our keyEvent method over DBus,
which this patch implements.

Change-Id: I46170c30315adaf21db0e232f53780ccaa67e4bf
Reviewed-by: Jan Arne Petersen <jpetersen@openismus.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
2012-01-31 19:57:33 +01:00
Jan Arne Petersen
b27bf9bb94 Rename meego to maliit platforminputcontext
Also build the plugin on linux systems with D-Bus. There is nothing
MeeGo or Maemo specific about this plugin or Maliit.

Task-number: QTBUG-22994
Change-Id: Idcccfb01f79166a54c5809741389b29ccac05a15
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
2012-01-31 19:57:12 +01:00
Simon Hausmann
298330bd43 Add support for cleanup functions for data-constructed QImages
A QImage can be constructed with a provided buffer, that has to be
kept alive for the live-time of the QImage and all its copies.
Frameworks like CoreGraphics or Cairo offer a similar method of
creating image objects and also offer the ability to provide a callback
function that is called when the image is destroyed.

This patch adds this functionality to QImage by extending the
QImage constructors that take a raw image buffer pointer.

Change-Id: Ia6342408c560ef49b498c9e4664b4602febb0fcd
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Michalina Ziemba <michalina.ziemba@nokia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2012-01-31 16:21:17 +01:00
João Abecasis
2bf186a2e5 Allow function types to be registered without workarounds
Commit 4b8ceb41ae added the requirement
that pointed-to types need to be registered when registering pointer
types. Unfortunately, the implementation also affects function pointer
types.

This change whitelists 0, 1, 2 and 3 argument functions as not deriving
from QObject, forgoing the need to workaround details of the type
registration implementation when registering those function pointer
types.

Change-Id: I4d855e9d70a8179a6e31b84623ad5bf063e0d6d8
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-01-31 16:17:55 +01:00
Lars Knoll
3855233dab Remove many deprecated methods
Remove methods that have been marked as deprecated
before Qt 4.6. Keep others, but inline them
where possible and mark them as QT_DEPRECATED_SINCE(5, 0).

Change-Id: If881821ae095f054b31cc13464f19e2007c20ed7
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
2012-01-31 16:17:55 +01:00
Joerg Bornemann
9a4d30d999 MinGW build fixes for QWindowsPipeReader and friends
Change-Id: Ie4d6017c6fb918e7796d1a5e8863e9368e4e1894
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-01-31 16:17:55 +01:00