Commit Graph

19804 Commits

Author SHA1 Message Date
Martin Smith
a5570bbf9a qdoc: Remove all collision node stuff from qdoc
Now that the qdoc link command has ability to tell qdoc which module
contains a link target or whether to link to a QML or CPP entity,
collision pages should no longer be necessary. In fact, qdoc hasn't
been generating any collisions for some time. This task removes all
the collision node code from qdoc.

Task-number: QTBUG-40506
Change-Id: I34d1980ca1c0fe4bb5ad27dd4b00e61fa7e6e335
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2014-08-22 18:23:39 +02:00
Laszlo Agocs
701b72c261 Rework platformheaders qdoc conf
In an attempt to make the classes show up in the generated documentation.

Change-Id: I198f788a42f6007802db2384e3cd79e988f573e7
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2014-08-22 09:26:27 +02:00
Andrew Knight
67c83f329e Tighten Q_OS_WINRT ifdefs in qfunctions_winrt.h
This allows the convenience macros to be used on desktop Windows 8 when
interacting with Windows Runtime types.

Change-Id: I09c6b18a6ee9711371ef7dc23fb1d3354198db1c
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com>
2014-08-21 18:21:52 +02:00
Pelle Johnsen
4a2e297b4f Replacement for QWS_DBLCLICK_DISTANCE
Add QT_DBL_CLICK_DIST to replace QWS_DBLCLICK_DISTANCE for controlling
the distance for detecting double clicks, which can be very useful on
embedded devices

[ChangeLog][QtGui] environment variable QT_DBL_CLICK_DIST 
customizes the amount of movement allowed when detecting a double click.

Task-number: QTBUG-40841
Change-Id: I0a7534ad6cd6387d127eb49021a92d414d45670e
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-08-21 17:53:52 +02:00
Shawn Rutledge
f45efafacf QTextCodec::codecForHtml looks at the first 1024 bytes
The HTML 5 spec requires it, instead of only looking at the first 512.

Task-number: QTBUG-40383
Change-Id: Ie10cf8c745ed1a3402914e126a02bc43d5035fff
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
2014-08-21 17:50:39 +02:00
Shawn Rutledge
dd6080ceac Debug logging support for QNativeGestureEvent
The most useful information is what kind of gesture the event
represents, but it was missing until now.

Also added a line of documentation about the NativeGesture event type.

Change-Id: I1ba3c951dcc5751e937d762d9b647ab0bf8d93b8
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
2014-08-21 17:49:44 +02:00
Shawn Rutledge
d88de0452a xcb: set up touch devices even if debug is not turned on
59ba84d31c introduced a mistake.
It's necessary to populate the device data structure
even if we are not going to log anything.  Now the accessor
is renamed to touchDeviceForId and the struct is renamed to
XInput2TouchDeviceData to make it more clear that it is only
for touch devices.

Change-Id: Iaa3cce2d6cae250318f5a200becb9de9626b6437
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
2014-08-21 17:31:40 +02:00
Allan Sandfeld Jensen
b78e81f7c2 Outline drawing should not override the default freetype loadflags
We set FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH as the default load flags
for freetype fonts, but due to using = instead of =| the default flags
gets overridden when outline drawing sets FT_LOAD_NO_BITMAP.

Change-Id: I26b45aa2bbf613689d278eb07ae028ef9757023c
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-08-21 17:31:33 +02:00
Martin Smith
6b12d781fa qdoc: Generate obsolete members page for QML types
Generation of the obsolete members page, for QML types
that have obsolete members, had not been implemented.
This update implements that missing feature. The link
to the page appears right below the link to the "All
Members" page.

Change-Id: I3e4bb2a68d5c8ef2bbe2e0c431eccf94ecb1fd3c
Task-number: QTBUG-40214
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2014-08-20 21:59:53 +02:00
Martin Smith
a2c432e978 qdoc: Allow choice of linking to QML or CPP
This update enables using QML or CPP as the parameter
in square brackets for the \l command. You will use this
when, for example, there exist both a C++ class named
QWidget and a QML type named QWidget and your \l {QWidget}
links to the wrong one.

