Commit Graph

34057 Commits

Author SHA1 Message Date
Gatis Paeglis
ba3a26ea9f mouse handling: fix issue when mixing QTest::mouse* APIs
... that become apparent after switching qtestlib to use enhanced mouse
event (a37785ec76). With the old code path,
where QGuiApplication was deducing event type it would deduce mouse release
event even when there wasn't one. The new code path doesn't do that, which
revealed an obscure problem when mixing QTest::mouse* APIs (where QWindow
overload goes through QWindowSystemInterface API and QWidget overload goes
through QApplication::notify() and sets mouse_buttons from there). What
happened in this specific test case "./tst_qtreeview selection statusTip" was:

// tst_QTreeView::selection sets mouse_buttons = Qt::LeftButton from QApplication::notify
QTest::mousePress(widget, Qt::LeftButton, ..)

// tst_QTreeView::statusTip
QTest::mouseMove(window, )

The old code path sees that position and state has changed, creates a fake
mouse event, which gets deduced as mouse release even if there wasn't one.
And by luck this happened to set mouse_buttons=Qt::NoButton. So when we use
mouse_buttons later to create QMouseEvent everything works as expected. With
the enhanced mouse we don't clear the pressed button from mouse_buttons (set
in tst_QTreeView::selection) as this is done only from press/release events,
then pass it to QMouseEvent and later because of that QApplicationPrivate::
pickMouseReceiver() returns nullptr.

The fix here is to use e->buttons when constructing QMouseEvent, instead of
relying on mouse_buttons which gets changed from various places and has other
issues that can not be solved without invalidating the current documentation
of QGuiApplication::mouseButtons() (e.g QTBUG-33161). Tests and any Qt code
in general should avoid using the fragile QGuiApplication::mouseButtons() API.
This patch does not affect the old code path (it continues working as before)
and fixes the issue described above for the enhanced mouse API. The enhanced
mouse API actually is better in a way that it does not get affected by button
state from test functions that run earlier, as opposed to the old code path
where every subsequent test function uses mouse_buttons in whatever state it
was left by the test functions that run earlier.

Not relying on mouse_buttons when creating QMouseEvent helped also to discover
other logic error. This caused an in incorrect button state for a mouse move
event that is generated for a release event that simultaneously changes a mouse
position.

Task-number: QTBUG-64043
Change-Id: I6ad8e49d8437ab0858180c2d0d45694f3b3c2d60
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
2017-11-05 17:36:08 +00:00
Thiago Macieira
ed48a03b21 QSysInfo: add a function that returns the boot ID
[ChangeLog][QtCore][QSysInfo] Added machineUniqueId() and
bootUniqueId().

Task-number: QTBUG-63425
Change-Id: I0b48fc8e90304e0dacc3fffd14e91064020d165b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2017-11-05 18:34:09 +00:00
Thiago Macieira
16fba4a28f QSysInfo: add a function that returns a somewhat permanent unique ID
We can use the D-Bus / systemd machine-id file (which is a UUID without
the dashes) on systems with D-Bus. On Windows, there's a value in the
registry that is filled when Windows is installed, like on Linux. For
BSD systems, the kernel has a UUID we can use too, so extract that.

Task-number: QTBUG-63425
Change-Id: I27eaacb532114dd188c4ffff13d32f2e3c1d74bb
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2017-11-05 18:34:07 +00:00
Allan Sandfeld Jensen
dfbf5a7779 Cleanup of qcompositionfunctions
Remove long unused preload defines, make sign of alpha more consistent
and use the RGB64 define structure more.

This is preparing for trying to unify the declarations in case we need
a third form with floating points for HDR.

Change-Id: I47fc283aff1fe31a1eaba17e0413bc1e722f6a06
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2017-11-05 18:20:15 +00:00
Jake Petroules
cd542a82b0 Remove references to obsolete platforms
ultrix and reliant have not seen a release since 1995. dgux not since
2001. bsdi not since 2003. irix not since 2006. osf not since 2010.
dynix... unclear, but no later than 2002. symbian needs no mention.
All considered obsolete, all gone.

