Commit Graph

8343 Commits

Author SHA1 Message Date
Robin Burchell
f45c62023d android: fix build mistake from earlier mkspec naming
Change-Id: I48d9f097e3177f9e2f558845e531f4e438035586
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-07-12 08:01:51 +02:00
Thiago Macieira
0aa4fa455e Fix static plugin loading.
The QFactoryLoader::indexOf and keyMap functions expect to receive the
metadata that contains a "MetaData" entry, instead of the entry
itself.

Also, QFactoryLoader::metaData() skips static plugins with the wrong
IID, so we need to skip it too in QFactoryLoader::instance().

Change-Id: I8a453087feb88d0e8d1021054353f3600d5100a5
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2012-07-12 03:34:13 +02:00
Mitch Curtis
282d81e4e5 Write qHash functions for QDate, QTime and QDateTime.
These functions didn't exist - this patch implements them.

Task-number: QTBUG-23079
Change-Id: I9eb6e238531d5cda878f5f2cdd27bab30aa60669
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-07-12 01:46:38 +02:00
Mitch Curtis
623bfe2093 Add unary operator+ to QPoint and QPointF.
As requested by Winfried Schenke:

"QPoint should have an unary operator+ (the unary operator- exists).
Classes with arithmetic operators should provide a complete set of
operators, because some template code relies on it."

Task-number: QTBUG-22913
Change-Id: Ib0c5105975f56c15f00bb48d83c8d911f5a204ac
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2012-07-12 01:46:20 +02:00
Thiago Macieira
74b0206a71 Put the ICU libraries in LIBS_PRIVATE
We don't expose ICU in our public API, so there's no need for end-user
applications to be forced to link to ICU.

Change-Id: Ie7a1cef205b9859be4c6b21f486392d192cf6063
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-11 18:59:48 +02:00
Oswald Buddenhagen
2f43511eb6 fix QT.<module>.*_VERSION references
Change-Id: I448de417d86f2500015b967581dbe7aab58e894a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-07-11 18:59:48 +02:00
Oswald Buddenhagen
e3124c4963 do not mess with VERSION
the import version is not supposed to determine the plugin version -
it's only used by the qmltypes target.

Change-Id: I0cb072cb0ee469bd96830262dbf4971a2bf3134f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-07-11 18:59:48 +02:00
Friedemann Kleint
09d3ebbf2a Improve windowflags, windowgeometry manual tests.
- Make them compile with 4.8 for comparison
- Add Active to WindowStates control
- Add -layout option to windowgeometry

Change-Id: I052330eb8689883c104a0552708ea700c7cd790a
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
2012-07-11 16:58:53 +02:00
Robin Burchell
7f2a64f403 eglfs: add virtual destructor to QEglFsHooks
Fixes:

qeglfshooks.h:56: error: 'class QEglFSHooks' has virtual functions and accessible non-virtual destructor

Change-Id: I5b8d96e764121c85fcc73d2231427cd123de8cd9
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-07-11 16:58:53 +02:00
Girish Ramakrishnan
683540ee5a linuxfb: Add config.test and configure support
The code is exactly the same as what is already done for DirectFB.

Change-Id: I3b84e67a3e999f692da4110f3ac9c82d98b0637c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-07-11 14:55:27 +02:00
Sergio Ahumada
59339941e0 Fix some spelling errors
Change-Id: I19d3b2e9a5180b13deb828b55195404ef20be295
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2012-07-11 14:52:37 +02:00
Jocelyn Turcotte
62e6608f69 Add protected virtual ensureActiveTarget() to QOpenGLPaintDevice
Make sure that QOpenGLPaintDevice supports it the same way as
QGLPaintDevice::ensureActiveTarget dit. It is made virtual since the
external code needs to manage FBOs for QOpenGLPaintEngine.

Task-number: QTBUG-25995
Change-Id: Ieed9616f6a14204aae628d7febe6a11538496b3d
Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
2012-07-11 14:52:17 +02:00
Mitch Curtis
376135c403 Improve QPoint and QPointF auto tests.
Improve test coverage for QPoint and QPointF.
Separate QPointF tests into their own project.

Change-Id: Id28dc5b85aba9fc179d87b2bca1d99854f27a5ab
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-07-11 14:52:17 +02:00
Jiang Jiang
fe40b8f4ad Avoid loading multiple bearer plugins of the same key
There may be duplicated debug plugins, loading both will cause
crash.