Suppose you write \l {QWidget} expecting it to link
to the QML type named QWidget, but it links to the C++
class named QWidget. Then write this instead:

\l [QML] {QWidget}

Or if you wrote \l {QWidget} expecting it to link to
the C++ class, but it links to the QML type, write this
instead:

\l [CPP] {QWidget}

A qdoc warning is printed if qdoc can not recognize the
parameter in square brackets.

There will be a further update to complete this task for
implementing the other type of parameter that can be in
the square brackets.

Task-number: QTBUG-39221
Change-Id: I5dd85478f968025ecbe337a8aabcc31d8b12a86d
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2014-08-20 21:59:23 +02:00
Robin Burchell
0da4ddfcc5 tst_QWidget: Skip tests that don't pass with qwindow-compositor.
Everything else passes, after some pending fixes in QtWayland.

Change-Id: Ibd8efcaab8c5210111854f1a7362434046a62898
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-08-20 21:45:15 +02:00
Robin Burchell
69b256285b tst_qsqlthread: Move manual qWait calls into QTRY_VERIFY
Reduces the average runtime of this test for me by ~600ms, but due to the
threading variance the exact reduction is hard to tell.

Change-Id: I96a9f949ae2381f69d9364e6637db0db4bd3b165
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-08-20 21:45:01 +02:00
Gunnar Sletta
dfc8f8b5d4 Rework how animationsystem interoperate with an animation driver.
We need to keep track of both wall time which are used for pauses
and actual animation driver time which is used for actual animations.
When switching between these, we need to also maintain the temporal
drift potentially introduced by the driver and also the time
that has passed in wall-time from when a pause has started until
an action animation takes over.

This change introduces a well defined elapsed() function in
QUnifiedTimer which will return the right value based on which
mode we are currently in. It also introduces start/stopAnimationDriver
functions which helps us maintain the temporal drift and pause-delta.

Change-Id: I5b5100432a6db444a413d1bca4f2d5f800e8cf3e
Reviewed-by: Michael Brasser <michael.brasser@live.com>
2014-08-20 18:53:09 +02:00
Laszlo Agocs
28add98e24 Skip the expose region test on Windows
In some CI configurations this fails from time to time. Have to disable
it unless we can make it more robust somehow.

Change-Id: Iadd8904d7223a6aeff53dafa36b94df3f60e1ad8
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
2014-08-20 18:03:44 +02:00
Konstantin Ritt
7304c9a4e8 Make HarfBuzz-NG the default shaper on all platforms
[ChangeLog][Important Behavior Changes] HarfBuzz-NG is now the default
shaper on all platforms. This results in a better shaping results
for various languages, better performance, and lower memory consumption.

Task-number: QTBUG-18980
Change-Id: I4d9454fc37e9050873df3857e52369dfc7f191b2
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2014-08-20 10:10:40 +02:00
Robin Burchell
2e2374a226 tst_qsqlthread: Replace sched_yield calls with QThread::yieldCurrentThread.
Makes the test behavior identical across all platforms.

Change-Id: I5e564598d8e61588af2b73f04b4ca7c9b899c02a
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2014-08-19 18:51:44 +02:00
Thiago Macieira
36a30d8e49 Restore foreach macro for GCC 4.3 and 4.4 in C++11 mode
In C++98, typename can only be used for argument-dependent types and
that's not the case here. This was tracked as language defect 382 and
was fixed in the final C++11 standard, but the fix didn't make it to GCC
4.3 and 4.4 (which do have decltype).

qthreadpool.cpp:274: error: using 'typename' outside of template