sco and unixware are effectively obsolete. Remove them until someone
expresses a real need.

Change-Id: Ia3d9d370016adce9213ae5ad0ef965ef8de2a3ff
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-11-05 06:33:53 +00:00
Ulf Hermann
5418c8764f QSemaphore: Fix futexMultiWaiterBit for 32bit systems
We don't actually need it in that case, but as the code that uses it is
disabled by a constant expression we cannot disable the variable itself
by a macro. The static_cast makes sure the compiler does not complain
about implicitly casting a 64bit value to a 32bit one.

 thread/qsemaphore.cpp:156:59: error: large integer implicitly truncated to unsigned type [-Werror=overflow]

Task-number: QTBUG-64261
Change-Id: I96f53e28b290e57033737b4f994f8af5b5666587
Reviewed-by: Liang Qi <liang.qi@qt.io>
2017-11-04 14:30:55 +00:00
Frederik Gladhorn
365a41ce25 Accessibility docs: remove wrong statement
All accessible interfaces are stored in a cache, we never pass ownership
to callers.

Change-Id: I99f0e27baf111e4ca820c8f31875c0c55b4d6edb
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2017-10-29 12:07:47 +00:00
Gatis Paeglis
200c6dd896 qwidgetwindow: remove seemingly stray QApplicationPrivate::mouse_buttons
This patch removes mouse_buttons related code from qwidgetwindow.cpp
as it does not belong there for the following reasons:

- The commit (ed2a2dc6da) that added it in
Qt5 says that the logic was copied from qapplication_x11.cpp (filename
in Qt4 repository). Other qapplication_*.cpp platform implementations
did not have this kind of logic; thus having it in cross platform location
qwidgetwindow.cpp does not make sense.

- According to the documentation, QApplicationPrivate::mouse_buttons:

"Returns the current state of the buttons on the mouse. The current state
is updated synchronously as the event queue is emptied".

So the only place where changing this variable makes sense is in
QGuiApplicationPrivate::processMouseEvent, which is *when the event
queue is emptied*.

There are other places in source code where this variable is changed,
but all of those are hacks and should be cleaned out eventually:

// a hack due to insufficient QWindowSystemInterface API
plugins/platforms/windows/qwindowsdrag.cpp

// a hack to support code that bypasses QWSI API when sending mouse events
// via qApp->notify().
widgets/kernel/qapplication.cpp

- AFACT, the released button bit will be already unset by the time mouse
release event reaches QWidgetWindow::handleMouseEvent.

Change-Id: Ifb2b3b443ffff0274545e5d3c631cf1e77160502
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2017-10-27 20:48:33 +00:00
Richard Moe Gustavsen
88a8deea86 QWidgetTextControl: allow context menu to open for a QTextEdit with Qt::NoFocus set
Currently a context menu will only open when right-clicking on a text edit that
has input focus. This means that you cannot e.g bring up the context menu
to copy text for a text edit that doesn't accept input focus (but you are
still allowed to select text with the mouse, which feels a bit contradictory).
This is different from how QLineEdit works, and also different compared to how
native applications work, at least after testing on macOS and Ubuntu.

This patch will change this behavior, so that the context menu always open on both
QPlainTextEdit and QTextEdit, even when they don't accept focus.

Task-number: QTBUG-63868
Change-Id: Ibc4cbcc900077546828690ddc958820677211a5a
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2017-10-27 08:01:11 +00:00
Friedemann Kleint
cf3686e2a4 Windows Font Database: Remove usage of deprecated QSysInfo::WindowsVersion
Change-Id: I7ba5a29c70bc8674ad77a2a3cdcc83cee6bc0c9f
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2017-10-27 08:00:09 +00:00
Liang Qi
f79e7c0723 Merge "Merge remote-tracking branch 'origin/5.10' into dev" into refs/staging/dev 2017-10-26 15:14:18 +00:00
Mårten Nordheim
ea284937ea QNetworkInterface: Use ranged-for in postProcess
Use ranged-for loops instead of a normal for-loop with iterators.

