summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2011-08-08 23:13:48 (GMT)
committerQt Continuous Integration System <qt-info@nokia.com>2011-08-08 23:13:48 (GMT)
commitb241722db7104b918715c3e1d1bcad67ce4ef3f4 (patch)
tree1fa411dd8f4281bfa4ca9106b3f48ef4e777e002
parenta583a8132e57bfe2cb22390aebbae8e9be353ce9 (diff)
parent222fa517b877e38c918dc8011b13f9269629c427 (diff)
downloadQt-b241722db7104b918715c3e1d1bcad67ce4ef3f4.zip
Qt-b241722db7104b918715c3e1d1bcad67ce4ef3f4.tar.gz
Qt-b241722db7104b918715c3e1d1bcad67ce4ef3f4.tar.bz2
Merge branch 'master' of git://scm.dev.nokia.troll.no/qt/qt-water-team
* 'master' of git://scm.dev.nokia.troll.no/qt/qt-water-team: uikit: update SDK setting for the simulator Add option to compare to different platform in lancelot autotest uikit: Use release Qt for simulator, update README Automatic closing of input panel on uikit when QML item looses focus.
-rw-r--r--mkspecs/qpa/macx-iphonesimulator-g++/qmake.conf2
-rw-r--r--src/plugins/platforms/uikit/README26
-rwxr-xr-xsrc/plugins/platforms/uikit/examples/flickrdemo/flickrdemo.xcodeproj/project.pbxproj80
-rwxr-xr-xsrc/plugins/platforms/uikit/examples/qmltest/qmltest.xcodeproj/project.pbxproj80
-rw-r--r--src/plugins/platforms/uikit/platform.pro2
-rw-r--r--src/plugins/platforms/uikit/quikiteventloop.mm57
-rw-r--r--src/plugins/platforms/uikit/quikitsoftwareinputhandler.h12
-rw-r--r--tests/arthur/baselineserver/src/baselineserver.cpp73
-rw-r--r--tests/arthur/baselineserver/src/baselineserver.h7
-rw-r--r--tests/arthur/baselineserver/src/report.cpp49
-rw-r--r--tests/arthur/baselineserver/src/report.h1
-rw-r--r--tests/arthur/common/baselineprotocol.cpp46
-rw-r--r--tests/arthur/common/baselineprotocol.h13
-rw-r--r--tests/arthur/common/paintcommands.cpp4
-rw-r--r--tests/auto/lancelot/tst_lancelot.cpp21
15 files changed, 309 insertions, 164 deletions
diff --git a/mkspecs/qpa/macx-iphonesimulator-g++/qmake.conf b/mkspecs/qpa/macx-iphonesimulator-g++/qmake.conf
index de4c8b4..df8d4e8 100644
--- a/mkspecs/qpa/macx-iphonesimulator-g++/qmake.conf
+++ b/mkspecs/qpa/macx-iphonesimulator-g++/qmake.conf
@@ -23,7 +23,7 @@ DEFINES += QT_NO_AUDIO_BACKEND
# You may need to change this to point to the iOS SDK you want to use.
QMAKE_IOS_DEV_PATH = /Developer/Platforms/iPhoneSimulator.platform/Developer
-QMAKE_IOS_SDK = $$QMAKE_IOS_DEV_PATH/SDKs/iPhoneSimulator4.2.sdk
+QMAKE_IOS_SDK = $$QMAKE_IOS_DEV_PATH/SDKs/iPhoneSimulator4.3.sdk
# Set up deployment targets
QMAKE_IPHONEOS_DEPLOYMENT_TARGET = 4.0
diff --git a/src/plugins/platforms/uikit/README b/src/plugins/platforms/uikit/README
index 8b43201..81ef0bd 100644
--- a/src/plugins/platforms/uikit/README
+++ b/src/plugins/platforms/uikit/README
@@ -1,6 +1,25 @@
This is a proof-of-concept implemenation of a UIKit based
QPA plugin. Note that this is completely unsupported, and it is probable
that many parts of QtCore and other Qt Modules don't work properly.
+There have no tests been run whatsoever.
+
+0) What the platform plugin provides
+
+* Open GL ES 1/2 based backend
+* Single touch
+* Text/font drawing using font shipped with application
+* Text input (Opening/closing software input panel.
+ Application has to perform necessary layout changes itself.)
+* Initial showing/hiding of status bar (as defined in the Info.plist)
+* Interface orientations as defined in the Info.plist of the application
+* Sound via phonon
+
+Only Declarative/QML/Qt Quick based UI has been verified working quite well, no
+idea about the state of widgets.
+
+Building/Deploying the application has to be done in Xcode. You need to generate
+necessary moc_ files in advance and add these to the Xcode project. More details
+on the Xcode setup see below.
1) Build Qt
@@ -11,18 +30,18 @@ configuration *and* the simulator specific target are active. To build for devic
make sure that both the Device configuration *and* the device specific target are
active.
-The setup is configured to use the iOS 4.2 SDKs, you might want to edit the mkspecs
+The setup is configured to use the iOS 4.3 SDKs, you might want to edit the mkspecs
to fit your need.
After configuring and building Qt you need to also build src/plugins/platforms/uikit.
Simulator:
----------
-configure -qpa -xplatform qpa/macx-iphonesimulator-g++ -arch i386 -developer-build -opengl es2 -no-accessibility -no-qt3support -no-multimedia -no-phonon-backend -no-svg -no-webkit -no-scripttools -no-openssl -no-sql-mysql -no-sql-odbc -no-cups -no-iconv -no-dbus -static -nomake tools -nomake demos -nomake docs -nomake examples -nomake translations
+configure -qpa -xplatform qpa/macx-iphonesimulator-g++ -arch i386 -developer-build -release -opengl es2 -no-accessibility -no-qt3support -no-multimedia -no-phonon-backend -no-svg -no-webkit -no-scripttools -no-openssl -no-sql-mysql -no-sql-odbc -no-cups -no-iconv -no-dbus -static -nomake tools -nomake demos -nomake docs -nomake examples -nomake translations
Device:
-------
-configure -qpa -xplatform qpa/macx-iphonedevice-g++ -arch armv7 -developer-build -release -opengl es2 -no-accessibility -no-qt3support -no-multimedia -no-phonon-backend -no-svg -no-webkit -no-scripttools -no-openssl -no-sql-mysql -no-sql-odbc -no-cups -no-iconv -no-dbus -static -nomake tools -nomake demos -nomake docs -nomake examples -nomake translations
+configure -qpa -xplatform qpa/macx-iphonedevice-g++ -arch armv7 -no-neon -developer-build -release -opengl es2 -no-accessibility -no-qt3support -no-multimedia -no-phonon-backend -no-svg -no-webkit -no-scripttools -no-openssl -no-sql-mysql -no-sql-odbc -no-cups -no-iconv -no-dbus -static -nomake tools -nomake demos -nomake docs -nomake examples -nomake translations
2) XCode setup:
- there are examples in the examples subdirectory of the platform plugin
@@ -43,6 +62,7 @@ configure -qpa -xplatform qpa/macx-iphonedevice-g++ -arch armv7 -developer-build
- to use sound in your application, Q_IMPORT_PLUGIN(phonon_av),
#include <phonon/private/factory_p.h>,
and call Phonon::Factory::setBackend(qt_plugin_instance_phonon_av());
+ Link to libphonon and to plugins/phonon/phonon_av
3) Done: Build and Run.
diff --git a/src/plugins/platforms/uikit/examples/flickrdemo/flickrdemo.xcodeproj/project.pbxproj b/src/plugins/platforms/uikit/examples/flickrdemo/flickrdemo.xcodeproj/project.pbxproj
index 59aa398..b564ef9 100755
--- a/src/plugins/platforms/uikit/examples/flickrdemo/flickrdemo.xcodeproj/project.pbxproj
+++ b/src/plugins/platforms/uikit/examples/flickrdemo/flickrdemo.xcodeproj/project.pbxproj
@@ -10,13 +10,22 @@
1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; };
1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; };
288765A50DF7441C002DB57D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765A40DF7441C002DB57D /* CoreGraphics.framework */; };
+ D307DEAE13EBCF5500399BD4 /* libQtCore.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D307DEA513EBCF5500399BD4 /* libQtCore.a */; };
+ D307DEAF13EBCF5500399BD4 /* libQtDeclarative.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D307DEA613EBCF5500399BD4 /* libQtDeclarative.a */; };
+ D307DEB013EBCF5500399BD4 /* libQtGui.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D307DEA713EBCF5500399BD4 /* libQtGui.a */; };
+ D307DEB113EBCF5500399BD4 /* libQtNetwork.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D307DEA813EBCF5500399BD4 /* libQtNetwork.a */; };
+ D307DEB213EBCF5500399BD4 /* libQtOpenGL.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D307DEA913EBCF5500399BD4 /* libQtOpenGL.a */; };
+ D307DEB313EBCF5500399BD4 /* libQtScript.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D307DEAA13EBCF5500399BD4 /* libQtScript.a */; };
+ D307DEB413EBCF5500399BD4 /* libQtSql.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D307DEAB13EBCF5500399BD4 /* libQtSql.a */; };
+ D307DEB513EBCF5500399BD4 /* libQtXml.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D307DEAC13EBCF5500399BD4 /* libQtXml.a */; };
+ D307DEB613EBCF5500399BD4 /* libQtXmlPatterns.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D307DEAD13EBCF5500399BD4 /* libQtXmlPatterns.a */; };
+ D307DEB813EBCF6400399BD4 /* libquikit.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D307DEB713EBCF6400399BD4 /* libquikit.a */; };
D333CCF213B88A4D0070E08E /* moc_qmlapplicationviewer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D333CCEF13B88A4D0070E08E /* moc_qmlapplicationviewer.cpp */; };
D333CCF313B88A4D0070E08E /* moc_qmlapplicationviewer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D333CCEF13B88A4D0070E08E /* moc_qmlapplicationviewer.cpp */; };
D333CCF413B88A4D0070E08E /* qmlapplicationviewer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D333CCF013B88A4D0070E08E /* qmlapplicationviewer.cpp */; };
D333CCF513B88A4D0070E08E /* qmlapplicationviewer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D333CCF013B88A4D0070E08E /* qmlapplicationviewer.cpp */; };
D3A51610134B03DE00E30E2F /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D3A5160F134B03DE00E30E2F /* OpenGLES.framework */; };
D3A51612134B03E900E30E2F /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D3A51611134B03E900E30E2F /* QuartzCore.framework */; };
- D3A51614134B040600E30E2F /* libQtOpenGL_debug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D3A51613134B040600E30E2F /* libQtOpenGL_debug.a */; };
D3A51615134B041500E30E2F /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D3A51611134B03E900E30E2F /* QuartzCore.framework */; };
D3A51616134B041500E30E2F /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D3A5160F134B03DE00E30E2F /* OpenGLES.framework */; };
D3A51618134B042A00E30E2F /* libQtOpenGL.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D3A51617134B042A00E30E2F /* libQtOpenGL.a */; };
@@ -27,19 +36,10 @@
D3CAA7F213264F52008BB877 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765A40DF7441C002DB57D /* CoreGraphics.framework */; };
D3CAA7FA13264F8A008BB877 /* libz.1.2.3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D3CAA7F913264F8A008BB877 /* libz.1.2.3.dylib */; };
D3CAA81113264FF0008BB877 /* libz.1.2.3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D3CAA7F913264F8A008BB877 /* libz.1.2.3.dylib */; };
- D3CAA81B13265056008BB877 /* libQtCore_debug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D3CAA81613265056008BB877 /* libQtCore_debug.a */; };
- D3CAA81C13265056008BB877 /* libQtDeclarative_debug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D3CAA81713265056008BB877 /* libQtDeclarative_debug.a */; };
- D3CAA81D13265056008BB877 /* libQtGui_debug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D3CAA81813265056008BB877 /* libQtGui_debug.a */; };
- D3CAA81E13265056008BB877 /* libQtScript_debug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D3CAA81913265056008BB877 /* libQtScript_debug.a */; };
- D3CAA81F13265056008BB877 /* libQtSql_debug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D3CAA81A13265056008BB877 /* libQtSql_debug.a */; };
- D3CAA8211326507D008BB877 /* libquikit_debug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D3CAA8201326507D008BB877 /* libquikit_debug.a */; };
- D3CAA82813265220008BB877 /* libQtNetwork_debug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D3CAA82713265220008BB877 /* libQtNetwork_debug.a */; };
D3CAA88A132652E5008BB877 /* fonts in Resources */ = {isa = PBXBuildFile; fileRef = D3CAA836132652E5008BB877 /* fonts */; };
D3CAA88B132652E5008BB877 /* fonts in Resources */ = {isa = PBXBuildFile; fileRef = D3CAA836132652E5008BB877 /* fonts */; };
D3D815F31329339300CDE422 /* flickr in Resources */ = {isa = PBXBuildFile; fileRef = D3D815D31329339300CDE422 /* flickr */; };
D3D815F4132933AB00CDE422 /* flickr in Resources */ = {isa = PBXBuildFile; fileRef = D3D815D31329339300CDE422 /* flickr */; };
- D3D8160A13293C9B00CDE422 /* libQtXml_debug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D3D8160813293C9B00CDE422 /* libQtXml_debug.a */; };
- D3D8160B13293C9B00CDE422 /* libQtXmlPatterns_debug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D3D8160913293C9B00CDE422 /* libQtXmlPatterns_debug.a */; };
D3D81758132A184300CDE422 /* libQtCore.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D3D81752132A184300CDE422 /* libQtCore.a */; };
D3D81759132A184300CDE422 /* libQtDeclarative.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D3D81753132A184300CDE422 /* libQtDeclarative.a */; };
D3D8175A132A184300CDE422 /* libQtGui.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D3D81754132A184300CDE422 /* libQtGui.a */; };
@@ -58,27 +58,27 @@
288765A40DF7441C002DB57D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
32CA4F630368D1EE00C91783 /* flickrdemo_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = flickrdemo_Prefix.pch; sourceTree = "<group>"; };
8D1107310486CEB800E47090 /* flickrdemo-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "flickrdemo-Info.plist"; plistStructureDefinitionIdentifier = "com.apple.xcode.plist.structure-definition.iphone.info-plist"; sourceTree = "<group>"; };
+ D307DEA513EBCF5500399BD4 /* libQtCore.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtCore.a; path = "../../../../../../../qt-lighthouse-ios-simulator/lib/libQtCore.a"; sourceTree = "<group>"; };
+ D307DEA613EBCF5500399BD4 /* libQtDeclarative.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtDeclarative.a; path = "../../../../../../../qt-lighthouse-ios-simulator/lib/libQtDeclarative.a"; sourceTree = "<group>"; };
+ D307DEA713EBCF5500399BD4 /* libQtGui.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtGui.a; path = "../../../../../../../qt-lighthouse-ios-simulator/lib/libQtGui.a"; sourceTree = "<group>"; };
+ D307DEA813EBCF5500399BD4 /* libQtNetwork.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtNetwork.a; path = "../../../../../../../qt-lighthouse-ios-simulator/lib/libQtNetwork.a"; sourceTree = "<group>"; };
+ D307DEA913EBCF5500399BD4 /* libQtOpenGL.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtOpenGL.a; path = "../../../../../../../qt-lighthouse-ios-simulator/lib/libQtOpenGL.a"; sourceTree = "<group>"; };
+ D307DEAA13EBCF5500399BD4 /* libQtScript.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtScript.a; path = "../../../../../../../qt-lighthouse-ios-simulator/lib/libQtScript.a"; sourceTree = "<group>"; };
+ D307DEAB13EBCF5500399BD4 /* libQtSql.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtSql.a; path = "../../../../../../../qt-lighthouse-ios-simulator/lib/libQtSql.a"; sourceTree = "<group>"; };
+ D307DEAC13EBCF5500399BD4 /* libQtXml.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtXml.a; path = "../../../../../../../qt-lighthouse-ios-simulator/lib/libQtXml.a"; sourceTree = "<group>"; };
+ D307DEAD13EBCF5500399BD4 /* libQtXmlPatterns.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtXmlPatterns.a; path = "../../../../../../../qt-lighthouse-ios-simulator/lib/libQtXmlPatterns.a"; sourceTree = "<group>"; };
+ D307DEB713EBCF6400399BD4 /* libquikit.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libquikit.a; path = "../../../../../../../qt-lighthouse-ios-simulator/plugins/platforms/libquikit.a"; sourceTree = "<group>"; };
D333CCEF13B88A4D0070E08E /* moc_qmlapplicationviewer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = moc_qmlapplicationviewer.cpp; path = ../share/qmlapplicationviewer/moc_qmlapplicationviewer.cpp; sourceTree = "<group>"; };
D333CCF013B88A4D0070E08E /* qmlapplicationviewer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = qmlapplicationviewer.cpp; path = ../share/qmlapplicationviewer/qmlapplicationviewer.cpp; sourceTree = "<group>"; };
D333CCF113B88A4D0070E08E /* qmlapplicationviewer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = qmlapplicationviewer.h; path = ../share/qmlapplicationviewer/qmlapplicationviewer.h; sourceTree = "<group>"; };
D3A5160F134B03DE00E30E2F /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; };
D3A51611134B03E900E30E2F /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
- D3A51613134B040600E30E2F /* libQtOpenGL_debug.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtOpenGL_debug.a; path = "../../../../../../../qt-lighthouse-ios-simulator/lib/libQtOpenGL_debug.a"; sourceTree = "<group>"; };
D3A51617134B042A00E30E2F /* libQtOpenGL.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtOpenGL.a; path = "../../../../../../../qt-lighthouse-ios-device/lib/libQtOpenGL.a"; sourceTree = "<group>"; };
D3CAA7C713264AAD008BB877 /* main.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = main.mm; sourceTree = "<group>"; };
D3CAA7F613264F52008BB877 /* flickrdemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = flickrdemo.app; sourceTree = BUILT_PRODUCTS_DIR; };
D3CAA7F913264F8A008BB877 /* libz.1.2.3.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.1.2.3.dylib; path = usr/lib/libz.1.2.3.dylib; sourceTree = SDKROOT; };
- D3CAA81613265056008BB877 /* libQtCore_debug.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtCore_debug.a; path = "../../../../../../../qt-lighthouse-ios-simulator/lib/libQtCore_debug.a"; sourceTree = SOURCE_ROOT; };
- D3CAA81713265056008BB877 /* libQtDeclarative_debug.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtDeclarative_debug.a; path = "../../../../../../../qt-lighthouse-ios-simulator/lib/libQtDeclarative_debug.a"; sourceTree = SOURCE_ROOT; };
- D3CAA81813265056008BB877 /* libQtGui_debug.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtGui_debug.a; path = "../../../../../../../qt-lighthouse-ios-simulator/lib/libQtGui_debug.a"; sourceTree = SOURCE_ROOT; };
- D3CAA81913265056008BB877 /* libQtScript_debug.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtScript_debug.a; path = "../../../../../../../qt-lighthouse-ios-simulator/lib/libQtScript_debug.a"; sourceTree = SOURCE_ROOT; };
- D3CAA81A13265056008BB877 /* libQtSql_debug.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtSql_debug.a; path = "../../../../../../../qt-lighthouse-ios-simulator/lib/libQtSql_debug.a"; sourceTree = SOURCE_ROOT; };
- D3CAA8201326507D008BB877 /* libquikit_debug.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libquikit_debug.a; path = "../../../../../../../qt-lighthouse-ios-simulator/plugins/platforms/libquikit_debug.a"; sourceTree = SOURCE_ROOT; };
- D3CAA82713265220008BB877 /* libQtNetwork_debug.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtNetwork_debug.a; path = "../../../../../../../qt-lighthouse-ios-simulator/lib/libQtNetwork_debug.a"; sourceTree = SOURCE_ROOT; };
D3CAA836132652E5008BB877 /* fonts */ = {isa = PBXFileReference; lastKnownFileType = folder; name = fonts; path = ../../../../../../lib/fonts; sourceTree = SOURCE_ROOT; };
D3D815D31329339300CDE422 /* flickr */ = {isa = PBXFileReference; lastKnownFileType = folder; name = flickr; path = ../../../../../../demos/declarative/flickr; sourceTree = SOURCE_ROOT; };
- D3D8160813293C9B00CDE422 /* libQtXml_debug.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtXml_debug.a; path = "../../../../../../../qt-lighthouse-ios-simulator/lib/libQtXml_debug.a"; sourceTree = SOURCE_ROOT; };
- D3D8160913293C9B00CDE422 /* libQtXmlPatterns_debug.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtXmlPatterns_debug.a; path = "../../../../../../../qt-lighthouse-ios-simulator/lib/libQtXmlPatterns_debug.a"; sourceTree = SOURCE_ROOT; };
D3D81752132A184300CDE422 /* libQtCore.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtCore.a; path = "../../../../../../../qt-lighthouse-ios-device/lib/libQtCore.a"; sourceTree = SOURCE_ROOT; };
D3D81753132A184300CDE422 /* libQtDeclarative.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtDeclarative.a; path = "../../../../../../../qt-lighthouse-ios-device/lib/libQtDeclarative.a"; sourceTree = SOURCE_ROOT; };
D3D81754132A184300CDE422 /* libQtGui.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtGui.a; path = "../../../../../../../qt-lighthouse-ios-device/lib/libQtGui.a"; sourceTree = SOURCE_ROOT; };
@@ -95,22 +95,22 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- D3A51614134B040600E30E2F /* libQtOpenGL_debug.a in Frameworks */,
D3A51612134B03E900E30E2F /* QuartzCore.framework in Frameworks */,
D3A51610134B03DE00E30E2F /* OpenGLES.framework in Frameworks */,
1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */,
1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */,
288765A50DF7441C002DB57D /* CoreGraphics.framework in Frameworks */,
D3CAA7FA13264F8A008BB877 /* libz.1.2.3.dylib in Frameworks */,
- D3CAA81B13265056008BB877 /* libQtCore_debug.a in Frameworks */,
- D3CAA81C13265056008BB877 /* libQtDeclarative_debug.a in Frameworks */,
- D3CAA81D13265056008BB877 /* libQtGui_debug.a in Frameworks */,
- D3CAA81E13265056008BB877 /* libQtScript_debug.a in Frameworks */,
- D3CAA81F13265056008BB877 /* libQtSql_debug.a in Frameworks */,
- D3CAA8211326507D008BB877 /* libquikit_debug.a in Frameworks */,
- D3CAA82813265220008BB877 /* libQtNetwork_debug.a in Frameworks */,
- D3D8160A13293C9B00CDE422 /* libQtXml_debug.a in Frameworks */,
- D3D8160B13293C9B00CDE422 /* libQtXmlPatterns_debug.a in Frameworks */,
+ D307DEAE13EBCF5500399BD4 /* libQtCore.a in Frameworks */,
+ D307DEAF13EBCF5500399BD4 /* libQtDeclarative.a in Frameworks */,
+ D307DEB013EBCF5500399BD4 /* libQtGui.a in Frameworks */,
+ D307DEB113EBCF5500399BD4 /* libQtNetwork.a in Frameworks */,
+ D307DEB213EBCF5500399BD4 /* libQtOpenGL.a in Frameworks */,
+ D307DEB313EBCF5500399BD4 /* libQtScript.a in Frameworks */,
+ D307DEB413EBCF5500399BD4 /* libQtSql.a in Frameworks */,
+ D307DEB513EBCF5500399BD4 /* libQtXml.a in Frameworks */,
+ D307DEB613EBCF5500399BD4 /* libQtXmlPatterns.a in Frameworks */,
+ D307DEB813EBCF6400399BD4 /* libquikit.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -225,16 +225,16 @@
D3CAA81513265035008BB877 /* Simulator */ = {
isa = PBXGroup;
children = (
- D3CAA8201326507D008BB877 /* libquikit_debug.a */,
- D3CAA81613265056008BB877 /* libQtCore_debug.a */,
- D3CAA81713265056008BB877 /* libQtDeclarative_debug.a */,
- D3CAA81813265056008BB877 /* libQtGui_debug.a */,
- D3CAA82713265220008BB877 /* libQtNetwork_debug.a */,
- D3A51613134B040600E30E2F /* libQtOpenGL_debug.a */,
- D3CAA81913265056008BB877 /* libQtScript_debug.a */,
- D3CAA81A13265056008BB877 /* libQtSql_debug.a */,
- D3D8160813293C9B00CDE422 /* libQtXml_debug.a */,
- D3D8160913293C9B00CDE422 /* libQtXmlPatterns_debug.a */,
+ D307DEB713EBCF6400399BD4 /* libquikit.a */,
+ D307DEA513EBCF5500399BD4 /* libQtCore.a */,
+ D307DEA613EBCF5500399BD4 /* libQtDeclarative.a */,
+ D307DEA713EBCF5500399BD4 /* libQtGui.a */,
+ D307DEA813EBCF5500399BD4 /* libQtNetwork.a */,
+ D307DEA913EBCF5500399BD4 /* libQtOpenGL.a */,
+ D307DEAA13EBCF5500399BD4 /* libQtScript.a */,
+ D307DEAB13EBCF5500399BD4 /* libQtSql.a */,
+ D307DEAC13EBCF5500399BD4 /* libQtXml.a */,
+ D307DEAD13EBCF5500399BD4 /* libQtXmlPatterns.a */,
);
name = Simulator;
sourceTree = "<group>";
diff --git a/src/plugins/platforms/uikit/examples/qmltest/qmltest.xcodeproj/project.pbxproj b/src/plugins/platforms/uikit/examples/qmltest/qmltest.xcodeproj/project.pbxproj
index 96c1932..afebcba 100755
--- a/src/plugins/platforms/uikit/examples/qmltest/qmltest.xcodeproj/project.pbxproj
+++ b/src/plugins/platforms/uikit/examples/qmltest/qmltest.xcodeproj/project.pbxproj
@@ -10,13 +10,20 @@
1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; };
1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; };
288765A50DF7441C002DB57D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765A40DF7441C002DB57D /* CoreGraphics.framework */; };
- D316594E1338B29E00760B02 /* libQtXml_debug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D31659431338B21000760B02 /* libQtXml_debug.a */; };
- D316594F1338B29E00760B02 /* libQtXmlPatterns_debug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D31659441338B21000760B02 /* libQtXmlPatterns_debug.a */; };
+ D307DEC513EBD04100399BD4 /* libquikit.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D307DEC413EBD04100399BD4 /* libquikit.a */; };
+ D307DECF13EBD05900399BD4 /* libQtCore.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D307DEC613EBD05900399BD4 /* libQtCore.a */; };
+ D307DED013EBD05900399BD4 /* libQtDeclarative.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D307DEC713EBD05900399BD4 /* libQtDeclarative.a */; };
+ D307DED113EBD05900399BD4 /* libQtGui.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D307DEC813EBD05900399BD4 /* libQtGui.a */; };
+ D307DED213EBD05900399BD4 /* libQtNetwork.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D307DEC913EBD05900399BD4 /* libQtNetwork.a */; };
+ D307DED313EBD05900399BD4 /* libQtOpenGL.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D307DECA13EBD05900399BD4 /* libQtOpenGL.a */; };
+ D307DED413EBD05900399BD4 /* libQtScript.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D307DECB13EBD05900399BD4 /* libQtScript.a */; };
+ D307DED513EBD05900399BD4 /* libQtSql.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D307DECC13EBD05900399BD4 /* libQtSql.a */; };
+ D307DED613EBD05900399BD4 /* libQtXml.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D307DECD13EBD05900399BD4 /* libQtXml.a */; };
+ D307DED713EBD05900399BD4 /* libQtXmlPatterns.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D307DECE13EBD05900399BD4 /* libQtXmlPatterns.a */; };
D333CCF913B88A690070E08E /* moc_qmlapplicationviewer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D333CCF613B88A690070E08E /* moc_qmlapplicationviewer.cpp */; };
D333CCFA13B88A690070E08E /* moc_qmlapplicationviewer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D333CCF613B88A690070E08E /* moc_qmlapplicationviewer.cpp */; };
D333CCFB13B88A690070E08E /* qmlapplicationviewer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D333CCF713B88A690070E08E /* qmlapplicationviewer.cpp */; };
D333CCFC13B88A690070E08E /* qmlapplicationviewer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D333CCF713B88A690070E08E /* qmlapplicationviewer.cpp */; };
- D35784241345D8C90046D202 /* libQtOpenGL_debug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D35784231345D8C90046D202 /* libQtOpenGL_debug.a */; };
D35784261345D9940046D202 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D35784251345D9940046D202 /* OpenGLES.framework */; };
D35784281345D9E00046D202 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D35784271345D9E00046D202 /* QuartzCore.framework */; };
D3578436134A09990046D202 /* libQtOpenGL.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D3578435134A09990046D202 /* libQtOpenGL.a */; };
@@ -29,13 +36,6 @@
D3CAA7F213264F52008BB877 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765A40DF7441C002DB57D /* CoreGraphics.framework */; };
D3CAA7FA13264F8A008BB877 /* libz.1.2.3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D3CAA7F913264F8A008BB877 /* libz.1.2.3.dylib */; };
D3CAA81113264FF0008BB877 /* libz.1.2.3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D3CAA7F913264F8A008BB877 /* libz.1.2.3.dylib */; };
- D3CAA81B13265056008BB877 /* libQtCore_debug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D3CAA81613265056008BB877 /* libQtCore_debug.a */; };
- D3CAA81C13265056008BB877 /* libQtDeclarative_debug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D3CAA81713265056008BB877 /* libQtDeclarative_debug.a */; };
- D3CAA81D13265056008BB877 /* libQtGui_debug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D3CAA81813265056008BB877 /* libQtGui_debug.a */; };
- D3CAA81E13265056008BB877 /* libQtScript_debug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D3CAA81913265056008BB877 /* libQtScript_debug.a */; };
- D3CAA81F13265056008BB877 /* libQtSql_debug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D3CAA81A13265056008BB877 /* libQtSql_debug.a */; };
- D3CAA8211326507D008BB877 /* libquikit_debug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D3CAA8201326507D008BB877 /* libquikit_debug.a */; };
- D3CAA82813265220008BB877 /* libQtNetwork_debug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D3CAA82713265220008BB877 /* libQtNetwork_debug.a */; };
D3CAA88A132652E5008BB877 /* fonts in Resources */ = {isa = PBXBuildFile; fileRef = D3CAA836132652E5008BB877 /* fonts */; };
D3CAA88B132652E5008BB877 /* fonts in Resources */ = {isa = PBXBuildFile; fileRef = D3CAA836132652E5008BB877 /* fonts */; };
D3CAA89113265310008BB877 /* qml in Resources */ = {isa = PBXBuildFile; fileRef = D3CAA88E13265310008BB877 /* qml */; };
@@ -58,25 +58,25 @@
288765A40DF7441C002DB57D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
32CA4F630368D1EE00C91783 /* qmltest_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = qmltest_Prefix.pch; sourceTree = "<group>"; };
8D1107310486CEB800E47090 /* qmltest-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "qmltest-Info.plist"; plistStructureDefinitionIdentifier = "com.apple.xcode.plist.structure-definition.iphone.info-plist"; sourceTree = "<group>"; };
- D31659431338B21000760B02 /* libQtXml_debug.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtXml_debug.a; path = "../../../../../../../qt-lighthouse-ios-simulator/lib/libQtXml_debug.a"; sourceTree = SOURCE_ROOT; };
- D31659441338B21000760B02 /* libQtXmlPatterns_debug.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtXmlPatterns_debug.a; path = "../../../../../../../qt-lighthouse-ios-simulator/lib/libQtXmlPatterns_debug.a"; sourceTree = SOURCE_ROOT; };
+ D307DEC413EBD04100399BD4 /* libquikit.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libquikit.a; path = "../../../../../../../qt-lighthouse-ios-simulator/plugins/platforms/libquikit.a"; sourceTree = "<group>"; };
+ D307DEC613EBD05900399BD4 /* libQtCore.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtCore.a; path = "../../../../../../../qt-lighthouse-ios-simulator/lib/libQtCore.a"; sourceTree = "<group>"; };
+ D307DEC713EBD05900399BD4 /* libQtDeclarative.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtDeclarative.a; path = "../../../../../../../qt-lighthouse-ios-simulator/lib/libQtDeclarative.a"; sourceTree = "<group>"; };
+ D307DEC813EBD05900399BD4 /* libQtGui.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtGui.a; path = "../../../../../../../qt-lighthouse-ios-simulator/lib/libQtGui.a"; sourceTree = "<group>"; };
+ D307DEC913EBD05900399BD4 /* libQtNetwork.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtNetwork.a; path = "../../../../../../../qt-lighthouse-ios-simulator/lib/libQtNetwork.a"; sourceTree = "<group>"; };
+ D307DECA13EBD05900399BD4 /* libQtOpenGL.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtOpenGL.a; path = "../../../../../../../qt-lighthouse-ios-simulator/lib/libQtOpenGL.a"; sourceTree = "<group>"; };
+ D307DECB13EBD05900399BD4 /* libQtScript.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtScript.a; path = "../../../../../../../qt-lighthouse-ios-simulator/lib/libQtScript.a"; sourceTree = "<group>"; };
+ D307DECC13EBD05900399BD4 /* libQtSql.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtSql.a; path = "../../../../../../../qt-lighthouse-ios-simulator/lib/libQtSql.a"; sourceTree = "<group>"; };
+ D307DECD13EBD05900399BD4 /* libQtXml.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtXml.a; path = "../../../../../../../qt-lighthouse-ios-simulator/lib/libQtXml.a"; sourceTree = "<group>"; };
+ D307DECE13EBD05900399BD4 /* libQtXmlPatterns.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtXmlPatterns.a; path = "../../../../../../../qt-lighthouse-ios-simulator/lib/libQtXmlPatterns.a"; sourceTree = "<group>"; };
D333CCF613B88A690070E08E /* moc_qmlapplicationviewer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = moc_qmlapplicationviewer.cpp; path = ../share/qmlapplicationviewer/moc_qmlapplicationviewer.cpp; sourceTree = "<group>"; };
D333CCF713B88A690070E08E /* qmlapplicationviewer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = qmlapplicationviewer.cpp; path = ../share/qmlapplicationviewer/qmlapplicationviewer.cpp; sourceTree = "<group>"; };
D333CCF813B88A690070E08E /* qmlapplicationviewer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = qmlapplicationviewer.h; path = ../share/qmlapplicationviewer/qmlapplicationviewer.h; sourceTree = "<group>"; };
- D35784231345D8C90046D202 /* libQtOpenGL_debug.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtOpenGL_debug.a; path = "../../../../../../../qt-lighthouse-ios-simulator/lib/libQtOpenGL_debug.a"; sourceTree = "<group>"; };
D35784251345D9940046D202 /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; };
D35784271345D9E00046D202 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
D3578435134A09990046D202 /* libQtOpenGL.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtOpenGL.a; path = "../../../../../../../qt-lighthouse-ios-device/lib/libQtOpenGL.a"; sourceTree = "<group>"; };
D3CAA7C713264AAD008BB877 /* main.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = main.mm; sourceTree = "<group>"; };
D3CAA7F613264F52008BB877 /* qmltest.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = qmltest.app; sourceTree = BUILT_PRODUCTS_DIR; };
D3CAA7F913264F8A008BB877 /* libz.1.2.3.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.1.2.3.dylib; path = usr/lib/libz.1.2.3.dylib; sourceTree = SDKROOT; };
- D3CAA81613265056008BB877 /* libQtCore_debug.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtCore_debug.a; path = "../../../../../../../qt-lighthouse-ios-simulator/lib/libQtCore_debug.a"; sourceTree = SOURCE_ROOT; };
- D3CAA81713265056008BB877 /* libQtDeclarative_debug.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtDeclarative_debug.a; path = "../../../../../../../qt-lighthouse-ios-simulator/lib/libQtDeclarative_debug.a"; sourceTree = SOURCE_ROOT; };
- D3CAA81813265056008BB877 /* libQtGui_debug.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtGui_debug.a; path = "../../../../../../../qt-lighthouse-ios-simulator/lib/libQtGui_debug.a"; sourceTree = SOURCE_ROOT; };
- D3CAA81913265056008BB877 /* libQtScript_debug.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtScript_debug.a; path = "../../../../../../../qt-lighthouse-ios-simulator/lib/libQtScript_debug.a"; sourceTree = SOURCE_ROOT; };
- D3CAA81A13265056008BB877 /* libQtSql_debug.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtSql_debug.a; path = "../../../../../../../qt-lighthouse-ios-simulator/lib/libQtSql_debug.a"; sourceTree = SOURCE_ROOT; };
- D3CAA8201326507D008BB877 /* libquikit_debug.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libquikit_debug.a; path = "../../../../../../../qt-lighthouse-ios-simulator/plugins/platforms/libquikit_debug.a"; sourceTree = SOURCE_ROOT; };
- D3CAA82713265220008BB877 /* libQtNetwork_debug.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtNetwork_debug.a; path = "../../../../../../../qt-lighthouse-ios-simulator/lib/libQtNetwork_debug.a"; sourceTree = SOURCE_ROOT; };
D3CAA836132652E5008BB877 /* fonts */ = {isa = PBXFileReference; lastKnownFileType = folder; name = fonts; path = ../../../../../../lib/fonts; sourceTree = SOURCE_ROOT; };
D3CAA88E13265310008BB877 /* qml */ = {isa = PBXFileReference; lastKnownFileType = folder; path = qml; sourceTree = SOURCE_ROOT; };
D3D817AA132A2CFD00CDE422 /* libQtCore.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libQtCore.a; path = "../../../../../../../qt-lighthouse-ios-device/lib/libQtCore.a"; sourceTree = SOURCE_ROOT; };
@@ -101,16 +101,16 @@
288765A50DF7441C002DB57D /* CoreGraphics.framework in Frameworks */,
D35784261345D9940046D202 /* OpenGLES.framework in Frameworks */,
D3CAA7FA13264F8A008BB877 /* libz.1.2.3.dylib in Frameworks */,
- D3CAA81B13265056008BB877 /* libQtCore_debug.a in Frameworks */,
- D3CAA81C13265056008BB877 /* libQtDeclarative_debug.a in Frameworks */,
- D3CAA81D13265056008BB877 /* libQtGui_debug.a in Frameworks */,
- D3CAA81E13265056008BB877 /* libQtScript_debug.a in Frameworks */,
- D3CAA81F13265056008BB877 /* libQtSql_debug.a in Frameworks */,
- D3CAA8211326507D008BB877 /* libquikit_debug.a in Frameworks */,
- D3CAA82813265220008BB877 /* libQtNetwork_debug.a in Frameworks */,
- D316594E1338B29E00760B02 /* libQtXml_debug.a in Frameworks */,
- D316594F1338B29E00760B02 /* libQtXmlPatterns_debug.a in Frameworks */,
- D35784241345D8C90046D202 /* libQtOpenGL_debug.a in Frameworks */,
+ D307DECF13EBD05900399BD4 /* libQtCore.a in Frameworks */,
+ D307DED013EBD05900399BD4 /* libQtDeclarative.a in Frameworks */,
+ D307DED113EBD05900399BD4 /* libQtGui.a in Frameworks */,
+ D307DED213EBD05900399BD4 /* libQtNetwork.a in Frameworks */,
+ D307DED313EBD05900399BD4 /* libQtOpenGL.a in Frameworks */,
+ D307DED413EBD05900399BD4 /* libQtScript.a in Frameworks */,
+ D307DED513EBD05900399BD4 /* libQtSql.a in Frameworks */,
+ D307DED613EBD05900399BD4 /* libQtXml.a in Frameworks */,
+ D307DED713EBD05900399BD4 /* libQtXmlPatterns.a in Frameworks */,
+ D307DEC513EBD04100399BD4 /* libquikit.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -225,16 +225,16 @@
D3CAA81513265035008BB877 /* Simulator */ = {
isa = PBXGroup;
children = (
- D3CAA8201326507D008BB877 /* libquikit_debug.a */,
- D3CAA81613265056008BB877 /* libQtCore_debug.a */,
- D3CAA81713265056008BB877 /* libQtDeclarative_debug.a */,
- D3CAA81813265056008BB877 /* libQtGui_debug.a */,
- D3CAA82713265220008BB877 /* libQtNetwork_debug.a */,
- D35784231345D8C90046D202 /* libQtOpenGL_debug.a */,
- D3CAA81913265056008BB877 /* libQtScript_debug.a */,
- D3CAA81A13265056008BB877 /* libQtSql_debug.a */,
- D31659431338B21000760B02 /* libQtXml_debug.a */,
- D31659441338B21000760B02 /* libQtXmlPatterns_debug.a */,
+ D307DEC413EBD04100399BD4 /* libquikit.a */,
+ D307DEC613EBD05900399BD4 /* libQtCore.a */,
+ D307DEC713EBD05900399BD4 /* libQtDeclarative.a */,
+ D307DEC813EBD05900399BD4 /* libQtGui.a */,
+ D307DEC913EBD05900399BD4 /* libQtNetwork.a */,
+ D307DECA13EBD05900399BD4 /* libQtOpenGL.a */,
+ D307DECB13EBD05900399BD4 /* libQtScript.a */,
+ D307DECC13EBD05900399BD4 /* libQtSql.a */,
+ D307DECD13EBD05900399BD4 /* libQtXml.a */,
+ D307DECE13EBD05900399BD4 /* libQtXmlPatterns.a */,
);
name = Simulator;
sourceTree = "<group>";
diff --git a/src/plugins/platforms/uikit/platform.pro b/src/plugins/platforms/uikit/platform.pro
index 273c00d..726da06 100644
--- a/src/plugins/platforms/uikit/platform.pro
+++ b/src/plugins/platforms/uikit/platform.pro
@@ -2,7 +2,7 @@ TARGET = quikit
include(../../qpluginbase.pri)
QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/platforms
-QT += opengl
+QT += opengl declarative
OBJECTIVE_SOURCES = main.mm \
quikitintegration.mm \
diff --git a/src/plugins/platforms/uikit/quikiteventloop.mm b/src/plugins/platforms/uikit/quikiteventloop.mm
index 01ecf3f..7df7ec8 100644
--- a/src/plugins/platforms/uikit/quikiteventloop.mm
+++ b/src/plugins/platforms/uikit/quikiteventloop.mm
@@ -49,6 +49,8 @@
#include <QtGui/QApplication>
#include <QtGui/QWidget>
+#include <QtDeclarative/QDeclarativeView>
+#include <QtDeclarative/QDeclarativeItem>
#include <QtDebug>
@interface QUIKitAppDelegate : NSObject <UIApplicationDelegate> {
@@ -212,24 +214,69 @@ void QUIKitEventLoop::qtNeedsToProcessEvents()
[mHelper performSelectorOnMainThread:@selector(processEvents) withObject:nil waitUntilDone:NO];
}
+static UIReturnKeyType keyTypeForObject(QObject *obj)
+{
+ if (strcmp(obj->metaObject()->className(), "QDeclarativeTextEdit") == 0)
+ return UIReturnKeyDefault;
+ return UIReturnKeyDone;
+}
+
bool QUIKitSoftwareInputHandler::eventFilter(QObject *obj, QEvent *event)
{
if (event->type() == QEvent::RequestSoftwareInputPanel) {
+ UIReturnKeyType returnKeyType = UIReturnKeyDone;
+ if (QDeclarativeView *declarativeView = qobject_cast<QDeclarativeView *>(obj)) {
+ // register on loosing the focus, so we can auto-remove the input panel again
+ QGraphicsScene *scene = declarativeView->scene();
+ if (scene) {
+ if (mCurrentFocusObject)
+ disconnect(mCurrentFocusObject, 0, this, SLOT(activeFocusChanged(bool)));
+ QDeclarativeItem *focus = static_cast<QDeclarativeItem *>(scene->focusItem());
+ mCurrentFocusObject = focus;
+ if (focus) {
+ connect(mCurrentFocusObject, SIGNAL(activeFocusChanged(bool)), this, SLOT(activeFocusChanged(bool)));
+ returnKeyType = keyTypeForObject(mCurrentFocusObject);
+ }
+ }
+ }
QWidget *widget = qobject_cast<QWidget *>(obj);
if (widget) {
+ mCurrentFocusWidget = widget;
QUIKitWindow *platformWindow = static_cast<QUIKitWindow *>(widget->window()->platformWindow());
- if (platformWindow) [platformWindow->nativeView() becomeFirstResponder];
+ if (platformWindow) {
+ platformWindow->nativeView().returnKeyType = returnKeyType;
+ [platformWindow->nativeView() becomeFirstResponder];
+ }
return true;
}
} else if (event->type() == QEvent::CloseSoftwareInputPanel) {
QWidget *widget = qobject_cast<QWidget *>(obj);
- if (widget) {
- QUIKitWindow *platformWindow = static_cast<QUIKitWindow *>(widget->window()->platformWindow());
- if (platformWindow) [platformWindow->nativeView() resignFirstResponder];
- return true;
+ return closeSoftwareInputPanel(widget);
+ }
+ return false;
+}
+
+bool QUIKitSoftwareInputHandler::closeSoftwareInputPanel(QWidget *widget)
+{
+ if (widget) {
+ QUIKitWindow *platformWindow = static_cast<QUIKitWindow *>(widget->window()->platformWindow());
+ if (platformWindow) {
+ [platformWindow->nativeView() resignFirstResponder];
+ mCurrentFocusWidget = 0;
+ if (mCurrentFocusObject)
+ disconnect(mCurrentFocusObject, 0, this, SLOT(activeFocusChanged(bool)));
+ mCurrentFocusObject = 0;
}
+ return true;
}
return false;
}
+void QUIKitSoftwareInputHandler::activeFocusChanged(bool focus)
+{
+ if (!focus && mCurrentFocusWidget && mCurrentFocusObject) {
+ closeSoftwareInputPanel(mCurrentFocusWidget);
+ }
+}
+
QT_END_NAMESPACE
diff --git a/src/plugins/platforms/uikit/quikitsoftwareinputhandler.h b/src/plugins/platforms/uikit/quikitsoftwareinputhandler.h
index 7e4f8e9..3f64bf5 100644
--- a/src/plugins/platforms/uikit/quikitsoftwareinputhandler.h
+++ b/src/plugins/platforms/uikit/quikitsoftwareinputhandler.h
@@ -45,6 +45,8 @@
#define QUIKITSOFTWAREINPUTHANDLER_H
#include <QtCore/QObject>
+#include <QtCore/QPointer>
+#include <QtGui/QWidget>
QT_BEGIN_NAMESPACE
@@ -53,7 +55,17 @@ class QUIKitSoftwareInputHandler : public QObject
Q_OBJECT
public:
+ QUIKitSoftwareInputHandler() : mCurrentFocusWidget(0), mCurrentFocusObject(0) {}
bool eventFilter(QObject *obj, QEvent *event);
+
+private slots:
+ void activeFocusChanged(bool focus);
+
+private:
+ bool closeSoftwareInputPanel(QWidget *widget);
+
+ QPointer<QWidget> mCurrentFocusWidget;
+ QPointer<QObject> mCurrentFocusObject;
};
QT_END_NAMESPACE
diff --git a/tests/arthur/baselineserver/src/baselineserver.cpp b/tests/arthur/baselineserver/src/baselineserver.cpp
index 48456e3..6241f60 100644
--- a/tests/arthur/baselineserver/src/baselineserver.cpp
+++ b/tests/arthur/baselineserver/src/baselineserver.cpp
@@ -172,27 +172,31 @@ const char *BaselineHandler::logtime()
bool BaselineHandler::establishConnection()
{
- if (!proto.acceptConnection(&plat)) {
+ if (!proto.acceptConnection(&clientInfo)) {
qWarning() << runId << logtime() << "Accepting new connection from" << proto.socket.peerAddress().toString() << "failed." << proto.errorMessage();
proto.sendBlock(BaselineProtocol::Abort, proto.errorMessage().toLatin1()); // In case the client can hear us, tell it what's wrong.
proto.socket.disconnectFromHost();
return false;
}
QString logMsg;
- foreach (QString key, plat.keys()) {
+ foreach (QString key, clientInfo.keys()) {
if (key != PI_HostName && key != PI_HostAddress)
- logMsg += key + QLS(": '") + plat.value(key) + QLS("', ");
+ logMsg += key + QLS(": '") + clientInfo.value(key) + QLS("', ");
}
- qDebug() << runId << logtime() << "Connection established with" << plat.value(PI_HostName)
- << "[" << qPrintable(plat.value(PI_HostAddress)) << "]" << logMsg;
+ qDebug() << runId << logtime() << "Connection established with" << clientInfo.value(PI_HostName)
+ << "[" << qPrintable(clientInfo.value(PI_HostAddress)) << "]" << logMsg
+ << "Overrides:" << clientInfo.overrides() << "AdHoc-Run:" << clientInfo.isAdHocRun();
+
+ //### Temporarily override the client setting, for client compatibility:
+ if (!clientInfo.isAdHocRun())
+ clientInfo.setAdHocRun(clientInfo.value(PI_PulseGitBranch).isEmpty() && clientInfo.value(PI_PulseTestrBranch).isEmpty());
settings->beginGroup("ClientFilters");
- if (!settings->childKeys().isEmpty() && !plat.value(PI_PulseGitBranch).isEmpty()) { // i.e. not adhoc client
- // Abort if client does not match the filters
+ if (!clientInfo.isAdHocRun()) { // for CI runs, allow filtering of clients. TBD: different filters (settings file) per testCase
foreach (QString filterKey, settings->childKeys()) {
QString filter = settings->value(filterKey).toString();
- QString platVal = plat.value(filterKey);
- if (filter.isEmpty() || platVal.isEmpty())
+ QString platVal = clientInfo.value(filterKey);
+ if (filter.isEmpty())
continue; // tbd: add a syntax for specifying a "value-must-be-present" filter
if (!platVal.contains(filter)) {
qDebug() << runId << logtime() << "Did not pass client filter on" << filterKey << "; disconnecting.";
@@ -206,7 +210,7 @@ bool BaselineHandler::establishConnection()
proto.sendBlock(BaselineProtocol::Ack, QByteArray());
- report.init(this, runId, plat);
+ report.init(this, runId, clientInfo);
return true;
}
@@ -297,6 +301,12 @@ void BaselineHandler::storeImage(const QByteArray &itemBlock, bool isBaseline)
ImageItem item;
ds >> item;
+ if (isBaseline && !clientInfo.overrides().isEmpty()) {
+ qDebug() << runId << logtime() << "Received baseline from client with override info, ignoring. Item:" << item.itemName;
+ proto.sendBlock(BaselineProtocol::UnknownError, "New baselines not accepted from client with override info.");
+ return;
+ }
+
QString prefix = pathForItem(item, isBaseline);
qDebug() << runId << logtime() << "Received" << (isBaseline ? "baseline" : "mismatched") << "image for:" << item.itemName << "Storing in" << prefix;
@@ -313,7 +323,7 @@ void BaselineHandler::storeImage(const QByteArray &itemBlock, bool isBaseline)
cwd.mkpath(dir);
item.image.save(prefix + QLS(FileFormat), FileFormat);
- PlatformInfo itemData = plat;
+ PlatformInfo itemData = clientInfo;
itemData.insert(PI_ImageChecksum, QString::number(item.imageChecksums.at(0), 16)); //# Only the first is stored. TBD: get rid of list
itemData.insert(PI_RunId, runId);
itemData.insert(PI_CreationDate, QDateTime::currentDateTime().toString());
@@ -366,17 +376,16 @@ void BaselineHandler::receiveDisconnect()
}
-void BaselineHandler::mapPlatformInfo() const
+PlatformInfo BaselineHandler::mapPlatformInfo(const PlatformInfo& orig) const
{
- mapped = plat;
+ PlatformInfo mapped = orig;
// Map hostname
- QString host = plat.value(PI_HostName).section(QLC('.'), 0, 0); // Filter away domain, if any
+ QString host = orig.value(PI_HostName).section(QLC('.'), 0, 0); // Filter away domain, if any
if (host.isEmpty() || host == QLS("localhost")) {
- host = plat.value(PI_HostAddress);
+ host = orig.value(PI_HostAddress);
} else {
- if (!plat.value(PI_PulseGitBranch).isEmpty()) {
- // i.e. pulse run, so remove index postfix typical of vm hostnames
+ if (!orig.isAdHocRun()) { // i.e. CI system run, so remove index postfix typical of vm hostnames
host.remove(QRegExp(QLS("\\d+$")));
if (host.endsWith(QLC('-')))
host.chop(1);
@@ -387,18 +396,28 @@ void BaselineHandler::mapPlatformInfo() const
mapped.insert(PI_HostName, host);
// Map qmakespec
- QString mkspec = plat.value(PI_QMakeSpec);
+ QString mkspec = orig.value(PI_QMakeSpec);
mapped.insert(PI_QMakeSpec, mkspec.replace(QLC('/'), QLC('_')));
// Map Qt version
- QString ver = plat.value(PI_QtVersion);
+ QString ver = orig.value(PI_QtVersion);
mapped.insert(PI_QtVersion, ver.prepend(QLS("Qt-")));
+
+ return mapped;
}
+
QString BaselineHandler::pathForItem(const ImageItem &item, bool isBaseline, bool absolute) const
{
- if (mapped.isEmpty())
- mapPlatformInfo();
+ if (mappedClientInfo.isEmpty()) {
+ mappedClientInfo = mapPlatformInfo(clientInfo);
+ PlatformInfo oraw = clientInfo;
+ for (int i = 0; i < clientInfo.overrides().size()-1; i+=2)
+ oraw.insert(clientInfo.overrides().at(i), clientInfo.overrides().at(i+1));
+ overriddenMappedClientInfo = mapPlatformInfo(oraw);
+ }
+
+ const PlatformInfo& mapped = isBaseline ? overriddenMappedClientInfo : mappedClientInfo;
QString itemName = item.itemName.simplified();
itemName.replace(QLC(' '), QLC('_'));
@@ -512,13 +531,13 @@ void BaselineHandler::testPathMapping()
item.imageChecksums << 0x0123456789abcdefULL;
item.itemChecksum = 0x0123;
- plat.insert(PI_QtVersion, QLS("4.8.0"));
- plat.insert(PI_BuildKey, QLS("(nobuildkey)"));
- plat.insert(PI_QMakeSpec, QLS("linux-g++"));
- plat.insert(PI_PulseGitBranch, QLS("somebranch"));
+ clientInfo.insert(PI_QtVersion, QLS("4.8.0"));
+ clientInfo.insert(PI_BuildKey, QLS("(nobuildkey)"));
+ clientInfo.insert(PI_QMakeSpec, QLS("linux-g++"));
+ clientInfo.insert(PI_PulseGitBranch, QLS("somebranch"));
foreach(const QString& host, hosts) {
- mapped.clear();
- plat.insert(PI_HostName, host);
+ mappedClientInfo.clear();
+ clientInfo.insert(PI_HostName, host);
qDebug() << "Baseline from" << host << "->" << pathForItem(item, true);
qDebug() << "Mismatch from" << host << "->" << pathForItem(item, false);
}
diff --git a/tests/arthur/baselineserver/src/baselineserver.h b/tests/arthur/baselineserver/src/baselineserver.h
index d73bb97..333d9ed 100644
--- a/tests/arthur/baselineserver/src/baselineserver.h
+++ b/tests/arthur/baselineserver/src/baselineserver.h
@@ -125,13 +125,14 @@ private:
void storeImage(const QByteArray &itemBlock, bool isBaseline);
void storeItemMetadata(const PlatformInfo &metadata, const QString &path);
PlatformInfo fetchItemMetadata(const QString &path);
- void mapPlatformInfo() const;
+ PlatformInfo mapPlatformInfo(const PlatformInfo& orig) const;
const char *logtime();
QString computeMismatchScore(const QImage& baseline, const QImage& rendered);
BaselineProtocol proto;
- PlatformInfo plat;
- mutable PlatformInfo mapped;
+ PlatformInfo clientInfo;
+ mutable PlatformInfo mappedClientInfo;
+ mutable PlatformInfo overriddenMappedClientInfo;
QString runId;
bool connectionEstablished;
Report report;
diff --git a/tests/arthur/baselineserver/src/report.cpp b/tests/arthur/baselineserver/src/report.cpp
index 7c2d6ac..16f061c 100644
--- a/tests/arthur/baselineserver/src/report.cpp
+++ b/tests/arthur/baselineserver/src/report.cpp
@@ -66,12 +66,13 @@ void Report::init(const BaselineHandler *h, const QString &r, const PlatformInfo
runId = r;
plat = p;
rootDir = BaselineServer::storagePath() + QLC('/');
- reportDir = plat.value(PI_TestCase) + QLC('/') + (plat.value(PI_PulseGitBranch).isEmpty() ? QLS("reports/adhoc/") : QLS("reports/pulse/"));
+ reportDir = plat.value(PI_TestCase) + QLC('/') + (plat.isAdHocRun() ? QLS("reports/adhoc/") : QLS("reports/pulse/"));
QString dir = rootDir + reportDir;
QDir cwd;
if (!cwd.exists(dir))
cwd.mkpath(dir);
path = reportDir + QLS("Report_") + runId + QLS(".html");
+ hasOverride = !plat.overrides().isEmpty();
}
void Report::addItems(const ImageItemList &items)
@@ -141,11 +142,19 @@ void Report::writeHeader()
<< "<p>Note: This is a <i>static</i> page, generated at " << QDateTime::currentDateTime().toString()
<< " for the test run with id " << runId << "</p>\n"
<< "<p>Summary: <b><span style=\"color:red\">" << numMismatches << " of " << numItems << "</b></span> items reported mismatching</p>\n\n";
- out << "<h3>Platform Info:</h3>\n"
+ out << "<h3>Testing Client Platform Info:</h3>\n"
<< "<table>\n";
foreach (QString key, plat.keys())
- out << "<tr><td>" << key << "</td><td>" << plat.value(key) << "</td></tr>\n";
+ out << "<tr><td>" << key << ":</td><td>" << plat.value(key) << "</td></tr>\n";
out << "</table>\n\n";
+ if (hasOverride) {
+ out << "<span style=\"color:red\"><h4>Note! Platform Override Info:</h4></span>\n"
+ << "<p>The client's output has been compared to baselines created on a different platform. Differences:</p>\n"
+ << "<table>\n";
+ for (int i = 0; i < plat.overrides().size()-1; i+=2)
+ out << "<tr><td>" << plat.overrides().at(i) << ":</td><td>" << plat.overrides().at(i+1) << "</td></tr>\n";
+ out << "</table>\n\n";
+ }
}
@@ -158,10 +167,12 @@ void Report::writeFunctionResults(const ImageItemList &list)
out << "\n<p>&nbsp;</p><h3>Test function: " << testFunction << "</h3>\n";
- out << "<p><a href=\"/cgi-bin/server.cgi?cmd=clearAllBaselines&context=" << ctx << "&url=" << pageUrl
- << "\"><b>Clear all baselines</b></a> for this testfunction (They will be recreated by the next run)</p>\n";
- out << "<p><a href=\"/cgi-bin/server.cgi?cmd=updateAllBaselines&context=" << ctx << "&mismatchContext=" << misCtx << "&url=" << pageUrl
- << "\"><b>Let these mismatching images be the new baselines</b></a> for this testfunction</p>\n\n";
+ if (!hasOverride) {
+ out << "<p><a href=\"/cgi-bin/server.cgi?cmd=clearAllBaselines&context=" << ctx << "&url=" << pageUrl
+ << "\"><b>Clear all baselines</b></a> for this testfunction (They will be recreated by the next run)</p>\n";
+ out << "<p><a href=\"/cgi-bin/server.cgi?cmd=updateAllBaselines&context=" << ctx << "&mismatchContext=" << misCtx << "&url=" << pageUrl
+ << "\"><b>Let these mismatching images be the new baselines</b></a> for this testfunction</p>\n\n";
+ }
out << "<table border=\"2\">\n"
"<tr>\n"
@@ -192,10 +203,12 @@ void Report::writeFunctionResults(const ImageItemList &list)
out << "Baseline not found/regenerated";
break;
case ImageItem::IgnoreItem:
- out << "<span style=\"background-color:yellow\">Blacklisted</span> "
- << "<a href=\"/cgi-bin/server.cgi?cmd=whitelist&context=" << ctx
- << "&itemId=" << item.itemName << "&url=" << pageUrl
- << "\">Whitelist this item</a>";
+ out << "<span style=\"background-color:yellow\">Blacklisted</span> ";
+ if (!hasOverride) {
+ out << "<a href=\"/cgi-bin/server.cgi?cmd=whitelist&context=" << ctx
+ << "&itemId=" << item.itemName << "&url=" << pageUrl
+ << "\">Whitelist this item</a>";
+ }
break;
case ImageItem::Ok:
out << "<span style=\"color:green\"><small>No mismatch reported</small></span>";
@@ -224,12 +237,14 @@ void Report::writeItem(const QString &baseline, const QString &rendered, const I
out << "<td align=center>\n"
<< "<p><span style=\"color:red\">Mismatch reported</span></p>\n"
- << "<p><a href=\"/" << metadata << "\">Baseline Info</a>\n"
- << "<p><a href=\"/cgi-bin/server.cgi?cmd=updateSingleBaseline&context=" << ctx << "&mismatchContext=" << misCtx
- << "&itemFile=" << itemFile << "&url=" << pageUrl << "\">Let this be the new baseline</a></p>\n"
- << "<p><a href=\"/cgi-bin/server.cgi?cmd=blacklist&context=" << ctx
- << "&itemId=" << item.itemName << "&url=" << pageUrl << "\">Blacklist this item</a></p>\n"
- << "<p><a href=\"/cgi-bin/server.cgi?cmd=view&baseline=" << baseline << "&rendered=" << rendered
+ << "<p><a href=\"/" << metadata << "\">Baseline Info</a>\n";
+ if (!hasOverride) {
+ out << "<p><a href=\"/cgi-bin/server.cgi?cmd=updateSingleBaseline&context=" << ctx << "&mismatchContext=" << misCtx
+ << "&itemFile=" << itemFile << "&url=" << pageUrl << "\">Let this be the new baseline</a></p>\n"
+ << "<p><a href=\"/cgi-bin/server.cgi?cmd=blacklist&context=" << ctx
+ << "&itemId=" << item.itemName << "&url=" << pageUrl << "\">Blacklist this item</a></p>\n";
+ }
+ out << "<p><a href=\"/cgi-bin/server.cgi?cmd=view&baseline=" << baseline << "&rendered=" << rendered
<< "&compared=" << compared << "&url=" << pageUrl << "\">Inspect</a></p>\n"
<< "</td>\n";
}
diff --git a/tests/arthur/baselineserver/src/report.h b/tests/arthur/baselineserver/src/report.h
index d21102d..610497c 100644
--- a/tests/arthur/baselineserver/src/report.h
+++ b/tests/arthur/baselineserver/src/report.h
@@ -86,6 +86,7 @@ private:
int numItems;
int numMismatches;
QTextStream out;
+ bool hasOverride;
};
#endif // REPORT_H
diff --git a/tests/arthur/common/baselineprotocol.cpp b/tests/arthur/common/baselineprotocol.cpp
index 0fe3aa2..630ca88 100644
--- a/tests/arthur/common/baselineprotocol.cpp
+++ b/tests/arthur/common/baselineprotocol.cpp
@@ -83,7 +83,7 @@ void BaselineProtocol::sysSleep(int ms)
}
PlatformInfo::PlatformInfo()
- : QMap<QString, QString>(), replaceDefault(false)
+ : QMap<QString, QString>(), adHoc(true)
{
}
@@ -134,11 +134,15 @@ PlatformInfo PlatformInfo::localHostInfo()
pi.insert(PI_GitCommit, QLS("Unknown"));
QByteArray gb = qgetenv("PULSE_GIT_BRANCH");
- if (!gb.isEmpty())
+ if (!gb.isEmpty()) {
pi.insert(PI_PulseGitBranch, QString::fromLatin1(gb));
+ pi.setAdHocRun(false);
+ }
QByteArray tb = qgetenv("PULSE_TESTR_BRANCH");
- if (!tb.isEmpty())
+ if (!tb.isEmpty()) {
pi.insert(PI_PulseTestrBranch, QString::fromLatin1(tb));
+ pi.setAdHocRun(false);
+ }
return pi;
}
@@ -147,43 +151,49 @@ PlatformInfo PlatformInfo::localHostInfo()
PlatformInfo::PlatformInfo(const PlatformInfo &other)
: QMap<QString, QString>(other)
{
- sigKeys = other.sigKeys;
- replaceDefault = other.replaceDefault;
+ orides = other.orides;
+ adHoc = other.adHoc;
}
PlatformInfo &PlatformInfo::operator=(const PlatformInfo &other)
{
QMap<QString, QString>::operator=(other);
- sigKeys = other.sigKeys;
- replaceDefault = other.replaceDefault;
+ orides = other.orides;
+ adHoc = other.adHoc;
return *this;
}
-void PlatformInfo::addSignificantKeys(const QStringList &keys, bool replaceDefaultKeys)
+void PlatformInfo::addOverride(const QString& key, const QString& value)
+{
+ orides.append(key);
+ orides.append(value);
+}
+
+
+QStringList PlatformInfo::overrides() const
{
- sigKeys = keys;
- replaceDefault = replaceDefaultKeys;
+ return orides;
}
-QStringList PlatformInfo::addedKeys() const
+void PlatformInfo::setAdHocRun(bool isAdHoc)
{
- return sigKeys;
+ adHoc = isAdHoc;
}
-bool PlatformInfo::addedKeysReplaceDefault() const
+bool PlatformInfo::isAdHocRun() const
{
- return replaceDefault;
+ return adHoc;
}
QDataStream & operator<< (QDataStream &stream, const PlatformInfo &pi)
{
stream << static_cast<const QMap<QString, QString>&>(pi);
- stream << pi.sigKeys << pi.replaceDefault;
+ stream << pi.orides << pi.adHoc;
return stream;
}
@@ -191,7 +201,7 @@ QDataStream & operator<< (QDataStream &stream, const PlatformInfo &pi)
QDataStream & operator>> (QDataStream &stream, PlatformInfo &pi)
{
stream >> static_cast<QMap<QString, QString>&>(pi);
- stream >> pi.sigKeys >> pi.replaceDefault;
+ stream >> pi.orides >> pi.adHoc;
return stream;
}
@@ -346,7 +356,7 @@ BaselineProtocol::~BaselineProtocol()
}
-bool BaselineProtocol::connect(const QString &testCase, bool *dryrun)
+bool BaselineProtocol::connect(const QString &testCase, bool *dryrun, const PlatformInfo& clientInfo)
{
errMsg.clear();
QByteArray serverName(qgetenv("QT_LANCELOT_SERVER"));
@@ -362,7 +372,7 @@ bool BaselineProtocol::connect(const QString &testCase, bool *dryrun)
}
}
- PlatformInfo pi = PlatformInfo::localHostInfo();
+ PlatformInfo pi = clientInfo.isEmpty() ? PlatformInfo::localHostInfo() : clientInfo;
pi.insert(PI_TestCase, testCase);
QByteArray block;
QDataStream ds(&block, QIODevice::ReadWrite);
diff --git a/tests/arthur/common/baselineprotocol.h b/tests/arthur/common/baselineprotocol.h
index 2d09e68..0b08e44 100644
--- a/tests/arthur/common/baselineprotocol.h
+++ b/tests/arthur/common/baselineprotocol.h
@@ -78,13 +78,14 @@ public:
static PlatformInfo localHostInfo();
- void addSignificantKeys(const QStringList& keys, bool replaceDefaultKeys=false);
- QStringList addedKeys() const;
- bool addedKeysReplaceDefault() const;
+ void addOverride(const QString& key, const QString& value);
+ QStringList overrides() const;
+ bool isAdHocRun() const;
+ void setAdHocRun(bool isAdHoc);
private:
- QStringList sigKeys;
- bool replaceDefault;
+ QStringList orides;
+ bool adHoc;
friend QDataStream & operator<< (QDataStream &stream, const PlatformInfo &pi);
friend QDataStream & operator>> (QDataStream &stream, PlatformInfo& pi);
};
@@ -165,7 +166,7 @@ public:
// For client:
// For advanced client:
- bool connect(const QString &testCase, bool *dryrun = 0);
+ bool connect(const QString &testCase, bool *dryrun = 0, const PlatformInfo& clientInfo = PlatformInfo());
bool requestBaselineChecksums(const QString &testFunction, ImageItemList *itemList);
bool submitNewBaseline(const ImageItem &item, QByteArray *serverMsg);
bool submitMismatch(const ImageItem &item, QByteArray *serverMsg);
diff --git a/tests/arthur/common/paintcommands.cpp b/tests/arthur/common/paintcommands.cpp
index 298c699..f54d942 100644
--- a/tests/arthur/common/paintcommands.cpp
+++ b/tests/arthur/common/paintcommands.cpp
@@ -2454,7 +2454,11 @@ void PaintCommands::command_gradient_setRadialExtended(QRegExp re)
"focal radius=%.2f, spread=%d\n",
cx, cy, rad, fx, fy, frad, m_gradientSpread);
+#if QT_VERSION >= 0x040800
QRadialGradient rg(QPointF(cx, cy), rad, QPointF(fx, fy), frad);
+#else
+ QRadialGradient rg(QPointF(cx, cy), rad, QPointF(fx, fy));
+#endif
rg.setStops(m_gradientStops);
rg.setSpread(m_gradientSpread);
rg.setCoordinateMode(m_gradientCoordinate);
diff --git a/tests/auto/lancelot/tst_lancelot.cpp b/tests/auto/lancelot/tst_lancelot.cpp
index cba5fab..256ff29 100644
--- a/tests/auto/lancelot/tst_lancelot.cpp
+++ b/tests/auto/lancelot/tst_lancelot.cpp
@@ -62,6 +62,7 @@ public:
tst_Lancelot();
static bool simfail;
+ static PlatformInfo clientInfo;
private:
enum GraphicsEngine {
@@ -98,6 +99,7 @@ private slots:
};
bool tst_Lancelot::simfail = false;
+PlatformInfo tst_Lancelot::clientInfo;
tst_Lancelot::tst_Lancelot()
{
@@ -112,7 +114,7 @@ void tst_Lancelot::initTestCase()
#if defined(Q_OS_SOMEPLATFORM)
QSKIP("This test is not supported on this platform.", SkipAll);
#endif
- if (!proto.connect(QLatin1String("tst_Lancelot"), &dryRunMode))
+ if (!proto.connect(QLatin1String("tst_Lancelot"), &dryRunMode, clientInfo))
QSKIP(qPrintable(proto.errorMessage()), SkipAll);
#if defined(USE_RUNTIME_DIR)
@@ -329,13 +331,26 @@ QTEST_MAIN(tst_Lancelot)
int main(int argc, char *argv[])
{
+ tst_Lancelot::clientInfo = PlatformInfo::localHostInfo();
+
char *fargv[20];
int fargc = 0;
for (int i = 0; i < qMin(argc, 19); i++) {
- if (!qstrcmp(argv[i], "-simfail"))
+ if (!qstrcmp(argv[i], "-simfail")) {
tst_Lancelot::simfail = true;
- else
+ } else if (!qstrcmp(argv[i], "-compareto") && i < argc-1) {
+ QString arg = QString::fromLocal8Bit(argv[++i]);
+ int split = arg.indexOf(QLC('='));
+ if (split < 0)
+ continue;
+ QString key = arg.left(split).trimmed();
+ QString value = arg.mid(split+1).trimmed();
+ if (key.isEmpty() || value.isEmpty())
+ continue;
+ tst_Lancelot::clientInfo.addOverride(key, value);
+ } else {
fargv[fargc++] = argv[i];
+ }
}
fargv[fargc] = 0;
return rmain(fargc, fargv);