summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qapplication_p.h
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'master' of git@scm.dev.nokia.troll.no:qt/qtaxis2009-08-211-0/+12
|\ | | | | | | | | Conflicts: src/corelib/io/qprocess.h
| * Dont create native windows when setting up gestures.Denis Dzyubenko2009-08-211-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | The code used to create native window handle even before checking if the widget subscribes to gestures, basically breaking alien widgets. Check the position of the gesture instead when the WM_GESTURE message is received in the GID_BEGIN state. This will work properly in most cases - but not always as the position that we get with the WM_GESTURE message is the center point of the multitouch gesture, which might be outside of the widget depending on positions of fingers. Reviewed-by: trustme
* | Merge commit 'qt/master'Jason Barron2009-08-181-6/+0
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: doc/src/examples.qdoc doc/src/plugins-howto.qdoc doc/src/topics.qdoc examples/phonon/musicplayer/mainwindow.cpp src/3rdparty/freetype/src/base/ftobjs.c src/corelib/global/qglobal.h src/corelib/tools/qalgorithms.h src/corelib/tools/qshareddata.cpp src/corelib/tools/qsharedpointer.cpp src/corelib/tools/tools.pri src/corelib/xml/qxmlstream.h src/gui/painting/painting.pri src/gui/widgets/qdatetimeedit.cpp tests/auto/qdesktopservices/qdesktopservices.pro tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp tests/auto/qtextcodec/test/test.pro
| * Cocoa: Fix several issues with the event dispatcherRichard Moe Gustavsen2009-08-141-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Autotest: qcoreapplication, qapplication, qtimer qwidget_window, qwidget Issue 1: stacking order of modal windows was not working correctly. With this patch, we remove the need for rebuilding modal sessions all the time, and when we do, we rebuild them all in the correct order. Issue 2: When running the event processor manually (that is, just calling processEvents in a loop), we sometimes spendt 100% cpu if a window was pending to become modal. The reason was that we need to keep reposting the QCocoaRequestModal event until we could block the calling thread (that is, one of the exec flags was given to processEvents). With this patch, the need for posting QCocoaRequestModal is completly removed in favor of an 'interrupt' approach instead. Issue 3: If using Qt as a plugin, or just add widget to a native cocoa application, it would often lead to closing down the application. The reason is that the event dispatcher needs to restart [NSApp run] now and then. But this approach fails if Qt was not the code that started [NSApp run] in the first place. This patch removes the need to restart NSApp in this situation, at the cost of modal windows not beeing modal if Qt is not spinning the event dispatcher. Normal QDialog::exec etc will always work.
* | Merge commit 'qt/master'Jason Barron2009-08-131-2/+4
|\ \ | |/ | | | | | | | | | | | | | | | | | | Conflicts: examples/opengl/samplebuffers/glwidget.cpp src/corelib/io/qfsfileengine_unix.cpp src/corelib/kernel/qobject.cpp src/corelib/tools/qsharedpointer.cpp src/gui/gui.pro tests/auto/qhttp/tst_qhttp.cpp tests/auto/qkeyevent/tst_qkeyevent.cpp
| * Update contact URL in license headers.Jason McDonald2009-08-121-1/+1
| | | | | | | | Reviewed-by: Trust Me
| * Removed unused member in QApplicationPrivateBradley T. Hughes2009-08-101-1/+0
| | | | | | | | The appAllTouchPoints variable isn't used on Windows, remove it.
| * Implemented QPinchGesture.Denis Dzyubenko2009-08-101-0/+3
| | | | | | | | | | | | | | | | | | | | | | Added a new standard gesture, which is implemented using a native zoom and rotate gestures on Windows and with a direct touch event handling on other platforms. Improved pan support - we subscribe to native pan gesture only when it's really needed, and we pass proper flags for single finger horizontal/vertical panning. Reviewed-by: Richard Moe Gustavsen
* | Revised SIP API.axis2009-08-121-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | After discussions with Matthias, several things were changed: - the autoSipOnMouseFocus property was removed and replaced with a new style hint, SH_RequestSoftwareInputPanel. This means the style can define when the input panel is launched. - The code which sends RequestSoftwareInputPanel events was moved into its own function, and the widgets call that function. AutoTest: Included and passed RevBy: mae
* | Merge commit 'qt/master-stable'Jason Barron2009-08-101-7/+8
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/kernel/qobject.cpp src/corelib/tools/qsharedpointer_impl.h src/gui/widgets/qdatetimeedit.cpp src/gui/widgets/qlinecontrol.cpp src/gui/widgets/qlineedit.cpp tests/auto/qcssparser/qcssparser.pro tests/auto/qicoimageformat/tst_qicoimageformat.cpp tests/auto/qmultiscreen/qmultiscreen.pro tests/auto/qresourceengine/qresourceengine.pro tests/auto/qresourceengine/tst_qresourceengine.cpp tests/auto/qscriptv8testsuite/tst_qscriptv8testsuite.cpp
| * Refactor the code that reads the KDE config in one fileOlivier Goffart2009-08-071-1/+0
| | | | | | | | | | | | | | | | | | | | | | Move the code out of qapplication_x11.cpp, and qcommonstyle.cpp to qkde.cpp into the QKde namespace. This removes few of the code duplication, and is much cleaner. This will also let us install hook easily later. Reviewed-by: Jens Bache-Wiig
| * Rearranged the gesture code a bit for future native gestures on Windows.Denis Dzyubenko2009-08-061-6/+8
| | | | | | | | | | | | | | | | Moved the code that subscribes to native gestures on Windows to a private function in QWidget which will check which gestures the widget is subscribed to and enable native gestures as requested. Reviewed-by: trustme
* | Merge commit 'qt/master-stable'Jason Barron2009-07-271-15/+84
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure.exe qmake/Makefile.unix qmake/generators/makefile.cpp src/corelib/global/qglobal.h src/corelib/kernel/kernel.pri src/corelib/kernel/qcoreevent.cpp src/corelib/kernel/qsharedmemory_unix.cpp src/gui/graphicsview/qgraphicsscene.cpp src/gui/kernel/qaction.cpp src/gui/kernel/qaction.h src/gui/kernel/qaction_p.h src/gui/kernel/qapplication.cpp src/gui/kernel/qapplication.h src/gui/kernel/qwidget.cpp src/gui/kernel/qwidget.h src/gui/kernel/qwidget_mac.mm src/gui/painting/qgraphicssystemfactory.cpp src/gui/styles/qwindowsstyle.cpp src/gui/text/qfontengine_qpf.cpp src/gui/widgets/qabstractscrollarea_p.h src/network/access/qnetworkaccessdebugpipebackend.cpp src/network/socket/qlocalsocket_unix.cpp src/network/socket/qnativesocketengine_p.h src/network/socket/qnativesocketengine_unix.cpp src/openvg/qpaintengine_vg.cpp tests/auto/q3sqlcursor/tst_q3sqlcursor.cpp tests/auto/qcssparser/qcssparser.pro tests/auto/qdir/tst_qdir.cpp tests/auto/qfile/tst_qfile.cpp tests/auto/qobject/tst_qobject.cpp tests/auto/qpathclipper/qpathclipper.pro tests/auto/qprocess/tst_qprocess.cpp tests/auto/qsettings/tst_qsettings.cpp tests/auto/qsharedpointer/qsharedpointer.pro tests/auto/qsqlquerymodel/qsqlquerymodel.pro tests/auto/qsqlrelationaltablemodel/qsqlrelationaltablemodel.pro tests/auto/qsqltablemodel/qsqltablemodel.pro tests/auto/qsqlthread/qsqlthread.pro tests/auto/qwidget/tst_qwidget.cpp
| * Remove unused gesture related defines and structuresBradley T. Hughes2009-07-211-93/+48
| | | | | | | | | | We don't use all of them. I also changed the typedefs for the touch related functions to follow the same naming convention.
| * compile against the Windows 7 SDK RCBradley T. Hughes2009-07-201-15/+16
| |
| * Support Tablet coordinate on Windows with non-zero physical originLuc Devallonne2009-07-101-4/+6
| | | | | | | | | | | | | | | | | | | | Most Wacom tablet have a coordinate origin at 0 (Bamboo,Intous), but some tablet (like DTF 720, which have an integrated screen) have a non zero coordinate origin. Which lead to an errounous y/a tablet pos reported by Qt tablet event. Merge-request: 822 Reviewed-by: Norwegian Rock Cat <qt-info@nokia.com>
| * Refactored gesture apiDenis Dzyubenko2009-07-021-5/+116
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rewritten the api almost from scratch, making it simplier and more flexible at the same time. The current implementation will not have complex gseturemanager class inside Qt, but the QGesture base class, which represents both a gesture recognizer and a gesture itself with a set of properties. A set of common gestures that can use used in third-party applications (and in Qt itself internally) is supposed to be found in qstandardgestures.h, and a base class for user-defined gestures is in qgesture.h Gesture implementation for Pan on Windows7 has also been added as a reference implementation for platform gestures.
* | Make S60 integration optional.Jason Barron2009-07-151-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is more a cleanup of the usage of Q_WS_S60 vs. Q_OS_SYMBIAN than anything else. One of the side effects of this work was that it was relatively little work to get QtGui compiling when Q_WS_S60 is not defined. Based on this we introduce two new configure options that control S60 integration. Currently the -no-s60 option will not work entirely because the 's60main' module has not yet been refactored and still has a dependancy on the S60 libraries. Reviewed-by: axis <qt-info@nokia.com>
* | Merge branch 'fixing_tst_qdatetimeedit'axis2009-07-101-0/+1
|\ \ | | | | | | | | | | | | Conflicts: src/gui/kernel/qkeysequence.cpp
| * | Added key sequences for Symbian.axis2009-07-091-0/+1
| | | | | | | | | | | | | | | It's probably not complete, and most of them were found by trial and error, so feel free to fix any issues.
| * | Merge branch '4.5' of git@scm.dev.nokia.troll.no:qt/qtaxis2009-06-291-2/+2
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .gitignore src/gui/dialogs/qfiledialog_p.h src/gui/painting/qpaintengine_raster.cpp src/gui/text/qfontdatabase.cpp tests/auto/network-settings.h tests/auto/qitemdelegate/tst_qitemdelegate.cpp
* | \ \ Merge commit 'qt/master-stable' into 4.6-mergedJason Barron2009-06-301-6/+73
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .gitignore configure.exe src/corelib/concurrent/qtconcurrentthreadengine.h src/corelib/global/qnamespace.h src/gui/graphicsview/qgraphicssceneevent.h src/gui/kernel/qapplication.cpp src/gui/kernel/qapplication.h src/gui/kernel/qapplication_p.h src/gui/kernel/qapplication_qws.cpp src/gui/kernel/qwidget.h src/gui/painting/qpaintengine_raster.cpp src/gui/text/qfontdatabase.cpp src/network/access/qnetworkaccesshttpbackend.cpp tests/auto/network-settings.h tests/auto/qscriptjstestsuite/qscriptjstestsuite.pro tests/auto/qvariant/tst_qvariant.cpp
| * | | Merge branch 'master' of git@scm.dev.nokia.troll.no:qt/qtBradley T. Hughes2009-06-241-0/+6
| |\ \ \ | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/kernel/qapplication_x11.cpp
| | * | | Clean up the font hash and palette hash stuff.Norwegian Rock Cat2009-06-231-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These are used enough (at least on the mac) to justify them being accessible in a private header. As a bonus it "hides" the actual container being used, so we could potentially sway it out with something different. Reviewed by: Jens Bache-Wiig
| * | | | Add QTouchEvent::DeviceType and deviceType()Bradley T. Hughes2009-06-241-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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).
| * | | | Change behavior of how touch and mouse events work togetherBradley T. Hughes2009-06-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | Merge branch 'master' of git@scm.dev.nokia.troll.no:qt/qtBradley T. Hughes2009-06-171-2/+2
| |\ \ \ \ | | |/ / / | | | | | | | | | | | | | | | Conflicts: src/gui/graphicsview/qgraphicsscene_p.h
| | * | | Merge license header changes from 4.5Volker Hilsheimer2009-06-161-2/+2
| | |\ \ \ | | | | |/ | | | |/|
| | | * | Update license headers as requested by the marketing department.Jason McDonald2009-06-161-2/+2
| | | | | | | | | | | | | | | | | | | | Reviewed-by: Trust Me
| | | * | Long live Qt 4.5!Lars Knoll2009-03-231-0/+438
| | | /
| * | | Merge of masterBradley T. Hughes2009-06-151-1/+3
| | | |
| * | | Add multitouch support for the RX-71 deviceBradley T. Hughes2009-06-151-0/+19
| | | | | | | | | | | | | | | | | | | | We have to by-pass X11 mouse events when using this device since we are reading directly from the /dev/input/event* device files.
| * | | Compile on Windows againBradley T. Hughes2009-06-081-1/+1
| | | |
| * | | Some API changes after an API review roundBradley T. Hughes2009-06-051-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Don't have QGraphicsSceneTouchEvent::TouchPoint inherit from QTouchEvent::TouchPoint. The only reason to do this is to support an implementation trick, which can be done another way (see below). This means we have to essentially duplicate the API in the GraphicsScene variant. 2. Don't use a list of pointers to touch points in QTouchEvent and QGraphicsSceneTouchEvent. This means we have to make the TouchPoint classes implicitly shared (and the effect of the previous trick of static_casting the widget touch point to a graphics-scene touch point can be emulated by sharing the d-pointers between the classes). 3. QEvent::RawTouch isn't really an event type, it's a backdoor. Remove it and export the bool qt_translateRawTouchEvent(QList<QTouchEvent::TouchPoint>, QWidget *) function instead. 4. Rename QTouchEvent::TouchPoint::area() to size() (which is more clear as to what the function returns). QGraphicsSceneTouchEvent::TouchPoint gains size(), sceneSize(), and screenSize() functions (the actual translation from screen to scene to item still needs to be implemented).
| * | | Refactor the touch event dispatching code in preparation for allowing ↵Bradley T. Hughes2009-05-281-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | Don't try to maintain a current and active list of points for the app and ↵Bradley T. Hughes2009-05-281-7/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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).
| * | | Make Qt::TouchPointState ORable, add Q*TouchEvent::touchPointStates()Bradley T. Hughes2009-05-271-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | Fixed mouse event propagation to widgets inside graphicsview - make sureDenis Dzyubenko2009-05-181-1/+2
| | | | | | | | | | | | | | | | spontaneous flag is preserved.
| * | | Support multiple touch targets in QGraphicsViewBradley T. Hughes2009-05-131-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | Don't store the current list of touch points for a widget in QWidgetPrivateBradley T. Hughes2009-05-121-2/+5
| | | | | | | | | | | | | | | | This is information that's maintained by QApplication, so it belongs there instead.
| * | | Removed all weird qHash usage for gesture identification.Denis Dzyubenko2009-05-111-2/+2
| | | |
| * | | Store the QGestureManager in QApplicationPrivateBradley T. Hughes2009-05-111-0/+2
| | | | | | | | | | | | | | | | | | | | ... since we don't want these to persist after QApplication has been destroyed
| * | | Modifications after the api review by Brad.Denis Dzyubenko2009-05-111-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Gesture types are now separated to internal ones, which are listed as enums (though they might be converted to strings internally), and third party gestures which are referenced by strings. From now on QGesture objects derive from QObject, which means third party gesture recognizer developers can use QObjects property system to store custom data inside QGesture without need to subclass it. Some functions were renamed to show their purpose more clear.
| * | | Merge of the maemo-gestures branch onto qt/4.5.0Denis Dzyubenko2009-05-111-0/+1
| | | | | | | | | | | | | | | | | | | | This is a squashed merge of all of the changes in the maemo-gestures branch on-top of the qt/4.5.0 branch.
| * | | Support sending touch events (with multiple touch points) to multiple ↵Bradley T. Hughes2009-05-041-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | Use the HWND from the Windows MSG to find which widget to send events toBradley T. Hughes2009-04-301-2/+2
| | | | | | | | | | | | | | | | the logic for determining the event type has refactored as well
| * | | Merge branch 'master' of git@scm.dev.nokia.troll.no:qt/qt into ↵Bradley T. Hughes2009-04-291-2/+2
| |\ \ \ | | | | | | | | | | | | | | | windows-7-multitouch
| * | | | Don't store activeTouchPoints in QApplicationPrivateBradley T. Hughes2009-04-291-1/+1
| | | | | | | | | | | | | | | | | | | | it's only needed and updated during delivery, so the extra copy isn't necessary
| * | | | Use a widget attribute to keep track of whether or not TouchBegin has been ↵Bradley T. Hughes2009-04-291-1/+0
| | | | | | | | | | | | | | | | | | | | accepted
| * | | | Fix tests/manual/qtouchevent by choking mouse events even for ignored ↵Bradley T. Hughes2009-04-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TouchUpdate and TouchEnd events. The behavior we want is that no mouse events are sent if the widget accepts the TouchBegin.