Change-Id: Icc2a3643c318844bc7f2e149a6434e95de2449b2
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-07-11 14:52:17 +02:00
Friedemann Kleint
e8aa56b74b Add stylehint to use querying RTL keyboard support.
Change-Id: Ic58ed7cb64cc7fe60b4d431e9f29e389c62265fc
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-07-11 14:52:17 +02:00
Friedemann Kleint
cf2b5a7722 Clear qt_button_down widget when starting a drag.
Prevent pickMouseReceiver() from using the
widget from which the drag was started.

Task-number: QTBUG-26145
Change-Id: I65d4c295a894193e41c676fb9fd1f7113c2631b5
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-07-11 14:52:17 +02:00
Oswald Buddenhagen
9de46b2b93 fix build with namespaced qt
Change-Id: Ie7d8ce60448aea98141baa66a57796447a31040e
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-07-11 14:52:17 +02:00
Thomas McGuire
a63c7a9382 Don't set the resize and move flags when activating fullscreen mode
This fixes tst_QWidget::movedAndResizedAttributes() for platforms
that don't have support for QPlatformWindow::setWindowState().

Change-Id: Id0f123d11b08a75c0c131080d509e6b23b281600
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-07-11 14:52:17 +02:00
Stephen Kelly
78203ccf80 Fix unit tests when CMAKE_PREFIX_PATH env var is not set.
Tests which are expected to not build need to get a way to find the
Qt 5 config packages. Because they use try_compile, there is no way
to pass the contents to it.

Work around that by generating a file containing the prefix which
the tests will include.

Change-Id: If43080c241539e4af5fe1c183e7da72066278b73
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-07-11 12:46:15 +02:00
Girish Ramakrishnan
27cefd85f3 linuxfb: Remove QFbWindow::setVisible
QFbWindow::setVisible doesn't call into the base class implementation
and thus suppresses the delivery of the expose event. It turns out we
don't need to track the visiblity at all since the base QPA code tracks
this already.

After this change, windows are now render on the framebuffer.

Change-Id: Ifcfc730456883eb423d79479bd0b04330b8c2d72
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Thomas Senyk <thomas.senyk@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-07-11 12:45:35 +02:00
Girish Ramakrishnan
95aa6935a1 linuxfb: Add m prefix to all member variables
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Thomas Senyk <thomas.senyk@nokia.com>

Change-Id: Id1eb31ff15713c4ce3659f71d23a18ecf42f6bd3
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-07-11 12:45:21 +02:00
Girish Ramakrishnan
e32ee62c7a linuxfb: raise and lower should take QFbWindow as args
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Thomas Senyk <thomas.senyk@nokia.com>

Change-Id: I856ea141a39f23968169ba29be1445fa089f7f02
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-07-11 12:44:56 +02:00
Girish Ramakrishnan
c2b9c0ec89 linuxfb: let the window register itself with the screen
This moves the addWindow call to the platformsupport code.

Change-Id: Icf9175ae86ad880248036362e9c5f40124744272
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Thomas Senyk <thomas.senyk@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-07-11 12:44:38 +02:00
Girish Ramakrishnan
b47bded2f3 linuxfb: Add option to not switch to graphics mode
When in graphics mode, printf/qDebug doesn't get printed
on the console. So, it's nice to have this option for
debugging.

Change-Id: Idd552292da2526e07d9c74d2a901e0d675edb2e1
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Thomas Senyk <thomas.senyk@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-07-11 12:44:21 +02:00
Girish Ramakrishnan
f0922c9baf linuxfb: Rework screen code
Move the screen code from integration. The design philosophy
is that QFbScreen takes care of generic framebuffer composition.
QLinuxFbScreen is just an linux framebuffer adaptation layer.

Change-Id: I8456c13826f06621037dd77fe0d0bd8873806c96
Reviewed-by: Thomas Senyk <thomas.senyk@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-07-11 12:44:05 +02:00
Girish Ramakrishnan
0be4073708 linuxfb: remove mScreens from QFbWindow
A QWindow can only be in one QScreen, so it makes no sense to track
a list of screens.

Change-Id: I341a67afa90c7fbbbd95786b43d0a322fc1ddba2
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Thomas Senyk <thomas.senyk@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-07-11 12:43:51 +02:00
Girish Ramakrishnan
4f5a9c8791 linuxfb: create image only on resize
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Thomas Senyk <thomas.senyk@nokia.com>

Change-Id: I04cd75f96cf755ef0c12fad70e3bbd96fbbed9a1
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-07-11 12:43:12 +02:00
Girish Ramakrishnan
c452418e9f linuxfb: don't store window in backingstore
The backing store already knows about the window.

Also, rename surface to backing store in QFbWindow.

