Commit Graph

15843 Commits

Author SHA1 Message Date
BogDan Vatra
48dcdbe510 Android: implement a simple cache mechanism for assets dirs.
AAssetManager_openDir is a pretty slow operation, so we are caching the most used dir contents.

Task-number: QTBUG-34464

Change-Id: If198f7dae0d6961291c992e6eb46839ba5455819
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-11-01 13:15:07 +01:00
BogDan Vatra
c95e1567e9 Remove unused field.
Fix crash on Android 4.4

Change-Id: Ibee584c0154b0b116af58477302e7e8385f0290d
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-11-01 13:15:01 +01:00
Jerome Pasion
616b431a21 Doc: Fixed footer style and information for offline builds.
-footer is left aligned and smaller text.
-footer contains fewer <div> which were not used.
-CSS rules for footer changed to accommodate new specifications.
-information not relevant in offline builds taken out.

Task-number: QTBUG-33802
Change-Id: Icc57bad9ead8ce812d5df8e72a7bac8c22831b5f
Reviewed-by: Sami Makkonen <sami.makkonen@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-01 12:56:46 +01:00
BogDan Vatra
b7440536c7 Android: Handle virtual keyboard visibility changes.
emitInputPanelVisibleChanged when virtual keyboard visibility is changed.

Task-number: QTBUG-34347

Change-Id: Iab7374db42ff8ce6f33dcc793b23f84d3c8692d5
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2013-11-01 09:38:12 +01:00
Morten Johan Sørvig
d1114669e3 Cocoa: Improve cursor setting.
Implement cursor setting in terms of [NSCursor set]
and [NSView cursorUpdate] using the window tracking
area.

Refactor cursor conversion into QCocoaCursor::
convertCursor. Rename QCoocaWindow::m_underMouseWindow
to m_enterLeaveTargetWindow since it's set according
to spesific enter/leave logic. Add m_windowUnderMouse
which tracks mouseEntered/mouseExited state.

Task-number: QTBUG-33961
Change-Id: Id5e12594f5db365e09c9926a4c08d748a9afb935
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-11-01 09:38:12 +01:00
Andreas Holzammer
d0f8ba748e Don't build ANGLE while xcompile for QNX
Change-Id: Iacc0f4bb776943b21a94b52417a77112facad20f
Reviewed-by: Wolfgang Bremer <wbremer@blackberry.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-11-01 09:38:12 +01:00
Richard Moe Gustavsen
fecc820c58 iOS: bugfix touch events when not using alien
It seems that 130ee40b broke touch handling for
non-alien QWindows. For those cases, a QWindow that is a
child of another QWindow will get its own UIView to
back it up. The current code did not take this into
account when calculating the global coordinates of
touch events. Instead we need to search for the
top level QWindow it might be inside before we find the
view that acts as the "desktop" for it.

Change-Id: Ie3c19bf86c92fa3f247a0764116830e91b8322d2
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-11-01 07:30:32 +01:00
Richard Moe Gustavsen
eb64c765e3 iOS: clear focus object when resigning first responder status
Instead of deactivating the window when we resign first
responder status, we now leave it focused, and
tell it to clear its focus object instead.
This will work better with the rest of Qt, which expects
a window to have focus when its in front.

Change-Id: I6fcc232467af306b791a834f4843bfd2786b206f
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-11-01 07:30:06 +01:00
Richard Moe Gustavsen
cfa85c76c7 QWindowPrivate: add virtual function 'clearFocusObject'
On mobile platforms, a line edit should only have keyboard focus
when the virtual keyboard is open. As it stands, the only way to
clear focus when the user hides the keyboard, is to deactivate the
whole window. This is a bit too much, since Qt still expects the
window in front to be active/focused. What we need is a way to
remove focus from the current focus object without disturbing
the state of the window.

