summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ApplicationStates: add more states to Qt::ApplicationStateRichard Moe Gustavsen2013-03-042-4/+21
| | | | | | | | | | | | On mobile platforms, Qt::ApplicationActive and Qt::ApplicationInactive are not sufficient to describe the different states an application can be in. This patch introduces Qt::ApplicationHidden and Qt::ApplicationSuspended that should fill in the gaps, at least on Android and iOS. Change-Id: I3f5a584cf6f4832e7c81dea095dcf711a8866c38 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Fix potential issue in QTBF itemization codeKonstantin Ritt2013-03-041-1/+1
| | | | | | | Since 5.0, script is QChar::Script which isn't of 1:1 mapping to HB_Script Change-Id: I2d88f929d7d3c3c994076a4e92ea22370962c41c Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix selection of fonts that require OpenType featuresKonstantin Ritt2013-03-045-6/+9
| | | | | | | | HB_Face's supported_scripts[] expects HB_Script, so QChar::Script should be remapped via script_to_hbscript(). Change-Id: Ib068c35ab76567fe9a61da7d8ab01133a6f58bc0 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Remove excess brace added by accidentThiago Macieira2013-03-041-1/+0
| | | | | | | | | | | | Added in 53dc49ffc8c2e9e84d80b3e0bbef948e99172f9a. io.pro:44: Excess closing brace. Change-Id: Ia3810a5a2668d96ab4604831e8ca5b49c7562956 Reviewed-by: Laszlo Papp <lpapp@kde.org> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
* Add QProxyStyle(QString key) constructor for convenienceJ-P Nurmi2013-03-043-7/+30
| | | | | | | | | | | | | | | The QStyle implementations are becoming private, so the following slightly verbose pattern seems to be now repeated a lot: new QProxyStyle(QStyleFactory::create("windows")) This change adds an alternative, more convenient constructor for this particular use case: new QProxyStyle("windows") Change-Id: I97ded597a0fd3225a6354ebea0abb367237430af Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* Fusion style: Remove unnecessary widget castGabriel de Dietrich2013-03-041-6/+4
| | | | | Change-Id: I8d7fd79b396525ee00fb0ba95faf0c95b5d2899a Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* Mark all qtbase headers that aren't cleanThiago Macieira2013-03-0327-0/+105
| | | | | | | | | | | | | | | | QtCore has a few headers that, though public, aren't meant to be included directly. Those are the atomic headers, the three _impl.h headers and qt_windows.h. QtGui includes two OpenGL headers that don't compile on their own. Other libraries should not have headers like that (but they do, something we need to fix eventually). Change-Id: I55e4eb057748f47df927ee618f9409acbc189cc1 Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QGtk2Theme: use GtkSettings to fetch the icon theme nameJ-P Nurmi2013-03-022-0/+25
| | | | | | Change-Id: Ib486d65276512a94299650adfbf3d87108ae5845 Reviewed-by: Dmitry Shachnev <mitya57@gmail.com> Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* Pick up QMAKE_MACOSX_DEPLOYMENT_TARGET from mkspec when building qmakeTor Arne Vestbø2013-03-021-3/+3
| | | | | | | | | | | | | | | | | | Instead of setting it explicitly to 10.6. Before 736e4258a this was not a problem, as we were hard-coding the version flags as part of the C/CXX_FLAGS for each makespec, so getQMakeConf would pick them up automatically. When 736e4258a introduced sdk.prf as the place to resolve these flags in a single place, it broke the qmake build for macx-clang-libc++, as we were then falling back to the 10.6 target hard-coded in configure. We fix this by duplicating some of the logic from sdk.prf, by pulling out the QMAKE_MACOSX_DEPLOYMENT_TARGET variable and adding to the C/CXX_FLAGS. Change-Id: I04afc7525031727c2504588c70dd3f7892cc8e42 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Make host_build re-use the sdk.prf logicTor Arne Vestbø2013-03-021-28/+24
| | | | | | | | | | | | Instead of hard-coding the SDK and deployment target. A host build will already use the host-makespec, so now that we always build against an SDK, these mkspecs will have the SDK and deployment target set. Change-Id: I2b0343ae75f7de12081bab8346307b96b3883f62 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* OpenGL: Add support for the Compute shader stageSean Harmer2013-03-023-2/+17
| | | | | Change-Id: Ibb1b79358758c2adf818af8c6fcd5c379efad8c3 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* moc: Support the '$' character as an identifierOlivier Goffart2013-03-027-8/+81
| | | | | | | | | | Both gcc and clang allow the use of '$' in their identifiers as an extension. moc should not throw a parse error if there is one in the file. Instead, consider '$' as valid in identifiers. Task-number: QTBUG-22720 Change-Id: I8be3a52429c0db5b7e8308b8f4fe475d3d3994bf Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Fix compilation of moc generated file with MEMBER propertiesOlivier Goffart2013-03-022-2/+20
| | | | | | | | | | | | | | | If the object has only MEMBER properties, without any other property specifying READ, the generated will fail to compile with this error: tst_moc.moc: In member function ‘virtual int ClassWithOneMember::qt_metacall(QMetaObject::Call, int, void**)’: tst_moc.moc:3810:42: error: ‘_v’ was not declared in this scope That's because the '_v' is only declared if 'needTempVarForGet' is set, and it should be set when we have a MEMBER property. Change-Id: I829fad3faf69654b5a3fd540857df19f4a9449d4 Reviewed-by: Gerhard Gappmeier <gerhard.gappmeier@ascolab.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Add __ARM_ARCH_5TE__ to Q_PROCESSOR_ARM_V5BogDan Vatra2013-03-021-0/+1
| | | | | | | | Android uses this define for armv5. Change-Id: Iee32f3e8691fa731ab0c2185a01620e18741f9a4 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: BogDan Vatra <bogdan@kde.org>
* introduce QMAKE_LINK_O_FLAGOswald Buddenhagen2013-03-024-7/+13
| | | | | | | this makes it possible to properly parametrize alternative linkers. Change-Id: Ia9cf574544a0259975470366d278b6c5dc747906 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* QUrl: update top level domains that may contain non-ASCII charactersPeter Hartmann2013-03-023-8/+56
| | | | | | | | | Most notably, .com and .net now may contain non-ASCII characters. list has been generated from http://www.mozilla.org/projects/security/tld-idn-policy-list.html Change-Id: Idc3191dc782bc4173ccb19b4bc81f4f061ca7999 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QOpenGLShaderProgram: insert precision defines based on runtime detectionGiuseppe D'Angelo2013-03-011-10/+14
| | | | | | | | | | | Given that we can create OpenGL/ES contexts even under a Desktop OpenGL implementation, we must check the type of the surface we're renderering on at runtime. Change-Id: I55004ce918889b3fc094702976500fcfc675bd1a Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Clean up manual test to QGraphicsView (rubberband)Thorbjørn Martsum2013-03-011-8/+7
| | | | | | | | | | This cleans a bit up in the manual test by a) Removing a weird reference alloration (and replace . with ->) b) rename for variable from v (which was also the view name) to n. c) remove a big item in the scene rect that is irrelevant to the test Change-Id: I49cb319bcc2f4bceef0c96ca86b571b0240a9a92 Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
* Add .device.vars to .gitignore.Frederik Gladhorn2013-03-011-0/+1
| | | | | Change-Id: Ia119a33faa6e0e84cb8a002e2ee9f9a745d31f1c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* OpenGL: Add support for OpenGL 4 tessellation shader stagesSean Harmer2013-03-014-7/+252
| | | | | | | | | | This adds support for OpenGL 4 tessellation shader stages to QOpenGLShaderProgram and QOpenGLShader. Change-Id: Iefb2f411e00767990d54670c5d39413be694dd66 Reviewed-by: James Turner <james.turner@kdab.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Add QDBusReply::error() const.Jędrzej Nowacki2013-03-012-0/+27
| | | | | | | | The accessor was missing. Task-number: QTBUG-29917 Change-Id: Ie6759a1120bc9ed6550c271df35f276e15b4eb79 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add notify signals to some QCoreApplication propertiesAlan Alpert2013-03-012-4/+51
| | | | | | | | | | The various string properties are good candidates for exposure to QML. While QCoreApplication itself is unlikely to be exposed to QML directly, a wrapper exposure also needs these signals in order to react to changes from QCoreApplication. Change-Id: I266da6010f1c9300de4bb5e7775a0bdacab7f26c Reviewed-by: Richard J. Moore <rich@kde.org>
* Enable QGlobalStatic autotest.Jędrzej Nowacki2013-02-281-1/+3
| | | | | Change-Id: Icda82dacbc749247153df1edb75629b959030ee9 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix Q_GLOBAL_STATIC support for exceptionsThiago Macieira2013-02-283-5/+30
| | | | | | | | | | | | | | | | | The problem was that the HolderBase destructor was getting called after the contained type's constructor threw an exception, as is required by RAII semantics (the base was fully initialized, so it had to be destroyed). That was required because we want to return a non-null pointer from operator() during destruction and return null after destruction, to keep compatibility with Qt 4. The solution is to only set the guard to Destroyed only if it is already at value Initialized. This way, if the HolderBase destructor is run as part of the stack unwinding, it knows that the construction did not complete. Change-Id: I9849b43ed7112bf9e70861b48a56a924c286617e Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Add the infrastructure to compile Qt with -WerrorThiago Macieira2013-02-283-2/+69
| | | | | | | | | | | | | This is enabled only for -developer-builds and only for certain compiler-version combinations that are in a whitelist. It also requires each library, plugin or tool to declare whether it is supposedly clean of warnings. When most targets are clean, we can consider inverting. Change-Id: I17b5c4e45aee5078f9788e846a45d619c144095a Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Merge "Merge branch 'ios' into dev" into refs/staging/devTor Arne Vestbø2013-02-2895-1684/+4170
|\
| * Merge branch 'ios' into devTor Arne Vestbø2013-02-2795-1684/+4170
| |\ | | | | | | | | | Change-Id: I5d18d502908920a44bbc506aba77dd805d94d843
| | * QFusionStyle: Fix crash on iOSRichard Moe Gustavsen2013-02-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | First of all, the ifdef section was meant for osx, and not ios. Second, a platform theme does not necessarily need to override the palette function, which will return 0 by default. Change-Id: I5a28f4ee1020c9253d0803c9d962c6a058e5358c Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> Reviewed-by: J-P Nurmi <jpnurmi@digia.com> Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
| | * iOS: Remove debug output noiseRichard Moe Gustavsen2013-02-271-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | This debug information is not needed anymore, and only causes noise when trying to debug other stuff. Change-Id: I076826e251b84a3883e63aa7669f6e1bb55a0d1f Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
| | * iOS: Add QIOSIntegration::hasCapability functionRichard Moe Gustavsen2013-02-272-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | Add the missing override, and report that we support OpenGL (and multiple windows). Change-Id: If95138cab9099b547d12d3dfed008bd63b6d2acf Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
| | * iOS: Implement socket notifiers.Morten Johan Sørvig2013-02-278-194/+374
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create the QCFSocketNotifier class in platform support which contains shared socket notifier support for the Cocoa and iOS plugins. Remove the old code from the Cocoa plugin. The Cocoa code had one QCocoaEventDispatcher-specific call: maybeCancelWaitForMoreEvents. Create a forwarding function that is passed to QCFSocketNotifier. Change-Id: Ibf9bd4745ba4f577a55f13d0cc00f5ae04447405 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
| | * iOS: Add potentially undefined version defines to qsystemdetection.hTor Arne Vestbø2013-02-271-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | Unless we're building on the 6.1 SDK some of the version defines will not be defined in Availability.h, so we define them ourselves so that Qt can still use them. Change-Id: Ibb45e9f8f4e888fc57e35286bf15d2fee2c1a217 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
| | * iOS: Enable autorotate on startup.Morten Johan Sørvig2013-02-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The qobject_cast to QGuiAppplication will always fail at startup since QGuiApplication is not ready yet. Return YES in that case. Allowed orientations can then be controlled by setting "Supported Interface Orientations" in Xcode or the Info.plist file. Change-Id: Ifd86bbcedabc716e63563bbb7cb0c1c6833fd6c7 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
| | * iOS: Don't crash on landscape mode startupMorten Johan Sørvig2013-02-274-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | fromPortraitToPrimary is called from the QIOSScreen constructor. This is probably to early to call QGuiApplication functions. Change-Id: I882304fd641df13dc530491990245ba9ad495377 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
| | * iOS: Set touch point position in screen coords.Morten Johan Sørvig2013-02-273-4/+19
| | | | | | | | | | | | | | | | | | | | | | | | Previously the position was set in window coordinates, which would break for non-fullscreen windows. Change-Id: Iefa2f590c6d62b09fc3e7fe60a882c1acd33e029 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
| | * iOS: Skip flushing child windows in QIOSBackingStoreRichard Moe Gustavsen2013-02-271-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We skip flushing raster-based child windows, to avoid the extra cost of copying from the parent FBO into the child FBO. Since the child is already drawn inside the parent FBO, it will become visible when flushing the parent. The only case we end up not supporting is if the child window overlaps a sibling window that's draws using a separate QOpenGLContext. Change-Id: Ib10414f4494747e5fe67f84b06575fe16ffddf96 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
| | * iOS: QIOSWindow::setParent()Richard Moe Gustavsen2013-02-272-3/+12
| | | | | | | | | | | | | | | Change-Id: I1a413d898d10b55a4d0653eae719f5bd909a01ec Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
| | * iOS: implement QIOSWindow::winId()Richard Moe Gustavsen2013-02-273-3/+4
| | | | | | | | | | | | | | | Change-Id: I3dd7accae43bcf7d4d6dfd8b272ab65d67bd935c Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
| | * iOS: Bump max Xcode version to 4.6Tor Arne Vestbø2013-02-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to figure out where to draw the line when it comes to warning about unknown compiler (Clang), Xcode, or SDK versions, but for now building with Xcode 4.6 should not be an issue. We'll have to revisit this and test with the full set of compiler/Xcode/SDKs we support before the final release. Change-Id: Iac3ec3a25c0f7618b2c3714657d147f17f834d97 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
| | * iOS: Silence warning about 'long long' being a C++11 extensionTor Arne Vestbø2013-02-271-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | At some point we want to build with C++11 support, but for now we silence the warning. Change-Id: I40deb0925d459eaf06e324dddc0a2e9893c57615 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
| | * iOS: Enable retina resolution for stylesMorten Johan Sørvig2013-02-272-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The QStyle code uses the global qApp->devicePixelRatio(), which queries the screen, not the window. Implement QIOSScreen::devicePixelRatio(). Change-Id: I0091e5793f8d07ab7a46b6de443edd9457dcff85 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
| | * iOS: avoid activating modally blocked windowsRichard Moe Gustavsen2013-02-272-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | Make sure that the user cannot activate a window that is modally shaddowed. Change-Id: Ib92be319d017460bbc1ef63ad7556cb4758dfa6c Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
| | * iOS: add QIOSWindow::windowLevel() to simplify window stackingRichard Moe Gustavsen2013-02-272-11/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When adding modal windows into the mix, raiseOrLower became even more messy to write. So do it the usual way instead, and add a windowLevel variable to each QIOSWindow that we can sort on. The code becomes more readable, and we can handle more window types correctly. Change-Id: I348352473a7d8cf9909c17c1b074b2fe3fab9819 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
| | * iOS: Implement touch events.Morten Johan Sørvig2013-02-274-11/+118
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Track touch events during the standard [Began -> Moved -> Ended] event sequence based on the UITouch pointer which stays constant. Enable multiTouch on Qt's UIView. Mouse events should now be automatically created from (unhanded) touch events by QGuiApplication. Reviewed by: Ada Sørvig (fingerpaint app approved) Change-Id: I2aeb48c962c697d8b8337f8ceab062070c2a4240 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
| | * iOS: let first responder follow the view of the focus windowRichard Moe Gustavsen2013-02-273-18/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This to ensure that the keyboard does not close prematurly. This can happen if the user opens up the keyboard while typing inside one window, then switch window, continue typing while the other window gets deleted. Change-Id: I5cfb1673ccbe4d5aaa14167b7aa53451031089a1 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
| | * iOS: implement QPlatformWindow::requestActivateWindow()Richard Moe Gustavsen2013-02-272-7/+14
| | | | | | | | | | | | | | | | | | | | | | | | Dispite the name, 'requestActivateWindow' means raise and transfer focus to the window. Change-Id: Ib97321ed7ec8da90e924ff8155a95896c12160c9 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
| | * iOS: raise windows that becomes visibleRichard Moe Gustavsen2013-02-271-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | When a QWindow becomes visible, it should move to front and be active. Change-Id: Icab12c6031c0cc8d791e4f8cc49b9c2d5c73100d Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
| | * iOS: implement QPlatformWindow::raise() and lower()Richard Moe Gustavsen2013-02-272-1/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Probably not going to be the most used functions on iOS, but implemented to support old widget apps out of the box. The implementation stacks both staysOnTop and popup windows on the same level for simplicity, since iOS does not have a concept of z-ordering UIViews (UILayer has z-order, but layers belong in a different hierarchy, and cannot be used in this respect). Change-Id: Idd68e5ceea7d4eaeb3066486c47400930cebb1b0 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
| | * iOS: Use 72 DPI for font size conversionTor Arne Vestbø2013-02-272-0/+6
| | | | | | | | | | | | | | | | | | | | | This matches how UIKit behaves Change-Id: I13fd2578cac84e57b6be29c42ddee414b7ee9cb9 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
| | * iOS: transfer focus to the window touchedRichard Moe Gustavsen2013-02-271-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | Since our QWindows are UIViews rather than UIWindows, we need to implement window activation manually. This patch will ensure that the window touched by the user also gets keyboard focus. Change-Id: I9390c5c8e50a4b066cd1320a2a044e02f2a9f75d Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>