Change-Id: I3701b3cdbdc228200da9b93b13037655dc436f53
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Thomas Senyk <thomas.senyk@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-07-11 12:42:52 +02:00
Marc Mutz
569ea8c365 QNX: fix linking by implementing QStandardPaths::enableTestMode()
Change-Id: Ia223ff598d816dd6420437a9a58be26da55d7c07
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: David Faure <faure@kde.org>
2012-07-11 11:33:32 +02:00
Kent Hansen
d281aa6936 statemachine: Support parallel root state
QStateMachine inherits from QState, so it should be possible to set
its childMode to ParallelStates, and it should behave as expected
(the machine should emit the finished() signal when all its child
states are in final states).

Task-number: QTBUG-22931
Change-Id: Ic436351be0be69e3b01ae9984561132cd9839fa7
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2012-07-11 08:42:45 +02:00
Kent Hansen
28e9a602cb statemachine: Emit finished() signal when the initial state is final
It's legal to set a QFinalState as the initial state. The state
machine should correctly emit the finished() signal upon entering
such a state in the initial transition, and don't do any further
processing.

Change-Id: Ica8d3fadbbde604512ea1136624af54eb3b13b11
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2012-07-11 08:42:40 +02:00
Kent Hansen
0d8789ad30 statemachine: Small refactoring of initial transition code
In preparation of supporting parallel root states, which will make
the initial transition creation slightly more involved.

Change-Id: Iad996eb4db248842c1a2088430c13bd5c953c374
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2012-07-11 08:42:36 +02:00
Kent Hansen
a7d6efb6e3 statemachine: Get rid of hidden start state
The hidden start state was used as a mechanism for performing the
initial transition (to the real initial state,
QStateMachine::setInitialState()), but it mutated the state machine
in a way that causes problems when the root state is a parallel
state group (see future commit).

Change-Id: I41ac4f6bcabf3bec0a412e46282a1373928105a3
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2012-07-11 08:42:24 +02:00
Girish Ramakrishnan
018cd808fd linuxfb: add linuxfb.json and moc main.cpp
This makes the linuxfb plugin load

Change-Id: Idbe888b5795f8ac86f1e3cf197e42c99cca04818
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-07-11 06:06:27 +02:00
Girish Ramakrishnan
58f644dbcf linuxfb: make linuxfb compile
The plugin now compiles, it is not known to work.

Change-Id: I8dd086eb7fc41c6e197debc2601eebba3404187c
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-07-11 06:06:04 +02:00
Girish Ramakrishnan
2407f4f706 linuxfb: make platformsupport convenience compile
Rename fb_base to fbconvenience in-line with the other
convenience classes.

The code only compiles, it is not known to work.

Change-Id: If51700ddf0a11ace5129af6f00f34fd895a6a4df
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-07-11 06:05:49 +02:00
Oswald Buddenhagen
503530a8fd support building tools as application bundles
qmlplugindump needs that

Change-Id: I3b6b6689a32744262184fa781fda465460a87640
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-07-11 05:50:55 +02:00
Jason McDonald
bb3f2cceb3 List required xcb packages for Ubuntu 12.04.
Change-Id: Ia934a9da9986f451d90053891c80ec352b939172
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-07-11 05:48:02 +02:00
Kent Hansen
035c933eaa statemachine: Revamp property assignments implementation
In the old implementation, property assignments
(QState::assignProperty()) were "second-class citizens".
Assignments were not really integrated into the state machine
algorithm, but rather done as a separate step
(QStateMachinePrivate::applyProperties()). While that was
convenient for SCXML spec transcription purposes, it resulted
in some pretty poor semantics on the user side:

* Properties were not assigned until _after_ both the
QAbstractState::onEntry() function had been called and the
QState::entered() signal had been emitted.

* Automatic property restoration (QStateMachine::RestoreProperties)
did not play nice with nested states (and parallel states, in
particular).

The proper fix is to refactor the implementation to make
property assignments first-class in the core state machine
algorithm (QStateMachinePrivate::microstep()).

In practice, this meant splitting some steps. Instead of calling
exitStates() straight away, we now first only compute the states
to exit (without actually exiting them), and use the resulting set
to compute which properties are candidates for restoration.
Similarly, instead of calling enterStates(), we first only compute
the states to enter (without actually entering them), and use the
resulting set to compute which properties are assigned by the
entered states.

With that in place, the rest was a matter of moving the various
chunks of the old applyProperties() logic to the place where they
belong in the per-state entry/exit.

All existing autotests pass. Added several tests that verify the
desired semantics in more detail.