Change-Id: I13ba2001b7eb0fff1a0d9474f615a81d02af62f0
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2017-10-26 12:03:30 +00:00
Mårten Nordheim
760e80feb2 QNetworkInterfaceManager: use ranged-for in interfaceFrom*
Also replace the long template names with auto.

Change-Id: Idfaf4493266cf251e85cbf23bcd6bfe74b713cf0
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2017-10-26 12:03:26 +00:00
Timur Pocheptsov
5b9f4a7130 QHstsCache - do not mix const/non-const iterators
Found by clazy (clazy-strict-iterators). QMap::find returns
'iterator' and this is what we need, since we need to modify
the value referenced by this iterator. But QMap::insert only
accepts 'const_iterator' and clazy warns about mixed const/non-const
iterators (though actually QHstsCache does not have the original
problem this check it trying to find). Since we do not share
cache and do not want to try detaching on non-const access, we
can use std::map which conveniently has 'insert' taking 'iterator'
as its first parameter. As a bonus this will also fix another
warning from clazy-range-loop check (when iterating over such
a non-const map).

Change-Id: Id82991cefce33723d177ed04058d15295e9b71d7
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2017-10-26 03:56:22 +00:00
Timur Pocheptsov
fb1cf63d77 HPACK - remove non-trivial ctors
They are not needed actually, found by clazy-non-pod-global-static
check.

Change-Id: Ice70f5065ffe8a39e2478eacff0ed1826806c8a6
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2017-10-26 03:56:05 +00:00
Timur Pocheptsov
d3112ae8ef HPACK - make Huffman 'CodeEntry' into POD
Found by clazy-non-pod-global-static check. Indeed, it can
be a pod, no need in non-trivial ctors.

Change-Id: I5f17e322a64f6c8d53b2acd8ea045d8beb1a72f9
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2017-10-26 03:55:56 +00:00
Allan Sandfeld Jensen
fa9d12f4a2 Merge remote-tracking branch 'origin/5.10' into dev
Conflicts:
	src/plugins/platforms/windows/qwindowsmousehandler.cpp
	src/plugins/platforms/xcb/qxcbimage.cpp
	tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp
	tests/manual/qtabletevent/regular_widgets/main.cpp

Done-with: Friedemann Kleint<Friedemann.Kleint@qt.io>
Done-with: Mårten Nordheim<marten.nordheim@qt.io>
Change-Id: I5b2499513a92c590ed0756f7d2e93c35a64b7f30
2017-10-24 13:40:55 +02:00
Timur Pocheptsov
cba24d65c4 QHttp2ProtocolHandler - avoid calls to detach in a range-loop
Found by clazy-range-loop check.

Change-Id: I45fd03af60c8d15e1288cc8abd81d8532b9a6c45
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2017-10-24 10:59:15 +00:00
Timur Pocheptsov
f174d31667 QHstsStore - use qAsConst in a range-loop
Found by clazy-range-loop.

Change-Id: If43e8d127697f768dc7b1871dc9fef9dcc57ad54
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2017-10-23 15:56:45 +00:00
Alexander Volkov
c181f418b9 Address Book example: Correctly update "Edit entry" and "Remove entry" actions
They are not updated after switching tabs. Thus they can be enabled even
when no entry is selected: select an entry on the current tab and then
switch to an empty tab.

Emit AddressWidget::selectionChanged() signal after changing the current tab
to update these actions.

Change-Id: I00da15ed6c3d3839210ae3ffbe1436e234695522
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2017-10-23 14:38:22 +00:00
Thiago Macieira
82c787ec3b Fix build on Integrity: the compiler doesn't understand this construct
"global/qrandom.cpp", line 155: error #2000-D: attribute "destructor" is not implemented and will be ignored

