profile/ivi/qtbase.git
12 years agoMake it possible to connect to QAbstract{State,Transtion} private signals.
Stephen Kelly [Mon, 9 Jul 2012 07:56:58 +0000 (09:56 +0200)]
Make it possible to connect to QAbstract{State,Transtion} private signals.

Use the same trick as used for private signals in the models.

Change-Id: I4235788490cae0e3d554565621d145652dc5b0ca
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
12 years agoMake it possible to use new syntax to connect to model signals.
Stephen Kelly [Mon, 9 Jul 2012 07:56:56 +0000 (09:56 +0200)]
Make it possible to use new syntax to connect to model signals.

The private signals can not be used as function pointers, as
required by the new syntax, so we introduce a parameter which
can only be created privately.

Change-Id: I3d7bb8a163e764d685e8007cba831fb77e3c6855
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
12 years agoCreate a way to inform moc about private signals.
Stephen Kelly [Mon, 9 Jul 2012 07:56:51 +0000 (09:56 +0200)]
Create a way to inform moc about private signals.

Moc checks for the use of the QPrivateSignal struct, which is part of
the Q_OBJECT macro and is private to each class that uses it. Moc then
generates a name of the signal which does not include the private
struct, and generates code to invoke such signals with an instance of
the private struct.

This way we can mark private signals as such and prevent them from
being emitted from subclasses or from outside of the class entirely.

The drawback to this is that it only works if the private
signal has no default arguments. However, at least in Qt, there are
no such signals.

Change-Id: Id16eadaa8d3c36a2c3b265077877f3e1d8304c84
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
12 years agoMake it clear that stickman example animations are binary files.
Jason McDonald [Thu, 12 Jul 2012 01:22:28 +0000 (11:22 +1000)]
Make it clear that stickman example animations are binary files.

Add a .bin extension to the filenames to ensure that packaging scripts
treat these files as binary instead of text.

Change-Id: Ib49e2bdb93a43ddb7590cb8fc0b542a251a786f8
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
12 years agoTest for QMetaType binary breakage.
Jędrzej Nowacki [Thu, 21 Jun 2012 15:19:33 +0000 (17:19 +0200)]
Test for QMetaType binary breakage.

Type traits can not be changed durring Qt5 life time.

Change-Id: If69f65ff2113c901580afee91b11ae1b11c13a4f
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
12 years agoqdoc: Clean path names before using them
Martin Smith [Thu, 12 Jul 2012 08:15:55 +0000 (10:15 +0200)]
qdoc: Clean path names before using them

The excludedirs variable doesn't work correctly when its values have
'../' in them. The solution is to use QDir::cleanPath() on each path
name before using it.

Task Nr: QTBUG-26492

Change-Id: I2db74e79cf096c1c75ab5b10877320360c016fc7
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
12 years agoMac: Fix crash on Mac OS 10.6 with new scrollbars.
Christoph Schleifenbaum [Thu, 12 Jul 2012 07:18:13 +0000 (09:18 +0200)]
Mac: Fix crash on Mac OS 10.6 with new scrollbars.

Add missing runtime for OS X version in constructor. This ended up in a
crash when starting a version compiled on 10.7 on 10.6.

Change-Id: I25c5562ee905317554e79d83a2f5236ce9e2a145
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Tuukka Turunen <tuukka.turunen@digia.com>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
12 years agotst_QMimeDatabase: use QFutureSynchronizer
Marc Mutz [Wed, 11 Jul 2012 08:41:59 +0000 (10:41 +0200)]
tst_QMimeDatabase: use QFutureSynchronizer

Replace a list of QFuture<void>s and a loop that calls waitForFinished()
on each of them with a QFutureSynchronizer<void>, which does exactly that.

Change-Id: I1f2e90169a5b2949bd8cb9d1009a5a7af1500139
Reviewed-by: David Faure <faure@kde.org>
12 years agostatemachine: Fix state entry bug for parallel state groups
Kent Hansen [Thu, 12 Jul 2012 01:12:06 +0000 (03:12 +0200)]
statemachine: Fix state entry bug for parallel state groups

The SCXML spec had a bug that would cause the initial state of a
compound state within a parallel state group to be entered even if
the transition specified another (non-initial) state of the compound
state as its target. This only happened if the transition had
multiple target states.

