| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This significantly improves the support for
higher DPI-values on these platforms by
ensuring that common pixelmetrics are
scaled accordingly. In addition we mark all
Qt apps as DPI-aware on Windows 7 by calling
SetProcessDPIAware. We also changed the
way we draw pixmaps on the mac paintengine
when using dpi scaling > 1 to ensure smooth
pixmap scaling.
Reviewed-by: nrc
Task-id: 242417
|
| |
| |
| |
| |
| |
| |
| | |
WM_NCHITTEST has to return the location type based on the position,
instead of returning just true or false.
Reviewed-by: Marius Storm-Olsen
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This enum indicates what kind of device generated the touch event
(TouchScreen or TouchPad). We use this information to control how touch
events are sent, specifically we restrict touch events to a single
widget/QGraphicsItem on touch-pads, since there is no direct
relationship between the physical touch location on the pad and the on-
using the touch-pad).
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This introduces normalizedPos(), startNormalizedPos(), and
lastNormalizedPos() in QTouchEvent::TouchPoint, and must be set by the
implementation before being fed into Qt.
We are assuming and hoping that these functions will make it easier to
implement certain types of gestures (especially on a touchpad).
|
| |
| |
| |
| |
| |
| | |
As documented in the Windows 7 SDK RC, the id's may not be reused. We
don't want the touchInputIDToTouchPointID hash to grow indefinitely, so
clear it each time we detect that all touch points have been released.
|
| |
| |
| |
| |
| |
| |
| |
| | |
We now send both types of events, i.e. accepting TouchBegin doesn't block mouse events anymore. We
are also introducing the idea of a "primary" touch point, which is the one that the system is also
generating mouse events for.
This lets us reuse existing mouse event code while still being able to add multi-touch support.
|
|\ \
| |/
| |
| |
| | |
Conflicts:
src/gui/graphicsview/qgraphicsscene_p.h
|
| |\ |
|
| | |
| | |
| | |
| | | |
Reviewed-by: Trust Me
|
|\ \ \
| |/ /
| | |
| | |
| | | |
Conflicts:
src/gui/graphicsview/qgraphicsitem_p.h
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
the API for these 2 classes is identical, the implementation is almost
identical, they share the same data structures, so bite the bullet and
merge them.
this means we go back to using screenPos() instead of globalPos()
again
|
| | |
| | |
| | |
| | |
| | |
| | | |
rects instead
these are more useful, as already shown in the fingerpaint example
|
|\ \ \
| |/ / |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The check for cleartype in qt_win_read_cleartype_settings() was not
correct for Windows Mobile
For anti-aliased text rendering we also have to use another
pixel format for the native image.
Task-number: 249642
Reviewed-by: mauricek
|
| | |
| | |
| | |
| | |
| | | |
Merge-request: 384
Reviewed-by: Marius Storm-Olsen <marius@trolltech.com>
|
| | |
| | |
| | |
| | | |
We don't keep the state from the previous events anymore, so the 'down' variable is useless (and actually caused problems).
|
| | | |
|
|\ \ \
| |/ / |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When pressing the <- key on a Windows mobile device, the window gets
a minimized event (no other soft keys behave like that). Restoring the
window via the app menu isn't possible, because the window get a
WM_ACTIVATE but its internal state is still minimized.
It makes sense to unminimize activated apps on Windows mobile.
Task-number: 254673
Reviewed-by: thartman
|
| | |
| | |
| | |
| | | |
Add QTouchEvent::TouchPoint::area() and implement support for it on Windows
|
| | |
| | |
| | |
| | | |
The Windows 7 SDK RC only has a single message, WM_TOUCH
|
|\ \ \
| |/ / |
|
| | |
| | |
| | |
| | |
| | | |
used character operations whenever possible
better usage of QLatin1String
|
| |\ \
| | |/
| | |
| | |
| | | |
Conflicts:
tests/auto/qtreeview/tst_qtreeview.cpp
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Its the context menu handling code... again.
Problem is, that during execution of translateMouseEvent, the widget
is closed and a modal message box is shown. After that, there's no
widget at globalPos and thus, alienWidget is null.
This patch just adds a null check for alienWidget.
Task-number: 254425
Reviewed-by: mauricek
BT: yes
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
external event generators
This introduces QEvent::RawTouch event type, which should be used by the low-level
translator. This raw QTouchEvent can be sent to either QApplication or to a window,
and Qt will do the rest to dispatch the touch points to the correct place.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
widgets/items
Instead, build the list of touchPoints per event. This solves the problem when encountering
releases early in the active/current list while there are still touch points in move/stationary
states (which effectively caused the code to "forget" about the released point).
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This new function returns a bitwise OR of all the touch point states for
the event. This makes it easy to see if a certain type of state is present
or not without the need to loop over all touch points.
QApplication and QGraphicsScene need to build this state when dispatching
the touch points. This also fixes the ASSERT bug that Denis found when
trying to send multiple touch presses in a touch begin event.
|
| | |
| | |
| | |
| | |
| | |
| | | |
We'll use the \internal functions to modify it instead. This should make it easier
for people to implement support for touch events outside of Qt itself (still need to
somehow expose the logic for dispatching the touch points to the correct widgets though).
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | | |
Conflicts:
src/corelib/kernel/qcoreevent.h
src/gui/graphicsview/qgraphicsitem_p.h
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This required a larger change to the kernel and graphicsview directories to
make this as efficient as possible:
1. QTouchEvent::TouchPoint becomes the base for
QGraphicsSceneTouchEvent::TouchPoint - this means there is one private for
every touch point, and we can store both the screen and scene coordinates
in one place. Converting a QTouchEvent to QGraphicsSceneTouchEvent becomes
nothing more than casting the QTouchEvent::TouchPoints to
QGraphicsSceneTouchEvent::TouchPoints.
2. The logic that we use in QApplication to convert WM_TOUCH* messages to
QTouchEvents is essentially duplicated (with some minor changes) to
QGraphicsScene so that it can support mulitple touch item targets. I
will have to investigate how I can perhaps merge some of the duplicated
code.
QEvent::GraphicsSceneTouchBegin propagation is not implemented yet, and will
come in a later commit
|
| | |
| | |
| | |
| | | |
This is information that's maintained by QApplication, so it belongs there instead.
|
| | |
| | |
| | |
| | | |
this makes sure we always get touch events, and the don't drop out seemingly randomly.
|
| | |
| | |
| | |
| | |
| | | |
the only thing we store in the QWidgetPrivate is the current touch point
list, nothing more (the rest is local state in the event translation code)
|
|\ \ \
| |/ /
| | |
| | | |
windows-7-multitouch
|
| |\ \
| | |/
| | |
| | |
| | |
| | | |
Conflicts:
src/gui/painting/qbackingstore.cpp
src/gui/painting/qwindowsurface_raster.cpp
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We must tell the system that we want to intercept the back key on
Windows mobile. Each toplevel widget that needs correct back key
behaviour needs to have a menu bar. Why? Ask Microsoft...
Task-number: 248846
Reviewed-by: thartman
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When building docs for the mac, qdoc comments for functions defined
in the .h file were not found in any of the .cpp files in the mac
package because they were in the x11 or windows .cpp file. So I
moved them to a .cpp file that is in all the packages.
Task-number: 252496 252492
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When building docs for the mac, qdoc comments for functions defined
in the .h file were not found in any of the .cpp files in the mac
package because they were in the x11 or windows .cpp file. So I
moved them to a .cpp file that is in all the packages.
Task-number: 252496 252492
|
| |\ \
| | |/
| | |
| | |
| | |
| | | |
Conflicts:
src/gui/kernel/qcocoaview_mac_p.h
src/gui/widgets/qmainwindow.cpp
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
embedded somewhere.
If a widget is embedded to non-Qt window on Windows, then we should still clear
the focus whenever we receive WM_KILLFOCUS since we won't get WM_ACTIVATEAPP in
this case. This is an addition to 6ed196051d0f19bfe2d045eaf12f5f5ca30670d0
Task-number: 251259
Reviewed-by: Thierry
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
widgets simultaneously
This is a first attempt, and it works, but it will need to be cleaned
up to remove as much state from QWidgetPrivate as possible.
|