Task-number: QTBUG-63948
Change-Id: Icaa86fc7b54d4b368c0efffd14efa35381d4e797
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-10-23 14:21:11 +00:00
Liang Qi
ae03f905d6 Merge "Merge remote-tracking branch 'origin/5.9' into 5.10" into refs/staging/5.10 2017-10-23 16:14:07 +00:00
Alexandru Croitor
87eff0ea31 Fix resolution of QMAKE_INFO_PLIST for non-bundle artifacts
Change-Id: Id56cea1f09d7675fe60cdbd598e6f585a6b230d1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-10-23 13:50:45 +00:00
Liang Qi
32f50225c4 Merge remote-tracking branch 'origin/5.9' into 5.10
Conflicts:
	src/plugins/platforms/direct2d/direct2d.pro
	src/plugins/platforms/ios/qiosclipboard.mm
	src/plugins/platforms/windows/windows.pro

Change-Id: Idffa03b3990bd642784f528821c5446b2e1008ef
2017-10-23 09:40:54 +02:00
Thiago Macieira
895cb4681e QSemaphore: Improve waking up on 64-bit Linux
By judiciously positioning of the bits, we can optimize for the case of
threads trying to acquire a single token, which is what QSemaphore
should be mostly used for, as it matches the POSIX Semaphore API
(sem_wait, sem_timedwait and sem_trywait). If there are only waiters
waiting for a single token, we know that adding n tokens means n threads
can wake up.

This optimizes for multi-token waiters too. For example, if we have 50
single-token waiters and 50 multi-token waiters, a sem.release(5) will
wake up 55 threads instead of 100.

Change-Id: I209fcd5dbc2b4e5381cffffd14de5550c75d2600
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-10-23 05:09:22 +00:00
Sami Nurmenniemi
9c58dd1588 Blacklist and skip failing tests for Boot2Qt / 64 bit arm
Task-number: QTBUG-60263
Change-Id: I05978915b5bb7ae31069e8e9ae1dc273e483ddb0
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2017-10-21 09:31:01 +00:00
Dmitry Shachnev
88e6f8cff2 Fix implementation of spell check underline styles
The QTextCharFormat documentation said that the used style is based on
QStyle::SH_SpellCheckUnderlineStyle style hint, however in fact the
implementation (drawTextItemDecoration in qpainter.cpp) uses
themeHint(QPlatformTheme::SpellCheckUnderlineStyle) instead since Qt 5
(see commit 1f9ae50457).

Make the documentation match that behavior, and update QPlatformTheme
to use the correct default value.

Also, switch Cocoa theme to use DotLine, as that is what native macOS
applications use.

Change-Id: I2a6bb3da6c7b0686dca87ed2c251b6abc006123c
Task-number: QTBUG-50499
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
2017-10-21 08:45:20 +00:00
Thiago Macieira
c90d9f95d2 QRandomGenerator: improve floating-point random generation
The previous version was good, just not optimal. Because the input was
an unsigned 64-bit number, compilers needed to generate extra code to
deal with HW instructions that only convert 64-bit signed input. And
that was useless because a double uniformly distributed from 0 to 1 can
only have 53 bits of randomness.

The previous implementation did exactly what the Microsoft libstdc++ and
libc++ implementations do. In my opinion, those implementations have an
imperfect distribution, which is corrected in this commit. In those, all
random input bigger than 0x20000000000000 has a different frequency
compared to input below that mark. For example, both 0x20000000000000
and 0x20000000000001 produce the same result (4.8828125e-4).

What's more, for the libc++ and MSVC implementations, input between
0xfffffffffffff001 and 0xffffffffffffffff results in 1.0 (probability 1
in 2⁵³), even though the Standard is very clear that the result should
be strictly less than 1. GCC 7's libstdc++ doesn't have this issue,
whereas the versions before would enter an infinite loop.

