summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qguiapplication.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Document the X11 DISPLAY variable in the -display option docsThiago Macieira2014-05-091-0/+2
| | | | | | Change-Id: I20412616c91d187e2befc39134a480369347b8cb Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
* Doc: fix -qwindowgeometry and -qwindowtitle option docsThiago Macieira2014-05-091-2/+1
| | | | | | | | | | The former was documented twice and the latter was missing the qdoc formatting. Change-Id: Id8dfb21a0c2fd26134b5738448971fe2627a12d6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com> Reviewed-by: David Faure <david.faure@kdab.com>
* Document that the -reverse option is only for debugging and its defaultThiago Macieira2014-05-091-1/+3
| | | | | | | | | You should never force that option. Just let Qt automatically detect from the environment. Change-Id: I43ae4951969d2067cc111eff6302921a0af82658 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
* Document that env variables are preferable to cmdline optionsThiago Macieira2014-05-091-1/+8
| | | | | | | | | Environment variables are passed along to child processes, command-line options aren't. Change-Id: Ia52c1d8cfeeb2f7490e73ac50b58ba07c2eebfa8 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
* When a window loses focus to a popup, event has PopupFocusReasonShawn Rutledge2014-04-171-2/+10
| | | | | | | | | | | | | | Followup to debe31e047060d790fb32c06e514d9df476df8bf : a popup window can have focus, but a QQuickWindow needs to know why it loses focus when a menu is opened, so that for example copy/cut/paste Actions can apply to the text which did have focus before the menu opened. The event's focus reason provides enough information to deal with this situation. Task-number: QTBUG-36292 Task-number: QTBUG-36332 Change-Id: Ifae999a364a61b125a4764c9db204a167bddf0b7 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* QGuiApplication: fix crash caused by posting fake mouse eventRichard Moe Gustavsen2014-04-071-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | Since Qt expects a mouse press/release event to not change mouse position in the same event, QGuiApplicationPrivate::processMouseEvent will detect if a QWindowSystemInterfacePrivate::MouseEvent tries to do this and convert it to two events; one move and one press/release. The problem is that the extra mouse event gets posted. So if delivering the first event causes a flush in the event queue (which can easily happen if e.g calling processEvents), the second event will be processed before the first returns. On iOS we see a crash with DnD as result of this, since drag data gets deleted on mouse release, and returning back to a mouse move after that will cause dangling pointers. This patch will instead of posting the event, call the event handler recursively with the faked event as argument. That way a flush will not cause the "pending" event to be delivered. Change-Id: Id9d88053b4859083fedd666584815016d67ac51b Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Fixup QGuiApplication::sync to flush the QWSI queueJorgen Lind2014-04-041-0/+1
| | | | | Change-Id: If4cedeb886e912f622a66b2b3374d6260cffc32a Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* QGuiApplication: send TouchCancel when touch is interrupted by popupShawn Rutledge2014-03-211-0/+12
| | | | | | | | | | | | | QQuickWindow depends on maintaining state of known touch points between events, so it needs to be notified when it will not be receiving the corresponding release event for one or more. This temporary fix needs to be reverted when we have a proper event forwarding solution. Task-number: QTBUG-37371 Change-Id: I5dc40af6feac425be8103c1586f8ebe3a6aad20d Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* Doc: correction link, example and parameter issues qtbaseNico Vertriest2014-03-101-6/+6
| | | | | | | | | | | | | Moved codecs folder to qtbase/examples Corrected quote in dropsite.qdoc Replaced snippet statement by include statement Added doc for undocumented parameters Task-number: QTBUG-34749 Change-Id: If4de95b8d39e5680fd0f63f8d2b6685a4b0a8052 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Android: Support double click eventEskil Abrahamsen Blomfeldt2014-03-101-1/+3
| | | | | | | | | | | | | | | | It's impossible to get the distance between two touch events down to 5 pixels on e.g. my Nexus 5. This patch makes it possible to tweak the distance through the platform theme, and sets the distance to 15% of an inch on Android. Also provides a way to override the default minimum of 5 pixels by using an environment variable. [ChangeLog][Android] Fixed double click events Task-number: QTBUG-36974 Change-Id: I23d94020c531747d6638b645133611614a2a0703 Reviewed-by: BogDan Vatra <bogdan@kde.org>
* Fix description of how themes are created (code comments)Fabian Bumberger2014-03-081-4/+5
| | | | | | Change-Id: I3b8ed0af5208687a9ab75e916b477f5e24b4d1e2 Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-02-181-8/+80
|\ | | | | | | | | | | | | Conflicts: src/plugins/platforms/android/qandroidplatformtheme.h Change-Id: I541bd3069df3ab54c7942d5f4a9e155e3b6566a0
| * Doc: add CLI options for QGuiApplicationLeena Miettinen2014-02-171-8/+80
| | | | | | | | | | | | | | Task-number: QTBUG-36579 Change-Id: Ib9376ecfe98f8d5e26c4f9be783a022faa9d3046 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | Close widgets properly from session management.Friedemann Kleint2014-02-141-17/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce new virtual QGuiApplicationPrivate::tryCloseAllWindows() which allows overriding the behavior in QApplication to properly close the widgets first. Without this, QGuiApplication closes the widget windows leaving a stale window handle behind in the associated QWidget which then causes the application not to terminate since QApplication::shouldQuit() stills finds the affected widgets to be visible. Task-number: QTBUG-35986 Change-Id: I19ac4b5a19250ee68d09e461c03dbace458c98e4 Reviewed-by: David Faure <david.faure@kdab.com>
* | Move setWindowIcon() up to QGuiApplication.David Faure2014-02-121-0/+33
| | | | | | | | | | | | | | | | | | | | [ChangeLog][QtGui][QWindow]QWindow::icon() now defaults to the application icon, which can be set with QGuiApplication::setWindowIcon(). Change-Id: Id1974e5cda81775e515c14b294f67fb99351c6c9 Reviewed-by: Albert Astals Cid <albert.astals@canonical.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* | Restore support for -title command line argument on X11, add -qwindowtitle.David Faure2014-02-121-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -title disappeared between Qt4 and Qt5, due to all the refactorings around QPA. Making the caption of the mainwindow configurable allows custom setups for specific users or use cases. [ChangeLog][QtGui][QGuiApplication] Restore support for -title command line argument on X11, add -qwindowtitle on all platforms. Change-Id: I73e6bf21248f3419178eba583b257172a175e74e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Albert Astals Cid <albert.astals@canonical.com> Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Frederik Gladhorn2014-02-111-1/+2
|\ \ | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-02-071-1/+2
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/kernel/qguiapplication.cpp src/plugins/platforms/android/androidjnimain.cpp src/plugins/platforms/android/qandroidplatformintegration.cpp src/plugins/platforms/android/qandroidplatformintegration.h src/plugins/platforms/android/qandroidplatformopenglcontext.cpp src/plugins/platforms/cocoa/qcocoawindow.h src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/sql/doc/src/sql-driver.qdoc src/widgets/widgets/qtoolbararealayout.cpp Change-Id: Ifd7e58760c3cb6bd8a7d1dd32ef83b7ec190d41e
| | * Initialize QGuiApplicationPrivate::lastCursorPosition to infFrederik Gladhorn2014-01-211-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes sure that we don't think a mouse area at position 0, 0 contains the mouse on startup. Task-number: QTBUG-36191 Change-Id: I68a8aed195531f506372ef465734661069b60f57 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* | | Support --option in addition to -option for all builtin Qt commandline options.David Faure2014-02-081-0/+4
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | In addition to being more common and consistent with QCommandLineParser, this will make it possible to add the documentation for these options in the QCommandLineParser-generated help output. [ChangeLog][General] Builtin command-line options such as -reverse, -session, -style etc. now all support double dash, e.g. --reverse, --session, --style... Change-Id: Ia2e22c854ccc6a9d7b863b1234317005bc822191 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | QGuiApplication: Check if window exists before sending double click event.Friedemann Kleint2014-02-031-6/+8
| | | | | | | | | | | | | | | | Task-number: QTBUG-36364 Change-Id: I0be40e8f920f0210ba4e99e83d138f82ce3a69f2 Reviewed-by: J-P Nurmi <jpnurmi@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | If DblClick, do not deliver 'duplicated' MouseButtonPressRick Stockton2014-01-271-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QWidgetWIndow: In Qt4, when Qt created a MouseButtonDblClick event, Qt would consume the causing MouseButtonPress. It would send only the derived dblclick event to widget windows and their children. This change makes Qt5.3 and higher emulate Qt4 delivery of double click-related events to widget windows and their children. QML objects (e.g. mousearea) continue to receive the second MouseButtonPress. [ChangeLog][QtGui][QWidget] MouseButtonDblClick: Do not send the 2nd MouseButtonPress event to Widgets. Restore Qt4 behavior in sequence of mouse events delivered to widget windows and their children. Task-number: QTBUG-25831 Change-Id: Iff0f9c592bceacb2ca844d30f8180081e136a889 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-01-201-0/+2
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qglobal.h src/corelib/tools/qstring.cpp src/gui/image/image.pri src/gui/image/qimage.cpp src/plugins/platforms/cocoa/qcocoawindow.h src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/eglfs/qeglfshooks_stub.cpp tests/auto/corelib/io/qstandardpaths/tst_qstandardpaths.cpp Change-Id: I3b9ba029c8f2263b011f204fdf68c3231c6d4ce5
| * Make qtbase compile with QT_NO_GESTURESTasuku Suzuki2014-01-101-0/+2
| | | | | | | | | | Change-Id: I90f173265e177ff37ce80da3983080651856259d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | Introduce a way of explicit selection of the platform themeŁukasz 'sil2100' Zemczak2014-01-131-6/+17
| | | | | | | | | | | | | | | | | | | | | | | | Introduce a way of explicit selection of the platform theme to be used, either through a new environment variable - QT_QPA_PLATFORMTHEME, or by the optional -platformtheme command line argument. Task-number: QTBUG-30091 Change-Id: Ieaa96b52265c3e48d056af7e56e793d8531fd7b3 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-12-161-0/+5
|\| | | | | | | | | | | | | | | | | Conflicts: src/gui/kernel/qplatformtheme.h tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp tests/auto/widgets/widgets/qspinbox/tst_qspinbox.cpp Change-Id: Iecd3343d6a050b8764f78d809c4a1532aeba69e5
| * Move notification of layout change up from QApplication to QGuiApplication.Robin Burchell2013-12-101-0/+5
| | | | | | | | | | | | | | | | | | | | QGuiApplication-using things (like QtQuick) need to know about this, too -- this makes QGuiApplication::setLayoutDirection actually work. Task-number: QTBUG-21573 Change-Id: I2d2ac7dc07f11be5c7e501a3575b1d0978d8ac31 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-11-261-32/+48
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For the conflicts in msvc_nmake.cpp the ifdefs are extended since we need to support windows phone in the target branch while it is not there in the current stable branch (as of Qt 5.2). Conflicts: configure qmake/generators/win32/msvc_nmake.cpp src/3rdparty/angle/src/libEGL/Surface.cpp src/angle/src/common/common.pri src/corelib/global/qglobal.h src/corelib/io/qstandardpaths.cpp src/plugins/platforms/qnx/qqnxintegration.cpp src/plugins/platforms/qnx/qqnxscreeneventhandler.h src/plugins/platforms/xcb/qglxintegration.h src/widgets/kernel/win.pri tests/auto/corelib/thread/qreadwritelock/tst_qreadwritelock.cpp tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp tools/configure/configureapp.cpp Change-Id: I00b579eefebaf61d26ab9b00046d2b5bd5958812
| * EglFS: make sure resize events are deliveredPaul Olav Tvete2013-11-061-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make sure that resize events are delivered when the platform plugin overrides the geometry set in setGeometry(). This fixes a race condition where a widget was resized to its sizeHint() while the window was maximized, and the content was shown scaled on the screen. The problem is that the widget gets the wrong size from QWidget::setWindowState() (which calls adjustSize() in order to support normalGeometry). This size is used to resize the backingStore. When the QWindow is resized, it calls QEglFSWindow::setGeometry() which corrects the size to screen()->availableGeometry(), and triggers a GeometryChangeEvent since the size was corrected. This ends up in QGuiApplicationPrivate::processGeometryChangeEvent() which will not send a resize event, since the size has not changed (it is always availableGeometry()). Therefore the widget is never resized, and the backingStore remains the wrong size. Task-number: QTBUG-34421 Change-Id: Iee49c53cc529de36010db2695d838d8c2284edd4 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
| * Add QGuiApplication::sync() functionJørgen Lind2013-10-301-0/+21
| | | | | | | | | | | | | | | | | | This will allow applications to make sure Qt has the same state as the window system at any given point. The use of this function is discouraged but it is very useful for auto tests. Change-Id: I691bff365fc391e9d7213f2607008983505bb774 Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
| * Android: handle keyPress event for Key_BackPaul Olav Tvete2013-10-291-23/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added logic so that accepting either the press or the release will keep the app running. This makes it possible to use the onBackPressed functionality in QML. This functionality is only intended for running in a complete Android environment, so make sure that we don't terminate the application in the NO_SDK case. Task-number: QTBUG-30803 Change-Id: I2546eea73bf6a6ee8b196125b7556479b9b10a9c Reviewed-by: BogDan Vatra <bogdan@kde.org>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-10-241-3/+19
|\| | | | | | | Change-Id: Ie56539b2e0be611a363b5f15ae5412a78d6945a2
| * Implement native gestures on OS X.Morten Johan Sørvig2013-10-171-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add QWindowSystemInterface::GestureEvent and QNativeGestureEvent to QtGui. These events are copies of Qt4's QNativeGestureEvent, where it was an implementation detail of QGestureManager. Add gesture message handlers to QNSView and bring back the Mac gesture recognizers for QGestureManager. Task-number: QTBUG-28126 Change-Id: I1304e09e776fa7c44d133d54ca8b895ca2f544c5 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| * Update QPA cursor only for non-synthetic mouse eventsLaszlo Agocs2013-10-141-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unhandled touch events cause QGuiApplication to generate synthetic mouse event by default. This is good but on embedded systems, where there is no windowing system and thus the platform cursor implementation relies solely on QGuiApplication pushing position updates via pointerEvent(), this causes odd behavior when there is both a touchscreen and a mouse present. The patch changes QGuiApplication to call pointerEvent() only when the event is not synthetic. This will prevent the mouse cursor from jumping to the position of the touch when using the touchscreen. It is needed also because moving the mouse later would make the cursor jump back to its previous, "real" mouse position anyhow which is extremely annoying. This is now avoided. Change-Id: I807a173bff7e2afa7eb66961a7ecc88b2c0430ca Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| * add a missing break in QGuiApplicationPrivate::processWindowSystemEventLiang Qi2013-10-111-0/+1
| | | | | | | | | | | | Task-number: QTBUG-34016 Change-Id: Ifbb4a63845328e32fb0ad679415dca0f90dde624 Reviewed-by: Andy Shaw <andy.shaw@digia.com>
* | Add platform plugin arguments to QLibraryInfo/qt.conf.Friedemann Kleint2013-10-161-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | Make it possible to specify arguments to the platform plugins in a section of the qt.conf file: [Platforms] WindowsArguments=fontengine=freetype Change-Id: Ia05d0fa004471dcb74c78a88eec3b220ec3c6ad8 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-10-111-12/+20
|\| | | | | | | Change-Id: Ib8cfeee7d9ca15e8ad520e428b72c200827a8628
| * Doc: Adding mark-up to boolean default values.Jerome Pasion2013-10-081-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Default values should have mark-up to denote that they are code. This commit changes: -"property is true" to "property is \c true". -"Returns true" to "Returns \c true". -"property is false" to "property is \c false". -"returns true" to "returns \c true". -"returns false" to "returns \c false". src/3rdparty and non-documentation instances were ignored. Task-number: QTBUG-33360 Change-Id: Ie87eaa57af947caa1230602b61c5c46292a4cf4e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
| * QPA: Fix event dispatcher dependent operations in platform integrationLaszlo Agocs2013-10-071-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 999e5162ec3e86c9cb84c3ec95dfd0ba4b21277f breaks QPlatformIntegration implementations that perform tasks in their constructor that rely on the event dispatcher. For example creating a QSocketNotifier is not possible anymore since the event dispatcher is created later on. This is fixed by introducing an additional virtual in QPlatformIntegration that gets called after createEventDispatcher(). Two broken platform plugins have been identified so far: eglfs is creating socket notifiers to read events from input devices and xcb's input context plugins may use dbus. Both are updated accordingly. Task-number: QTBUG-33768 Change-Id: I5badb623958a52ab5314ff93dd7d60061f5df70a Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Sergio Ahumada2013-10-091-17/+13
|\| | | | | | | refs/staging/dev
| * Update QSessionManager and related classes documentationSamuel Gaist2013-10-021-2/+2
| | | | | | | | | | | | | | | | | | | | Update the Qt 4 documentation of QSessionManager to reflect the changes in Qt 5 Task-number: QTBUG-33528 Change-Id: I74286134155efc2781f9f6fc505fb6cf736d814e Reviewed-by: Martin Smith <martin.smith@digia.com>
| * QPA: Fix semantics of GUI event dispatcher ownership in platform pluginsTor Arne Vestbø2013-09-301-15/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The QPlatformIntegration::guiThreadEventDispatcher() function acted as an accessor to event dispatchers created in the constructor of each platform plugin, but the logic and semantics of event-dispatcher handling in Qt itself (QCoreApplication/QGuiApplication) still assumed both ownership and control over the event dispatcher, such as when to create one, which one to create, and when to delete it. This conflicted with the explicit calls in the platform plugins to QGuiApplication::setEventDispatcher(), as well as left a possibility that the event-dispatcher created by the platform plugin would never be deleted, as none of the platform plugins actually took full ownership of the dispatcher and deleted it in its destructor. The integration function has now been renamed back to its old name, createEventDispatcher(), and acts as a factory function, leaving the logic and lifetime of event dispatcher to QtCoreApplication. The only platform left with creating the event-dispatcher in the constructor is QNX, where other parts of the platform relies on having an event-dispatcher before their initialization. We then need to manually take care of the ownership transfer, so that the event-dispatcher is still destroyed at some point. Change-Id: I113db97d2545ebda39ebdefa865e488d2ce9368b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Relay mouse event synthesization informationLaszlo Agocs2013-10-041-6/+26
|/ | | | | | | | | | | | | | | | | Make platform plugins, like the windows one, able to indicate if a mouse event is synthesized from a touch event by the OS. This will be valuable information for the Quick2 event handlers. No new member variables are added to QMouseEvent. Instead, the enum value is encoded in the caps member, there are plenty of bits available in it. This introduces Qt::MouseEventSource and QMouseEvent::source() as public APIs. Change-Id: If087a0bafb33a6cd7891bd07b84871358f6aba69 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* WinRT: Basic global supportAndrew Knight2013-09-201-2/+2
| | | | | | | | Various global changes, primarily preprocessor flow, to support the WinRT platform. Change-Id: I3fa9cf91d5fb24019362e88fcf205e31b4f810b5 Reviewed-by: Andrew Knight <andrew.knight@digia.com>
* Bring back Qt4 X11 session management functionality.Teo Mrnjavac2013-09-131-1/+1
| | | | | | | | | | | | | | | Added QXcbSessionManager to the Xcb plugin. QXcbSessionManager inherits from QPlatformSessionManager, it's a port of QSessionManager as it is in Qt 4.8. Minor changes also in QPlatformSessionManager and QGuiApplication to hook it up. Task-number: QTBUG-28228 Task-number: QTBUG-30011 Task-number: QTBUG-33033 Change-Id: I50b33d05a1e32c5278dea339f693713acc870a70 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: David Faure <david.faure@kdab.com>
* Push updates to the QPA cursor even when a modal window is shownLaszlo Agocs2013-09-131-5/+6
| | | | | | | | | | | | | | Call QPlatformCursor::pointerEvent() even when the mouse event is stopped due to being blocked by a modal window. This is necessary for relatively dumb platforms, like eglfs, because the mouse cursor is expected to be functional across the entire screen regardless of having a modal dialog shown. Platforms where the cursor is handled by the system (xcb, windows, etc.) are not affected as they don't implement pointerEvent() anyway. Change-Id: I4996ca0db23eb7f6ca3e2432d8d7abb1a5113dca Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Add QPA session managerSamuel Gaist2013-09-041-9/+12
| | | | | | | | | | | | | | | | | | The QSessionManager doesn't allow customization in platform independent way. The new QPlatformSessionManager aims to change that. Now the QSessionManagerPrivate has a new QPlatformSessionManager member to forward all the calls to QSessionManager's functions. If no platform manager is present, the current behavior is used. QPlatformSessionManager mimics the current QSessionManager behavior. A new factory function has been added to QPlatformIntegration to return a QPlatformSessionManager Task-number: QTBUG-28228 Change-Id: Ida7ac16a8f5303df5014fcb67878170ebdb37203 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com> Reviewed-by: David Faure (KDE) <faure@kde.org>
* Added applicationState() to QGuiApplication.Yoann Lopes2013-09-021-32/+55
| | | | | | | | | | | We only had the QApplicationStateChangeEvent to know about the application state. Added a function and a signal to offer a more convenient way to query the current state. Change-Id: I926aac0b3b53bd285df5825aff5b4c37ae863d03 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-08-271-1/+1
|\ | | | | | | | | | | | | Conflicts: examples/widgets/doc/src/addressbook-fr.qdoc Change-Id: Id1196e8e0c6445f1616c3f29234c974d809f8e48
| * Android: Fix crash when hitting Back button to quitEskil Abrahamsen Blomfeldt2013-08-261-1/+1
| | | | | | | | | | | | | | | | | | | | On Android, it's possible to reach the condition when window == 0 if you hit the Back key, since the previous bail-out is disabled for this case. To avoid a null-pointer dereference, an extra check is required. Change-Id: Ic898cd82dd6e52c24505dd2248c98efcefc15b1c Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>