summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* Fix Android Style plugin.BogDan Vatra2013-09-101-0/+4
| | | | | | | | Task-number: QTBUG-29565 Change-Id: Iedb861962e3638bcbdf9d9a72a47bebc63b425b9 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com> Reviewed-by: BogDan Vatra <bogdan@kde.org>
* Remove deprecated QtAlgorithms calls from QtGuiGiuseppe D'Angelo2013-09-051-1/+3
| | | | | | | | QtAlgorithms is getting deprecated, see http://www.mail-archive.com/development@qt-project.org/msg01603.html Change-Id: I324ddf6129fe8884ecea97ef47abb7c071dfb34c Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Add QPA session managerSamuel Gaist2013-09-049-50/+394
| | | | | | | | | | | | | | | | | | 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-023-34/+60
| | | | | | | | | | | 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 "Merge remote-tracking branch 'origin/stable' into dev" into ↵Sergio Ahumada2013-09-022-3/+4
|\ | | | | | | refs/staging/dev
| * Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-08-272-3/+4
| |\ | | | | | | | | | | | | | | | | | | 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>
| | * Do not recreate window if it is moved to a virtual sibling screen.Friedemann Kleint2013-08-231-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-32681 Task-number: QTBUG-33062 Change-Id: Id37627231b7a129c398d90d3f01ded6bd5171088 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | | QFileDialog: add MIME Type filtersDavid Faure2013-08-292-0/+14
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | Currently just a convenience method for setNameFilters(), it uses QMimeType to create a name filter from the glob patterns and description defined in each MIME type. In the longer term, this API could be used to do proper mimetype-based filtering using QMimeDatabase::mimeTypeForFile() in the builtin QFileDialog (aka "not native"), instead of only looking at globs via the name filters. Change-Id: I0edccf5f30c514481b47cd100d743d1ed7a24024 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* | Move SnapToDefaultButton from QPlatformDialogHelper to QPlatformThemeAndy Shaw2013-08-234-18/+8
| | | | | | | | | | | | | | | | | | | | | | Since QPlatformTheme covers all dialogs whereas QPlatformDialogHelper is really only for the native dialogs then the SnapToDefaultButton hint is moved as it has relevance for all dialogs Task-number: QTBUG-32631 Change-Id: I1dce0bb4abcd4cfd39c4a199a33fc7078176ab4b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | Fix typo in qkeysequence.cpp code comment.Mitch Curtis2013-08-221-1/+1
| | | | | | | | | | Change-Id: I833c4da7363d7ae5dcfa5a901dadc0e327080e40 Reviewed-by: David Faure (KDE) <faure@kde.org>
* | Fetch StandardKey shortcuts from QPlatformThemeDavid Edmundson2013-08-206-267/+281
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows platforms to dynamically alter their keyboard shortcuts, for example if they are user-configurable on that platform. Current behavior remains the same. QEvent previously used the hardcoded values in QKeySequencePrivate so this was modified to use QKeySequence::keyBindings(). In order to keep the speed of QEvent's former binary search, we moved this code to QPlatformTheme::keyBindings(), making it faster for all keyBinding lookups. As we now need to search by StandardKey instead of by shortcut the list is reordered and a test is changed to reflect that. Change-Id: Iefb402fbbe8768be2208ce036f3c2deed72dcc6c Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Frederik Gladhorn2013-08-163-1/+12
|\ \ | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-08-143-1/+12
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure mkspecs/macx-xcode/Info.plist.app mkspecs/macx-xcode/Info.plist.lib qmake/doc/qmake.qdocconf src/corelib/global/qglobal.h tests/auto/other/exceptionsafety/exceptionsafety.pro tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp Change-Id: I3c769a4a82dc2e99a12c69123fbf17613fd2ac2a
| | * Don't crash if the QWindow's screen is temporarily invalidShawn Rutledge2013-08-071-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It can happen during the transition between screens when one screen is disconnected that the window doesn't have a screen. Task-number: QTBUG-32681 Change-Id: I066855a2ffe80f0680a3044e73f4f491c2c0eb5c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| | * Fix ignoring closeEvents on OSX for QtQuick.Daiwei Li2013-08-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The QCloseEvent's accepted state should not be inverted for the QWindowSystemInterfacePrivate::CloseEvent. To make Widgets work with this change, pass whether the close was accepted from close_helper to the QCloseEvent generated by QGuiApplication. Task-number: QTBUG-28965 Change-Id: If384b0355776b93df02dff2ab78b5647903200e7 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com> Reviewed-by: Josh Faust <jfaust@suitabletech.com>
| | * Add workaround for GL on Android emulatorEskil Abrahamsen Blomfeldt2013-07-291-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On the Android Emulator, the shaders will be compiled by a desktop GL driver, since the GL driver in the emulator is just a thin wrapper. The GL driver does not necessarily support the precision qualifiers, which can cause applications to break. We detect this at runtime in the platform plugin and set a workaround flag to Task-number: QTBUG-32557 Change-Id: Ied00cfe8e804d1f7862697dd379a14f3bed3d980 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* | | Replace QWheelEvent::Phase with revised Qt::ScrollPhaseJ-P Nurmi2013-08-155-34/+16
|/ / | | | | | | | | Change-Id: I4d8e7d48497d0d96a297191976c0d99feb67b538 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | Implement support for global whatsthis on WindowsSimon Hausmann2013-08-134-0/+15
| | | | | | | | | | | | | | Task-Number: QTBUG-32835 Change-Id: Ifee10d815ce0037c96eda574ab9e1af67ff6bd78 Reviewed-by: Andy Shaw <andy.shaw@digia.com>
* | Add more key names to QKeySequence.Mitch Curtis2013-08-131-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | So that, for example, qDebug() << QKeySequence(Qt::Key_Cancel).toString(); prints "Cancel" instead of "ᡀ". Task-number: QTBUG-953 Change-Id: Ib17fc314fd018355e6a1826d26fce85fdcbbe0c8 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | Introduce QWheelEvent::Phase (Begin, Changed, Ended)J-P Nurmi2013-08-086-15/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Some platforms (read: OS X) send wheel events without delta to indicate that scrolling is about to start or has ended. Currently, Qt simply ignores wheel events that have no delta. This change introduces a new QWheelEvent attribute that specifies the phase, and makes it possible to receive the special wheel events in started/ended phases. These events are required for implementing correctly behaving transient scrollbars. Change-Id: Ib8ce0d9ce9be63b2ad60aa7b0aaa1f12ef6cad09 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | Android: Fix crash when setting WA_NativeWindowEskil Abrahamsen Blomfeldt2013-07-312-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | We don't support native widgets in Android, so we can get into a mess when people set this widget attribute, since the FB compositor will assume that all widgets have their own backing store. This adds a capability flag to the QPlatformIntegration which allows the plugin to disable the WA_NativeWindow feature. Task-number: QTBUG-32685 Change-Id: Ic200487da4a297f71ab594cf7c90d1e1d53bacd3 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* | Reintroduce -geometry command line argument for X11/XCB.Friedemann Kleint2013-07-252-0/+112
| | | | | | | | | | | | | | | | | | | | | | Add parsing for the window geometry specification to QGuiApplicationPrivate. Enable the argument under a different name for the other platforms as well. Task-number: QTBUG-27349 Change-Id: I973b2c69f5172f7d0bc983b8ba4b0d164649ef02 Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Sergio Ahumada2013-07-242-9/+25
|\ \ | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-07-232-9/+25
| |\| | | | | | | | | | | | | | | | | | | Conflicts: tests/auto/dbus/qdbusabstractinterface/tst_qdbusabstractinterface.cpp Change-Id: I18a9d83fc14f4a9afdb1e40523ec51e3fa1d7754
| | * Prevent activation of windows with Qt::WindowDoesNotAcceptFocus.Friedemann Kleint2013-07-221-0/+4
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-32385 Change-Id: I307e2a3e5157b351663940d5d02fc16b3127b5dd Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
| | * Detect popup window correctly in modal window blocked handling.Friedemann Kleint2013-07-161-2/+7
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-32433 Change-Id: Ida8f6237a383311bc2e231de90fd54b90ebd1508 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
| | * QGuiApplicationPrivate::updateBlockedStatus(): Recurse over children.Friedemann Kleint2013-07-161-7/+14
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-32242 Change-Id: Ia43257a998507b9a367f41dc2395ab92cc89a118 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | | Bump QPA-API-version.Friedemann Kleint2013-07-231-1/+1
|/ / | | | | | | | | | | | | | | | | | | | | Changes f5dbc876378ae58a7bdfe1e9664fc81caca18dfb (Use QUrl in QFileDialog API) and c96a6ab627100452864eb4d8da973300401c1bfa (Pass argc, argv to platform plugin) introduced changes to the plugin API. Task-number: QTBUG-29396 Change-Id: I46ee22d16f045b69f141dc6c982017586efef662 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: David Faure (KDE) <faure@kde.org>
* | added maximumTouchPoints to QTouchDeviceShawn Rutledge2013-07-223-1/+24
| | | | | | | | | | | | | | This was missing information which the driver can provide. Change-Id: I2574745635d6fdf608bc5617999aec46d9312c09 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | Have QFileDialog use QUrl internallyKevin Ottens2013-07-182-18/+26
| | | | | | | | | | | | | | | | | | | | | | | | When using the native dialog and through the helper, we use QUrl in QFileDialog. It is preparatory work for having QUrl based methods on QFileDialog interface itself. Done-with: sean.harmer@kdab.com Done-with: faure@kde.org Change-Id: I61e99d498252241f38ec05724702a90ba050c4bb Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | Pass argc, argv to the platform plugins.Friedemann Kleint2013-07-185-9/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow for parsing of X11-specific arguments like -display, -geometry. Introduce overload of QPlatformIntegration::create() with argc and argv and provide default implementation that calls the old version (for platforms that do not have argc, argv). Provide default implementation for the old version returning 0 so that platforms using the new API compile. Prototypically implement -display in XCB. Task-number: QTBUG-29396 Change-Id: I6a0e9271fad6e2d10f11b80393025ae3a3e36623 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | Merge branch 'stable' into devSergio Ahumada2013-07-117-34/+24
|\| | | | | | | | | | | | | | | | | | | Conflicts: qmake/generators/mac/pbuilder_pbx.cpp src/corelib/json/qjsonwriter.cpp src/corelib/kernel/qeventdispatcher_blackberry.cpp src/plugins/platforms/cocoa/qcocoacolordialoghelper.mm Change-Id: I24df576c4cbd18fa51b03122f71e32bb83b9028f
| * docs: QSystemTrayIcon referenceShawn Rutledge2013-07-101-1/+1
| | | | | | | | | | | | | | Task-number: QTBUG-32157 Change-Id: I730cc0690edf679d5819c086da74c93b9a293bd6 Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
| * Change error text for missing platform pluginKai Koehne2013-07-011-4/+5
| | | | | | | | | | | | | | | | | | Model error text after the default Windows error message for missing .dll's. Change-Id: I5328a0fe681ff5104dcf41668d9b08d6a6198c08 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * Fix warning caused by warning fixThiago Macieira2013-07-012-7/+1
| | | | | | | | | | | | | | | | | | | | qevent.h:865:36: error: unknown warning group '-Wunused-private-field', ignored [-Werror,-Wunknown-pragmas] Instead, just use Q_UNUSED() like I've done for the other unused members. Change-Id: I3adeb06937cee8b8ac24a1d5081be03931ac98b7 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
| * Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2013-06-282-20/+15
| |\ | | | | | | | | | Change-Id: I53112e20a65b7d706755b4a22622979f3b91a2c2
| | * Add Q_REVISION(1) to QWindow::alert().Friedemann Kleint2013-06-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-32069 Task-number: QTBUG-30416 Change-Id: Idabf9962def24ecd709be7d981302c91c42ccac4 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
| | * QWindow min/max width/height, contentOrientation are not new in 5.1Shawn Rutledge2013-06-282-19/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | so that part of Id03ae17270832a7b5915e4324a508e591c0b6d98 which added the Q_REVISION(1)'s and \since docs was a mistake. Change-Id: I159b68491bd7dc55657d8c978bff527094ef4547 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com> Reviewed-by: Alan Alpert <aalpert@blackberry.com>
| * | Touch up QSurfaceFormat documentation.Mitch Curtis2013-06-281-2/+2
| | | | | | | | | | | | | | | Change-Id: I439ffa7632dbfe6d9e2c4e40447bfabfeac76f7b Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* | | Add API to let applications integrate with the system fontsAleix Pol2013-07-051-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch does 2 things mainly: - Adds a QPlatformTheme font type for fixed fonts. It's important because some OS provide specific monospaced fonts and we want to let our applications to use the preferred fonts by default. - Adds a new method and enum to QFontDatabase that expose the font types that applications might need, so that they can make the applications use the specific fonts that the system recommends. This data was already available within Qt through the QPlatformTheme, but it was not possible to use this data by Qt users. This new method exposes such data. Change-Id: Ic194c1e4bc07a70640672afd82ba756b87606985 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: David Faure (KDE) <faure@kde.org>
* | | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-06-271-2/+11
|\| | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure mkspecs/features/create_cmake.prf Change-Id: I94aea83b83833395d5db399209e0e51b92ef23b5
| * | Windows: Display a message box if platform plugin cannot be found.Friedemann Kleint2013-06-261-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-31765 Task-number: QTBUG-31760 Change-Id: Iadfabccf7be755564e313a8f0c128f533b9bd024 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* | | QPlatformIntegration: add new style hint: SetFocusOnTouchReleaseRichard Moe Gustavsen2013-06-254-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On desktop platforms, widgets have traditionally received focus on mouse press. On touch platforms (iOS, Android) this is different, there you need to delay setting the focus until a touch release (probably to check if the press starts a flick or tap'n'hold etc). This patch will add a new style hint SetFocusOnRelease that can be set by the plugin to control this behavior in Qt. Change-Id: I2e4d714894e327822c855eb48a3b28e354726e95 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* | | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-06-203-2/+19
|\| | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm src/plugins/platforms/qnx/qqnxrasterbackingstore.cpp tools/configure/configureapp.cpp Change-Id: I3092bd3276af14304b7ab3ae1e1cc05d11cdede0
| * | If a QWidget is ignored for auto-quit, ignore its corresponding QWindow.Stephen Kelly2013-06-192-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | Unit test by Friedemann Kleint <Friedemann.Kleint@digia.com> Task-number: QTBUG-31569 Change-Id: I526d33d4f88a41f6ac349098476bc45af6c841b0 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
| * | Add note to remove unused private field.Stephen Kelly2013-06-191-1/+8
| | | | | | | | | | | | | | | Change-Id: I33c831de1eb6b687a9c033f83bc266bd33a3540e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
| * | Fix format in platform plugin loading error reporting.Friedemann Kleint2013-06-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qguiapplication.cpp:792:133: warning: format not a string literal and no format arguments [-Wformat-security]. Introduced by 0d7d53fd46e8ab512bed88d0dab114cfada227ce . Change-Id: I70268a8b597be33226efb9bb4d7d9f672f0d7440 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* | | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-06-123-10/+12
|\| | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/cocoa/qcocoamenubar.mm Change-Id: I4a699fc8a7f30b2af9de8e496c3d5f027b7495bb