Change-Id: Ib17dde1a1dbb49a7bba8fffd14eced3c375dd2ec
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2017-10-20 18:10:33 +00:00
Thiago Macieira
68092ba6c0 QRandomGenerator: fix the timing of the closing of the Unix random fd
Let's make it happen even later: at the time of QtCore's unloading from
memory. This prevents issues with something using QRandomGenerator after
the global static destructor would have run.

Change-Id: Icaa86fc7b54d4b368c0efffd14eed56bbbb51cb6
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-10-20 18:10:31 +00:00
Błażej Szczygieł
8aadfbc657 xcb: Convert synthetic mouse enter event position to native pixels
Mouse position is converted from native pixels later, so we must
provide native pixels for "QWindowSystemInterface::handleEnterEvent".

Amends 7091be1b79

Task-number: QTBUG-63865
Change-Id: I813c171f2fc1d321af702ac30eb5f2e4232e97c4
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2017-10-20 08:06:03 +00:00
Friedemann Kleint
571b11d41c Windows QPA: Fix build with -no-feature-tabletevent
Guard #include by QT_CONFIG.

Task-number: QTBUG-63874
Change-Id: I33f4a4c4fbdae3d25874ee9cdc3f1c7e1ab783e3
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2017-10-20 08:05:57 +00:00
Friedemann Kleint
dcc8aa8f4e Windows/Direct2D QPA: Fix build with -no-accessibility
Task-number: QTBUG-63876
Change-Id: Ib9216977dd495e05d032e679c2f23ffe6a6953a6
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
2017-10-20 08:00:56 +00:00
Oliver Wolff
c05268222c winrt: Fully initialize CREATEFILE2_EXTENDED_PARAMETERS struct
Not properly initializing all members of the extended parameter struct
will cause an "invalid handle specified" exception on use.

Task-number: QTBUG-63883
Change-Id: Ic3a58df864c9e29ccbadc04bd71c18c8ef34374c
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
2017-10-20 07:46:52 +00:00
Friedemann Kleint
34c879f2e1 QNativeGestureEvent: Fix qdoc warning
Rename the parameter back to 'device', fixing:
src/gui/kernel/qevent.cpp:2776: warning: Undocumented parameter 'dev' in QNativeGestureEvent::QNativeGestureEvent()

Amends 36af37c99c.

Change-Id: I2a3f016dd6a5dda784dc851a052cb5aa1841a472
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2017-10-20 06:15:52 +00:00
Gabriel de Dietrich
c99d8532c8 QCocoaSystemTrayIcon: Remove unused classes
Both QNSMenu and QSystemTrayIconQMenu aren't referenced anywhere
else, including within qcocoasystemtrayicon.mm, since the QPA
backend was added.

Change-Id: I632c1b230226b2d08afce7f0f0019e9f7c030ba5
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2017-10-20 03:22:16 +00:00
Thiago Macieira
02dc39fa8e QBasicMutex: mark the bootstrap constructor constexpr
QBasicMutex and QMutex are the same in bootstrap mode.

Change-Id: Icaa86fc7b54d4b368c0efffd14eed63343ddb51b
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2017-10-19 15:43:26 +00:00
Friedemann Kleint
bf15e22cee QWindowsXPStyle: Add debug operators for the theme data
This helps to debug style issues.

Change-Id: If2c236d6666512bf1658d951f9b304ce4d129357
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2017-10-19 15:40:23 +00:00
Richard Moe Gustavsen
6c1a2224f3 iOS: add support for adding mimetypes other than text on the clipboard
A QVariant can only be converted to a QByteArray if it has user type
QMetaType::QByteArray or QMetaType::QString. The way it stood, we
always tried to convert the mime data to a QByteArray, and
then put the result into a QVariant. This would fail if the mime
data contained e.g a QPixmap.

This patch will inspect what kind of data the QMimeData contains, and
convert it to a QVariant using the expected API.