Task-number: QTBUG-40783
Change-Id: I0eb702b33d2e8c95284f52841b0021dbfc743874
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-08-19 17:33:25 +02:00
Frederik Gladhorn
41f496cb7f Accessibility: QSpinBox should not have any children
On both iOS and Android it is very confusing to be able to move the focus to both, the line edit and the outer frame that is the spin box.
For Linux this fixes an issue that orca would not read the value correctly after pressing the up/down buttons.

Task-number: QTBUG-39861
Task-number: QTBUG-39442
Change-Id: I73c50c91e9021324c52d168d537afd0ea719a48f
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2014-08-19 14:23:13 +02:00
Frederik Gladhorn
cf621f1b9e Accessibility Linux: add action interfaces for value
Change-Id: I454493fc6e9e93f44d15986ca843c3244f97cbe6
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2014-08-19 14:22:48 +02:00
Paul Olav Tvete
ae5f2a6672 devicePixelRatio support for XCB
This adds support for the environment variable
QT_DEVICE_PIXEL_RATIO for the xcb platform plugin.

Task-number: QTBUG-38858
Change-Id: I7faca2f2e7dc5c601a82b3cc08456870b3e5602d
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2014-08-19 13:22:20 +02:00
Louai Al-Khanji
98cd256d24 Fix QGlyphRun text rendering
When drawing QGlyphRun objects through QPainter the QFont passed in
QStaticTextItem/QTextItem is not properly initialized with the correct
size, weight, style strategy etc. Shuffle things around so we always go
through QFontEngine for font data, as that should be more reliable.

Change-Id: I43811c868ebd4fb1d9e937ee28a6d637267b4c7f
Reviewed-by: Risto Avila <risto.avila@digia.com>
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
2014-08-19 12:00:46 +02:00
James Turner
6ebc0bd863 Allow ES3 (and ES1) context creation on iOS
Instead of hardcoding an ES2 context, use the major version
from QSurfaceFormat. The EAGL API constants match the
major versions so simply cast to avoid SDK version issues.

Change-Id: Ieb46f10ea6b797d65c6c8b778bb043becb7a2f95
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2014-08-19 11:46:10 +02:00
Robin Burchell
97cd20b2a0 Remove QPlatformScreenPageFlipper.
Use of this was removed from QtWayland quite a long time ago, which was the only
public user of this API.

Furthermore, it isn't easily possible to implement any use of this API without
full control of the graphics stack (a very rare occurrence) and there is no
public demonstration of this.

There is ongoing research to provide a better replacement for this in the form
of QPlatformHardwareCompositor.

Change-Id: I80d666a5b465aa80f73fed6c44838ce7210bbd30
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
2014-08-19 10:10:03 +02:00
Andrew Knight
636d2e3402 winrt: Remove depth/stencil from the default window format
After the last ANGLE upgrade, some hardware fails to render proper
QtQuick scenes when using a depth buffer (which is present in the default
window format). As the batched renderer no longer requires a depth
buffer, this workaround can be safely applied.

Task-number: QTBUG-40649
Change-Id: Id0f6e418aa5c6346186678728f88a6c18af5fb74
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com>
2014-08-19 09:36:17 +02:00
Eskil Abrahamsen Blomfeldt
c26d5cf6ef Harfbuzz-NG: Compile on WinRT
There is no environment (like WinCE) and the basic version
of InitializeCriticalSection is unsupported.

Change-Id: I7c5038115f0dbfdc616bce89a9be166b5f2a1dcc
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2014-08-19 09:30:12 +02:00
Maurice Kalinowski
c73fe94285 WinRT: Do not forget the path specification
The path value can be used to access any container or subcontainer
in the settings, even if it is not created by Qt.

Change-Id: I431d8a8b129dafb4ec85227421dc37ec76c18ecf
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
2014-08-19 08:58:09 +02:00
Maurice Kalinowski
2ffcf3a423 WinRT: Fix QSettings auto-tests
WinRT is a sanboxed environment, hence files can only be created in
some writable location.
For some tests we reset the current directory to minimize the required
changes. We cannot do this for the application lifetime as the test
also has cases where it reads files relative to the executable inside
the sandbox.

