summaryrefslogtreecommitdiffstats
path: root/src/plugins
Commit message (Collapse)AuthorAgeFilesLines
* Don't send ApplicationStateChanged, if platformIntegration is not set.BogDan Vatra2013-11-211-1/+2
| | | | | | | | Task-number: QTBUG-34868 Change-Id: Ia86877550884a3037b9ddedf5d8e227ec1ead2d6 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* Fix crash regression for ApplicationWindow on MacJens Bache-Wiig2013-11-211-0/+1
| | | | | | | | | | | | | | | This fixes a recent regression following the integration of change: 7cc1656fef21e6bdc044968a79f0a41155357c29 (Make sure menu bar has a parent window ...) As it now consistently crashes on mac in several of the Qt Quick Controls examples, it is critical that it gets into the release branch. Change-Id: If3db1025229a7f7fd4e7ecc703d5f655db73964d Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* BlackBerry: Fixed root window sizeBernd Weimer2013-11-202-10/+13
| | | | | | | | | | | On BlackBerry the first window shown is treated as root window and should be displayed full screen. The geometry has to be adjusted properly to achieve this. Task-number: QTBUG-34930 Change-Id: I6c011620116cc463e16dd352521b2b901a9f9f69 Reviewed-by: Fabian Bumberger <fbumberger@rim.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* Workaround source compatibility issue introduced by xcb 1.9.3Gatis Paeglis2013-11-201-3/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previous version of the struct: typedef struct { uint8_t response_type; /**< Type of the response */ uint8_t pad0; /**< Padding */ uint16_t sequence; /**< Sequence number */ uint32_t length; uint16_t event_type; uint16_t pad1; uint32_t pad[5]; /**< Padding */ uint32_t full_sequence; /**< full sequence */ } xcb_ge_event_t; New version of it: typedef struct xcb_ge_event_t { uint8_t response_type; /**< */ uint8_t extension; /**< */ uint16_t sequence; /**< */ uint32_t length; /**< */ uint16_t event_type; /**< */ uint8_t pad0[22]; /**< */ uint32_t full_sequence; /**< */ } xcb_ge_event_t; Changes are: - "pad0" became "extension" - "pad1" and "pad" became "pad0" More details in https://bugs.freedesktop.org/show_bug.cgi?id=71502 Task-number: QTBUG-34748 Change-Id: Ibd801c11510f75fa82d5c14346b95236142487ac Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Allow platform to decide default behavior for show() based on window flagsTor Arne Vestbø2013-11-202-0/+10
| | | | | | | | | | | | | | | | The ShowIsMaximized and ShowIsFullscreen style hints were not granular enough to build a default behavior from that would be correct for all platforms. The recent Android patch that excluded dialogs from being shown maximized (Ia249e93dbbea1) has now been moved into a platform override in the Android integration plugin, leaving other platforms to the default behavior of using the style-hints. We still special case popup-windows though, as that behavior has been there for a while. Task-number: QTBUG-34969 Change-Id: Id36346d71bfc46171383ffe334592ca0b94e456f Reviewed-by: BogDan Vatra <bogdan@kde.org> Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* iOS: Don't use auto resizing masks to deal with maximized/fullscreenTor Arne Vestbø2013-11-202-10/+20
| | | | | | | | | | | | It breaks down when the view-controller is fullscreen and we want to take statusbar height into account as well. Unfortunately we can't use constraints either, as it's iOS6+. The approach of managing the geometry manually is closer to what Android does as well. Change-Id: Ib521ba0f50b110c440ab68aacef5a524d5d41154 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* iOS: Report native orientation of QScreen in relation to sizeTor Arne Vestbø2013-11-201-1/+3
| | | | | | | | Instead of hard-coding it to assume the properties of the main/device screen. Change-Id: I94c978d4334cae5be9d1094a0c315031e54e8e1f Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* iOS: Prepare platform screen for reacting to dynamic updates to propertiesTor Arne Vestbø2013-11-203-45/+45
| | | | | Change-Id: Idb378416da2b559ed88eb5a764cacff149264f70 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* iOS: Allow non-top-level windows to be activatedTor Arne Vestbø2013-11-201-2/+4
| | | | | | | As tested and assumed by tst_QWindow::isActive(). Change-Id: I8d09263ce0acc9c3390a70b4089396257197a1be Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* iOS: Don't keep around reference to a single QIOSViewControllerTor Arne Vestbø2013-11-207-20/+20
| | | | | | | | We might have more of them in a multi-screen setup or when implementing support for modal windows using sub-viewcontrollers. Change-Id: Ibe98273a13af981fffe2704a2c05bfd9d3f3e9e0 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* iOS: Send expose events in the window's coordinate system, not the parent'sTor Arne Vestbø2013-11-201-1/+1
| | | | | | Change-Id: I4aa1a354ca14864bd9898ebd331871d7b32d3ae0 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Android: Remove usage of QObject::tr()Friedemann Kleint2013-11-191-38/+19
| | | | | | Change-Id: I948d9fc36aa52d2d247a84b5d9b2cf949b93387d Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com> Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* iOS: Don't enable kEAGLDrawablePropertyRetainedBackingTor Arne Vestbø2013-11-181-1/+1
| | | | | | | | | | | We report our swap-behavior as QSurfaceFormat::DoubleBuffer, which means there's no point in using retained backing. This was a left-over from when we reported single-buffered swaps, which didn't work to well as clients would wrongly assume swap was not needed at all. Change-Id: Id26df2f8b282892c720d48cfe85eb9e010f1500d Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Fix the window flags for Cocoa windowsAndy Shaw2013-11-161-7/+5
| | | | | | | | | | This ensures that the possible window flag combinations are respected where possible in Cocoa. Task-number: QTBUG-34645 Task-number: QTBUG-31616 Change-Id: I6be8ca666b7cbc397575e97cd95ea298f52a7113 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Fix compiler warning for cast from int to id.Erik Verbruggen2013-11-151-2/+2
| | | | | | | | | | | qcocoaapplication.mm:118:61: warning: cast to 'id' from smaller integer type 'int' [-Wint-to-pointer-cast] id a1 = ([args->arg1 isKindOfClass:[NSNumber class]]) ? (id)[args->arg1 intValue] : args->arg1; ^ qcocoaapplication.mm:119:61: warning: cast to 'id' from smaller integer type 'int' [-Wint-to-pointer-cast] id a2 = ([args->arg2 isKindOfClass:[NSNumber class]]) ? (id)[args->arg2 intValue] : args->arg2; Change-Id: Ibcf3d5d5698ff863f3c9bd65e0388ccca147f419 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* GTK theme should not claim to provide a native MessageDialog yetShawn Rutledge2013-11-151-2/+10
| | | | | | | | | It was providing all possible types, but now MessageDialog is a new native dialog type, and only on Android at the moment. Task-number: QTBUG-34784 Change-Id: I2fb288c8d5e176ca4dafbbc310de2f29bbcfc000 Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* Remove stray debug outputLars Knoll2013-11-151-1/+0
| | | | | | | | This was actually causing test failures in qtdeclarative and blocking the CI there. Change-Id: I4538342f16b6468ad60b283c19948863b20ad5d4 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* QNX: Fixed touch event positionsBernd Weimer2013-11-151-3/+10
| | | | | | | | | Touch positions reported by libscreen have to be adjusted relative to the window position to be properly interpreted by Qt. Task-number: QTBUG-34812 Change-Id: I68744dc9da95fb1d0d1704d12154fb24c148fe03 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Android: Support popup menusEskil Abrahamsen Blomfeldt2013-11-152-1/+10
| | | | | | | | This is used by QML comboboxes, menu buttons, etc. Task-number: QTBUG-31420 Change-Id: I6d3f32fd80ce91c4be34eae636d1b95a4e251a49 Reviewed-by: BogDan Vatra <bogdan@kde.org>
* Avoid using GLX pbuffers on fglrxLaszlo Agocs2013-11-141-3/+16
| | | | | | | Task-number: QTBUG-34427 Change-Id: Ief4fe2fe2ab099d4ec61b6bfb2272724dfb2a800 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Remove side effects of QGLXContext::queryDummyContext()Sean Harmer2013-11-141-0/+8
| | | | | | | Task-number: QTBUG-34782 Change-Id: I411c89238b3002a118b1750af0157ccff5c78712 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Update QSurfaceFormat when creating a GL context in the cocoa qpaSean Harmer2013-11-142-0/+140
| | | | | | Task-number: QTBUG-34471 Change-Id: I99f643280b8a4aaa8d63329232c0c3f4b2faed4b Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Android: work around input method cursor position bugPaul Olav Tvete2013-11-141-0/+20
| | | | | | | | | | | | | | Since the Qt input method queries only give us information on the position within the block, moving to the same position in a different block will be interpreted as not moving. The quick fix is to send a fake position before the real one in this case. Task-number: QTBUG-34845 Change-Id: I5d62bdffc283e41d0384c60a0b69c01811caa629 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com> Reviewed-by: BogDan Vatra <bogdan@kde.org>
* Android: Initialize mWindowStateBogDan Vatra2013-11-142-8/+3
| | | | | | | | | Use the same variable in QAndroidPlatformWindow. Task-number: QTBUG-34764 Change-Id: Idf33707e81cf7306663196f3c17735d8dc1dde5d Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Fix jerky animations in Qt Quick for iOS.Gunnar Sletta2013-11-141-0/+2
| | | | | | | | | | This will make Qt Quick use consistent timing which prepares animation frames for the time they go to screen, rather than the current time at the time of the animation tick, which can be quite jerky in many situations. Change-Id: I1bbd4394db0c757553ee406d416fccb3ef937db8 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Android: fix crash on exitPaul Olav Tvete2013-11-141-1/+1
| | | | | | | | Let's not try to dereference the null pointer. Task-number: QTBUG-34746 Change-Id: Iee79b711bd81614e36af4ab3612f9a87053a39f2 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* iOS: Enable clipping of subviews when QWindow has child windowsTor Arne Vestbø2013-11-141-0/+16
| | | | | | | | | | | | | QWindow::setParent() is documented to imply that the geometry of the window is in the parent's coordinate system and that the window is clipped to the parent. Instead of always enabling clipping of subviews for our UIView subclass we dynamically detect if we have QWindow children and enable/disable it on the fly. Change-Id: If83de94c55cbd19de401ab835e86bb7be5999d71 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* iOS: Remove background color for UIWindow and UIViewController's root viewTor Arne Vestbø2013-11-142-12/+0
| | | | | | | | They were handy while debugging the iOS platform plugin, but should not affect users who link against debug libraries, so let's just remove them. Change-Id: I61b157e81130e5d951c22892e00f71e593082b1d Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* iOS: Get rid of separate release pool for QIOSScreenTor Arne Vestbø2013-11-141-4/+0
| | | | | | | | | We don't use separate pools anwyhere else, and this was copied straight from the UIKit plugin. Unless there's a good reason for having it in this particular place we should keep things consistent. Change-Id: I9a3f83bcc5894a2cdfd9af7818b46d6c0f8448da Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* iOS: Tie QIOSContext FBOs to corresponding QPlatformWindow, not QWindowTor Arne Vestbø2013-11-144-8/+13
| | | | | | | | | | | | | | | | A QWindow may be created() and destroyed() multiple times in the lifetime of the window, each time resulting in a new platform window (QIOSWindow) being created. This QIOSWindow is backed by a new UIView each time, hence it needs a new FBO and renderbuffer-mapping, since the previous renderbuffer was mapped to the old UIView. This fixes a bug where a QWindow would not render after a destroy() unless it was resized (which triggered new FBO/renderbuffers). We need to inherit QObject so that we can watch the destroyed() signal. Change-Id: I93172dd6280b86b49755bf7abddf061d7e6b66f1 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* iOS: Handle key window as part of QWindow activationTor Arne Vestbø2013-11-142-1/+3
| | | | | | | | The default UIWindow may not be the only UIWindow around in a multi screen setup. Change-Id: Ia7243190321a1416e577634bf5e010dd67d482e6 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* iOS: Flesh out device-pixel-ratio handling in QIOSWindowTor Arne Vestbø2013-11-142-12/+11
| | | | | | | | | | We don't need to cache the device-pixel-ratio, as we can ask the UIView directly. We do need to set it though, as the default behavior of matching the screen scale does not apply for EAGL-backed views, but the ratio needs to match the current screen the view is on. Change-Id: I29e4a4fa4f4b767d86265ec899fb43a355b5c3a3 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* Refactor QQnxWindowFabian Bumberger2013-11-1113-485/+191
| | | | | | | | | | | | This patch does following things: * Remove the root window: First window which is created will serve as a root window * Allow creation of more than one application window (with every app window having an own window group) on one screen * Fixes a bug when reparanting an EGL window Change-Id: I1afd64a813bc084c0893b958aa191d4a25c32b9d Reviewed-by: Matt Hoosier <matt.hoosier@garmin.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* Android native message dialogBogDan Vatra2013-11-096-1/+326
| | | | | Change-Id: Ief8c3ce3b8683c6960f046245844c1835a327d51 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* iOS: Send expose event when a window changes the geometry.Maciej Kujalowicz2013-11-081-0/+1
| | | | | | | | | | | | | | | When the EAGLView view changes its layout, it must send the expose event along with the geometry change. It is important to notify the render loop of the scene graph that the windows's geometry has changed. The render loop is waiting for the WM_Expose event and updates the scene's window size accordingly. See QSGRenderThread::event for reference. Without this notification, the geometry of window is updated, but the scene is rendered incorrectly, for example when the orientation of screen changes. Change-Id: If102014313de455cb1f44d772b478d2feae6dacf Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Cocoa File Dialog: Remove sandbox-ufriendly file system watcherGabriel de Dietrich2013-11-081-44/+49
| | | | | | | | | | | | | | | | | QFileSystemWatcher causes sandboxing errors since its backend uses POSIX API in a relatively liberal way. Also, Cocoa already acts as a file system watcher, and calls -[QNSOpenSavePanelDelegate panel:shouldShowFilename:] on each file. From a logical point of view, caching the directory content can be replaced by testing the current file against the filter setting. We expect Cocoa to cache results, and by using NSFileManager things should remain relatively fast. Task-number: QTBUG-34107 Change-Id: Ia872b9b1244f7b390d173a498011379b9309b3c6 Reviewed-by: Cyril Oblikov <munknex@gmail.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* iOS: Cancel any active touches when destroying a QIOSWindowTor Arne Vestbø2013-11-081-1/+13
| | | | | | | | Keeps the internal state of QtGui sane when it comes to which buttons are active, etc. Change-Id: Ic63e74d2546469e085ec46b74f4cf159dd409b07 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* iOS: Detect/handle cancellation of subset of touch pointsTor Arne Vestbø2013-11-081-3/+9
| | | | | Change-Id: I0d345d07fe62a8c7844333bf1eed9be6d6fa432f Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* iOS: Rename QIOSWindow's backing view from EAGLView to QUIViewTor Arne Vestbø2013-11-082-7/+9
| | | | | | | Matches the cocoa QNSView and highlights the relation to UIView. Change-Id: Idcdb17bff994c1e0aef099400c21915a7041e44c Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* iOS: Rename m_requestedGeometry to m_normalGeometryTor Arne Vestbø2013-11-082-4/+4
| | | | | | | Matches the wording using in QWidget. Change-Id: Ifbb4e5ffa90b47a7c179cf9ec52cb46126d7bccc Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* Cocoa: fix a crash in QCocoaFileDialogHelperLiang Qi2013-11-081-1/+1
| | | | | | | | | Current directory can't be nil. Task-number: QTBUG-34561 Change-Id: I58c84da4928bd9081c916b6e5541bb86cf75ed47 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Windows: Do not set transient parent on popups.Friedemann Kleint2013-11-071-0/+2
| | | | | | | | | Analoguous to Window creation code. Task-number: QTBUG-34503 Change-Id: I3cf7d58999bff5b106ca9d2e2c6f550e35f9db9a Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Add a warning message when a WM_DESTROY not triggered by Qt is received.Friedemann Kleint2013-11-072-2/+9
| | | | | | | Task-number: QTBUG-34503 Change-Id: I7a1e06b34deaf8e595f4986114701480bdcf219c Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* QNX: Fixed "normalPosition" of touch eventsBernd Weimer2013-11-071-2/+4
| | | | | | | | | | | Pixel positions have to be set in relation to screen size in pixels, not the physical size to calculate the normal position in the range 0..1. Change-Id: I6880fb64b7c3049d657fd081b564b945399b5865 Reviewed-by: Frank Osterfeld <frank.osterfeld@kdab.com> Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
* Add missing Q_INIT_RESOURCETor Arne Vestbø2013-11-071-0/+6
| | | | | | | | | | | The library needs to do Q_INIT_RESOURCE for all resources it uses internally, otherwise static linking will fail, and the user has no idea how to rectify it as the name of the missing resource is not known. The Q_INIT_RESOURCE needs to happen outside of any namespace, hence the use of static initResources() functions. Change-Id: I8f7d36b440b05809d97dd489cf8789f345633cec Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* iOS: set active window upon calls to requestActiveWindowRichard Moe Gustavsen2013-11-061-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | We did not do this from before. Instead we would activate the window when it's view became first responder. And this would happen when the input panel was told to open. That behavior is a fragile, since other layers higher up (qml) would not open the input panel unless the window was active, which also makes sense. A classic chicken and egg problem. So to play more along with how Qt is expected to work, we change behavior to instead activate the window directly when requested to do so (which also includes when the user touches the window directly). This will also work better for "keyboard" events like Key_VolumeUp, once implemented. The down side is that Qt will give focus to widgets/items (and as such, open the keyboard) whenever you touch the window. But that is easier to fix, and will be dealt with in later patches. Change-Id: I9bbeb0205e7ea3c5079100c07e40ddb1c60b476b Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* EglFS: make sure resize events are deliveredPaul Olav Tvete2013-11-061-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Android: Fix menu on API-11+BogDan Vatra2013-11-063-12/+18
| | | | | | | | | | | On API-11+ if there is no hardware menu button show the action bar. Fix menu when using the opengl android plugin. Task-number: QTBUG-32002 Change-Id: I45bd49107621e4cab85eb6411897229e20bb8281 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com> Reviewed-by: BogDan Vatra <bogdan@kde.org>
* iOS: Remove unused QIOSWindow methods for getting effective width/heightTor Arne Vestbø2013-11-062-12/+0
| | | | | Change-Id: Ifdfd5881822bf56f2c8ab0742a0e257e2bd61533 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Remove two unused functions from QAccessibleTabBarFrederik Gladhorn2013-11-062-38/+0
| | | | | Change-Id: Ib3296a11b1bb9656f2b0c14106ea09f529311ccf Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>