The bug has been fixed in recent revisions of the SCXML spec. This
commit implements the fix, which is to walk the ancestors of the
transition's target states only after all the target states
themselves have been added, so that the default initial states are
correctly overridden/ignored.

Task-number: QTBUG-25958
Change-Id: Iac532047678c483a4a3996e24dacf30e00f6bbe0
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
12 years agostatemachine: Move invariant code out of loop body
Kent Hansen [Wed, 11 Jul 2012 23:01:17 +0000 (01:01 +0200)]
statemachine: Move invariant code out of loop body

The lca variable doesn't change inside the loop. Comparing our
implementation to the algorithm in the SCXML spec reveals that this
check should indeed be done outside the loop.

Change-Id: I5e9824758fd147766e975d107a73561bd7f5a190
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
12 years agoFix compilation for some glxext.h header versions
Gunnar Sletta [Thu, 12 Jul 2012 07:00:50 +0000 (09:00 +0200)]
Fix compilation for some glxext.h header versions

Change-Id: I62b636d9f884c225e64a653db1a5f5da822d4af2
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
12 years agoFix small problems with tst_QProcess
Thiago Macieira [Tue, 10 Jul 2012 16:45:28 +0000 (18:45 +0200)]
Fix small problems with tst_QProcess

Remember to register the metatype where we use it, so we don't depend
on another test being run previously.

And skip the setWorkingDirectory test completely on Unix. I don't know
why it needs to be skipped, but if we're not going to verify anything,
don't even try to do anything. This saves us one memory leak at least.

Change-Id: I22e151cc3fa7b4e976972aca8978b88b263d9bee
Reviewed-by: Mitch Curtis <mitch.curtis@nokia.com>
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
12 years agoEnable modularization of translation files.
Jan-Arve Saether [Mon, 2 Jul 2012 13:11:38 +0000 (15:11 +0200)]
Enable modularization of translation files.

This is accomplished by introducing dependencies to catalogs.

This requires one API change:
QTranslator::load(const uchar *, int);
  changes to
QTranslator::load(const uchar*, int len,
                  const QString &directory = QString());

Since now, even the load from memory might need a directory if
the memory block contains a qm file with dependencies.

Change-Id: I781f333d07f53bb431d0a7b5fa1abe282dc4d338
Task-number: QTBUG-26138
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
12 years agoFix crash when column is inserted before rowspanned cell
Eskil Abrahamsen Blomfeldt [Thu, 12 Jul 2012 10:55:04 +0000 (12:55 +0200)]
Fix crash when column is inserted before rowspanned cell

When you're inserting a column in front of a rowspanned cell
and this cell is not the first in the rowspan, we would get
the wrong logical index of the new cell (putting it in
front of the initial cell with the rowspan). If the cell
does not span all rows, the table will get into a broken state
and trigger asserts in update(). To fix this, we search for
the first cell after the insertion point which has a logical
index higher than the cell directly before the insertion point.

Change-Id: I42e91a20d77b2ba9c5607f6cab23f51ed888cbd3
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
12 years agofix splitting of $PATH when looking for sh.exe
Oswald Buddenhagen [Thu, 12 Jul 2012 13:59:05 +0000 (15:59 +0200)]
fix splitting of $PATH when looking for sh.exe

Change-Id: I1ec0a48879d6ba7c0e2e7fdc0939980d0f817a68
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoremove another symbian remnant: QMAKE_RVCT_LINKSTYLE
Oswald Buddenhagen [Thu, 12 Jul 2012 13:44:34 +0000 (15:44 +0200)]
remove another symbian remnant: QMAKE_RVCT_LINKSTYLE

Change-Id: Ibac060ecae061c72d4c7076b2d61a5cdd6247420
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agotest behavior of $${absolute,relative}_path() with empty 1st argument
Oswald Buddenhagen [Thu, 12 Jul 2012 09:19:48 +0000 (11:19 +0200)]
test behavior of $${absolute,relative}_path() with empty 1st argument

Change-Id: I76c0853a9d397979f2ae5eb780374d2380c989f1
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoremove pointless checking/fallback code for $$TARGET
Oswald Buddenhagen [Mon, 9 Jul 2012 14:10:37 +0000 (16:10 +0200)]
remove pointless checking/fallback code for $$TARGET