QWindow has a virtual function 'focusObject' from before. We now
add a virtual function 'clearFocusObject' to QWindowPrivate
that can be overridden by QWidgetWindowPrivate and
QQuickWindowPrivate. That way we can remove focus from current
focus object when the virtual keyboard is closed from the
platform plugins.

Change-Id: Ica4ec76f8a69cd6107236a8000ff8bd742e988b5
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-10-31 23:37:54 +01:00
Sune Vuorela
a1bc2921a4 Provide a fallback for QT_STAT_LNK on windows
In most cases, _S_IFLNK isn't defined, but ensure that we still have a
QT_STAT_LNK that works, for example for use around archive files
(zip/tar) that can contain symlinks

Change-Id: I9881e524b79845ce6b474b9a86e5fb25aaa31820
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: David Faure <david.faure@kdab.com>
2013-10-31 23:37:54 +01:00
Lars Knoll
d8bf317546 make qreal double by default on all platforms
On modern ARM CPUs there is no speed difference between
float and double anymore, so let's rather use double for
qreal to avoid rounding and precision issues. Like this
we also get much better compatibility with our desktop
OSes.

This is not binary compatible on ARM, but the old behavior
can be restored by passing -qreal float to configure.

Change-Id: I2a4b61e19a3dfa6b0bd76734cecf2634c97207fc
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-31 22:01:40 +01:00
Lars Knoll
e696bef863 Fix compilation with QT_COORD_TYPE=double on ARM
Add a missing template specialization in the neon
drawhelper.

Task-number: QTBUG-33781
Change-Id: Iec02a93aee9403dc1275c32436db5527585b1088
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-10-31 22:01:40 +01:00
John Layt
24733dea6c QDateTime - Optimize refreshDateTime()
A small optimization to the private refreshDateTime() function, improves
standard performance tests by 0.3 msecs per iteration for affected
functions, e.g. isValid() and offsetFromUtc() improve from 5.4 to 5.1.

Change-Id: Ie67812649ef244388b484af35848b09d92dee38a
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-31 22:01:40 +01:00
John Layt
1da1259c28 QDateTime - Optimize date() and time() methods
Optimize the performance of date() and time(), resulting in a one-third
improvement, and subsequent improvements in all date/time based
functions.  Tested over 1000 iterations of the standard benchmarks, in
msecs per iteration:
                     Before  After
date()/time()        0.3     0.2
setDate()/setTime()  0.9     0.8
daysTo()             0.6     0.4

Note original performance before msecs storage was 0.06.

Change-Id: Ie838e560ddf7129281531dc965af56ac19cce91d
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-31 22:01:40 +01:00
BogDan Vatra
e7db02e79e Remove android specific qmake variables.
Change-Id: Iba2b929ba70588ffcbcc9395501753521cfe5154
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-10-31 22:01:40 +01:00
Oswald Buddenhagen
43684a20d0 use private linkage where possible
Change-Id: Ie8eaa71bee87654c21218a23efd7e9d65b71f022
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-31 19:49:32 +01:00
Oswald Buddenhagen
e469e667e3 use the right scope
"windows" only worked more or less by accident (it's the opposite of
"console" and just happens to be the default on windows).

Change-Id: Ib60c8ae5aea04f28207c05cc0005183dd6eb6244
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-31 19:49:19 +01:00
Oswald Buddenhagen
3b6b615334 export QT_NO_<foo> equivalents to the build system
this makes it possible to properly exclude entire subprojects based on the
availability of features, rather than stuffing every single source file
with #ifdefs.

the defines are aggregated from the -qconfig <profile>,
-no-feature-<foo> and some other configure flags.

usage:

load(qfeatures)
!contains(QT_DISABLED_FEATURES, textarea): SUBDIRS += textstuff