Backport of 6d3c483

Task-number: QTBUG-57428
Task-number: QTBUG-63660
Change-Id: I09b4a94aef7b52773e1a79c468ead71b36dfbfc5
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2017-10-19 13:30:09 +00:00
Mårten Nordheim
fc98878658 Fix cookie path matching for empty url path
The path wouldn't match if the cookie's path was root ('/') and the
URLs path was empty.

Change-Id: I6dcd10f1fdf4f48f14e50f1b169cbdfda7005849
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2017-10-19 12:51:38 +00:00
Orgad Shaneh
ca5f5de5c9 GitIgnore qvkgen
Change-Id: I6f6551821ffcd73841e4b5cab5892bd17f5c70b9
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-10-19 10:59:09 +00:00
Orgad Shaneh
0354ba816f Clean dynamic function resolving done for XP in QFileInfo tests
Change-Id: I15364b1e8c4f4406fef2be68ca221a8867d0dcfa
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-10-19 10:59:04 +00:00
Orgad Shaneh
d57a7c4171 MinGW: Globally define WINVER and _WIN32_WINNT to enable Windows 7 API
Change-Id: I637b33ba6d05f40486d8da927ae5cc5148299348
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-10-19 10:58:59 +00:00
Gabriel de Dietrich
f13e75345d Cocoa QPA: Remove usage of OBJECTIVE_SOURCES
Change-Id: I5924ab0ddb442624f5aeeef023428be228348707
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2017-10-19 10:06:17 +00:00
Robert Loehning
37afba28b1 QTableGenerator: Fix handling of illegal characters in fromBase8 again
Change-Id: Iaee19f71e5b74b0d43b628739039ca3c2be60cd0
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-10-19 09:15:15 +00:00
Friedemann Kleint
0521913676 QTabletEvent: Add doc note about Windows drivers
Recent drivers no longer contain wintab32.dll, point out a version
that still has it.

Change-Id: I4125a0af3c11ab739f8006b91f58899aeed54458
Reviewed-by: Andre de la Rocha <andre.rocha@qt.io>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2017-10-18 19:50:10 +00:00
Shawn Rutledge
84f006b671 Add touchpoint feedback to regular_widgets tablet manual test
We need to ensure that simultaneous touch and tablet input is possible.

Change-Id: I0c0d06e382b6b89e11ed06c1e4ad0db63b3b7c82
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2017-10-18 14:21:11 +00:00
Thorbjørn Lund Martsum
a1c985c10b QAbstractItemView: Make it easier to drop above and below items
Before this patch a very accurate drop position below
or above an index was needed. Therefore it was not that
easy to do.

This patch increases the above/below area to be about
18% of the item (still leaving the most space for the item).

An average user will likely be 2-3x faster with dropping
below or above (while not losing much when dropping on items).

[ChangeLog][QtWidgets][ItemViews] Made it easier to
drop above and below items.

Change-Id: I47f0f80c76878c17ebf3f93d0a0cc82755971c2a
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2017-10-18 10:45:21 +00:00
Nico Vertriest
03c3ba1815 Doc: improve screenshots Application Example
Task-number: QTBUG-60635
Change-Id: I963ecbf0b386e9f5d41b4c15e2af883cf21d3c83
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2017-10-18 10:43:49 +00:00
Nico Vertriest
19ae653f7f Doc: qtwidgets index page: wrong name for image file
windowsvista-treeview.png --> windows-treeview.png

Change-Id: I19ccec1ff5fadf2107ad47109d65f170df4b0505
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
2017-10-18 10:43:40 +00:00
Nico Vertriest
a92cf24f9c Doc: correct filename png files
qpushbutton.h:55: warning: Missing image: windows-pushbutton.jpg
widgets.qdoc:28: warning: Missing image: windowsvista-treeview.png

Change-Id: I2ebf2aa809f8d532f597624f6ed2f9d636e860a6
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
2017-10-18 10:43:26 +00:00