Commit Graph

16030 Commits

Author SHA1 Message Date
Marc Mutz
1f10476866 Update ChangeLog for 5.2.0 [QtWidgets]
First batch of changes applied to src/widgets since v5.1.0.

Change-Id: I23515e8dd340f8551d1681d0abeb2cbbff3683d7
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-11-25 23:56:14 +01:00
Thiago Macieira
1073d38617 Update changelog for 5.2.0 RC1
Change-Id: I3a34fe4d26dab1eab9518f995406ecc85d5ff4c1
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-11-25 23:56:09 +01:00
Oswald Buddenhagen
40290b06d3 actually complain about invalid -[no-]{sql|imageformat}-* options
Change-Id: I0530d7dcdeb944db76bc708512c57e537f2c95c8
Reviewed-by: Vladimir Minenko <vminenko@rim.com>
Reviewed-by: Wolfgang Bremer <wbremer@blackberry.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-11-25 17:11:26 +01:00
Richard Moe Gustavsen
484d6ce776 iOS: update keyboard layout upon focus transfer
When iOS transfers focus from one view to another, it
asks the new view for its UIKeyInput properties before
deciding how the keyboard should be configured.

For Qt, the same QUIView is used for the whole QWindow
which means that UIKit will not change the keyboard
configuration just because we change the focus object
in Qt, since the UIView does not change.

There seems to be no way to tell UIKit that the
keyboard needs to change becuse the UIKeyInput
properties has changed. To work around this, we
briefly resign first responder status, and grabs it
again, for the same QUIView.

Change-Id: I2d15cc0c928deb023e7da58ad4669b7099dce2cf
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-11-25 17:11:26 +01:00
Richard Moe Gustavsen
bdf0670c02 iOS: add [QUIView updateTextInputTraits]
Configure QUIView text input traits from IM hints
returned by the focus object when the view becomes
first responder. This will affect the layout of the
virtual keyboard.

Change-Id: Ib140ba69d01cc747f3ac3cdd70dd2e7daede26b0
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-11-25 17:11:26 +01:00
Richard Moe Gustavsen
99474206f4 iOS: don't loose precision when converting CG types
CGRect and CGPoint consist of CGFloat variables. So
we should convert to QRectF and QPointF rather than
QRect and QPoint.

Change-Id: I76f180e4064f54d5810c49b88fdbbcd914bdb686
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-11-25 17:11:26 +01:00
Richard Moe Gustavsen
0bfc1c8647 iOS: don't scroll after inputItem has moved
If the inputItem moves, it typically means that the user
scrolls or flicks the focus item around. In that case
we should avoid scrolling the screen, otherwise they
will "cancel out" each other. Besides, when the user
flicks, he takes control over the whereabouts
on the screen anyway.

Change-Id: Iad0762965f9dcdbcca934ce6d90a8c1413ce3ca2
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-11-25 17:11:26 +01:00
Richard Moe Gustavsen
953d85e049 iOS: scroll screen when keyboard opens
This change will let QIOSInputContext scroll the root
view when the virtual keyboard is open, so that the input cursor
is not obscured.

Change-Id: If0758f4bf04c2b8e554e0196451154def7e3cb86
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-11-25 17:11:26 +01:00
Andy Nichols
344a7c540b iOS: Do not skip building QtGraphicalEffects module
The QtGraphicalEffects module is a QtQuick2 only module so it is clear
why it was left out before iOS had support for QtQuick2, but now it
should be built by default.  This commit removes QtGraphicalEffects from
the iOS module "skip list".

Change-Id: Ie0890f6784ad6e276e80bf7a11195c141ca23332
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-11-25 15:09:44 +01:00
Andy Nichols
0835859dd5 iOS: Do not skip building QtQuickControls module
The QtQuickControls is supported for 5.2 though it does not provide
the system native "look and feel".  This patch removes the module from
the iOS module "skip list".