Change-Id: Ib9d37c8cffd191f0d1055f835c11d10887923378
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
2014-08-19 08:58:01 +02:00
Robin Burchell
3be048826f tst_qdbusabstractadaptor: Reduce qWait() usage.
Convert qWait to QTRY_ where we can, and make the qWait durations explicit (not
buried in a function call, but inline in the actual test) where we can.

Total runtime for me goes from 91 seconds to 2 seconds.

Change-Id: I45b3562cb94721a521718365fd51a4172a2e4e18
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-08-19 04:09:24 +02:00
Giuseppe D'Angelo
1b149c2bf5 If a tess/compute shader compilation fails, print its type correctly
Change-Id: I7536b596b890ed304846572b3068b3e932c0f594
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2014-08-18 22:03:40 +02:00
Giuseppe D'Angelo
75b62f3a17 Merge "Merge remote-tracking branch 'origin/5.3' into 5.4" into refs/staging/5.4 2014-08-19 00:42:00 +02:00
Frederik Gladhorn
65240c602b Accessibility Linux: use Frame for Windows
On Linux it's actually more common to use frame as role for windows
since they are per definition normal main windows.

Change-Id: Iee5bdfca139049846c1be864661231a594edf695
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2014-08-18 21:09:01 +02:00
Robin Burchell
ef1ee956c1 tst_qmouseevent_modal: Replace some qWait with QTRY_VERIFY.
Takes the total time for this test from ~1.2 seconds to ~0.42 seconds for me.

Change-Id: I426e600a7afe01d7343108b432eda8b83d6f3d85
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-08-18 20:57:23 +02:00
Robin Burchell
e8012b0405 Remove some manual qWait and use QTRY_VERIFY instead.
This takes 300ms off the total time for this test.

Change-Id: I230b8a58315797a81579f6a07da282b0dc40637d
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-08-18 20:57:20 +02:00
Robin Burchell
87bc094611 tst_qstatusbar: Use a timer and remove some unnecessary waits to reduce test time.
Time taken by this testcase reduced from 7 seconds to 5.1 seconds for me.

Change-Id: I93b1c5fbc7d9d6515c9ce51a64fdd5c2ffbd54c8
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-08-18 20:57:09 +02:00
Shawn Rutledge
2f9c00d9a0 Tablet manual test: show rotated ellipse if the stylus has rotation
Followup to da9e02eb83:
If the stylus is a Wacom Art Pen for example, the regular_widgets
test will show a rotated ellipse with size proportional to pressure
for each tablet point, instead of a circle.

Task-number: QTBUG-39458
Change-Id: I4bbb5f8ceabf7006928d95df3ecd62378394f085
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
2014-08-18 16:51:42 +02:00
Robin Burchell
74805930d1 tst_qwindowcontainer: Convert some QVERIFYs to QCOMPAREs
So when they fail it's easier to figure out why.

Change-Id: I7e76a6e0b8076ede30a6bb9049a031063c569dfc
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
2014-08-18 13:53:01 +02:00
Robin Burchell
037125ee4a tst_dialog: Convert some QVERIFY to QCOMPARE.
Change-Id: Ibca62cf9dd2e19e32388d19f0c7b34fb7fd81268
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
2014-08-18 13:52:58 +02:00
Robin Burchell
ac1f1c42c7 tst_qlistview: Convert some qWaits into QTRY_* usage.
This takes the total runtime of tst_qlistview for me from ~47 seconds to ~10
seconds.

Change-Id: Ie6fe95fe0852c2de37e99c2ad02230de78e0995e
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
2014-08-18 13:52:54 +02:00
Shawn Rutledge
59ba84d31c xcb XInput: use categorized logging for devices and events
[ChangeLog][Platform Specific Changes][X11 / XCB] environment variables
QT_XCB_DEBUG_XINPUT and QT_XCB_DEBUG_XINPUT_DEVICES are deprecated and
replaced with logging categories qt.qpa.events.input and
qt.qpa.devices respectively