Task-number: QTBUG-28102
Change-Id: I83400632d64312fa4b907e1318dddfe27c432387
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
Reviewed-by: Tasuku Suzuki <stasuku@gmail.com>
2013-10-31 19:49:15 +01:00
Robin Burchell
418e06f78f Don't cache QCoreApplication::appName.
This isn't a hot codepath, there is no gain to doing this. It introduces
unnecessary bloat (see e.g.
https://www.webkit.org/blog/2826/unusual-speed-boost-size-matters/) and
complicates boosting Qt application startup in cases where argv[0] is
overwritten.

Change-Id: I55b2b98b0de6b06fe7a049de262f3e19936b73db
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-31 19:44:16 +01:00
Chengyong Xie
04de24c644 Fix setVisible() of QWidget has no effect in QTreeWidgetItem
Check if the item is hidden before show the item(QWidget)

Task-number: QTBUG-13522
Change-Id: I1c605d5cb8a80f340e9b7601612d3760f51cb4a7
Reviewed-by: Liang Qi <liang.qi@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: David Faure <david.faure@kdab.com>
2013-10-31 19:41:49 +01:00
Friedemann Kleint
33a88d6cd7 Stabilize moveChild/showAndMoveChild-tests.
Pass window flags on to ColorWidget constructor and use a window
frame + stay on top-hint for the moveChild/showAndMoveChild tests
to make the screen grabbing more reliable.

Disable animations on Windows since they seem to affect screen
grabbing as well (fading in of windows).

Task-number: QTBUG-30566
Change-Id: I8eacfc203d26674dc1b283d6643f3d434f218f26
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2013-10-31 14:22:25 +01:00
Paul Olav Tvete
f4d85c6548 Remove compiler warning when QT_NO_PRINTER is defined
This broke the build on Android with warnings-are-errors.

Change-Id: I9edb9539c4a6f7286ff46cbaa53bcfef4cf5280f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-10-31 14:22:25 +01:00
Mark Brand
a174eb95f1 update changelog for QtSql 5.2.0 (and 5.1.0 in retrospect)
Change-Id: I112e20d16f4da86487b95b4b01c4f3032ea2d3bd
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2013-10-31 14:22:25 +01:00
Allan Sandfeld Jensen
c1e9c0bb0b Assert in QImage conversion from rgba8888pm -> rgba8888
Fix typo in assert.

Change-Id: I7dc056957b31a869eabe2e45feb99ae4fccb2d97
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-10-31 14:22:25 +01:00
Joerg Bornemann
392054d311 fix VS version selection
On machines where multiple versions of VS are installed, the VS version
for the vc(x)proj generator is selected by the entries in the PATH
variable. The first VS installation that's found in PATH is used.

The former logic printed a warning if multiple VS installations were in
PATH and also fell back to the lowest version if a VS version was
registered with multiple install paths.
That's the case for VC 2012 express and prevented its usage.

Task-number: QTBUG-34357
Change-Id: Ia5c66a1aea0c40e4b7460b3aa6c7daee6673da44
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-10-31 12:33:55 +01:00
Oswald Buddenhagen
67c9b5ad9f fix filtering of system paths
the path filtering functions assume that DEFAULT_{INC,LIB}DIRS are
newline separated lists of unquoted strings, which 8fbf959be broke.

Task-number: QTBUG-33714
Change-Id: Ie07909963ac5155a8ac79ca9254f34069925e001
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-31 12:33:55 +01:00
Yoann Lopes
65b12fbdb1 Store the font's scalability in QFontEngine.
This is an enabler to fallback to native font rendering when using a
bitmap font in Qt Quick.

Task-number: QTBUG-32737
Change-Id: I6d841dd5ef54d78a00f7fab9d80e9c95ff7f7b98
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-10-31 12:33:55 +01:00
Shawn Rutledge
e8f2c4d2cd QFileDialog: document the consequences of being "widgetless"
After 37ca2224ec it's an exposed
behavior change that the widgets and related paraphernalia don't exist.

Task-number: QTBUG-34100
Change-Id: Ie0ebcb8c5c5668b6c12c5447f25bfbfd893dec6c
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-10-31 12:33:55 +01:00
Tor Arne Vestbø
f9a8cf99bc qmake: Pick up default bundle prefix from Xcode preferences
But still fall back to 'com.yourcompany', just like Xcode does for the
initial launch.

Change-Id: I89afadefafc254a0014aca197741d42a0199943e
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-10-31 12:33:55 +01:00
Laszlo Papp
22aea3f42b Include unistd.h in the unix implementation source of QLockFile
This is necessary to avoid hidden dependencies for int gethostname(char *name,
size_t namelen);

This was revelead while backporting the class to Qt 4 for QtSerialPort.

Change-Id: I1c477d295eeae90b3136fc6aae5d45982d5b1d73
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-31 12:33:55 +01:00
Eskil Abrahamsen Blomfeldt
8c3f2f5f69 Mention androiddeployqt in changes-5.2.0
The new way deployment is done can be confusing to users of
Qt 5.1 and Necessitas, so we need to mention that it has changed
and point them to the documentation.

Change-Id: I8e9890699f57d6000370c384c52fcb093a917bef
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
2013-10-31 10:52:11 +01:00
Tor Arne Vestbø
9b8c4b3dea iOS: Be more specific in where we look for object files to rename main
When building under Xcode we can limit the object files search to the
current SDK and debug/release configuration.

Change-Id: Ic405f13f46a594e3ed20d82ca6b84e7e67edebfc
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-10-31 10:00:49 +01:00
Kari P
a316bdadc0 Mac: Modify Qt::SizeAllCursor to look like arrows
On Mac, Qt::SizeAllCursor showed a spreadsheet cell selection cursor.
It has been changed to look like it looks in the Qt Documentation.

Task-number: QTBUG-27577
Change-Id: I2d50ab0d813137366b56cb30b8784ecf70392d4e
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2013-10-31 07:59:25 +01:00
Friedemann Kleint
e00a961732 Clean up QPlatformPrinterSupport via post routine.
Change-Id: I5aff587f0186f15c9fa65d236e5ebe9a7901dd86
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-10-31 05:53:38 +01:00
Stephen Kelly
fe220f3b5b Don't use NO_DEFAULT_PATH on mac when finding GL headers and libraries.
The paths may be relative to a sysroot or osx SDK. The existing logic
assumed that we always get fully resolved absolute paths from qmake.
However, qmake populates and uses the -isysroot option separately.

Task-number: QTBUG-32308

Change-Id: Ia23600cdc047d0844bfec32dd4feae3a2b5c95c0
Reviewed-by: James Turner <james.turner@kdab.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-10-30 23:26:58 +01:00
Oswald Buddenhagen
6a508ee5b2 bring the windows configure -qconfig handling in line with the unix one
on the way, this significantly simplifies the code.

Change-Id: I24f0a517e62cc4b913ffef5cab096e721653c013
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-30 23:26:58 +01:00
Oswald Buddenhagen
bf0c9c3bec turn makeabs into a proper cleanPath()
normalize away all ".." and ".".
fewer surprises that way.

Change-Id: Iaa56c634aed5c8351966eaea7a73b85cb8235ead
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-30 23:26:58 +01:00
Oswald Buddenhagen
54c8c7a96a duplicate less work while handling -qconfig
Change-Id: I8ba6b866f98c9fe7609af71c168023097e32828c
Reviewed-by: Tasuku Suzuki <stasuku@gmail.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-10-30 23:26:58 +01:00
Ian Dean
fe41442575 iOS: Add standard paths implementation for iOS
A standard paths implementation for iOS. The APIs used on iOS require
that the source file be "Objective-C++" (with a .MM extension), as
there are no APIs available in C++ for this. The implementation
complies with the latest documentation on standard paths.

Change-Id: I349d3c5d4ddb6fb1297a45dc9ae26b56ac528abb
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: David Faure <david.faure@kdab.com>
2013-10-30 21:58:36 +01:00
Friedemann Kleint
44e68b9026 Windows: Do not use blend function for GL windows with alpha.
Task-number: QTBUG-34376

Change-Id: I81a5ee6ff14e5472eb1f3846577d86b615be34e0
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-10-30 20:30:19 +01:00
Tor Arne Vestbø
769abe8d2f iOS: Fix logic for determining whether to exit the root event loop
Instead of trying to hook into various places where we might be in a
situation where the root event loop should exit, and then enabling the
runloop-observer, we always keep the observer active, and then do the
relevant checks whenever the run-loop exits.

The reason for checking if the event loop is running is that iOS will
enter and exit the root runloop as part of normal operation, eg due to
flicking a scroll view and switching the runloop mode, so we need to
ensure that we're actually supposed to exit the root event loop.

Change-Id: I9b84b47ee45e0c9e2b1d2ebb5a432ea92700b324
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-10-30 20:30:19 +01:00
Thiago Macieira
d2580054f9 Update the ICC spec on Linux to actually compile stuff
I had the -fPIE option in my personalised "linux-icc-optimised" spec,
so I never noticed it was missing in the standard one.

I have no idea when -rpath-link is necessary. It isn't for me.

Task-number: QTBUG-34425
Change-Id: I54b2fb8cda10b9197d81b5630b1d29b8c338d96a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-10-30 19:02:01 +01:00
Richard Moe Gustavsen
a959beeeec xcode generator: resolve QMAKE_INFO_PLIST from source dir
If QMAKE_INFO_PLIST is set, check if the file it
points to is located inside the project source dir
rather than the build dir.

Change-Id: I6fb176349dae8e841b5e2dfdb9f9cb87f51a1e76
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-10-30 16:24:22 +01:00
Friedemann Kleint
a3d72efc65 Consider multi-monitor setups in QPlatformWindow::initialGeometry().
Task-number: QTBUG-34204

Change-Id: Id79efe33ece071ad94578b6ac0370b0f040d1c3c
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2013-10-30 14:50:02 +01:00
Caroline Chao
195cd51f7d Fix QSpinBox size calculation problem with empty stylesheets
Task-number: QTBUG-34305

Change-Id: I3e89dc66446e9f5e9e1810be367830b9df98ab0b
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-10-30 14:50:02 +01:00
Michael Krasnyk
ebf0524186 dbuscommon.pri: Fix source file dependency
Make already the creation of the generated cpp file depend on the
creation of the generated h file, which transitively ensures that
the cpp won't be compiled before the h is there.

Change-Id: Idd3aec8d72dac341e835a3d1ef8f2986dbc1ab9f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-10-30 14:50:02 +01:00
Christian Strømme
b280182053 Android: Don't rely on QIcon::isNull() to validate icon data.
QIcon::isNull() only checks if it has a valid d pointer and not if it
actually contains any image data. The result is that the QImage create
from the icon would be invalid, and later cause an exception to be
thrown. To avoid this we should check the QImage as well.

Task-number: QTBUG-34416
Change-Id: I9dd0a2387d73bfc2c27ceb9df247ddc186dd659f
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2013-10-30 14:50:02 +01:00
Christian Strømme
fb5036b7f1 Android: Fix problem with leaking local refs.
In some cases we where not releasing the local references and since we
no longer disconnect from the VM on each call, the number of local refs.
would accumulating until it hit the hard-limit of 512.

Change-Id: I6826620e4cb61a37af26d276667489e876080076
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2013-10-30 14:50:02 +01:00
Jørgen Lind
aa92cab346 remove compiler warning
Change-Id: I40750320d21165333b195aca7564a6f4ee9d9eef
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-10-30 13:09:47 +01:00
Jørgen Lind
f1927370cb xcb: Compilefix #ifdef glx code
Change-Id: I4204cab76b2621318dda909d24ceb2abab6e0ba3
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-10-30 13:09:47 +01:00