Task-number: QTBUG-35033
Change-Id: Icad479f2e4651c02e569e8a86cfe5ac912d8ed10
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2013-11-25 15:09:40 +01:00
Andy Nichols
d86f045082 iOS: Do not skip building QtMultimedia
QtMultimedia is supported in Qt 5.2 and should be built by default, so
it has been removed from the module "skip list"

Task-number: QTBUG-35039
Change-Id: Id43f997251bf392b7f6c0166ee06b7364ce30b8e
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2013-11-25 15:09:36 +01:00
Simon Hausmann
2f87fde9bb Allow for QtDeclarative and QtQml to co-exist at run-time
Qml has a bunch of hooks in QObject, that are callbacks as function pointers
when things happen in QObject. QtDeclarative (Qml1) only needs one callback,
for object destruction. In preparation for allowing both run-times to co-exist,
this patch forks the callback, keeping the "default" variant for QtQml and
having a *_qml1 variant for QtDeclarative.  QtQml continues to set the callback
variable for the default and QtDeclarative will set the _qml1 variant.

It is however a limitation that a QObject instance can only be exposed to _one_
engine at a time, and it is not possible to make a transfer. Double exposure
will result in crashes.

This patch alone is not sufficient to fix the bug, the
QQmlData/QDeclarativeData structures in Qml1 and Qml2 need to be extended to
allow distinction at run-time.

Task-number: QTBUG-35006

Change-Id: I3bac023873b5656a8a4f117fe816bafcda77b67d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-11-25 12:40:42 +01:00
Richard Moe Gustavsen
eafa224c3b iOS: decouple QIOSWindow and QIOSInputContext
Change-Id: I85dda6fc0c6d2d11709b8bcdc0de6c0cef42d40f
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-11-24 15:21:12 +01:00
Oswald Buddenhagen
3d89b10db9 fix handling of \\ in replacement string in s/// cmd of built-in sed
QString::replace() has no way of escaping capture group references,
so simply disarm double backslashes. of course this is broken, but
we'd need to reimplement it from scratch to fix it properly. "corner
case" ...

Change-Id: I357fbfd22c9c4a68809e5af6efad1de3a95706b5
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-11-23 23:31:18 +01:00
Oliver Wolff
d4c548ce5c Fixed assert in Windows key handling
Certain key sequences (like press alt, press left, release left,
release alt) can cause an assert in qwindowskeymapper. This
behavior was introduced in change
I4f7709a90906b03f4504deea1ff5c361e9f94b3f (Fix virtual key
mapping on MS Windows). The place that seems to cause the new
behavior is changing the bitmask for obtaining the event's scancode.

With the changed bitmask releasing the alt key in the given
key sequence causes the WM_KEYUP event to trigger a WM_CHAR event
which should not happen there. To be honest I don't know how having
the extended bit inside the scancode fixes the behavior but it seems
to do and I could not find another place which might cause the
breakage.

Task-number: QTBUG-35005
Change-Id: Ia18c2681ea311196441a5cd15017e220ac095674
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-11-23 19:58:34 +01:00
Oswald Buddenhagen
a0e32cbf74 fix handling of | in s/// commands of built-in sed
Change-Id: I139d007d68fb0aed4d9fbe57a14d1ede81ba40d8
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-11-23 19:58:18 +01:00
Oswald Buddenhagen
ef510adea5 adequately shell-escape generated sed commands
Change-Id: I39c8c4ab3da69bd21beace56f5cf3070301ac015
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-11-23 19:58:11 +01:00
BogDan Vatra
56493268f7 Prepare for printing support.
There is no real printing support though, it just prepares
the land for bringing printing support for API-19+.

Change-Id: Iabf78499f8fe1e4d2527e339cee5746acb8f3b3f
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-11-23 15:46:19 +01:00
Andreas Holzammer
ca2440e2b1 Add PPS configure check
Plain QNX 6.5.0 does not have a libpps, the new QNX
has a libpps and BlackBerry has it as well. So we need
a configure check to not open another mkspec for this
platform. This fixes the plain QNX 6.5.0 build.