Change-Id: I287a56de5cb9ece2ac14df6510b9aa52c864c99b
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
2014-08-18 13:49:28 +02:00
Allan Sandfeld Jensen
6efa8cd70a Support antialias and rgba Xft settings as used by GNOME and UNITY
We only parsed the hintstyle from the Xft settings. This patch adds
parsing for also subpixel style and disabling antialiasing.

Task-number: QTBUG-27106
Change-Id: Icdb88ccc10e50d76eb30a5b126bee7590e257022
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2014-08-18 12:55:03 +02:00
Robin Burchell
20c14d87f2 eglfs/stub: Die fatally if the framebuffer can't be opened.
There's no point trying to continue, everything graphical is not going to work.

Change-Id: I4c85de63746618ddf73435b491a3244b7e53a76c
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-08-17 12:37:34 +02:00
Robin Burchell
6af327216b kms: Also initialize in resize(), if required.
It appears to have been an incorrect assumption that flush always comes before
resize. At least for me, that is not the case. It also strikes me as being more
robust this way.

Change-Id: Iafd2cfe7b89802899e844152e0901e588ff0d8a6
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-08-17 12:36:44 +02:00
Allan Sandfeld Jensen
2a33bfcfd1 GTK2 theme should use GTK configured font variant
This patch makes the GTK2 theme read the font configuration and use
that as the default system font.

Task-number: QTBUG-39643
Change-Id: Ieacf8968e54f34c6d44669350d349c9a96ed6cc5
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2014-08-17 03:46:30 +02:00
Eskil Abrahamsen Blomfeldt
3e0a6c1b36 Android: Also support android style for debug deployment
Both bundling and debug deployment can use the local cache for
the Android style assets, since Ministro is not necessarily
available in these cases.

Change-Id: I33367aceec1829f27377fcb6793ca95ecf5cc434
Task-number: QTBUG-40676
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2014-08-16 23:27:40 +02:00
Allan Sandfeld Jensen
b35176f43a Support autohint and lcdfilter fontconfig configuration
This patch adds support for reading autohint and lcdfilter settings
from fontconfig and pass them on to freetype.

Task-number: QTBUG-32254
Change-Id: Iaa69b70f7005ee7f21126a8d984c07b3a46a3e7f
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2014-08-16 19:09:29 +02:00
BogDan Vatra
ef4a999a9f Forward menu button events to Qt if there is no visible menubar.
Task-number: QTBUG-32334
Change-Id: If1b4517f233b04d4c6c165cbfe62c8cf7b624c60
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2014-08-16 13:41:01 +02:00
Allan Sandfeld Jensen
eb5ef33122 Handle 10-bit per color formats in qt_mac_toCGImage
Add support for the four new RGB30 formats to qt_mac_toCGImage so
that they get converted to ARGB32_Premultiplied instead of potentially
misinterpreted.

Change-Id: I0921edaef7509c1db9bd547b454dade03d289ea3
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
2014-08-16 09:50:01 +02:00
Allan Sandfeld Jensen
04c42d2d09 Compile on Android without statfs.f_flags
Not all Android versions appear to have f_flags in statfs, but we
can check for the presence using a feature define.

Change-Id: Ib2acf6063d6211b871f462ee491459ac8675aa37
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-08-16 09:49:53 +02:00
Marc Mutz
09d6bbebc2 QMimeData: replace an inefficient QList with a QVector
QMimeDataStruct is larger than a pointer, so holding it in a
QList is horribly inefficient.

Fix by marking as movable and holding in a QVector instead.

Change-Id: If285dd31546066db0b240ea0d4d30668f50b5f2c
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-08-15 19:19:20 +02:00
Giuseppe D'Angelo
e60079a55c GLX: request up to OpenGL 4.5 / ES 3.1 by default
Change-Id: I55fd53a8f7f81708a103e24e35c09894b939f245
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-08-15 18:45:06 +02:00