Task-number: QTBUG-20362
Change-Id: I7d8c7253b66cae87bb0d09aa504303218e230c65
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2012-07-11 05:17:10 +02:00
Kent Hansen
016695c7c7 statemachine: Refactor {enter,exit}States() functions
Move the computation of the sets of entered/exited states to
separate functions.

This separation is done in order to facilitate the integration
of property assignments (QState::assignProperty()) into the
core state machine algorithm.

Change-Id: I5b7084e0e37037eb64909d217856746d81bf1878
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2012-07-11 05:17:06 +02:00
Sean Harmer
026503152d XCB: Use glXCreateContextAttribsARB if available
If the GLX ARB extension ARB_create_context is available use the
function glXCreateContextAttribsARB to create a context for OpenGL 3 or
newer that honours the requested profile and version.

If a core profile is requested we also ensure that it is forwards
compatible.

Also ensure that the stored surface format reflects the requested
version.

Change-Id: Ie4f77be19bfc400440a2f8c9b3d99240eb430925
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2012-07-11 02:48:45 +02:00
Jan-Arve Saether
159b28d972 Remove clipboard operations from QAccessibleEditableTextInterface
Also, remove its subclass QAccessibleSimpleEditableTextInterface

Instead of having the subclass that implements this conveniently,
we move this behaviour over to the bridge. The bridge should
check if role() == EditableText is set, and then it should try to
support the IAccessibleEditableText interface (i.e.
it should accept the calls to replaceText(), deleteText() and
insertText()) and change the text with the following operations:
1. Query the text using QAccessibleTextInterface::text() or by
   using QAccessibleInterface::text(QAccessible::Value) as a fallback
2. Do the requested delete/insert/replace manipulation
3. Update the text with setText(QAccessible::Value, newText);

Change-Id: Iee5e41faf14351951e2bfca8c9eac970a113e878
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2012-07-11 02:47:34 +02:00
Sergio Ahumada
825cd7b9e5 Change deprecated use of qgenericplugin_qpa.h to qgenericplugin.h
In file included from kernel/qgenericpluginfactory.cpp:46:0:
  ../../include/QtGui/qgenericplugin_qpa.h:4:4: warning:
  #warning Header <QtGui/qgenericplugin_qpa.h> is deprecated.
  Please include <QtGui/qgenericplugin.h> instead. [-Wcpp]

Change-Id: I533270e23e742e6f15ad5d480afb4901fb8541b0
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-07-11 02:47:29 +02:00
Oswald Buddenhagen
faac4c0a3c add feature file for centralized qml plugin project handling
Change-Id: I7cdce31d7ac458656cf8e8490fd7f7e5c04ca106
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-07-11 02:47:16 +02:00
Stephen Kelly
1e469bac11 Set the IMPORTED_SONAME for imported targets.
On windows this doesn't need to be set. On Mac I'm not sure yet on
the various configurations.

Change-Id: I31f191711a2ae0a1bb7221ae6e1fef377d62f1dc
Reviewed-by: Clinton Stimpson <clinton@elemtech.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-07-11 02:47:14 +02:00
Stephen Kelly
8ce0ac8d0d Fix the name of _debug libraries on APPLE.
Change-Id: Id3ae730c0ce0630f8ccc222fe09e5d3da23d124d
Reviewed-by: Clinton Stimpson <clinton@elemtech.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-07-11 02:47:10 +02:00
Oswald Buddenhagen
a15d674406 fix linking against installations in /usr/lib
Change-Id: I17a6a2e058f039e525461d459477329fd7090417
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-07-10 23:06:25 +02:00
Oswald Buddenhagen
9d1f44b9ce make sure that building tests implies building other parts
some tests have runtime deps on the other parts

Change-Id: Ieb2925e762e94b3c0b16884be0f59e10ce8e4878
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-07-10 22:44:30 +02:00
Thomas McGuire
b9bb115972 Fix showNormal() and friends for platforms with fullscreen hint
Don't call show() inside of QWidget, as that might make the window
fullscreen due to QStyleHints::showIsFullScreen().

This regression was introduced earlier when QWidget::show() gained
support for the hint. No auto test caught the problem, as the
affected platforms (EGL and QNX) are not CI-tested.

Change-Id: I647c2362ac5b53ced562f1d77848552cc122fba0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-07-10 22:25:01 +02:00
Friedemann Kleint
b1909fe118 qtbase: Add missing example installs and files.
Change-Id: I071fd862e001b766c9fb13106242edf23a608663
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-10 22:24:40 +02:00