Change-Id: Id4b3876f2385bcb5f3df426945532e7e26133f24
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2013-11-23 15:45:35 +01:00
Frank Osterfeld
a18daa8793 QNX: Only link libclipboard when building with clipboard support
In QNX 6.6, libclipboard isn't part of the base SDP, and QT_NO_CLIPBOARD
is set unconditionally on plain QNX anyway. The clipboard-based implementation
isn't compiled when QT_NO_CLIPBOARD is set, so only try to link libclipboard
when actually building with clipboard support (BB10).

Change-Id: I54eb4fadb6bf239a83884796f5758cb79a5677ef
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com>
2013-11-23 15:45:24 +01:00
Arvid Nilsson
88728897a6 BlackBerry: Fixed root window size, continued
The previous patch removed a call to setGeometry, and now only calls
setGeometryHelper. This means the screen window will be resized, but
Qt won't know about our new window size. The scene graph of a QtQuick2
application would layout and render to the wrong target size.

Fixed by adding a call to QWindowSystemInterface::handleGeometryChange
if we decide to use a different geometry than suggested by the window.

Task-number: QTBUG-34930
Change-Id: Ie91c2edc45c47f5bf1d45aed981b969fcc3f40dd
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2013-11-23 15:45:06 +01:00
Laszlo Agocs
376ccedd1a Avoid incorrect warning when painting onto a QImage
Change Ia8ef48f3 introduced a regression: Trying to paint onto a
QImage, QPicture or QPrinter from outside the main thread incorrectly
shows a warning saying that it is not supported.

The patch was incorrect because 'extraCondition' was used in the
non-default branches of the switch and thus not passing
extraCondition==true caused the message appear even when it shouldn't
have.

Let's just remove the extraCondition parameter altogether since it is
not used in practice anyway.

Change-Id: Id2e56c585d1f1013f24942cbcd53305fbb66aeba
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2013-11-23 15:44:55 +01:00
Tor Arne Vestbø
28c5c74c9b iOS: Re-enable kEAGLDrawablePropertyRetainedBacking
Having it disabled caused issues with our backing-store implementation,
which assumes that the backing store is retained, but for us is backed
by a GL context.

Change-Id: I18d05e226c7cf949adcd3b71801ffd845fa6d83d
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-11-22 22:36:58 +01:00
Tor Arne Vestbø
a4e1c15b16 iOS: Deliver resize events synchronously after setGeometry for QtWidgets
QWidget::show_sys() assumes synchronous geometry behavior by trying to
resize both the platform window and the backing store if the widget's
view of what the geometry is doesn't match the platform window's.

The problem with that is that it's the widget which is not up to date,
not the window, as the widget is not waiting for resize events before
applying any resize logic. Instead of trying to fix widgets, we throw
our hands in the air and give QtWidgets the synchronous behavior it
assumes from the platform.

Change-Id: I1b9241b9b13df661dc7f41c4cb8ecd02f5572256
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-11-22 22:36:53 +01:00
Tor Arne Vestbø
c38225229d iOS: Allow QBackingStore::flush() without beginPaint()
The QBackingStore API doesn't require clients to precede flush() with a
beginPaint() call, but our backingstore is backed by a GL context, so
it's up to us to ensure it's current before swapping.

Change-Id: Ia6119bf0e835448b1fd383d933df6f88fa4f298a
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-11-22 22:36:48 +01:00
Tor Arne Vestbø
c25385ae1e iOS: Fix build against iOS 5 SDK and auto-rotation on iOS 5
Change-Id: I3acc2d3780a9440bedf48db3fed0046b06300b9e
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-11-22 22:36:43 +01:00
Tor Arne Vestbø
03cd5b3563 iOS: Use separate release pool for qt_ios_version()
QSysInfo::MacintoshVersion is initialized before the main thread's release
pool has been set up, so we have to wrap the UIKit usage in our own pool.