qmake always sets that variable, so unless somebody pro-actively screws
it up (which doesn't seem like being worth checking for), it will just
work.

Change-Id: I3c4ada47cbd34ac68695d8efbf09c605392616f5
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoremove support for syncqt-based config tests
Oswald Buddenhagen [Thu, 5 Apr 2012 15:08:26 +0000 (17:08 +0200)]
remove support for syncqt-based config tests

now that all modules have migrated, dispose of the clutter.

Change-Id: Ib8937c1452536f645b76c0097b927df1108afc1a
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoremove QT_NO_SIGNALMAPPER from features
Tasuku Suzuki [Wed, 11 Jul 2012 17:49:47 +0000 (02:49 +0900)]
remove QT_NO_SIGNALMAPPER from features

QSignalMapper is a small and extremely low-level interface.

Change-Id: I7e799673c6fe559178739fbc58385141ae3f0789
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
12 years agoFix wince build
Andreas Holzammer [Thu, 12 Jul 2012 09:21:47 +0000 (11:21 +0200)]
Fix wince build

Wince does not have a style so we cannot save it.
This was introduced by Change-Id: I6fca399376cd1fa9bffea0a686b56c4d5ec26605

Change-Id: I249aa8e9688e5a862b3787c531c19baea7338d5e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
12 years agoQPA: pass cmdline arguments to QPlatformIntegrationPlugin constructor
Girish Ramakrishnan [Fri, 6 Jul 2012 13:10:08 +0000 (18:40 +0530)]
QPA: pass cmdline arguments to QPlatformIntegrationPlugin constructor

Two observations of the current code:
1. The cmdline arguments are passed as dynamic properties of the native
   interface. This is not optimal. First, the args should be made available
   in the plugin constructor (and thus in the QPlatformIntegration constructor).
   This allows the integration to make decisions when initializing itself.
   Second, the preferred way for apps to query properties from the platform plugin
   should be through the various methods in QPlatformNativeInterface.

   With that in mind, the dynamic property approach should be obsoleted. I have left
   the code as-is for backward compat.

2. The -platform argument is parsed twice. Once in init_platform and then
   again in QPlatformIntegrationFactory. QPlatformIntegrationFactory now takes
   the name and arg list separately.

Change-Id: I6b568ed9e28feeaf036bf340417fa00bdf1b7da3
Reviewed-by: Romain Pokrzywka <romain.pokrzywka@kdab.com>
Reviewed-by: Oliver Wolff <oliver.wolff@nokia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
12 years agoImplement qWaitForWindowShown using qWaitForWindowExposed.
Friedemann Kleint [Thu, 5 Jul 2012 10:08:31 +0000 (12:08 +0200)]
Implement qWaitForWindowShown using qWaitForWindowExposed.

Deprecate qWaitForWindowShown for Qt 6 as it is just a wrapper.

Change-Id: I0f8195679679120bd402e273fed4d331dc926708
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
12 years agodon't unnecessarily normalize $$[QT_INSTALL_*] any more
Oswald Buddenhagen [Thu, 12 Jul 2012 09:25:39 +0000 (11:25 +0200)]
don't unnecessarily normalize $$[QT_INSTALL_*] any more

they are always normalized nowadays

Change-Id: I2d6d00639a4838da1a4def93a3416b000b8cd589
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
12 years agoQNX: Rename copyBack() to blitPreviousToCurrent()
Thomas McGuire [Wed, 11 Jul 2012 12:34:33 +0000 (14:34 +0200)]
QNX: Rename copyBack() to blitPreviousToCurrent()

Change-Id: I12cff8f4533f9a257b85d2a2db6ee3ef4a0c9751
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
12 years agoQNX: Factor out blitHelper() function
Thomas McGuire [Wed, 11 Jul 2012 12:31:13 +0000 (14:31 +0200)]
QNX: Factor out blitHelper() function

Change-Id: If4d671aae557065d502c3c134f50c89c621cb145
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
12 years agoQNX: Add comment in post() explaining how buffering works
Thomas McGuire [Wed, 11 Jul 2012 12:30:11 +0000 (14:30 +0200)]
QNX: Add comment in post() explaining how buffering works

Change-Id: Ieb87ea1bd926700277bf90c6a50ae89f1a8da1c2
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
12 years agoTests: Fix printsupport profiles.
Friedemann Kleint [Thu, 12 Jul 2012 09:06:11 +0000 (11:06 +0200)]
Tests: Fix printsupport profiles.

Fix reversed conditions, breakage introduced by
32db7de2079967fe1c333c562b742318c50321a4.

Change-Id: I6fca399376cd1fa9bffea0a686b56c4d5ec26605
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
12 years agomake the prl lookup search in standard locations
Oswald Buddenhagen [Thu, 12 Jul 2012 07:38:44 +0000 (09:38 +0200)]
make the prl lookup search in standard locations

qtAddModule() skips adding standard library paths to LIBS. however, as
processPrlFiles() didn't know anything about that, it would not find the
prl files of qt libraries in these paths.
so centralize the definition of these default paths (we should actually
ask the linker for them) and use it in both places.
do the same for the include paths for symmetry.

Change-Id: I7e3692dc2d1c2d0c97a9151d15887b1263de137a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoandroid: fix build mistake from earlier mkspec naming
Robin Burchell [Wed, 11 Jul 2012 13:08:19 +0000 (15:08 +0200)]
android: fix build mistake from earlier mkspec naming

Change-Id: I48d9f097e3177f9e2f558845e531f4e438035586
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
12 years agoFix static plugin loading.
Thiago Macieira [Mon, 9 Jul 2012 11:46:48 +0000 (13:46 +0200)]
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>
12 years agoWrite qHash functions for QDate, QTime and QDateTime.
Mitch Curtis [Thu, 28 Jun 2012 13:53:41 +0000 (15:53 +0200)]
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>
12 years agoAdd unary operator+ to QPoint and QPointF.
Mitch Curtis [Fri, 6 Jul 2012 13:12:41 +0000 (15:12 +0200)]
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>
12 years agoPut the ICU libraries in LIBS_PRIVATE
Thiago Macieira [Wed, 11 Jul 2012 15:15:40 +0000 (17:15 +0200)]
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>
12 years agofix QT.<module>.*_VERSION references
Oswald Buddenhagen [Wed, 11 Jul 2012 14:35:24 +0000 (16:35 +0200)]
fix QT.<module>.*_VERSION references

Change-Id: I448de417d86f2500015b967581dbe7aab58e894a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
12 years agodo not mess with VERSION
Oswald Buddenhagen [Wed, 11 Jul 2012 14:33:47 +0000 (16:33 +0200)]
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>
12 years agoImprove windowflags, windowgeometry manual tests.
Friedemann Kleint [Wed, 11 Jul 2012 13:12:26 +0000 (15:12 +0200)]
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>
12 years agoeglfs: add virtual destructor to QEglFsHooks
Robin Burchell [Wed, 11 Jul 2012 13:08:12 +0000 (15:08 +0200)]
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>
12 years agolinuxfb: Add config.test and configure support
Girish Ramakrishnan [Mon, 2 Jul 2012 21:30:41 +0000 (03:00 +0530)]
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>
12 years agoFix some spelling errors
Sergio Ahumada [Wed, 11 Jul 2012 12:44:38 +0000 (14:44 +0200)]
Fix some spelling errors

Change-Id: I19d3b2e9a5180b13deb828b55195404ef20be295
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
12 years agoAdd protected virtual ensureActiveTarget() to QOpenGLPaintDevice
Jocelyn Turcotte [Tue, 10 Jul 2012 17:13:19 +0000 (19:13 +0200)]
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>
12 years agoImprove QPoint and QPointF auto tests.
Mitch Curtis [Thu, 5 Jul 2012 15:06:31 +0000 (17:06 +0200)]
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>
12 years agoAvoid loading multiple bearer plugins of the same key
Jiang Jiang [Tue, 10 Jul 2012 08:32:03 +0000 (10:32 +0200)]
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>
12 years agoAdd stylehint to use querying RTL keyboard support.
Friedemann Kleint [Fri, 29 Jun 2012 10:38:53 +0000 (12:38 +0200)]
Add stylehint to use querying RTL keyboard support.

Change-Id: Ic58ed7cb64cc7fe60b4d431e9f29e389c62265fc
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
12 years agoClear qt_button_down widget when starting a drag.
Friedemann Kleint [Mon, 9 Jul 2012 10:50:00 +0000 (12:50 +0200)]
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>
12 years agofix build with namespaced qt
Oswald Buddenhagen [Tue, 10 Jul 2012 17:34:48 +0000 (19:34 +0200)]
fix build with namespaced qt

Change-Id: Ie7d8ce60448aea98141baa66a57796447a31040e
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoDon't set the resize and move flags when activating fullscreen mode
Thomas McGuire [Tue, 10 Jul 2012 09:00:36 +0000 (11:00 +0200)]
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>
12 years agoFix unit tests when CMAKE_PREFIX_PATH env var is not set.
Stephen Kelly [Tue, 10 Jul 2012 15:56:54 +0000 (17:56 +0200)]
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>
12 years agolinuxfb: Remove QFbWindow::setVisible
Girish Ramakrishnan [Mon, 9 Jul 2012 10:00:45 +0000 (15:30 +0530)]
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>
12 years agolinuxfb: Add m prefix to all member variables
Girish Ramakrishnan [Sat, 7 Jul 2012 03:26:50 +0000 (08:56 +0530)]
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>
12 years agolinuxfb: raise and lower should take QFbWindow as args
Girish Ramakrishnan [Sat, 7 Jul 2012 03:19:12 +0000 (08:49 +0530)]
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>
12 years agolinuxfb: let the window register itself with the screen
Girish Ramakrishnan [Fri, 6 Jul 2012 21:16:24 +0000 (02:46 +0530)]
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>
12 years agolinuxfb: Add option to not switch to graphics mode
Girish Ramakrishnan [Fri, 6 Jul 2012 13:18:38 +0000 (18:48 +0530)]
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>
12 years agolinuxfb: Rework screen code
Girish Ramakrishnan [Fri, 6 Jul 2012 00:10:57 +0000 (05:40 +0530)]
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>
12 years agolinuxfb: remove mScreens from QFbWindow
Girish Ramakrishnan [Thu, 5 Jul 2012 22:44:37 +0000 (04:14 +0530)]
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>
12 years agolinuxfb: create image only on resize
Girish Ramakrishnan [Thu, 5 Jul 2012 16:30:28 +0000 (22:00 +0530)]
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>
12 years agolinuxfb: don't store window in backingstore
Girish Ramakrishnan [Thu, 5 Jul 2012 15:36:14 +0000 (21:06 +0530)]
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>
12 years agoQNX: fix linking by implementing QStandardPaths::enableTestMode()
Marc Mutz [Tue, 3 Jul 2012 12:28:49 +0000 (14:28 +0200)]
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>
12 years agostatemachine: Support parallel root state
Kent Hansen [Sat, 7 Jul 2012 04:07:11 +0000 (06:07 +0200)]
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>
12 years agostatemachine: Emit finished() signal when the initial state is final
Kent Hansen [Sat, 7 Jul 2012 03:43:11 +0000 (05:43 +0200)]
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>
12 years agostatemachine: Small refactoring of initial transition code
Kent Hansen [Sat, 7 Jul 2012 02:51:24 +0000 (04:51 +0200)]
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>
12 years agostatemachine: Get rid of hidden start state
Kent Hansen [Sat, 7 Jul 2012 02:33:30 +0000 (04:33 +0200)]
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>
12 years agolinuxfb: add linuxfb.json and moc main.cpp
Girish Ramakrishnan [Mon, 2 Jul 2012 12:49:55 +0000 (18:19 +0530)]
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>
12 years agolinuxfb: make linuxfb compile
Girish Ramakrishnan [Mon, 2 Jul 2012 10:01:17 +0000 (15:31 +0530)]
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>
12 years agolinuxfb: make platformsupport convenience compile
Girish Ramakrishnan [Mon, 2 Jul 2012 08:36:03 +0000 (14:06 +0530)]
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>
12 years agosupport building tools as application bundles
Oswald Buddenhagen [Tue, 10 Jul 2012 18:53:52 +0000 (20:53 +0200)]
support building tools as application bundles

qmlplugindump needs that

Change-Id: I3b6b6689a32744262184fa781fda465460a87640
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
12 years agoList required xcb packages for Ubuntu 12.04.
Jason McDonald [Mon, 9 Jul 2012 07:05:57 +0000 (17:05 +1000)]
List required xcb packages for Ubuntu 12.04.

Change-Id: Ia934a9da9986f451d90053891c80ec352b939172
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
12 years agostatemachine: Revamp property assignments implementation
Kent Hansen [Thu, 5 Jul 2012 10:55:20 +0000 (12:55 +0200)]
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>
12 years agostatemachine: Refactor {enter,exit}States() functions
Kent Hansen [Wed, 4 Jul 2012 22:03:41 +0000 (00:03 +0200)]
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>
12 years agoXCB: Use glXCreateContextAttribsARB if available
Sean Harmer [Sat, 7 Jul 2012 18:40:15 +0000 (19:40 +0100)]
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>
12 years agoRemove clipboard operations from QAccessibleEditableTextInterface
Jan-Arve Saether [Wed, 7 Mar 2012 10:59:30 +0000 (11:59 +0100)]
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>
12 years agoChange deprecated use of qgenericplugin_qpa.h to qgenericplugin.h
Sergio Ahumada [Tue, 10 Jul 2012 08:59:49 +0000 (10:59 +0200)]
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>
12 years agoadd feature file for centralized qml plugin project handling
Oswald Buddenhagen [Mon, 9 Jul 2012 17:17:00 +0000 (19:17 +0200)]
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>
12 years agoSet the IMPORTED_SONAME for imported targets.
Stephen Kelly [Wed, 4 Jul 2012 08:11:07 +0000 (10:11 +0200)]
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>
12 years agoFix the name of _debug libraries on APPLE.
Stephen Kelly [Tue, 10 Jul 2012 16:05:13 +0000 (18:05 +0200)]
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>
12 years agofix linking against installations in /usr/lib
Oswald Buddenhagen [Tue, 10 Jul 2012 17:34:35 +0000 (19:34 +0200)]
fix linking against installations in /usr/lib

Change-Id: I17a6a2e058f039e525461d459477329fd7090417
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agomake sure that building tests implies building other parts
Oswald Buddenhagen [Tue, 10 Jul 2012 06:59:40 +0000 (08:59 +0200)]
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>
12 years agoFix showNormal() and friends for platforms with fullscreen hint
Thomas McGuire [Tue, 10 Jul 2012 07:06:11 +0000 (09:06 +0200)]
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>
12 years agoqtbase: Add missing example installs and files.
Friedemann Kleint [Tue, 10 Jul 2012 14:13:06 +0000 (16:13 +0200)]
qtbase: Add missing example installs and files.

Change-Id: I071fd862e001b766c9fb13106242edf23a608663
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
12 years agomake gui compile with QT_NO_SHORTCUT
Jeremy Katz [Tue, 10 Jul 2012 11:57:51 +0000 (13:57 +0200)]
make gui compile with QT_NO_SHORTCUT

The metatype system expects operator<<(QDataStream &, QKeySequence &)
even when shortcuts are disabled. This provides empty definitions for
that case.

Task-number: QTBUG-24816

Change-Id: Ie29fd01d38178bdc31cc51f1f08662b30edfc1e4
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
12 years agoUse DirectWrite font engine for non-ttf fonts as well
Eskil Abrahamsen Blomfeldt [Tue, 10 Jul 2012 09:33:25 +0000 (11:33 +0200)]
Use DirectWrite font engine for non-ttf fonts as well

DirectWrite supports different font types, not just TTF. In order
to enable e.g. CFF support, we simply remove the test for TTF
which was initially put in to be on the safe side when handling
bitmap fonts. However, using DirectWrite with bitmap fonts also
seems to work fine, so there's no reason to have the fallback.

Task-number: QTBUG-22654
Change-Id: I8572bc421ab3dd223025ea152ba9b33f7cf33a8a
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
12 years agoGet font's underline position in DirectWrite font engine
Eskil Abrahamsen Blomfeldt [Tue, 10 Jul 2012 08:17:22 +0000 (10:17 +0200)]
Get font's underline position in DirectWrite font engine

Fetch the correct underline position for the font along with
other metrics.

Task-number: QTBUG-22656
Change-Id: I35f6ea15ad18088033a5e7b7b83e2430c1b32a8f
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
12 years agotest: subtract qurlinternal.pro when private_tests are not enabled
Sergio Ahumada [Tue, 10 Jul 2012 08:35:31 +0000 (10:35 +0200)]
test: subtract qurlinternal.pro when private_tests are not enabled

This test used requires(contains(QT_CONFIG,private_tests)) in its
.pro file, but did not subtract itself from its parent project
SUBDIRS when private_tests weren't enabled.

Change-Id: Idcd0893c4804a8217e4dd33ba9838ff67e996f58
Reviewed-by: David Faure <faure@kde.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoMake the documentation consistent with the header and QVector* classes
Laszlo Papp [Sun, 8 Jul 2012 11:10:13 +0000 (12:10 +0100)]
Make the documentation consistent with the header and QVector* classes

Change-Id: If0c5951029beb388cf4b1b8269de7305d0556ef1
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
12 years agoconfigure{.exe}: enable 'tools' as a default build part
Rohan McGovern [Mon, 9 Jul 2012 22:58:19 +0000 (08:58 +1000)]
configure{.exe}: enable 'tools' as a default build part

Tools for each module should be enabled by default.

Prior to qt_parts.prf, they have been enabled by default, but only by
accident - the value of QT_BUILD_PARTS with respect to 'tools' was
generally not respected.

Change-Id: Icd49d6128d4050ff1c865967a563e9ab88c5a3a2
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
12 years agostatemachine: Don't assign properties for transitions with no targets
Kent Hansen [Wed, 4 Jul 2012 21:17:49 +0000 (23:17 +0200)]
statemachine: Don't assign properties for transitions with no targets

If the transition has no target states, that means the current state
won't change; hence, property assignments should not be performed.
In particular, properties should not be restored to the values they
had before the state was entered.

Change-Id: I237bbb541f939c272777e70c5f26c886ec457a17
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
12 years agostatemachine: Tiny refactoring to avoid double lookup
Kent Hansen [Wed, 4 Jul 2012 20:14:24 +0000 (22:14 +0200)]
statemachine: Tiny refactoring to avoid double lookup

Change-Id: I5040ca417dc12e1e0938ba7669b3017e414d13f9
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
12 years agostatemachine: Add some missing QT_NO_PROPERTIES guards
Kent Hansen [Wed, 4 Jul 2012 19:13:01 +0000 (21:13 +0200)]
statemachine: Add some missing QT_NO_PROPERTIES guards

... and move the applyProperties() declaration to the right place.

Change-Id: Iff4f468f2e7bc0350866b737a0db02c0f74bdd4f
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
12 years agostatemachine: Small refactoring of animation selection code
Kent Hansen [Wed, 4 Jul 2012 19:05:51 +0000 (21:05 +0200)]
statemachine: Small refactoring of animation selection code

QStateMachinePrivate::applyProperties() is an epically long function.
Move the code for selecting animations to a separate function, in
preparation of a larger refactoring.

Change-Id: Ic5846db97dd0cb0d6ad01740f413b233d2a66975
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
12 years agostatemachine: Purge restorable properties when they are restored
Kent Hansen [Wed, 4 Jul 2012 11:03:48 +0000 (13:03 +0200)]
statemachine: Purge restorable properties when they are restored

Previously, a registered restorable property would only be
unregistered if the property was animated (see
QStateMachinePrivate::_q_animationFinished()).
But if a property is set directly, it should also be unregistered;
otherwise, the state machine would use the previously saved (stale)
value the next time that property should be restored.

Change-Id: I5d246aa5355ddd0ba5f81b0186a9f0e4f3bbaa3f
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
12 years agoSet compound state's initial state to 0 if it is removed/deleted
Kent Hansen [Tue, 3 Jul 2012 20:13:56 +0000 (22:13 +0200)]
Set compound state's initial state to 0 if it is removed/deleted

Change-Id: I45b7c15a9b3d5a1860cb9a7da8836f9eaaa0326d
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
12 years agostatemachine: Let QPropertyAssignment do the property write
Kent Hansen [Mon, 2 Jul 2012 21:06:26 +0000 (23:06 +0200)]
statemachine: Let QPropertyAssignment do the property write

This allows QPropertyAssignment to be smarter (caching the
property index, for example).

Change-Id: Ib6d302f46f784219b6b3f07784e5c31dd7288c6e
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
12 years agostatemachine: Don't crash if property assignment target is deleted
Kent Hansen [Mon, 2 Jul 2012 18:45:49 +0000 (20:45 +0200)]
statemachine: Don't crash if property assignment target is deleted

Do like QPropertyAnimation and store the QObject in a QPointer.
Purge the assignments list upon state entry and property restore.

Change-Id: I54a56885a2905178ab6aa5cf292b3d25c86b7a97
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
12 years agoUse Q_DECL_CONSTEXPR for the QFlag's inline constructor
Laszlo Papp [Mon, 9 Jul 2012 20:59:21 +0000 (21:59 +0100)]
Use Q_DECL_CONSTEXPR for the QFlag's inline constructor

Change-Id: I8f9c7bf0fddb79c6c0937e415c427a0547a5cab0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoQtGui: declare some classes as shared
Marc Mutz [Mon, 7 May 2012 17:45:12 +0000 (19:45 +0200)]
QtGui: declare some classes as shared

Change-Id: I0ebb0ca8b8edcecc939021407d1755693f97e553
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
12 years agoUse factor and divisor wording to be consistent with the documentation and rest
Laszlo Papp [Sun, 8 Jul 2012 12:48:12 +0000 (13:48 +0100)]
Use factor and divisor wording to be consistent with the documentation and rest

Change-Id: If05bdcba8f94f4220bae4c40dc5fc3cf44ee41a0
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
12 years agoExtend the sync profile with generating forward header for qnumeric.h
Laszlo Papp [Fri, 6 Jul 2012 14:56:59 +0000 (15:56 +0100)]
Extend the sync profile with generating forward header for qnumeric.h

Change-Id: I3195758e02e26258f1a1ad888e0a069d62b66a53
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agostatemachine: goToState() should require that the machine is running
Kent Hansen [Sat, 7 Jul 2012 02:13:21 +0000 (04:13 +0200)]
statemachine: goToState() should require that the machine is running

goToState() is an internal function. Allowing both goToState() and
machine.setInitialState() to be used to set the initial state of the
machine complicates the logic of QStateMachine::start().

The existing tests for goToState() still pass.

Change-Id: Ie831b4c869848f7f4c3e6bd576cf298a9799eb22
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
12 years agoSpeed up QCoreApplication construction a bit
Harald Fernengel [Mon, 9 Jul 2012 09:39:10 +0000 (11:39 +0200)]
Speed up QCoreApplication construction a bit

Remove all QString conversions during QCoreApplication construction on
Linux. Saves multiple mallocs.

Change-Id: Ia8ba071a750dd6a08dcf14ef3ecc424f70a3098d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoColor transparency support in html import/export
Alexey Chernov [Mon, 2 Jul 2012 19:14:31 +0000 (23:14 +0400)]
Color transparency support in html import/export

Export of color transparency component is added for cases where color
is exported to html. New static function colorValue() is added to
prepare CSS string representation of QColor. When the color is opaque,
it falls down to QColor::name() method which was used previously,
otherwise it returns 'rgba()' CSS statement or 'transparent' keyword in
case transparency is 0.
6-digit precision is used for alpha value as it's maximum which can be
processed properly by Gecko and Webkit engines
(http://lists.w3.org/Archives/Public/www-style/2009Dec/0295.html).

Import part for rgba() statement was also added to QCssParser. It
supports rgba() color values as stated in CSS Color Module Level 3
(http://www.w3.org/TR/css3-color/#rgba-color).

Import of undocumented statement 'rgba(int,int,int,int);' was also
added to preserve regression test success and to provide compatibility
with previous code relying on this behaviour.

Test cases added to QCssParser autotest for rgba(int,int,int,float)
statement and to QTextDocument autotest for rgba(int,int,int,float)
and 'transparent' statements for certain 'color', 'background-color'
and 'bgcolor' properties.

Change-Id: Id341c4e800249820d52edef8003e50f9a74d062b
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>