Change-Id: I80e2c068339e0251f38ecf55fcfb764594eb3ad7
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-11-22 22:36:38 +01:00
Tor Arne Vestbø
f441d8e523 iOS: Change show() to imply maximize, and showFullScreen() to hide status bar
Matches the Android behavior, and gives an easy and predictable way to
show true fullscreen windows that is similar to how one would do it on
a desktop platform.

We keep the statusbar visibility in sync with the window state of the
active window.

Change-Id: Ia4b99e03f83e19f9ef56cc99b9d477cc6da4c734
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-11-22 22:36:34 +01:00
Tor Arne Vestbø
ae5392a00b iOS: Take position of root viewcontroller into account for geometry changes
When setting the geometry on our UIView, or when reporting it back to Qt
in our layoutSubviews callback, we need to take into account that the
root viewcontroller may be not be positioned at 0,0 in the screen's
window. Even when using the wantsFullScreenLayout property of the view
controller this may be the case on iOS7 when the in-call status-bar is
visible.

Change-Id: I0ca706c1c9aff8ba4f3b4ccdf83dba713bd5c9c2
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-11-22 22:36:30 +01:00
Tor Arne Vestbø
1ca27d38bc iOS: Fix when and how we send geometry and expose events
Geometry changes may come from Qt itself, or spontaneously from the windowing
system. In both cases we deal with them through the layoutSubviews callback,
which we now ensure gets called after we set a new geometry on the UIView
frame, by using the setNeedsLayout message.

We take care to persist the requested geometry from Qt immediately in our
setGeometry() function, so that subsequent calls to QWindow::geometry()
will report back the requested geometry. Clients can however not rely
on this geometry until they've received a corresponding resize event,
which we trigger from layoutSubviews.

Since the new geometry reported in layoutSubviews may be different from
what the user requested, we ensure to pass on both the new and the "old"
geometry, so that Qt will send the appropriate resize and move events.

Instead of building expose events on top of the existing layout
mechanism provided by iOS, we hook into the more logical point,
which is the display-phase. Since a EAGL view normally doesn't
need to "display" anything this takes a few overrides on UIView.

Once we have the hooks we need, we can distinguish between a QWindow
backing needing layout, and needing displaying.

Finally, we flush both the resize and expose events, as that's what
iOS expects of us when asking us to layout or display. The result
is that Qt is able to synchronously resize subwindows and prepare
new GL rendering for the next frame.

Change-Id: I4c03e3db3fe886163284ba1a342699e217e88cbb
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-11-22 22:36:23 +01:00
Tor Arne Vestbø
b6ad2621aa Add convenience macros for checking OS X and iOS platform SDK and target
Allows us to skip passing __MAC_NA and __IPHONE_NA when we don't care
about that platform.

Change-Id: Ie265beb457d057de06ae64970684d67e59062b1c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-11-22 22:36:00 +01:00
Paul Olav Tvete
a474b1d135 Android: make the default font size bigger
The default font size turned out to be slightly too small for
comfort on touch devices. This tweaks the size from a 12-point equivalent
to a 14-point equivalent. (Point sizes aren't real point sizes because of
compatibility with iOS.)

Change-Id: I6d970fdd5bba8199cabdf1aaaaac10d19c53c654
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-11-22 16:31:34 +01:00
Gunnar Sletta
7879fbe4b8 Disable threaded GL for nouveau drivers.
Task-number: QTCREATORBUG-10875
Change-Id: I25f3abc6ef15bba78fa9ec27de2c1e5e0bcc7fae
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-11-22 16:29:15 +01:00
Allan Sandfeld Jensen
3f97e38440 Fix race condition between destruction of QObjects
If the two QObjecs are connected and destroyed at the same time, it
is possible to hit a case where QObject::metaObject and QObject::disconnectNotify
is called on a destroyed object.

This patch moves the calls up before the removal of the connection. This
ensure the sender object will have to block on the receivers connection
mutex and can not finish destruction before disconnectNotify is called.

Task-number: QTBUG-34131
Change-Id: I398116fe7bc6a195991aff9961d89a8b0ac8d53c
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-11-22 07:48:08 +01:00
Tor Arne Vestbø
bb090fa76e iOS: Fix linking against QtCore
After introducing support for QSysInfo::macVersion() for iOS we need
clients to link to UIKit when using QtCore, as that's where the UIDevice
class lives.

Change-Id: I0a9c2e2506c61ac5619fd000ebd10c2ab9e037cf
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-11-22 07:34:49 +01:00
Kai Koehne
8e48d830e8 Handle INCLUDE and LIB environment variables in config.tests for MinGW
Fix ICU compile test for MinGW by adding the INCLUDE and LIB environment
variables to the compiler flags. The logic is the same as in qmodule.pri.

Task-number: QTBUG-34971
Change-Id: I192e06643517087587ec4a5dffe4698c2078011a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-11-22 07:30:57 +01:00
Tor Arne Vestbø
773610cc45 Revert "Ensure Qt::WA_Mapped is set in case of obscured native windows."
Qt::WA_Mapped maps (sic) to windowHandle()->isExposed(), and we set/update
it in QWidgetWindow::handleExposeEvent(). Setting it directly in show_sys
shortcuts QPA and assumes showing a window is synchronous on all platforms,
resulting in trying to flush the widget backingstore when the window was
not exposed yet (due to discardSyncRequest starting to return false).

This reverts commit 829b1d13b2.

Change-Id: I0bd700d4939bc69ba184d8586435b68ec3dd72fb
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-11-21 16:28:36 +01:00
Oswald Buddenhagen
8259e45c1e install pdb files for dlltarget
Task-number: QTBUG-31129
Change-Id: I49ef3472d12b291999b4194b014b200df4b0f22d
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-11-21 14:53:30 +01:00
Eskil Abrahamsen Blomfeldt
1a1f25781d Fix mkdir command in Windows shell for paths with forward-slashes
In particular this triggers in some cases of package building
where we are using a Qt version which for some reason has
forward slashes in its install prefix. Any mkdir command
run with this Qt build will fail because only backslashes are
recognized as path separators.

Task-number: QTBUG-34886
Change-Id: I2f957c6d348852ec555a67a35ae39921523b7b3e
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-11-21 14:52:23 +01:00
Oswald Buddenhagen
2a6e8a7b7a fix more cases of mkdir_asstring() argument overquoting
Change-Id: I7dd4024fb6fceb47431b626b586a471b74789cdc
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-11-21 14:52:06 +01:00
Christian Strømme
426fd70ec1 Update the list of examples that work on Android.
Some of the examples that where tagged with "android" are no longer
supported (e.g., video widget), others just don't work.
This patch replaces those that have equivalent examples that are known
to work, plus some new ones that where missing (Camera, AndroidExtras
and AudioOutput).

Change-Id: I9173ab31d0ef0b55613fd5342e7d2e6d95d4d980
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2013-11-21 11:02:37 +01:00
Andy Shaw
0ac9ea83f8 Handle the Qt::FramelessWindowHint correctly in Cocoa
This fixes a regression introduced by
be405c86f8.

Task-number: QTBUG-34988
Change-Id: Id825b51d4d94826819d2405bb711886db3db8bc8
Reviewed-by: Christoph Schleifenbaum <christoph.schleifenbaum@kdab.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-11-21 11:01:50 +01:00
Tor Arne Vestbø
c62efb52b5 iOS: Use custom method to lay out windows instead of resizeMaximizedWindows()
Since we guard against overriding the geometry in setGeometry() when a window
has a window state, we need to use a custom method to lay out windows that
calls applyGeometry() instead.

Change-Id: I6508e6aac6746c024a6172f709b8339b35b40994
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-11-21 11:01:33 +01:00
Tor Arne Vestbø
e6d13c7f00 Add QSysInfo::MacVersion enum values and parsing for iOS
Change-Id: I82e425e3cd06e0f515aa6edfb25ef9895956a5c6
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-11-21 11:01:22 +01:00
John Layt
6ad97bfa73 QTimeZone - Fix dateForLocalTime() to check validity of next transition
The private method dateForLocalTime() was not checking that transitions
were valid, resulting in infinite looping when a time zone didn't have
any future transitions.

Change-Id: I0e5d07063861778dd86056a80c36fdd9f9d36133
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-11-21 09:25:23 +01:00
John Layt
8e6258f059 QTimeZone - Fix TZ file abbreviations
Fix parsing of TZ file abbreviations, to correctly return cases where
POSIX rule doesn't have separate DST rules, and where abbreviation
is a sub-string of another abbreviation, otherwise any toString() call
will crash.

Add test to exercise all available time zones, especially useful for TZ
file to confirm all file format variations dealt with.  Fix parsing of
Version 3 of TZ file, and ICU display name, to allow all files generated
from release 2013f to pass, otherwise isValid() call will crash.

Task-number: QTBUG-34061
Change-Id: Ie0b6abc218adff1c8967eb33fdb0762041d2305f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-11-21 09:25:23 +01:00
unknown
c03ea9be38 QTimeZone - Fix Windows Transitions with null rules
Fix the Windows handling of null DST rules for a given year, if the
calculation rules have a null value then can skip trying to loop through
the calculations until the min/max year is hit which causes the stress
test to time-out in CI, and instead return a value immediately.

Change-Id: Ie2d4ee55c5487e040e0cead91d1be2a0c06d3074
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-11-21 09:25:23 +01:00
John Layt
6bf759b310 QTimeZone - Change Olsen ID to IANA ID
The name Olson was misspelled as Olsen in the public api of QTimeZone
which is needed to be fixed before first public release in 5.2 would
freeze the api and prevent it being fixed.  It has been decided that
renaming as IANA ID would be more future-proof.

Fixes to the private code will be done separately to keep this patch
against release branch to the minimum required.

Task-number: QTBUG-34735
Change-Id: I8ee90644862c907f6d1937b8536f0c02583ae736
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-11-21 09:25:23 +01:00
Gatis Paeglis
fe312204a3 Fix xkb.h compile warning on 32 bit systems
The message:

../../../3rdparty/xcb/include/xcb/xkb.h:118:5: error: this decimal
constant is unsigned only in ISO C90 [-Werror]

From the C89 standard:

"The type of an integer constant is the first of the corresponding
list in which its value can be represented. Unsuffixed decimal: int,
long int, unsigned long int;"

In the later standards "unsigned long int" is removed from the "Unsuffixed decimal"
list.

If integer constant is suffixed by the letter u or U, then the list is:
unsigned int, unsigned long int, ..

"unsigned long int" is sufficient on 32 bit systems to store the values of
XCB_XKB_CONTROL_PER_KEY_REPEAT and XCB_XKB_CONTROL_CONTROLS_ENABLED

Task-number: QTBUG-34142
Change-Id: Ic23781fcd00d4901ec9bb5a85068f4315c14bfb8
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-11-21 09:25:23 +01:00
Marc Mutz
885bd1d0e5 tst_QFileSystemModel: don't expect ~/Documents to exist
For me, this test failed because I don't have a Documents folder in my
home directory, even though that's what's returned from QStandardPaths
as the first DocumentsLocation.

Fix by falling back on the home directory if documentPaths.front()
does not exist.

Change-Id: I483f62f3b4b43d055c74774a7058a4aa420849b1
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-11-21 07:45:38 +01:00