summaryrefslogtreecommitdiffstats
path: root/Programs
ModeNameSize
-rw-r--r--README67logstatsplain
-rw-r--r--_bootstrap_python.c2975logstatsplain
-rw-r--r--_freeze_module.c6436logstatsplain
-rw-r--r--_freeze_module.py1868logstatsplain
-rw-r--r--_testembed.c52101logstatsplain
-rw-r--r--freeze_test_frozenmain.py1237logstatsplain
-rw-r--r--python.c266logstatsplain
-rw-r--r--test_frozenmain.h1856logstatsplain
-rw-r--r--test_frozenmain.py444logstatsplain
3
-rwxr-xr-xbin/elf2e32_qtwrapper.pl225
-rwxr-xr-xbin/patch_capabilities.pl3
-rwxr-xr-xbin/syncqt14
-rw-r--r--config.tests/mac/coreservices/coreservices.mm48
-rw-r--r--config.tests/mac/coreservices/coreservices.pro3
-rw-r--r--config.tests/mac/corewlan/corewlan.pro2
-rw-r--r--config.tests/symbian/audio/audio.pro1
-rw-r--r--config.tests/symbian/simple/simple.pro1
-rw-r--r--config.tests/unix/doubleformat/doubleformattest.cpp4
-rw-r--r--config.tests/unix/opengldesktop/opengldesktop.cpp52
-rw-r--r--config.tests/unix/opengldesktop/opengldesktop.pro9
-rwxr-xr-xconfigure536
-rw-r--r--demos/books/books.pro4
-rw-r--r--demos/chip/view.cpp54
-rw-r--r--demos/chip/view.h32
-rw-r--r--demos/declarative/minehunt/minehunt.cpp4
-rw-r--r--demos/declarative/minehunt/minehunt.pro5
-rw-r--r--demos/declarative/samegame/SamegameCore/Button.qml4
-rwxr-xr-xdemos/declarative/samegame/SamegameCore/samegame.js198
-rw-r--r--demos/declarative/samegame/samegame.qml7
-rw-r--r--demos/declarative/snake/content/pics/pause.pngbin0 -> 4327 bytes-rw-r--r--demos/declarative/snake/content/snake.js4
-rw-r--r--demos/declarative/snake/snake.qml13
-rw-r--r--demos/declarative/twitter/twitter.qml2
-rw-r--r--demos/demos.pro2
-rw-r--r--demos/embedded/desktopservices/desktopservices.pro4
-rw-r--r--demos/embedded/fluidlauncher/fluidlauncher.pro80
-rw-r--r--demos/embedded/qmlcalculator/deployment.pri2
-rw-r--r--demos/embedded/qmlclocks/deployment.pri2
-rw-r--r--demos/embedded/qmldialcontrol/deployment.pri2
-rw-r--r--demos/embedded/qmleasing/deployment.pri2
-rw-r--r--demos/embedded/qmlflickr/deployment.pri2
-rw-r--r--demos/embedded/qmlphotoviewer/deployment.pri2
-rw-r--r--demos/embedded/qmltwitter/deployment.pri2
-rw-r--r--demos/qmediaplayer/main.cpp52
-rw-r--r--demos/qmediaplayer/mediaplayer.cpp24
-rw-r--r--demos/qmediaplayer/mediaplayer.h7
-rw-r--r--demos/qmediaplayer/qmediaplayer.pro2
-rw-r--r--demos/qtdemo/itemcircleanimation.h2
-rw-r--r--demos/qtdemo/mainwindow.cpp2
-rw-r--r--demos/qtdemo/mainwindow.h2
-rw-r--r--demos/qtdemo/qmlShell.qml2
-rw-r--r--demos/qtdemo/textbutton.h2
-rw-r--r--demos/qtdemo/xml/examples.xml1
-rw-r--r--demos/spectrum/3rdparty/fftreal/fftreal.pro2
-rw-r--r--demos/spectrum/app/app.pro13
-rw-r--r--demos/spectrum/app/engine.cpp333
-rw-r--r--demos/spectrum/app/engine.h59
-rw-r--r--demos/spectrum/app/levelmeter.h2
-rw-r--r--demos/spectrum/app/main.cpp2
-rw-r--r--demos/spectrum/app/mainwidget.cpp67
-rw-r--r--demos/spectrum/app/mainwidget.h10
-rw-r--r--demos/spectrum/app/progressbar.cpp26
-rw-r--r--demos/spectrum/app/progressbar.h4
-rw-r--r--demos/spectrum/app/spectrograph.h2
-rw-r--r--demos/spectrum/app/spectrumanalyser.cpp4
-rw-r--r--demos/spectrum/app/utils.cpp4
-rw-r--r--demos/spectrum/app/waveform.cpp120
-rw-r--r--demos/spectrum/app/waveform.h14
-rw-r--r--demos/spectrum/app/wavfile.cpp199
-rw-r--r--demos/spectrum/app/wavfile.h35
-rw-r--r--demos/spectrum/spectrum.pri12
-rw-r--r--demos/spreadsheet/spreadsheet.cpp2
-rw-r--r--demos/symbianpkgrules.pri4
-rw-r--r--demos/textedit/textedit.qdoc10
-rw-r--r--dist/changes-4.6.44
-rw-r--r--dist/changes-4.7.1328
-rw-r--r--dist/changes-4.7.2158
-rw-r--r--dist/changes-4.8.02
-rw-r--r--doc/src/bughowto.qdoc14
-rw-r--r--doc/src/classes.qdoc10
-rw-r--r--doc/src/classes/exportedfunctions.qdoc10
-rw-r--r--doc/src/classes/phonon-api.qdoc123
-rw-r--r--doc/src/classes/phonon-namespace.qdoc10
-rw-r--r--doc/src/credits.qdoc10
-rw-r--r--doc/src/declarative/advtutorial.qdoc10
-rw-r--r--doc/src/declarative/anchor-layout.qdoc10
-rw-r--r--doc/src/declarative/animation.qdoc10
-rw-r--r--doc/src/declarative/basictypes.qdoc97
-rw-r--r--doc/src/declarative/codingconventions.qdoc10
-rw-r--r--doc/src/declarative/declarativeui.qdoc10
-rw-r--r--doc/src/declarative/dynamicobjects.qdoc16
-rw-r--r--doc/src/declarative/elements.qdoc116
-rw-r--r--doc/src/declarative/example-slideswitch.qdoc10
-rw-r--r--doc/src/declarative/examples.qdoc10
-rw-r--r--doc/src/declarative/extending-tutorial.qdoc44
-rw-r--r--doc/src/declarative/extending.qdoc38
-rw-r--r--doc/src/declarative/focus.qdoc10
-rw-r--r--doc/src/declarative/globalobject.qdoc10
-rw-r--r--doc/src/declarative/integrating.qdoc12
-rw-r--r--doc/src/declarative/javascriptblocks.qdoc10
-rw-r--r--doc/src/declarative/modules.qdoc10
-rw-r--r--doc/src/declarative/network.qdoc10
-rw-r--r--doc/src/declarative/positioners.qdoc10
-rw-r--r--doc/src/declarative/propertybinding.qdoc10
-rw-r--r--doc/src/declarative/qdeclarativedebugging.qdoc10
-rw-r--r--doc/src/declarative/qdeclarativedocument.qdoc10
-rw-r--r--doc/src/declarative/qdeclarativei18n.qdoc10
-rw-r--r--doc/src/declarative/qdeclarativeintro.qdoc16
-rw-r--r--doc/src/declarative/qdeclarativemodels.qdoc10
-rw-r--r--doc/src/declarative/qdeclarativeperformance.qdoc10
-rw-r--r--doc/src/declarative/qdeclarativereference.qdoc10
-rw-r--r--doc/src/declarative/qdeclarativesecurity.qdoc10
-rw-r--r--doc/src/declarative/qdeclarativestates.qdoc10
-rw-r--r--doc/src/declarative/qml-intro.qdoc10
-rw-r--r--doc/src/declarative/qmlruntime.qdoc10
-rw-r--r--doc/src/declarative/qmlviewer.qdoc10
-rw-r--r--doc/src/declarative/qtbinding.qdoc641
-rw-r--r--doc/src/declarative/qtdeclarative.qdoc10
-rw-r--r--doc/src/declarative/qtprogrammers.qdoc10
-rw-r--r--doc/src/declarative/scope.qdoc10
-rw-r--r--doc/src/declarative/tutorial.qdoc10
-rw-r--r--doc/src/declarative/whatsnew.qdoc10
-rw-r--r--doc/src/demos/affine.qdoc10
-rw-r--r--doc/src/demos/anomaly.qdoc10
-rw-r--r--doc/src/demos/arthurplugin.qdoc10
-rw-r--r--doc/src/demos/books.qdoc10
-rw-r--r--doc/src/demos/boxes.qdoc10
-rw-r--r--doc/src/demos/browser.qdoc10
-rw-r--r--doc/src/demos/chip.qdoc10
-rw-r--r--doc/src/demos/composition.qdoc10
-rw-r--r--doc/src/demos/deform.qdoc10
-rw-r--r--doc/src/demos/desktopservices.qdoc10
-rw-r--r--doc/src/demos/digiflip.qdoc10
-rw-r--r--doc/src/demos/embeddeddialogs.qdoc10
-rw-r--r--doc/src/demos/embeddedsvgviewer.qdoc10
-rw-r--r--doc/src/demos/flickable.qdoc10
-rw-r--r--doc/src/demos/flightinfo.qdoc10
-rw-r--r--doc/src/demos/fluidlauncher.qdoc10
-rw-r--r--doc/src/demos/gradients.qdoc10
-rw-r--r--doc/src/demos/interview.qdoc10
-rw-r--r--doc/src/demos/lightmaps.qdoc10
-rw-r--r--doc/src/demos/macmainwindow.qdoc10
-rw-r--r--doc/src/demos/mainwindow.qdoc10
-rw-r--r--doc/src/demos/mediaplayer.qdoc10
-rw-r--r--doc/src/demos/pathstroke.qdoc10
-rw-r--r--doc/src/demos/qtdemo.qdoc10
-rw-r--r--doc/src/demos/raycasting.qdoc10
-rw-r--r--doc/src/demos/spectrum.qdoc10
-rw-r--r--doc/src/demos/spreadsheet.qdoc10
-rw-r--r--doc/src/demos/sqlbrowser.qdoc10
-rw-r--r--doc/src/demos/styledemo.qdoc10
-rw-r--r--doc/src/demos/sub-attaq.qdoc10
-rw-r--r--doc/src/demos/textedit.qdoc10
-rw-r--r--doc/src/demos/undo.qdoc10
-rw-r--r--doc/src/demos/weatherinfo.qdoc10
-rw-r--r--doc/src/deployment/deployment-plugins.qdoc10
-rw-r--r--doc/src/deployment/deployment.qdoc11
-rw-r--r--doc/src/deployment/qt-conf.qdoc10
-rw-r--r--doc/src/deployment/qtconfig.qdoc10
-rw-r--r--doc/src/development/activeqt-dumpcpp.qdoc10
-rw-r--r--doc/src/development/activeqt-dumpdoc.qdoc10
-rw-r--r--doc/src/development/activeqt-idc.qdoc10
-rw-r--r--doc/src/development/activeqt-testcon.qdoc10
-rw-r--r--doc/src/development/assistant-manual.qdoc10
-rw-r--r--doc/src/development/debug.qdoc10
-rw-r--r--doc/src/development/designer-manual.qdoc166
-rw-r--r--doc/src/development/developing-on-mac.qdoc10
-rw-r--r--doc/src/development/developing-with-qt.qdoc16
-rw-r--r--doc/src/development/moc.qdoc10
-rw-r--r--doc/src/development/qmake-manual.qdoc37
-rw-r--r--doc/src/development/qmsdev.qdoc10
-rw-r--r--doc/src/development/qtestlib.qdoc44
-rw-r--r--doc/src/development/rcc.qdoc10
-rw-r--r--doc/src/development/tools-list.qdoc10
-rw-r--r--doc/src/development/uic.qdoc10
-rw-r--r--doc/src/examples/2dpainting.qdoc10
-rw-r--r--doc/src/examples/activeqt/comapp.qdoc10
-rw-r--r--doc/src/examples/activeqt/dotnet.qdoc10
-rw-r--r--doc/src/examples/activeqt/hierarchy.qdoc10
-rw-r--r--doc/src/examples/activeqt/menus.qdoc10
-rw-r--r--doc/src/examples/activeqt/multiple.qdoc10
-rw-r--r--doc/src/examples/activeqt/opengl.qdoc10
-rw-r--r--doc/src/examples/activeqt/qutlook.qdoc10
-rw-r--r--doc/src/examples/activeqt/simple.qdoc10
-rw-r--r--doc/src/examples/activeqt/webbrowser.qdoc10
-rw-r--r--doc/src/examples/activeqt/wrapper.qdoc10
-rw-r--r--doc/src/examples/addressbook.qdoc10
-rw-r--r--doc/src/examples/analogclock.qdoc10
-rw-r--r--doc/src/examples/animatedtiles.qdoc10
-rw-r--r--doc/src/examples/appchooser.qdoc10
-rw-r--r--doc/src/examples/application.qdoc10
-rw-r--r--doc/src/examples/arrowpad.qdoc10
-rw-r--r--doc/src/examples/audiodevices.qdoc10
-rw-r--r--doc/src/examples/audioinput.qdoc10
-rw-r--r--doc/src/examples/audiooutput.qdoc10
-rw-r--r--doc/src/examples/basicdrawing.qdoc10
-rw-r--r--doc/src/examples/basicgraphicslayouts.qdoc10
-rw-r--r--doc/src/examples/basiclayouts.qdoc12
-rw-r--r--doc/src/examples/basicsortfiltermodel.qdoc10
-rw-r--r--doc/src/examples/bearercloud.qdoc10
-rw-r--r--doc/src/examples/bearermonitor.qdoc10
-rw-r--r--doc/src/examples/blockingfortuneclient.qdoc10
-rw-r--r--doc/src/examples/blurpicker.qdoc10
-rw-r--r--doc/src/examples/borderlayout.qdoc10
-rw-r--r--doc/src/examples/broadcastreceiver.qdoc10
-rw-r--r--doc/src/examples/broadcastsender.qdoc10
-rw-r--r--doc/src/examples/cachedtable.qdoc10
-rw-r--r--doc/src/examples/calculator.qdoc10
-rw-r--r--doc/src/examples/calculatorbuilder.qdoc10
-rw-r--r--doc/src/examples/calculatorform.qdoc10
-rw-r--r--doc/src/examples/calendar.qdoc10
-rw-r--r--doc/src/examples/calendarwidget.qdoc10
-rw-r--r--doc/src/examples/capabilitiesexample.qdoc10
-rw-r--r--doc/src/examples/charactermap.qdoc10
-rw-r--r--doc/src/examples/chart.qdoc10
-rw-r--r--doc/src/examples/classwizard.qdoc10
-rw-r--r--doc/src/examples/codecs.qdoc10
-rw-r--r--doc/src/examples/codeeditor.qdoc10
-rw-r--r--doc/src/examples/collidingmice-example.qdoc10
-rw-r--r--doc/src/examples/coloreditorfactory.qdoc10
-rw-r--r--doc/src/examples/combowidgetmapper.qdoc10
-rw-r--r--doc/src/examples/completer.qdoc10
-rw-r--r--doc/src/examples/complexpingpong.qdoc10
-rw-r--r--doc/src/examples/concentriccircles.qdoc10
-rw-r--r--doc/src/examples/configdialog.qdoc10
-rw-r--r--doc/src/examples/containerextension.qdoc10
-rw-r--r--doc/src/examples/context2d.qdoc10
-rw-r--r--doc/src/examples/contextsensitivehelp.qdoc10
-rw-r--r--doc/src/examples/contiguouscache.qdoc10
-rw-r--r--doc/src/examples/customcompleter.qdoc10
-rw-r--r--doc/src/examples/customsortfiltermodel.qdoc10
-rw-r--r--doc/src/examples/customtype.qdoc10
-rw-r--r--doc/src/examples/customtypesending.qdoc27
-rw-r--r--doc/src/examples/customwidgetplugin.qdoc10
-rw-r--r--doc/src/examples/dbscreen.qdoc10
-rw-r--r--doc/src/examples/dbus-chat.qdoc10
-rw-r--r--doc/src/examples/dbus-listnames.qdoc10
-rw-r--r--doc/src/examples/dbus-pingpong.qdoc10
-rw-r--r--doc/src/examples/dbus-remotecontrolledcar.qdoc10
-rw-r--r--doc/src/examples/defaultprototypes.qdoc10
-rw-r--r--doc/src/examples/delayedencoding.qdoc10
-rw-r--r--doc/src/examples/diagramscene.qdoc10
-rw-r--r--doc/src/examples/digitalclock.qdoc10
-rw-r--r--doc/src/examples/dirview.qdoc10
-rw-r--r--doc/src/examples/dockwidgets.qdoc10
-rw-r--r--doc/src/examples/dombookmarks.qdoc10
-rw-r--r--doc/src/examples/domtraversal.qdoc10
-rw-r--r--doc/src/examples/draganddroppuzzle.qdoc10
-rw-r--r--doc/src/examples/dragdroprobot.qdoc10
-rw-r--r--doc/src/examples/draggableicons.qdoc10
-rw-r--r--doc/src/examples/draggabletext.qdoc10
-rw-r--r--doc/src/examples/drilldown.qdoc10
-rw-r--r--doc/src/examples/dropsite.qdoc10
-rw-r--r--doc/src/examples/dynamiclayouts.qdoc10
-rw-r--r--doc/src/examples/easing.qdoc10
-rw-r--r--doc/src/examples/echoplugin.qdoc10
-rw-r--r--doc/src/examples/editabletreemodel.qdoc10
-rw-r--r--doc/src/examples/elasticnodes.qdoc10
-rw-r--r--doc/src/examples/eventtransitions.qdoc10
-rw-r--r--doc/src/examples/extension.qdoc10
-rw-r--r--doc/src/examples/factorial.qdoc10
-rw-r--r--doc/src/examples/fademessage.qdoc10
-rw-r--r--doc/src/examples/fancybrowser.qdoc10
-rw-r--r--doc/src/examples/fetchmore.qdoc10
-rw-r--r--doc/src/examples/filetree.qdoc10
-rw-r--r--doc/src/examples/findfiles.qdoc10
-rw-r--r--doc/src/examples/fingerpaint.qdoc10
-rw-r--r--doc/src/examples/flowlayout.qdoc10
-rw-r--r--doc/src/examples/fontsampler.qdoc10
-rw-r--r--doc/src/examples/formextractor.qdoc10
-rw-r--r--doc/src/examples/fortuneclient.qdoc10
-rw-r--r--doc/src/examples/fortuneserver.qdoc10
-rw-r--r--doc/src/examples/framebufferobject.qdoc10
-rw-r--r--doc/src/examples/framebufferobject2.qdoc10
-rw-r--r--doc/src/examples/fridgemagnets.qdoc10
-rw-r--r--doc/src/examples/frozencolumn.qdoc10
-rw-r--r--doc/src/examples/ftp.qdoc10
-rw-r--r--doc/src/examples/globalVariables.qdoc10
-rw-r--r--doc/src/examples/googlechat.qdoc10
-rw-r--r--doc/src/examples/googlesuggest.qdoc10
-rw-r--r--doc/src/examples/grabber.qdoc10
-rw-r--r--doc/src/examples/graphicsview-anchorlayout.qdoc10
-rw-r--r--doc/src/examples/graphicsview-flowlayout.qdoc10
-rw-r--r--doc/src/examples/graphicsview-simpleanchorlayout.qdoc10
-rw-r--r--doc/src/examples/graphicsview-weatheranchorlayout.qdoc10
-rw-r--r--doc/src/examples/groupbox.qdoc10
-rw-r--r--doc/src/examples/hellogl.qdoc10
-rw-r--r--doc/src/examples/hellogl_es.qdoc10
-rw-r--r--doc/src/examples/helloscript.qdoc10
-rw-r--r--doc/src/examples/hellotr.qdoc10
-rw-r--r--doc/src/examples/htmlinfo.qdoc10
-rw-r--r--doc/src/examples/http.qdoc10
-rw-r--r--doc/src/examples/i18n.qdoc10
-rw-r--r--doc/src/examples/icons.qdoc10
-rw-r--r--doc/src/examples/imagecomposition.qdoc10
-rw-r--r--doc/src/examples/imagegestures.qdoc10
-rw-r--r--doc/src/examples/imageviewer.qdoc10
-rw-r--r--doc/src/examples/inputpanel.qdoc10
-rw-r--r--doc/src/examples/itemviewspuzzle.qdoc10
-rw-r--r--doc/src/examples/licensewizard.qdoc10
-rw-r--r--doc/src/examples/lighting.qdoc10
-rw-r--r--doc/src/examples/lineedits.qdoc10
-rw-r--r--doc/src/examples/localfortuneclient.qdoc10
-rw-r--r--doc/src/examples/localfortuneserver.qdoc10
-rw-r--r--doc/src/examples/loopback.qdoc10
-rw-r--r--doc/src/examples/mandelbrot.qdoc10
-rw-r--r--doc/src/examples/masterdetail.qdoc10
-rw-r--r--doc/src/examples/mdi.qdoc10
-rw-r--r--doc/src/examples/menus.qdoc10
-rw-r--r--doc/src/examples/mousecalibration.qdoc10
-rw-r--r--doc/src/examples/moveblocks.qdoc10
-rw-r--r--doc/src/examples/movie.qdoc10
-rw-r--r--doc/src/examples/multipleinheritance.qdoc10
-rw-r--r--doc/src/examples/musicplayerexample.qdoc10
-rw-r--r--doc/src/examples/network-chat.qdoc10
-rw-r--r--doc/src/examples/network-download.qdoc10
-rw-r--r--doc/src/examples/network-downloadmanager.qdoc10
-rw-r--r--doc/src/examples/openvg-star.qdoc10
-rw-r--r--doc/src/examples/orderform.qdoc10
-rw-r--r--doc/src/examples/overpainting.qdoc10
-rw-r--r--doc/src/examples/padnavigator.qdoc10
-rw-r--r--doc/src/examples/painterpaths.qdoc10
-rw-r--r--doc/src/examples/pbuffers.qdoc10
-rw-r--r--doc/src/examples/pbuffers2.qdoc10
-rw-r--r--doc/src/examples/pinchzoom.qdoc10
-rw-r--r--doc/src/examples/pingpong.qdoc10
-rw-r--r--doc/src/examples/pixelator.qdoc10
-rw-r--r--doc/src/examples/plugandpaint.qdoc10
-rw-r--r--doc/src/examples/portedasteroids.qdoc10
-rw-r--r--doc/src/examples/portedcanvas.qdoc10
-rw-r--r--doc/src/examples/previewer.qdoc10
-rw-r--r--doc/src/examples/qml-calculator.qdoc10
-rw-r--r--doc/src/examples/qml-examples.qdoc41
-rw-r--r--doc/src/examples/qml-extending.qdoc10
-rw-r--r--doc/src/examples/qml-flickr.qdoc10
-rw-r--r--doc/src/examples/qml-folderlistmodel.qdoc10
-rw-r--r--doc/src/examples/qml-minehunt.qdoc10
-rw-r--r--doc/src/examples/qml-photoviewer.qdoc10
-rw-r--r--doc/src/examples/qml-rssnews.qdoc10
-rw-r--r--doc/src/examples/qml-samegame.qdoc10
-rw-r--r--doc/src/examples/qml-snake.qdoc10
-rw-r--r--doc/src/examples/qml-twitter.qdoc10
-rw-r--r--doc/src/examples/qml-webbrowser.qdoc10
-rw-r--r--doc/src/examples/qobjectxmlmodel.qdoc10
-rw-r--r--doc/src/examples/qtconcurrent-imagescaling.qdoc10
-rw-r--r--doc/src/examples/qtconcurrent-map.qdoc10
-rw-r--r--doc/src/examples/qtconcurrent-progressdialog.qdoc10
-rw-r--r--doc/src/examples/qtconcurrent-runfunction.qdoc10
-rw-r--r--doc/src/examples/qtconcurrent-wordcount.qdoc10
-rw-r--r--doc/src/examples/qtscriptcalculator.qdoc10
-rw-r--r--doc/src/examples/qtscriptcustomclass.qdoc10
-rw-r--r--doc/src/examples/qtscripttetrix.qdoc10
-rw-r--r--doc/src/examples/querymodel.qdoc10
-rw-r--r--doc/src/examples/queuedcustomtype.qdoc10
-rw-r--r--doc/src/examples/qxmlstreambookmarks.qdoc10
-rw-r--r--doc/src/examples/recentfiles.qdoc10
-rw-r--r--doc/src/examples/recipes.qdoc10
-rw-r--r--doc/src/examples/regexp.qdoc10
-rw-r--r--doc/src/examples/relationaltablemodel.qdoc10
-rw-r--r--doc/src/examples/remotecontrol.qdoc10
-rw-r--r--doc/src/examples/rogue.qdoc10
-rw-r--r--doc/src/examples/rsslisting.qdoc10
-rw-r--r--doc/src/examples/samplebuffers.qdoc10
-rw-r--r--doc/src/examples/saxbookmarks.qdoc10
-rw-r--r--doc/src/examples/schema.qdoc10
-rw-r--r--doc/src/examples/screenshot.qdoc10
-rw-r--r--doc/src/examples/scribble.qdoc10
-rw-r--r--doc/src/examples/script-marshal.qdoc10
-rw-r--r--doc/src/examples/script-qscript.qdoc10
-rw-r--r--doc/src/examples/script-qsdbg.qdoc10
-rw-r--r--doc/src/examples/sdi.qdoc10
-rw-r--r--doc/src/examples/securesocketclient.qdoc10
-rw-r--r--doc/src/examples/semaphores.qdoc10
-rw-r--r--doc/src/examples/settingseditor.qdoc10
-rw-r--r--doc/src/examples/shapedclock.qdoc10
-rw-r--r--doc/src/examples/sharedmemory.qdoc10
-rw-r--r--doc/src/examples/simpledecoration.qdoc10
-rw-r--r--doc/src/examples/simpledommodel.qdoc10
-rw-r--r--doc/src/examples/simpleselector.qdoc10
-rw-r--r--doc/src/examples/simpletextviewer.qdoc10
-rw-r--r--doc/src/examples/simpletreemodel.qdoc10
-rw-r--r--doc/src/examples/simplewidgetmapper.qdoc10
-rw-r--r--doc/src/examples/sipdialog.qdoc10
-rw-r--r--doc/src/examples/sliders.qdoc10
-rw-r--r--doc/src/examples/spinboxdelegate.qdoc10
-rw-r--r--doc/src/examples/spinboxes.qdoc10
-rw-r--r--doc/src/examples/sqlwidgetmapper.qdoc10
-rw-r--r--doc/src/examples/standarddialogs.qdoc10
-rw-r--r--doc/src/examples/stardelegate.qdoc10
-rw-r--r--doc/src/examples/states.qdoc10
-rw-r--r--doc/src/examples/stickman.qdoc10
-rw-r--r--doc/src/examples/styleplugin.qdoc10
-rw-r--r--doc/src/examples/styles.qdoc10
-rw-r--r--doc/src/examples/stylesheet.qdoc10
-rw-r--r--doc/src/examples/svgalib.qdoc10
-rw-r--r--doc/src/examples/svggenerator.qdoc10
-rw-r--r--doc/src/examples/svgviewer.qdoc10
-rw-r--r--doc/src/examples/syntaxhighlighter.qdoc10
-rw-r--r--doc/src/examples/systray.qdoc10
-rw-r--r--doc/src/examples/tabdialog.qdoc10
-rw-r--r--doc/src/examples/tablemodel.qdoc10
-rw-r--r--doc/src/examples/tablet.qdoc10
-rw-r--r--doc/src/examples/taskmenuextension.qdoc10
-rw-r--r--doc/src/examples/tetrix.qdoc10
-rw-r--r--doc/src/examples/textfinder.qdoc10
-rw-r--r--doc/src/examples/textobject.qdoc10
-rw-r--r--doc/src/examples/textures.qdoc10
-rw-r--r--doc/src/examples/threadedfortuneserver.qdoc10
-rw-r--r--doc/src/examples/tooltips.qdoc10
-rw-r--r--doc/src/examples/torrent.qdoc10
-rw-r--r--doc/src/examples/touch-dials.qdoc10
-rw-r--r--doc/src/examples/touch-knobs.qdoc10
-rw-r--r--doc/src/examples/trafficinfo.qdoc10
-rw-r--r--doc/src/examples/trafficlight.qdoc10
-rw-r--r--doc/src/examples/transformations.qdoc10
-rw-r--r--doc/src/examples/treemodelcompleter.qdoc10
-rw-r--r--doc/src/examples/trivialwizard.qdoc10
-rw-r--r--doc/src/examples/trollprint.qdoc10
-rw-r--r--doc/src/examples/twowaybutton.qdoc10
-rw-r--r--doc/src/examples/undoframework.qdoc10
-rw-r--r--doc/src/examples/videographicsitem.qdoc10
-rw-r--r--doc/src/examples/videowidget.qdoc10
-rw-r--r--doc/src/examples/waitconditions.qdoc10
-rw-r--r--doc/src/examples/webkit-bridge-imageanalyzer.qdoc160
-rw-r--r--doc/src/examples/webkit-framecapture.qdoc10
-rw-r--r--doc/src/examples/widgets-softkeys.qdoc10
-rw-r--r--doc/src/examples/widgets-validators.qdoc10
-rw-r--r--doc/src/examples/wiggly.qdoc10
-rw-r--r--doc/src/examples/windowflags.qdoc10
-rw-r--r--doc/src/examples/worldtimeclockbuilder.qdoc10
-rw-r--r--doc/src/examples/worldtimeclockplugin.qdoc10
-rw-r--r--doc/src/examples/xmlstreamlint.qdoc10
-rw-r--r--doc/src/external-resources.qdoc17
-rw-r--r--doc/src/files-and-resources/datastreamformat.qdoc10
-rw-r--r--doc/src/files-and-resources/resources.qdoc10
-rw-r--r--doc/src/frameworks-technologies/accessible.qdoc10
-rw-r--r--doc/src/frameworks-technologies/activeqt-container.qdoc10
-rw-r--r--doc/src/frameworks-technologies/activeqt-server.qdoc10
-rw-r--r--doc/src/frameworks-technologies/activeqt.qdoc10
-rw-r--r--doc/src/frameworks-technologies/animation.qdoc10
-rw-r--r--doc/src/frameworks-technologies/containers.qdoc10
-rw-r--r--doc/src/frameworks-technologies/dbus-adaptors.qdoc10
-rw-r--r--doc/src/frameworks-technologies/dbus-intro.qdoc10
-rw-r--r--doc/src/frameworks-technologies/desktop-integration.qdoc10
-rw-r--r--doc/src/frameworks-technologies/dnd.qdoc12
-rw-r--r--doc/src/frameworks-technologies/eventsandfilters.qdoc10
-rw-r--r--doc/src/frameworks-technologies/gestures.qdoc10
-rw-r--r--doc/src/frameworks-technologies/graphicsview.qdoc10
-rw-r--r--doc/src/frameworks-technologies/implicit-sharing.qdoc10
-rw-r--r--doc/src/frameworks-technologies/ipc.qdoc10
-rw-r--r--doc/src/frameworks-technologies/model-view-programming.qdoc22
-rw-r--r--doc/src/frameworks-technologies/phonon.qdoc29
-rw-r--r--doc/src/frameworks-technologies/plugins-howto.qdoc10
-rw-r--r--doc/src/frameworks-technologies/qthelp.qdoc10
-rw-r--r--doc/src/frameworks-technologies/qundo.qdoc10
-rw-r--r--doc/src/frameworks-technologies/richtext.qdoc10
-rw-r--r--doc/src/frameworks-technologies/statemachine.qdoc10
-rw-r--r--doc/src/frameworks-technologies/templates.qdoc10
-rw-r--r--doc/src/frameworks-technologies/threads.qdoc14
-rw-r--r--doc/src/frameworks-technologies/unicode.qdoc10
-rw-r--r--doc/src/getting-started/demos.qdoc10
-rw-r--r--doc/src/getting-started/examples.qdoc22
-rw-r--r--doc/src/getting-started/gettingstarted.qdoc10
-rw-r--r--doc/src/getting-started/gettingstartedqml.qdoc115
-rw-r--r--doc/src/getting-started/gettingstartedqt.qdoc10
-rw-r--r--doc/src/getting-started/how-to-learn-qt.qdoc10
-rw-r--r--doc/src/getting-started/installation.qdoc297
-rw-r--r--doc/src/getting-started/known-issues.qdoc10
-rw-r--r--doc/src/getting-started/tutorials.qdoc10
-rw-r--r--doc/src/howtos/HWacceleration.qdoc10
-rw-r--r--doc/src/howtos/accelerators.qdoc10
-rw-r--r--doc/src/howtos/appicon.qdoc10
-rw-r--r--doc/src/howtos/custom-types.qdoc10
-rw-r--r--doc/src/howtos/exceptionsafety.qdoc10
-rw-r--r--doc/src/howtos/guibooks.qdoc10
-rw-r--r--doc/src/howtos/openvg.qdoc10
-rw-r--r--doc/src/howtos/qtdesigner.qdoc10
-rw-r--r--doc/src/howtos/restoring-geometry.qdoc10
-rw-r--r--doc/src/howtos/session.qdoc10
-rw-r--r--doc/src/howtos/sharedlibrary.qdoc10
-rw-r--r--doc/src/howtos/timers.qdoc10
-rw-r--r--doc/src/howtos/unix-signal-handlers.qdoc12
-rw-r--r--doc/src/images/webkit-imageanalyzer-complete.pngbin0 -> 10257 bytes-rw-r--r--doc/src/images/webkit-imageanalyzer-progress.pngbin0 -> 18240 bytes-rw-r--r--doc/src/images/webkit-imageanalyzer-screenshot.pngbin0 -> 56053 bytes-rw-r--r--doc/src/index.qdoc12
-rw-r--r--doc/src/internationalization/i18n.qdoc10
-rw-r--r--doc/src/internationalization/linguist-manual.qdoc10
-rw-r--r--doc/src/ja_JP/development/designer-manual.qdoc10
-rw-r--r--doc/src/ja_JP/development/qmake-manual.qdoc10
-rw-r--r--doc/src/ja_JP/development/qtestlib.qdoc10
-rw-r--r--doc/src/ja_JP/examples/arrowpad.qdoc10
-rw-r--r--doc/src/ja_JP/examples/hellotr.qdoc10
-rw-r--r--doc/src/ja_JP/examples/trollprint.qdoc10
-rw-r--r--doc/src/ja_JP/getting-started/tutorials.qdoc10
-rw-r--r--doc/src/ja_JP/tutorials/addressbook.qdoc10
-rw-r--r--doc/src/ja_JP/tutorials/widgets-tutorial.qdoc10
-rw-r--r--doc/src/legal/3rdparty.qdoc10
-rw-r--r--doc/src/legal/commercialeditions.qdoc10
-rw-r--r--doc/src/legal/editions.qdoc10
-rw-r--r--doc/src/legal/gpl.qdoc10
-rw-r--r--doc/src/legal/licenses.qdoc10
-rw-r--r--doc/src/legal/opensourceedition.qdoc12
-rw-r--r--doc/src/legal/trademarks.qdoc22
-rw-r--r--doc/src/modules.qdoc14
-rw-r--r--doc/src/network-programming/bearermanagement.qdoc10
-rw-r--r--doc/src/network-programming/qtnetwork.qdoc10
-rw-r--r--doc/src/network-programming/ssl.qdoc10
-rw-r--r--doc/src/objectmodel/metaobjects.qdoc10
-rw-r--r--doc/src/objectmodel/object.qdoc10
-rw-r--r--doc/src/objectmodel/objecttrees.qdoc10
-rw-r--r--doc/src/objectmodel/properties.qdoc10
-rw-r--r--doc/src/objectmodel/signalsandslots.qdoc10
-rw-r--r--doc/src/overviews.qdoc12
-rw-r--r--doc/src/painting-and-printing/coordsys.qdoc10
-rw-r--r--doc/src/painting-and-printing/paintsystem.qdoc10
-rw-r--r--doc/src/painting-and-printing/printing.qdoc10
-rw-r--r--doc/src/platforms/atomic-operations.qdoc10
-rw-r--r--doc/src/platforms/compiler-notes.qdoc279
-rw-r--r--doc/src/platforms/emb-HwAcc-LinuxEmbedded.qdoc10
-rw-r--r--doc/src/platforms/emb-HwAcc-WinCE.qdoc10
-rw-r--r--doc/src/platforms/emb-accel.qdoc10
-rw-r--r--doc/src/platforms/emb-architecture.qdoc10
-rw-r--r--doc/src/platforms/emb-charinput.qdoc10
-rw-r--r--doc/src/platforms/emb-crosscompiling.qdoc10
-rw-r--r--doc/src/platforms/emb-deployment.qdoc12
-rw-r--r--doc/src/platforms/emb-differences.qdoc10
-rw-r--r--doc/src/platforms/emb-directfb-EmbLinux.qdoc10
-rw-r--r--doc/src/platforms/emb-displaymanagement.qdoc10
-rw-r--r--doc/src/platforms/emb-envvars.qdoc10
-rw-r--r--doc/src/platforms/emb-features.qdoc10
-rw-r--r--doc/src/platforms/emb-fonts.qdoc10
-rw-r--r--doc/src/platforms/emb-framebuffer-howto.qdoc10
-rw-r--r--doc/src/platforms/emb-hardwareacceleration.qdocinc280
-rw-r--r--doc/src/platforms/emb-install.qdoc16
-rw-r--r--doc/src/platforms/emb-kmap2qmap.qdoc10
-rw-r--r--doc/src/platforms/emb-makeqpf.qdoc10
-rw-r--r--doc/src/platforms/emb-opengl-EmbLinux.qdoc10
-rw-r--r--doc/src/platforms/emb-openvg-EmbLinux.qdoc10
-rw-r--r--doc/src/platforms/emb-performance.qdoc10
-rw-r--r--doc/src/platforms/emb-pointer.qdoc17
-rw-r--r--doc/src/platforms/emb-porting.qdoc10
-rw-r--r--doc/src/platforms/emb-qvfb.qdoc14
-rw-r--r--doc/src/platforms/emb-running.qdoc12
-rw-r--r--doc/src/platforms/emb-vnc.qdoc10
-rw-r--r--doc/src/platforms/mac-differences.qdoc12
-rw-r--r--doc/src/platforms/platform-notes-rtos.qdoc18
-rw-r--r--doc/src/platforms/platform-notes.qdoc359
-rw-r--r--doc/src/platforms/qt-embedded-linux.qdoc12
-rw-r--r--doc/src/platforms/qt-embedded.qdoc10
-rw-r--r--doc/src/platforms/qtmac-as-native.qdoc10
-rw-r--r--doc/src/platforms/supported-platforms.qdoc21
-rw-r--r--doc/src/platforms/symbian-exceptionsafety.qdoc10
-rw-r--r--doc/src/platforms/symbian-introduction.qdoc22
-rw-r--r--doc/src/platforms/wince-customization.qdoc12
-rw-r--r--doc/src/platforms/wince-introduction.qdoc16
-rw-r--r--doc/src/platforms/wince-opengl.qdoc10
-rw-r--r--doc/src/platforms/wince-openvg.qdoc10
-rw-r--r--doc/src/platforms/wince-signing.qdoc10
-rw-r--r--doc/src/platforms/winsystem.qdoc14
-rw-r--r--doc/src/platforms/x11overlays.qdoc10
-rw-r--r--doc/src/porting/porting-qsa.qdoc10
-rw-r--r--doc/src/porting/porting4-canvas.qdoc10
-rw-r--r--doc/src/porting/porting4-designer.qdoc10
-rw-r--r--doc/src/porting/porting4-dnd.qdoc10
-rw-r--r--doc/src/porting/porting4-overview.qdoc10
-rw-r--r--doc/src/porting/porting4.qdoc10
-rw-r--r--doc/src/porting/qt3to4.qdoc10
-rw-r--r--doc/src/porting/qt4-accessibility.qdoc10
-rw-r--r--doc/src/porting/qt4-arthur.qdoc10
-rw-r--r--doc/src/porting/qt4-designer.qdoc28
-rw-r--r--doc/src/porting/qt4-interview.qdoc10
-rw-r--r--doc/src/porting/qt4-mainwindow.qdoc10
-rw-r--r--doc/src/porting/qt4-network.qdoc10
-rw-r--r--doc/src/porting/qt4-scribe.qdoc10
-rw-r--r--doc/src/porting/qt4-sql.qdoc10
-rw-r--r--doc/src/porting/qt4-styles.qdoc10
-rw-r--r--doc/src/porting/qt4-threads.qdoc10
-rw-r--r--doc/src/porting/qt4-tulip.qdoc10
-rw-r--r--doc/src/qt-resources.qdoc10
-rw-r--r--doc/src/qt-webpages.qdoc14
-rw-r--r--doc/src/qt4-intro.qdoc12
-rw-r--r--doc/src/scripting/ecmascript.qdoc10
-rw-r--r--doc/src/scripting/qtscriptdebugger-manual.qdoc10
-rw-r--r--doc/src/scripting/qtscriptextensions.qdoc10
-rw-r--r--doc/src/scripting/scripting.qdoc10
-rw-r--r--doc/src/snippets/code/doc_src_emb-pointer.qdoc4
-rw-r--r--doc/src/snippets/code/doc_src_fdl.qdoc10
-rw-r--r--doc/src/snippets/code/doc_src_installation.qdoc17
-rw-r--r--doc/src/snippets/code/doc_src_linguist-manual.qdoc10
-rw-r--r--doc/src/snippets/code/doc_src_qmake-manual.qdoc18
-rw-r--r--doc/src/snippets/code/src_corelib_kernel_qabstractitemmodel.cpp35
-rw-r--r--doc/src/snippets/code/src_qtestlib_qtestcase.cpp18
-rw-r--r--doc/src/snippets/declarative/borderimage/borderimage-defaults.qml55
-rw-r--r--doc/src/snippets/declarative/flipable/flipable.qml17
-rw-r--r--doc/src/snippets/declarative/keys/keys-handler.qml60
-rw-r--r--doc/src/snippets/declarative/keys/keys-pressed.qml65
-rw-r--r--doc/src/snippets/declarative/loader/sizeitem.qml62
-rw-r--r--doc/src/snippets/declarative/loader/sizeloader.qml62
-rw-r--r--doc/src/snippets/declarative/qtbinding/context-advanced/MyItem.qml46
-rw-r--r--doc/src/snippets/declarative/qtbinding/context-advanced/applicationdata.h52
-rw-r--r--doc/src/snippets/declarative/qtbinding/context-advanced/connections.qml52
-rw-r--r--doc/src/snippets/declarative/qtbinding/context-advanced/context-advanced.pro3
-rw-r--r--doc/src/snippets/declarative/qtbinding/context-advanced/main.cpp60
-rw-r--r--doc/src/snippets/declarative/qtbinding/context/MyItem.qml45
-rw-r--r--doc/src/snippets/declarative/qtbinding/context/context.pro (renamed from doc/src/snippets/declarative/qtbinding/contextproperties/contextproperties.pro)0
-rw-r--r--doc/src/snippets/declarative/qtbinding/context/main.cpp56
-rw-r--r--doc/src/snippets/declarative/qtbinding/contextproperties/main.cpp78
-rw-r--r--doc/src/snippets/declarative/qtbinding/contextproperties/main.qml55
-rw-r--r--doc/src/snippets/declarative/qtbinding/custompalette/custompalette.h79
-rw-r--r--doc/src/snippets/declarative/qtbinding/custompalette/custompalette.pro3
-rw-r--r--doc/src/snippets/declarative/qtbinding/custompalette/main.cpp61
-rw-r--r--doc/src/snippets/declarative/qtbinding/custompalette/main.qml62
-rw-r--r--doc/src/snippets/declarative/qtbinding/enums/enums.pro3
-rw-r--r--doc/src/snippets/declarative/qtbinding/enums/imageviewer.h68
-rw-r--r--doc/src/snippets/declarative/qtbinding/enums/main.cpp73
-rw-r--r--doc/src/snippets/declarative/qtbinding/enums/standalone.qml49
-rw-r--r--doc/src/snippets/declarative/qtbinding/functions-cpp/MyItem.qml55
-rw-r--r--doc/src/snippets/declarative/qtbinding/functions-cpp/functions-qml.pro3
-rw-r--r--doc/src/snippets/declarative/qtbinding/functions-cpp/main.cpp59
-rw-r--r--doc/src/snippets/declarative/qtbinding/functions-cpp/myclass.h57
-rw-r--r--doc/src/snippets/declarative/qtbinding/functions-qml/MyItem.qml50
-rw-r--r--doc/src/snippets/declarative/qtbinding/functions-qml/functions-qml.pro2
-rw-r--r--doc/src/snippets/declarative/qtbinding/functions-qml/main.cpp63
-rw-r--r--doc/src/snippets/declarative/qtbinding/loading/MyItem.qml56
-rw-r--r--doc/src/snippets/declarative/qtbinding/loading/loading.pro2
-rw-r--r--doc/src/snippets/declarative/qtbinding/loading/main.cpp90
-rw-r--r--doc/src/snippets/declarative/qtbinding/newelements/imageviewer.h56
-rw-r--r--doc/src/snippets/declarative/qtbinding/newelements/main.cpp62
-rw-r--r--doc/src/snippets/declarative/qtbinding/newelements/newelements.pro3
-rw-r--r--doc/src/snippets/declarative/qtbinding/newelements/standalone.qml44
-rw-r--r--doc/src/snippets/declarative/qtbinding/properties-cpp/MyItem.qml54
-rw-r--r--doc/src/snippets/declarative/qtbinding/properties-cpp/applicationdata.h71
-rw-r--r--doc/src/snippets/declarative/qtbinding/properties-cpp/main.cpp58
-rw-r--r--doc/src/snippets/declarative/qtbinding/properties-cpp/properties-cpp.pro3
-rw-r--r--doc/src/snippets/declarative/qtbinding/properties-qml/MyItem.qml47
-rw-r--r--doc/src/snippets/declarative/qtbinding/properties-qml/main.cpp61
-rw-r--r--doc/src/snippets/declarative/qtbinding/properties-qml/properties-qml.pro2
-rw-r--r--doc/src/snippets/declarative/qtbinding/resources/main.qml5
-rw-r--r--doc/src/snippets/declarative/qtbinding/signals-cpp/MyItem.qml50
-rw-r--r--doc/src/snippets/declarative/qtbinding/signals-cpp/imageviewer.h64
-rw-r--r--doc/src/snippets/declarative/qtbinding/signals-cpp/main.cpp81
-rw-r--r--doc/src/snippets/declarative/qtbinding/signals-cpp/signals-cpp.pro3
-rw-r--r--doc/src/snippets/declarative/qtbinding/signals-cpp/standalone.qml48
-rw-r--r--doc/src/snippets/declarative/qtbinding/signals-qml/MyItem.qml55
-rw-r--r--doc/src/snippets/declarative/qtbinding/signals-qml/main.cpp59
-rw-r--r--doc/src/snippets/declarative/qtbinding/signals-qml/myclass.h51
-rw-r--r--doc/src/snippets/declarative/qtbinding/signals-qml/signals-qml.pro3
-rw-r--r--doc/src/snippets/declarative/qtbinding/stopwatch/main.cpp62
-rw-r--r--doc/src/snippets/declarative/qtbinding/stopwatch/main.qml58
-rw-r--r--doc/src/snippets/declarative/qtbinding/stopwatch/stopwatch.cpp62
-rw-r--r--doc/src/snippets/declarative/qtbinding/stopwatch/stopwatch.h61
-rw-r--r--doc/src/snippets/declarative/qtbinding/stopwatch/stopwatch.pro3
-rw-r--r--doc/src/snippets/sqldatabase/sqldatabase.cpp2
-rw-r--r--doc/src/sql-programming/qsqldatatype-table.qdoc10
-rw-r--r--doc/src/sql-programming/sql-driver.qdoc18
-rw-r--r--doc/src/sql-programming/sql-programming.qdoc10
-rwxr-xr-xdoc/src/template/scripts/functions.js6
-rw-r--r--doc/src/template/style/narrow.css1
-rwxr-xr-xdoc/src/template/style/style.css96
-rw-r--r--doc/src/tutorials/addressbook-fr.qdoc10
-rw-r--r--doc/src/tutorials/addressbook.qdoc10
-rw-r--r--doc/src/tutorials/modelview.qdoc10
-rw-r--r--doc/src/tutorials/widgets-tutorial.qdoc10
-rw-r--r--doc/src/widgets-and-layouts/focus.qdoc10
-rw-r--r--doc/src/widgets-and-layouts/gallery-cde.qdoc10
-rw-r--r--doc/src/widgets-and-layouts/gallery-cleanlooks.qdoc10
-rw-r--r--doc/src/widgets-and-layouts/gallery-gtk.qdoc10
-rw-r--r--doc/src/widgets-and-layouts/gallery-macintosh.qdoc10
-rw-r--r--doc/src/widgets-and-layouts/gallery-motif.qdoc10
-rw-r--r--doc/src/widgets-and-layouts/gallery-plastique.qdoc10
-rw-r--r--doc/src/widgets-and-layouts/gallery-windows.qdoc10
-rw-r--r--doc/src/widgets-and-layouts/gallery-windowsvista.qdoc10
-rw-r--r--doc/src/widgets-and-layouts/gallery-windowsxp.qdoc10
-rw-r--r--doc/src/widgets-and-layouts/gallery.qdoc10
-rw-r--r--doc/src/widgets-and-layouts/layout.qdoc10
-rw-r--r--doc/src/widgets-and-layouts/styles.qdoc10
-rw-r--r--doc/src/widgets-and-layouts/stylesheet.qdoc10
-rw-r--r--doc/src/widgets-and-layouts/widgets.qdoc10
-rw-r--r--doc/src/windows-and-dialogs/dialogs.qdoc10
-rw-r--r--doc/src/windows-and-dialogs/mainwindow.qdoc10
-rw-r--r--doc/src/xml-processing/xml-patterns.qdoc10
-rw-r--r--doc/src/xml-processing/xml-processing.qdoc10
-rw-r--r--doc/src/xml-processing/xquery-introduction.qdoc10
-rw-r--r--doc/src/zh_CN/bughowto.qdoc10
-rw-r--r--doc/src/zh_CN/getting-started/how-to-learn-qt.qdoc10
-rw-r--r--doc/src/zh_CN/getting-started/tutorials.qdoc10
-rw-r--r--doc/src/zh_CN/tutorials/addressbook.qdoc10
-rw-r--r--doc/src/zh_CN/tutorials/widgets-tutorial.qdoc10
-rw-r--r--examples/declarative/animation/behaviors/wigglytext.qml108
-rw-r--r--examples/declarative/cppextensions/imageprovider/imageprovider.pro2
-rw-r--r--examples/declarative/cppextensions/plugins/README2
-rw-r--r--examples/declarative/cppextensions/qwidgets/qwidgets.pro2
-rw-r--r--examples/declarative/i18n/i18n.qml3
-rw-r--r--examples/declarative/modelviews/listview/highlightranges.qml20
-rw-r--r--examples/declarative/positioners/positioners.qmlproject.user41
-rw-r--r--examples/declarative/toys/tic-tac-toe/tic-tac-toe.qml34
-rwxr-xr-xexamples/declarative/tutorials/samegame/samegame4/content/samegame.js2
-rw-r--r--examples/desktop/systray/systray.pro4
-rw-r--r--examples/draganddrop/puzzle/puzzle.pro4
-rw-r--r--examples/multimedia/audiodevices/audiodevices.h4
-rw-r--r--examples/multimedia/audioinput/audioinput.h5
-rw-r--r--examples/multimedia/audiooutput/audiooutput.h5
-rw-r--r--examples/network/bearermonitor/bearermonitor.cpp22
-rw-r--r--examples/network/bearermonitor/bearermonitor.h4
-rw-r--r--examples/network/bearermonitor/bearermonitor.pro7
-rw-r--r--examples/network/bearermonitor/bearermonitor_maemo.ui601
-rw-r--r--examples/network/bearermonitor/main.cpp9
-rw-r--r--examples/network/bearermonitor/sessionwidget.cpp4
-rw-r--r--examples/network/bearermonitor/sessionwidget.h5
-rw-r--r--examples/painting/svgviewer/svgviewer.pro4
-rw-r--r--examples/richtext/syntaxhighlighter/syntaxhighlighter.pro2
-rw-r--r--examples/richtext/textobject/textobject.pro2
-rw-r--r--examples/script/context2d/context2d.pro2
-rw-r--r--examples/symbianpkgrules.pri5
-rw-r--r--examples/tools/undoframework/mainwindow.cpp2
-rw-r--r--examples/tutorials/gettingStarted/gsQml/filedialog/filedialog.pro (renamed from examples/tutorials/gettingStarted/gsQml/filedialog/cppPlugins.pro)0
-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part0/Button.qml55
-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part1/Button.qml97
-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part1/EditMenu.qml76
-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part1/FileMenu.qml91
-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part1/SimpleButton.qml73
-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part1/pics/qml-texteditor1_button.pngbin0 -> 1670 bytes-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part1/pics/qml-texteditor1_editmenu.pngbin0 -> 6177 bytes-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part1/pics/qml-texteditor1_filemenu.pngbin0 -> 6062 bytes-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part1/pics/qml-texteditor1_simplebutton.pngbin0 -> 1055 bytes-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part1/qml-texteditor.qmlproject16
-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part2/Button.qml99
-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part2/EditMenu.qml77
-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part2/FileMenu.qml92
-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part2/MenuBar.qml140
-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part2/pics/qml-texteditor2_menubar.pngbin0 -> 6079 bytes-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part2/qml-texteditor2.qmlproject16
-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part3/Button.qml99
-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part3/EditMenu.qml77
-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part3/FileMenu.qml92
-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part3/MenuBar.qml140
-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part3/TextArea.qml80
-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part3/TextEditor.qml68
-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part3/images/arrow.pngbin0 -> 583 bytes-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part3/pics/qml-texteditor3_texteditor.pngbin0 -> 59345 bytes-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part3/qml-texteditor3.qmlproject16
-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part4/Button.qml109
-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part4/EditMenu.qml81
-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part4/FileMenu.qml96
-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part4/MenuBar.qml146
-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part4/SimpleButton.qml59
-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part4/TextArea.qml80
-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part4/TextEditor.qml146
-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part4/images/arrow.pngbin0 -> 583 bytes-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part4/pics/qml-texteditor4_texteditor.pngbin0 -> 63629 bytes-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part4/qml-texteditor4.qmlproject16
-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part5/TextEditor.qml127
-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part5/core/Button.qml109
-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part5/core/EditMenu.qml110
-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part5/core/FileDialog.qml170
-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part5/core/FileMenu.qml232
-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part5/core/MenuBar.qml148
-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part5/core/TextArea.qml86
-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part5/core/qmldir13
-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part5/filedialog/dialogPlugin.cpp57
-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part5/filedialog/dialogPlugin.h57
-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part5/filedialog/directory.cpp219
-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part5/filedialog/directory.h108
-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part5/filedialog/file.cpp56
-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part5/filedialog/file.h67
-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part5/filedialog/filedialog.pro17
-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part5/filedialog/qmldir1
-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part5/images/arrow.pngbin0 -> 583 bytes-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part5/pics/qml-texteditor5_editmenu.pngbin0 -> 65123 bytes-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part5/pics/qml-texteditor5_filemenu.pngbin0 -> 21367 bytes-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part5/pics/qml-texteditor5_newfile.pngbin0 -> 76693 bytes-rw-r--r--examples/tutorials/gettingStarted/gsQml/parts/part5/qml-texteditor5.qmlproject18
-rw-r--r--examples/tutorials/gettingStarted/gsQml/texteditor.pro4
-rw-r--r--examples/webkit/imageanalyzer/README20
-rw-r--r--examples/webkit/imageanalyzer/imageanalyzer.cpp222
-rw-r--r--examples/webkit/imageanalyzer/imageanalyzer.h103
-rw-r--r--examples/webkit/imageanalyzer/imageanalyzer.pro14
-rw-r--r--examples/webkit/imageanalyzer/main.cpp53
-rw-r--r--examples/webkit/imageanalyzer/mainwindow.cpp80
-rw-r--r--examples/webkit/imageanalyzer/mainwindow.h68
-rw-r--r--examples/webkit/imageanalyzer/resources/imageanalyzer.qrc10
-rw-r--r--examples/webkit/imageanalyzer/resources/images/README2
-rw-r--r--examples/webkit/imageanalyzer/resources/images/bellaCoola.jpgbin0 -> 129886 bytes-rw-r--r--examples/webkit/imageanalyzer/resources/images/flower.jpgbin0 -> 67126 bytes-rw-r--r--examples/webkit/imageanalyzer/resources/images/mtRainier.jpgbin0 -> 104090 bytes-rw-r--r--examples/webkit/imageanalyzer/resources/images/seaShell.jpgbin0 -> 82690 bytes-rw-r--r--examples/webkit/imageanalyzer/resources/images/trees.jpgbin0 -> 98630 bytes-rw-r--r--examples/webkit/imageanalyzer/resources/index.html133
-rw-r--r--examples/webkit/webkit.pro1
-rw-r--r--examples/widgets/icons/icons.pro2
-rw-r--r--examples/widgets/movie/movie.pro2
-rw-r--r--examples/xml/dombookmarks/dombookmarks.pro2
-rw-r--r--examples/xml/htmlinfo/htmlinfo.pro2
-rw-r--r--examples/xml/saxbookmarks/saxbookmarks.pro4
-rw-r--r--header.FDL10
-rw-r--r--lib/fonts/dejavu_sans_11_50.qpf2bin0 -> 405944 bytes-rw-r--r--mkspecs/common/clang.conf17
-rw-r--r--mkspecs/common/g++-base.conf30
-rw-r--r--mkspecs/common/g++-macx.conf32
-rw-r--r--mkspecs/common/g++-unix.conf14
-rw-r--r--mkspecs/common/g++.conf58
-rw-r--r--mkspecs/common/gcc-base-macx.conf43
-rw-r--r--mkspecs/common/gcc-base-unix.conf21
-rw-r--r--mkspecs/common/gcc-base.conf60
-rw-r--r--mkspecs/common/llvm.conf53
-rw-r--r--mkspecs/common/mac-g++.conf81
-rw-r--r--mkspecs/common/mac-llvm.conf76
-rw-r--r--mkspecs/common/mac/qplatformdefs.h97
-rw-r--r--mkspecs/common/qws.conf2
-rw-r--r--mkspecs/common/symbian/symbian-makefile.conf4
-rw-r--r--mkspecs/common/symbian/symbian-mmp.conf10
-rw-r--r--mkspecs/common/symbian/symbian.conf19
-rw-r--r--mkspecs/features/link_pkgconfig.prf7
-rw-r--r--mkspecs/features/mac/objective_c.prf25
-rw-r--r--mkspecs/features/qt.prf4
-rw-r--r--mkspecs/features/qt_functions.prf8
-rw-r--r--mkspecs/features/qttest_p4.prf3
-rw-r--r--mkspecs/features/symbian/application_icon.prf18
-rw-r--r--mkspecs/features/symbian/data_caging_paths.prf4
-rw-r--r--mkspecs/features/symbian/def_files.prf18
-rw-r--r--mkspecs/features/symbian/default_post.prf19
-rw-r--r--mkspecs/features/symbian/do_not_build_as_thumb.prf2
-rw-r--r--mkspecs/features/symbian/qt_config.prf2
-rw-r--r--mkspecs/features/symbian/run_on_phone.prf3
-rw-r--r--mkspecs/features/symbian/sis_targets.prf3
-rw-r--r--mkspecs/features/symbian/symbian_building.prf90
-rw-r--r--mkspecs/freebsd-g++/qmake.conf3
-rw-r--r--mkspecs/linux-g++-32/qmake.conf3
-rw-r--r--mkspecs/linux-g++-64/qmake.conf4
-rw-r--r--mkspecs/linux-g++-maemo/qmake.conf10
-rw-r--r--mkspecs/linux-g++/qmake.conf3
-rw-r--r--mkspecs/linux-llvm/qmake.conf3
-rw-r--r--mkspecs/macx-g++/qmake.conf8
-rw-r--r--mkspecs/macx-g++/qplatformdefs.h56
-rw-r--r--mkspecs/macx-g++40/qmake.conf9
-rw-r--r--mkspecs/macx-g++40/qplatformdefs.h56
-rw-r--r--mkspecs/macx-g++42/qmake.conf9
-rw-r--r--mkspecs/macx-g++42/qplatformdefs.h56
-rw-r--r--mkspecs/macx-icc/qplatformdefs.h2
-rw-r--r--mkspecs/macx-llvm/qmake.conf9
-rw-r--r--mkspecs/macx-llvm/qplatformdefs.h56
-rwxr-xr-xmkspecs/macx-xcode/qmake.conf12
-rw-r--r--mkspecs/macx-xcode/qplatformdefs.h56
-rw-r--r--mkspecs/qws/linux-arm-g++/qmake.conf3
-rw-r--r--mkspecs/qws/linux-arm-gnueabi-g++/qmake.conf3
-rw-r--r--mkspecs/qws/linux-armv6-g++/qmake.conf3
-rw-r--r--mkspecs/qws/linux-avr32-g++/qmake.conf3
-rw-r--r--mkspecs/qws/linux-cellon-g++/qmake.conf3
-rw-r--r--mkspecs/qws/linux-dm7000-g++/qmake.conf3
-rw-r--r--mkspecs/qws/linux-dm800-g++/qmake.conf3
-rw-r--r--mkspecs/qws/linux-generic-g++-32/qmake.conf3
-rw-r--r--mkspecs/qws/linux-generic-g++/qmake.conf3
-rw-r--r--mkspecs/qws/linux-ipaq-g++/qmake.conf3
-rw-r--r--mkspecs/qws/linux-lsb-g++/qmake.conf4
-rw-r--r--mkspecs/qws/linux-mips-g++/qmake.conf3
-rw-r--r--mkspecs/qws/linux-nacl-g++/qmake.conf74
-rw-r--r--mkspecs/qws/linux-nacl-g++/qplatformdefs.h175
-rw-r--r--mkspecs/qws/linux-powerpc-g++/qmake.conf3
-rw-r--r--mkspecs/qws/linux-sh-g++/qmake.conf3
-rw-r--r--mkspecs/qws/linux-sh4al-g++/qmake.conf3
-rw-r--r--mkspecs/qws/linux-sharp-g++/qmake.conf3
-rw-r--r--mkspecs/qws/linux-x86-g++/qmake.conf3
-rw-r--r--mkspecs/qws/linux-x86_64-g++/qmake.conf3
-rw-r--r--mkspecs/qws/linux-zylonite-g++/qmake.conf3
-rw-r--r--mkspecs/qws/macx-generic-g++/qmake.conf8
-rw-r--r--mkspecs/qws/macx-nacl-g++/qmake.conf95
-rw-r--r--mkspecs/qws/macx-nacl-g++/qplatformdefs.h175
-rw-r--r--mkspecs/symbian-armcc/features/default_post.prf (renamed from mkspecs/symbian/linux-gcce/features/default_post.prf)0
-rw-r--r--mkspecs/symbian-armcc/qmake.conf62
-rw-r--r--mkspecs/symbian-armcc/qplatformdefs.h42
-rw-r--r--mkspecs/symbian-gcce/features/default_post.prf (renamed from mkspecs/symbian/linux-armcc/features/default_post.prf)0
-rw-r--r--mkspecs/symbian-gcce/qmake.conf93
-rw-r--r--mkspecs/symbian-gcce/qplatformdefs.h43
-rw-r--r--mkspecs/symbian-sbsv2/flm/qt/qmake_emulator_deployment.flm2
-rw-r--r--mkspecs/symbian-sbsv2/flm/qt/qmake_extra_pre_targetdep.flm4
-rw-r--r--mkspecs/symbian/linux-armcc/qmake.conf62
-rw-r--r--mkspecs/symbian/linux-armcc/qplatformdefs.h42
-rw-r--r--mkspecs/symbian/linux-gcce/qmake.conf95
-rw-r--r--mkspecs/symbian/linux-gcce/qplatformdefs.h43
-rw-r--r--mkspecs/unsupported/linux-clang/qmake.conf19
-rw-r--r--mkspecs/unsupported/linux-clang/qplatformdefs.h102
-rw-r--r--mkspecs/unsupported/linux-scratchbox2-g++/qmake.conf3
-rw-r--r--mkspecs/unsupported/macx-clang/Info.plist.app20
-rw-r--r--mkspecs/unsupported/macx-clang/Info.plist.lib18
-rw-r--r--mkspecs/unsupported/macx-clang/qmake.conf21
-rw-r--r--mkspecs/unsupported/macx-clang/qplatformdefs.h97
-rw-r--r--mkspecs/unsupported/qnx-g++/qmake.conf3
-rw-r--r--mkspecs/unsupported/qws/linux-x86-openkode-g++/qmake.conf23
-rw-r--r--mkspecs/unsupported/qws/linux-x86-openkode-g++/qplatformdefs.h42
-rw-r--r--mkspecs/unsupported/qws/qnx-generic-g++/qmake.conf1
-rw-r--r--mkspecs/unsupported/vxworks-ppc-g++/qmake.conf3
-rw-r--r--mkspecs/unsupported/vxworks-simpentium-g++/qmake.conf3
-rw-r--r--mkspecs/win32-msvc2003/qmake.conf2
-rw-r--r--mkspecs/win32-msvc2005/qmake.conf2
-rw-r--r--mkspecs/win32-msvc2008/qmake.conf2
-rw-r--r--mkspecs/win32-msvc2010/qmake.conf2
-rw-r--r--qmake/generators/mac/pbuilder_pbx.cpp1
-rw-r--r--qmake/generators/metamakefile.cpp1
-rw-r--r--qmake/generators/symbian/initprojectdeploy_symbian.cpp10
-rw-r--r--qmake/generators/symbian/symbian_makefile.h4
-rw-r--r--qmake/generators/symbian/symbiancommon.cpp4
-rw-r--r--qmake/generators/symbian/symmake.cpp4
-rw-r--r--qmake/generators/symbian/symmake_abld.cpp20
-rw-r--r--qmake/generators/symbian/symmake_sbsv2.cpp2
-rw-r--r--qmake/generators/unix/unixmake.cpp45
-rw-r--r--qmake/generators/unix/unixmake2.cpp28
-rw-r--r--qmake/generators/win32/msvc_nmake.cpp2
-rw-r--r--qmake/generators/win32/msvc_objectmodel.cpp2
-rw-r--r--qmake/generators/win32/msvc_vcproj.cpp12
-rw-r--r--qmake/generators/win32/winmakefile.cpp2
-rw-r--r--qmake/project.cpp22
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-buffer.h8
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-gdef-private.h9
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-gdef.h8
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-global.h4
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-gpos-private.h8
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-gsub-private.h8
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-gsub.h9
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp25
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-open.h8
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-shaper.h8
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-stream.h8
-rw-r--r--src/3rdparty/harfbuzz/tests/shaping/main.cpp29
-rw-r--r--src/3rdparty/md5/md5.cpp1
-rw-r--r--src/3rdparty/phonon/gstreamer/devicemanager.cpp4
-rw-r--r--src/3rdparty/phonon/gstreamer/videowidget.cpp4
-rw-r--r--src/3rdparty/phonon/gstreamer/x11renderer.h4
-rw-r--r--src/3rdparty/phonon/mmf/abstractvideooutput.cpp14
-rw-r--r--src/3rdparty/phonon/mmf/videowidget.cpp2
-rw-r--r--src/3rdparty/phonon/phonon/objectdescriptionmodel.h3
-rw-r--r--src/3rdparty/webkit/WebCore/WebCore.pro7
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.h2
-rw-r--r--src/activeqt/container/qaxwidget.cpp2
-rw-r--r--src/activeqt/shared/qaxtypes.cpp2
-rw-r--r--src/corelib/animation/qabstractanimation.cpp146
-rw-r--r--src/corelib/animation/qabstractanimation.h31
-rw-r--r--src/corelib/animation/qabstractanimation_p.h52
-rw-r--r--src/corelib/arch/qatomic_arch.h2
-rw-r--r--src/corelib/arch/qatomic_arm.h2
-rw-r--r--src/corelib/arch/symbian/heap_hybrid.cpp8
-rw-r--r--src/corelib/arch/symbian/qatomic_generic_armv6.cpp2
-rw-r--r--src/corelib/codecs/codecs.qdoc10
-rw-r--r--src/corelib/codecs/qutfcodec.cpp2
-rw-r--r--src/corelib/concurrent/qtconcurrentrunbase.h25
-rw-r--r--src/corelib/corelib.pro16
-rw-r--r--src/corelib/global/global.pri6
-rw-r--r--src/corelib/global/qconfig-minimal-system-dependencies.h371
-rw-r--r--src/corelib/global/qendian.qdoc10
-rw-r--r--src/corelib/global/qfeatures.h10
-rw-r--r--src/corelib/global/qfeatures.txt2
-rw-r--r--src/corelib/global/qglobal.cpp26
-rw-r--r--src/corelib/global/qglobal.h45
-rw-r--r--src/corelib/global/qmalloc.cpp16
-rw-r--r--src/corelib/global/qnaclunimplemented.cpp156
-rw-r--r--src/corelib/global/qnaclunimplemented.h95
-rw-r--r--src/corelib/global/qnamespace.h2
-rw-r--r--src/corelib/global/qnamespace.qdoc34
-rw-r--r--src/corelib/io/io.pri10
-rw-r--r--src/corelib/io/qfilesystemwatcher_fsevents.cpp3
-rw-r--r--src/corelib/io/qfilesystemwatcher_fsevents_p.h4
-rw-r--r--src/corelib/io/qfilesystemwatcher_inotify.cpp16
-rw-r--r--src/corelib/io/qfilesystemwatcher_kqueue.cpp4
-rw-r--r--src/corelib/io/qfilesystemwatcher_kqueue_p.h2
-rw-r--r--src/corelib/io/qiodevice_p.h2
-rw-r--r--src/corelib/io/qresource.cpp4
-rw-r--r--src/corelib/io/qsettings.cpp41
-rw-r--r--src/corelib/io/qsettings_p.h2
-rw-r--r--src/corelib/io/qurl.cpp8
-rw-r--r--src/corelib/io/qurl.h2
-rw-r--r--src/corelib/kernel/kernel.pri4
-rw-r--r--src/corelib/kernel/qabstractitemmodel.cpp23
-rw-r--r--src/corelib/kernel/qcore_mac_p.h8
-rw-r--r--src/corelib/kernel/qcore_unix.cpp3
-rw-r--r--src/corelib/kernel/qcoreapplication.cpp9
-rw-r--r--src/corelib/kernel/qcoreevent.h1
-rw-r--r--src/corelib/kernel/qeventdispatcher_glib.cpp9
-rw-r--r--src/corelib/kernel/qeventdispatcher_symbian.cpp9
-rw-r--r--src/corelib/kernel/qeventdispatcher_symbian_p.h4
-rw-r--r--src/corelib/kernel/qeventdispatcher_unix.cpp14
-rw-r--r--src/corelib/kernel/qeventdispatcher_unix_p.h2
-rw-r--r--src/corelib/kernel/qeventdispatcher_win.cpp20
-rw-r--r--src/corelib/kernel/qmath.qdoc10
-rw-r--r--src/corelib/kernel/qmimedata.cpp2
-rw-r--r--src/corelib/kernel/qobject.cpp10
-rw-r--r--src/corelib/kernel/qobject_p.h1
-rw-r--r--src/corelib/kernel/qsharedmemory.cpp5
-rw-r--r--src/corelib/kernel/qvariant.cpp8
-rw-r--r--src/corelib/kernel/qvariant.h2
-rw-r--r--src/corelib/plugin/qelfparser_p.cpp10
-rw-r--r--src/corelib/plugin/qelfparser_p.h5
-rw-r--r--src/corelib/plugin/qlibrary.cpp3
-rw-r--r--src/corelib/plugin/qplugin.qdoc10
-rw-r--r--src/corelib/plugin/qsystemlibrary.cpp4
-rw-r--r--src/corelib/statemachine/qstatemachine.cpp2
-rw-r--r--src/corelib/thread/qthread.cpp4
-rw-r--r--src/corelib/thread/qthread_unix.cpp53
-rw-r--r--src/corelib/thread/qthread_win.cpp1
-rw-r--r--src/corelib/thread/qwaitcondition.qdoc10
-rw-r--r--src/corelib/tools/qalgorithms.qdoc10
-rw-r--r--src/corelib/tools/qbitarray.cpp7
-rw-r--r--src/corelib/tools/qbitarray.h2
-rw-r--r--src/corelib/tools/qbytearray.cpp21
-rw-r--r--src/corelib/tools/qbytearray.h2
-rw-r--r--src/corelib/tools/qcache.qdoc10
-rw-r--r--src/corelib/tools/qcontiguouscache.cpp7
-rw-r--r--src/corelib/tools/qcontiguouscache.h1
-rw-r--r--src/corelib/tools/qdatetime.cpp1
-rw-r--r--src/corelib/tools/qelapsedtimer.cpp2
-rw-r--r--src/corelib/tools/qhash.cpp14
-rw-r--r--src/corelib/tools/qhash.h2
-rw-r--r--src/corelib/tools/qiterator.qdoc10
-rw-r--r--src/corelib/tools/qlinkedlist.cpp11
-rw-r--r--src/corelib/tools/qlinkedlist.h1
-rw-r--r--src/corelib/tools/qlist.cpp9
-rw-r--r--src/corelib/tools/qlist.h1
-rw-r--r--src/corelib/tools/qlocale.cpp7
-rw-r--r--src/corelib/tools/qlocale.h2
-rw-r--r--src/corelib/tools/qmap.cpp14
-rw-r--r--src/corelib/tools/qmap.h2
-rw-r--r--src/corelib/tools/qpair.qdoc10
-rw-r--r--src/corelib/tools/qpoint.cpp6
-rw-r--r--src/corelib/tools/qqueue.cpp8
-rw-r--r--src/corelib/tools/qqueue.h1
-rw-r--r--src/corelib/tools/qregexp.cpp8
-rw-r--r--src/corelib/tools/qregexp.h1
-rw-r--r--src/corelib/tools/qscopedpointer.h12
-rw-r--r--src/corelib/tools/qset.h1
-rw-r--r--src/corelib/tools/qset.qdoc17
-rw-r--r--src/corelib/tools/qshareddata.h14
-rw-r--r--src/corelib/tools/qsharedpointer.cpp6
-rw-r--r--src/corelib/tools/qsharedpointer_impl.h24
-rw-r--r--src/corelib/tools/qsimd.cpp9
-rw-r--r--src/corelib/tools/qsimd_p.h3
-rw-r--r--src/corelib/tools/qsize.cpp6
-rw-r--r--src/corelib/tools/qstack.cpp8
-rw-r--r--src/corelib/tools/qstack.h1
-rw-r--r--src/corelib/tools/qstring.cpp45
-rw-r--r--src/corelib/tools/qstring.h1
-rw-r--r--src/corelib/tools/qvarlengtharray.h124
-rw-r--r--src/corelib/tools/qvarlengtharray.qdoc218
-rw-r--r--src/corelib/tools/qvector.cpp7
-rw-r--r--src/corelib/tools/qvector.h7
-rw-r--r--src/corelib/tools/tools.pri2
-rw-r--r--src/corelib/xml/qxmlstream.h1
-rw-r--r--src/dbus/qdbusabstractinterface.cpp2
-rw-r--r--src/dbus/qdbusargument.h2
-rw-r--r--src/dbus/qdbusconnection.cpp6
-rw-r--r--src/dbus/qdbusintegrator.cpp2
-rw-r--r--src/dbus/qdbusmarshaller.cpp2
-rw-r--r--src/dbus/qdbusmessage.cpp6
-rw-r--r--src/dbus/qdbusmetatype.cpp4
-rw-r--r--src/dbus/qdbuspendingreply.h2
-rw-r--r--src/dbus/qdbusutil.cpp2
-rw-r--r--src/declarative/debugger/qdeclarativedebug_p.h30
-rw-r--r--src/declarative/debugger/qdeclarativedebugclient.cpp2
-rw-r--r--src/declarative/debugger/qdeclarativedebugclient_p.h6
-rw-r--r--src/declarative/debugger/qdeclarativedebuggerstatus_p.h4
-rw-r--r--src/declarative/debugger/qdeclarativedebughelper.cpp8
-rw-r--r--src/declarative/debugger/qdeclarativedebughelper_p.h6
-rw-r--r--src/declarative/debugger/qdeclarativedebugservice.cpp19
-rw-r--r--src/declarative/debugger/qdeclarativedebugservice_p.h4
-rw-r--r--src/declarative/debugger/qpacketprotocol_p.h8
-rw-r--r--src/declarative/graphicsitems/qdeclarativeanchors.cpp4
-rw-r--r--src/declarative/graphicsitems/qdeclarativeanchors_p.h4
-rw-r--r--src/declarative/graphicsitems/qdeclarativeborderimage.cpp2
-rw-r--r--src/declarative/graphicsitems/qdeclarativeevents.cpp21
-rw-r--r--src/declarative/graphicsitems/qdeclarativeflickable.cpp109
-rw-r--r--src/declarative/graphicsitems/qdeclarativeflickable_p.h3
-rw-r--r--src/declarative/graphicsitems/qdeclarativeflickable_p_p.h16
-rw-r--r--src/declarative/graphicsitems/qdeclarativeflipable.cpp27
-rw-r--r--src/declarative/graphicsitems/qdeclarativegridview.cpp91
-rw-r--r--src/declarative/graphicsitems/qdeclarativeimage.cpp43
-rw-r--r--src/declarative/graphicsitems/qdeclarativeimage_p.h1
-rw-r--r--src/declarative/graphicsitems/qdeclarativeimagebase.cpp15
-rw-r--r--src/declarative/graphicsitems/qdeclarativeimagebase_p_p.h2
-rw-r--r--src/declarative/graphicsitems/qdeclarativeitem.cpp56
-rw-r--r--src/declarative/graphicsitems/qdeclarativelistview.cpp258
-rw-r--r--src/declarative/graphicsitems/qdeclarativelistview_p.h2
-rw-r--r--src/declarative/graphicsitems/qdeclarativeloader.cpp60
-rw-r--r--src/declarative/graphicsitems/qdeclarativemousearea.cpp15
-rw-r--r--src/declarative/graphicsitems/qdeclarativemousearea_p_p.h3
-rw-r--r--src/declarative/graphicsitems/qdeclarativepainteditem.cpp1
-rw-r--r--src/declarative/graphicsitems/qdeclarativepath.cpp2
-rw-r--r--src/declarative/graphicsitems/qdeclarativepathview.cpp58
-rw-r--r--src/declarative/graphicsitems/qdeclarativepathview_p_p.h4
-rw-r--r--src/declarative/graphicsitems/qdeclarativepositioners_p.h2
-rw-r--r--src/declarative/graphicsitems/qdeclarativerectangle.cpp7
-rw-r--r--src/declarative/graphicsitems/qdeclarativerectangle_p.h6
-rw-r--r--src/declarative/graphicsitems/qdeclarativerepeater.cpp4
-rw-r--r--src/declarative/graphicsitems/qdeclarativescalegrid_p_p.h11
-rw-r--r--src/declarative/graphicsitems/qdeclarativetext.cpp968
-rw-r--r--src/declarative/graphicsitems/qdeclarativetext_p.h4
-rw-r--r--src/declarative/graphicsitems/qdeclarativetext_p_p.h48
-rw-r--r--src/declarative/graphicsitems/qdeclarativetextedit.cpp1
-rw-r--r--src/declarative/graphicsitems/qdeclarativetextinput.cpp30
-rw-r--r--src/declarative/graphicsitems/qdeclarativetextlayout.cpp19
-rw-r--r--src/declarative/graphicsitems/qdeclarativetextlayout_p.h1
-rw-r--r--src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp57
-rw-r--r--src/declarative/graphicsitems/qdeclarativevisualitemmodel_p.h4
-rw-r--r--src/declarative/qml/parser/qdeclarativejs.g4
-rw-r--r--src/declarative/qml/parser/qdeclarativejslexer.cpp15
-rw-r--r--src/declarative/qml/parser/qdeclarativejsparser.cpp4
-rw-r--r--src/declarative/qml/qdeclarativebinding_p.h4
-rw-r--r--src/declarative/qml/qdeclarativecompiledbindings.cpp2
-rw-r--r--src/declarative/qml/qdeclarativecompileddata.cpp2
-rw-r--r--src/declarative/qml/qdeclarativecompiler.cpp38
-rw-r--r--src/declarative/qml/qdeclarativecompiler_p.h5
-rw-r--r--src/declarative/qml/qdeclarativecomponent.cpp95
-rw-r--r--src/declarative/qml/qdeclarativecomponent_p.h7
-rw-r--r--src/declarative/qml/qdeclarativecontext.cpp25
-rw-r--r--src/declarative/qml/qdeclarativedata_p.h20
-rw-r--r--src/declarative/qml/qdeclarativedom_p.h26
-rw-r--r--src/declarative/qml/qdeclarativeengine.cpp91
-rw-r--r--src/declarative/qml/qdeclarativeengine_p.h2
-rw-r--r--src/declarative/qml/qdeclarativeenginedebug.cpp3
-rw-r--r--src/declarative/qml/qdeclarativeenginedebug_p.h8
-rw-r--r--src/declarative/qml/qdeclarativefastproperties.cpp9
-rw-r--r--src/declarative/qml/qdeclarativeglobal_p.h19
-rw-r--r--src/declarative/qml/qdeclarativeimport.cpp11
-rw-r--r--src/declarative/qml/qdeclarativeinfo.cpp3
-rw-r--r--src/declarative/qml/qdeclarativemetatype_p.h5
-rw-r--r--src/declarative/qml/qdeclarativeobjectscriptclass.cpp309
-rw-r--r--src/declarative/qml/qdeclarativeobjectscriptclass_p.h9
-rw-r--r--src/declarative/qml/qdeclarativeparser_p.h5
-rw-r--r--src/declarative/qml/qdeclarativeprivate.h5
-rw-r--r--src/declarative/qml/qdeclarativeproperty.cpp2
-rw-r--r--src/declarative/qml/qdeclarativeproperty_p.h8
-rw-r--r--src/declarative/qml/qdeclarativepropertycache.cpp139
-rw-r--r--src/declarative/qml/qdeclarativepropertycache_p.h9
-rw-r--r--src/declarative/qml/qdeclarativestringconverters_p.h22
-rw-r--r--src/declarative/qml/qdeclarativetypeloader.cpp27
-rw-r--r--src/declarative/qml/qdeclarativetypeloader_p.h2
-rw-r--r--src/declarative/qml/qdeclarativevaluetype_p.h4
-rw-r--r--src/declarative/qml/qdeclarativevme.cpp12
-rw-r--r--src/declarative/qml/qdeclarativevmemetaobject.cpp25
-rw-r--r--src/declarative/qml/qdeclarativevmemetaobject_p.h19
-rw-r--r--src/declarative/qml/qdeclarativeworkerscript.cpp30
-rw-r--r--src/declarative/qml/qmetaobjectbuilder.cpp12
-rw-r--r--src/declarative/qml/qmetaobjectbuilder_p.h10
-rw-r--r--src/declarative/util/qdeclarativeanimation_p.h4
-rw-r--r--src/declarative/util/qdeclarativeanimation_p_p.h2
-rw-r--r--src/declarative/util/qdeclarativebehavior_p.h2
-rw-r--r--src/declarative/util/qdeclarativefontloader.cpp25
-rw-r--r--src/declarative/util/qdeclarativelistmodel_p.h2
-rw-r--r--src/declarative/util/qdeclarativelistmodelworkeragent.cpp2
-rw-r--r--src/declarative/util/qdeclarativeopenmetaobject_p.h7
-rw-r--r--src/declarative/util/qdeclarativepixmapcache.cpp5
-rw-r--r--src/declarative/util/qdeclarativepropertychanges_p.h2
-rw-r--r--src/declarative/util/qdeclarativestate.cpp12
-rw-r--r--src/declarative/util/qdeclarativestate_p.h6
-rw-r--r--src/declarative/util/qdeclarativestate_p_p.h2
-rw-r--r--src/declarative/util/qdeclarativestateoperations.cpp2
-rw-r--r--src/declarative/util/qdeclarativetimer_p.h4
-rw-r--r--src/declarative/util/qdeclarativetransition.cpp6
-rw-r--r--src/declarative/util/qdeclarativetransitionmanager.cpp16
-rw-r--r--src/declarative/util/qdeclarativeview.cpp8
-rw-r--r--src/declarative/util/qlistmodelinterface.cpp8
-rw-r--r--src/declarative/util/qlistmodelinterface_p.h4
-rw-r--r--src/gui/accessible/accessible.pri2
-rw-r--r--src/gui/accessible/qaccessible_mac_p.h4
-rw-r--r--src/gui/dialogs/dialogs.pri4
-rw-r--r--src/gui/dialogs/qdialog.cpp2
-rw-r--r--src/gui/dialogs/qfiledialog.cpp5
-rw-r--r--src/gui/dialogs/qfiledialog_mac.mm9
-rw-r--r--src/gui/dialogs/qfiledialog_win.cpp3
-rw-r--r--src/gui/dialogs/qfileinfogatherer_p.h3
-rw-r--r--src/gui/dialogs/qfilesystemmodel.cpp45
-rw-r--r--src/gui/dialogs/qfontdialog_mac.mm4
-rw-r--r--src/gui/dialogs/qinputdialog.cpp44
-rw-r--r--src/gui/dialogs/qinputdialog.h25
-rw-r--r--src/gui/dialogs/qprintdialog.qdoc10
-rw-r--r--src/gui/egl/egl.pri28
-rw-r--r--src/gui/egl/qegl.cpp6
-rw-r--r--src/gui/egl/qegl_qpa.cpp111
-rw-r--r--src/gui/embedded/qcopchannel_qws.cpp2
-rw-r--r--src/gui/embedded/qkbd_defaultmap_qws_p.h7
-rw-r--r--src/gui/embedded/qkbd_qws.cpp24
-rw-r--r--src/gui/embedded/qtransportauth_qws.cpp4
-rw-r--r--src/gui/graphicsview/qgraphicsitem.cpp39
-rw-r--r--src/gui/graphicsview/qgraphicsitem_p.h6
-rw-r--r--src/gui/graphicsview/qgraphicslayoutitem.cpp4
-rw-r--r--src/gui/graphicsview/qgraphicsproxywidget.cpp6
-rw-r--r--src/gui/graphicsview/qgraphicsscene.cpp14
-rw-r--r--src/gui/graphicsview/qgraphicsscene_p.h2
-rw-r--r--src/gui/graphicsview/qgraphicssceneevent.cpp2
-rw-r--r--src/gui/graphicsview/qgraphicsview.cpp10
-rw-r--r--src/gui/graphicsview/qgraphicsview_p.h2
-rw-r--r--src/gui/graphicsview/qgraphicswidget.cpp18
-rw-r--r--src/gui/graphicsview/qgridlayoutengine.cpp317
-rw-r--r--src/gui/graphicsview/qgridlayoutengine_p.h13
-rw-r--r--src/gui/gui.pro5
-rw-r--r--src/gui/image/image.pri5
-rw-r--r--src/gui/image/qbitmap.cpp8
-rw-r--r--src/gui/image/qbitmap.h1
-rw-r--r--src/gui/image/qicon.cpp8
-rw-r--r--src/gui/image/qicon.h2
-rw-r--r--src/gui/image/qimage.cpp12
-rw-r--r--src/gui/image/qimage.h2
-rw-r--r--src/gui/image/qimage_ssse3.cpp2
-rw-r--r--src/gui/image/qnativeimage.cpp20
-rw-r--r--src/gui/image/qpicture.cpp8
-rw-r--r--src/gui/image/qpicture.h1
-rw-r--r--src/gui/image/qpixmap.cpp13
-rw-r--r--src/gui/image/qpixmap.h2
-rw-r--r--src/gui/image/qpixmap_blitter.cpp311
-rw-r--r--src/gui/image/qpixmap_blitter_p.h166
-rw-r--r--src/gui/image/qpixmap_qpa.cpp49
-rw-r--r--src/gui/image/qpixmap_s60.cpp3
-rw-r--r--src/gui/image/qpixmap_x11_p.h2
-rw-r--r--src/gui/image/qpixmapdata_p.h3
-rw-r--r--src/gui/image/qpixmapdatafactory.cpp7
-rw-r--r--src/gui/image/qpnghandler.cpp82
-rw-r--r--src/gui/image/qtiffhandler.cpp1
-rw-r--r--src/gui/image/qxbmhandler.cpp25
-rw-r--r--src/gui/image/qxpmhandler.cpp2
-rw-r--r--src/gui/inputmethod/inputmethod.pri2
-rw-r--r--src/gui/inputmethod/qinputcontextfactory.cpp4
-rw-r--r--src/gui/itemviews/qabstractitemview.cpp14
-rw-r--r--src/gui/itemviews/qabstractproxymodel.cpp26
-rw-r--r--src/gui/itemviews/qabstractproxymodel.h3
-rw-r--r--src/gui/itemviews/qdirmodel.cpp19
-rw-r--r--src/gui/itemviews/qitemselectionmodel.cpp15
-rw-r--r--src/gui/itemviews/qlistview.cpp7
-rw-r--r--src/gui/itemviews/qstringlistmodel.cpp3
-rw-r--r--src/gui/itemviews/qtableview.cpp4
-rw-r--r--src/gui/kernel/kernel.pri66
-rw-r--r--src/gui/kernel/mac.pri2
-rw-r--r--src/gui/kernel/qapplication.cpp56
-rw-r--r--src/gui/kernel/qapplication_mac.mm4
-rw-r--r--src/gui/kernel/qapplication_p.h57
-rw-r--r--src/gui/kernel/qapplication_qpa.cpp928
-rw-r--r--src/gui/kernel/qapplication_s60.cpp20
-rw-r--r--src/gui/kernel/qapplication_win.cpp15
-rw-r--r--src/gui/kernel/qapplication_x11.cpp26
-rw-r--r--src/gui/kernel/qclipboard_qpa.cpp163
-rw-r--r--src/gui/kernel/qclipboard_s60.cpp84
-rw-r--r--src/gui/kernel/qclipboard_win.cpp2
-rw-r--r--src/gui/kernel/qclipboard_x11.cpp4
-rw-r--r--src/gui/kernel/qcocoamenuloader_mac.mm10
-rw-r--r--src/gui/kernel/qcocoaview_mac.mm17
-rw-r--r--src/gui/kernel/qcursor.h2
-rw-r--r--src/gui/kernel/qcursor_p.h2
-rw-r--r--src/gui/kernel/qcursor_qpa.cpp127
-rw-r--r--src/gui/kernel/qdesktopwidget.qdoc10
-rw-r--r--src/gui/kernel/qdesktopwidget_qpa.cpp180
-rw-r--r--src/gui/kernel/qdesktopwidget_qpa_p.h76
-rw-r--r--src/gui/kernel/qdnd_p.h4
-rw-r--r--src/gui/kernel/qeventdispatcher_glib_qpa.cpp147
-rw-r--r--src/gui/kernel/qeventdispatcher_glib_qpa_p.h88
-rw-r--r--src/gui/kernel/qeventdispatcher_qpa.cpp302
-rw-r--r--src/gui/kernel/qeventdispatcher_qpa_p.h86
-rw-r--r--src/gui/kernel/qeventdispatcher_s60.cpp66
-rw-r--r--src/gui/kernel/qeventdispatcher_s60_p.h24
-rw-r--r--src/gui/kernel/qgenericplugin_qpa.cpp112
-rw-r--r--src/gui/kernel/qgenericplugin_qpa.h84
-rw-r--r--src/gui/kernel/qgenericpluginfactory_qpa.cpp115
-rw-r--r--src/gui/kernel/qgenericpluginfactory_qpa.h67
-rw-r--r--src/gui/kernel/qgesture.cpp27
-rw-r--r--src/gui/kernel/qgesturemanager.cpp14
-rw-r--r--src/gui/kernel/qgesturemanager_p.h1
-rw-r--r--src/gui/kernel/qguifunctions_wince.cpp3
-rw-r--r--src/gui/kernel/qguiplatformplugin.cpp2
-rw-r--r--src/gui/kernel/qkeymapper_mac.cpp2
-rw-r--r--src/gui/kernel/qkeysequence.cpp8
-rw-r--r--src/gui/kernel/qkeysequence.h1
-rw-r--r--src/gui/kernel/qmotifdnd_x11.cpp5
-rw-r--r--src/gui/kernel/qplatformcursor_qpa.cpp660
-rw-r--r--src/gui/kernel/qplatformcursor_qpa.h103
-rw-r--r--src/gui/kernel/qplatformeventloopintegration_qpa.cpp41
-rw-r--r--src/gui/kernel/qplatformeventloopintegration_qpa.h64
-rw-r--r--src/gui/kernel/qplatformglcontext_qpa.cpp57
-rw-r--r--src/gui/kernel/qplatformglcontext_qpa.h79
-rw-r--r--src/gui/kernel/qplatformintegration_qpa.cpp77
-rw-r--r--src/gui/kernel/qplatformintegration_qpa.h97
-rw-r--r--src/gui/kernel/qplatformintegrationfactory_qpa.cpp88
-rw-r--r--src/gui/kernel/qplatformintegrationfactory_qpa_p.h78
-rw-r--r--src/gui/kernel/qplatformintegrationplugin_qpa.cpp55
-rw-r--r--src/gui/kernel/qplatformintegrationplugin_qpa.h92
-rw-r--r--src/gui/kernel/qplatformscreen_qpa.cpp66
-rw-r--r--src/gui/kernel/qplatformscreen_qpa.h81
-rw-r--r--src/gui/kernel/qplatformwindow_qpa.cpp129
-rw-r--r--src/gui/kernel/qplatformwindow_qpa.h94
-rw-r--r--src/gui/kernel/qplatformwindowformat_qpa.cpp1012
-rw-r--r--src/gui/kernel/qplatformwindowformat_qpa.h241
-rw-r--r--src/gui/kernel/qsizepolicy.qdoc10
-rw-r--r--src/gui/kernel/qsoftkeymanager_s60.cpp2
-rw-r--r--src/gui/kernel/qstandardgestures.cpp25
-rw-r--r--src/gui/kernel/qt_cocoa_helpers_mac.mm37
-rw-r--r--src/gui/kernel/qt_cocoa_helpers_mac_p.h2
-rw-r--r--src/gui/kernel/qt_x11_p.h1
-rw-r--r--src/gui/kernel/qwidget.cpp153
-rw-r--r--src/gui/kernel/qwidget.h19
-rw-r--r--src/gui/kernel/qwidget_mac.mm52
-rw-r--r--src/gui/kernel/qwidget_p.h25
-rw-r--r--src/gui/kernel/qwidget_qpa.cpp895
-rw-r--r--src/gui/kernel/qwidget_qws.cpp24
-rw-r--r--src/gui/kernel/qwidget_s60.cpp7
-rw-r--r--src/gui/kernel/qwidget_win.cpp23
-rw-r--r--src/gui/kernel/qwindowdefs.h6
-rw-r--r--src/gui/kernel/qwindowsysteminterface_qpa.cpp255
-rw-r--r--src/gui/kernel/qwindowsysteminterface_qpa.h95
-rw-r--r--src/gui/kernel/qwindowsysteminterface_qpa_p.h189
-rw-r--r--src/gui/painting/painting.pri43
-rw-r--r--src/gui/painting/qbackingstore.cpp49
-rw-r--r--src/gui/painting/qblendfunctions_armv6_rvct.s222
-rw-r--r--src/gui/painting/qblittable.cpp105
-rw-r--r--src/gui/painting/qblittable_p.h91
-rw-r--r--src/gui/painting/qbrush.cpp9
-rw-r--r--src/gui/painting/qbrush.h2
-rw-r--r--src/gui/painting/qcolormap.qdoc10
-rw-r--r--src/gui/painting/qcolormap_qpa.cpp231
-rw-r--r--src/gui/painting/qdrawhelper.cpp159
-rw-r--r--src/gui/painting/qdrawhelper_arm_simd.cpp332
-rw-r--r--src/gui/painting/qdrawhelper_arm_simd_p.h76
-rw-r--r--src/gui/painting/qdrawhelper_armv6_p.h81
-rw-r--r--src/gui/painting/qdrawhelper_armv6_rvct.inc496
-rw-r--r--src/gui/painting/qdrawhelper_armv6_rvct.s177
-rw-r--r--src/gui/painting/qgraphicssystem.cpp7
-rw-r--r--src/gui/painting/qgraphicssystem_p.h6
-rw-r--r--src/gui/painting/qgraphicssystem_qws.cpp2
-rw-r--r--src/gui/painting/qgrayraster.c35
-rw-r--r--src/gui/painting/qgrayraster_p.h2
-rw-r--r--src/gui/painting/qimagescale.cpp2
-rw-r--r--src/gui/painting/qpaintdevice.cpp2
-rw-r--r--src/gui/painting/qpaintdevice.qdoc10
-rw-r--r--src/gui/painting/qpaintdevice_qpa.cpp68
-rw-r--r--src/gui/painting/qpaintengine.h4
-rw-r--r--src/gui/painting/qpaintengine_blitter.cpp663
-rw-r--r--src/gui/painting/qpaintengine_blitter_p.h113
-rw-r--r--src/gui/painting/qpaintengine_raster.cpp107
-rw-r--r--src/gui/painting/qpaintengine_raster_p.h3
-rw-r--r--src/gui/painting/qpainter.cpp4
-rw-r--r--src/gui/painting/qpainterpath.cpp8
-rw-r--r--src/gui/painting/qpainterpath.h1
-rw-r--r--src/gui/painting/qpdf.cpp1
-rw-r--r--src/gui/painting/qpen.cpp8
-rw-r--r--src/gui/painting/qpen.h1
-rw-r--r--src/gui/painting/qpolygon.cpp16
-rw-r--r--src/gui/painting/qpolygon.h3
-rw-r--r--src/gui/painting/qprinterinfo.qdoc10
-rw-r--r--src/gui/painting/qregion.cpp12
-rw-r--r--src/gui/painting/qregion.h9
-rw-r--r--src/gui/painting/qtextureglyphcache.cpp11
-rw-r--r--src/gui/painting/qunifiedtoolbarsurface_mac.cpp257
-rw-r--r--src/gui/painting/qunifiedtoolbarsurface_mac_p.h100
-rw-r--r--src/gui/painting/qwindowsurface.cpp28
-rw-r--r--src/gui/painting/qwindowsurface_p.h9
-rw-r--r--src/gui/painting/qwindowsurface_raster.cpp50
-rw-r--r--src/gui/painting/qwindowsurface_raster_p.h2
-rw-r--r--src/gui/painting/qwindowsurface_s60.cpp8
-rw-r--r--src/gui/painting/qwindowsurface_x11.cpp2
-rw-r--r--src/gui/s60framework/qs60mainapplication.cpp7
-rw-r--r--src/gui/styles/qmacstyle.qdoc10
-rw-r--r--src/gui/styles/qmacstyle_mac.mm5
-rw-r--r--src/gui/styles/qs60style.cpp123
-rw-r--r--src/gui/styles/qs60style_feedbackinterface_p.h50
-rw-r--r--src/gui/styles/qs60style_p.h11
-rw-r--r--src/gui/styles/qs60style_s60.cpp99
-rw-r--r--src/gui/styles/qstyle.cpp8
-rw-r--r--src/gui/styles/qstylesheetstyle.cpp143
-rw-r--r--src/gui/styles/qstylesheetstyle_p.h20
-rw-r--r--src/gui/styles/qwindowsxpstyle.cpp2
-rw-r--r--src/gui/styles/styles.pri2
-rw-r--r--src/gui/text/qfont.cpp26
-rw-r--r--src/gui/text/qfont_qpa.cpp114
-rw-r--r--src/gui/text/qfontdatabase.cpp69
-rw-r--r--src/gui/text/qfontdatabase.h3
-rw-r--r--src/gui/text/qfontdatabase_qpa.cpp393
-rw-r--r--src/gui/text/qfontdatabase_qws.cpp10
-rw-r--r--src/gui/text/qfontdatabase_x11.cpp30
-rw-r--r--src/gui/text/qfontengine.cpp25
-rw-r--r--src/gui/text/qfontengine_ft.cpp32
-rw-r--r--src/gui/text/qfontengine_ft_p.h25
-rw-r--r--src/gui/text/qfontengine_mac.mm24
-rw-r--r--src/gui/text/qfontengine_p.h23
-rw-r--r--src/gui/text/qfontengine_qpa.cpp691
-rw-r--r--src/gui/text/qfontengine_qpa_p.h262
-rw-r--r--src/gui/text/qfontengine_s60.cpp68
-rw-r--r--src/gui/text/qfontengine_s60_p.h3
-rw-r--r--src/gui/text/qfontengine_win.cpp2
-rw-r--r--src/gui/text/qfontsubset.cpp4
-rw-r--r--src/gui/text/qplatformfontdatabase_qpa.cpp241
-rw-r--r--src/gui/text/qplatformfontdatabase_qpa.h108
-rw-r--r--src/gui/text/qstatictext.cpp22
-rw-r--r--src/gui/text/qstatictext_p.h54
-rw-r--r--src/gui/text/qtextcontrol.cpp3
-rw-r--r--src/gui/text/qtextcursor.h1
-rw-r--r--src/gui/text/qtextdocument.cpp8
-rw-r--r--src/gui/text/qtextdocument_p.cpp4
-rw-r--r--src/gui/text/qtextengine.cpp18
-rw-r--r--src/gui/text/qtextlayout.cpp2
-rw-r--r--src/gui/text/text.pri19
-rw-r--r--src/gui/util/qcompleter.cpp20
-rw-r--r--src/gui/util/qcompleter_p.h1
-rw-r--r--src/gui/util/qdesktopservices.cpp2
-rw-r--r--src/gui/util/util.pri4
-rw-r--r--src/gui/widgets/qabstractslider.cpp2
-rw-r--r--src/gui/widgets/qcocoamenu_mac.mm22
-rw-r--r--src/gui/widgets/qcombobox.cpp2
-rw-r--r--src/gui/widgets/qdatetimeedit.cpp4
-rw-r--r--src/gui/widgets/qlinecontrol.cpp4
-rw-r--r--src/gui/widgets/qlineedit.cpp5
-rw-r--r--src/gui/widgets/qmainwindow.cpp19
-rw-r--r--src/gui/widgets/qmainwindowlayout_mac.mm31
-rw-r--r--src/gui/widgets/qmainwindowlayout_p.h15
-rw-r--r--src/gui/widgets/qmenu.h4
-rw-r--r--src/gui/widgets/qmenubar.cpp30
-rw-r--r--src/gui/widgets/qtextedit.cpp2
-rw-r--r--src/gui/widgets/qvalidator.cpp45
-rw-r--r--src/gui/widgets/widgets.pri2
-rw-r--r--src/imports/folderlistmodel/folderlistmodel.pro5
-rw-r--r--src/imports/gestures/gestures.pro5
-rw-r--r--src/imports/particles/particles.pro5
-rw-r--r--src/multimedia/audio/audio.pri4
-rw-r--r--src/multimedia/audio/qaudioengine.cpp4
-rw-r--r--src/multimedia/audio/qaudioinput.cpp2
-rw-r--r--src/multimedia/audio/qaudioinput_alsa_p.cpp21
-rw-r--r--src/multimedia/audio/qaudioinput_win32_p.cpp11
-rw-r--r--src/multimedia/audio/qaudiooutput.cpp2
-rw-r--r--src/multimedia/audio/qaudiooutput_win32_p.cpp2
-rw-r--r--src/network/access/qhttp.cpp2
-rw-r--r--src/network/access/qhttpnetworkconnection.cpp166
-rw-r--r--src/network/access/qhttpnetworkconnection_p.h36
-rw-r--r--src/network/access/qhttpnetworkconnectionchannel.cpp54
-rw-r--r--src/network/access/qhttpnetworkconnectionchannel_p.h7
-rw-r--r--src/network/access/qhttpnetworkheader.cpp12
-rw-r--r--src/network/access/qhttpnetworkreply.cpp5
-rw-r--r--src/network/access/qhttpnetworkreply_p.h8
-rw-r--r--src/network/access/qnetworkaccessbackend.cpp14
-rw-r--r--src/network/access/qnetworkaccessbackend_p.h1
-rw-r--r--src/network/access/qnetworkaccesscachebackend.cpp12
-rw-r--r--src/network/access/qnetworkaccesscachebackend_p.h2
-rw-r--r--src/network/access/qnetworkaccessdebugpipebackend.cpp6
-rw-r--r--src/network/access/qnetworkaccessdebugpipebackend_p.h1
-rw-r--r--src/network/access/qnetworkaccessfilebackend.cpp6
-rw-r--r--src/network/access/qnetworkaccessfilebackend_p.h1
-rw-r--r--src/network/access/qnetworkaccessftpbackend.cpp17
-rw-r--r--src/network/access/qnetworkaccessftpbackend_p.h1
-rw-r--r--src/network/access/qnetworkaccesshttpbackend.cpp84
-rw-r--r--src/network/access/qnetworkaccesshttpbackend_p.h2
-rw-r--r--src/network/access/qnetworkaccessmanager.cpp49
-rw-r--r--src/network/access/qnetworkaccessmanager_p.h6
-rw-r--r--src/network/access/qnetworkreplyimpl.cpp2
-rw-r--r--src/network/access/qnetworkrequest.cpp20
-rw-r--r--src/network/bearer/qnetworkconfigmanager.cpp38
-rw-r--r--src/network/bearer/qnetworksession.cpp8
-rw-r--r--src/network/kernel/qauthenticator.cpp24
-rw-r--r--src/network/kernel/qauthenticator_p.h1
-rw-r--r--src/network/kernel/qnetworkproxy.cpp6
-rw-r--r--src/network/socket/qabstractsocket.cpp30
-rw-r--r--src/network/socket/qabstractsocket.h1
-rw-r--r--src/network/socket/qabstractsocket_p.h7
-rw-r--r--src/network/socket/qlocalserver_unix.cpp2
-rw-r--r--src/network/socket/qnativesocketengine_win.cpp4
-rw-r--r--src/network/ssl/qsslconfiguration.cpp7
-rw-r--r--src/network/ssl/qsslsocket.cpp14
-rw-r--r--src/network/ssl/qsslsocket_openssl.cpp121
-rw-r--r--src/network/ssl/qsslsocket_openssl_p.h2
-rw-r--r--src/network/ssl/qsslsocket_p.h2
-rw-r--r--src/opengl/gl2paintengineex/qgl2pexvertexarray.cpp5
-rw-r--r--src/opengl/gl2paintengineex/qgl2pexvertexarray_p.h2
-rw-r--r--src/opengl/gl2paintengineex/qglengineshadermanager_p.h4
-rw-r--r--src/opengl/gl2paintengineex/qglengineshadersource_p.h5
-rw-r--r--src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp68
-rw-r--r--src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp20
-rw-r--r--src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h4
-rw-r--r--src/opengl/gl2paintengineex/qtriangulator.cpp21
-rw-r--r--src/opengl/opengl.pro7
-rw-r--r--src/opengl/qgl.cpp49
-rw-r--r--src/opengl/qgl.h1
-rw-r--r--src/opengl/qgl_egl.cpp6
-rw-r--r--src/opengl/qgl_p.h102
-rw-r--r--src/opengl/qgl_qpa.cpp345
-rw-r--r--src/opengl/qgl_x11egl.cpp2
-rw-r--r--src/opengl/qglextensions_p.h23
-rw-r--r--src/opengl/qglframebufferobject.cpp27
-rw-r--r--src/opengl/qglpixelbuffer.cpp4
-rw-r--r--src/opengl/qglpixelbuffer_p.h4
-rw-r--r--src/opengl/qglpixelbuffer_stub.cpp84
-rw-r--r--src/opengl/qglpixmapfilter.cpp6
-rw-r--r--src/opengl/qglshaderprogram.cpp10
-rw-r--r--src/opengl/qpaintengine_opengl.cpp10
-rw-r--r--src/opengl/qpixmapdata_gl.cpp4
-rw-r--r--src/opengl/qpixmapdata_gl_p.h1
-rw-r--r--src/opengl/qpixmapdata_x11gl_egl.cpp4
-rw-r--r--src/opengl/qwindowsurface_gl.cpp194
-rw-r--r--src/opengl/qwindowsurface_gl_p.h7
-rw-r--r--src/openvg/qpaintengine_vg.cpp98
-rw-r--r--src/openvg/qpaintengine_vg_p.h1
-rw-r--r--src/openvg/qpixmapdata_vg.cpp27
-rw-r--r--src/openvg/qpixmapdata_vg_p.h2
-rw-r--r--src/openvg/qvg_p.h5
-rw-r--r--src/openvg/qvg_symbian.cpp14
-rw-r--r--src/openvg/qvgfontglyphcache_p.h6
-rw-r--r--src/plugins/accessible/widgets/simplewidgets.cpp6
-rw-r--r--src/plugins/bearer/connman/qconnmanengine.cpp83
-rw-r--r--src/plugins/bearer/connman/qconnmanengine.h27
-rw-r--r--src/plugins/bearer/connman/qconnmanservice_linux.cpp15
-rw-r--r--src/plugins/bearer/connman/qofonoservice_linux.cpp12
-rw-r--r--src/plugins/bearer/corewlan/corewlan.pro5
-rw-r--r--src/plugins/bearer/corewlan/qcorewlanengine.mm89
-rw-r--r--src/plugins/bearer/icd/icd.pro2
-rw-r--r--src/plugins/bearer/icd/maemo_icd.cpp2
-rw-r--r--src/plugins/bearer/icd/qnetworksession_impl.cpp2
-rw-r--r--src/plugins/bearer/platformdefs_win.h3
-rw-r--r--src/plugins/bearer/symbian/qnetworksession_impl.cpp10
-rw-r--r--src/plugins/bearer/symbian/symbian.pri2
-rw-r--r--src/plugins/bearer/symbian/symbianengine.cpp37
-rw-r--r--src/plugins/bearer/symbian/symbianengine.h6
-rw-r--r--src/plugins/generic/linuxinput/linuxinput.pro18
-rw-r--r--src/plugins/generic/linuxinput/main.cpp80
-rw-r--r--src/plugins/generic/linuxinput/qlinuxinput.cpp557
-rw-r--r--src/plugins/generic/linuxinput/qlinuxinput.h111
-rw-r--r--src/plugins/generic/tslib/main.cpp78
-rw-r--r--src/plugins/generic/tslib/qtslib.cpp144
-rw-r--r--src/plugins/generic/tslib/qtslib.h77
-rw-r--r--src/plugins/generic/tslib/tslib.pro13
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp86
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp18
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp36
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbscreen.h1
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp9
-rw-r--r--src/plugins/graphicssystems/graphicssystems.pro4
-rw-r--r--src/plugins/graphicssystems/meego/dithering.cpp306
-rw-r--r--src/plugins/graphicssystems/meego/meego.pro4
-rw-r--r--src/plugins/graphicssystems/meego/qmeegoextensions.cpp80
-rw-r--r--src/plugins/graphicssystems/meego/qmeegoextensions.h22
-rw-r--r--src/plugins/graphicssystems/meego/qmeegographicssystem.cpp244
-rw-r--r--src/plugins/graphicssystems/meego/qmeegographicssystem.h30
-rw-r--r--src/plugins/graphicssystems/meego/qmeegolivepixmapdata.cpp292
-rw-r--r--src/plugins/graphicssystems/meego/qmeegolivepixmapdata.h71
-rw-r--r--src/plugins/graphicssystems/meego/qmeegopixmapdata.cpp74
-rw-r--r--src/plugins/graphicssystems/meego/qmeegopixmapdata.h2
-rw-r--r--src/plugins/graphicssystems/meego/qmeegorasterpixmapdata.cpp60
-rw-r--r--src/plugins/graphicssystems/meego/qmeegorasterpixmapdata.h55
-rw-r--r--src/plugins/graphicssystems/openvg/qgraphicssystem_vg.cpp8
-rw-r--r--src/plugins/graphicssystems/trace/qgraphicssystem_trace.cpp4
-rw-r--r--src/plugins/phonon/gstreamer/gstreamer.pro2
-rw-r--r--src/plugins/phonon/mmf/mmf.pro8
-rw-r--r--src/plugins/platforms/cocoa/cocoa.pro29
-rw-r--r--src/plugins/platforms/cocoa/main.mm74
-rw-r--r--src/plugins/platforms/cocoa/qcocoaautoreleasepool.h57
-rw-r--r--src/plugins/platforms/cocoa/qcocoaautoreleasepool.mm52
-rw-r--r--src/plugins/platforms/cocoa/qcocoaeventloopintegration.h74
-rw-r--r--src/plugins/platforms/cocoa/qcocoaeventloopintegration.mm128
-rw-r--r--src/plugins/platforms/cocoa/qcocoaintegration.h98
-rw-r--r--src/plugins/platforms/cocoa/qcocoaintegration.mm122
-rw-r--r--src/plugins/platforms/cocoa/qcocoawindow.h75
-rw-r--r--src/plugins/platforms/cocoa/qcocoawindow.mm116
-rw-r--r--src/plugins/platforms/cocoa/qcocoawindowsurface.h73
-rw-r--r--src/plugins/platforms/cocoa/qcocoawindowsurface.mm103
-rw-r--r--src/plugins/platforms/cocoa/qnsview.h79
-rw-r--r--src/plugins/platforms/cocoa/qnsview.mm211
-rw-r--r--src/plugins/platforms/cocoa/qnswindowdelegate.h61
-rw-r--r--src/plugins/platforms/cocoa/qnswindowdelegate.mm73
-rw-r--r--src/plugins/platforms/directfb/directfb.pro35
-rw-r--r--src/plugins/platforms/directfb/main.cpp72
-rw-r--r--src/plugins/platforms/directfb/qdirectfbblitter.cpp155
-rw-r--r--src/plugins/platforms/directfb/qdirectfbblitter.h76
-rw-r--r--src/plugins/platforms/directfb/qdirectfbconvenience.cpp376
-rw-r--r--src/plugins/platforms/directfb/qdirectfbconvenience.h84
-rw-r--r--src/plugins/platforms/directfb/qdirectfbcursor.cpp80
-rw-r--r--src/plugins/platforms/directfb/qdirectfbcursor.h63
-rw-r--r--src/plugins/platforms/directfb/qdirectfbglcontext.cpp99
-rw-r--r--src/plugins/platforms/directfb/qdirectfbglcontext.h69
-rw-r--r--src/plugins/platforms/directfb/qdirectfbinput.cpp208
-rw-r--r--src/plugins/platforms/directfb/qdirectfbinput.h86
-rw-r--r--src/plugins/platforms/directfb/qdirectfbintegration.cpp144
-rw-r--r--src/plugins/platforms/directfb/qdirectfbintegration.h104
-rw-r--r--src/plugins/platforms/directfb/qdirectfbwindow.cpp191
-rw-r--r--src/plugins/platforms/directfb/qdirectfbwindow.h79
-rw-r--r--src/plugins/platforms/directfb/qdirectfbwindowsurface.cpp141
-rw-r--r--src/plugins/platforms/directfb/qdirectfbwindowsurface.h77
-rw-r--r--src/plugins/platforms/eglconvenience/qeglconvenience.cpp316
-rw-r--r--src/plugins/platforms/eglconvenience/qeglconvenience.h59
-rw-r--r--src/plugins/platforms/eglconvenience/qeglplatformcontext.cpp155
-rw-r--r--src/plugins/platforms/eglconvenience/qeglplatformcontext.h71
-rw-r--r--src/plugins/platforms/eglfs/eglfs.pro31
-rw-r--r--src/plugins/platforms/eglfs/main.cpp72
-rw-r--r--src/plugins/platforms/eglfs/qeglfsintegration.cpp101
-rw-r--r--src/plugins/platforms/eglfs/qeglfsintegration.h76
-rw-r--r--src/plugins/platforms/eglfs/qeglfsscreen.cpp203
-rw-r--r--src/plugins/platforms/eglfs/qeglfsscreen.h76
-rw-r--r--src/plugins/platforms/eglfs/qeglfswindow.cpp84
-rw-r--r--src/plugins/platforms/eglfs/qeglfswindow.h71
-rw-r--r--src/plugins/platforms/eglfs/qeglfswindowsurface.cpp104
-rw-r--r--src/plugins/platforms/eglfs/qeglfswindowsurface.h67
-rw-r--r--src/plugins/platforms/fb_base/fb_base.cpp507
-rw-r--r--src/plugins/platforms/fb_base/fb_base.h210
-rw-r--r--src/plugins/platforms/fb_base/fb_base.pri2
-rw-r--r--src/plugins/platforms/fb_base/fb_base.pro23
-rw-r--r--src/plugins/platforms/fontdatabases/basicunix/basicunix.pri82
-rw-r--r--src/plugins/platforms/fontdatabases/basicunix/qbasicunixfontdatabase.cpp326
-rw-r--r--src/plugins/platforms/fontdatabases/basicunix/qbasicunixfontdatabase.h67
-rw-r--r--src/plugins/platforms/fontdatabases/fontconfig/fontconfig.pri12
-rw-r--r--src/plugins/platforms/fontdatabases/fontconfig/qfontconfigdatabase.cpp572
-rw-r--r--src/plugins/platforms/fontdatabases/fontconfig/qfontconfigdatabase.h56
-rw-r--r--src/plugins/platforms/fontdatabases/genericunix/genericunix.pri10
-rw-r--r--src/plugins/platforms/fontdatabases/genericunix/qgenericunixfontdatabase.h53
-rw-r--r--src/plugins/platforms/linuxfb/linuxfb.pro13
-rw-r--r--src/plugins/platforms/linuxfb/main.cpp72
-rw-r--r--src/plugins/platforms/linuxfb/qlinuxfbintegration.cpp866
-rw-r--r--src/plugins/platforms/linuxfb/qlinuxfbintegration.h133
-rw-r--r--src/plugins/platforms/minimal/main.cpp73
-rw-r--r--src/plugins/platforms/minimal/minimal.pro13
-rw-r--r--src/plugins/platforms/minimal/qminimalintegration.cpp74
-rw-r--r--src/plugins/platforms/minimal/qminimalintegration.h84
-rw-r--r--src/plugins/platforms/minimal/qminimalwindowsurface.cpp86
-rw-r--r--src/plugins/platforms/minimal/qminimalwindowsurface.h67
-rw-r--r--src/plugins/platforms/openkode/main.cpp72
-rw-r--r--src/plugins/platforms/openkode/openkode.pro42
-rw-r--r--src/plugins/platforms/openkode/openkodekeytranslator.h244
-rw-r--r--src/plugins/platforms/openkode/qopenkodeeventloopintegration.cpp119
-rw-r--r--src/plugins/platforms/openkode/qopenkodeeventloopintegration.h69
-rw-r--r--src/plugins/platforms/openkode/qopenkodeintegration.cpp240
-rw-r--r--src/plugins/platforms/openkode/qopenkodeintegration.h116
-rw-r--r--src/plugins/platforms/openkode/qopenkodewindow.cpp316
-rw-r--r--src/plugins/platforms/openkode/qopenkodewindow.h89
-rw-r--r--src/plugins/platforms/openkode/resources.qrc6
-rw-r--r--src/plugins/platforms/openkode/shaders/frag.glslf49
-rw-r--r--src/plugins/platforms/openkode/shaders/vert.glslv55
-rw-r--r--src/plugins/platforms/openvglite/main.cpp71
-rw-r--r--src/plugins/platforms/openvglite/openvglite.pro12
-rw-r--r--src/plugins/platforms/openvglite/qgraphicssystem_vglite.cpp193
-rw-r--r--src/plugins/platforms/openvglite/qgraphicssystem_vglite.h93
-rw-r--r--src/plugins/platforms/openvglite/qwindowsurface_vglite.cpp131
-rw-r--r--src/plugins/platforms/openvglite/qwindowsurface_vglite.h91
-rw-r--r--src/plugins/platforms/platforms.pro4
-rw-r--r--src/plugins/platforms/qvfb/main.cpp73
-rw-r--r--src/plugins/platforms/qvfb/qvfb.pro13
-rw-r--r--src/plugins/platforms/qvfb/qvfbintegration.cpp448
-rw-r--r--src/plugins/platforms/qvfb/qvfbintegration.h100
-rw-r--r--src/plugins/platforms/qvfb/qvfbwindowsurface.cpp108
-rw-r--r--src/plugins/platforms/qvfb/qvfbwindowsurface.h80
-rw-r--r--src/plugins/platforms/testlite/main.cpp79
-rw-r--r--src/plugins/platforms/testlite/qglxintegration.cpp370
-rw-r--r--src/plugins/platforms/testlite/qglxintegration.h93
-rw-r--r--src/plugins/platforms/testlite/qtestliteintegration.cpp153
-rw-r--r--src/plugins/platforms/testlite/qtestliteintegration.h102
-rw-r--r--src/plugins/platforms/testlite/qtestlitewindow.cpp1587
-rw-r--r--src/plugins/platforms/testlite/qtestlitewindow.h157
-rw-r--r--src/plugins/platforms/testlite/qtestlitewindowsurface.cpp226
-rw-r--r--src/plugins/platforms/testlite/qtestlitewindowsurface.h88
-rw-r--r--src/plugins/platforms/testlite/testlite.pro29
-rw-r--r--src/plugins/platforms/vnc/main.cpp73
-rw-r--r--src/plugins/platforms/vnc/qvnccursor.cpp156
-rw-r--r--src/plugins/platforms/vnc/qvnccursor.h76
-rw-r--r--src/plugins/platforms/vnc/qvncintegration.cpp242
-rw-r--r--src/plugins/platforms/vnc/qvncintegration.h109
-rw-r--r--src/plugins/platforms/vnc/qvncserver.cpp1935
-rw-r--r--src/plugins/platforms/vnc/qvncserver.h533
-rw-r--r--src/plugins/platforms/vnc/vnc.pro22
-rw-r--r--src/plugins/plugins.pro6
-rw-r--r--src/plugins/s60/feedback/feedback.pro18
-rw-r--r--src/plugins/s60/feedback/qtactileFeedback.h54
-rw-r--r--src/plugins/s60/feedback/qtactileFeedback_s60.cpp83
-rw-r--r--src/plugins/s60/s60.pro4
-rw-r--r--src/plugins/sqldrivers/sqlite_symbian/sqlite_symbian.pri10
-rw-r--r--src/qbase.pri12
-rw-r--r--src/qt3support/canvas/q3canvas.cpp2
-rw-r--r--src/qt3support/sql/q3sqlfieldinfo.qdoc10
-rw-r--r--src/qt3support/sql/q3sqlrecordinfo.qdoc10
-rw-r--r--src/qt3support/text/q3richtext.cpp2
-rw-r--r--src/qt3support/tools/q3asciicache.qdoc10
-rw-r--r--src/qt3support/tools/q3asciidict.qdoc10
-rw-r--r--src/qt3support/tools/q3cache.qdoc10
-rw-r--r--src/qt3support/tools/q3dict.qdoc10
-rw-r--r--src/qt3support/tools/q3intcache.qdoc10
-rw-r--r--src/qt3support/tools/q3intdict.qdoc10
-rw-r--r--src/qt3support/tools/q3memarray.qdoc10
-rw-r--r--src/qt3support/tools/q3ptrdict.qdoc10
-rw-r--r--src/qt3support/tools/q3ptrlist.qdoc10
-rw-r--r--src/qt3support/tools/q3ptrqueue.qdoc10
-rw-r--r--src/qt3support/tools/q3ptrstack.qdoc10
-rw-r--r--src/qt3support/tools/q3ptrvector.qdoc10
-rw-r--r--src/qt3support/tools/q3valuelist.qdoc10
-rw-r--r--src/qt3support/tools/q3valuestack.qdoc10
-rw-r--r--src/qt3support/tools/q3valuevector.h4
-rw-r--r--src/qt3support/tools/q3valuevector.qdoc10
-rw-r--r--src/qt_install.pri2
-rw-r--r--src/s60installs/bwins/QtCoreu.def63
-rw-r--r--src/s60installs/bwins/QtDeclarativeu.def2215
-rw-r--r--src/s60installs/bwins/QtGuiu.def72
-rw-r--r--src/s60installs/bwins/QtOpenVGu.def1
-rw-r--r--src/s60installs/eabi/QtCoreu.def49
-rw-r--r--src/s60installs/eabi/QtDeclarativeu.def2389
-rw-r--r--src/s60installs/eabi/QtGuiu.def67
-rw-r--r--src/s60installs/eabi/QtOpenVGu.def1
-rw-r--r--src/s60installs/qt.iby11
-rw-r--r--src/s60installs/qtdemoapps.iby15
-rw-r--r--src/s60installs/s60installs.pro65
-rw-r--r--src/s60main/s60main.pro2
-rw-r--r--src/script/api/qscriptengine.cpp18
-rw-r--r--src/script/api/qscriptengine.h5
-rw-r--r--src/script/api/qscriptvalue.cpp14
-rw-r--r--src/script/bridge/qscriptclassobject.cpp12
-rw-r--r--src/script/script.pro10
-rw-r--r--src/scripttools/debugging/qscriptdebuggeragent.cpp6
-rw-r--r--src/scripttools/debugging/qscriptdebuggerconsolewidget.cpp8
-rw-r--r--src/scripttools/debugging/qscriptdebugoutputwidget.cpp8
-rw-r--r--src/scripttools/debugging/qscripterrorlogwidget.cpp8
-rw-r--r--src/sql/drivers/oci/qsql_oci.cpp239
-rw-r--r--src/sql/kernel/qsql.qdoc10
-rw-r--r--src/sql/kernel/qsqldriver.cpp8
-rw-r--r--src/src.pro1
-rw-r--r--src/testlib/qsignalspy.qdoc10
-rw-r--r--src/testlib/qtestcase.cpp3
-rw-r--r--src/testlib/qtestevent.qdoc10
-rw-r--r--src/testlib/testlib.pro10
-rw-r--r--src/tools/uic/cpp/cppwriteinitialization.cpp4
-rw-r--r--src/tools/uic/ui4.cpp11
-rw-r--r--src/tools/uic/ui4.h8
-rw-r--r--src/xmlpatterns/data/qabstractfloat.cpp2
-rw-r--r--src/xmlpatterns/data/qatomicvalue.cpp2
-rw-r--r--src/xmlpatterns/data/qschematime_p.h2
-rwxr-xr-xsrc/xmlpatterns/parser/createTokenLookup.sh15
-rw-r--r--src/xmlpatterns/schema/qxsdschemaparser.cpp8
-rw-r--r--src/xmlpatterns/schema/qxsdschemaparser_setup.cpp2
-rw-r--r--src/xmlpatterns/schema/qxsdstatemachine_p.h4
-rw-r--r--src/xmlpatterns/type/qtypechecker.cpp2
-rw-r--r--tests/arthur/.gitignore2
-rw-r--r--tests/arthur/baselineserver/.gitignore2
-rwxr-xr-xtests/arthur/baselineserver/bin/runserver13
-rw-r--r--tests/arthur/baselineserver/src/baselineserver.cpp519
-rw-r--r--tests/arthur/baselineserver/src/baselineserver.h128
-rw-r--r--tests/arthur/baselineserver/src/baselineserver.pro27
-rw-r--r--tests/arthur/baselineserver/src/htmlpage.cpp228
-rw-r--r--tests/arthur/baselineserver/src/htmlpage.h77
-rw-r--r--tests/arthur/baselineserver/src/main.cpp70
-rw-r--r--tests/arthur/common/baselineprotocol.cpp405
-rw-r--r--tests/arthur/common/baselineprotocol.h168
-rw-r--r--tests/arthur/common/baselineprotocol.pri10
-rw-r--r--tests/arthur/common/lookup3.cpp786
-rw-r--r--tests/arthur/common/paintcommands.cpp29
-rw-r--r--tests/arthur/common/paintcommands.h5
-rw-r--r--tests/arthur/lance/lance.pro2
-rw-r--r--tests/auto/checkxmlfiles/checkxmlfiles.pro2
-rw-r--r--tests/auto/collections/collections.pro1
-rw-r--r--tests/auto/collections/tst_collections.cpp212
-rw-r--r--tests/auto/declarative/examples/examples.pro2
-rw-r--r--tests/auto/declarative/examples/tst_examples.cpp1
-rw-r--r--tests/auto/declarative/moduleqt47/moduleqt47.pro2
-rw-r--r--tests/auto/declarative/parserstress/parserstress.pro2
-rw-r--r--tests/auto/declarative/qdeclarativeanchors/qdeclarativeanchors.pro2
-rw-r--r--tests/auto/declarative/qdeclarativeanimatedimage/qdeclarativeanimatedimage.pro2
-rw-r--r--tests/auto/declarative/qdeclarativeanimations/qdeclarativeanimations.pro2
-rw-r--r--tests/auto/declarative/qdeclarativebehaviors/data/reassignedAnimation.qml7
-rw-r--r--tests/auto/declarative/qdeclarativebehaviors/qdeclarativebehaviors.pro2
-rw-r--r--tests/auto/declarative/qdeclarativebinding/qdeclarativebinding.pro2
-rw-r--r--tests/auto/declarative/qdeclarativeborderimage/qdeclarativeborderimage.pro2
-rw-r--r--tests/auto/declarative/qdeclarativeconnection/qdeclarativeconnection.pro2
-rw-r--r--tests/auto/declarative/qdeclarativedebug/tst_qdeclarativedebug.cpp78
-rw-r--r--tests/auto/declarative/qdeclarativedebugclient/tst_qdeclarativedebugclient.cpp5
-rw-r--r--tests/auto/declarative/qdeclarativedebughelper/private_headers/qdeclarativedebughelper_p.h4
-rw-r--r--tests/auto/declarative/qdeclarativedebughelper/tst_qdeclarativedebughelper.cpp7
-rw-r--r--tests/auto/declarative/qdeclarativedebugservice/tst_qdeclarativedebugservice.cpp4
-rw-r--r--tests/auto/declarative/qdeclarativedom/qdeclarativedom.pro2
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/ConstantsOverrideBindings.qml6
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/constantsOverrideBindings.4.qml11
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/objectName.qml8
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/outerBindingOverridesInnerBinding.qml3
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/propertySplicing.qml10
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/scope.2.qml8
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/qdeclarativeecmascript.pro2
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/testtypes.cpp1
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/testtypes.h43
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp93
-rw-r--r--tests/auto/declarative/qdeclarativeflickable/qdeclarativeflickable.pro2
-rw-r--r--tests/auto/declarative/qdeclarativeflipable/qdeclarativeflipable.pro2
-rw-r--r--tests/auto/declarative/qdeclarativefocusscope/data/qtBug13380.qml24
-rw-r--r--tests/auto/declarative/qdeclarativefocusscope/qdeclarativefocusscope.pro2
-rw-r--r--tests/auto/declarative/qdeclarativefocusscope/tst_qdeclarativefocusscope.cpp32
-rw-r--r--tests/auto/declarative/qdeclarativefolderlistmodel/qdeclarativefolderlistmodel.pro2
-rw-r--r--tests/auto/declarative/qdeclarativefontloader/qdeclarativefontloader.pro2
-rw-r--r--tests/auto/declarative/qdeclarativegridview/data/gridview-noCurrent.qml52
-rw-r--r--tests/auto/declarative/qdeclarativegridview/data/header.qml32
-rw-r--r--tests/auto/declarative/qdeclarativegridview/qdeclarativegridview.pro2
-rw-r--r--tests/auto/declarative/qdeclarativegridview/tst_qdeclarativegridview.cpp78
-rw-r--r--tests/auto/declarative/qdeclarativeimage/data/rect.pngbin0 -> 171 bytes-rw-r--r--tests/auto/declarative/qdeclarativeimage/qdeclarativeimage.pro2
-rw-r--r--tests/auto/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp108
-rw-r--r--tests/auto/declarative/qdeclarativeinfo/qdeclarativeinfo.pro2
-rw-r--r--tests/auto/declarative/qdeclarativeitem/data/keystest.qml1
-rw-r--r--tests/auto/declarative/qdeclarativeitem/qdeclarativeitem.pro2
-rw-r--r--tests/auto/declarative/qdeclarativeitem/tst_qdeclarativeitem.cpp22
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/AliasPropertyChangeSignalsType.qml20
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/alias.10.qml8
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/alias.11.qml8
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/aliasPropertyChangeSignals.2.qml10
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/importIncorrectCase.qml5
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/incorrectCase.errors.insensitive.txt2
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/incorrectCase.errors.sensitive.txt1
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/incorrectCase.qml4
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/incorrectCaseType.qml4
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/insertedSemicolon.1.errors.txt1
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/insertedSemicolon.1.qml10
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/invalidAlias.10.errors.txt1
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/invalidAlias.10.qml6
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/invalidAlias.3.errors.txt2
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/invalidAlias.3.qml2
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/invalidAlias.4.errors.txt2
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/invalidAlias.8.errors.txt1
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/invalidAlias.8.qml7
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/invalidAlias.9.errors.txt1
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/invalidAlias.9.qml6
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/singularProperty.2.errors.txt1
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/singularProperty.2.qml7
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/singularProperty.errors.txt1
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/singularProperty.qml6
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/qdeclarativelanguage.pro2
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/noqmldir/Test.qml2
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/testtypes.h2
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp126
-rw-r--r--tests/auto/declarative/qdeclarativelayoutitem/qdeclarativelayoutitem.pro2
-rw-r--r--tests/auto/declarative/qdeclarativelistmodel/qdeclarativelistmodel.pro2
-rw-r--r--tests/auto/declarative/qdeclarativelistmodel/tst_qdeclarativelistmodel.cpp10
-rw-r--r--tests/auto/declarative/qdeclarativelistview/data/listview-noCurrent.qml50
-rw-r--r--tests/auto/declarative/qdeclarativelistview/data/sizelessthan1.qml26
-rw-r--r--tests/auto/declarative/qdeclarativelistview/qdeclarativelistview.pro2
-rw-r--r--tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp103
-rw-r--r--tests/auto/declarative/qdeclarativeloader/qdeclarativeloader.pro2
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/data/incorrectCase.qml4
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/imports/com/nokia/WrongCase/qmldir1
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/pluginWrongCase/plugin.cpp83
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/pluginWrongCase/pluginWrongCase.pro10
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/qdeclarativemoduleplugin.pro2
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/tst_qdeclarativemoduleplugin.cpp25
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/tst_qdeclarativemoduleplugin.pro2
-rw-r--r--tests/auto/declarative/qdeclarativemousearea/data/clicktwice.qml16
-rw-r--r--tests/auto/declarative/qdeclarativemousearea/data/doubleclick.qml2
-rw-r--r--tests/auto/declarative/qdeclarativemousearea/qdeclarativemousearea.pro2
-rw-r--r--tests/auto/declarative/qdeclarativemousearea/tst_qdeclarativemousearea.cpp47
-rw-r--r--tests/auto/declarative/qdeclarativeparticles/qdeclarativeparticles.pro2
-rw-r--r--tests/auto/declarative/qdeclarativepathview/qdeclarativepathview.pro2
-rw-r--r--tests/auto/declarative/qdeclarativepixmapcache/qdeclarativepixmapcache.pro2
-rw-r--r--tests/auto/declarative/qdeclarativepixmapcache/tst_qdeclarativepixmapcache.cpp27
-rw-r--r--tests/auto/declarative/qdeclarativepositioners/qdeclarativepositioners.pro2
-rw-r--r--tests/auto/declarative/qdeclarativeproperty/qdeclarativeproperty.pro2
-rw-r--r--tests/auto/declarative/qdeclarativeqt/qdeclarativeqt.pro2
-rw-r--r--tests/auto/declarative/qdeclarativerepeater/qdeclarativerepeater.pro2
-rw-r--r--tests/auto/declarative/qdeclarativescriptdebugging/qdeclarativescriptdebugging.pro2
-rw-r--r--tests/auto/declarative/qdeclarativesmoothedanimation/qdeclarativesmoothedanimation.pro2
-rw-r--r--tests/auto/declarative/qdeclarativespringanimation/qdeclarativespringanimation.pro2
-rw-r--r--tests/auto/declarative/qdeclarativesqldatabase/qdeclarativesqldatabase.pro2
-rw-r--r--tests/auto/declarative/qdeclarativestates/data/QTBUG-14830.qml29
-rw-r--r--tests/auto/declarative/qdeclarativestates/qdeclarativestates.pro2
-rw-r--r--tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp13
-rw-r--r--tests/auto/declarative/qdeclarativetext/data/alignments_cb.pngbin496 -> 496 bytes-rw-r--r--tests/auto/declarative/qdeclarativetext/data/alignments_cc.pngbin556 -> 556 bytes-rw-r--r--tests/auto/declarative/qdeclarativetext/data/alignments_ct.pngbin533 -> 533 bytes-rw-r--r--tests/auto/declarative/qdeclarativetext/qdeclarativetext.pro2
-rw-r--r--tests/auto/declarative/qdeclarativetextedit/qdeclarativetextedit.pro2
-rw-r--r--tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp25
-rw-r--r--tests/auto/declarative/qdeclarativetextinput/qdeclarativetextinput.pro2
-rw-r--r--tests/auto/declarative/qdeclarativevaluetypes/qdeclarativevaluetypes.pro2
-rw-r--r--tests/auto/declarative/qdeclarativeview/qdeclarativeview.pro2
-rw-r--r--tests/auto/declarative/qdeclarativeviewer/qdeclarativeviewer.pro2
-rw-r--r--tests/auto/declarative/qdeclarativevisualdatamodel/data/modelproperties.qml17
-rw-r--r--tests/auto/declarative/qdeclarativevisualdatamodel/data/modelproperties2.qml17
-rw-r--r--tests/auto/declarative/qdeclarativevisualdatamodel/qdeclarativevisualdatamodel.pro2
-rw-r--r--tests/auto/declarative/qdeclarativevisualdatamodel/tst_qdeclarativevisualdatamodel.cpp132
-rw-r--r--tests/auto/declarative/qdeclarativewebview/qdeclarativewebview.pro2
-rw-r--r--tests/auto/declarative/qdeclarativeworkerscript/qdeclarativeworkerscript.pro2
-rw-r--r--tests/auto/declarative/qdeclarativexmlhttprequest/qdeclarativexmlhttprequest.pro2
-rw-r--r--tests/auto/declarative/qdeclarativexmllistmodel/qdeclarativexmllistmodel.pro2
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/basic1.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/basic2.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/basic3.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/basic4.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data-MAC/basic1.qml159
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data-MAC/basic2.qml187
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data-MAC/basic3.qml147
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data-MAC/basic4.qml171
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data-MAC/itemlist.0.pngbin961 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data-MAC/itemlist.1.pngbin972 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data-MAC/itemlist.2.pngbin962 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data-MAC/itemlist.3.pngbin962 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data-MAC/itemlist.4.pngbin962 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data-MAC/itemlist.5.pngbin970 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data-MAC/itemlist.6.pngbin961 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data-MAC/itemlist.qml2203
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.0.pngbin1510 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.1.pngbin1510 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.10.pngbin1588 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.11.pngbin1575 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.12.pngbin1502 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.13.pngbin1583 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.14.pngbin1681 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.15.pngbin1524 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.16.pngbin1510 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.17.pngbin1510 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.18.pngbin1510 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.19.pngbin1510 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.2.pngbin1627 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.3.pngbin1524 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.4.pngbin1678 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.5.pngbin1510 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.6.pngbin1573 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.7.pngbin1670 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.8.pngbin1658 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.9.pngbin1510 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data-MAC/listview.qml3079
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data-X11/basic1.qml159
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data-X11/basic2.qml187
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data-X11/basic3.qml147
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data-X11/basic4.qml171
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/basic1.0.pngbin0 -> 948 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/basic1.qml150
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/basic2.0.pngbin0 -> 948 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/basic2.qml178
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/basic3.0.pngbin0 -> 948 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/basic3.qml138
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/basic4.0.pngbin0 -> 948 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/basic4.qml162
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/enforcerange.0.pngbin0 -> 680 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/enforcerange.1.pngbin0 -> 680 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/enforcerange.2.pngbin0 -> 704 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/enforcerange.3.pngbin0 -> 695 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/enforcerange.4.pngbin0 -> 680 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/enforcerange.5.pngbin0 -> 710 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/enforcerange.6.pngbin0 -> 705 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/enforcerange.qml2119
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/itemlist.0.pngbin961 -> 976 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/itemlist.1.pngbin972 -> 976 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/itemlist.2.pngbin962 -> 986 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/itemlist.3.pngbin962 -> 977 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/itemlist.4.pngbin962 -> 977 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/itemlist.5.pngbin970 -> 977 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/itemlist.6.pngbin961 -> 990 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/itemlist.7.pngbin0 -> 976 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/itemlist.qml380
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/listview.0.pngbin1510 -> 1525 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/listview.1.pngbin1510 -> 1647 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/listview.10.pngbin1588 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/listview.11.pngbin1575 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/listview.12.pngbin1502 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/listview.13.pngbin1583 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/listview.14.pngbin1681 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/listview.15.pngbin1524 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/listview.16.pngbin1510 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/listview.17.pngbin1510 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/listview.18.pngbin1510 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/listview.19.pngbin1510 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/listview.2.pngbin1656 -> 1584 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/listview.3.pngbin1524 -> 1648 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/listview.4.pngbin1678 -> 1613 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/listview.5.pngbin1510 -> 1663 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/listview.6.pngbin1573 -> 1666 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/listview.7.pngbin1669 -> 1579 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/listview.8.pngbin1658 -> 1579 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/listview.9.pngbin1510 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/listview.qml2618
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/enforcerange.qml31
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/listview.qml13
-rw-r--r--tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.0.pngbin714 -> 766 bytes-rw-r--r--tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.1.pngbin798 -> 797 bytes-rw-r--r--tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.10.pngbin773 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.11.pngbin773 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.12.pngbin754 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.13.pngbin742 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.14.pngbin733 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.15.pngbin712 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.16.pngbin730 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.17.pngbin730 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.18.pngbin730 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.19.pngbin744 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.2.pngbin757 -> 794 bytes-rw-r--r--tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.20.pngbin754 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.21.pngbin721 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.22.pngbin732 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.3.pngbin813 -> 822 bytes-rw-r--r--tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.4.pngbin756 -> 801 bytes-rw-r--r--tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.5.pngbin752 -> 803 bytes-rw-r--r--tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.6.pngbin752 -> 774 bytes-rw-r--r--tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.7.pngbin774 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.8.pngbin774 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.9.pngbin754 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.qml3194
-rw-r--r--tests/auto/declarative/qmlvisual/Package_Views/packageviews.qml16
-rw-r--r--tests/auto/declarative/qmlvisual/TEST_GUIDELINES7
-rw-r--r--tests/auto/declarative/qmlvisual/animation/bindinganimation/bindinganimation.qml6
-rw-r--r--tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.0.pngbin817 -> 832 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.1.pngbin815 -> 830 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.2.pngbin817 -> 829 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.3.pngbin815 -> 830 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.4.pngbin813 -> 830 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.5.pngbin815 -> 832 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.6.pngbin817 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.qml1178
-rw-r--r--tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.0.pngbin0 -> 622 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.1.pngbin0 -> 627 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.2.pngbin0 -> 626 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.3.pngbin0 -> 625 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.qml951
-rw-r--r--tests/auto/declarative/qmlvisual/animation/easing/data/easing.0.pngbin3393 -> 1267 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/easing/data/easing.1.pngbin3381 -> 1648 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/easing/data/easing.2.pngbin3101 -> 1617 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/easing/data/easing.3.pngbin16542 -> 1267 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/easing/data/easing.qml494
-rw-r--r--tests/auto/declarative/qmlvisual/animation/easing/easing.qml21
-rw-r--r--tests/auto/declarative/qmlvisual/animation/loop/data/loop.0.pngbin508 -> 502 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/loop/data/loop.1.pngbin507 -> 508 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/loop/data/loop.2.pngbin508 -> 507 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/loop/data/loop.3.pngbin508 -> 508 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/loop/data/loop.4.pngbin505 -> 508 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/loop/data/loop.5.pngbin508 -> 507 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/loop/data/loop.6.pngbin0 -> 508 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/loop/data/loop.qml26
-rw-r--r--tests/auto/declarative/qmlvisual/animation/parallelAnimation/data/parallelAnimation-visual.0.pngbin0 -> 379 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/parallelAnimation/data/parallelAnimation-visual.qml338
-rw-r--r--tests/auto/declarative/qmlvisual/animation/parallelAnimation/data/parallelAnimation.0.pngbin774 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/parallelAnimation/data/parallelAnimation.1.pngbin762 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/parallelAnimation/data/parallelAnimation.2.pngbin773 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/parallelAnimation/parallelAnimation-visual.qml19
-rw-r--r--tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation-visual.0.pngbin0 -> 1635 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation-visual.1.pngbin0 -> 1619 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation-visual.2.pngbin0 -> 1586 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation-visual.3.pngbin0 -> 1635 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation-visual.4.pngbin0 -> 1653 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation-visual.qml1216
-rw-r--r--tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation.0.pngbin3742 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation.1.pngbin3727 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation.2.pngbin3742 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation.3.pngbin3628 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation.4.pngbin3610 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation.5.pngbin3742 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/parentAnimation/parentAnimation-visual.qml18
-rw-r--r--tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.0.pngbin2046 -> 2011 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.1.pngbin2059 -> 2047 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.2.pngbin2052 -> 2058 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.3.pngbin2011 -> 2052 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.qml16
-rw-r--r--tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.0.pngbin0 -> 3224 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.1.pngbin0 -> 3226 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.2.pngbin0 -> 3229 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.3.pngbin0 -> 3224 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.4.pngbin0 -> 3226 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.5.pngbin0 -> 3229 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.6.pngbin0 -> 3229 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.qml26
-rw-r--r--tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction-visual.0.pngbin1418 -> 336 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction-visual.1.pngbin1430 -> 335 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction-visual.2.pngbin1431 -> 344 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction-visual.3.pngbin0 -> 336 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction-visual.qml552
-rw-r--r--tests/auto/declarative/qmlvisual/animation/propertyAction/propertyAction-visual.qml13
-rw-r--r--tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.0.pngbin1149 -> 1131 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.1.pngbin1173 -> 1135 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.2.pngbin1173 -> 1141 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.3.pngbin1149 -> 1147 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.4.pngbin0 -> 1132 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.qml870
-rw-r--r--tests/auto/declarative/qmlvisual/animation/qtbug10586/qtbug10586.qml6
-rw-r--r--tests/auto/declarative/qmlvisual/animation/qtbug13398/data/qtbug13398.0.pngbin1265 -> 1281 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/qtbug13398/data/qtbug13398.1.pngbin0 -> 1265 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/qtbug13398/data/qtbug13398.qml6
-rw-r--r--tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.0.pngbin637 -> 637 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.1.pngbin642 -> 637 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.2.pngbin637 -> 642 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.3.pngbin637 -> 647 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.4.pngbin647 -> 637 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.5.pngbin637 -> 646 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.6.pngbin637 -> 637 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.7.pngbin637 -> 637 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.8.pngbin642 -> 647 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.9.pngbin0 -> 642 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.qml38
-rw-r--r--tests/auto/declarative/qmlvisual/animation/scriptAction/data/scriptAction-visual.0.pngbin0 -> 334 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/scriptAction/data/scriptAction-visual.1.pngbin0 -> 335 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/scriptAction/data/scriptAction-visual.2.pngbin0 -> 335 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/scriptAction/data/scriptAction-visual.qml298
-rw-r--r--tests/auto/declarative/qmlvisual/animation/scriptAction/data/scriptAction.0.pngbin1418 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/scriptAction/data/scriptAction.1.pngbin1431 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/animation/scriptAction/scriptAction-visual.qml4
-rw-r--r--tests/auto/declarative/qmlvisual/fillmode/data/fillmode.0.pngbin28886 -> 16855 bytes-rw-r--r--tests/auto/declarative/qmlvisual/fillmode/face.pngbin905 -> 1011 bytes-rw-r--r--tests/auto/declarative/qmlvisual/fillmode/fillmode.qml14
-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data-MAC/test.0.pngbin14875 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data-MAC/test.1.pngbin14875 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data-MAC/test.2.pngbin14863 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data-MAC/test.3.pngbin14877 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data-MAC/test.4.pngbin14877 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data-MAC/test.5.pngbin14877 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data-MAC/test.qml1599
-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data-MAC/test2.0.pngbin5375 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data-MAC/test2.1.pngbin5375 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data-MAC/test2.qml607
-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.0.pngbin12749 -> 1549 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.1.pngbin12667 -> 1140 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.2.pngbin12373 -> 1338 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.3.pngbin12150 -> 1221 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.4.pngbin11944 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.5.pngbin12150 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.6.pngbin12373 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.7.pngbin12667 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.8.pngbin12749 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.9.pngbin12710 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.qml2554
-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data-X11/test.0.pngbin11501 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data-X11/test.1.pngbin11501 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data-X11/test.2.pngbin11486 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data-X11/test.3.pngbin11500 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data-X11/test.4.pngbin11500 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data-X11/test.5.pngbin11500 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data-X11/test.qml1599
-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data-X11/test2.0.pngbin4656 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data-X11/test2.1.pngbin4656 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data-X11/test2.qml607
-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.0.pngbin10093 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.1.pngbin10051 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.2.pngbin9812 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.3.pngbin9625 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.4.pngbin9458 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.5.pngbin9645 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.6.pngbin9812 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.7.pngbin10051 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.8.pngbin10087 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.9.pngbin10072 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data-X11/test3.qml2879
-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data/test.0.pngbin14836 -> 1974 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data/test.1.pngbin14836 -> 1968 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data/test.2.pngbin14821 -> 1968 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data/test.3.pngbin14833 -> 1974 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data/test.4.pngbin14833 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data/test.5.pngbin14833 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data/test.qml1330
-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data/test2.0.pngbin5359 -> 305 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data/test2.1.pngbin5359 -> 305 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data/test2.qml442
-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data/test3.0.pngbin12616 -> 487 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data/test3.1.pngbin12538 -> 509 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data/test3.2.pngbin12257 -> 491 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data/test3.3.pngbin12035 -> 499 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data/test3.4.pngbin11877 -> 487 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data/test3.5.pngbin12046 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data/test3.6.pngbin12257 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data/test3.7.pngbin12538 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data/test3.8.pngbin12616 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data/test3.9.pngbin12581 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data/test3.qml2562
-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/test.qml13
-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/test2.qml26
-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/test3.qml34
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeborderimage/animated-smooth.qml105
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeborderimage/animated.qml97
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/MyBorderImage.qml10
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/colors-round.sci8
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/colors-stretch.sci8
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/colors.pngbin1655 -> 713 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/qmldir1
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.0.pngbin61731 -> 4686 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.1.pngbin98927 -> 25454 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.2.pngbin48780 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.3.pngbin32431 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.4.pngbin35835 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.5.pngbin79428 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.6.pngbin45928 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.qml1660
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.0.pngbin23684 -> 4686 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.1.pngbin29115 -> 9642 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.2.pngbin27580 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.3.pngbin14822 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.4.pngbin21356 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.5.pngbin31143 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.6.pngbin26468 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.7.pngbin16225 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.qml1916
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/borders.0.pngbin22832 -> 28741 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.0.pngbin1427 -> 1439 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.1.pngbin1357 -> 1424 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.2.pngbin1405 -> 1428 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.3.pngbin1427 -> 1397 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.4.pngbin0 -> 1454 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.qml1150
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.0.pngbin1951 -> 1073 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.1.pngbin1951 -> 1063 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.10.pngbin1952 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.11.pngbin1930 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.12.pngbin1974 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.13.pngbin1961 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.14.pngbin1959 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.15.pngbin1937 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.16.pngbin1618 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.17.pngbin1952 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.18.pngbin1952 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.19.pngbin1930 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.2.pngbin1976 -> 1080 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.20.pngbin1930 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.21.pngbin1947 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.22.pngbin1941 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.23.pngbin1951 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.24.png0
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.3.pngbin1987 -> 1080 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.4.pngbin1947 -> 1056 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.5.pngbin1975 -> 1075 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.6.pngbin1928 -> 1029 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.7.pngbin1928 -> 1073 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.8.pngbin1928 -> 1053 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.9.pngbin1928 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.qml6406
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/flickable-vertical.qml6
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.0.pngbin1090 -> 942 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.1.pngbin1134 -> 1111 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.2.pngbin961 -> 1152 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.3.pngbin1076 -> 976 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.4.pngbin1134 -> 1096 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.5.pngbin969 -> 1154 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.6.pngbin0 -> 984 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.qml26
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test_flipable_resize.0.pngbin0 -> 1649 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test_flipable_resize.qml2
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.0.pngbin1303 -> 1318 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.1.pngbin1317 -> 1318 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.10.pngbin0 -> 1318 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.2.pngbin1318 -> 1332 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.3.pngbin1306 -> 1331 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.4.pngbin1308 -> 1321 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.5.pngbin1303 -> 1325 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.6.pngbin1323 -> 1321 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.7.pngbin1325 -> 1341 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.8.pngbin1346 -> 1341 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.9.pngbin1303 -> 1359 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.qml772
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.0.pngbin1310 -> 1325 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.1.pngbin1322 -> 1325 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.2.pngbin1341 -> 1337 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.3.pngbin1368 -> 1360 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.4.pngbin1319 -> 1406 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.5.pngbin1352 -> 1337 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.6.pngbin1309 -> 1340 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.7.pngbin1347 -> 1327 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.8.pngbin1310 -> 1353 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.9.pngbin1354 -> 1325 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.qml670
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/gridview.qml2
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/gridview2.qml3
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.0.pngbin1578 -> 1578 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.1.pngbin1585 -> 1578 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.2.pngbin1568 -> 1585 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.3.pngbin1578 -> 1568 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.4.pngbin1584 -> 1578 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.5.pngbin1584 -> 1583 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.6.pngbin1581 -> 1581 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.7.pngbin1581 -> 1582 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.8.pngbin1567 -> 1581 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.qml34
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.0.pngbin1701 -> 1701 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.1.pngbin1701 -> 1701 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.10.pngbin1721 -> 1701 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.11.pngbin1705 -> 1721 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.12.pngbin1705 -> 1705 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.13.pngbin1701 -> 1705 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.14.pngbin0 -> 1701 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.2.pngbin1704 -> 1701 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.3.pngbin1704 -> 1704 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.4.pngbin1705 -> 1704 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.5.pngbin1705 -> 1705 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.6.pngbin1701 -> 1705 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.7.pngbin1701 -> 1701 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.8.pngbin1705 -> 1701 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.9.pngbin1701 -> 1705 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.qml454
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.0.pngbin0 -> 486 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.1.pngbin0 -> 486 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.10.pngbin0 -> 494 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.11.pngbin0 -> 494 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.12.pngbin0 -> 494 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.13.pngbin0 -> 494 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.14.pngbin0 -> 494 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.15.pngbin0 -> 494 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.2.pngbin0 -> 489 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.3.pngbin0 -> 489 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.4.pngbin0 -> 489 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.5.pngbin0 -> 496 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.6.pngbin0 -> 496 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.7.pngbin0 -> 496 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.8.pngbin0 -> 496 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.9.pngbin0 -> 494 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.qml62
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.0.pngbin10219 -> 1055 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.1.pngbin13469 -> 10086 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.2.pngbin14051 -> 14829 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.3.pngbin0 -> 14095 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.qml384
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeparticles/particles.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.0.pngbin2263 -> 1114 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.1.pngbin2329 -> 1105 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.2.pngbin2279 -> 1088 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.3.pngbin2263 -> 1096 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.4.pngbin2263 -> 1143 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.5.pngbin2308 -> 1143 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.6.pngbin2280 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.qml2056
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.0.pngbin2412 -> 1169 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.1.pngbin2443 -> 1182 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.2.pngbin2398 -> 1211 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.3.pngbin2390 -> 1184 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.4.pngbin2416 -> 1152 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.5.pngbin2395 -> 1141 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.6.pngbin0 -> 1189 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.qml1940
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepathview/test-pathview-2.qml30
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepathview/test-pathview.qml19
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.0.pngbin1429 -> 263 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.1.pngbin1433 -> 280 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.2.pngbin1431 -> 270 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.3.pngbin1428 -> 280 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.4.pngbin1432 -> 280 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.5.pngbin1434 -> 283 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.6.pngbin0 -> 281 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.qml798
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/repeater.0.pngbin2790 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/usingRepeater.0.pngbin0 -> 1199 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/usingRepeater.qml268
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepositioners/dynamic.qml65
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepositioners/usingRepeater.qml5
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/easefollow.0.pngbin1305 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/easefollow.1.pngbin1306 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/easefollow.2.pngbin1305 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/easefollow.3.pngbin1303 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/easefollow.4.pngbin1303 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/easefollow.5.pngbin1305 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/easefollow.6.pngbin1306 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/easefollow.qml1807
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.0.pngbin3692 -> 1513 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.1.pngbin3697 -> 1537 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.2.pngbin3696 -> 1537 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.3.pngbin0 -> 1537 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.qml394
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/smoothedanimation.qml45
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/smoothedfollow.qml78
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/clock.qml64
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/content/background.png (renamed from tests/auto/declarative/qmlvisual/qdeclarativespringfollow/content/background.png)bin46895 -> 46895 bytes-rwxr-xr-xtests/auto/declarative/qmlvisual/qdeclarativespringanimation/content/center.png (renamed from tests/auto/declarative/qmlvisual/qdeclarativespringfollow/content/center.png)bin765 -> 765 bytes-rwxr-xr-xtests/auto/declarative/qmlvisual/qdeclarativespringanimation/content/clock.png (renamed from tests/auto/declarative/qmlvisual/qdeclarativespringfollow/content/clock.png)bin20653 -> 20653 bytes-rwxr-xr-xtests/auto/declarative/qmlvisual/qdeclarativespringanimation/content/hour.png (renamed from tests/auto/declarative/qmlvisual/qdeclarativespringfollow/content/hour.png)bin625 -> 625 bytes-rwxr-xr-xtests/auto/declarative/qmlvisual/qdeclarativespringanimation/content/minute.png (renamed from tests/auto/declarative/qmlvisual/qdeclarativespringfollow/content/minute.png)bin625 -> 625 bytes-rwxr-xr-xtests/auto/declarative/qmlvisual/qdeclarativespringanimation/content/second.png (renamed from tests/auto/declarative/qmlvisual/qdeclarativespringfollow/content/second.png)bin303 -> 303 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/clock.0.pngbin0 -> 16333 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/clock.1.pngbin0 -> 16437 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/clock.2.pngbin0 -> 16543 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/clock.qml615
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.0.pngbin0 -> 941 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.1.pngbin0 -> 975 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.2.pngbin0 -> 1235 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.3.pngbin0 -> 1225 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.4.pngbin0 -> 1247 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.5.pngbin0 -> 1243 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.6.pngbin0 -> 1234 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.7.pngbin0 -> 1242 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.qml1763
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/follow.qml (renamed from tests/auto/declarative/qmlvisual/qdeclarativespringfollow/follow.qml)0
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringfollow/clock.qml67
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/clock.0.pngbin17294 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/clock.1.pngbin17394 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/clock.2.pngbin17524 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/clock.3.pngbin17572 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/clock.qml1135
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.0.pngbin959 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.1.pngbin1244 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.10.pngbin1299 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.2.pngbin1224 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.3.pngbin1243 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.4.pngbin1230 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.5.pngbin1231 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.6.pngbin1239 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.7.pngbin1241 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.8.pngbin1237 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.9.pngbin1229 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringfollow/data/follow.qml1763
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/align/data-MAC/multilineAlign.0.pngbin0 -> 2388 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/align/data-MAC/multilineAlign.qml247
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/align/data-X11/multilineAlign.0.pngbin0 -> 762 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/align/data-X11/multilineAlign.qml247
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/align/data/multilineAlign.0.pngbin0 -> 1895 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/align/data/multilineAlign.qml247
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/align/multilineAlign.qml25
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data-MAC/parentanchor.qml131
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data-X11/parentanchor.0.pngbin0 -> 1313 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data-X11/parentanchor.qml62
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/parentanchor.qml7
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/bugs/QTBUG-14469.qml23
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/bugs/data-X11/QTBUG-14469.0.pngbin0 -> 210 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/bugs/data-X11/QTBUG-14469.qml475
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/bugs/data/QTBUG-14469.0.pngbin0 -> 422 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/bugs/data/QTBUG-14469.qml475
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/data-MAC/qtbug_14865.0.pngbin0 -> 1640 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/data-MAC/qtbug_14865.1.pngbin0 -> 625 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/data-MAC/qtbug_14865.qml447
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/data-X11/qtbug_14865.0.pngbin0 -> 303 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/data-X11/qtbug_14865.1.pngbin0 -> 303 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/data-X11/qtbug_14865.qml447
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/data/qtbug_14865.0.pngbin0 -> 1400 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/data/qtbug_14865.qml447
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide.0.pngbin2276 -> 1706 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide.qml130
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.0.pngbin4818 -> 3564 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.1.pngbin4089 -> 3271 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.2.pngbin3128 -> 2549 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.3.pngbin1963 -> 1574 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.qml480
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/multilength.0.pngbin736 -> 2883 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/multilength.qml146
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide.0.pngbin1002 -> 483 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide.1.pngbin0 -> 483 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide.qml132
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide2.0.pngbin0 -> 1189 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide2.1.pngbin0 -> 1068 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide2.2.pngbin0 -> 948 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide2.3.pngbin0 -> 819 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide2.4.pngbin0 -> 682 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide2.qml991
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.0.pngbin596 -> 747 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.1.pngbin0 -> 814 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.2.pngbin0 -> 809 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.3.pngbin0 -> 527 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.4.pngbin0 -> 526 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.5.pngbin0 -> 399 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.qml1168
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data/elide.0.pngbin1604 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data/elide.qml279
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data/elide2.0.pngbin4818 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data/elide2.1.pngbin4089 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data/elide2.2.pngbin3128 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data/elide2.3.pngbin1963 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data/elide2.qml991
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/elide.qml9
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/elide2.qml5
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/multilength.qml5
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/BorderedText.qml9
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext.0.pngbin103018 -> 96247 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext.qml340
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext2.0.pngbin0 -> 3481 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext2.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext3.0.pngbin0 -> 53503 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext3.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/richtext.0.pngbin136492 -> 118835 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/richtext.qml348
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/plaintext.0.pngbin0 -> 13140 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/plaintext.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/plaintext2.0.pngbin0 -> 1503 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/plaintext2.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/plaintext3.0.pngbin0 -> 6368 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/plaintext3.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/richtext.0.pngbin0 -> 9297 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/richtext.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/richtext2.0.pngbin0 -> 10626 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/richtext2.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/plaintext.0.pngbin94120 -> 77181 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/plaintext.qml340
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/plaintext2.0.pngbin0 -> 2778 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/plaintext2.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/plaintext3.0.pngbin0 -> 53503 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/plaintext3.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/richtext.0.pngbin121122 -> 103375 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/richtext.qml348
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/richtext2.0.pngbin0 -> 10671 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/richtext2.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/plaintext.qml168
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/plaintext2.qml23
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/plaintext3.qml62
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/richtext.qml76
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/richtext2.qml43
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/qtbug_14865.qml18
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/MultilineEdit.qml15
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/cursorDelegate.qml21
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.0.pngbin793 -> 3636 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.1.pngbin795 -> 3611 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.2.pngbin803 -> 3612 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.3.pngbin805 -> 3612 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.4.pngbin805 -> 3609 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.5.pngbin805 -> 3147 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.6.pngbin799 -> 3145 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.7.pngbin799 -> 3146 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.8.pngbin803 -> 3144 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.9.pngbin0 -> 3135 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.qml3050
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.0.pngbin365 -> 3273 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.1.pngbin365 -> 3265 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.2.pngbin366 -> 3266 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.3.pngbin362 -> 3245 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.qml530
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.0.pngbin0 -> 5123 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.1.pngbin0 -> 5500 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.10.pngbin0 -> 8641 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.11.pngbin0 -> 8641 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.2.pngbin0 -> 6163 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.3.pngbin0 -> 6785 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.4.pngbin0 -> 6943 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.5.pngbin0 -> 7043 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.6.pngbin0 -> 7428 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.7.pngbin0 -> 6860 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.8.pngbin0 -> 8659 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.9.pngbin0 -> 8641 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.qml4687
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.0.pngbin0 -> 11626 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.1.pngbin0 -> 11869 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.2.pngbin0 -> 12264 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.3.pngbin0 -> 12607 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.4.pngbin0 -> 13243 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.5.pngbin0 -> 13260 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.6.pngbin0 -> 13260 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.qml2467
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.0.pngbin0 -> 1173 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.1.pngbin0 -> 1249 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.2.pngbin0 -> 1331 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.3.pngbin0 -> 1212 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.4.pngbin0 -> 1208 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.5.pngbin0 -> 1213 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.6.pngbin0 -> 3145 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.7.pngbin0 -> 3146 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.8.pngbin0 -> 3144 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.9.pngbin0 -> 3135 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.qml1499
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.0.pngbin0 -> 688 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.1.pngbin0 -> 693 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.2.pngbin0 -> 695 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.3.pngbin0 -> 694 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.4.pngbin0 -> 688 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.qml1371
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.0.pngbin0 -> 1357 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.1.pngbin0 -> 1371 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.10.pngbin0 -> 2032 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.11.pngbin0 -> 2032 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.12.pngbin0 -> 2032 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.2.pngbin0 -> 1451 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.3.pngbin0 -> 1565 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.4.pngbin0 -> 1691 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.5.pngbin0 -> 1763 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.6.pngbin0 -> 1779 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.7.pngbin0 -> 1843 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.8.pngbin0 -> 1825 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.9.pngbin0 -> 2024 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.qml4687
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.0.pngbin1110 -> 3493 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.1.pngbin1110 -> 3617 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.2.pngbin1110 -> 3688 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.3.pngbin1110 -> 3766 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.4.pngbin1110 -> 3839 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.5.pngbin1110 -> 3940 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.6.pngbin1110 -> 3943 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.7.pngbin0 -> 3943 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.qml858
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.0.pngbin3322 -> 3171 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.1.pngbin3323 -> 3603 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.2.pngbin3325 -> 3152 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.3.pngbin3332 -> 3147 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.4.pngbin3329 -> 3145 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.5.pngbin3818 -> 3147 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.6.pngbin3333 -> 3145 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.7.pngbin3332 -> 3146 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.8.pngbin3347 -> 3144 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.9.pngbin0 -> 3135 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.qml3050
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.0.pngbin0 -> 4006 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.1.pngbin0 -> 4293 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.10.pngbin0 -> 6074 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.11.pngbin0 -> 6074 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.2.pngbin0 -> 4683 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.3.pngbin0 -> 5114 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.4.pngbin0 -> 5270 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.5.pngbin0 -> 5401 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.6.pngbin0 -> 5591 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.7.pngbin0 -> 5261 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.8.pngbin0 -> 6072 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.9.pngbin0 -> 6074 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.qml4687
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/qt-669.qml8
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/usingMultilineEdit.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/wrap.qml9
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/LineEdit.qml12
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/cursorDelegate.qml10
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.0.pngbin793 -> 3613 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.1.pngbin796 -> 4140 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.2.pngbin804 -> 3593 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.3.pngbin805 -> 3605 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.4.pngbin805 -> 3605 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.qml2966
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.0.pngbin0 -> 703 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.1.pngbin0 -> 1360 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.2.pngbin0 -> 2031 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.qml1043
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/hAlign.qml107
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/cursorDelegate.0.pngbin0 -> 1173 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/cursorDelegate.1.pngbin0 -> 1143 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/cursorDelegate.2.pngbin0 -> 1312 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/cursorDelegate.3.pngbin0 -> 1250 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/cursorDelegate.4.pngbin0 -> 1193 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/cursorDelegate.5.pngbin0 -> 1193 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/cursorDelegate.qml1551
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.0.pngbin716 -> 256 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.1.pngbin1352 -> 339 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.2.pngbin2047 -> 446 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.3.pngbin2827 -> 510 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.4.pngbin2827 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.qml382
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/hAlign.0.pngbin1245 -> 3661 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/hAlign.qml50
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.0.pngbin3137 -> 1265 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.1.pngbin3195 -> 1337 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.10.pngbin3853 -> 1389 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.11.pngbin0 -> 1468 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.2.pngbin3171 -> 1337 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.3.pngbin3228 -> 1279 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.4.pngbin3198 -> 1368 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.5.pngbin3310 -> 1367 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.6.pngbin3233 -> 1377 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.7.pngbin3607 -> 1368 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.8.pngbin3657 -> 1384 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.9.pngbin3262 -> 1471 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.qml1408
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.0.pngbin3314 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.1.pngbin3377 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.2.pngbin3323 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.3.pngbin3325 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.4.pngbin3322 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.5.pngbin3322 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.6.pngbin3326 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.7.pngbin3814 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.8.pngbin3324 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.qml2966
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/echoMode.0.pngbin999 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/echoMode.1.pngbin1880 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/echoMode.2.pngbin2962 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/echoMode.3.pngbin2827 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/echoMode.4.pngbin2827 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/hAlign.0.pngbin1245 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/echoMode.qml9
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/hAlign.qml28
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/usingLineEdit.qml6
-rw-r--r--tests/auto/declarative/qmlvisual/qmlvisual.pro2
-rw-r--r--tests/auto/declarative/qmlvisual/rect/GradientRect.qml4
-rw-r--r--tests/auto/declarative/qmlvisual/rect/MyRect.qml4
-rw-r--r--tests/auto/declarative/qmlvisual/rect/data/GradientRect.0.pngbin0 -> 248 bytes-rw-r--r--tests/auto/declarative/qmlvisual/rect/data/GradientRect.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/rect/data/MyRect.0.pngbin0 -> 135 bytes-rw-r--r--tests/auto/declarative/qmlvisual/rect/data/MyRect.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/rect/data/rect-painting.0.pngbin29725 -> 15272 bytes-rw-r--r--tests/auto/declarative/qmlvisual/rect/data/rect-painting.qml276
-rw-r--r--tests/auto/declarative/qmlvisual/rect/rect-painting.qml4
-rw-r--r--tests/auto/declarative/qmlvisual/repeater/basic1.qml24
-rw-r--r--tests/auto/declarative/qmlvisual/repeater/basic2.qml24
-rw-r--r--tests/auto/declarative/qmlvisual/repeater/basic3.qml28
-rw-r--r--tests/auto/declarative/qmlvisual/repeater/basic4.qml28
-rw-r--r--tests/auto/declarative/qmlvisual/repeater/data-MAC/basic1.0.pngbin1550 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/repeater/data-MAC/basic1.qml323
-rw-r--r--tests/auto/declarative/qmlvisual/repeater/data-MAC/basic2.0.pngbin1550 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/repeater/data-MAC/basic2.qml331
-rw-r--r--tests/auto/declarative/qmlvisual/repeater/data-MAC/basic3.0.pngbin1550 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/repeater/data-MAC/basic3.qml347
-rw-r--r--tests/auto/declarative/qmlvisual/repeater/data-MAC/basic4.0.pngbin1550 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/repeater/data-MAC/basic4.qml419
-rw-r--r--tests/auto/declarative/qmlvisual/repeater/data-X11/basic1.0.pngbin1354 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/repeater/data-X11/basic1.qml323
-rw-r--r--tests/auto/declarative/qmlvisual/repeater/data-X11/basic2.0.pngbin1354 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/repeater/data-X11/basic2.qml331
-rw-r--r--tests/auto/declarative/qmlvisual/repeater/data-X11/basic3.0.pngbin1354 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/repeater/data-X11/basic3.qml347
-rw-r--r--tests/auto/declarative/qmlvisual/repeater/data-X11/basic4.0.pngbin1354 -> 0 bytes-rw-r--r--tests/auto/declarative/qmlvisual/repeater/data-X11/basic4.qml419
-rw-r--r--tests/auto/declarative/qmlvisual/repeater/data/basic1.0.pngbin1513 -> 707 bytes-rw-r--r--tests/auto/declarative/qmlvisual/repeater/data/basic1.qml312
-rw-r--r--tests/auto/declarative/qmlvisual/repeater/data/basic2.0.pngbin1513 -> 707 bytes-rw-r--r--tests/auto/declarative/qmlvisual/repeater/data/basic2.qml320
-rw-r--r--tests/auto/declarative/qmlvisual/repeater/data/basic3.0.pngbin1513 -> 707 bytes-rw-r--r--tests/auto/declarative/qmlvisual/repeater/data/basic3.qml336
-rw-r--r--tests/auto/declarative/qmlvisual/repeater/data/basic4.0.pngbin1513 -> 707 bytes-rw-r--r--tests/auto/declarative/qmlvisual/repeater/data/basic4.qml408
-rw-r--r--tests/auto/declarative/qmlvisual/shared/DejaVuSansMono.ttfbin0 -> 237788 bytes-rw-r--r--tests/auto/declarative/qmlvisual/shared/README7
-rw-r--r--tests/auto/declarative/qmlvisual/shared/TestText.qml8
-rw-r--r--tests/auto/declarative/qmlvisual/shared/TestTextEdit.qml14
-rw-r--r--tests/auto/declarative/qmlvisual/shared/TestTextInput.qml14
-rw-r--r--tests/auto/declarative/qmlvisual/shared/qmldir3
-rw-r--r--tests/auto/declarative/qmlvisual/tst_qmlvisual.cpp56
-rw-r--r--tests/auto/declarative/qmlvisual/webview/autosize/autosize.qml3
-rw-r--r--tests/auto/declarative/qmlvisual/webview/autosize/data-X11/autosize.qml115
-rw-r--r--tests/auto/declarative/qmlvisual/webview/javascript/evaluateJavaScript.qml3
-rw-r--r--tests/auto/declarative/qmlvisual/webview/javascript/windowObjects.qml3
-rw-r--r--tests/auto/declarative/qmlvisual/webview/settings/fontFamily.qml3
-rw-r--r--tests/auto/declarative/qmlvisual/webview/settings/fontSize.qml3
-rw-r--r--tests/auto/declarative/qmlvisual/webview/settings/noAutoLoadImages.qml3
-rw-r--r--tests/auto/declarative/qmlvisual/webview/settings/setFontFamily.qml3
-rw-r--r--tests/auto/declarative/qmlvisual/webview/zooming/pageWidth.qml13
-rw-r--r--tests/auto/declarative/qmlvisual/webview/zooming/renderControl.qml3
-rw-r--r--tests/auto/declarative/qmlvisual/webview/zooming/resolution.qml5
-rw-r--r--tests/auto/declarative/qmlvisual/webview/zooming/zoomTextOnly.qml5
-rw-r--r--tests/auto/declarative/qmlvisual/webview/zooming/zooming.qml3
-rw-r--r--tests/auto/exceptionsafety/exceptionsafety.pro1
-rw-r--r--tests/auto/gestures/tst_gestures.cpp4
-rw-r--r--tests/auto/guiapplauncher/guiapplauncher.pro1
-rw-r--r--tests/auto/lancelot/.gitignore1
-rw-r--r--tests/auto/lancelot/lancelot.pro15
-rw-r--r--tests/auto/lancelot/scripts/aliasing.qps156
-rw-r--r--tests/auto/lancelot/scripts/arcs.qps68
-rw-r--r--tests/auto/lancelot/scripts/arcs2.qps47
-rw-r--r--tests/auto/lancelot/scripts/background.qps136
-rw-r--r--tests/auto/lancelot/scripts/background_brush.qps5
-rw-r--r--tests/auto/lancelot/scripts/beziers.qps147
-rw-r--r--tests/auto/lancelot/scripts/bitmaps.qps166
-rw-r--r--tests/auto/lancelot/scripts/borderimage.qps120
-rw-r--r--tests/auto/lancelot/scripts/brush_pens.qps104
-rw-r--r--tests/auto/lancelot/scripts/brushes.qps79
-rw-r--r--tests/auto/lancelot/scripts/clippaths.qps60
-rw-r--r--tests/auto/lancelot/scripts/clipping.qps182
-rw-r--r--tests/auto/lancelot/scripts/clipping_state.qps47
-rw-r--r--tests/auto/lancelot/scripts/cliprects.qps59
-rw-r--r--tests/auto/lancelot/scripts/conical_gradients.qps85
-rw-r--r--tests/auto/lancelot/scripts/conical_gradients_perspectives.qps64
-rw-r--r--tests/auto/lancelot/scripts/dashes.qps268
-rw-r--r--tests/auto/lancelot/scripts/degeneratebeziers.qps10
-rw-r--r--tests/auto/lancelot/scripts/deviceclipping.qps48
-rw-r--r--tests/auto/lancelot/scripts/drawpoints.qps101
-rw-r--r--tests/auto/lancelot/scripts/ellipses.qps86
-rw-r--r--tests/auto/lancelot/scripts/filltest.qps413
-rw-r--r--tests/auto/lancelot/scripts/gradients.qps44
-rw-r--r--tests/auto/lancelot/scripts/image_formats.qps81
-rw-r--r--tests/auto/lancelot/scripts/images.qps106
-rw-r--r--tests/auto/lancelot/scripts/images2.qps145
-rw-r--r--tests/auto/lancelot/scripts/join_cap_styles.qps63
-rw-r--r--tests/auto/lancelot/scripts/join_cap_styles_duplicate_control_points.qps68
-rw-r--r--tests/auto/lancelot/scripts/linear_gradients.qps144
-rw-r--r--tests/auto/lancelot/scripts/linear_gradients_perspectives.qps62
-rw-r--r--tests/auto/lancelot/scripts/linear_resolving_gradients.qps66
-rw-r--r--tests/auto/lancelot/scripts/lineconsistency.qps72
-rw-r--r--tests/auto/lancelot/scripts/linedashes.qps94
-rw-r--r--tests/auto/lancelot/scripts/linedashes2.qps154
-rw-r--r--tests/auto/lancelot/scripts/linedashes2_aa.qps5
-rw-r--r--tests/auto/lancelot/scripts/lines.qps558
-rw-r--r--tests/auto/lancelot/scripts/lines2.qps179
-rw-r--r--tests/auto/lancelot/scripts/pathfill.qps38
-rw-r--r--tests/auto/lancelot/scripts/paths.qps34
-rw-r--r--tests/auto/lancelot/scripts/paths_aa.qps4
-rw-r--r--tests/auto/lancelot/scripts/pens.qps133
-rw-r--r--tests/auto/lancelot/scripts/pens_aa.qps6
-rw-r--r--tests/auto/lancelot/scripts/pens_cosmetic.qps110
-rw-r--r--tests/auto/lancelot/scripts/perspectives.qps72
-rw-r--r--tests/auto/lancelot/scripts/perspectives2.qps309
-rw-r--r--tests/auto/lancelot/scripts/pixmap_rotation.qps30
-rw-r--r--tests/auto/lancelot/scripts/pixmap_scaling.qps224
-rw-r--r--tests/auto/lancelot/scripts/pixmap_subpixel.qps117
-rw-r--r--tests/auto/lancelot/scripts/pixmaps.qps106
-rw-r--r--tests/auto/lancelot/scripts/porter_duff.qps251
-rw-r--r--tests/auto/lancelot/scripts/porter_duff2.qps261
-rw-r--r--tests/auto/lancelot/scripts/primitives.qps184
-rw-r--r--tests/auto/lancelot/scripts/radial_gradients.qps99
-rw-r--r--tests/auto/lancelot/scripts/radial_gradients_perspectives.qps62
-rw-r--r--tests/auto/lancelot/scripts/rasterops.qps87
-rw-r--r--tests/auto/lancelot/scripts/sizes.qps150
-rw-r--r--tests/auto/lancelot/scripts/text.qps124
-rw-r--r--tests/auto/lancelot/scripts/text_perspectives.qps102
-rw-r--r--tests/auto/lancelot/scripts/tiled_pixmap.qps84
-rw-r--r--tests/auto/lancelot/tst_lancelot.cpp301
-rwxr-xr-xtests/auto/mediaobject/mediaobject.pro2
-rw-r--r--tests/auto/mediaobject/tst_mediaobject.cpp2
-rw-r--r--tests/auto/moc/moc.pro2
-rw-r--r--tests/auto/modeltest/dynamictreemodel.cpp7
-rw-r--r--tests/auto/networkselftest/networkselftest.pro4
-rw-r--r--tests/auto/other.pro1
-rw-r--r--tests/auto/patternistexamples/patternistexamples.pro12
-rw-r--r--tests/auto/platformquirks.h122
-rw-r--r--tests/auto/q_func_info/q_func_info.pro1
-rw-r--r--tests/auto/qabstractitemmodel/tst_qabstractitemmodel.cpp6
-rw-r--r--tests/auto/qabstractnetworkcache/qabstractnetworkcache.pro2
-rw-r--r--tests/auto/qabstractscrollarea/tst_qabstractscrollarea.cpp5
-rw-r--r--tests/auto/qabstractslider/tst_qabstractslider.cpp17
-rw-r--r--tests/auto/qabstractxmlnodemodel/qabstractxmlnodemodel.pro2
-rw-r--r--tests/auto/qaccessibility/qaccessibility.pro2
-rw-r--r--tests/auto/qaccessibility/tst_qaccessibility.cpp8
-rw-r--r--tests/auto/qaction/tst_qaction.cpp2
-rw-r--r--tests/auto/qalgorithms/tst_qalgorithms.cpp23
-rw-r--r--tests/auto/qanimationgroup/qanimationgroup.pro1
-rw-r--r--tests/auto/qapplication/test/test.pro10
-rw-r--r--tests/auto/qatomicint/qatomicint.pro1
-rw-r--r--tests/auto/qatomicpointer/qatomicpointer.pro1
-rw-r--r--tests/auto/qaudioinput/qaudioinput.pro2
-rw-r--r--tests/auto/qaudiooutput/qaudiooutput.pro2
-rw-r--r--tests/auto/qbitarray/qbitarray.pro1
-rw-r--r--tests/auto/qbitarray/tst_qbitarray.cpp9
-rw-r--r--tests/auto/qboxlayout/tst_qboxlayout.cpp5
-rw-r--r--tests/auto/qbrush/tst_qbrush.cpp9
-rw-r--r--tests/auto/qbuffer/qbuffer.pro1
-rw-r--r--tests/auto/qbuttongroup/tst_qbuttongroup.cpp9
-rw-r--r--tests/auto/qbytearray/qbytearray.pro3
-rw-r--r--tests/auto/qbytearray/tst_qbytearray.cpp9
-rw-r--r--tests/auto/qbytearraymatcher/qbytearraymatcher.pro1
-rw-r--r--tests/auto/qcache/qcache.pro1
-rw-r--r--tests/auto/qcalendarwidget/tst_qcalendarwidget.cpp5
-rw-r--r--tests/auto/qchar/qchar.pro3
-rw-r--r--tests/auto/qclipboard/test/test.pro14
-rw-r--r--tests/auto/qclipboard/tst_qclipboard.cpp82
-rw-r--r--tests/auto/qcolumnview/tst_qcolumnview.cpp21
-rw-r--r--tests/auto/qcombobox/tst_qcombobox.cpp14
-rw-r--r--tests/auto/qcompleter/tst_qcompleter.cpp159
-rw-r--r--tests/auto/qcomplextext/tst_qcomplextext.cpp39
-rw-r--r--tests/auto/qcontiguouscache/qcontiguouscache.pro1
-rw-r--r--tests/auto/qcontiguouscache/tst_qcontiguouscache.cpp13
-rw-r--r--tests/auto/qcoreapplication/qcoreapplication.pro1
-rw-r--r--tests/auto/qcryptographichash/qcryptographichash.pro1
-rw-r--r--tests/auto/qcssparser/qcssparser.pro4
-rw-r--r--tests/auto/qdatastream/qdatastream.pro4
-rw-r--r--tests/auto/qdate/qdate.pro1
-rw-r--r--tests/auto/qdatetime/qdatetime.pro1
-rw-r--r--tests/auto/qdebug/qdebug.pro1
-rw-r--r--tests/auto/qdesktopservices/qdesktopservices.pro12
-rw-r--r--tests/auto/qdir/qdir.pro2
-rw-r--r--tests/auto/qdiriterator/qdiriterator.pro1
-rw-r--r--tests/auto/qdirmodel/qdirmodel.pro6
-rw-r--r--tests/auto/qdom/qdom.pro2
-rw-r--r--tests/auto/qdoublevalidator/tst_qdoublevalidator.cpp12
-rw-r--r--tests/auto/qeasingcurve/qeasingcurve.pro1
-rw-r--r--tests/auto/qelapsedtimer/qelapsedtimer.pro1
-rw-r--r--tests/auto/qevent/qevent.pro1
-rw-r--r--tests/auto/qeventloop/tst_qeventloop.cpp2
-rw-r--r--tests/auto/qexplicitlyshareddatapointer/qexplicitlyshareddatapointer.pro1
-rw-r--r--tests/auto/qfile/test/test.pro4
-rw-r--r--tests/auto/qfiledialog/qfiledialog.pro4
-rw-r--r--tests/auto/qfiledialog2/qfiledialog2.pro4
-rw-r--r--tests/auto/qfileinfo/qfileinfo.pro4
-rw-r--r--tests/auto/qfileinfo/tst_qfileinfo.cpp8
-rw-r--r--tests/auto/qfilesystemmodel/qfilesystemmodel.pro2
-rw-r--r--tests/auto/qflags/qflags.pro1
-rw-r--r--tests/auto/qfontdatabase/qfontdatabase.pro2
-rw-r--r--tests/auto/qftp/qftp.pro4
-rw-r--r--tests/auto/qfuture/qfuture.pro1
-rw-r--r--tests/auto/qfuturewatcher/qfuturewatcher.pro1
-rw-r--r--tests/auto/qgetputenv/qgetputenv.pro1
-rw-r--r--tests/auto/qgl/tst_qgl.cpp122
-rw-r--r--tests/auto/qglobal/qglobal.pro1
-rw-r--r--tests/auto/qgraphicseffect/tst_qgraphicseffect.cpp6
-rw-r--r--tests/auto/qgraphicsgridlayout/tst_qgraphicsgridlayout.cpp250
-rw-r--r--tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp100
-rw-r--r--tests/auto/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp65
-rw-r--r--tests/auto/qgraphicsscene/qgraphicsscene.pro4
-rw-r--r--tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp12
-rw-r--r--tests/auto/qgraphicsview/tst_qgraphicsview.cpp203
-rw-r--r--tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp15
-rw-r--r--tests/auto/qgridlayout/tst_qgridlayout.cpp17
-rw-r--r--tests/auto/qhash/qhash.pro1
-rw-r--r--tests/auto/qhash/tst_qhash.cpp11
-rw-r--r--tests/auto/qheaderview/tst_qheaderview.cpp29
-rw-r--r--tests/auto/qhelpcontentmodel/qhelpcontentmodel.pro4
-rw-r--r--tests/auto/qhelpenginecore/qhelpenginecore.pro4
-rw-r--r--tests/auto/qhttp/qhttp.pro12
-rw-r--r--tests/auto/qhttpnetworkconnection/tst_qhttpnetworkconnection.cpp54
-rw-r--r--tests/auto/qicoimageformat/qicoimageformat.pro10
-rw-r--r--tests/auto/qicon/qicon.pro12
-rw-r--r--tests/auto/qicon/tst_qicon.cpp16
-rw-r--r--tests/auto/qimage/qimage.pro6
-rw-r--r--tests/auto/qimage/tst_qimage.cpp15
-rw-r--r--tests/auto/qimagereader/qimagereader.pro8
-rw-r--r--tests/auto/qimagereader/tst_qimagereader.cpp98
-rw-r--r--tests/auto/qimagewriter/qimagewriter.pro6
-rw-r--r--tests/auto/qinputcontext/tst_qinputcontext.cpp4
-rw-r--r--tests/auto/qinputdialog/tst_qinputdialog.cpp28
-rw-r--r--tests/auto/qiodevice/qiodevice.pro4
-rw-r--r--tests/auto/qitemmodel/qitemmodel.pro4
-rw-r--r--tests/auto/qitemselectionmodel/tst_qitemselectionmodel.cpp66
-rw-r--r--tests/auto/qkeysequence/tst_qkeysequence.cpp10
-rw-r--r--tests/auto/qlabel/qlabel.pro2
-rw-r--r--tests/auto/qlayout/qlayout.pro2
-rw-r--r--tests/auto/qlayout/tst_qlayout.cpp5
-rw-r--r--tests/auto/qlibrary/qlibrary.pro1
-rw-r--r--tests/auto/qlibrary/tst/tst.pro6
-rw-r--r--tests/auto/qline/qline.pro1
-rw-r--r--tests/auto/qlist/tst_qlist.cpp7
-rw-r--r--tests/auto/qlistview/tst_qlistview.cpp35
-rw-r--r--tests/auto/qlistwidget/tst_qlistwidget.cpp53
-rw-r--r--tests/auto/qlocale/test/test.pro2
-rw-r--r--tests/auto/qlocalsocket/test/test.pro6
-rw-r--r--tests/auto/qmainwindow/tst_qmainwindow.cpp10
-rw-r--r--tests/auto/qmap/qmap.pro1
-rw-r--r--tests/auto/qmap/tst_qmap.cpp12
-rw-r--r--tests/auto/qmargins/qmargins.pro1
-rw-r--r--tests/auto/qmath/qmath.pro1
-rw-r--r--tests/auto/qmdiarea/tst_qmdiarea.cpp19
-rw-r--r--tests/auto/qmenu/tst_qmenu.cpp13
-rw-r--r--tests/auto/qmenubar/tst_qmenubar.cpp4
-rw-r--r--tests/auto/qmetatype/qmetatype.pro1
-rw-r--r--tests/auto/qmouseevent_modal/tst_qmouseevent_modal.cpp4
-rw-r--r--tests/auto/qmovie/qmovie.pro6
-rw-r--r--tests/auto/qmutex/qmutex.pro1
-rw-r--r--tests/auto/qmutexlocker/qmutexlocker.pro1
-rw-r--r--tests/auto/qnetworkreply/test/test.pro6
-rw-r--r--tests/auto/qnetworkreply/tst_qnetworkreply.cpp623
-rw-r--r--tests/auto/qnumeric/qnumeric.pro1
-rw-r--r--tests/auto/qobject/qobject.pro1
-rw-r--r--tests/auto/qobject/tst_qobject.cpp78
-rw-r--r--tests/auto/qobject/tst_qobject.pro4
-rw-r--r--tests/auto/qobjectrace/qobjectrace.pro1
-rw-r--r--tests/auto/qpainter/qpainter.pro2
-rw-r--r--tests/auto/qpainter/tst_qpainter.cpp84
-rw-r--r--tests/auto/qpainterpath/tst_qpainterpath.cpp13
-rw-r--r--tests/auto/qpathclipper/tst_qpathclipper.cpp3
-rw-r--r--tests/auto/qpauseanimation/tst_qpauseanimation.cpp5
-rw-r--r--tests/auto/qpen/tst_qpen.cpp9
-rw-r--r--tests/auto/qpicture/tst_qpicture.cpp13
-rw-r--r--tests/auto/qpixmap/loadFromData/designer_indexed8_no_alpha_animated.gifbin0 -> 4075 bytes-rw-r--r--tests/auto/qpixmap/qpixmap.pro8
-rw-r--r--tests/auto/qpixmap/tst_qpixmap.cpp94
-rw-r--r--tests/auto/qpixmapfilter/qpixmapfilter.pro2
-rw-r--r--tests/auto/qplaintextedit/tst_qplaintextedit.cpp1
-rw-r--r--tests/auto/qplugin/qplugin.pro1
-rw-r--r--tests/auto/qplugin/tst_qplugin.pro4
-rw-r--r--tests/auto/qpluginloader/qpluginloader.pro1
-rw-r--r--tests/auto/qpluginloader/tst/tst.pro6
-rw-r--r--tests/auto/qpoint/qpoint.pro1
-rw-r--r--tests/auto/qpolygon/tst_qpolygon.cpp10
-rw-r--r--tests/auto/qprinter/tst_qprinter.cpp12
-rw-r--r--tests/auto/qprocess/test/test.pro40
-rw-r--r--tests/auto/qprocessenvironment/qprocessenvironment.pro1
-rw-r--r--tests/auto/qqueue/qqueue.pro1
-rw-r--r--tests/auto/qrand/qrand.pro1
-rw-r--r--tests/auto/qreadlocker/qreadlocker.pro1
-rw-r--r--tests/auto/qreadwritelock/qreadwritelock.pro1
-rw-r--r--tests/auto/qrect/qrect.pro1
-rw-r--r--tests/auto/qregexp/qregexp.pro1
-rw-r--r--tests/auto/qregexp/tst_qregexp.cpp9
-rw-r--r--tests/auto/qregion/tst_qregion.cpp10
-rw-r--r--tests/auto/qresourceengine/qresourceengine.pro19
-rw-r--r--tests/auto/qringbuffer/qringbuffer.pro1
-rw-r--r--tests/auto/qscopedpointer/qscopedpointer.pro1
-rw-r--r--tests/auto/qscriptable/tst_qscriptable.cpp4
-rw-r--r--tests/auto/qscriptclass/tst_qscriptclass.cpp61
-rw-r--r--tests/auto/qscriptcontext/tst_qscriptcontext.cpp207
-rw-r--r--tests/auto/qscriptengine/idtranslatable-unicode.js5
-rw-r--r--tests/auto/qscriptengine/qscriptengine.pro2
-rw-r--r--tests/auto/qscriptengine/qscriptengine.qrc2
-rw-r--r--tests/auto/qscriptengine/translatable-unicode.js9
-rw-r--r--tests/auto/qscriptengine/translations/idtranslatable-unicode.qmbin0 -> 209 bytes-rw-r--r--tests/auto/qscriptengine/translations/idtranslatable-unicode.ts26
-rw-r--r--tests/auto/qscriptengine/translations/translatable-unicode.qmbin0 -> 322 bytes-rw-r--r--tests/auto/qscriptengine/translations/translatable-unicode.ts37
-rw-r--r--tests/auto/qscriptengine/tst_qscriptengine.cpp384
-rw-r--r--tests/auto/qscriptenginedebugger/tst_qscriptenginedebugger.cpp94
-rw-r--r--tests/auto/qscriptextensionplugin/qscriptextensionplugin.pro3
-rw-r--r--tests/auto/qscriptextensionplugin/simpleplugin/simpleplugin.cpp79
-rw-r--r--tests/auto/qscriptextensionplugin/simpleplugin/simpleplugin.pro10
-rw-r--r--tests/auto/qscriptextensionplugin/staticplugin/__init__.js6
-rw-r--r--tests/auto/qscriptextensionplugin/staticplugin/staticplugin.cpp75
-rw-r--r--tests/auto/qscriptextensionplugin/staticplugin/staticplugin.pro7
-rw-r--r--tests/auto/qscriptextensionplugin/staticplugin/staticplugin.qrc6
-rw-r--r--tests/auto/qscriptextensionplugin/test/test.pro18
-rw-r--r--tests/auto/qscriptextensionplugin/tst_qscriptextensionplugin.cpp167
-rw-r--r--tests/auto/qscriptextqobject/tst_qscriptextqobject.cpp157
-rw-r--r--tests/auto/qscriptjstestsuite/qscriptjstestsuite.pro2
-rw-r--r--tests/auto/qscriptv8testsuite/qscriptv8testsuite.pro2
-rw-r--r--tests/auto/qscriptvalue/qscriptvalue.pro8
-rw-r--r--tests/auto/qscriptvalue/testgen/data.txt161
-rw-r--r--tests/auto/qscriptvalue/testgen/testgenerator.cpp794
-rw-r--r--tests/auto/qscriptvalue/tst_qscriptvalue.cpp1593
-rw-r--r--tests/auto/qscriptvalue/tst_qscriptvalue.h404
-rw-r--r--tests/auto/qscriptvalue/tst_qscriptvalue_generated_cast.cpp1453
-rw-r--r--tests/auto/qscriptvalue/tst_qscriptvalue_generated_comparison.cpp7026
-rw-r--r--tests/auto/qscriptvalue/tst_qscriptvalue_generated_init.cpp198
-rw-r--r--tests/auto/qscriptvalue/tst_qscriptvalue_generated_isXXX.cpp830
-rw-r--r--tests/auto/qscriptvalue/tst_qscriptvalue_generated_toXXX.cpp1897
-rw-r--r--tests/auto/qscriptvaluegenerated/.gitignore1
-rw-r--r--tests/auto/qscriptvaluegenerated/qscriptvaluegenerated.pro18
-rw-r--r--tests/auto/qscriptvaluegenerated/testgen/data.txt167
-rwxr-xr-xtests/auto/qscriptvaluegenerated/testgen/gen.py (renamed from tests/auto/qscriptvalue/testgen/gen.py)0
-rw-r--r--tests/auto/qscriptvaluegenerated/testgen/main.cpp (renamed from tests/auto/qscriptvalue/testgen/main.cpp)0
-rw-r--r--tests/auto/qscriptvaluegenerated/testgen/testgen.pro (renamed from tests/auto/qscriptvalue/testgen/testgen.pro)0
-rw-r--r--tests/auto/qscriptvaluegenerated/testgen/testgenerator.cpp795
-rw-r--r--tests/auto/qscriptvaluegenerated/testgen/testgenerator.h (renamed from tests/auto/qscriptvalue/testgen/testgenerator.h)0
-rw-r--r--tests/auto/qscriptvaluegenerated/tst_qscriptvalue.cpp116
-rw-r--r--tests/auto/qscriptvaluegenerated/tst_qscriptvalue.h370
-rw-r--r--tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_cast.cpp1504
-rw-r--r--tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_comparison.cpp7542
-rw-r--r--tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_init.cpp204
-rw-r--r--tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_isXXX.cpp862
-rw-r--r--tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_toXXX.cpp1963
-rw-r--r--tests/auto/qscriptvalueiterator/tst_qscriptvalueiterator.cpp21
-rw-r--r--tests/auto/qsemaphore/qsemaphore.pro1
-rw-r--r--tests/auto/qsequentialanimationgroup/qsequentialanimationgroup.pro1
-rw-r--r--tests/auto/qset/qset.pro1
-rw-r--r--tests/auto/qset/tst_qset.cpp11
-rw-r--r--tests/auto/qsharedpointer/qsharedpointer.pro1
-rw-r--r--tests/auto/qsignalspy/qsignalspy.pro1
-rw-r--r--tests/auto/qsize/qsize.pro1
-rw-r--r--tests/auto/qsizef/qsizef.pro1
-rw-r--r--tests/auto/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp138
-rw-r--r--tests/auto/qsound/qsound.pro2
-rw-r--r--tests/auto/qsound/tst_qsound.cpp7
-rw-r--r--tests/auto/qsplitter/qsplitter.pro2
-rw-r--r--tests/auto/qsplitter/tst_qsplitter.cpp12
-rw-r--r--tests/auto/qsql/qsql.pro2
-rw-r--r--tests/auto/qsqldatabase/qsqldatabase.pro4
-rw-r--r--tests/auto/qsqldatabase/tst_databases.h2
-rw-r--r--tests/auto/qsqldriver/qsqldriver.pro4
-rw-r--r--tests/auto/qsqlerror/qsqlerror.pro2
-rw-r--r--tests/auto/qsqlfield/qsqlfield.pro2
-rw-r--r--tests/auto/qsqlquery/qsqlquery.pro4
-rw-r--r--tests/auto/qsqlquery/tst_qsqlquery.cpp131
-rw-r--r--tests/auto/qsqlquerymodel/qsqlquerymodel.pro2
-rw-r--r--tests/auto/qsqlrecord/qsqlrecord.pro2
-rw-r--r--tests/auto/qsqlrelationaltablemodel/qsqlrelationaltablemodel.pro4
-rw-r--r--tests/auto/qsqltablemodel/qsqltablemodel.pro4
-rw-r--r--tests/auto/qsqlthread/qsqlthread.pro4
-rw-r--r--tests/auto/qsslcertificate/qsslcertificate.pro5
-rw-r--r--tests/auto/qsslkey/qsslkey.pro4
-rw-r--r--tests/auto/qsslsocket/qsslsocket.pro4
-rw-r--r--tests/auto/qstate/qstate.pro1
-rw-r--r--tests/auto/qstl/qstl.pro1
-rw-r--r--tests/auto/qstring/qstring.pro1
-rw-r--r--tests/auto/qstring/tst_qstring.cpp51
-rw-r--r--tests/auto/qstringbuilder1/qstringbuilder1.pro1
-rw-r--r--tests/auto/qstringbuilder2/qstringbuilder2.pro1
-rw-r--r--tests/auto/qstringbuilder3/qstringbuilder3.pro1
-rw-r--r--tests/auto/qstringbuilder4/qstringbuilder4.pro1
-rw-r--r--tests/auto/qstringlist/qstringlist.pro1
-rw-r--r--tests/auto/qstringmatcher/qstringmatcher.pro1
-rw-r--r--tests/auto/qstringref/qstringref.pro1
-rw-r--r--tests/auto/qstyle/qstyle.pro2
-rw-r--r--tests/auto/qstylesheetstyle/tst_qstylesheetstyle.cpp40
-rw-r--r--tests/auto/qsvggenerator/qsvggenerator.pro2
-rw-r--r--tests/auto/qsvgrenderer/qsvgrenderer.pro2
-rw-r--r--tests/auto/qtableview/tst_qtableview.cpp24
-rw-r--r--tests/auto/qtconcurrentfilter/qtconcurrentfilter.pro2
-rw-r--r--tests/auto/qtconcurrentiteratekernel/qtconcurrentiteratekernel.pro2
-rw-r--r--tests/auto/qtconcurrentmap/qtconcurrentmap.pro2
-rw-r--r--tests/auto/qtconcurrentrun/qtconcurrentrun.pro2
-rw-r--r--tests/auto/qtconcurrentrun/tst_qtconcurrentrun.cpp38
-rw-r--r--tests/auto/qtconcurrentthreadengine/qtconcurrentthreadengine.pro2
-rw-r--r--tests/auto/qtcpserver/test/test.pro4
-rw-r--r--tests/auto/qtemporaryfile/qtemporaryfile.pro2
-rw-r--r--tests/auto/qtextboundaryfinder/qtextboundaryfinder.pro3
-rw-r--r--tests/auto/qtextbrowser/qtextbrowser.pro4
-rw-r--r--tests/auto/qtextcodec/test/test.pro2
-rw-r--r--tests/auto/qtextdocument/tst_qtextdocument.cpp1
-rw-r--r--tests/auto/qtextedit/qtextedit.pro2
-rw-r--r--tests/auto/qtextedit/tst_qtextedit.cpp11
-rw-r--r--tests/auto/qtextstream/test/test.pro6
-rw-r--r--tests/auto/qthread/qthread.pro1
-rw-r--r--tests/auto/qthread/tst_qthread.cpp14
-rw-r--r--tests/auto/qthreadonce/qthreadonce.pro1
-rw-r--r--tests/auto/qthreadpool/qthreadpool.pro1
-rw-r--r--tests/auto/qthreadstorage/qthreadstorage.pro1
-rw-r--r--tests/auto/qtime/qtime.pro1
-rw-r--r--tests/auto/qtimeline/qtimeline.pro1
-rw-r--r--tests/auto/qtimer/qtimer.pro1
-rw-r--r--tests/auto/qtipc/qsharedmemory/test/test.pro6
-rw-r--r--tests/auto/qtipc/qsharedmemory/tst_qsharedmemory.cpp33
-rw-r--r--tests/auto/qtipc/qsystemsemaphore/qsystemsemaphore.pro4
-rw-r--r--tests/auto/qtmd5/qtmd5.pro1
-rw-r--r--tests/auto/qtokenautomaton/qtokenautomaton.pro1
-rw-r--r--tests/auto/qtranslator/qtranslator.pro2
-rw-r--r--tests/auto/qtreeview/tst_qtreeview.cpp23
-rw-r--r--tests/auto/qtreewidget/tst_qtreewidget.cpp6
-rw-r--r--tests/auto/qudpsocket/test/test.pro2
-rw-r--r--tests/auto/qurl/qurl.pro1
-rw-r--r--tests/auto/qurl/tst_qurl.cpp9
-rw-r--r--tests/auto/quuid/quuid.pro1
-rw-r--r--tests/auto/quuid/test/test.pro4
-rw-r--r--tests/auto/qvariant/tst_qvariant.cpp11
-rw-r--r--tests/auto/qvarlengtharray/qvarlengtharray.pro1
-rw-r--r--tests/auto/qvector/qvector.pro1
-rw-r--r--tests/auto/qvector/tst_qvector.cpp12
-rw-r--r--tests/auto/qwaitcondition/qwaitcondition.pro1
-rw-r--r--tests/auto/qwaitcondition/tst_qwaitcondition.cpp2
-rw-r--r--tests/auto/qwidget/tst_qwidget.cpp62
-rw-r--r--tests/auto/qwineventnotifier/qwineventnotifier.pro1
-rw-r--r--tests/auto/qwritelocker/qwritelocker.pro1
-rw-r--r--tests/auto/qxml/qxml.pro2
-rw-r--r--tests/auto/qxmlformatter/qxmlformatter.pro2
-rw-r--r--tests/auto/qxmlquery/qxmlquery.pro4
-rw-r--r--tests/auto/qxmlquery/tst_qxmlquery.cpp29
-rw-r--r--tests/auto/qxmlsimplereader/qxmlsimplereader.pro2
-rw-r--r--tests/auto/qxmlstream/qxmlstream.pro2
-rw-r--r--tests/auto/qzip/qzip.pro2
-rw-r--r--tests/auto/script.pro2
-rw-r--r--tests/auto/selftests/selftests.pro1
-rw-r--r--tests/auto/symbols/tst_symbols.cpp2
-rw-r--r--tests/auto/uic/baseline/gridalignment.ui49
-rw-r--r--tests/auto/uic/baseline/gridalignment.ui.h83
-rw-r--r--tests/auto/uiloader/uiloader/uiloader.pro4
-rw-r--r--tests/auto/utf8/utf8.pro1
-rw-r--r--tests/auto/windowsmobile/test/test.pro2
-rw-r--r--tests/auto/xmlpatterns.pri4
-rw-r--r--tests/auto/xmlpatternsdiagnosticsts/xmlpatternsdiagnosticsts.pro2
-rw-r--r--tests/auto/xmlpatternsview/xmlpatternsview.pro2
-rw-r--r--tests/auto/xmlpatternsxslts/xmlpatternsxslts.pro2
-rw-r--r--tests/benchmarks/benchmarks.pro3
-rw-r--r--tests/benchmarks/corelib/codecs/qtextcodec/qtextcodec.pro2
-rw-r--r--tests/benchmarks/corelib/corelib.pro10
-rwxr-xr-xtests/benchmarks/corelib/io/qdiriterator/qdiriterator.pro2
-rw-r--r--tests/benchmarks/corelib/tools/qstring/data.cpp19
-rw-r--r--tests/benchmarks/corelib/tools/qstring/data.h7
-rw-r--r--tests/benchmarks/corelib/tools/qstring/generatelist.pl8
-rw-r--r--tests/benchmarks/corelib/tools/qstring/main.cpp2
-rw-r--r--tests/benchmarks/corelib/tools/qstring/qstring.pro2
-rw-r--r--tests/benchmarks/declarative/binding/binding.pro2
-rw-r--r--tests/benchmarks/declarative/compilation/compilation.pro2
-rw-r--r--tests/benchmarks/declarative/creation/creation.pro2
-rw-r--r--tests/benchmarks/declarative/creation/tst_creation.cpp4
-rw-r--r--tests/benchmarks/declarative/declarative.pro2
-rw-r--r--tests/benchmarks/declarative/qdeclarativecomponent/qdeclarativecomponent.pro2
-rw-r--r--tests/benchmarks/declarative/qdeclarativeimage/qdeclarativeimage.pro2
-rw-r--r--tests/benchmarks/declarative/qdeclarativemetaproperty/qdeclarativemetaproperty.pro2
-rw-r--r--tests/benchmarks/declarative/qmltime/qmltime.cpp65
-rw-r--r--tests/benchmarks/declarative/qmltime/qmltime.pro2
-rw-r--r--tests/benchmarks/declarative/script/script.pro2
-rw-r--r--tests/benchmarks/declarative/typeimports/typeimports.pro2
-rw-r--r--tests/benchmarks/gui/graphicsview/qgraphicsview/qgraphicsview.pro2
-rw-r--r--tests/benchmarks/gui/gui.pro7
-rw-r--r--tests/benchmarks/gui/image/qimagereader/qimagereader.pro6
-rw-r--r--tests/benchmarks/gui/text/qtext/qtext.pro2
-rw-r--r--tests/benchmarks/network/network.pro7
-rw-r--r--tests/benchmarks/opengl/opengl.pro2
-rw-r--r--tests/benchmarks/script/qscriptengine/tst_qscriptengine.cpp314
-rw-r--r--tests/benchmarks/script/qscriptqobject/tst_qscriptqobject.cpp28
-rw-r--r--tests/benchmarks/script/qscriptvalue/tst_qscriptvalue.cpp862
-rw-r--r--tests/benchmarks/script/script.pro11
-rw-r--r--tests/benchmarks/script/sunspider/sunspider.pro20
-rw-r--r--tests/benchmarks/script/sunspider/tests/3d-cube.js337
-rw-r--r--tests/benchmarks/script/sunspider/tests/3d-morph.js54
-rw-r--r--tests/benchmarks/script/sunspider/tests/3d-raytrace.js441
-rw-r--r--tests/benchmarks/script/sunspider/tests/VERSION1
-rw-r--r--tests/benchmarks/script/sunspider/tests/access-binary-trees.js50
-rw-r--r--tests/benchmarks/script/sunspider/tests/access-fannkuch.js66
-rw-r--r--tests/benchmarks/script/sunspider/tests/access-nbody.js169
-rw-r--r--tests/benchmarks/script/sunspider/tests/access-nsieve.js38
-rw-r--r--tests/benchmarks/script/sunspider/tests/bitops-3bit-bits-in-byte.js32
-rw-r--r--tests/benchmarks/script/sunspider/tests/bitops-bits-in-byte.js21
-rw-r--r--tests/benchmarks/script/sunspider/tests/bitops-bitwise-and.js28
-rw-r--r--tests/benchmarks/script/sunspider/tests/bitops-nsieve-bits.js32
-rw-r--r--tests/benchmarks/script/sunspider/tests/controlflow-recursive.js25
-rw-r--r--tests/benchmarks/script/sunspider/tests/crypto-aes.js422
-rw-r--r--tests/benchmarks/script/sunspider/tests/crypto-md5.js286
-rw-r--r--tests/benchmarks/script/sunspider/tests/crypto-sha1.js224
-rw-r--r--tests/benchmarks/script/sunspider/tests/date-format-tofte.js299
-rw-r--r--tests/benchmarks/script/sunspider/tests/date-format-xparb.js417
-rw-r--r--tests/benchmarks/script/sunspider/tests/math-cordic.js95
-rw-r--r--tests/benchmarks/script/sunspider/tests/math-partial-sums.js33
-rw-r--r--tests/benchmarks/script/sunspider/tests/math-spectral-norm.js51
-rw-r--r--tests/benchmarks/script/sunspider/tests/regexp-dna.js1712
-rw-r--r--tests/benchmarks/script/sunspider/tests/string-base64.js135
-rw-r--r--tests/benchmarks/script/sunspider/tests/string-fasta.js85
-rw-r--r--tests/benchmarks/script/sunspider/tests/string-tagcloud.js265
-rw-r--r--tests/benchmarks/script/sunspider/tests/string-unpack-code.js68
-rw-r--r--tests/benchmarks/script/sunspider/tests/string-validate-input.js89
-rw-r--r--tests/benchmarks/script/sunspider/tst_sunspider.cpp129
-rw-r--r--tests/benchmarks/script/v8/tests/README.txt79
-rw-r--r--tests/benchmarks/script/v8/tests/base.js284
-rw-r--r--tests/benchmarks/script/v8/tests/crypto.js1698
-rw-r--r--tests/benchmarks/script/v8/tests/deltablue.js880
-rw-r--r--tests/benchmarks/script/v8/tests/earley-boyer.js4684
-rw-r--r--tests/benchmarks/script/v8/tests/raytrace.js904
-rw-r--r--tests/benchmarks/script/v8/tests/regexp.js1764
-rw-r--r--tests/benchmarks/script/v8/tests/richards.js539
-rw-r--r--tests/benchmarks/script/v8/tests/splay.js394
-rw-r--r--tests/benchmarks/script/v8/tst_v8.cpp142
-rw-r--r--tests/benchmarks/script/v8/v8.pro20
-rw-r--r--tests/benchmarks/svg/svg.pro2
-rw-r--r--tests/benchmarks/trusted-benchmarks.pri8
-rw-r--r--tests/manual/bearerex/datatransferer.cpp2
-rw-r--r--tests/manual/mkspecs/.gitignore2
-rwxr-xr-xtests/manual/mkspecs/test.sh64
-rw-r--r--tests/manual/qtouchevent/qtouchevent.pro (renamed from tests/manual/qtouchevent/multitouch.pro)0
-rw-r--r--tests/manual/textrendering/glyphshaping/glyphshaping.pro2
-rw-r--r--tools/assistant/lib/qhelpgenerator.cpp13
-rw-r--r--tools/assistant/tools/assistant/doc/assistant.qdoc10
-rw-r--r--tools/assistant/tools/assistant/openpagesmanager.cpp3
-rw-r--r--tools/configure/configureapp.cpp5
-rw-r--r--tools/designer/data/ui4.xsd1
-rw-r--r--tools/designer/src/components/formeditor/formwindow.cpp17
-rw-r--r--tools/designer/src/lib/sdk/abstractdnditem.qdoc10
-rw-r--r--tools/designer/src/lib/sdk/abstracticoncache.qdoc10
-rw-r--r--tools/designer/src/lib/sdk/dynamicpropertysheet.qdoc10
-rw-r--r--tools/designer/src/lib/sdk/layoutdecoration.qdoc10
-rw-r--r--tools/designer/src/lib/sdk/membersheet.qdoc10
-rw-r--r--tools/designer/src/lib/sdk/propertysheet.qdoc10
-rw-r--r--tools/designer/src/lib/sdk/taskmenu.qdoc10
-rw-r--r--tools/designer/src/lib/shared/morphmenu.cpp2
-rw-r--r--tools/designer/src/lib/shared/qdesigner_command2.cpp62
-rw-r--r--tools/designer/src/lib/shared/qdesigner_command2_p.h22
-rw-r--r--tools/designer/src/lib/shared/qdesigner_taskmenu.cpp139
-rw-r--r--tools/designer/src/lib/shared/qdesigner_taskmenu_p.h1
-rw-r--r--tools/designer/src/lib/shared/qlayout_widget.cpp14
-rw-r--r--tools/designer/src/lib/shared/qtresourcemodel.cpp6
-rw-r--r--tools/designer/src/lib/uilib/abstractformbuilder.cpp82
-rw-r--r--tools/designer/src/lib/uilib/container.qdoc10
-rw-r--r--tools/designer/src/lib/uilib/customwidget.qdoc10
-rw-r--r--tools/designer/src/lib/uilib/ui4.cpp11
-rw-r--r--tools/designer/src/lib/uilib/ui4_p.h8
-rw-r--r--tools/linguist/linguist/mainwindow.cpp4
-rw-r--r--tools/linguist/linguist/printout.cpp2
-rw-r--r--tools/linguist/shared/ts.dtd23
-rw-r--r--tools/macdeployqt/shared/shared.cpp2
-rw-r--r--tools/porting/src/preprocessorcontrol.cpp2
-rw-r--r--tools/porting/src/textreplacement.h4
-rw-r--r--tools/qconfig/qconfig.pro1
-rw-r--r--tools/qdbus/qdbusxml2cpp/qdbusxml2cpp.cpp4
-rw-r--r--tools/qdoc3/ditaxmlgenerator.cpp4
-rw-r--r--tools/qdoc3/doc/qdoc-manual.qdoc10
-rw-r--r--tools/qdoc3/doc/qdoc-manual.qdocconf253
-rw-r--r--tools/qdoc3/helpprojectwriter.cpp16
-rw-r--r--tools/qdoc3/htmlgenerator.cpp151
-rw-r--r--tools/qdoc3/htmlgenerator.h2
-rw-r--r--tools/qdoc3/pagegenerator.cpp4
-rw-r--r--tools/qdoc3/qdoc3.pro4
-rw-r--r--tools/qdoc3/test/qt-build-docs.qdocconf8
-rw-r--r--tools/qdoc3/test/qt-cpp-ignore.qdocconf5
-rw-r--r--tools/qdoc3/test/qt-html-templates.qdocconf34
-rw-r--r--tools/qdoc3/test/qt.qdocconf5
-rw-r--r--tools/qdoc3/tokenizer.h2
-rw-r--r--tools/qdoc3/tree.cpp71
-rw-r--r--tools/qmeegographicssystemhelper/qmeegofencesync.cpp79
-rw-r--r--tools/qmeegographicssystemhelper/qmeegofencesync.h101
-rw-r--r--tools/qmeegographicssystemhelper/qmeegofencesync_p.h60
-rw-r--r--tools/qmeegographicssystemhelper/qmeegographicssystemhelper.h2
-rw-r--r--tools/qmeegographicssystemhelper/qmeegographicssystemhelper.pro4
-rw-r--r--tools/qmeegographicssystemhelper/qmeegolivepixmap.cpp66
-rw-r--r--tools/qmeegographicssystemhelper/qmeegolivepixmap.h11
-rw-r--r--tools/qmeegographicssystemhelper/qmeegolivepixmap_p.h6
-rw-r--r--tools/qmeegographicssystemhelper/qmeegooverlaywidget.cpp9
-rw-r--r--tools/qmeegographicssystemhelper/qmeegooverlaywidget.h2
-rw-r--r--tools/qmeegographicssystemhelper/qmeegoruntime.cpp98
-rw-r--r--tools/qmeegographicssystemhelper/qmeegoruntime.h14
-rw-r--r--tools/qml/main.cpp3
-rw-r--r--tools/qml/qdeclarativetester.cpp46
-rw-r--r--tools/qml/qdeclarativetester.h1
-rw-r--r--tools/qml/qmlruntime.cpp3
-rw-r--r--tools/qml/qmlruntime.h3
-rw-r--r--tools/qtconfig/mainwindow.cpp20
-rw-r--r--tools/qtestlib/wince/cetest/activesyncconnection.cpp2
-rw-r--r--tools/qtestlib/wince/cetest/deployment.cpp10
-rw-r--r--tools/qtestlib/wince/cetest/main.cpp2
-rw-r--r--tools/qvfb/qvfb.cpp2
-rw-r--r--tools/runonphone/serenum_unix.cpp35
-rw-r--r--tools/runonphone/symbianutils/tcftrkdevice.h2
-rw-r--r--tools/runonphone/symbianutils/tcftrkmessage.h2
-rw-r--r--tools/tools.pro2
-rw-r--r--translations/assistant_de.ts37
-rw-r--r--[-rwxr-xr-x]translations/assistant_ja.ts0
-rw-r--r--translations/assistant_ru.ts581
-rw-r--r--translations/designer_ru.ts172
-rw-r--r--[-rwxr-xr-x]translations/linguist_ja.ts0
-rw-r--r--translations/linguist_ru.ts955
-rw-r--r--translations/qt_de.ts4
-rw-r--r--[-rwxr-xr-x]translations/qt_ja.ts0
-rw-r--r--translations/qt_ru.ts166
-rw-r--r--translations/qt_zh_CN.ts2
-rw-r--r--translations/qtconfig_ru.ts82
-rw-r--r--translations/qvfb_ru.ts139
-rw-r--r--util/normalize/main.cpp2
-rw-r--r--util/qlalr/doc/src/qlalr.qdoc10
-rw-r--r--util/s60pixelmetrics/pm_mapperapp.cpp20
3245 files changed, 159533 insertions, 94301 deletions
diff --git a/.commit-template b/.commit-template
index 589ca89..6e0e3a4 100644
--- a/.commit-template
+++ b/.commit-template
@@ -5,6 +5,6 @@
# ---[ Fields ]-----------------[ uncomment and edit as applicable ]---|
#Task-number:
-#Reviewed-by:
+Reviewed-by: pending
# ==================================[ please wrap at 72 characters ]===|
diff --git a/.gitignore b/.gitignore
index 7bacc11..af52197 100644
--- a/.gitignore
+++ b/.gitignore
@@ -51,6 +51,7 @@ Makefile*
*.prl
*.app
*.pro.user
+*.qmlproject.user
*.gcov
bin/Qt*.dll
bin/assistant*
diff --git a/bin/createpackage.pl b/bin/createpackage.pl
index 41ba2e3..522d1fb 100755
--- a/bin/createpackage.pl
+++ b/bin/createpackage.pl
@@ -140,7 +140,12 @@ unless (GetOptions('i|install' => \$install,
}
my $epocroot = $ENV{EPOCROOT};
-$epocroot =~ s,[\\/]$,,x;
+if ($epocroot ne "") {
+ $epocroot =~ s,\\,/,g;
+ if ($epocroot =~ m,[^/]$,) {
+ $epocroot = $epocroot."/";
+ }
+}
my $certfilepath = abs_path(dirname($certfile));
@@ -328,11 +333,11 @@ if ($preprocessonly) {
if($stub) {
if(!($epocroot)) { die("ERROR: EPOCROOT must be set to create stub sis files"); }
- my $systeminstall = "$epocroot/epoc32/data/z/system/install";
+ my $systeminstall = "${epocroot}epoc32/data/z/system/install";
mkpath($systeminstall);
my $stub_sis_name = $systeminstall."/".$stub_sis_name;
# Create stub SIS.
- system ("$epocroot/epoc32/tools/makesis -s $pkgoutput $stub_sis_name");
+ system ("${epocroot}epoc32/tools/makesis -s $pkgoutput $stub_sis_name");
} else {
if ($certtext eq "Self Signed"
&& !@certificates
@@ -346,7 +351,7 @@ if($stub) {
# Create SIS.
# The 'and' is because system uses 0 to indicate success.
if($epocroot) {
- system ("$epocroot/epoc32/tools/makesis $pkgoutput $unsigned_sis_name") and die ("ERROR: makesis failed");
+ system ("${epocroot}epoc32/tools/makesis $pkgoutput $unsigned_sis_name") and die ("ERROR: makesis failed");
} else {
system ("makesis $pkgoutput $unsigned_sis_name") and die ("ERROR: makesis failed");
}
diff --git a/bin/elf2e32_qtwrapper b/bin/elf2e32_qtwrapper
index 694d54a..a3a4065 100755
--- a/bin/elf2e32_qtwrapper
+++ b/bin/elf2e32_qtwrapper
@@ -1,145 +1,3 @@
-#!/usr/bin/perl -w
-
-# A script to get around some shortcomings in elf2e32, namely:
-# - Returning 0 even when there are errors.
-# - Excluding symbols from the dso file even when they are present in the ELF file.
-# - Including symbols in the the dso file even when they are not present in the ELF file.
-# - Overwriting the old dso file even when there are no changes (increases build time).
-
-use File::Copy;
-
-my @args = ();
-my @definput;
-my @defoutput;
-my @dso;
-my @tmpdso;
-foreach (@ARGV) {
- if (/^--definput/o) {
- @definput = split('=', $_);
- } elsif (/^--defoutput/o) {
- @defoutput = split('=', $_);
- } elsif (/^--dso/o) {
- @dso = split('=', $_);
- } elsif (/^--tmpdso/o) {
- @tmpdso = split('=', $_);
- $tmpdso[0] = "--dso";
- } else {
- push(@args, $_);
- }
-}
-
-@definput = () if (!@definput || ! -e $definput[1]);
-
-if (@dso && !@tmpdso || !@dso && @tmpdso) {
- print("--dso and --tmpdso must be used together.\n");
- exit 1;
-}
-
-my $buildingLibrary = (@defoutput && @dso) ? 1 : 0;
-
-my $fixupFile = "";
-my $runCount = 0;
-my $returnCode = 0;
-
-while (1) {
- if (++$runCount > 2) {
- print("Internal error in $0, link succeeded, but exports may be wrong.\n");
- last;
- }
-
- my $elf2e32Pipe;
- my $elf2e32Cmd = "elf2e32 @args"
- . " " . join("=", @definput)
- . " " . join("=", @defoutput)
- . " " . join("=", @tmpdso);
- open($elf2e32Pipe, "$elf2e32Cmd 2>&1 |") or die ("Could not run elf2e32");
-
- my %fixupSymbols;
- my $foundBrokenSymbols = 0;
- my $errors = 0;
- while (<$elf2e32Pipe>) {
- print;
- if (/Error:/io) {
- $errors = 1;
- } elsif (/symbol ([a-z0-9_]+) absent in the DEF file, but present in the ELF file/io) {
- $fixupSymbols{$1} = 1;
- $foundBrokenSymbols = 1;
- } elsif (/[0-9]+ Frozen Export\(s\) missing from the ELF file/io) {
- $foundBrokenSymbols = 1;
- }
- }
- close($elf2e32Pipe);
-
- if ($errors) {
- $returnCode = 1;
- last;
- }
-
- if ($buildingLibrary) {
- my $tmpDefFile;
- my $defFile;
- open($defFile, "< $defoutput[1]") or die("Could not open $defoutput[1]");
- open($tmpDefFile, "> $defoutput[1].tmp") or die("Could not open $defoutput[1].tmp");
- $fixupFile = "$defoutput[1].tmp";
- while (<$defFile>) {
- s/\r//;
- s/\n//;
- next if (/; NEW:/);
- if (/([a-z0-9_]+) @/i) {
- if (exists($fixupSymbols{$1})) {
- s/ ABSENT//;
- } elsif (s/; MISSING://) {
- s/$/ ABSENT/;
- }
- }
- print($tmpDefFile "$_\n");
- }
- close($defFile);
- close($tmpDefFile);
-
- $definput[1] = "$defoutput[1].tmp";
-
- if (!$foundBrokenSymbols || $errors) {
- last;
- }
-
- print("Rerunning elf2e32 due to DEF file / ELF file mismatch\n");
- } else {
- last;
- }
-};
-
-if ($fixupFile) {
- unlink($defoutput[1]);
- move($fixupFile, $defoutput[1]);
-}
-
-exit $returnCode if ($returnCode != 0);
-
-if ($buildingLibrary) {
- my $differenceFound = 0;
-
- if (-e $dso[1]) {
- my $dsoFile;
- my $tmpdsoFile;
- my $dsoBuf;
- my $tmpdsoBuf;
- open($dsoFile, "< $dso[1]") or die("Could not open $dso[1]");
- open($tmpdsoFile, "< $tmpdso[1]") or die("Could not open $tmpdso[1]");
- binmode($dsoFile);
- binmode($tmpdsoFile);
- while(read($dsoFile, $dsoBuf, 4096) && read($tmpdsoFile, $tmpdsoBuf, 4096)) {
- if ($dsoBuf ne $tmpdsoBuf) {
- $differenceFound = 1;
- }
- }
- close($tmpdsoFile);
- close($dsoFile);
- } else {
- $differenceFound = 1;
- }
-
- if ($differenceFound) {
- copy($tmpdso[1], $dso[1]);
- }
-}
+#!/bin/sh
+scriptpath=`dirname $0`
+perl $scriptpath/elf2e32_qtwrapper.pl "$@"
diff --git a/bin/elf2e32_qtwrapper.bat b/bin/elf2e32_qtwrapper.bat
new file mode 100644
index 0000000..52910df
--- /dev/null
+++ b/bin/elf2e32_qtwrapper.bat
@@ -0,0 +1,3 @@
+@echo off
+set scriptpath=%~dp0
+perl %scriptpath%elf2e32_qtwrapper.pl %*
diff --git a/bin/elf2e32_qtwrapper.pl b/bin/elf2e32_qtwrapper.pl
new file mode 100755
index 0000000..4eeb098
--- /dev/null
+++ b/bin/elf2e32_qtwrapper.pl
@@ -0,0 +1,225 @@
+#!/usr/bin/perl -w
+
+# A script to get around some shortcomings in elf2e32, namely:
+# - Returning 0 even when there are errors.
+# - Excluding symbols from the dso file even when they are present in the ELF file.
+# - Including symbols in the the dso file even when they are not present in the ELF file.
+# - Overwriting the old dso file even when there are no changes (increases build time).
+
+use File::Copy;
+
+my @args = ();
+my @definput;
+my @defoutput;
+my @dso;
+my @tmpdso;
+foreach (@ARGV) {
+ if (/^--definput/o) {
+ @definput = split('=', $_);
+ } elsif (/^--defoutput/o) {
+ @defoutput = split('=', $_);
+ } elsif (/^--dso/o) {
+ @dso = split('=', $_);
+ } elsif (/^--tmpdso/o) {
+ @tmpdso = split('=', $_);
+ $tmpdso[0] = "--dso";
+ } else {
+ push(@args, $_);
+ }
+}
+
+@definput = () if (!@definput || ! -e $definput[1]);
+
+if (@dso && !@tmpdso || !@dso && @tmpdso) {
+ print("--dso and --tmpdso must be used together.\n");
+ exit 1;
+}
+
+my $buildingLibrary = (@defoutput && @dso) ? 1 : 0;
+
+my $fixupFile = "";
+my $runCount = 0;
+my $returnCode = 0;
+
+while (1) {
+ if (++$runCount > 2) {
+ print("Internal error in $0, link succeeded, but exports may be wrong.\n");
+ last;
+ }
+
+ my $elf2e32Pipe;
+ my $elf2e32Cmd = "elf2e32 @args"
+ . " " . join("=", @definput)
+ . " " . join("=", @defoutput)
+ . " " . join("=", @tmpdso);
+ open($elf2e32Pipe, "$elf2e32Cmd 2>&1 |") or die ("Could not run elf2e32");
+
+ my %fixupSymbols;
+ my $foundBrokenSymbols = 0;
+ my $errors = 0;
+ while (<$elf2e32Pipe>) {
+ print;
+ if (/Error:/io) {
+ $errors = 1;
+ } elsif (/symbol ([a-z0-9_]+) absent in the DEF file, but present in the ELF file/io) {
+ $fixupSymbols{$1} = 1;
+ $foundBrokenSymbols = 1;
+ } elsif (/[0-9]+ Frozen Export\(s\) missing from the ELF file/io) {
+ $foundBrokenSymbols = 1;
+ }
+ }
+ close($elf2e32Pipe);
+
+ if ($errors) {
+ $returnCode = 1;
+ last;
+ }
+
+ if ($buildingLibrary && $runCount == 1) {
+ my $tmpDefFile;
+ my $newDefFile;
+ my $origDefFile;
+ my $savedNewDefFileLine = "";
+ if ($definput[1]) {
+ open($origDefFile, "< $definput[1]") or die("Could not open $definput[1]");
+ }
+ open($newDefFile, "< $defoutput[1]") or die("Could not open $defoutput[1]");
+ open($tmpDefFile, "> $defoutput[1].tmp") or die("Could not open $defoutput[1].tmp");
+ print($tmpDefFile "EXPORTS\n");
+ $fixupFile = "$defoutput[1].tmp";
+ while (1) {
+ my $origDefLine;
+ my $origSym;
+ my $origOrdinal;
+ my $origExtraData;
+ my $newDefLine;
+ my $newSym;
+ my $newOrdinal;
+ my $newExtraData;
+ my $defLine;
+ my $sym;
+ my $ordinal;
+ my $extraData;
+ if ($definput[1]) {
+ # Read from original def file, and skip non-symbol lines
+ while (1) {
+ $origDefLine = <$origDefFile>;
+ if (defined($origDefLine)) {
+ $origDefLine =~ s/[\n\r]//;
+ if ($origDefLine =~ /([a-z0-9_]+) +\@ ([0-9]+) (.*)/i) {
+ $origSym = $1;
+ $origOrdinal = $2;
+ $origExtraData = $3;
+ last;
+ }
+ } else {
+ last;
+ }
+ }
+ }
+
+ if ($savedNewDefFileLine) {
+ # This happens if the new def file was missing an entry.
+ $newDefLine = $savedNewDefFileLine;
+ $newDefLine =~ /([a-z0-9_]+) +\@ ([0-9]+) (.*)/i or die("$0: Shouldn't happen");
+ $newSym = $1;
+ $newOrdinal = $2;
+ $newExtraData = $3;
+ } else {
+ # Read from new def file, and skip non-symbol lines
+ while (1) {
+ $newDefLine = <$newDefFile>;
+ if (defined($newDefLine)) {
+ $newDefLine =~ s/[\n\r]//;
+ if ($newDefLine =~ /([a-z0-9_]+) +\@ ([0-9]+) (.*)/i) {
+ $newSym = $1;
+ $newOrdinal = $2;
+ $newExtraData = $3;
+ last;
+ }
+ } else {
+ last;
+ }
+ }
+ }
+ $savedNewDefFileLine = "";
+ last if (!defined($origDefLine) && !defined($newDefLine));
+
+ if (defined($origOrdinal) && (!defined($newOrdinal) || $origOrdinal != $newOrdinal)) {
+ # If the symbol is missing from the new def file, use the original symbol.
+ $savedNewDefFileLine = $newDefLine;
+ $defLine = $origDefLine;
+ $sym = $origSym;
+ $ordinal = $origOrdinal;
+ $extraData = $origExtraData;
+ } else {
+ $defLine = $newDefLine;
+ $sym = $newSym;
+ $ordinal = $newOrdinal;
+ if ($newExtraData =~ /ABSENT/) {
+ # Special case to keep "DATA [0-9]+" data in absent entries.
+ $extraData = $origExtraData;
+ } else {
+ $extraData = $newExtraData;
+ }
+ }
+ if (exists($fixupSymbols{$sym})) {
+ # Fix symbols that have returned after first being marked ABSENT.
+ $extraData =~ s/ ABSENT//;
+ } elsif ($defLine =~ s/; MISSING://) {
+ # Auto-absent symbols.
+ $extraData .= " ABSENT";
+ }
+ print($tmpDefFile "\t$sym \@ $ordinal $extraData\n");
+ }
+ print($tmpDefFile "\n");
+ close($origDefFile) if ($definput[1]);
+ close($newDefFile);
+ close($tmpDefFile);
+
+ $definput[1] = "$defoutput[1].tmp";
+
+ if (!$foundBrokenSymbols || $errors) {
+ last;
+ }
+
+ print("Rerunning elf2e32 due to DEF file / ELF file mismatch\n");
+ } else {
+ last;
+ }
+};
+
+if ($fixupFile) {
+ unlink($defoutput[1]);
+ move($fixupFile, $defoutput[1]);
+}
+
+exit $returnCode if ($returnCode != 0);
+
+if ($buildingLibrary) {
+ my $differenceFound = 0;
+
+ if (-e $dso[1]) {
+ my $dsoFile;
+ my $tmpdsoFile;
+ my $dsoBuf;
+ my $tmpdsoBuf;
+ open($dsoFile, "< $dso[1]") or die("Could not open $dso[1]");
+ open($tmpdsoFile, "< $tmpdso[1]") or die("Could not open $tmpdso[1]");
+ binmode($dsoFile);
+ binmode($tmpdsoFile);
+ while(read($dsoFile, $dsoBuf, 4096) && read($tmpdsoFile, $tmpdsoBuf, 4096)) {
+ if ($dsoBuf ne $tmpdsoBuf) {
+ $differenceFound = 1;
+ }
+ }
+ close($tmpdsoFile);
+ close($dsoFile);
+ } else {
+ $differenceFound = 1;
+ }
+
+ if ($differenceFound) {
+ copy($tmpdso[1], $dso[1]);
+ }
+}
diff --git a/bin/patch_capabilities.pl b/bin/patch_capabilities.pl
index 06ab116..5230480 100755
--- a/bin/patch_capabilities.pl
+++ b/bin/patch_capabilities.pl
@@ -269,6 +269,9 @@ if (@ARGV)
if (@capabilitiesSpecified)
{
$commandToExecute = sprintf($baseCommandToExecute, join(" ", @capabilitiesSpecified));
+ $executeNeeded = 1;
+ my $capString = join(" ", @capabilitiesSpecified);
+ print ("Patching: Patching the the Vendor ID to 0 and the capabilities used to: \"$capString\" in \"$binaryBaseName\".\n");
} else {
# Test which capabilities are present and then restrict them to the allowed set.
# This avoid raising the capabilities of apps that already have none.
diff --git a/bin/syncqt b/bin/syncqt
index faa3575..99562fb 100755
--- a/bin/syncqt
+++ b/bin/syncqt
@@ -694,10 +694,7 @@ my @ignore_for_qt_begin_header_check = ( "qiconset.h", "qconfig.h", "qconfig-dis
my @ignore_for_qt_begin_namespace_check = ( "qconfig.h", "qconfig-dist.h", "qconfig-large.h", "qconfig-medium.h", "qconfig-minimal.h", "qconfig-small.h", "qfeatures.h", "qatomic_arch.h", "qatomic_windowsce.h", "qt_windows.h", "qatomic_macosx.h", "qatomic_arm.h", "qatomic_armv7.h" );
my @ignore_for_qt_module_check = ( "$modules{QtCore}/arch", "$modules{QtCore}/global", "$modules{QtSql}/drivers", "$modules{QtTest}", "$modules{QtDesigner}", "$modules{QtUiTools}", "$modules{QtDBus}", "$modules{phonon}" );
my %colliding_headers = ();
-my %inject_headers;
-# Force generation of forwarding header for qconfig.h if (and only if) we can't
-# find the header by normal means.
-%inject_headers = ( "$basedir/src/corelib/global" => ( "*qconfig.h" ) ) unless (-e "$basedir/src/corelib/global/qconfig.h");
+my %inject_headers = ( "$basedir/src/corelib/global" => ( "qconfig.h" ) ); # all from build dir
foreach my $lib (@modules_to_sync) {
#iteration info
@@ -799,7 +796,12 @@ foreach my $lib (@modules_to_sync) {
#calc files and "copy" them
foreach my $subdir (@subdirs) {
my @headers = findFiles($subdir, "^[-a-z0-9_]*\\.h\$" , 0);
- push @headers, $inject_headers{$subdir} if (defined $inject_headers{$subdir});
+ if (defined $inject_headers{$subdir}) {
+ foreach my $if ($inject_headers{$subdir}) {
+ @headers = grep(!/^\Q$if\E$/, @headers); #in case we configure'd previously
+ push @headers, "*".$if;
+ }
+ }
foreach my $header (@headers) {
my $shadow = ($header =~ s/^\*//);
$header = 0 if($header =~ /^ui_.*.h/);
@@ -877,7 +879,7 @@ foreach my $lib (@modules_to_sync) {
@headers = ( "$out_basedir/include/$lib/private/$header" );
}
foreach(@headers) { #sync them
- $header_copies++ if(syncHeader($_, $iheader, $copy_headers, $ts));
+ $header_copies++ if(syncHeader($_, $iheader, $copy_headers && !$shadow, $ts));
}
if($public_header) {
diff --git a/config.tests/mac/coreservices/coreservices.mm b/config.tests/mac/coreservices/coreservices.mm
new file mode 100644
index 0000000..0091e49
--- /dev/null
+++ b/config.tests/mac/coreservices/coreservices.mm
@@ -0,0 +1,48 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the config.tests of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <CoreServices/CoreServices.h>
+
+int main()
+{
+ FSRef ref;
+ return 0;
+}
diff --git a/config.tests/mac/coreservices/coreservices.pro b/config.tests/mac/coreservices/coreservices.pro
new file mode 100644
index 0000000..c9bf8ec
--- /dev/null
+++ b/config.tests/mac/coreservices/coreservices.pro
@@ -0,0 +1,3 @@
+SOURCES = coreservices.mm
+LIBS += -framework CoreServices
+CONFIG -= app_bundle qt
diff --git a/config.tests/mac/corewlan/corewlan.pro b/config.tests/mac/corewlan/corewlan.pro
index 8451af3..a9c2560 100644
--- a/config.tests/mac/corewlan/corewlan.pro
+++ b/config.tests/mac/corewlan/corewlan.pro
@@ -1,3 +1,3 @@
-SOURCES = corewlantest.mm
+OBJECTIVE_SOURCES = corewlantest.mm
LIBS += -framework CoreWLAN -framework Foundation
CONFIG -= app_bundle qt
diff --git a/config.tests/symbian/audio/audio.pro b/config.tests/symbian/audio/audio.pro
index b2a1986..b496341 100644
--- a/config.tests/symbian/audio/audio.pro
+++ b/config.tests/symbian/audio/audio.pro
@@ -6,4 +6,5 @@ INCLUDEPATH += $${EPOCROOT}epoc32/include/mmf/common
INCLUDEPATH += $${EPOCROOT}epoc32/include/platform
LIBS += -lmmfdevsound
+CONFIG -= qt
QT =
diff --git a/config.tests/symbian/simple/simple.pro b/config.tests/symbian/simple/simple.pro
index fa086c9..9c60d62 100644
--- a/config.tests/symbian/simple/simple.pro
+++ b/config.tests/symbian/simple/simple.pro
@@ -1,4 +1,5 @@
TEMPLATE = app
+CONFIG -= qt
QT =
SOURCES += main.cpp
diff --git a/config.tests/unix/doubleformat/doubleformattest.cpp b/config.tests/unix/doubleformat/doubleformattest.cpp
index 8e83251..2c51d0c 100644
--- a/config.tests/unix/doubleformat/doubleformattest.cpp
+++ b/config.tests/unix/doubleformat/doubleformattest.cpp
@@ -44,8 +44,8 @@
LE: strings | grep 0123ABCD0123ABCD
BE: strings | grep DCBA3210DCBA3210
-LE arm-swaped-dword-order: strings | grep ABCD0123ABCD0123
-BE arm-swaped-dword-order: strings | grep 3210DCBA3210DCBA (untested)
+LE arm-swapped-dword-order: strings | grep ABCD0123ABCD0123
+BE arm-swapped-dword-order: strings | grep 3210DCBA3210DCBA (untested)
tested on x86, arm-le (gp), aix
diff --git a/config.tests/unix/opengldesktop/opengldesktop.cpp b/config.tests/unix/opengldesktop/opengldesktop.cpp
new file mode 100644
index 0000000..969767c
--- /dev/null
+++ b/config.tests/unix/opengldesktop/opengldesktop.cpp
@@ -0,0 +1,52 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the config.tests of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <GL/gl.h>
+
+int main(int, char **)
+{
+ glBegin(GL_TRIANGLES);
+ glVertex2f(20.0f, 10.0f);
+ glVertex2f(10.0f, 30.0f);
+ glVertex2f(20.0f, 50.0f);
+ glEnd();
+ return 0;
+}
diff --git a/config.tests/unix/opengldesktop/opengldesktop.pro b/config.tests/unix/opengldesktop/opengldesktop.pro
new file mode 100644
index 0000000..ac70ca3
--- /dev/null
+++ b/config.tests/unix/opengldesktop/opengldesktop.pro
@@ -0,0 +1,9 @@
+SOURCES = opengldesktop.cpp
+INCLUDEPATH += $$QMAKE_INCDIR_OPENGL
+
+for(p, QMAKE_LIBDIR_OPENGL) {
+ exists($$p):LIBS += -L$$p
+}
+
+CONFIG -= qt
+LIBS += $$QMAKE_LIBS_OPENGL
diff --git a/configure b/configure
index bf81e26..875fef4 100755
--- a/configure
+++ b/configure
@@ -186,9 +186,12 @@ fi
PLATFORM_X11=no
PLATFORM_MAC=no
-PLATFORM_QWS=no
+PLATFORM_QWS=maybe
+PLATFORM_QPA=maybe
+BUILD_ON_MAC=no;
+[ -d /System/Library/Frameworks/Carbon.framework ] && BUILD_ON_MAC=yes
-if [ -f "$relpath"/src/gui/kernel/qapplication_mac.mm ] && [ -d /System/Library/Frameworks/Carbon.framework ]; then
+if [ -f "$relpath"/src/gui/kernel/qapplication_mac.mm ] && [ $BUILD_ON_MAC = "yes" ]; then
# Qt/Mac
# ~ the Carbon SDK exists
# ~ src/gui/base/qapplication_mac.cpp is present
@@ -283,6 +286,22 @@ earlyArgParse()
VAL=$1
fi
;;
+ -embedded-lite|-qpa)
+ VAR=qpa
+ # this option may or may not be followed by an argument
+ if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
+ VAL=auto
+ else
+ shift;
+ VAL=$1
+ fi
+ ;;
+ -nacl)
+ shift;
+ VAR=nacl
+ VAL=$1
+ ;;
+
-h|help|--help|-help)
if [ "$VAL" = "yes" ]; then
OPT_HELP="$VAL"
@@ -319,12 +338,36 @@ earlyArgParse()
PLATFORM_X11=no
PLATFORM_MAC=no
PLATFORM_QWS=yes
+ PLATFORM_QPA=no
fi
else
echo "No license exists to enable Qt for Embedded Linux. Disabling."
CFG_EMBEDDED=no
fi
;;
+ qpa)
+ CFG_EMBEDDED="$VAL"
+ if [ "$PLATFORM_QPA" != "no" ]; then
+ if [ "$PLATFORM_QPA" = "maybe" ]; then
+ PLATFORM_X11=no
+ PLATFORM_MAC=no
+ PLATFORM_QWS=no
+ PLATFORM_QPA=yes
+ fi
+ else
+ echo "No license exists to enable Qt QPA. Disabling."
+ CFG_EMBEDDED=no
+ fi
+ ;;
+ nacl)
+ echo "Using NaCl at $VAL."
+ PLATFORM_X11=no
+ PLATFORM_MAC=no
+ PLATFORM_QWS=no
+ CFG_NACL_PATH=$VAL
+ CFG_EMBEDDED=nacl
+ ;;
+
developer-build)
CFG_DEV="yes"
;;
@@ -383,6 +426,7 @@ elif [ -f "$relpath"/LICENSE.PREVIEW.COMMERCIAL ] && [ $COMMERCIAL_USER = "yes"
elif [ $COMMERCIAL_USER = "yes" ]; then
# one of commercial editions
[ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
+ [ "$PLATFORM_QPA" = "maybe" ] && PLATFORM_QPA=no
[ "$PLATFORM_QWS" = "maybe" ] && PLATFORM_QWS=no
# read in the license file
@@ -475,6 +519,7 @@ elif [ $COMMERCIAL_USER = "yes" ]; then
PlatformCode=`echo "$PlatformCode" | sed 's/.$//'`
;;
esac
+ ### EMBEDDED_QPA logic missing ###
case "$PlatformCode,$PLATFORM_MAC,$PLATFORM_QWS" in
X9,* | XC,* | XU,* | XW,* | XM,*)
# Qt All-OS
@@ -784,8 +829,10 @@ L_FLAGS=
RPATH_FLAGS=
l_FLAGS=
QCONFIG_FLAGS=
-XPLATFORM= # This seems to be the QMAKESPEC, like "linux-g++" or "symbian/linux-gcce"
+XPLATFORM= # This seems to be the QMAKESPEC, like "linux-g++" or "symbian-gcce"
XPLATFORM_MINGW=no # Whether target platform is MinGW (win32-g++*)
+XPLATFORM_SYMBIAN=no # Whether target platform is SYMBIAN (*symbian*)
+XPLATFORM_SYMBIAN_SBSV2=no # Whether target platform is SYMBIAN_SBSV2 (symbian-sbsv2)
PLATFORM=$QMAKESPEC
QT_CROSS_COMPILE=no
OPT_CONFIRM_LICENSE=no
@@ -905,6 +952,44 @@ if [ -d "$relpath/src/plugins/gfxdrivers" ]; then
fi
#-------------------------------------------------------------------------------
+# Set Default NaCl options
+#-------------------------------------------------------------------------------
+if [ "$CFG_EMBEDDED" = "nacl" ]; then
+ echo "Setting NaCl options:"
+ echo "-static"
+ CFG_SHARED=no
+ echo "-qpa nacl"
+ PLATFORM_QPA=yes
+ echo "-fast"
+ OPT_FAST=yes
+ echo "-release"
+ CFG_DEBUG=no
+ echo "-qconfig minimal-system-dependencies"
+ CFG_QCONFIG=minimal-system-dependencies
+
+ if [ `uname` = "Linux" ]; then
+ I_FLAGS="$I_FLAGS -I${CFG_NACL_PATH}/toolchain/linux_x86/sdk/nacl-sdk/include"
+ L_FLAGS="$L_FLAGS -I${CFG_NACL_PATH}/toolchain/linux_x86/sdk/nacl-sdk/lib"
+ else
+ I_FLAGS="$I_FLAGS -I${CFG_NACL_PATH}/toolchain/mac_x86/sdk/nacl-sdk/include"
+ L_FLAGS="$L_FLAGS -I${CFG_NACL_PATH}/toolchain/mac_x86/sdk/nacl-sdk/lib"
+ fi
+
+ echo "-no-multimedia -no-webkit -no-phonon -no-nultimedia -no-mediaservices -no-xmlpatterns -no-script -no-sql-sqlite -nomake tests"
+ CFG_MULTIMEDIA=no
+ CFG_WEBKIT=no
+ CFG_PHONON=no
+ CFG_MULTIMEDIA=no
+ CFG_MEDIASERVICES=no
+ CFG_XMLPATTERNS=no
+ CFG_SCRIPT=no
+ CFG_SQLITE=no
+ CFG_SQL_sqlite=no
+ CFG_NOBUILD_PARTS="$CFG_NOBUILD_PARTS tests"
+ QT_CONFIG="$QT_CONFIG nacl"
+fi
+
+#-------------------------------------------------------------------------------
# parse command line arguments
#-------------------------------------------------------------------------------
@@ -964,7 +1049,7 @@ while [ "$#" -gt 0 ]; do
;;
#Qt style options that pass an argument
-qconfig)
- if [ "$PLATFORM_QWS" != "yes" ]; then
+ if [ "$PLATFORM_QWS" != "yes" -a "$PLATFORM_QPA" != "yes" ]; then
echo
echo "WARNING: -qconfig is only tested and supported on Qt for Embedded Linux."
echo
@@ -1004,6 +1089,20 @@ while [ "$#" -gt 0 ]; do
VAL=$1
fi
;;
+ -embedded-lite|-qpa)
+ VAR=qpa
+ # this option may or may not be followed by an argument
+ if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
+ VAL=auto
+ else
+ shift;
+ VAL=$1
+ fi
+ ;;
+ -nacl)
+ VAR=nacl
+ shift;
+ ;;
-opengl)
VAR=opengl
# this option may or may not be followed by an argument
@@ -1226,12 +1325,29 @@ while [ "$#" -gt 0 ]; do
PLATFORM_X11=no
PLATFORM_MAC=no
PLATFORM_QWS=yes
+ PLATFORM_QPA=no
fi
else
echo "No license exists to enable Qt for Embedded Linux. Disabling."
CFG_EMBEDDED=no
fi
;;
+ embedded-lite|qpa)
+ CFG_EMBEDDED="$VAL"
+ if [ "$PLATFORM_QPA" != "no" ]; then
+ if [ "$PLATFORM_QPA" = "maybe" ]; then
+ PLATFORM_X11=no
+ PLATFORM_MAC=no
+ PLATFORM_QWS=no
+ PLATFORM_QPA=yes
+ fi
+ else
+ echo "No license exists to enable Qt QPA. Disabling."
+ CFG_EMBEDDED=no
+ fi
+ ;;
+ nacl)
+ ;;
sse)
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
CFG_SSE="$VAL"
@@ -1339,6 +1455,8 @@ while [ "$#" -gt 0 ]; do
PLATFORM_MAC=no
elif [ "$PLATFORM_QWS" = "yes" ]; then
PLATFORM_QWS=no
+ elif [ "$PLATFORM_QPA" = "yes" ]; then
+ PLATFORM_QPA=no
fi
if [ "$CFG_FRAMEWORK" = "auto" ]; then
CFG_FRAMEWORK=no
@@ -1478,6 +1596,8 @@ while [ "$#" -gt 0 ]; do
xplatform)
XPLATFORM="$VAL"
case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac
+ case "$XPLATFORM" in *symbian*) XPLATFORM_SYMBIAN=yes;; esac
+ case "$XPLATFORM" in symbian-sbsv2) XPLATFORM_SYMBIAN_SBSV2=yes;; esac
;;
debug-and-release)
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
@@ -1556,8 +1676,7 @@ while [ "$#" -gt 0 ]; do
fi
;;
gif)
- [ "$VAL" = "qt" ] && VAL=auto
- if [ "$VAL" = "auto" ] || [ "$VAL" = "no" ]; then
+ if [ "$VAL" = "no" ]; then
CFG_GIF="$VAL"
else
UNKNOWN_OPT=yes
@@ -2263,6 +2382,11 @@ if [ "$CFG_GUI" = "no" ]; then
CFG_QT3SUPPORT="no"
fi
+#disable Qt3Support for Lighthouse
+if [ "$PLATFORM_QPA" = "yes" ]; then
+ CFG_QT3SUPPORT="no"
+fi
+
# update QT_CONFIG to show our current predefined configuration
case "$CFG_QCONFIG" in
minimal|small|medium|large|full)
@@ -2333,7 +2457,7 @@ if [ "$OPT_SHADOW" = "yes" ]; then
[ "$OPT_VERBOSE" = "yes" ] && echo "Performing shadow build..."
fi
-if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
+if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
echo
echo "WARNING: -debug-and-release is not supported anymore on Qt/X11 and Qt for Embedded Linux"
echo "Qt can be built in release mode with separate debug information, so"
@@ -2429,14 +2553,8 @@ if [ "$OPT_SHADOW" = "yes" ]; then
ShadowMkspecs()
{
rm -rf "$outpath/mkspecs/$1"
- if [ "$UNAME_SYSTEM" = "Linux" ]; then
- # This works with GNU coreutils, and is needed for ScratchBox
- cp -rs "$relpath/mkspecs/$1" "$outpath/mkspecs/$1"
- else
- # A simple "cp -rs" doesn't work on Mac. :(
- find "$relpath/mkspecs/$1" -type d | sed "s,^$relpath,$outpath," | xargs mkdir -p
- find "$relpath/mkspecs/$1" -type f | sed "s,^$relpath/,," | xargs -n 1 -I % ln -s "$relpath/%" "$outpath/%"
- fi
+ find "$relpath/mkspecs/$1" -type d | sed "s,^$relpath,$outpath," | xargs mkdir -p
+ find "$relpath/mkspecs/$1" -type f | sed "s,^$relpath/,," | while read f; do ln -s "$relpath/$f" "$outpath/$f"; done
}
# Special case for mkspecs/features directory.
@@ -2458,7 +2576,7 @@ if [ "$OPT_SHADOW" = "yes" ]; then
fi
# symlink fonts to be able to run application from build directory
-if [ "$PLATFORM_QWS" = "yes" ] && [ ! -d "${outpath}/lib/fonts" ]; then
+if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ] && [ ! -d "${outpath}/lib/fonts" ]; then
if [ "$PLATFORM" = "$XPLATFORM" ]; then
mkdir -p "${outpath}/lib"
ln -s "${relpath}/lib/fonts" "${outpath}/lib/fonts"
@@ -2498,6 +2616,7 @@ fi ### help
#-------------------------------------------------------------------------------
[ "$PLATFORM_QWS" = "yes" -a "$CFG_EMBEDDED" = "no" ] && CFG_EMBEDDED=auto
+[ "$PLATFORM_QPA" = "yes" -a "$CFG_EMBEDDED" = "no" ] && CFG_EMBEDDED=auto
if [ "$CFG_EMBEDDED" != "no" ]; then
case "$UNAME_SYSTEM:$UNAME_RELEASE" in
Darwin:*)
@@ -2572,6 +2691,7 @@ if [ "$CFG_EMBEDDED" != "no" ]; then
echo "Qt for Embedded Linux is not supported on this platform. Disabling."
CFG_EMBEDDED=no
PLATFORM_QWS=no
+ PLATFORM_QPA=no
;;
esac
fi
@@ -2740,7 +2860,7 @@ if [ -z "$PLATFORM" ]; then
esac
fi
-if [ "$PLATFORM_QWS" = "yes" ]; then
+if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
CFG_SM=no
PLATFORMS=`find "$relpath/mkspecs/qws" | sed "s,$relpath/mkspecs/qws/,,"`
else
@@ -2750,6 +2870,8 @@ fi
[ -z "$XPLATFORM" ] && XPLATFORM="$PLATFORM"
case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac
+case "$XPLATFORM" in *symbian*) XPLATFORM_SYMBIAN=yes;; esac
+case "$XPLATFORM" in symbian-sbsv2) XPLATFORM_SYMBIAN_SBSV2=yes;; esac
if [ -d "$PLATFORM" ]; then
QMAKESPEC="$PLATFORM"
@@ -3028,7 +3150,7 @@ if [ "$PLATFORM" != "$XPLATFORM" -a "$CFG_EMBEDDED" != "no" ]; then
esac
elif [ "$XPLATFORM_MINGW" = "yes" ]; then
[ -z "$CFG_ARCH" ] && CFG_ARCH="windows"
-elif echo "$XPLATFORM" | grep symbian > /dev/null; then
+elif [ "$XPLATFORM_SYMBIAN" = "yes" ]; then
CFG_ARCH=symbian
elif [ "$PLATFORM_MAC" = "yes" ] || [ -z "$CFG_ARCH" ]; then
CFG_ARCH=$CFG_HOST_ARCH
@@ -3068,9 +3190,9 @@ if [ "$CFG_HOST_ARCH" != "$CFG_ARCH" ]; then
fi
if [ "$OPT_VERBOSE" = "yes" ]; then
- echo "Target architecture: '$CFG_ARCH'"
- if [ "$PLATFORM_QWS" = "yes" ]; then
- echo "Host architecture: '$CFG_HOST_ARCH'"
+ echo "System architecture: '$CFG_ARCH'"
+ if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
+ echo "Host architecture: '$CFG_HOST_ARCH'"
fi
fi
@@ -3166,7 +3288,7 @@ QMAKE_CONF_COMPILER=`getQMakeConf "$XQMAKESPEC" | grep "^QMAKE_CXX[^_A-Z0-9]" |
TEST_COMPILER="$CXX"
[ -z "$TEST_COMPILER" ] && TEST_COMPILER=$QMAKE_CONF_COMPILER
-if [ "$XPLATFORM" != "symbian-sbsv2" ]; then
+if [ "$XPLATFORM_SYMBIAN_SBSV2" = "no" ]; then
#for Symbian we don't need this checking
if [ -z "$TEST_COMPILER" ]; then
echo "ERROR: Cannot set the compiler for the configuration tests"
@@ -3174,6 +3296,9 @@ if [ "$XPLATFORM" != "symbian-sbsv2" ]; then
fi
fi
+if [ "$CFG_EMBEDDED" = "nacl" ]; then
+ TEST_COMPILER="nacl-gcc"
+fi
# auto-detect precompiled header support
if [ "$CFG_PRECOMPILE" = "auto" ]; then
@@ -3328,24 +3453,25 @@ fi
if [ -z "$QT_INSTALL_PREFIX" ]; then
if [ "$CFG_DEV" = "yes" ]; then
QT_INSTALL_PREFIX="$outpath" # In Development, we use sandboxed builds by default
- elif [ "$PLATFORM_QWS" = "yes" ]; then
- QT_INSTALL_PREFIX="/usr/local/Trolltech/QtEmbedded-${QT_VERSION}"
+ elif [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
+ if [ "$PLATFORM_QPA" = "yes" ]; then
+ QT_INSTALL_PREFIX="/usr/local/Trolltech/QtLighthouse-${QT_VERSION}"
+ else
+ QT_INSTALL_PREFIX="/usr/local/Trolltech/QtEmbedded-${QT_VERSION}"
+ fi
if [ "$PLATFORM" != "$XPLATFORM" ]; then
QT_INSTALL_PREFIX="${QT_INSTALL_PREFIX}-${CFG_ARCH}"
fi
- elif [ -d "$EPOCROOT" ]; then
- case "$XPLATFORM" in *symbian*)
- QT_INSTALL_PREFIX="$EPOCROOT/epoc32/"
- QT_INSTALL_LIBS="$EPOCROOT/epoc32/release/armv5/lib/"
- ;;
- esac
+ elif [ -d "$EPOCROOT" ] && [ "$XPLATFORM_SYMBIAN" = "yes" ]; then
+ QT_INSTALL_PREFIX="$EPOCROOT/epoc32/"
+ QT_INSTALL_LIBS="$EPOCROOT/epoc32/release/armv5/lib/"
else
QT_INSTALL_PREFIX="/usr/local/Trolltech/Qt-${QT_VERSION}" # the default install prefix is /usr/local/Trolltech/Qt-$QT_VERSION
fi
fi
QT_INSTALL_PREFIX=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PREFIX"`
-if echo $XPLATFORM | grep symbian > /dev/null; then
+if [ "$XPLATFORM_SYMBIAN" = "yes" ]; then
[ -z "$QT_HOST_PREFIX" ] && QT_HOST_PREFIX="$QT_INSTALL_PREFIX"
[ -z "$QT_INSTALL_DOCS" ] && QT_INSTALL_DOCS=
[ -z "$QT_INSTALL_HEADERS" ] && QT_INSTALL_HEADERS=
@@ -3541,14 +3667,14 @@ Usage: $relconf [-h] [-prefix <dir>] [-prefix-install] [-bindir <dir>] [-libdir
[-accessibility] [-no-stl] [-stl] [-no-sql-<driver>] [-sql-<driver>]
[-plugin-sql-<driver>] [-system-sqlite] [-no-qt3support] [-qt3support]
[-platform] [-D <string>] [-I <string>] [-L <string>] [-help]
- [-qt-zlib] [-system-zlib] [-no-gif] [-qt-gif] [-no-libtiff] [-qt-libtiff] [-system-libtiff]
+ [-qt-zlib] [-system-zlib] [-no-gif] [-no-libtiff] [-qt-libtiff] [-system-libtiff]
[-no-libpng] [-qt-libpng] [-system-libpng] [-no-libmng] [-qt-libmng]
[-system-libmng] [-no-libjpeg] [-qt-libjpeg] [-system-libjpeg] [-make <part>]
[-nomake <part>] [-R <string>] [-l <string>] [-no-rpath] [-rpath] [-continue]
[-verbose] [-v] [-silent] [-no-nis] [-nis] [-no-cups] [-cups] [-no-iconv]
[-iconv] [-no-pch] [-pch] [-no-dbus] [-dbus] [-dbus-linked] [-no-gui]
[-no-separate-debug-info] [-no-mmx] [-no-3dnow] [-no-sse] [-no-sse2]
- [-no-sse3] [-no-ssse3] [-no-sse4.1] [-no-sse4.2] [-no-avx]
+ [-no-sse3] [-no-ssse3] [-no-sse4.1] [-no-sse4.2] [-no-avx] [-no-neon]
[-qtnamespace <namespace>] [-qtlibinfix <infix>] [-separate-debug-info] [-armfpa]
[-no-optimized-qmake] [-optimized-qmake] [-no-xmlpatterns] [-xmlpatterns]
[-no-multimedia] [-multimedia] [-no-phonon] [-phonon] [-no-phonon-backend] [-phonon-backend]
@@ -3568,7 +3694,7 @@ Installation options:
-prefix <dir> ...... This will install everything relative to <dir>
(default $QT_INSTALL_PREFIX)
EOF
-if [ "$PLATFORM_QWS" = "yes" ]; then
+if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
cat <<EOF
-hostprefix [dir] .. Tools and libraries needed when developing
@@ -3647,7 +3773,7 @@ Configure options:
+ -largefile ......... Enables Qt to access files larger than 4 GB.
EOF
-if [ "$PLATFORM_QWS" = "yes" ]; then
+if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
EXCN="*"
EXCY=" "
else
@@ -3752,6 +3878,7 @@ cat << EOF
-no-sse4.1.......... Do not compile with use of SSE4.1 instructions.
-no-sse4.2.......... Do not compile with use of SSE4.2 instructions.
-no-avx ............ Do not compile with use of AVX instructions.
+ -no-neon ........... Do not compile with use of NEON instructions.
-qtnamespace <name> Wraps all Qt library code in 'namespace <name> {...}'.
-qtlibinfix <infix> Renames all libQt*.so to libQt*<infix>.so.
@@ -3769,8 +3896,6 @@ Third Party Libraries:
See http://www.gzip.org/zlib
-no-gif ............ Do not compile GIF reading support.
- * -qt-gif ............ Compile GIF reading support.
- See also src/gui/image/qgifhandler_p.h
-no-libtiff ........ Do not compile TIFF support.
-qt-libtiff ........ Use the libtiff bundled with Qt.
@@ -3866,7 +3991,7 @@ else
SBN="*"
fi
-if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" ]; then
+if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
cat << EOF
@@ -4096,7 +4221,7 @@ Qt/Mac only:
EOF
fi
-if [ "$PLATFORM_QWS" = "yes" ]; then
+if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
cat << EOF
Qt for Embedded Linux only:
@@ -4111,6 +4236,10 @@ Qt for Embedded Linux only:
proper license for this switch to work.
Example values for <arch>: arm mips x86 generic
+ -qpa <arch> ......... This will enable the QPA build.
+ Example values for <arch>: arm mips x86 generic
+ QPA is a window system agnostic implementation of Qt.
+
-armfpa ............. Target platform uses the ARM-FPA floating point format.
-no-armfpa .......... Target platform does not use the ARM-FPA floating point format.
@@ -4183,13 +4312,11 @@ Qt for Embedded Linux only:
-iwmmxt ............ Compile using the iWMMXt instruction set
(available on some XScale CPUs).
-
- -no-neon ........... Do not compile with use of NEON instructions.
EOF
fi
-if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_X11" = "yes" ]; then
+if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" -o "$PLATFORM_X11" = "yes" ]; then
if [ "$CFG_GLIB" = "no" ]; then
GBY=" "
GBN="+"
@@ -4204,7 +4331,7 @@ if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_X11" = "yes" ]; then
EOF
fi
-case "$XPLATFORM" in *symbian*)
+if [ "$XPLATFORM_SYMBIAN" = "yes" ]; then
cat << EOF
Qt for Symbian only:
@@ -4216,9 +4343,7 @@ Qt for Symbian only:
-no-usedeffiles .... Disable the usage of DEF files.
* -usedeffiles ....... Enable the usage of DEF files.
EOF
-;;
-esac
-
+fi
[ "x$ERROR" = "xyes" ] && exit 1
exit 0
fi # Help
@@ -4228,12 +4353,12 @@ fi # Help
# LICENSING, INTERACTIVE PART
# -----------------------------------------------------------------------------
-if [ "$PLATFORM_QWS" = "yes" ]; then
+if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
Platform="Qt for Embedded Linux"
+elif [ "$XPLATFORM_SYMBIAN" = "yes" ]; then
+ Platform="Qt for Symbian"
elif [ "$PLATFORM_MAC" = "yes" ]; then
Platform="Qt for Mac OS X"
-elif echo "$XPLATFORM" | grep "symbian" > /dev/null ; then
- Platform="Qt for Symbian"
elif [ "$XPLATFORM_MINGW" = "yes" ]; then
Platform="Qt for Windows"
elif [ '!' -z "`getQMakeConf \"$XQMAKESPEC\" | grep QMAKE_LIBS_X11 | awk '{print $3;}'`" ]; then
@@ -4568,27 +4693,37 @@ fi
# $2: optional transformation
# relies on $QMAKESPEC, $COMPILER_CONF and $mkfile being set correctly, as the latter
# is where the resulting variable is written to
+# Assumes that the optional transformation produces the same variable name for each hit
setBootstrapVariable()
{
getQMakeConf | $AWK '/^('"$1"')[^_A-Z0-9]/ { print $0; }' | ( [ -n "$2" ] && sed "$2" ; [ -z "$2" ] && cat ) | $AWK '
+BEGIN {
+ variable = ""
+ combinedValue = ""
+}
{
- varLength = index($0, "=") - 1
- valStart = varLength + 2
- if (substr($0, varLength, 1) == "+") {
- varLength = varLength - 1
- valStart = valStart + 1
+ valStart = index($0, "=") + 1
+
+ append = 0
+ if (substr($0, valStart - 2, 1) == "+") {
+ append = 1
+ }
+
+ variable = substr($0, 0, valStart - 2 - append)
+ value = substr($0, valStart)
+ gsub("[ \t]+", "", variable)
+ gsub("^[ \t]+", "", value)
+ gsub("[ \t]+$", "", value)
+
+ if (append == 1 && length(combinedValue) > 0) {
+ combinedValue = combinedValue " " value
+ } else {
+ combinedValue = value
}
- var = substr($0, 0, varLength)
- gsub("[ \t]+", "", var)
- val = substr($0, valStart)
- printf "%s_%s = %s\n", var, NR, val
}
END {
- if (length(var) > 0) {
- printf "%s =", var
- for (i = 1; i <= NR; ++i)
- printf " $(%s_%s)", var, i
- printf "\n"
+ if (length(combinedValue) > 0) {
+ printf "%s = %s\n", variable, combinedValue
}
}' >> "$mkfile"
}
@@ -4618,7 +4753,7 @@ if true; then ###[ '!' -f "$outpath/bin/qmake" ];
#mkspecs/default is used as a (gasp!) default mkspec so QMAKESPEC needn't be set once configured
rm -rf mkspecs/default
- if echo "$XPLATFORM" | grep "symbian-sbsv2" > /dev/null ; then
+ if [ "$XPLATFORM_SYMBIAN_SBSV2" = "yes" ]; then
#Link is not supported for Symbian build system
cp -a mkspecs/`echo $XQMAKESPEC | sed "s,^${relpath}/mkspecs/,,"` mkspecs/default
else
@@ -4691,7 +4826,7 @@ if true; then ###[ '!' -f "$outpath/bin/qmake" ];
EXTRA_LFLAGS="\$(QMAKE_LFLAGS_RPATH)\"$rpath\" $EXTRA_LFLAGS"
done
fi
- if [ "$PLATFORM_MAC" = "yes" ]; then
+ if [ "$BUILD_ON_MAC" = "yes" ]; then
echo "export MACOSX_DEPLOYMENT_TARGET = 10.4" >> "$mkfile"
echo "CARBON_LFLAGS =-framework ApplicationServices" >>"$mkfile"
echo "CARBON_CFLAGS =-fconstant-cfstrings" >>"$mkfile"
@@ -4870,33 +5005,12 @@ if [ "$CFG_ARCH" = "arm" ] && [ "${CFG_NEON}" = "auto" ]; then
fi
fi
-# detect zlib
-if [ "$CFG_ZLIB" = "no" ]; then
- # Note: Qt no longer support builds without zlib
- # So we force a "no" to be "auto" here.
- # If you REALLY really need no zlib support, you can still disable
- # it by doing the following:
- # add "no-zlib" to mkspecs/qconfig.pri
- # #define QT_NO_COMPRESS (probably by adding to src/corelib/global/qconfig.h)
- #
- # There's no guarantee that Qt will build under those conditions
-
- CFG_ZLIB=auto
- ZLIB_FORCED=yes
-fi
-if [ "$CFG_ZLIB" = "auto" ]; then
- if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/zlib "zlib" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
- CFG_ZLIB=system
- else
- CFG_ZLIB=yes
- fi
-fi
-
[ "$XPLATFORM_MINGW" = "yes" ] && QMakeVar add styles "windowsxp windowsvista"
-case "$XPLATFORM" in *symbian*)
+if [ "$XPLATFORM_SYMBIAN" = "yes" ]; then
QMakeVar set styles "windows s60" #overwrite previous default
CFG_LIBFREETYPE=no
+ CFG_ZLIB=yes
if [ "$CFG_LARGEFILE" = auto ]; then
CFG_LARGEFILE=no
@@ -4911,7 +5025,7 @@ case "$XPLATFORM" in *symbian*)
exit 1
fi
- if ! echo $XPLATFORM | grep symbian-sbsv2 > /dev/null; then
+ if [ "$XPLATFORM_SYMBIAN_SBSV2" = "no" ]; then
# Raptor does not support configure tests.
# the main commands needed to compile;
@@ -4935,8 +5049,29 @@ case "$XPLATFORM" in *symbian*)
exit 1;
fi
fi
- ;;
-esac
+fi
+
+# detect zlib
+if [ "$CFG_ZLIB" = "no" ]; then
+ # Note: Qt no longer support builds without zlib
+ # So we force a "no" to be "auto" here.
+ # If you REALLY really need no zlib support, you can still disable
+ # it by doing the following:
+ # add "no-zlib" to mkspecs/qconfig.pri
+ # #define QT_NO_COMPRESS (probably by adding to src/corelib/global/qconfig.h)
+ #
+ # There's no guarantee that Qt will build under those conditions
+
+ CFG_ZLIB=auto
+ ZLIB_FORCED=yes
+fi
+if [ "$CFG_ZLIB" = "auto" ]; then
+ if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/zlib "zlib" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
+ CFG_ZLIB=system
+ else
+ CFG_ZLIB=yes
+ fi
+fi
if [ "$CFG_LARGEFILE" = "auto" ]; then
#Large files should be enabled for all Linux systems
@@ -4945,7 +5080,7 @@ fi
if [ "$CFG_S60" = "auto" ]; then
- if echo "$XPLATFORM" | grep symbian > /dev/null; then
+ if [ "$XPLATFORM_SYMBIAN" = "yes" ]; then
CFG_S60=yes
else
CFG_S60=no
@@ -4953,7 +5088,7 @@ if [ "$CFG_S60" = "auto" ]; then
fi
if [ "$CFG_QS60STYLE" = "auto" ]; then
- if echo "$XPLATFORM" | grep symbian > /dev/null; then
+ if [ "$XPLATFORM_SYMBIAN" = "yes" ]; then
CFG_QS60STYLE=qt
else
CFG_QS60STYLE=no
@@ -4961,7 +5096,7 @@ if [ "$CFG_QS60STYLE" = "auto" ]; then
fi
if [ "$CFG_SYMBIAN_DEFFILES" = "auto" ]; then
- if echo "$XPLATFORM" | grep symbian > /dev/null && [ "$CFG_DEV" = "no" ]; then
+ if [ "$XPLATFORM_SYMBIAN" = "yes" ] && [ "$CFG_DEV" = "no" ]; then
CFG_SYMBIAN_DEFFILES=yes
else
CFG_SYMBIAN_DEFFILES=no
@@ -5040,14 +5175,12 @@ fi
# detect accessibility
if [ "$CFG_ACCESSIBILITY" = "auto" ]; then
- case "$XPLATFORM" in
- symbian*)
+ if [ "$XPLATFORM_SYMBIAN" = "yes" ]; then
# accessibility is currently unsupported
CFG_ACCESSIBILITY=no
- ;;
- *)
+ else
CFG_ACCESSIBILITY=yes
- esac
+ fi
fi
# auto-detect SQL-modules support
@@ -5259,15 +5392,13 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do
;;
sqlite)
if [ "$CFG_SQL_sqlite" = "auto" ]; then # the default
- case "$XPLATFORM" in
- symbian*)
+ if [ "$XPLATFORM_SYMBIAN" = "yes" ]; then
# sqlite on symbian is typically not build in Qt but deployed as a pre-existing sis file and should be marked as driver.
# Configuration parameters should be set
CFG_SQL_sqlite=qt
QT_LFLAGS_SQLITE=-lsqlite3
QMAKE_CONFIG="$QMAKE_CONFIG system-sqlite"
- ;;
- esac
+ fi
fi
if [ "$CFG_SQL_sqlite" != "no" ]; then
SQLITE_AUTODETECT_FAILED="no"
@@ -5347,7 +5478,7 @@ fi
# auto-detect iconv(3) support
if [ "$CFG_ICONV" != "no" ]; then
- if [ "$PLATFORM_QWS" = "yes" ]; then
+ if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
CFG_ICONV=no
elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" "$OPT_VERBOSE" "$relpath" "$outpath" "config.tests/unix/iconv" "POSIX iconv" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
CFG_ICONV=yes
@@ -5409,8 +5540,8 @@ if [ "$PLATFORM_MAC" = "yes" -a ! -z "$QT_NAMESPACE" ]; then
QT_NAMESPACE_MAC_CRC=`"$mactests/crc.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/mac/crc $QT_NAMESPACE $L_FLAGS $I_FLAGS $l_FLAGS`
fi
-# X11/QWS
-if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" ]; then
+# X11/QWS/Lighthouse
+if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
# auto-detect Glib support
if [ "$CFG_GLIB" != "no" ]; then
@@ -5544,7 +5675,7 @@ if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" ]; then
fi
fi
fi
-fi # X11/QWS
+fi # X11/QWS/Lighthouse
# X11
if [ "$PLATFORM_X11" = "yes" ]; then
@@ -5958,6 +6089,84 @@ if [ "$PLATFORM_MAC" = "yes" ]; then
fi
fi
+
+if [ "$PLATFORM_QPA" = "yes" ]; then
+ # auto-detect OpenGL support (es1 = OpenGL ES 1.x Common, es2 = OpenGL ES 2.x)
+ if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
+ if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengldesktop "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
+ CFG_OPENGL=desktop
+ elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS; then
+ CFG_OPENGL=es2
+ elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles1 "OpenGL ES 1.x" $L_FLAGS $I_FLAGS $l_FLAGS; then
+ CFG_OPENGL=es1
+ else
+ if [ "$CFG_OPENGL" = "yes" ]; then
+ echo "All the OpenGL functionality tests failed!"
+ echo " You might need to modify the include and library search paths by editing"
+ echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
+ echo " ${XQMAKESPEC}."
+ exit 1
+ fi
+ CFG_OPENGL=no
+ fi
+ elif [ "$CFG_OPENGL" = "es1" ]; then
+ # OpenGL ES 1.x
+ "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles1 "OpenGL ES 1.x" $L_FLAGS $I_FLAGS $l_FLAGS
+ if [ $? != "0" ]; then
+ echo "The OpenGL ES 1.x functionality test failed!"
+ echo " You might need to modify the include and library search paths by editing"
+ echo " QMAKE_INCDIR_OPENGL_ES1, QMAKE_LIBDIR_OPENGL_ES1 and QMAKE_LIBS_OPENGL_ES1 in"
+ echo " ${XQMAKESPEC}."
+ exit 1
+ fi
+ elif [ "$CFG_OPENGL" = "es2" ]; then
+ #OpenGL ES 2.x
+ "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS
+ if [ $? != "0" ]; then
+ echo "The OpenGL ES 2.0 functionality test failed!"
+ echo " You might need to modify the include and library search paths by editing"
+ echo " QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in"
+ echo " ${XQMAKESPEC}."
+ exit 1
+ fi
+ elif [ "$CFG_OPENGL" = "desktop" ]; then
+ # Desktop OpenGL support
+ "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengldesktop "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
+ if [ $? != "0" ]; then
+ echo "The OpenGL functionality test failed!"
+ echo " You might need to modify the include and library search paths by editing"
+ echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
+ echo " ${XQMAKESPEC}."
+ exit 1
+ fi
+ fi
+
+ # auto-detect FontConfig support
+ if [ "$CFG_FONTCONFIG" != "no" ]; then
+ if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists fontconfig --exists freetype2 2>/dev/null; then
+ QT_CFLAGS_FONTCONFIG=`$PKG_CONFIG --cflags fontconfig --cflags freetype2 2>/dev/null`
+ QT_LIBS_FONTCONFIG=`$PKG_CONFIG --libs fontconfig --libs freetype2 2>/dev/null`
+ else
+ QT_CFLAGS_FONTCONFIG=
+ QT_LIBS_FONTCONFIG="-lfreetype -lfontconfig"
+ fi
+ if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/fontconfig "FontConfig" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS $QT_CFLAGS_FONTCONFIG $QT_LIBS_FONTCONFIG; then
+ QT_CONFIG="$QT_CONFIG fontconfig"
+ QMakeVar set QMAKE_CFLAGS_FONTCONFIG "$QT_CFLAGS_FONTCONFIG"
+ QMakeVar set QMAKE_LIBS_FONTCONFIG "$QT_LIBS_FONTCONFIG"
+ CFG_LIBFREETYPE=system
+ fi
+ fi
+
+ if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/mac/coreservices "CoreServices" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
+ QT_CONFIG="$QT_CONFIG coreservices"
+ else
+ QMakeVar add DEFINES QT_NO_CORESERVICES
+ fi
+
+fi
+
+
# QWS
if [ "$PLATFORM_QWS" = "yes" ]; then
@@ -5976,7 +6185,7 @@ if [ "$PLATFORM_QWS" = "yes" ]; then
CFG_EGL=auto
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS; then
CFG_OPENGL=es2
- elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles1 "OpenGL ES 1.x" $L_FLAGS $I_FLAGS $l_FLAGS; then
+ elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles1 "OpenGL ES 1.x" $L_FLAGS $I_FLAGS $l_FLAGS; then
CFG_OPENGL=es1
else
echo "All the OpenGL ES functionality tests failed!"
@@ -6012,6 +6221,9 @@ if [ "$PLATFORM_QWS" = "yes" ]; then
echo "Desktop OpenGL support is not avaliable on Qt for Embedded Linux"
exit 1
fi
+fi
+
+if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
# screen drivers
for screen in ${CFG_GFX_ON} ${CFG_GFX_PLUGIN}; do
@@ -6138,10 +6350,10 @@ fi
if [ "$CFG_ENDIAN" = "auto" ]; then
if [ "$XPLATFORM_MINGW" = "yes" ]; then
CFG_ENDIAN="Q_LITTLE_ENDIAN"
- elif [ "$PLATFORM_MAC" = "yes" ]; then
- true #leave as auto
- elif [ "$XPLATFORM" = "symbian-sbsv2" ]; then
+ elif [ "$XPLATFORM_SYMBIAN_SBSV2" = "yes" ]; then
CFG_ENDIAN="Q_LITTLE_ENDIAN"
+ elif [ "$PLATFORM_MAC" = "yes" ] && [ "$XPLATFORM_SYMBIAN" = "no" ]; then
+ true #leave as auto
else
"$unixtests/endian.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
F="$?"
@@ -6195,7 +6407,7 @@ fi
if [ "$CFG_DOUBLEFORMAT" = "auto" ]; then
- if [ "$PLATFORM_QWS" != "yes" ]; then
+ if [ "$PLATFORM_QWS" != "yes" -o "$PLATFORM_QPA" = "yes" ]; then
CFG_DOUBLEFORMAT=normal
else
"$unixtests/doubleformat.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
@@ -6227,7 +6439,7 @@ if [ "$CFG_DOUBLEFORMAT" = "auto" ]; then
fi
HAVE_STL=no
-if echo "$XPLATFORM" | grep symbian > /dev/null || "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/stl "STL" $L_FLAGS $I_FLAGS $l_FLAGS; then
+if [ "$XPLATFORM_SYMBIAN" = "yes" ] || "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/stl "STL" $L_FLAGS $I_FLAGS $l_FLAGS; then
HAVE_STL=yes
fi
@@ -6254,7 +6466,7 @@ if [ "$CFG_IPV6" != "no" ]; then
# Therefore for 4.7.1 and following we disable it until OpenC either supports it or we have the native Qt
# symbian socket engine.
#
- if echo "$XPLATFORM" | grep symbian > /dev/null; then
+ if [ "$XPLATFORM_SYMBIAN" = "yes" ]; then
CFG_IPV6=no
elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/ipv6 "IPv6" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
CFG_IPV6=yes
@@ -6369,7 +6581,7 @@ if [ "$CFG_GETIFADDRS" != "no" ]; then
fi
# detect OpenSSL
-if [ "$CFG_OPENSSL" != "no" ] && [ "$XPLATFORM" != "symbian-sbsv2" ]; then
+if [ "$CFG_OPENSSL" != "no" ] && [ "$XPLATFORM_SYMBIAN_SBSV2" = "no" ]; then
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/openssl "OpenSSL" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
if [ "$CFG_OPENSSL" = "auto" ]; then
CFG_OPENSSL=yes
@@ -6386,14 +6598,14 @@ if [ "$CFG_OPENSSL" != "no" ] && [ "$XPLATFORM" != "symbian-sbsv2" ]; then
fi
fi
else
- if [ "$CFG_OPENSSL" = "auto" ] && [ "$XPLATFORM" = "symbian-sbsv2" ]; then
+ if [ "$CFG_OPENSSL" = "auto" ] && [ "$XPLATFORM_SYMBIAN_SBSV2" = "yes" ]; then
#OpenSSl should be enabled for Symbian release
CFG_OPENSSL=yes
fi
fi
# detect OpenVG support
-if [ "$CFG_OPENVG" != "no" ] && [ "$XPLATFORM" != "symbian-sbsv2" ]; then
+if [ "$CFG_OPENVG" != "no" ] && [ "$XPLATFORM_SYMBIAN_SBSV2" = "no" ]; then
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" "config.tests/unix/openvg" "OpenVG" $L_FLAGS $I_FLAGS $l_FLAGS $CONFIG_ARG; then
if [ "$CFG_OPENVG" = "auto" ]; then
CFG_OPENVG=yes
@@ -6450,13 +6662,13 @@ if [ "$CFG_PTMALLOC" != "no" ]; then
QMakeVar add QMAKE_LFLAGS "$outpath/lib/libptmalloc3.a"
fi
-if [ "$CFG_ALSA" = "auto" ] && [ "$XPLATFORM" != "symbian-sbsv2" ]; then
+if [ "$CFG_ALSA" = "auto" ] && [ "$XPLATFORM_SYMBIAN_SBSV2" = "no" ]; then
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/alsa "alsa" $L_FLAGS $I_FLAGS $l_FLAGS; then
CFG_ALSA=yes
else
CFG_ALSA=no
fi
-elif [ "$XPLATFORM" = "symbian-sbsv2" ]; then
+elif [ "$XPLATFORM_SYMBIAN_SBSV2" = "yes" ]; then
# Disabled for Symbian release
CFG_ALSA=no
fi
@@ -6477,7 +6689,7 @@ elif [ "$CFG_JAVASCRIPTCORE_JIT" = "no" ]; then
fi
if [ "$CFG_AUDIO_BACKEND" = "auto" ]; then
- if echo "$XPLATFORM" | grep symbian > /dev/null 2>&1; then
+ if [ "$XPLATFORM_SYMBIAN" = "yes" ]; then
if "$symbiantests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/symbian/audio "audio" $L_FLAGS $I_FLAGS $l_FLAGS ; then
CFG_AUDIO_BACKEND=yes
fi
@@ -6489,7 +6701,7 @@ fi
if [ "$CFG_LARGEFILE" != "yes" ] && [ "$XPLATFORM_MINGW" = "yes" ]; then
echo "Warning: largefile support cannot be disabled for win32."
CFG_LARGEFILE="yes"
-elif [ "$CFG_LARGEFILE" != "no" ] && echo "$XPLATFORM" | grep "symbian" > /dev/null; then
+elif [ "$CFG_LARGEFILE" != "no" ] && [ "$XPLATFORM_SYMBIAN" = "yes" ]; then
echo "Warning: largefile support cannot be enabled for symbian."
CFG_LARGEFILE="no"
fi
@@ -6499,7 +6711,12 @@ fi
#-------------------------------------------------------------------------------
### fix this: user input should be validated in a loop
-if [ "$CFG_QWS_DEPTHS" = "prompted" -a "$PLATFORM_QWS" = "yes" ]; then
+if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
+ PROMPT_FOR_DEPTHS="yes"
+else
+ PROMPT_FOR_DEPTHS="no"
+fi
+if [ "$CFG_QWS_DEPTHS" = "prompted" -a "$PROMPT_FOR_DEPTHS" = "yes" ]; then
echo
echo "Choose pixel-depths to support:"
echo
@@ -6596,8 +6813,9 @@ if [ "$PLATFORM_MAC" = "yes" ]; then
fi
fi
-# but disable Cocoa if cross-building for mingw
+# but disable Cocoa if cross-building for mingw and symbian
[ "$XPLATFORM_MINGW" = "yes" ] && CFG_MAC_COCOA="no"
+[ "$XPLATFORM_SYMBIAN" = "yes" ] && CFG_MAC_COCOA="no"
# set the global Mac deployment target. This is overridden on an arch-by-arch basis
# in some cases, see code further down
@@ -6641,6 +6859,11 @@ else
QT_CONFIG="$QT_CONFIG accessibility"
fi
+# egl stuff does not belong in lighthouse, but rather in plugins
+if [ "$PLATFORM_QPA" = "yes" ]; then
+ CFG_EGL="no"
+fi
+
# enable egl
if [ "$CFG_EGL" = "no" ]; then
QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EGL"
@@ -6675,11 +6898,9 @@ else
fi
# Disable OpenGL on Symbian.
-case "$XPLATFORM" in
- symbian*)
+if [ "$XPLATFORM_SYMBIAN" = "yes" ]; then
CFG_OPENGL="no"
- ;;
-esac
+fi
# enable opengl
if [ "$CFG_OPENGL" = "no" ]; then
@@ -6689,8 +6910,12 @@ else
fi
if [ "$CFG_OPENGL" = "es1" ] || [ "$CFG_OPENGL" = "es2" ]; then
- if [ "$PLATFORM_QWS" = "yes" ]; then
- QCONFIG_FLAGS="$QCONFIG_FLAGS Q_BACKINGSTORE_SUBSURFACES"
+ if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
+ if [ "$PLATFORM_QWS" = "yes" ]; then
+ QCONFIG_FLAGS="$QCONFIG_FLAGS Q_BACKINGSTORE_SUBSURFACES"
+ else
+ echo "### Q_BACKINGSTORE_SUBSURFACES disabled, re-enable once it compiles again"
+ fi
QCONFIG_FLAGS="$QCONFIG_FLAGS Q_USE_EGLWINDOWSURFACE"
fi
QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES"
@@ -6732,6 +6957,19 @@ if [ "$PLATFORM_QWS" = "yes" ]; then
QT_CONFIG="$QT_CONFIG embedded"
rm -f "src/.moc/$QMAKE_OUTDIR/allmoc.cpp" # needs remaking if config changes
fi
+if [ "$PLATFORM_QPA" = "yes" ]; then
+ QMAKE_OUTDIR="${QMAKE_OUTDIR}-emb-$CFG_EMBEDDED"
+ QMAKE_CONFIG="$QMAKE_CONFIG qpa"
+ QT_CONFIG="$QT_CONFIG qpa"
+ rm -f "src/.moc/$QMAKE_OUTDIR/allmoc.cpp" # needs remaking if config changes
+fi
+
+if [ "$CFG_EMBEDDED" = "nacl" ]; then
+ QMAKE_CONFIG="$QMAKE_CONFIG nacl pepper"
+ QT_CONFIG="$QT_CONFIG nacl pepper"
+ rm -f "src/.moc/$QMAKE_OUTDIR/allmoc.cpp" # needs remaking if config changes
+fi
+
if [ "$XPLATFORM_MINGW" != "yes" ]; then
# Do not set this here for Windows. Let qmake do it so
# debug and release precompiled headers are kept separate.
@@ -6863,7 +7101,7 @@ else
fi
-if [ "x$PLATFORM_MAC" = "xyes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
+if [ "x$PLATFORM_MAC" = "xyes" ] && [ "$XPLATFORM_MINGW" != "yes" ] && [ "$XPLATFORM_SYMBIAN" != "yes" ]; then
#On Mac we implicitly link against libz, so we
#never use the 3rdparty stuff.
[ "$CFG_ZLIB" = "yes" ] && CFG_ZLIB="system"
@@ -6990,7 +7228,7 @@ if [ '!' -z "$I_FLAGS" ]; then
fi
# turn off exceptions for the compilers that support it
-if [ "$PLATFORM_QWS" = "yes" ]; then
+if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
COMPILER=`echo $XPLATFORM | cut -f 3- -d-`
elif [ "$XPLATFORM" != "$PLATFORM" ]; then
COMPILER=`echo $XPLATFORM | cut -f 2- -d-`
@@ -7429,7 +7667,7 @@ esac
# ipv6
#
# X11 : x11sm xinerama xcursor xfixes xrandr xrender mitshm fontconfig xkb
-# Embedded: embedded freetype
+# Embedded: embedded qpa freetype
#
ALL_OPTIONS=
BUILD_CONFIG=
@@ -7502,14 +7740,11 @@ rm -f .options
BUILD_OPTIONS="$BUILD_CONFIG $BUILD_OPTIONS"
# extract the operating system from the XPLATFORM
TARGET_OPERATING_SYSTEM=`echo $XPLATFORM | cut -f 2- -d/ | cut -f -1 -d-`
-case "$XPLATFORM" in
-symbian*)
+if [ "$XPLATFORM_SYMBIAN" = "yes" ]; then
QT_BUILD_KEY_SYSTEM_PART="Symbian"
- ;;
-*)
+else
QT_BUILD_KEY_SYSTEM_PART="$CFG_ARCH $TARGET_OPERATING_SYSTEM $COMPILER"
- ;;
-esac
+fi
# when cross-compiling, don't include build-host information (build key is target specific)
QT_BUILD_KEY="$CFG_USER_BUILD_KEY $QT_BUILD_KEY_SYSTEM_PART $BUILD_OPTIONS"
@@ -7768,6 +8003,11 @@ if [ "$PLATFORM_QWS" = "yes" ]; then
done
fi # QWS
+if [ "$PLATFORM_QPA" = "yes" ]; then
+ # Add QPA to config.h
+ QCONFIG_FLAGS="$QCONFIG_FLAGS Q_WS_QPA QT_NO_QWS_QPF QT_NO_QWS_QPF2"
+fi
+
if [ "${CFG_USE_FLOATMATH}" = "yes" ]; then
QCONFIG_FLAGS="${QCONFIG_FLAGS} QT_USE_MATH_H_FLOATS"
fi
@@ -7856,8 +8096,7 @@ fi
[ '!' -z "$AWK" ] && QCONFIG_FLAGS=`echo $QCONFIG_FLAGS | $AWK '{ gsub(" ", "\n"); print }' | sort | uniq`
QCONFIG_FLAGS=`echo $QCONFIG_FLAGS`
-if echo $XPLATFORM | grep symbian >/dev/null
-then
+if [ "$XPLATFORM_SYMBIAN" = "yes" ]; then
# Enable Symbian DLLs and export rules.
# We cannot use Linux's default export rules since they export everything.
QCONFIG_FLAGS="$QCONFIG_FLAGS QT_DLL"
@@ -7937,7 +8176,7 @@ else
mv "$outpath/src/corelib/global/qconfig.h.new" "$outpath/src/corelib/global/qconfig.h"
chmod -w "$outpath/src/corelib/global/qconfig.h"
for conf in "$outpath/include/QtCore/qconfig.h" "$outpath/include/Qt/qconfig.h"; do
- if echo "$XPLATFORM" | grep "symbian-sbsv2" > /dev/null 2>&1 ; then
+ if [ "$XPLATFORM_SYMBIAN_SBSV2" = "yes" ]; then
[ -e "$conf" ] && rm -rf "$conf"
cp -a "$outpath/src/corelib/global/qconfig.h" "$conf"
elif [ '!' -f "$conf" ]; then
@@ -8014,7 +8253,7 @@ if [ -n "$QT_GCC_MAJOR_VERSION" ]; then
echo "QT_GCC_MINOR_VERSION = $QT_GCC_MINOR_VERSION" >> "$QTCONFIG.tmp"
echo "QT_GCC_PATCH_VERSION = $QT_GCC_PATCH_VERSION" >> "$QTCONFIG.tmp"
fi
-if echo "$XPLATFORM" | grep "symbian-sbsv2" > /dev/null 2>&1; then
+if [ "$XPLATFORM_SYMBIAN_SBSV2" = "yes" ]; then
echo "#Qt for symbian FPU settings" >> "$QTCONFIG.tmp"
echo "MMP_RULES += \"ARMFPU softvfp\"" >> "$QTCONFIG.tmp"
fi
@@ -8051,10 +8290,9 @@ QMAKE_LIBDIR_QT = \$\$QT_BUILD_TREE/lib
EOF
# Ensure we can link to uninistalled libraries
-if [ "$XPLATFORM_MINGW" != "yes" ] && linkerSupportsFlag -rpath-link "$outpath/lib"; then
+if [ "$XPLATFORM_MINGW" != "yes" ] && [ "$CFG_EMBEDDED" != "nacl" ] && linkerSupportsFlag -rpath-link "$outpath/lib"; then
echo "QMAKE_LFLAGS = -Wl,-rpath-link,\$\$QT_BUILD_TREE/lib \$\$QMAKE_LFLAGS" >> "$CACHEFILE.tmp"
fi
-
if [ -n "$QT_CFLAGS_PSQL" ]; then
echo "QT_CFLAGS_PSQL = $QT_CFLAGS_PSQL" >> "$CACHEFILE.tmp"
fi
@@ -8201,7 +8439,7 @@ else
echo "Architecture: $CFG_ARCH"
fi
-if [ "$PLATFORM_QWS" = "yes" ]; then
+if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
echo "Host architecture: $CFG_HOST_ARCH"
fi
@@ -8316,7 +8554,7 @@ else
fi
echo "zlib support ........... $CFG_ZLIB"
echo "Session management ..... $CFG_SM"
-if [ "$PLATFORM_QWS" = "yes" ]; then
+if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
echo "Embedded support ....... $CFG_EMBEDDED"
if [ "$CFG_QWS_FREETYPE" = "auto" ]; then
echo "Freetype2 support ...... $CFG_QWS_FREETYPE ($CFG_LIBFREETYPE)"
@@ -8602,9 +8840,9 @@ for file in .projects .projects.3; do
*winmain/winmain.pro)
[ "$XPLATFORM_MINGW" = "yes" ] || continue
SPEC=$XQMAKESPEC ;;
- *s60main/s60main.pro) if [ -z "`echo "$XPLATFORM" | grep "symbian" >/dev/null`" ]; then
- continue
- fi;;
+ *s60main/s60main.pro)
+ [ "$XPLATFORM_SYMBIAN" = "yes" ] || continue
+ ;;
*examples/activeqt/*) continue ;;
*/qmake/qmake.pro) continue ;;
*tools/bootstrap*|*tools/moc*|*tools/rcc*|*tools/uic*|*linguist/lrelease*) SPEC=$QMAKESPEC ;;
diff --git a/demos/books/books.pro b/demos/books/books.pro
index a5e44e5..06718d1 100644
--- a/demos/books/books.pro
+++ b/demos/books/books.pro
@@ -16,8 +16,8 @@ INSTALLS += target sources
symbian: include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri)
wince*: {
- CONFIG(debug, debug|release):sqlPlugins.sources = $$QT_BUILD_TREE/plugins/sqldrivers/*d4.dll
- CONFIG(release, debug|release):sqlPlugins.sources = $$QT_BUILD_TREE/plugins/sqldrivers/*[^d]4.dll
+ CONFIG(debug, debug|release):sqlPlugins.files = $$QT_BUILD_TREE/plugins/sqldrivers/*d4.dll
+ CONFIG(release, debug|release):sqlPlugins.files = $$QT_BUILD_TREE/plugins/sqldrivers/*[^d]4.dll
sqlPlugins.path = sqldrivers
DEPLOYMENT += sqlPlugins
}
diff --git a/demos/chip/view.cpp b/demos/chip/view.cpp
index 7af3074..d6a641e 100644
--- a/demos/chip/view.cpp
+++ b/demos/chip/view.cpp
@@ -48,15 +48,29 @@
#include <qmath.h>
+void GraphicsView::wheelEvent(QWheelEvent *e)
+{
+ if (e->modifiers() & Qt::ControlModifier) {
+ if (e->delta() > 0)
+ view->zoomIn(6);
+ else
+ view->zoomOut(6);
+ e->accept();
+ } else {
+ QGraphicsView::wheelEvent(e);
+ }
+}
+
View::View(const QString &name, QWidget *parent)
: QFrame(parent)
{
setFrameStyle(Sunken | StyledPanel);
- graphicsView = new QGraphicsView;
+ graphicsView = new GraphicsView(this);
graphicsView->setRenderHint(QPainter::Antialiasing, false);
graphicsView->setDragMode(QGraphicsView::RubberBandDrag);
graphicsView->setOptimizationFlags(QGraphicsView::DontSavePainterState);
graphicsView->setViewportUpdateMode(QGraphicsView::SmartViewportUpdate);
+ graphicsView->setTransformationAnchor(QGraphicsView::AnchorUnderMouse);
int size = style()->pixelMetric(QStyle::PM_ToolBarIconSize);
QSize iconSize(size, size);
@@ -111,6 +125,15 @@ View::View(const QString &name, QWidget *parent)
// Label layout
QHBoxLayout *labelLayout = new QHBoxLayout;
label = new QLabel(name);
+ label2 = new QLabel(tr("Pointer Mode"));
+ selectModeButton = new QToolButton;
+ selectModeButton->setText(tr("Select"));
+ selectModeButton->setCheckable(true);
+ selectModeButton->setChecked(true);
+ dragModeButton = new QToolButton;
+ dragModeButton->setText(tr("Drag"));
+ dragModeButton->setCheckable(true);
+ dragModeButton->setChecked(false);
antialiasButton = new QToolButton;
antialiasButton->setText(tr("Antialiasing"));
antialiasButton->setCheckable(true);
@@ -126,8 +149,17 @@ View::View(const QString &name, QWidget *parent)
printButton = new QToolButton;
printButton->setIcon(QIcon(QPixmap(":/fileprint.png")));
+ QButtonGroup *pointerModeGroup = new QButtonGroup;
+ pointerModeGroup->setExclusive(true);
+ pointerModeGroup->addButton(selectModeButton);
+ pointerModeGroup->addButton(dragModeButton);
+
labelLayout->addWidget(label);
labelLayout->addStretch();
+ labelLayout->addWidget(label2);
+ labelLayout->addWidget(selectModeButton);
+ labelLayout->addWidget(dragModeButton);
+ labelLayout->addStretch();
labelLayout->addWidget(antialiasButton);
labelLayout->addWidget(openGlButton);
labelLayout->addWidget(printButton);
@@ -145,6 +177,8 @@ View::View(const QString &name, QWidget *parent)
connect(rotateSlider, SIGNAL(valueChanged(int)), this, SLOT(setupMatrix()));
connect(graphicsView->verticalScrollBar(), SIGNAL(valueChanged(int)), this, SLOT(setResetButtonEnabled()));
connect(graphicsView->horizontalScrollBar(), SIGNAL(valueChanged(int)), this, SLOT(setResetButtonEnabled()));
+ connect(selectModeButton, SIGNAL(toggled(bool)), this, SLOT(togglePointerMode()));
+ connect(dragModeButton, SIGNAL(toggled(bool)), this, SLOT(togglePointerMode()));
connect(antialiasButton, SIGNAL(toggled(bool)), this, SLOT(toggleAntialiasing()));
connect(openGlButton, SIGNAL(toggled(bool)), this, SLOT(toggleOpenGL()));
connect(rotateLeftIcon, SIGNAL(clicked()), this, SLOT(rotateLeft()));
@@ -158,7 +192,7 @@ View::View(const QString &name, QWidget *parent)
QGraphicsView *View::view() const
{
- return graphicsView;
+ return static_cast<QGraphicsView *>(graphicsView);
}
void View::resetView()
@@ -188,6 +222,14 @@ void View::setupMatrix()
setResetButtonEnabled();
}
+void View::togglePointerMode()
+{
+ graphicsView->setDragMode(selectModeButton->isChecked()
+ ? QGraphicsView::RubberBandDrag
+ : QGraphicsView::ScrollHandDrag);
+ graphicsView->setInteractive(selectModeButton->isChecked());
+}
+
void View::toggleOpenGL()
{
#ifndef QT_NO_OPENGL
@@ -212,14 +254,14 @@ void View::print()
#endif
}
-void View::zoomIn()
+void View::zoomIn(int level)
{
- zoomSlider->setValue(zoomSlider->value() + 1);
+ zoomSlider->setValue(zoomSlider->value() + level);
}
-void View::zoomOut()
+void View::zoomOut(int level)
{
- zoomSlider->setValue(zoomSlider->value() - 1);
+ zoomSlider->setValue(zoomSlider->value() - level);
}
void View::rotateLeft()
diff --git a/demos/chip/view.h b/demos/chip/view.h
index 8047b8b..67c7675 100644
--- a/demos/chip/view.h
+++ b/demos/chip/view.h
@@ -43,12 +43,27 @@
#define VIEW_H
#include <QFrame>
+#include <QGraphicsView>
-QT_FORWARD_DECLARE_CLASS(QGraphicsView)
QT_FORWARD_DECLARE_CLASS(QLabel)
QT_FORWARD_DECLARE_CLASS(QSlider)
QT_FORWARD_DECLARE_CLASS(QToolButton)
+class View;
+
+class GraphicsView : public QGraphicsView
+{
+ Q_OBJECT
+public:
+ GraphicsView(View *v) : QGraphicsView(), view(v) { }
+
+protected:
+ void wheelEvent(QWheelEvent *);
+
+private:
+ View *view;
+};
+
class View : public QFrame
{
Q_OBJECT
@@ -57,22 +72,27 @@ public:
QGraphicsView *view() const;
+public slots:
+ void zoomIn(int level = 1);
+ void zoomOut(int level = 1);
+
private slots:
void resetView();
void setResetButtonEnabled();
void setupMatrix();
+ void togglePointerMode();
void toggleOpenGL();
void toggleAntialiasing();
void print();
-
- void zoomIn();
- void zoomOut();
void rotateLeft();
void rotateRight();
-
+
private:
- QGraphicsView *graphicsView;
+ GraphicsView *graphicsView;
QLabel *label;
+ QLabel *label2;
+ QToolButton *selectModeButton;
+ QToolButton *dragModeButton;
QToolButton *openGlButton;
QToolButton *antialiasButton;
QToolButton *printButton;
diff --git a/demos/declarative/minehunt/minehunt.cpp b/demos/declarative/minehunt/minehunt.cpp
index 9c82f30..aaaaaac 100644
--- a/demos/declarative/minehunt/minehunt.cpp
+++ b/demos/declarative/minehunt/minehunt.cpp
@@ -195,6 +195,7 @@ bool MinehuntGame::flip(int row, int col)
won = false;
hasWonChanged();
setPlaying(false);
+ return true;
}
remaining--;
@@ -202,6 +203,7 @@ bool MinehuntGame::flip(int row, int col)
won = true;
hasWonChanged();
setPlaying(false);
+ return true;
}
return true;
}
@@ -209,7 +211,7 @@ bool MinehuntGame::flip(int row, int col)
bool MinehuntGame::flag(int row, int col)
{
TileData *t = tile(row, col);
- if(!t)
+ if(!t || !playing || t->flipped())
return false;
t->setHasFlag(!t->hasFlag());
diff --git a/demos/declarative/minehunt/minehunt.pro b/demos/declarative/minehunt/minehunt.pro
index 4cf1441..d23bb05 100644
--- a/demos/declarative/minehunt/minehunt.pro
+++ b/demos/declarative/minehunt/minehunt.pro
@@ -1,7 +1,6 @@
TEMPLATE = app
TARGET = minehunt
QT += declarative
-CONFIG += qt plugin
# Input
HEADERS += minehunt.h
@@ -18,7 +17,7 @@ symbian:{
TARGET.EPOCALLOWDLLDATA = 1
TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri)
- qmlminehuntfiles.sources = MinehuntCore minehunt.qml
+ qmlminehuntfiles.files = MinehuntCore minehunt.qml
DEPLOYMENT += qmlminehuntfiles
}
- \ No newline at end of file
+
diff --git a/demos/declarative/samegame/SamegameCore/Button.qml b/demos/declarative/samegame/SamegameCore/Button.qml
index 7fb7b65..140b196 100644
--- a/demos/declarative/samegame/SamegameCore/Button.qml
+++ b/demos/declarative/samegame/SamegameCore/Button.qml
@@ -48,7 +48,7 @@ Rectangle {
signal clicked
- width: buttonLabel.width + 20; height: buttonLabel.height + 6
+ width: buttonLabel.width + 20; height: buttonLabel.height + 20
smooth: true
border { width: 1; color: Qt.darker(activePalette.button) }
radius: 8
@@ -70,6 +70,6 @@ Rectangle {
MouseArea { id: mouseArea; anchors.fill: parent; onClicked: container.clicked() }
Text {
- id: buttonLabel; text: container.text; anchors.centerIn: container; color: activePalette.buttonText
+ id: buttonLabel; text: container.text; anchors.centerIn: container; color: activePalette.buttonText; font.pixelSize: 24
}
}
diff --git a/demos/declarative/samegame/SamegameCore/samegame.js b/demos/declarative/samegame/SamegameCore/samegame.js
index 9266767..e618a10 100755
--- a/demos/declarative/samegame/SamegameCore/samegame.js
+++ b/demos/declarative/samegame/SamegameCore/samegame.js
@@ -9,12 +9,14 @@ var scoresURL = "";
var gameDuration;
var component = Qt.createComponent(blockSrc);
-//Index function used instead of a 2D array
-function index(column,row) {
- return column + (row * maxColumn);
+// Index function used instead of a 2D array
+function index(column, row)
+{
+ return column + row * maxColumn;
}
-function timeStr(msecs) {
+function timeStr(msecs)
+{
var secs = Math.floor(msecs/1000);
var m = Math.floor(secs/60);
var ret = "" + m + "m " + (secs%60) + "s";
@@ -23,47 +25,48 @@ function timeStr(msecs) {
function startNewGame()
{
- //Delete blocks from previous game
- for(var i = 0; i<maxIndex; i++){
- if(board[i] != null)
+ // Delete blocks from previous game
+ for (var i = 0; i < maxIndex; i++) {
+ if (board[i] != null)
board[i].destroy();
}
- //Calculate board size
+ // Calculate board size
maxColumn = Math.floor(gameCanvas.width/gameCanvas.blockSize);
maxRow = Math.floor(gameCanvas.height/gameCanvas.blockSize);
- maxIndex = maxRow*maxColumn;
+ maxIndex = maxRow * maxColumn;
- //Close dialogs
+ // Close dialogs
nameInputDialog.forceClose();
dialog.forceClose();
- //Initialize Board
+ // Initialize Board
board = new Array(maxIndex);
gameCanvas.score = 0;
- for(var column=0; column<maxColumn; column++){
- for(var row=0; row<maxRow; row++){
- board[index(column,row)] = null;
- createBlock(column,row);
+ for (var column = 0; column < maxColumn; column++) {
+ for (var row = 0; row < maxRow; row++) {
+ board[index(column, row)] = null;
+ createBlock(column, row);
}
}
gameDuration = new Date();
}
-var fillFound;//Set after a floodFill call to the number of blocks found
-var floodBoard;//Set to 1 if the floodFill reaches off that node
-//NOTE: Be careful with vars named x,y, as the calling object's x,y are still in scope
+var fillFound; // Set after a floodFill call to the number of blocks found
+var floodBoard; // Set to 1 if the floodFill reaches off that node
+
+// NOTE: Be careful with vars named x,y, as the calling object's x,y are still in scope
function handleClick(x,y)
{
var column = Math.floor(x/gameCanvas.blockSize);
var row = Math.floor(y/gameCanvas.blockSize);
- if(column >= maxColumn || column < 0 || row >= maxRow || row < 0)
+ if (column >= maxColumn || column < 0 || row >= maxRow || row < 0)
return;
- if(board[index(column, row)] == null)
+ if (board[index(column, row)] == null)
return;
- //If it's a valid block, remove it and all connected (does nothing if it's not connected)
+ // If it's a valid block, remove it and all connected (does nothing if it's not connected)
floodFill(column,row, -1);
- if(fillFound <= 0)
+ if (fillFound <= 0)
return;
gameCanvas.score += (fillFound - 1) * (fillFound - 1);
shuffleDown();
@@ -72,65 +75,65 @@ function handleClick(x,y)
function floodFill(column,row,type)
{
- if(board[index(column, row)] == null)
+ if (board[index(column, row)] == null)
return;
var first = false;
- if(type == -1){
+ if (type == -1) {
first = true;
type = board[index(column,row)].type;
-
- //Flood fill initialization
+
+ // Flood fill initialization
fillFound = 0;
floodBoard = new Array(maxIndex);
}
- if(column >= maxColumn || column < 0 || row >= maxRow || row < 0)
+ if (column >= maxColumn || column < 0 || row >= maxRow || row < 0)
return;
- if(floodBoard[index(column, row)] == 1 || (!first && type != board[index(column,row)].type))
+ if (floodBoard[index(column, row)] == 1 || (!first && type != board[index(column, row)].type))
return;
floodBoard[index(column, row)] = 1;
- floodFill(column+1,row,type);
- floodFill(column-1,row,type);
- floodFill(column,row+1,type);
- floodFill(column,row-1,type);
- if(first==true && fillFound == 0)
- return;//Can't remove single blocks
- board[index(column,row)].dying = true;
- board[index(column,row)] = null;
+ floodFill(column + 1, row, type);
+ floodFill(column - 1, row, type);
+ floodFill(column, row + 1, type);
+ floodFill(column, row - 1, type);
+ if (first == true && fillFound == 0)
+ return; // Can't remove single blocks
+ board[index(column, row)].dying = true;
+ board[index(column, row)] = null;
fillFound += 1;
}
function shuffleDown()
{
- //Fall down
- for(var column=0; column<maxColumn; column++){
+ // Fall down
+ for (var column = 0; column < maxColumn; column++) {
var fallDist = 0;
- for(var row=maxRow-1; row>=0; row--){
- if(board[index(column,row)] == null){
+ for (var row = maxRow - 1; row >= 0; row--) {
+ if (board[index(column,row)] == null) {
fallDist += 1;
- }else{
- if(fallDist > 0){
- var obj = board[index(column,row)];
- obj.y = (row+fallDist) * gameCanvas.blockSize;
- board[index(column,row+fallDist)] = obj;
- board[index(column,row)] = null;
+ } else {
+ if (fallDist > 0) {
+ var obj = board[index(column, row)];
+ obj.y = (row + fallDist) * gameCanvas.blockSize;
+ board[index(column, row + fallDist)] = obj;
+ board[index(column, row)] = null;
}
}
}
}
- //Fall to the left
+ // Fall to the left
fallDist = 0;
- for(column=0; column<maxColumn; column++){
- if(board[index(column, maxRow - 1)] == null){
+ for (column = 0; column < maxColumn; column++) {
+ if (board[index(column, maxRow - 1)] == null) {
fallDist += 1;
- }else{
- if(fallDist > 0){
- for(row=0; row<maxRow; row++){
- obj = board[index(column,row)];
- if(obj == null)
+ } else {
+ if (fallDist > 0) {
+ for (row = 0; row < maxRow; row++) {
+ obj = board[index(column, row)];
+ if (obj == null)
continue;
- obj.x = (column-fallDist) * gameCanvas.blockSize;
- board[index(column-fallDist,row)] = obj;
- board[index(column,row)] = null;
+ obj.x = (column - fallDist) * gameCanvas.blockSize;
+ board[index(column - fallDist,row)] = obj;
+ board[index(column, row)] = null;
}
}
}
@@ -139,58 +142,59 @@ function shuffleDown()
function victoryCheck()
{
- //awards bonuses for no blocks left
+ // Awards bonuses for no blocks left
var deservesBonus = true;
- for(var column=maxColumn-1; column>=0; column--)
- if(board[index(column, maxRow - 1)] != null)
+ for (var column = maxColumn - 1; column >= 0; column--)
+ if (board[index(column, maxRow - 1)] != null)
deservesBonus = false;
- if(deservesBonus)
+ if (deservesBonus)
gameCanvas.score += 500;
- //Checks for game over
- if(deservesBonus || !(floodMoveCheck(0,maxRow-1, -1))){
+ // Checks for game over
+ if (deservesBonus || !(floodMoveCheck(0, maxRow - 1, -1))) {
gameDuration = new Date() - gameDuration;
nameInputDialog.show("You won! Please enter your name: ");
nameInputDialog.initialWidth = nameInputDialog.text.width + 20;
- if(nameInputDialog.name == "")
+ if (nameInputDialog.name == "")
nameInputDialog.width = nameInputDialog.initialWidth;
- nameInputDialog.text.opacity = 0;//Just a spacer
+ nameInputDialog.text.opacity = 0; // Just a spacer
}
}
-//only floods up and right, to see if it can find adjacent same-typed blocks
+// Only floods up and right, to see if it can find adjacent same-typed blocks
function floodMoveCheck(column, row, type)
{
- if(column >= maxColumn || column < 0 || row >= maxRow || row < 0)
+ if (column >= maxColumn || column < 0 || row >= maxRow || row < 0)
return false;
- if(board[index(column, row)] == null)
+ if (board[index(column, row)] == null)
return false;
var myType = board[index(column, row)].type;
- if(type == myType)
+ if (type == myType)
return true;
return floodMoveCheck(column + 1, row, myType) ||
- floodMoveCheck(column, row - 1, board[index(column,row)].type);
+ floodMoveCheck(column, row - 1, board[index(column, row)].type);
}
-function createBlock(column,row){
+function createBlock(column,row)
+{
// Note that we don't wait for the component to become ready. This will
// only work if the block QML is a local file. Otherwise the component will
// not be ready immediately. There is a statusChanged signal on the
// component you could use if you want to wait to load remote files.
- if(component.status == Component.Ready){
+ if (component.status == Component.Ready) {
var dynamicObject = component.createObject(gameCanvas);
- if(dynamicObject == null){
+ if (dynamicObject == null) {
console.log("error creating block");
console.log(component.errorString());
return false;
}
dynamicObject.type = Math.floor(Math.random() * 3);
- dynamicObject.x = column*gameCanvas.blockSize;
- dynamicObject.y = row*gameCanvas.blockSize;
+ dynamicObject.x = column * gameCanvas.blockSize;
+ dynamicObject.y = row * gameCanvas.blockSize;
dynamicObject.width = gameCanvas.blockSize;
dynamicObject.height = gameCanvas.blockSize;
dynamicObject.spawned = true;
- board[index(column,row)] = dynamicObject;
- }else{
+ board[index(column, row)] = dynamicObject;
+ } else {
console.log("error loading block component");
console.log(component.errorString());
return false;
@@ -198,23 +202,35 @@ function createBlock(column,row){
return true;
}
-function saveHighScore(name) {
- if(scoresURL!="")
+function saveHighScore(name)
+{
+ if (scoresURL != "")
sendHighScore(name);
- //OfflineStorage
- var db = openDatabaseSync("SameGameScores", "1.0", "Local SameGame High Scores",100);
+ // Offline storage
+ var db = openDatabaseSync(
+ "SameGameScores",
+ "1.0",
+ "Local SameGame High Scores",
+ 100
+ );
var dataStr = "INSERT INTO Scores VALUES(?, ?, ?, ?)";
- var data = [name, gameCanvas.score, maxColumn+"x"+maxRow ,Math.floor(gameDuration/1000)];
+ var data = [
+ name,
+ gameCanvas.score,
+ maxColumn + "x" + maxRow,
+ Math.floor(gameDuration / 1000)
+ ];
db.transaction(
function(tx) {
tx.executeSql('CREATE TABLE IF NOT EXISTS Scores(name TEXT, score NUMBER, gridSize TEXT, time NUMBER)');
tx.executeSql(dataStr, data);
- //Only show results for the current grid size
- var rs = tx.executeSql('SELECT * FROM Scores WHERE gridSize = "'+maxColumn+"x"+maxRow+'" ORDER BY score desc LIMIT 10');
+ // Only show results for the current grid size
+ var rs = tx.executeSql('SELECT * FROM Scores WHERE gridSize = "'
+ + maxColumn + "x" + maxRow + '" ORDER BY score desc LIMIT 10');
var r = "\nHIGH SCORES for this grid size\n\n"
- for(var i = 0; i < rs.rows.length; i++){
- r += (i+1)+". " + rs.rows.item(i).name +' got '
+ for (var i = 0; i < rs.rows.length; i++) {
+ r += (i+1) + ". " + rs.rows.item(i).name + ' got '
+ rs.rows.item(i).score + ' points in '
+ rs.rows.item(i).time + ' seconds.\n';
}
@@ -223,13 +239,15 @@ function saveHighScore(name) {
);
}
-function sendHighScore(name) {
+function sendHighScore(name)
+{
var postman = new XMLHttpRequest()
- var postData = "name="+name+"&score="+gameCanvas.score
- +"&gridSize="+maxColumn+"x"+maxRow +"&time="+Math.floor(gameDuration/1000);
+ var postData = "name=" + name + "&score=" + gameCanvas.score
+ + "&gridSize=" + maxColumn + "x" + maxRow
+ + "&time=" + Math.floor(gameDuration / 1000);
postman.open("POST", scoresURL, true);
postman.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
- postman.onreadystatechange = function() {
+ postman.onreadystatechange = function() {
if (postman.readyState == postman.DONE) {
dialog.show("Your score has been uploaded.");
}
diff --git a/demos/declarative/samegame/samegame.qml b/demos/declarative/samegame/samegame.qml
index f66c40e..ab49c04 100644
--- a/demos/declarative/samegame/samegame.qml
+++ b/demos/declarative/samegame/samegame.qml
@@ -92,9 +92,7 @@ Rectangle {
enabled: nameInputDialog.initialWidth != 0
}
- onOpened: nameInputText.focus = true;
onClosed: {
- nameInputText.focus = false;
if (nameInputText.text != "")
Logic.saveHighScore(nameInputText.text);
}
@@ -116,7 +114,7 @@ Rectangle {
TextInput {
id: nameInputText
anchors { verticalCenter: parent.verticalCenter; left: dialogText.right }
- focus: false
+ focus: visible
autoScroll: false
maximumLength: 24
onTextChanged: {
@@ -133,7 +131,7 @@ Rectangle {
Rectangle {
id: toolBar
- width: parent.width; height: 32
+ width: parent.width; height: 58
color: activePalette.window
anchors.bottom: screen.bottom
@@ -156,6 +154,7 @@ Rectangle {
anchors { right: parent.right; rightMargin: 3; verticalCenter: parent.verticalCenter }
text: "Score: " + gameCanvas.score
font.bold: true
+ font.pixelSize: 24
color: activePalette.windowText
}
}
diff --git a/demos/declarative/snake/content/pics/pause.png b/demos/declarative/snake/content/pics/pause.png
new file mode 100644
index 0000000..056d97d
--- /dev/null
+++ b/demos/declarative/snake/content/pics/pause.png
Binary files differ
diff --git a/demos/declarative/snake/content/snake.js b/demos/declarative/snake/content/snake.js
index 2a99aa8..837b82a 100644
--- a/demos/declarative/snake/content/snake.js
+++ b/demos/declarative/snake/content/snake.js
@@ -39,7 +39,7 @@ function startNewGame()
return;
}
- if (heartbeat.running) {
+ if (activeGame) {
endGame();
startNewGameTimer.running = true;
return;
@@ -93,7 +93,7 @@ function startNewGame()
function endGame()
{
- heartbeat.running = false;
+ activeGame = false;
for(var i in snake)
snake[i].dying = true;
if (cookie) {
diff --git a/demos/declarative/snake/snake.qml b/demos/declarative/snake/snake.qml
index 5cbf1be..585c0b2 100644
--- a/demos/declarative/snake/snake.qml
+++ b/demos/declarative/snake/snake.qml
@@ -47,6 +47,7 @@ Rectangle {
id: screen;
SystemPalette { id: activePalette }
color: activePalette.window
+ property bool activeGame: false
property int gridSize : 34
property int margin: 4
@@ -75,6 +76,7 @@ Rectangle {
Timer {
id: heartbeat;
interval: heartbeatInterval;
+ running: activeGame && runtime.isActiveWindow
repeat: true
onTriggered: { Logic.move() }
}
@@ -94,7 +96,16 @@ Rectangle {
Timer {
id: startHeartbeatTimer;
interval: 1000 ;
- onTriggered: { state = "running"; heartbeat.running = true;}
+ onTriggered: { state = "running"; activeGame = true; }
+ }
+
+ Image{
+ id: pauseDialog
+ z: 1
+ source: "content/pics/pause.png"
+ anchors.centerIn: parent;
+ //opacity is deliberately not animated
+ opacity: activeGame && !runtime.isActiveWindow
}
Image {
diff --git a/demos/declarative/twitter/twitter.qml b/demos/declarative/twitter/twitter.qml
index 4495523..74bab37 100644
--- a/demos/declarative/twitter/twitter.qml
+++ b/demos/declarative/twitter/twitter.qml
@@ -78,7 +78,7 @@ Item {
id: views
x: 2; width: parent.width - 4
y:60 //Below the title bars
- height: 380
+ height: parent.height - 100
Text {
id:title
diff --git a/demos/demos.pro b/demos/demos.pro
index fdc1e4c..362a3bc 100644
--- a/demos/demos.pro
+++ b/demos/demos.pro
@@ -44,7 +44,7 @@ contains(QT_CONFIG, opengl):!contains(QT_CONFIG, opengles1):!contains(QT_CONFIG,
SUBDIRS += demos_boxes
}
-mac*: SUBDIRS += demos_macmainwindow
+mac* && !qpa: SUBDIRS += demos_macmainwindow
wince*|symbian|embedded|x11: SUBDIRS += demos_embedded
!contains(QT_EDITION, Console):!cross_compile:!embedded:!wince*:SUBDIRS += demos_arthurplugin
diff --git a/demos/embedded/desktopservices/desktopservices.pro b/demos/embedded/desktopservices/desktopservices.pro
index 94ddedd..e66db1c 100644
--- a/demos/embedded/desktopservices/desktopservices.pro
+++ b/demos/embedded/desktopservices/desktopservices.pro
@@ -7,8 +7,8 @@ SOURCES += desktopwidget.cpp contenttab.cpp linktab.cpp main.cpp
RESOURCES += desktopservices.qrc
-music.sources = data/*.mp3 data/*.wav
-image.sources = data/*.png
+music.files = data/*.mp3 data/*.wav
+image.files = data/*.png
target.path = $$[QT_INSTALL_DEMOS]/embedded/desktopservices
sources.files = $$SOURCES $$HEADERS $$RESOURCES *.pro
diff --git a/demos/embedded/fluidlauncher/fluidlauncher.pro b/demos/embedded/fluidlauncher/fluidlauncher.pro
index ca74c38..0799ed9 100644
--- a/demos/embedded/fluidlauncher/fluidlauncher.pro
+++ b/demos/embedded/fluidlauncher/fluidlauncher.pro
@@ -33,7 +33,7 @@ wince*{
BUILD_DIR = debug
}
- executables.sources = \
+ executables.files = \
$$QT_BUILD_TREE/demos/embedded/embeddedsvgviewer/$${BUILD_DIR}/embeddedsvgviewer.exe \
$$QT_BUILD_TREE/demos/embedded/styledemo/$${BUILD_DIR}/styledemo.exe \
$$QT_BUILD_TREE/demos/deform/$${BUILD_DIR}/deform.exe \
@@ -45,10 +45,10 @@ wince*{
executables.path = .
- files.sources = $$PWD/screenshots $$PWD/slides $$PWD/../embeddedsvgviewer/shapes.svg
+ files.files = $$PWD/screenshots $$PWD/slides $$PWD/../embeddedsvgviewer/shapes.svg
files.path = .
- config.sources = $$PWD/config_wince/config.xml
+ config.files = $$PWD/config_wince/config.xml
config.path = .
DEPLOYMENT += config files executables
@@ -79,7 +79,7 @@ symbian {
}
}
- executables.sources = \
+ executables.files = \
$$QT_BUILD_TREE/demos/embedded/styledemo/styledemo.exe \
$$QT_BUILD_TREE/demos/deform/deform.exe \
$$QT_BUILD_TREE/demos/pathstroke/pathstroke.exe \
@@ -97,7 +97,7 @@ symbian {
executables.path = /sys/bin
- reg_resource.sources = \
+ reg_resource.files = \
$$regResourceDir(demos/embedded/styledemo/styledemo_reg.rsc) \
$$regResourceDir(demos/deform/deform_reg.rsc) \
$$regResourceDir(demos/pathstroke/pathstroke_reg.rsc) \
@@ -114,17 +114,17 @@ symbian {
$$regResourceDir(demos/embedded/flightinfo/flightinfo_reg.rsc)
contains(QT_CONFIG, phonon) {
- reg_resource.sources += $$regResourceDir(demos/qmediaplayer/qmediaplayer_reg.rsc)
+ reg_resource.files += $$regResourceDir(demos/qmediaplayer/qmediaplayer_reg.rsc)
}
contains(QT_CONFIG, multimedia) {
- reg_resource.sources += $$regResourceDir(demos/spectrum/app/spectrum_reg.rsc)
+ reg_resource.files += $$regResourceDir(demos/spectrum/app/spectrum_reg.rsc)
}
reg_resource.path = $$REG_RESOURCE_IMPORT_DIR
- resource.sources = \
+ resource.files = \
$$appResourceDir(demos/embedded/styledemo/styledemo.rsc) \
$$appResourceDir(demos/deform/deform.rsc) \
$$appResourceDir(demos/pathstroke/pathstroke.rsc) \
@@ -143,7 +143,7 @@ symbian {
resource.path = $$APP_RESOURCE_DIR
- mifs.sources = \
+ mifs.files = \
$$appResourceDir(demos/embedded/fluidlauncher/fluidlauncher.mif) \
$$appResourceDir(demos/embedded/styledemo/styledemo.mif) \
$$appResourceDir(demos/deform/deform.mif) \
@@ -162,28 +162,28 @@ symbian {
mifs.path = $$APP_RESOURCE_DIR
contains(QT_CONFIG, svg) {
- executables.sources += \
+ executables.files += \
$$QT_BUILD_TREE/demos/embedded/embeddedsvgviewer/embeddedsvgviewer.exe \
$$QT_BUILD_TREE/demos/embedded/weatherinfo/weatherinfo.exe
- reg_resource.sources += \
+ reg_resource.files += \
$$regResourceDir(demos/embedded/embeddedsvgviewer/embeddedsvgviewer_reg.rsc) \
$$regResourceDir(demos/embedded/weatherinfo/weatherinfo_reg.rsc)
- resource.sources += \
+ resource.files += \
$$appResourceDir(demos/embedded/embeddedsvgviewer/embeddedsvgviewer.rsc) \
$$appResourceDir(demos/embedded/weatherinfo/weatherinfo.rsc)
- mifs.sources += \
+ mifs.files += \
$$appResourceDir(demos/embedded/embeddedsvgviewer/embeddedsvgviewer.mif) \
$$appResourceDir(demos/embedded/weatherinfo/weatherinfo.mif)
}
contains(QT_CONFIG, webkit) {
- executables.sources += $$QT_BUILD_TREE/demos/embedded/anomaly/anomaly.exe
- reg_resource.sources += $$regResourceDir(demos/embedded/anomaly/anomaly_reg.rsc)
- resource.sources += $$appResourceDir(demos/embedded/anomaly/anomaly.rsc)
- mifs.sources += \
+ executables.files += $$QT_BUILD_TREE/demos/embedded/anomaly/anomaly.exe
+ reg_resource.files += $$regResourceDir(demos/embedded/anomaly/anomaly_reg.rsc)
+ resource.files += $$appResourceDir(demos/embedded/anomaly/anomaly.rsc)
+ mifs.files += \
$$appResourceDir(demos/embedded/anomaly/anomaly.mif)
isEmpty(QT_LIBINFIX) {
@@ -195,61 +195,61 @@ symbian {
}
contains(QT_CONFIG, phonon) {
- executables.sources += $$QT_BUILD_TREE/demos/qmediaplayer/qmediaplayer.exe
- resource.sources += $$appResourceDir(demos/qmediaplayer/qmediaplayer.rsc)
- mifs.sources += \
+ executables.files += $$QT_BUILD_TREE/demos/qmediaplayer/qmediaplayer.exe
+ resource.files += $$appResourceDir(demos/qmediaplayer/qmediaplayer.rsc)
+ mifs.files += \
$$appResourceDir(demos/qmediaplayer/qmediaplayer.mif)
}
contains(QT_CONFIG, multimedia) {
- executables.sources += $$QT_BUILD_TREE/demos/spectrum/app/spectrum.exe
- executables.sources += $$QT_BUILD_TREE/demos/spectrum/3rdparty/fftreal/fftreal.dll
- resource.sources += $$appResourceDir(demos/spectrum/app/spectrum.rsc)
- mifs.sources += \
+ executables.files += $$QT_BUILD_TREE/demos/spectrum/app/spectrum.exe
+ executables.files += $$QT_BUILD_TREE/demos/spectrum/3rdparty/fftreal/fftreal.dll
+ resource.files += $$appResourceDir(demos/spectrum/app/spectrum.rsc)
+ mifs.files += \
$$appResourceDir(demos/spectrum/app/spectrum.mif)
}
contains(QT_CONFIG, script) {
- executables.sources += $$QT_BUILD_TREE/examples/script/context2d/context2d.exe
- reg_resource.sources += $$regResourceDir(examples/script/context2d/context2d_reg.rsc)
- resource.sources += $$appResourceDir(examples/script/context2d/context2d.rsc)
- mifs.sources += \
+ executables.files += $$QT_BUILD_TREE/examples/script/context2d/context2d.exe
+ reg_resource.files += $$regResourceDir(examples/script/context2d/context2d_reg.rsc)
+ resource.files += $$appResourceDir(examples/script/context2d/context2d.rsc)
+ mifs.files += \
$$appResourceDir(examples/script/context2d/context2d.mif)
}
qmldemos = qmlcalculator qmlclocks qmldialcontrol qmleasing qmlflickr qmlphotoviewer qmltwitter
contains(QT_CONFIG, declarative) {
for(qmldemo, qmldemos) {
- executables.sources += $$QT_BUILD_TREE/demos/embedded/$${qmldemo}/$${qmldemo}.exe
- reg_resource.sources += $$regResourceDir(demos/embedded/$${qmldemo}/$${qmldemo}_reg.rsc)
- resource.sources += $$appResourceDir(demos/embedded/$${qmldemo}/$${qmldemo}.rsc)
- mifs.sources += $$appResourceDir(demos/embedded/$${qmldemo}/$${qmldemo}.mif)
+ executables.files += $$QT_BUILD_TREE/demos/embedded/$${qmldemo}/$${qmldemo}.exe
+ reg_resource.files += $$regResourceDir(demos/embedded/$${qmldemo}/$${qmldemo}_reg.rsc)
+ resource.files += $$appResourceDir(demos/embedded/$${qmldemo}/$${qmldemo}.rsc)
+ mifs.files += $$appResourceDir(demos/embedded/$${qmldemo}/$${qmldemo}.mif)
}
}
- files.sources = $$PWD/screenshots $$PWD/slides
+ files.files = $$PWD/screenshots $$PWD/slides
files.path = .
- config.sources = $$PWD/config_s60/config.xml
+ config.files = $$PWD/config_s60/config.xml
config.path = .
- viewerimages.sources = $$PWD/../embeddedsvgviewer/shapes.svg
+ viewerimages.files = $$PWD/../embeddedsvgviewer/shapes.svg
viewerimages.path = /data/images/qt/demos/embeddedsvgviewer
# demos/mediaplayer make also use of these files.
- desktopservices_music.sources = \
+ desktopservices_music.files = \
$$PWD/../desktopservices/data/*.mp3 \
$$PWD/../desktopservices/data/*.wav
desktopservices_music.path = /data/sounds
- desktopservices_images.sources = $$PWD/../desktopservices/data/*.png
+ desktopservices_images.files = $$PWD/../desktopservices/data/*.png
desktopservices_images.path = /data/images
- saxbookmarks.sources = $$PWD/../../../examples/xml/saxbookmarks/frank.xbel
- saxbookmarks.sources += $$PWD/../../../examples/xml/saxbookmarks/jennifer.xbel
+ saxbookmarks.files = $$PWD/../../../examples/xml/saxbookmarks/frank.xbel
+ saxbookmarks.files += $$PWD/../../../examples/xml/saxbookmarks/jennifer.xbel
saxbookmarks.path = /data/qt/saxbookmarks
- fluidbackup.sources = backup_registration.xml
+ fluidbackup.files = backup_registration.xml
fluidbackup.path = /private/$$replace(TARGET.UID3, 0x,)
DEPLOYMENT += config files executables viewerimages saxbookmarks reg_resource resource \
diff --git a/demos/embedded/qmlcalculator/deployment.pri b/demos/embedded/qmlcalculator/deployment.pri
index a31303d..a97498e 100644
--- a/demos/embedded/qmlcalculator/deployment.pri
+++ b/demos/embedded/qmlcalculator/deployment.pri
@@ -4,5 +4,5 @@ symbian {
qmlcalculator_uid3 = A000E3FB
qmlcalculator_files.path = $$APP_PRIVATE_DIR_BASE/$$qmlcalculator_uid3
}
-qmlcalculator_files.sources = $$qmlcalculator_src/calculator.qml $$qmlcalculator_src/Core
+qmlcalculator_files.files = $$qmlcalculator_src/calculator.qml $$qmlcalculator_src/Core
DEPLOYMENT += qmlcalculator_files
diff --git a/demos/embedded/qmlclocks/deployment.pri b/demos/embedded/qmlclocks/deployment.pri
index 0946733..6c6704c 100644
--- a/demos/embedded/qmlclocks/deployment.pri
+++ b/demos/embedded/qmlclocks/deployment.pri
@@ -4,5 +4,5 @@ symbian {
qmlclocks_uid3 = A000E3FC
qmlclocks_files.path = $$APP_PRIVATE_DIR_BASE/$$qmlclocks_uid3
}
-qmlclocks_files.sources = $$qmlclocks_src/clocks.qml $$qmlclocks_src/content
+qmlclocks_files.files = $$qmlclocks_src/clocks.qml $$qmlclocks_src/content
DEPLOYMENT += qmlclocks_files
diff --git a/demos/embedded/qmldialcontrol/deployment.pri b/demos/embedded/qmldialcontrol/deployment.pri
index e0e72e6..a978443 100644
--- a/demos/embedded/qmldialcontrol/deployment.pri
+++ b/demos/embedded/qmldialcontrol/deployment.pri
@@ -4,5 +4,5 @@ symbian {
qmldialcontrol_uid3 = A000E3FD
qmldialcontrol_files.path = $$APP_PRIVATE_DIR_BASE/$$qmldialcontrol_uid3
}
-qmldialcontrol_files.sources = $$qmldialcontrol_src/dialcontrol.qml $$qmldialcontrol_src/content
+qmldialcontrol_files.files = $$qmldialcontrol_src/dialcontrol.qml $$qmldialcontrol_src/content
DEPLOYMENT += qmldialcontrol_files
diff --git a/demos/embedded/qmleasing/deployment.pri b/demos/embedded/qmleasing/deployment.pri
index d3621cb..946fcd9 100644
--- a/demos/embedded/qmleasing/deployment.pri
+++ b/demos/embedded/qmleasing/deployment.pri
@@ -4,5 +4,5 @@ symbian {
qmleasing_uid3 = A000E3FE
qmleasing_files.path = $$APP_PRIVATE_DIR_BASE/$$qmleasing_uid3
}
-qmleasing_files.sources = $$qmleasing_src/easing.qml $$qmleasing_src/content
+qmleasing_files.files = $$qmleasing_src/easing.qml $$qmleasing_src/content
DEPLOYMENT += qmleasing_files
diff --git a/demos/embedded/qmlflickr/deployment.pri b/demos/embedded/qmlflickr/deployment.pri
index b508292..a38dc95 100644
--- a/demos/embedded/qmlflickr/deployment.pri
+++ b/demos/embedded/qmlflickr/deployment.pri
@@ -4,5 +4,5 @@ symbian {
qmlflickr_uid3 = A000E3FF
qmlflickr_files.path = $$APP_PRIVATE_DIR_BASE/$$qmlflickr_uid3
}
-qmlflickr_files.sources = $$qmlflickr_src/flickr.qml $$qmlflickr_src/common $$qmlflickr_src/mobile
+qmlflickr_files.files = $$qmlflickr_src/flickr.qml $$qmlflickr_src/common $$qmlflickr_src/mobile
DEPLOYMENT += qmlflickr_files
diff --git a/demos/embedded/qmlphotoviewer/deployment.pri b/demos/embedded/qmlphotoviewer/deployment.pri
index 35937a8..23882e3 100644
--- a/demos/embedded/qmlphotoviewer/deployment.pri
+++ b/demos/embedded/qmlphotoviewer/deployment.pri
@@ -4,5 +4,5 @@ symbian {
qmlphotoviewer_uid3 = A000E400
qmlphotoviewer_files.path = $$APP_PRIVATE_DIR_BASE/$$qmlphotoviewer_uid3
}
-qmlphotoviewer_files.sources = $$qmlphotoviewer_src/photoviewer.qml $$qmlphotoviewer_src/PhotoViewerCore
+qmlphotoviewer_files.files = $$qmlphotoviewer_src/photoviewer.qml $$qmlphotoviewer_src/PhotoViewerCore
DEPLOYMENT += qmlphotoviewer_files
diff --git a/demos/embedded/qmltwitter/deployment.pri b/demos/embedded/qmltwitter/deployment.pri
index 4404e33..3edc0e5 100644
--- a/demos/embedded/qmltwitter/deployment.pri
+++ b/demos/embedded/qmltwitter/deployment.pri
@@ -4,5 +4,5 @@ symbian {
qmltwitter_uid3 = A000E401
qmltwitter_files.path = $$APP_PRIVATE_DIR_BASE/$$qmltwitter_uid3
}
-qmltwitter_files.sources = $$qmltwitter_src/twitter.qml $$qmltwitter_src/TwitterCore
+qmltwitter_files.files = $$qmltwitter_src/twitter.qml $$qmltwitter_src/TwitterCore
DEPLOYMENT += qmltwitter_files
diff --git a/demos/qmediaplayer/main.cpp b/demos/qmediaplayer/main.cpp
index 02c579b..9f15e43 100644
--- a/demos/qmediaplayer/main.cpp
+++ b/demos/qmediaplayer/main.cpp
@@ -42,6 +42,8 @@
#include <QtGui>
#include "mediaplayer.h"
+const qreal DefaultVolume = -1.0;
+
int main (int argc, char *argv[])
{
Q_INIT_RESOURCE(mediaplayer);
@@ -50,36 +52,38 @@ int main (int argc, char *argv[])
app.setOrganizationName("Qt");
app.setQuitOnLastWindowClosed(true);
- bool hasSmallScreen =
+ QString fileName;
+ qreal volume = DefaultVolume;
+ bool smallScreen = false;
#ifdef Q_OS_SYMBIAN
- /* On Symbian, we always want fullscreen. One reason is that it's not
- * possible to launch any demos from the fluidlauncher due to a
- * limitation in the emulator. */
- true
-#else
- false
+ smallScreen = true;
#endif
- ;
-
- QString fileString;
- const QStringList args(app.arguments());
- /* We have a minor problem here, we accept two arguments, both are
- * optional:
- * - A file name
- * - the option "-small-screen", so let's try to cope with that.
- */
- for (int i = 0; i < args.count(); ++i) {
- const QString &at = args.at(i);
- if (at == QLatin1String("-small-screen"))
- hasSmallScreen = true;
- else if (i > 0) // We don't want the app name.
- fileString = at;
+ QStringList args(app.arguments());
+ args.removeFirst(); // remove name of executable
+ while (!args.empty()) {
+ const QString &arg = args.first();
+ if (QLatin1String("-small-screen") == arg || QLatin1String("--small-screen") == arg) {
+ smallScreen = true;
+ } else if (QLatin1String("-volume") == arg || QLatin1String("--volume") == arg) {
+ if (!args.empty()) {
+ args.removeFirst();
+ volume = qMax(qMin(args.first().toFloat(), float(1.0)), float(0.0));
+ }
+ } else if (fileName.isNull()) {
+ fileName = arg;
+ }
+ args.removeFirst();
}
- MediaPlayer player(fileString, hasSmallScreen);
+ MediaPlayer player;
+ player.setSmallScreen(smallScreen);
+ if (DefaultVolume != volume)
+ player.setVolume(volume);
+ if (!fileName.isNull())
+ player.setFile(fileName);
- if (hasSmallScreen)
+ if (smallScreen)
player.showMaximized();
else
player.show();
diff --git a/demos/qmediaplayer/mediaplayer.cpp b/demos/qmediaplayer/mediaplayer.cpp
index 97a8e35..5bf7d6d 100644
--- a/demos/qmediaplayer/mediaplayer.cpp
+++ b/demos/qmediaplayer/mediaplayer.cpp
@@ -152,12 +152,10 @@ void MediaVideoWidget::dragEnterEvent(QDragEnterEvent *e) {
}
-MediaPlayer::MediaPlayer(const QString &filePath,
- const bool hasSmallScreen) :
+MediaPlayer::MediaPlayer() :
playButton(0), nextEffect(0), settingsDialog(0), ui(0),
m_AudioOutput(Phonon::VideoCategory),
- m_videoWidget(new MediaVideoWidget(this)),
- m_hasSmallScreen(hasSmallScreen)
+ m_videoWidget(new MediaVideoWidget(this))
{
setWindowTitle(tr("Media Player"));
setContextMenuPolicy(Qt::CustomContextMenu);
@@ -346,8 +344,6 @@ MediaPlayer::MediaPlayer(const QString &filePath,
m_audioOutputPath = Phonon::createPath(&m_MediaObject, &m_AudioOutput);
Phonon::createPath(&m_MediaObject, m_videoWidget);
- if (!filePath.isEmpty())
- setFile(filePath);
resize(minimumSizeHint());
}
@@ -358,7 +354,7 @@ void MediaPlayer::stateChanged(Phonon::State newstate, Phonon::State oldstate)
if (oldstate == Phonon::LoadingState) {
QRect videoHintRect = QRect(QPoint(0, 0), m_videoWindow.sizeHint());
QRect newVideoRect = QApplication::desktop()->screenGeometry().intersected(videoHintRect);
- if (!m_hasSmallScreen) {
+ if (!m_smallScreen) {
if (m_MediaObject.hasVideo()) {
// Flush event que so that sizeHint takes the
// recently shown/hidden m_videoWindow into account:
@@ -466,6 +462,16 @@ void MediaPlayer::initSettingsDialog()
}
+void MediaPlayer::setVolume(qreal volume)
+{
+ m_AudioOutput.setVolume(volume);
+}
+
+void MediaPlayer::setSmallScreen(bool smallScreen)
+{
+ m_smallScreen = smallScreen;
+}
+
void MediaPlayer::effectChanged()
{
int currentIndex = ui->audioEffectsCombo->currentIndex();
@@ -589,7 +595,7 @@ void MediaPlayer::configureEffect()
effectDialog.exec();
if (effectDialog.result() != QDialog::Accepted) {
- //we need to restore the paramaters values
+ //we need to restore the parameters values
int currentIndex = 0;
foreach(Phonon::EffectParameter param, nextEffect->parameters()) {
nextEffect->setParameterValue(param, savedParamValues.at(currentIndex++));
@@ -685,7 +691,7 @@ bool MediaPlayer::playPauseForDialog()
// If we're running on a small screen, we want to pause the video when
// popping up dialogs. We neither want to tamper with the state if the
// user has paused.
- if (m_hasSmallScreen && m_MediaObject.hasVideo()) {
+ if (m_smallScreen && m_MediaObject.hasVideo()) {
if (Phonon::PlayingState == m_MediaObject.state()) {
m_MediaObject.pause();
return true;
diff --git a/demos/qmediaplayer/mediaplayer.h b/demos/qmediaplayer/mediaplayer.h
index d6ae58b..73450fe 100644
--- a/demos/qmediaplayer/mediaplayer.h
+++ b/demos/qmediaplayer/mediaplayer.h
@@ -104,8 +104,7 @@ class MediaPlayer :
{
Q_OBJECT
public:
- MediaPlayer(const QString &,
- const bool hasSmallScreen);
+ MediaPlayer();
void dragEnterEvent(QDragEnterEvent *e);
void dragMoveEvent(QDragMoveEvent *e);
@@ -115,6 +114,8 @@ public:
void setLocation(const QString &location);
void initVideoWindow();
void initSettingsDialog();
+ void setVolume(qreal volume);
+ void setSmallScreen(bool smallScreen);
public slots:
void openFile();
@@ -171,7 +172,7 @@ private:
Phonon::AudioOutput m_AudioOutput;
MediaVideoWidget *m_videoWidget;
Phonon::Path m_audioOutputPath;
- const bool m_hasSmallScreen;
+ bool m_smallScreen;
};
#endif //MEDIAPLAYER_H
diff --git a/demos/qmediaplayer/qmediaplayer.pro b/demos/qmediaplayer/qmediaplayer.pro
index 9407a81..8803d2e 100644
--- a/demos/qmediaplayer/qmediaplayer.pro
+++ b/demos/qmediaplayer/qmediaplayer.pro
@@ -27,7 +27,7 @@ DEPLOYMENT_PLUGIN += phonon_ds9 phonon_waveout
symbian {
TARGET.UID3 = 0xA000C613
- addFiles.sources = ../embedded/desktopservices/data/sax.mp3
+ addFiles.files = ../embedded/desktopservices/data/sax.mp3
addFiles.path = /data/sounds/
DEPLOYMENT += addFiles
diff --git a/demos/qtdemo/itemcircleanimation.h b/demos/qtdemo/itemcircleanimation.h
index 425d2f5..7276f7f 100644
--- a/demos/qtdemo/itemcircleanimation.h
+++ b/demos/qtdemo/itemcircleanimation.h
@@ -61,7 +61,7 @@ public:
ItemCircleAnimation(QGraphicsScene *scene = 0, QGraphicsItem *parent = 0);
virtual ~ItemCircleAnimation();
- // overidden methods:
+ // overridden methods:
QRectF boundingRect() const;
void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget * = 0);
void hoverEnterEvent(QGraphicsSceneHoverEvent *event);
diff --git a/demos/qtdemo/mainwindow.cpp b/demos/qtdemo/mainwindow.cpp
index 16c5bf3..e39802a 100644
--- a/demos/qtdemo/mainwindow.cpp
+++ b/demos/qtdemo/mainwindow.cpp
@@ -388,7 +388,7 @@ void MainWindow::keyPressEvent(QKeyEvent *event)
s += "\nAdapt: ";
s += Colors::noAdapt ? "off" : "on";
- s += "\nAdaption occured: ";
+ s += "\nAdaption occurred: ";
s += Colors::adapted ? "yes" : "no";
s += "\nOpenGL version: ";
s += Colors::glVersion;
diff --git a/demos/qtdemo/mainwindow.h b/demos/qtdemo/mainwindow.h
index b8cfda6..460f941 100644
--- a/demos/qtdemo/mainwindow.h
+++ b/demos/qtdemo/mainwindow.h
@@ -74,7 +74,7 @@ public:
DemoTextItem *fpsLabel;
protected:
- // Overidden methods:
+ // Overridden methods:
void showEvent(QShowEvent *event);
void keyPressEvent(QKeyEvent *event);
void resizeEvent(QResizeEvent *event);
diff --git a/demos/qtdemo/qmlShell.qml b/demos/qtdemo/qmlShell.qml
index 2764865..8ca06f1 100644
--- a/demos/qtdemo/qmlShell.qml
+++ b/demos/qtdemo/qmlShell.qml
@@ -85,7 +85,7 @@ Item {
MouseArea{
anchors.fill: parent
acceptedButtons: Qt.LeftButton | Qt.RightButton | Qt.MiddleButton
- onClicked: loader.focus=true;/* and don't propogate to the 'exit' area*/
+ onClicked: loader.focus=true;/* and don't propagate to the 'exit' area*/
}
Rectangle{ id: innerFrame
diff --git a/demos/qtdemo/textbutton.h b/demos/qtdemo/textbutton.h
index 55b4edc..039f923 100644
--- a/demos/qtdemo/textbutton.h
+++ b/demos/qtdemo/textbutton.h
@@ -61,7 +61,7 @@ public:
QGraphicsScene *scene = 0, QGraphicsItem *parent = 0, BUTTONTYPE color = SIDEBAR);
virtual ~TextButton();
- // overidden methods:
+ // overridden methods:
virtual QRectF boundingRect() const;
virtual void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget * = 0){};
virtual void hoverEnterEvent(QGraphicsSceneHoverEvent *event);
diff --git a/demos/qtdemo/xml/examples.xml b/demos/qtdemo/xml/examples.xml
index 27f72bb..b94d2b8 100644
--- a/demos/qtdemo/xml/examples.xml
+++ b/demos/qtdemo/xml/examples.xml
@@ -19,7 +19,6 @@
<example filename="sub-attaq" name="Sub-attaq" />
<example filename="spectrum" name="Spectrum Analyzer" />
<example filename="declarative/minehunt" name="Minehunt"/>
- <example filename="declarative/snake" name="Snake" executable="false" qml="true"/>
<example filename="deform" name="Vector Deformation" />
<example filename="books" name="Books" />
<example filename="mainwindow" name="Main Window" />
diff --git a/demos/spectrum/3rdparty/fftreal/fftreal.pro b/demos/spectrum/3rdparty/fftreal/fftreal.pro
index 6305af4..e5093ba 100644
--- a/demos/spectrum/3rdparty/fftreal/fftreal.pro
+++ b/demos/spectrum/3rdparty/fftreal/fftreal.pro
@@ -40,7 +40,7 @@ symbian {
macx {
CONFIG += lib_bundle
} else {
- !symbian: DESTDIR = ../..
+ !symbian: DESTDIR = ../..$${spectrum_build_dir}
}
# Install
diff --git a/demos/spectrum/app/app.pro b/demos/spectrum/app/app.pro
index 4fe8b6d..a75b41a 100644
--- a/demos/spectrum/app/app.pro
+++ b/demos/spectrum/app/app.pro
@@ -65,7 +65,7 @@ symbian {
LIBS += -F$${fftreal_dir}
LIBS += -framework fftreal
} else {
- LIBS += -L..
+ LIBS += -L..$${spectrum_build_dir}
LIBS += -lfftreal
}
}
@@ -86,15 +86,13 @@ symbian {
!contains(DEFINES, DISABLE_FFT) {
# Include FFTReal DLL in the SIS file
- fftreal.sources = ../fftreal.dll
+ fftreal.files = ../fftreal.dll
fftreal.path = !:/sys/bin
DEPLOYMENT += fftreal
}
} else {
+ DESTDIR = ..$${spectrum_build_dir}
macx {
- # Specify directory in which to create spectrum.app bundle
- DESTDIR = ..
-
!contains(DEFINES, DISABLE_FFT) {
# Relocate fftreal.framework into spectrum.app bundle
framework_dir = ../spectrum.app/Contents/Frameworks
@@ -110,10 +108,7 @@ symbian {
../spectrum.app/Contents/MacOS/spectrum
}
} else {
- # Specify directory in which to create spectrum application
- DESTDIR = ..
-
- unix: {
+ linux-g++*: {
# Provide relative path from application to fftreal library
QMAKE_LFLAGS += -Wl,--rpath=\\\$\$ORIGIN
}
diff --git a/demos/spectrum/app/engine.cpp b/demos/spectrum/app/engine.cpp
index 119a0e3..cd847fe 100644
--- a/demos/spectrum/app/engine.cpp
+++ b/demos/spectrum/app/engine.cpp
@@ -85,6 +85,7 @@ Engine::Engine(QObject *parent)
, m_state(QAudio::StoppedState)
, m_generateTone(false)
, m_file(0)
+ , m_analysisFile(0)
, m_availableAudioInputDevices
(QAudioDeviceInfo::availableDevices(QAudio::AudioInput))
, m_audioInputDevice(QAudioDeviceInfo::defaultInputDevice())
@@ -96,15 +97,19 @@ Engine::Engine(QObject *parent)
, m_audioOutputDevice(QAudioDeviceInfo::defaultOutputDevice())
, m_audioOutput(0)
, m_playPosition(0)
+ , m_bufferPosition(0)
+ , m_bufferLength(0)
, m_dataLength(0)
+ , m_levelBufferLength(0)
, m_rmsLevel(0.0)
, m_peakLevel(0.0)
- , m_spectrumLengthBytes(0)
+ , m_spectrumBufferLength(0)
, m_spectrumAnalyser()
, m_spectrumPosition(0)
, m_count(0)
{
qRegisterMetaType<FrequencySpectrum>("FrequencySpectrum");
+ qRegisterMetaType<WindowFunction>("WindowFunction");
CHECKED_CONNECT(&m_spectrumAnalyser,
SIGNAL(spectrumChanged(FrequencySpectrum)),
this,
@@ -132,34 +137,33 @@ Engine::~Engine()
bool Engine::loadFile(const QString &fileName)
{
+ reset();
bool result = false;
- m_generateTone = false;
-
- Q_ASSERT(!fileName.isEmpty());
+ Q_ASSERT(!m_generateTone);
Q_ASSERT(!m_file);
- m_file = new QFile(fileName, this);
- m_file->setFileName(fileName);
- Q_ASSERT(m_file->exists());
- if (m_file->open(QFile::ReadOnly)) {
- m_wavFile.readHeader(*m_file);
- if (isPCMS16LE(m_wavFile.format())) {
+ Q_ASSERT(!fileName.isEmpty());
+ m_file = new WavFile(this);
+ if (m_file->open(fileName)) {
+ if (isPCMS16LE(m_file->fileFormat())) {
result = initialize();
} else {
emit errorMessage(tr("Audio format not supported"),
- formatToString(m_wavFile.format()));
+ formatToString(m_file->fileFormat()));
}
} else {
emit errorMessage(tr("Could not open file"), fileName);
}
-
- delete m_file;
- m_file = 0;
-
+ if (result) {
+ m_analysisFile = new WavFile(this);
+ m_analysisFile->open(fileName);
+ }
return result;
}
bool Engine::generateTone(const Tone &tone)
{
+ reset();
+ Q_ASSERT(!m_generateTone);
Q_ASSERT(!m_file);
m_generateTone = true;
m_tone = tone;
@@ -172,6 +176,7 @@ bool Engine::generateTone(const Tone &tone)
bool Engine::generateSweptTone(qreal amplitude)
{
+ Q_ASSERT(!m_generateTone);
Q_ASSERT(!m_file);
m_generateTone = true;
m_tone.startFreq = 1;
@@ -185,41 +190,18 @@ bool Engine::generateSweptTone(qreal amplitude)
bool Engine::initializeRecord()
{
+ reset();
ENGINE_DEBUG << "Engine::initializeRecord";
+ Q_ASSERT(!m_generateTone);
Q_ASSERT(!m_file);
m_generateTone = false;
m_tone = SweptTone();
return initialize();
}
-qint64 Engine::bufferDuration() const
-{
- return BufferDurationUs;
-}
-
-qint64 Engine::dataDuration() const
+qint64 Engine::bufferLength() const
{
- qint64 result = 0;
- if (QAudioFormat() != m_format)
- result = audioDuration(m_format, m_dataLength);
- return result;
-}
-
-qint64 Engine::audioBufferLength() const
-{
- qint64 length = 0;
- if (QAudio::ActiveState == m_state || QAudio::IdleState == m_state) {
- Q_ASSERT(QAudioFormat() != m_format);
- switch (m_mode) {
- case QAudio::AudioInput:
- length = m_audioInput->bufferSize();
- break;
- case QAudio::AudioOutput:
- length = m_audioOutput->bufferSize();
- break;
- }
- }
- return length;
+ return m_file ? m_file->size() : m_bufferLength;
}
void Engine::setWindowFunction(WindowFunction type)
@@ -252,7 +234,7 @@ void Engine::startRecording()
this, SLOT(audioNotify()));
m_count = 0;
m_dataLength = 0;
- emit dataDurationChanged(0);
+ emit dataLengthChanged(0);
m_audioInputIODevice = m_audioInput->start();
CHECKED_CONNECT(m_audioInputIODevice, SIGNAL(readyRead()),
this, SLOT(audioDataReady()));
@@ -275,7 +257,6 @@ void Engine::startPlayback()
} else {
m_spectrumAnalyser.cancelCalculation();
spectrumChanged(0, 0, FrequencySpectrum());
-
setPlayPosition(0, true);
stopRecording();
m_mode = QAudio::AudioOutput;
@@ -284,10 +265,17 @@ void Engine::startPlayback()
CHECKED_CONNECT(m_audioOutput, SIGNAL(notify()),
this, SLOT(audioNotify()));
m_count = 0;
- m_audioOutputIODevice.close();
- m_audioOutputIODevice.setBuffer(&m_buffer);
- m_audioOutputIODevice.open(QIODevice::ReadOnly);
- m_audioOutput->start(&m_audioOutputIODevice);
+ if (m_file) {
+ m_file->seek(0);
+ m_bufferPosition = 0;
+ m_dataLength = 0;
+ m_audioOutput->start(m_file);
+ } else {
+ m_audioOutputIODevice.close();
+ m_audioOutputIODevice.setBuffer(&m_buffer);
+ m_audioOutputIODevice.open(QIODevice::ReadOnly);
+ m_audioOutput->start(&m_audioOutputIODevice);
+ }
}
}
}
@@ -332,40 +320,55 @@ void Engine::audioNotify()
{
switch (m_mode) {
case QAudio::AudioInput: {
- const qint64 recordPosition =
- qMin(BufferDurationUs, m_audioInput->processedUSecs());
+ const qint64 recordPosition = qMin(m_bufferLength, audioLength(m_format, m_audioInput->processedUSecs()));
setRecordPosition(recordPosition);
-
- // Calculate level of most recently captured data
- qint64 levelLength = audioLength(m_format, LevelWindowUs);
- levelLength = qMin(m_dataLength, levelLength);
- const qint64 levelPosition = m_dataLength - levelLength;
- calculateLevel(levelPosition, levelLength);
-
- // Calculate spectrum of most recently captured data
- if (m_dataLength >= m_spectrumLengthBytes) {
- const qint64 spectrumPosition = m_dataLength - m_spectrumLengthBytes;
+ const qint64 levelPosition = m_dataLength - m_levelBufferLength;
+ if (levelPosition >= 0)
+ calculateLevel(levelPosition, m_levelBufferLength);
+ if (m_dataLength >= m_spectrumBufferLength) {
+ const qint64 spectrumPosition = m_dataLength - m_spectrumBufferLength;
calculateSpectrum(spectrumPosition);
}
+ emit bufferChanged(0, m_dataLength, m_buffer);
}
break;
case QAudio::AudioOutput: {
- const qint64 playPosition =
- qMin(dataDuration(), m_audioOutput->processedUSecs());
- setPlayPosition(playPosition);
-
- qint64 analysisPosition = audioLength(m_format, playPosition);
-
- // Calculate level of data starting at current playback position
- const qint64 levelLength = audioLength(m_format, LevelWindowUs);
- if (analysisPosition + levelLength < m_dataLength)
- calculateLevel(analysisPosition, levelLength);
-
- if (analysisPosition + m_spectrumLengthBytes < m_dataLength)
- calculateSpectrum(analysisPosition);
-
- if (dataDuration() == playPosition)
- stopPlayback();
+ const qint64 playPosition = audioLength(m_format, m_audioOutput->processedUSecs());
+ setPlayPosition(qMin(bufferLength(), playPosition));
+ const qint64 levelPosition = playPosition - m_levelBufferLength;
+ const qint64 spectrumPosition = playPosition - m_spectrumBufferLength;
+ if (m_file) {
+ if (levelPosition > m_bufferPosition ||
+ spectrumPosition > m_bufferPosition ||
+ qMax(m_levelBufferLength, m_spectrumBufferLength) > m_dataLength) {
+ m_bufferPosition = 0;
+ m_dataLength = 0;
+ // Data needs to be read into m_buffer in order to be analysed
+ const qint64 readPos = qMax(qint64(0), qMin(levelPosition, spectrumPosition));
+ const qint64 readEnd = qMin(m_analysisFile->size(), qMax(levelPosition + m_levelBufferLength, spectrumPosition + m_spectrumBufferLength));
+ const qint64 readLen = readEnd - readPos + audioLength(m_format, WaveformWindowDuration);
+ qDebug() << "Engine::audioNotify [1]"
+ << "analysisFileSize" << m_analysisFile->size()
+ << "readPos" << readPos
+ << "readLen" << readLen;
+ if (m_analysisFile->seek(readPos + m_analysisFile->headerLength())) {
+ m_buffer.resize(readLen);
+ m_bufferPosition = readPos;
+ m_dataLength = m_analysisFile->read(m_buffer.data(), readLen);
+ qDebug() << "Engine::audioNotify [2]" << "bufferPosition" << m_bufferPosition << "dataLength" << m_dataLength;
+ } else {
+ qDebug() << "Engine::audioNotify [2]" << "file seek error";
+ }
+ emit bufferChanged(m_bufferPosition, m_dataLength, m_buffer);
+ }
+ } else {
+ if (playPosition >= m_dataLength)
+ stopPlayback();
+ }
+ if (levelPosition >= 0 && levelPosition + m_levelBufferLength < m_bufferPosition + m_dataLength)
+ calculateLevel(levelPosition, m_levelBufferLength);
+ if (spectrumPosition >= 0 && spectrumPosition + m_spectrumBufferLength < m_bufferPosition + m_dataLength)
+ calculateSpectrum(spectrumPosition);
}
break;
}
@@ -376,27 +379,32 @@ void Engine::audioStateChanged(QAudio::State state)
ENGINE_DEBUG << "Engine::audioStateChanged from" << m_state
<< "to" << state;
- if (QAudio::StoppedState == state) {
- // Check error
- QAudio::Error error = QAudio::NoError;
- switch (m_mode) {
- case QAudio::AudioInput:
- error = m_audioInput->error();
- break;
- case QAudio::AudioOutput:
- error = m_audioOutput->error();
- break;
- }
- if (QAudio::NoError != error) {
- reset();
- return;
+ if (QAudio::IdleState == state && m_file && m_file->pos() == m_file->size()) {
+ stopPlayback();
+ } else {
+ if (QAudio::StoppedState == state) {
+ // Check error
+ QAudio::Error error = QAudio::NoError;
+ switch (m_mode) {
+ case QAudio::AudioInput:
+ error = m_audioInput->error();
+ break;
+ case QAudio::AudioOutput:
+ error = m_audioOutput->error();
+ break;
+ }
+ if (QAudio::NoError != error) {
+ reset();
+ return;
+ }
}
+ setState(state);
}
- setState(state);
}
void Engine::audioDataReady()
{
+ Q_ASSERT(0 == m_bufferPosition);
const qint64 bytesReady = m_audioInput->bytesReady();
const qint64 bytesSpace = m_buffer.size() - m_dataLength;
const qint64 bytesToRead = qMin(bytesReady, bytesSpace);
@@ -407,9 +415,7 @@ void Engine::audioDataReady()
if (bytesRead) {
m_dataLength += bytesRead;
-
- const qint64 duration = audioDuration(m_format, m_dataLength);
- emit dataDurationChanged(duration);
+ emit dataLengthChanged(dataLength());
}
if (m_buffer.size() == m_dataLength)
@@ -419,9 +425,7 @@ void Engine::audioDataReady()
void Engine::spectrumChanged(const FrequencySpectrum &spectrum)
{
ENGINE_DEBUG << "Engine::spectrumChanged" << "pos" << m_spectrumPosition;
- const qint64 positionUs = audioDuration(m_format, m_spectrumPosition);
- const qint64 lengthUs = audioDuration(m_format, m_spectrumLengthBytes);
- emit spectrumChanged(positionUs, lengthUs, spectrum);
+ emit spectrumChanged(m_spectrumPosition, m_spectrumBufferLength, spectrum);
}
@@ -429,12 +433,8 @@ void Engine::spectrumChanged(const FrequencySpectrum &spectrum)
// Private functions
//-----------------------------------------------------------------------------
-void Engine::reset()
+void Engine::resetAudioDevices()
{
- stopRecording();
- stopPlayback();
- setState(QAudio::AudioInput, QAudio::StoppedState);
- setFormat(QAudioFormat());
delete m_audioInput;
m_audioInput = 0;
m_audioInputIODevice = 0;
@@ -442,55 +442,71 @@ void Engine::reset()
delete m_audioOutput;
m_audioOutput = 0;
setPlayPosition(0);
- m_buffer.clear();
- m_dataLength = 0;
m_spectrumPosition = 0;
- emit dataDurationChanged(0);
setLevel(0.0, 0.0, 0);
}
+void Engine::reset()
+{
+ stopRecording();
+ stopPlayback();
+ setState(QAudio::AudioInput, QAudio::StoppedState);
+ setFormat(QAudioFormat());
+ m_generateTone = false;
+ delete m_file;
+ m_file = 0;
+ delete m_analysisFile;
+ m_analysisFile = 0;
+ m_buffer.clear();
+ m_bufferPosition = 0;
+ m_bufferLength = 0;
+ m_dataLength = 0;
+ emit dataLengthChanged(0);
+ resetAudioDevices();
+}
+
bool Engine::initialize()
{
bool result = false;
- reset();
+ QAudioFormat format = m_format;
if (selectFormat()) {
- const qint64 bufferLength = audioLength(m_format, BufferDurationUs);
- m_buffer.resize(bufferLength);
- m_buffer.fill(0);
- emit bufferDurationChanged(BufferDurationUs);
-
- if (m_generateTone) {
- if (0 == m_tone.endFreq) {
- const qreal nyquist = nyquistFrequency(m_format);
- m_tone.endFreq = qMin(qreal(SpectrumHighFreq), nyquist);
- }
-
- // Call function defined in utils.h, at global scope
- ::generateTone(m_tone, m_format, m_buffer);
- m_dataLength = m_buffer.size();
- emit dataDurationChanged(bufferDuration());
- setRecordPosition(bufferDuration());
- result = true;
- } else if (m_file) {
- const qint64 length = m_wavFile.readData(*m_file, m_buffer, m_format);
- if (length) {
- m_dataLength = length;
- emit dataDurationChanged(dataDuration());
- setRecordPosition(dataDuration());
+ if (m_format != format) {
+ resetAudioDevices();
+ if (m_file) {
+ emit bufferLengthChanged(bufferLength());
+ emit dataLengthChanged(dataLength());
+ emit bufferChanged(0, 0, m_buffer);
+ setRecordPosition(bufferLength());
result = true;
+ } else {
+ m_bufferLength = audioLength(m_format, BufferDurationUs);
+ m_buffer.resize(m_bufferLength);
+ m_buffer.fill(0);
+ emit bufferLengthChanged(bufferLength());
+ if (m_generateTone) {
+ if (0 == m_tone.endFreq) {
+ const qreal nyquist = nyquistFrequency(m_format);
+ m_tone.endFreq = qMin(qreal(SpectrumHighFreq), nyquist);
+ }
+ // Call function defined in utils.h, at global scope
+ ::generateTone(m_tone, m_format, m_buffer);
+ m_dataLength = m_bufferLength;
+ emit dataLengthChanged(dataLength());
+ emit bufferChanged(0, m_dataLength, m_buffer);
+ setRecordPosition(m_bufferLength);
+ result = true;
+ } else {
+ emit bufferChanged(0, 0, m_buffer);
+ m_audioInput = new QAudioInput(m_audioInputDevice, m_format, this);
+ m_audioInput->setNotifyInterval(NotifyIntervalMs);
+ result = true;
+ }
}
- } else {
- m_audioInput = new QAudioInput(m_audioInputDevice, m_format, this);
- m_audioInput->setNotifyInterval(NotifyIntervalMs);
- result = true;
+ m_audioOutput = new QAudioOutput(m_audioOutputDevice, m_format, this);
+ m_audioOutput->setNotifyInterval(NotifyIntervalMs);
}
-
- m_audioOutput = new QAudioOutput(m_audioOutputDevice, m_format, this);
- m_audioOutput->setNotifyInterval(NotifyIntervalMs);
- m_spectrumLengthBytes = SpectrumLengthSamples *
- (m_format.sampleSize() / 8) * m_format.channels();
} else {
if (m_file)
emit errorMessage(tr("Audio format not supported"),
@@ -501,6 +517,8 @@ bool Engine::initialize()
emit errorMessage(tr("No common input / output format found"), "");
}
+ ENGINE_DEBUG << "Engine::initialize" << "m_bufferLength" << m_bufferLength;
+ ENGINE_DEBUG << "Engine::initialize" << "m_dataLength" << m_dataLength;
ENGINE_DEBUG << "Engine::initialize" << "format" << m_format;
return result;
@@ -510,21 +528,15 @@ bool Engine::selectFormat()
{
bool foundSupportedFormat = false;
- if (m_file) {
- // Header is read from the WAV file; just need to check whether
- // it is supported by the audio output device
- QAudioFormat format = m_wavFile.format();
- if (m_audioOutputDevice.isFormatSupported(m_wavFile.format())) {
- setFormat(m_wavFile.format());
+ if (m_file || QAudioFormat() != m_format) {
+ QAudioFormat format = m_format;
+ if (m_file)
+ // Header is read from the WAV file; just need to check whether
+ // it is supported by the audio output device
+ format = m_file->fileFormat();
+ if (m_audioOutputDevice.isFormatSupported(format)) {
+ setFormat(format);
foundSupportedFormat = true;
- } else {
- // Try flipping mono <-> stereo
- const int channels = (format.channels() == 1) ? 2 : 1;
- format.setChannels(channels);
- if (m_audioOutputDevice.isFormatSupported(format)) {
- setFormat(format);
- foundSupportedFormat = true;
- }
}
} else {
@@ -648,12 +660,12 @@ void Engine::calculateLevel(qint64 position, qint64 length)
Q_UNUSED(position)
Q_UNUSED(length)
#else
- Q_ASSERT(position + length <= m_dataLength);
+ Q_ASSERT(position + length <= m_bufferPosition + m_dataLength);
qreal peakLevel = 0.0;
qreal sum = 0.0;
- const char *ptr = m_buffer.constData() + position;
+ const char *ptr = m_buffer.constData() + position - m_bufferPosition;
const char *const end = ptr + length;
while (ptr < end) {
const qint16 value = *reinterpret_cast<const qint16*>(ptr);
@@ -679,18 +691,18 @@ void Engine::calculateSpectrum(qint64 position)
#ifdef DISABLE_SPECTRUM
Q_UNUSED(position)
#else
- Q_ASSERT(position + m_spectrumLengthBytes <= m_dataLength);
- Q_ASSERT(0 == m_spectrumLengthBytes % 2); // constraint of FFT algorithm
+ Q_ASSERT(position + m_spectrumBufferLength <= m_bufferPosition + m_dataLength);
+ Q_ASSERT(0 == m_spectrumBufferLength % 2); // constraint of FFT algorithm
// QThread::currentThread is marked 'for internal use only', but
// we're only using it for debug output here, so it's probably OK :)
ENGINE_DEBUG << "Engine::calculateSpectrum" << QThread::currentThread()
- << "count" << m_count << "pos" << position << "len" << m_spectrumLengthBytes
+ << "count" << m_count << "pos" << position << "len" << m_spectrumBufferLength
<< "spectrumAnalyser.isReady" << m_spectrumAnalyser.isReady();
if(m_spectrumAnalyser.isReady()) {
- m_spectrumBuffer = QByteArray::fromRawData(m_buffer.constData() + position,
- m_spectrumLengthBytes);
+ m_spectrumBuffer = QByteArray::fromRawData(m_buffer.constData() + position - m_bufferPosition,
+ m_spectrumBufferLength);
m_spectrumPosition = position;
m_spectrumAnalyser.calculate(m_spectrumBuffer, m_format);
}
@@ -701,6 +713,9 @@ void Engine::setFormat(const QAudioFormat &format)
{
const bool changed = (format != m_format);
m_format = format;
+ m_levelBufferLength = audioLength(m_format, LevelWindowUs);
+ m_spectrumBufferLength = SpectrumLengthSamples *
+ (m_format.sampleSize() / 8) * m_format.channels();
if (changed)
emit formatChanged(m_format);
}
diff --git a/demos/spectrum/app/engine.h b/demos/spectrum/app/engine.h
index b6fe3ed..c97083e 100644
--- a/demos/spectrum/app/engine.h
+++ b/demos/spectrum/app/engine.h
@@ -91,12 +91,6 @@ public:
QAudio::State state() const { return m_state; }
/**
- * \return Reference to internal audio buffer
- * \note This reference is valid for the lifetime of the Engine
- */
- const QByteArray& buffer() const { return m_buffer; }
-
- /**
* \return Current audio format
* \note May be QAudioFormat() if engine is not initialized
*/
@@ -129,7 +123,7 @@ public:
/**
* Position of the audio input device.
- * \return Position in microseconds.
+ * \return Position in bytes.
*/
qint64 recordPosition() const { return m_recordPosition; }
@@ -147,27 +141,21 @@ public:
/**
* Position of the audio output device.
- * \return Position in microseconds.
+ * \return Position in bytes.
*/
qint64 playPosition() const { return m_playPosition; }
/**
* Length of the internal engine buffer.
- * \return Buffer length in microseconds.
+ * \return Buffer length in bytes.
*/
- qint64 bufferDuration() const;
+ qint64 bufferLength() const;
/**
* Amount of data held in the buffer.
- * \return Data duration in microseconds.
+ * \return Data length in bytes.
*/
- qint64 dataDuration() const;
-
- /**
- * Returns the size of the underlying audio buffer in bytes.
- * This should be an approximation of the capture latency.
- */
- qint64 audioBufferLength() const;
+ qint64 dataLength() const { return m_dataLength; }
/**
* Set window function applied to audio data before spectral analysis.
@@ -203,23 +191,23 @@ signals:
* Length of buffer has changed.
* \param duration Duration in microseconds
*/
- void bufferDurationChanged(qint64 duration);
+ void bufferLengthChanged(qint64 duration);
/**
* Amount of data in buffer has changed.
- * \param duration Duration of data in microseconds
+ * \param Length of data in bytes
*/
- void dataDurationChanged(qint64 duration);
+ void dataLengthChanged(qint64 duration);
/**
* Position of the audio input device has changed.
- * \param position Position in microseconds
+ * \param position Position in bytes
*/
void recordPositionChanged(qint64 position);
/**
* Position of the audio output device has changed.
- * \param position Position in microseconds
+ * \param position Position in bytes
*/
void playPositionChanged(qint64 position);
@@ -227,18 +215,25 @@ signals:
* Level changed
* \param rmsLevel RMS level in range 0.0 - 1.0
* \param peakLevel Peak level in range 0.0 - 1.0
- * \param numSamples Number of audio samples analysed
+ * \param numSamples Number of audio samples analyzed
*/
void levelChanged(qreal rmsLevel, qreal peakLevel, int numSamples);
/**
* Spectrum has changed.
- * \param position Position of start of window in microseconds
- * \param length Length of window in microseconds
+ * \param position Position of start of window in bytes
+ * \param length Length of window in bytes
* \param spectrum Resulting frequency spectrum
*/
void spectrumChanged(qint64 position, qint64 length, const FrequencySpectrum &spectrum);
+ /**
+ * Buffer containing audio data has changed.
+ * \param position Position of start of buffer in bytes
+ * \param buffer Buffer
+ */
+ void bufferChanged(qint64 position, qint64 length, const QByteArray &buffer);
+
private slots:
void audioNotify();
void audioStateChanged(QAudio::State state);
@@ -246,6 +241,7 @@ private slots:
void spectrumChanged(const FrequencySpectrum &spectrum);
private:
+ void resetAudioDevices();
bool initialize();
bool selectFormat();
void stopRecording();
@@ -275,8 +271,10 @@ private:
bool m_generateTone;
SweptTone m_tone;
- QFile* m_file;
- WavFile m_wavFile;
+ WavFile* m_file;
+ // We need a second file handle via which to read data into m_buffer
+ // for analysis
+ WavFile* m_analysisFile;
QAudioFormat m_format;
@@ -293,12 +291,15 @@ private:
QBuffer m_audioOutputIODevice;
QByteArray m_buffer;
+ qint64 m_bufferPosition;
+ qint64 m_bufferLength;
qint64 m_dataLength;
+ int m_levelBufferLength;
qreal m_rmsLevel;
qreal m_peakLevel;
- int m_spectrumLengthBytes;
+ int m_spectrumBufferLength;
QByteArray m_spectrumBuffer;
SpectrumAnalyser m_spectrumAnalyser;
qint64 m_spectrumPosition;
diff --git a/demos/spectrum/app/levelmeter.h b/demos/spectrum/app/levelmeter.h
index 38d13b1..683dba7 100644
--- a/demos/spectrum/app/levelmeter.h
+++ b/demos/spectrum/app/levelmeter.h
@@ -46,7 +46,7 @@
/**
* Widget which displays a vertical audio level meter, indicating the
- * RMS and peak levels of the window of audio samples most recently analysed
+ * RMS and peak levels of the window of audio samples most recently analyzed
* by the Engine.
*/
class LevelMeter : public QWidget {
diff --git a/demos/spectrum/app/main.cpp b/demos/spectrum/app/main.cpp
index 3bdfb7d..fb5183e 100644
--- a/demos/spectrum/app/main.cpp
+++ b/demos/spectrum/app/main.cpp
@@ -44,7 +44,7 @@
int main(int argc, char **argv)
{
QApplication app(argc, argv);
- app.setApplicationName("QtMultimedia spectrum analyser");
+ app.setApplicationName("QtMultimedia spectrum analyzer");
MainWidget w;
#ifdef Q_OS_SYMBIAN
diff --git a/demos/spectrum/app/mainwidget.cpp b/demos/spectrum/app/mainwidget.cpp
index dd51a91..4b53bbe 100644
--- a/demos/spectrum/app/mainwidget.cpp
+++ b/demos/spectrum/app/mainwidget.cpp
@@ -65,7 +65,7 @@ MainWidget::MainWidget(QWidget *parent)
, m_mode(NoMode)
, m_engine(new Engine(this))
#ifndef DISABLE_WAVEFORM
- , m_waveform(new Waveform(m_engine->buffer(), this))
+ , m_waveform(new Waveform(this))
#endif
, m_progressBar(new ProgressBar(this))
, m_spectrograph(new Spectrograph(this))
@@ -166,19 +166,18 @@ void MainWidget::timerEvent(QTimerEvent *event)
m_infoMessage->setText("");
}
-void MainWidget::positionChanged(qint64 positionUs)
+void MainWidget::audioPositionChanged(qint64 position)
{
#ifndef DISABLE_WAVEFORM
- qint64 positionBytes = audioLength(m_engine->format(), positionUs);
- m_waveform->positionChanged(positionBytes);
+ m_waveform->audioPositionChanged(position);
#else
- Q_UNUSED(positionUs)
+ Q_UNUSED(position)
#endif
}
-void MainWidget::bufferDurationChanged(qint64 durationUs)
+void MainWidget::bufferLengthChanged(qint64 length)
{
- m_progressBar->bufferDurationChanged(durationUs);
+ m_progressBar->bufferLengthChanged(length);
}
@@ -186,33 +185,22 @@ void MainWidget::bufferDurationChanged(qint64 durationUs)
// Private slots
//-----------------------------------------------------------------------------
-void MainWidget::dataDurationChanged(qint64 duration)
-{
-#ifndef DISABLE_WAVEFORM
- const qint64 dataLength = audioLength(m_engine->format(), duration);
- m_waveform->dataLengthChanged(dataLength);
-#else
- Q_UNUSED(duration)
-#endif
-
- updateButtonStates();
-}
-
void MainWidget::showFileDialog()
{
- reset();
const QString dir;
const QStringList fileNames = QFileDialog::getOpenFileNames(this, tr("Open WAV file"), dir, "*.wav");
if (fileNames.count()) {
+ reset();
setMode(LoadFileMode);
m_engine->loadFile(fileNames.front());
updateButtonStates();
+ } else {
+ updateModeMenu();
}
}
void MainWidget::showSettingsDialog()
{
- reset();
m_settingsDialog->exec();
if (m_settingsDialog->result() == QDialog::Accepted) {
m_engine->setAudioInputDevice(m_settingsDialog->inputDevice());
@@ -223,9 +211,9 @@ void MainWidget::showSettingsDialog()
void MainWidget::showToneGeneratorDialog()
{
- reset();
m_toneGeneratorDialog->exec();
if (m_toneGeneratorDialog->result() == QDialog::Accepted) {
+ reset();
setMode(GenerateToneMode);
const qreal amplitude = m_toneGeneratorDialog->amplitude();
if (m_toneGeneratorDialog->isFrequencySweepEnabled()) {
@@ -236,6 +224,8 @@ void MainWidget::showToneGeneratorDialog()
m_engine->generateTone(tone);
updateButtonStates();
}
+ } else {
+ updateModeMenu();
}
}
@@ -360,13 +350,13 @@ void MainWidget::connectUi()
CHECKED_CONNECT(m_engine, SIGNAL(formatChanged(const QAudioFormat &)),
this, SLOT(formatChanged(const QAudioFormat &)));
- m_progressBar->bufferDurationChanged(m_engine->bufferDuration());
+ m_progressBar->bufferLengthChanged(m_engine->bufferLength());
- CHECKED_CONNECT(m_engine, SIGNAL(bufferDurationChanged(qint64)),
- this, SLOT(bufferDurationChanged(qint64)));
+ CHECKED_CONNECT(m_engine, SIGNAL(bufferLengthChanged(qint64)),
+ this, SLOT(bufferLengthChanged(qint64)));
- CHECKED_CONNECT(m_engine, SIGNAL(dataDurationChanged(qint64)),
- this, SLOT(dataDurationChanged(qint64)));
+ CHECKED_CONNECT(m_engine, SIGNAL(dataLengthChanged(qint64)),
+ this, SLOT(updateButtonStates()));
CHECKED_CONNECT(m_engine, SIGNAL(recordPositionChanged(qint64)),
m_progressBar, SLOT(recordPositionChanged(qint64)));
@@ -375,10 +365,10 @@ void MainWidget::connectUi()
m_progressBar, SLOT(playPositionChanged(qint64)));
CHECKED_CONNECT(m_engine, SIGNAL(recordPositionChanged(qint64)),
- this, SLOT(positionChanged(qint64)));
+ this, SLOT(audioPositionChanged(qint64)));
CHECKED_CONNECT(m_engine, SIGNAL(playPositionChanged(qint64)),
- this, SLOT(positionChanged(qint64)));
+ this, SLOT(audioPositionChanged(qint64)));
CHECKED_CONNECT(m_engine, SIGNAL(levelChanged(qreal, qreal, int)),
m_levelMeter, SLOT(levelChanged(qreal, qreal, int)));
@@ -394,6 +384,11 @@ void MainWidget::connectUi()
CHECKED_CONNECT(m_spectrograph, SIGNAL(infoMessage(QString, int)),
this, SLOT(infoMessage(QString, int)));
+
+#ifndef DISABLE_WAVEFORM
+ CHECKED_CONNECT(m_engine, SIGNAL(bufferChanged(qint64, qint64, const QByteArray &)),
+ m_waveform, SLOT(bufferChanged(qint64, qint64, const QByteArray &)));
+#endif
}
void MainWidget::createMenus()
@@ -425,7 +420,7 @@ void MainWidget::updateButtonStates()
QAudio::IdleState == m_engine->state());
m_pauseButton->setEnabled(pauseEnabled);
- const bool playEnabled = (m_engine->dataDuration() &&
+ const bool playEnabled = (/*m_engine->dataLength() &&*/
(QAudio::AudioOutput != m_engine->mode() ||
(QAudio::ActiveState != m_engine->state() &&
QAudio::IdleState != m_engine->state())));
@@ -445,10 +440,14 @@ void MainWidget::reset()
void MainWidget::setMode(Mode mode)
{
-
m_mode = mode;
- m_loadFileAction->setChecked(LoadFileMode == mode);
- m_generateToneAction->setChecked(GenerateToneMode == mode);
- m_recordAction->setChecked(RecordMode == mode);
+ updateModeMenu();
+}
+
+void MainWidget::updateModeMenu()
+{
+ m_loadFileAction->setChecked(LoadFileMode == m_mode);
+ m_generateToneAction->setChecked(GenerateToneMode == m_mode);
+ m_recordAction->setChecked(RecordMode == m_mode);
}
diff --git a/demos/spectrum/app/mainwidget.h b/demos/spectrum/app/mainwidget.h
index ddab8b7..13131c0 100644
--- a/demos/spectrum/app/mainwidget.h
+++ b/demos/spectrum/app/mainwidget.h
@@ -80,21 +80,21 @@ public slots:
const FrequencySpectrum &spectrum);
void infoMessage(const QString &message, int timeoutMs);
void errorMessage(const QString &heading, const QString &detail);
- void positionChanged(qint64 position);
- void bufferDurationChanged(qint64 duration);
+ void audioPositionChanged(qint64 position);
+ void bufferLengthChanged(qint64 length);
private slots:
void showFileDialog();
void showSettingsDialog();
void showToneGeneratorDialog();
void initializeRecord();
- void dataDurationChanged(qint64 duration);
+ void updateModeMenu();
+ void updateButtonStates();
private:
void createUi();
void createMenus();
void connectUi();
- void updateButtonStates();
void reset();
enum Mode {
@@ -111,7 +111,9 @@ private:
Engine* m_engine;
+#ifndef DISABLE_WAVEFORM
Waveform* m_waveform;
+#endif
ProgressBar* m_progressBar;
Spectrograph* m_spectrograph;
LevelMeter* m_levelMeter;
diff --git a/demos/spectrum/app/progressbar.cpp b/demos/spectrum/app/progressbar.cpp
index 6bfc690..0ac76f1 100644
--- a/demos/spectrum/app/progressbar.cpp
+++ b/demos/spectrum/app/progressbar.cpp
@@ -44,7 +44,7 @@
ProgressBar::ProgressBar(QWidget *parent)
: QWidget(parent)
- , m_bufferDuration(0)
+ , m_bufferLength(0)
, m_recordPosition(0)
, m_playPosition(0)
, m_windowPosition(0)
@@ -64,7 +64,7 @@ ProgressBar::~ProgressBar()
void ProgressBar::reset()
{
- m_bufferDuration = 0;
+ m_bufferLength = 0;
m_recordPosition = 0;
m_playPosition = 0;
m_windowPosition = 0;
@@ -86,26 +86,26 @@ void ProgressBar::paintEvent(QPaintEvent * /*event*/)
painter.fillRect(rect(), Qt::black);
#endif
- if (m_bufferDuration) {
+ if (m_bufferLength) {
QRect bar = rect();
- const qreal play = qreal(m_playPosition) / m_bufferDuration;
+ const qreal play = qreal(m_playPosition) / m_bufferLength;
bar.setLeft(rect().left() + play * rect().width());
- const qreal record = qreal(m_recordPosition) / m_bufferDuration;
+ const qreal record = qreal(m_recordPosition) / m_bufferLength;
bar.setRight(rect().left() + record * rect().width());
painter.fillRect(bar, bufferColor);
QRect window = rect();
- const qreal windowLeft = qreal(m_windowPosition) / m_bufferDuration;
+ const qreal windowLeft = qreal(m_windowPosition) / m_bufferLength;
window.setLeft(rect().left() + windowLeft * rect().width());
- const qreal windowWidth = qreal(m_windowLength) / m_bufferDuration;
+ const qreal windowWidth = qreal(m_windowLength) / m_bufferLength;
window.setWidth(windowWidth * rect().width());
painter.fillRect(window, windowColor);
}
}
-void ProgressBar::bufferDurationChanged(qint64 bufferSize)
+void ProgressBar::bufferLengthChanged(qint64 bufferSize)
{
- m_bufferDuration = bufferSize;
+ m_bufferLength = bufferSize;
m_recordPosition = 0;
m_playPosition = 0;
m_windowPosition = 0;
@@ -116,7 +116,7 @@ void ProgressBar::bufferDurationChanged(qint64 bufferSize)
void ProgressBar::recordPositionChanged(qint64 recordPosition)
{
Q_ASSERT(recordPosition >= 0);
- Q_ASSERT(recordPosition <= m_bufferDuration);
+ Q_ASSERT(recordPosition <= m_bufferLength);
m_recordPosition = recordPosition;
repaint();
}
@@ -124,7 +124,7 @@ void ProgressBar::recordPositionChanged(qint64 recordPosition)
void ProgressBar::playPositionChanged(qint64 playPosition)
{
Q_ASSERT(playPosition >= 0);
- Q_ASSERT(playPosition <= m_bufferDuration);
+ Q_ASSERT(playPosition <= m_bufferLength);
m_playPosition = playPosition;
repaint();
}
@@ -132,8 +132,8 @@ void ProgressBar::playPositionChanged(qint64 playPosition)
void ProgressBar::windowChanged(qint64 position, qint64 length)
{
Q_ASSERT(position >= 0);
- Q_ASSERT(position <= m_bufferDuration);
- Q_ASSERT(position + length <= m_bufferDuration);
+ Q_ASSERT(position <= m_bufferLength);
+ Q_ASSERT(position + length <= m_bufferLength);
m_windowPosition = position;
m_windowLength = length;
repaint();
diff --git a/demos/spectrum/app/progressbar.h b/demos/spectrum/app/progressbar.h
index 8514adb..e715cf5 100644
--- a/demos/spectrum/app/progressbar.h
+++ b/demos/spectrum/app/progressbar.h
@@ -57,13 +57,13 @@ public:
void paintEvent(QPaintEvent *event);
public slots:
- void bufferDurationChanged(qint64 bufferSize);
+ void bufferLengthChanged(qint64 length);
void recordPositionChanged(qint64 recordPosition);
void playPositionChanged(qint64 playPosition);
void windowChanged(qint64 position, qint64 length);
private:
- qint64 m_bufferDuration;
+ qint64 m_bufferLength;
qint64 m_recordPosition;
qint64 m_playPosition;
qint64 m_windowPosition;
diff --git a/demos/spectrum/app/spectrograph.h b/demos/spectrum/app/spectrograph.h
index ce59d90..fa4a6cf 100644
--- a/demos/spectrum/app/spectrograph.h
+++ b/demos/spectrum/app/spectrograph.h
@@ -48,7 +48,7 @@ QT_FORWARD_DECLARE_CLASS(QMouseEvent)
/**
* Widget which displays a spectrograph showing the frequency spectrum
- * of the window of audio samples most recently analysed by the Engine.
+ * of the window of audio samples most recently analyzed by the Engine.
*/
class Spectrograph : public QWidget {
Q_OBJECT
diff --git a/demos/spectrum/app/spectrumanalyser.cpp b/demos/spectrum/app/spectrumanalyser.cpp
index c467f61..2fa17b1 100644
--- a/demos/spectrum/app/spectrumanalyser.cpp
+++ b/demos/spectrum/app/spectrumanalyser.cpp
@@ -64,6 +64,8 @@ SpectrumAnalyserThread::SpectrumAnalyserThread(QObject *parent)
#endif
{
#ifdef SPECTRUM_ANALYSER_SEPARATE_THREAD
+ // moveToThread() cannot be called on a QObject with a parent
+ setParent(0);
moveToThread(m_thread);
m_thread->start();
#endif
@@ -124,7 +126,7 @@ void SpectrumAnalyserThread::calculateSpectrum(const QByteArray &buffer,
// Calculate the FFT
m_fft->calculateFFT(m_output.data(), m_input.data());
- // Analyse output to obtain amplitude and phase for each frequency
+ // Analyze output to obtain amplitude and phase for each frequency
for (int i=2; i<=m_numSamples/2; ++i) {
// Calculate frequency of this complex sample
m_spectrum[i].frequency = qreal(i * inputFrequency) / (m_numSamples);
diff --git a/demos/spectrum/app/utils.cpp b/demos/spectrum/app/utils.cpp
index 4ead6c2..49a7626 100644
--- a/demos/spectrum/app/utils.cpp
+++ b/demos/spectrum/app/utils.cpp
@@ -49,8 +49,10 @@ qint64 audioDuration(const QAudioFormat &format, qint64 bytes)
qint64 audioLength(const QAudioFormat &format, qint64 microSeconds)
{
- return (format.frequency() * format.channels() * (format.sampleSize() / 8))
+ qint64 result = (format.frequency() * format.channels() * (format.sampleSize() / 8))
* microSeconds / 1000000;
+ result -= result % (format.channelCount() * format.sampleSize());
+ return result;
}
qreal nyquistFrequency(const QAudioFormat &format)
diff --git a/demos/spectrum/app/waveform.cpp b/demos/spectrum/app/waveform.cpp
index 1f7d315..bd854c0 100644
--- a/demos/spectrum/app/waveform.cpp
+++ b/demos/spectrum/app/waveform.cpp
@@ -44,12 +44,18 @@
#include <QResizeEvent>
#include <QDebug>
-
-Waveform::Waveform(const QByteArray &buffer, QWidget *parent)
+//#define PAINT_EVENT_TRACE
+#ifdef PAINT_EVENT_TRACE
+# define WAVEFORM_PAINT_DEBUG qDebug()
+#else
+# define WAVEFORM_PAINT_DEBUG nullDebug()
+#endif
+
+Waveform::Waveform(QWidget *parent)
: QWidget(parent)
- , m_buffer(buffer)
- , m_dataLength(0)
- , m_position(0)
+ , m_bufferPosition(0)
+ , m_bufferLength(0)
+ , m_audioPosition(0)
, m_active(false)
, m_tileLength(0)
, m_tileArrayStart(0)
@@ -72,19 +78,19 @@ void Waveform::paintEvent(QPaintEvent * /*event*/)
painter.fillRect(rect(), Qt::black);
if (m_active) {
- WAVEFORM_DEBUG << "Waveform::paintEvent"
- << "windowPosition" << m_windowPosition
- << "windowLength" << m_windowLength;
+ WAVEFORM_PAINT_DEBUG << "Waveform::paintEvent"
+ << "windowPosition" << m_windowPosition
+ << "windowLength" << m_windowLength;
qint64 pos = m_windowPosition;
const qint64 windowEnd = m_windowPosition + m_windowLength;
int destLeft = 0;
int destRight = 0;
while (pos < windowEnd) {
const TilePoint point = tilePoint(pos);
- WAVEFORM_DEBUG << "Waveform::paintEvent" << "pos" << pos
- << "tileIndex" << point.index
- << "positionOffset" << point.positionOffset
- << "pixelOffset" << point.pixelOffset;
+ WAVEFORM_PAINT_DEBUG << "Waveform::paintEvent" << "pos" << pos
+ << "tileIndex" << point.index
+ << "positionOffset" << point.positionOffset
+ << "pixelOffset" << point.pixelOffset;
if (point.index != NullIndex) {
const Tile &tile = m_tiles[point.index];
@@ -104,9 +110,9 @@ void Waveform::paintEvent(QPaintEvent * /*event*/)
sourceRect.setLeft(point.pixelOffset);
sourceRect.setRight(sourceRight);
- WAVEFORM_DEBUG << "Waveform::paintEvent" << "tileIndex" << point.index
- << "source" << point.pixelOffset << sourceRight
- << "dest" << destLeft << destRight;
+ WAVEFORM_PAINT_DEBUG << "Waveform::paintEvent" << "tileIndex" << point.index
+ << "source" << point.pixelOffset << sourceRight
+ << "dest" << destLeft << destRight;
painter.drawPixmap(destRect, *tile.pixmap, sourceRect);
@@ -114,25 +120,25 @@ void Waveform::paintEvent(QPaintEvent * /*event*/)
if (point.index < m_tiles.count()) {
pos = tilePosition(point.index + 1);
- WAVEFORM_DEBUG << "Waveform::paintEvent" << "pos ->" << pos;
+ WAVEFORM_PAINT_DEBUG << "Waveform::paintEvent" << "pos ->" << pos;
} else {
// Reached end of tile array
- WAVEFORM_DEBUG << "Waveform::paintEvent" << "reached end of tile array";
+ WAVEFORM_PAINT_DEBUG << "Waveform::paintEvent" << "reached end of tile array";
break;
}
} else {
// Passed last tile which is painted
- WAVEFORM_DEBUG << "Waveform::paintEvent" << "tile" << point.index << "not painted";
+ WAVEFORM_PAINT_DEBUG << "Waveform::paintEvent" << "tile" << point.index << "not painted";
break;
}
} else {
// pos is past end of tile array
- WAVEFORM_DEBUG << "Waveform::paintEvent" << "pos" << pos << "past end of tile array";
+ WAVEFORM_PAINT_DEBUG << "Waveform::paintEvent" << "pos" << pos << "past end of tile array";
break;
}
}
- WAVEFORM_DEBUG << "Waveform::paintEvent" << "final pos" << pos << "final x" << destRight;
+ WAVEFORM_PAINT_DEBUG << "Waveform::paintEvent" << "final pos" << pos << "final x" << destRight;
}
}
@@ -146,7 +152,6 @@ void Waveform::initialize(const QAudioFormat &format, qint64 audioBufferSize, qi
{
WAVEFORM_DEBUG << "Waveform::initialize"
<< "audioBufferSize" << audioBufferSize
- << "m_buffer.size()" << m_buffer.size()
<< "windowDurationUs" << windowDurationUs;
reset();
@@ -186,8 +191,9 @@ void Waveform::reset()
{
WAVEFORM_DEBUG << "Waveform::reset";
- m_dataLength = 0;
- m_position = 0;
+ m_bufferPosition = 0;
+ m_buffer = QByteArray();
+ m_audioPosition = 0;
m_format = QAudioFormat();
m_active = false;
deletePixmaps();
@@ -198,30 +204,31 @@ void Waveform::reset()
m_windowLength = 0;
}
-void Waveform::dataLengthChanged(qint64 length)
+void Waveform::bufferChanged(qint64 position, qint64 length, const QByteArray &buffer)
{
- WAVEFORM_DEBUG << "Waveform::dataLengthChanged" << length;
- const qint64 oldLength = m_dataLength;
- m_dataLength = length;
-
- if (m_active) {
- if (m_dataLength < oldLength)
- positionChanged(m_dataLength);
- else
- paintTiles();
- }
+ WAVEFORM_DEBUG << "Waveform::bufferChanged"
+ << "audioPosition" << m_audioPosition
+ << "bufferPosition" << position
+ << "bufferLength" << length;
+ m_bufferPosition = position;
+ m_bufferLength = length;
+ m_buffer = buffer;
+ paintTiles();
}
-void Waveform::positionChanged(qint64 position)
+void Waveform::audioPositionChanged(qint64 position)
{
- WAVEFORM_DEBUG << "Waveform::positionChanged" << position;
-
- if (position + m_windowLength > m_dataLength)
- position = m_dataLength - m_windowLength;
-
- m_position = position;
-
- setWindowPosition(position);
+ WAVEFORM_DEBUG << "Waveform::audioPositionChanged"
+ << "audioPosition" << position
+ << "bufferPosition" << m_bufferPosition
+ << "bufferLength" << m_bufferLength;
+
+ if (position >= m_bufferPosition) {
+ if (position + m_windowLength > m_bufferPosition + m_bufferLength)
+ position = qMax(qint64(0), m_bufferPosition + m_bufferLength - m_windowLength);
+ m_audioPosition = position;
+ setWindowPosition(position);
+ }
}
void Waveform::deletePixmaps()
@@ -255,8 +262,6 @@ void Waveform::createPixmaps(const QSize &widgetSize)
m_tiles[i].pixmap = m_pixmaps[i];
m_tiles[i].painted = false;
}
-
- paintTiles();
}
void Waveform::setWindowPosition(qint64 position)
@@ -327,8 +332,9 @@ bool Waveform::paintTiles()
for (int i=0; i<m_tiles.count(); ++i) {
const Tile &tile = m_tiles[i];
if (!tile.painted) {
- const qint64 tileEnd = m_tileArrayStart + (i + 1) * m_tileLength;
- if (m_dataLength >= tileEnd) {
+ const qint64 tileStart = m_tileArrayStart + i * m_tileLength;
+ const qint64 tileEnd = tileStart + m_tileLength;
+ if (m_bufferPosition <= tileStart && m_bufferPosition + m_bufferLength >= tileEnd) {
paintTile(i);
updateRequired = true;
}
@@ -343,16 +349,23 @@ bool Waveform::paintTiles()
void Waveform::paintTile(int index)
{
- WAVEFORM_DEBUG << "Waveform::paintTile" << "index" << index;
-
const qint64 tileStart = m_tileArrayStart + index * m_tileLength;
- Q_ASSERT(m_dataLength >= tileStart + m_tileLength);
+
+ WAVEFORM_DEBUG << "Waveform::paintTile"
+ << "index" << index
+ << "bufferPosition" << m_bufferPosition
+ << "bufferLength" << m_bufferLength
+ << "start" << tileStart
+ << "end" << tileStart + m_tileLength;
+
+ Q_ASSERT(m_bufferPosition <= tileStart);
+ Q_ASSERT(m_bufferPosition + m_bufferLength >= tileStart + m_tileLength);
Tile &tile = m_tiles[index];
Q_ASSERT(!tile.painted);
const qint16* base = reinterpret_cast<const qint16*>(m_buffer.constData());
- const qint16* buffer = base + (tileStart / 2);
+ const qint16* buffer = base + ((tileStart - m_bufferPosition) / 2);
const int numSamples = m_tileLength / (2 * m_format.channels());
QPainter painter(tile.pixmap);
@@ -376,6 +389,11 @@ void Waveform::paintTile(int index)
for (int i=0; i<numSamples; ++i) {
const qint16* ptr = buffer + i * m_format.channels();
+
+ const int offset = reinterpret_cast<const char*>(ptr) - m_buffer.constData();
+ Q_ASSERT(offset >= 0);
+ Q_ASSERT(offset < m_bufferLength);
+
const qint16 pcmValue = *ptr;
const qreal realValue = pcmToReal(pcmValue);
diff --git a/demos/spectrum/app/waveform.h b/demos/spectrum/app/waveform.h
index 57c9eec..1c54c86 100644
--- a/demos/spectrum/app/waveform.h
+++ b/demos/spectrum/app/waveform.h
@@ -60,7 +60,7 @@ QT_FORWARD_DECLARE_CLASS(QByteArray)
class Waveform : public QWidget {
Q_OBJECT
public:
- Waveform(const QByteArray &buffer, QWidget *parent = 0);
+ Waveform(QWidget *parent = 0);
~Waveform();
// QWidget
@@ -73,8 +73,8 @@ public:
void setAutoUpdatePosition(bool enabled);
public slots:
- void dataLengthChanged(qint64 length);
- void positionChanged(qint64 position);
+ void bufferChanged(qint64 position, qint64 length, const QByteArray &buffer);
+ void audioPositionChanged(qint64 position);
private:
static const int NullIndex = -1;
@@ -167,9 +167,11 @@ private:
void resetTiles(qint64 newStartPos);
private:
- const QByteArray& m_buffer;
- qint64 m_dataLength;
- qint64 m_position;
+ qint64 m_bufferPosition;
+ qint64 m_bufferLength;
+ QByteArray m_buffer;
+
+ qint64 m_audioPosition;
QAudioFormat m_format;
bool m_active;
diff --git a/demos/spectrum/app/wavfile.cpp b/demos/spectrum/app/wavfile.cpp
index b9467e3..44c3ac5 100644
--- a/demos/spectrum/app/wavfile.cpp
+++ b/demos/spectrum/app/wavfile.cpp
@@ -76,171 +76,76 @@ struct CombinedHeader
{
RIFFHeader riff;
WAVEHeader wave;
- DATAHeader data;
};
-static const int HeaderLength = sizeof(CombinedHeader);
-
-
-WavFile::WavFile(const QAudioFormat &format, qint64 dataLength)
- : m_format(format)
- , m_dataLength(dataLength)
-{
-
-}
-
-bool WavFile::readHeader(QIODevice &device)
-{
- bool result = true;
-
- if (!device.isSequential())
- result = device.seek(0);
- // else, assume that current position is the start of the header
-
- if (result) {
- CombinedHeader header;
- result = (device.read(reinterpret_cast<char *>(&header), HeaderLength) == HeaderLength);
- if (result) {
- if ((memcmp(&header.riff.descriptor.id, "RIFF", 4) == 0
- || memcmp(&header.riff.descriptor.id, "RIFX", 4) == 0)
- && memcmp(&header.riff.type, "WAVE", 4) == 0
- && memcmp(&header.wave.descriptor.id, "fmt ", 4) == 0
- && header.wave.audioFormat == 1 // PCM
- ) {
- if (memcmp(&header.riff.descriptor.id, "RIFF", 4) == 0)
- m_format.setByteOrder(QAudioFormat::LittleEndian);
- else
- m_format.setByteOrder(QAudioFormat::BigEndian);
-
- m_format.setChannels(qFromLittleEndian<quint16>(header.wave.numChannels));
- m_format.setCodec("audio/pcm");
- m_format.setFrequency(qFromLittleEndian<quint32>(header.wave.sampleRate));
- m_format.setSampleSize(qFromLittleEndian<quint16>(header.wave.bitsPerSample));
-
- switch(header.wave.bitsPerSample) {
- case 8:
- m_format.setSampleType(QAudioFormat::UnSignedInt);
- break;
- case 16:
- m_format.setSampleType(QAudioFormat::SignedInt);
- break;
- default:
- result = false;
- }
-
- m_dataLength = device.size() - HeaderLength;
- } else {
- result = false;
- }
- }
- }
-
- return result;
-}
-
-bool WavFile::writeHeader(QIODevice &device)
+WavFile::WavFile(QObject *parent)
+ : QFile(parent)
+ , m_headerLength(0)
{
- CombinedHeader header;
- memset(&header, 0, HeaderLength);
-
- // RIFF header
- if (m_format.byteOrder() == QAudioFormat::LittleEndian)
- strncpy(&header.riff.descriptor.id[0], "RIFF", 4);
- else
- strncpy(&header.riff.descriptor.id[0], "RIFX", 4);
- qToLittleEndian<quint32>(quint32(m_dataLength + HeaderLength - 8),
- reinterpret_cast<unsigned char*>(&header.riff.descriptor.size));
- strncpy(&header.riff.type[0], "WAVE", 4);
-
- // WAVE header
- strncpy(&header.wave.descriptor.id[0], "fmt ", 4);
- qToLittleEndian<quint32>(quint32(16),
- reinterpret_cast<unsigned char*>(&header.wave.descriptor.size));
- qToLittleEndian<quint16>(quint16(1),
- reinterpret_cast<unsigned char*>(&header.wave.audioFormat));
- qToLittleEndian<quint16>(quint16(m_format.channels()),
- reinterpret_cast<unsigned char*>(&header.wave.numChannels));
- qToLittleEndian<quint32>(quint32(m_format.frequency()),
- reinterpret_cast<unsigned char*>(&header.wave.sampleRate));
- qToLittleEndian<quint32>(quint32(m_format.frequency() * m_format.channels() * m_format.sampleSize() / 8),
- reinterpret_cast<unsigned char*>(&header.wave.byteRate));
- qToLittleEndian<quint16>(quint16(m_format.channels() * m_format.sampleSize() / 8),
- reinterpret_cast<unsigned char*>(&header.wave.blockAlign));
- qToLittleEndian<quint16>(quint16(m_format.sampleSize()),
- reinterpret_cast<unsigned char*>(&header.wave.bitsPerSample));
-
- // DATA header
- strncpy(&header.data.descriptor.id[0], "data", 4);
- qToLittleEndian<quint32>(quint32(m_dataLength),
- reinterpret_cast<unsigned char*>(&header.data.descriptor.size));
-
- return (device.write(reinterpret_cast<const char *>(&header), HeaderLength) == HeaderLength);
-}
-
-const QAudioFormat& WavFile::format() const
-{
- return m_format;
}
-qint64 WavFile::dataLength() const
+bool WavFile::open(const QString &fileName)
{
- return m_dataLength;
+ close();
+ setFileName(fileName);
+ return QFile::open(QIODevice::ReadOnly) && readHeader();
}
-qint64 WavFile::headerLength()
+const QAudioFormat &WavFile::fileFormat() const
{
- return HeaderLength;
+ return m_fileFormat;
}
-bool WavFile::writeDataLength(QIODevice &device, qint64 dataLength)
+qint64 WavFile::headerLength() const
{
- bool result = false;
- if (!device.isSequential()) {
- device.seek(40);
- unsigned char dataLengthLE[4];
- qToLittleEndian<quint32>(quint32(dataLength), dataLengthLE);
- result = (device.write(reinterpret_cast<const char *>(dataLengthLE), 4) == 4);
- }
- return result;
+return m_headerLength;
}
-#include <QFile>
-#include <QTextStream>
-
-qint64 WavFile::readData(QIODevice &device, QByteArray &buffer,
- QAudioFormat outputFormat)
+bool WavFile::readHeader()
{
- if (QAudioFormat() == outputFormat)
- outputFormat = m_format;
-
- qint64 result = 0;
-
- QFile file("wav.txt");
- file.open(QIODevice::WriteOnly | QIODevice::Text);
- QTextStream stream;
- stream.setDevice(&file);
-
- if (isPCMS16LE(outputFormat) && isPCMS16LE(m_format)) {
- QVector<char> inputSample(2 * m_format.channels());
-
- qint16 *output = reinterpret_cast<qint16*>(buffer.data());
-
- while (result < buffer.size()) {
- if (device.read(inputSample.data(), inputSample.count())) {
- int inputIdx = 0;
- for (int outputIdx = 0; outputIdx < outputFormat.channels(); ++outputIdx) {
- const qint16* input = reinterpret_cast<const qint16*>(inputSample.data() + 2 * inputIdx);
- *output++ = qFromLittleEndian<qint16>(*input);
- result += 2;
- if (inputIdx < m_format.channels())
- ++inputIdx;
- }
- } else {
- break;
+ seek(0);
+ CombinedHeader header;
+ bool result = read(reinterpret_cast<char *>(&header), sizeof(CombinedHeader)) == sizeof(CombinedHeader);
+ if (result) {
+ if ((memcmp(&header.riff.descriptor.id, "RIFF", 4) == 0
+ || memcmp(&header.riff.descriptor.id, "RIFX", 4) == 0)
+ && memcmp(&header.riff.type, "WAVE", 4) == 0
+ && memcmp(&header.wave.descriptor.id, "fmt ", 4) == 0
+ && (header.wave.audioFormat == 1 || header.wave.audioFormat == 0)) {
+
+ // Read off remaining header information
+ DATAHeader dataHeader;
+
+ if (qFromLittleEndian<quint32>(header.wave.descriptor.size) > sizeof(WAVEHeader)) {
+ // Extended data available
+ quint16 extraFormatBytes;
+ if (peek((char*)&extraFormatBytes, sizeof(quint16)) != sizeof(quint16))
+ return false;
+ const qint64 throwAwayBytes = sizeof(quint16) + qFromLittleEndian<quint16>(extraFormatBytes);
+ if (read(throwAwayBytes).size() != throwAwayBytes)
+ return false;
}
+
+ if (read((char*)&dataHeader, sizeof(DATAHeader)) != sizeof(DATAHeader))
+ return false;
+
+ // Establish format
+ if (memcmp(&header.riff.descriptor.id, "RIFF", 4) == 0)
+ m_fileFormat.setByteOrder(QAudioFormat::LittleEndian);
+ else
+ m_fileFormat.setByteOrder(QAudioFormat::BigEndian);
+
+ int bps = qFromLittleEndian<quint16>(header.wave.bitsPerSample);
+ m_fileFormat.setChannels(qFromLittleEndian<quint16>(header.wave.numChannels));
+ m_fileFormat.setCodec("audio/pcm");
+ m_fileFormat.setFrequency(qFromLittleEndian<quint32>(header.wave.sampleRate));
+ m_fileFormat.setSampleSize(qFromLittleEndian<quint16>(header.wave.bitsPerSample));
+ m_fileFormat.setSampleType(bps == 8 ? QAudioFormat::UnSignedInt : QAudioFormat::SignedInt);
+ } else {
+ result = false;
}
}
+ m_headerLength = pos();
return result;
}
-
diff --git a/demos/spectrum/app/wavfile.h b/demos/spectrum/app/wavfile.h
index f2f3304..935e935 100644
--- a/demos/spectrum/app/wavfile.h
+++ b/demos/spectrum/app/wavfile.h
@@ -46,37 +46,22 @@
#include <QtCore/qfile.h>
#include <QtMultimedia/qaudioformat.h>
-/**
- * Helper class for reading WAV files
- *
- * See https://ccrma.stanford.edu/courses/422/projects/WaveFormat/
- */
-class WavFile
+class WavFile : public QFile
{
public:
- WavFile(const QAudioFormat &format = QAudioFormat(),
- qint64 dataLength = 0);
+ WavFile(QObject *parent = 0);
- // Reads WAV header and seeks to start of data
- bool readHeader(QIODevice &device);
+ bool open(const QString &fileName);
+ const QAudioFormat &fileFormat() const;
+ qint64 headerLength() const;
- // Writes WAV header
- bool writeHeader(QIODevice &device);
-
- // Read PCM data
- qint64 readData(QIODevice &device, QByteArray &buffer,
- QAudioFormat outputFormat = QAudioFormat());
-
- const QAudioFormat& format() const;
- qint64 dataLength() const;
-
- static qint64 headerLength();
-
- static bool writeDataLength(QIODevice &device, qint64 dataLength);
+private:
+ bool readHeader();
private:
- QAudioFormat m_format;
- qint64 m_dataLength;
+ QAudioFormat m_fileFormat;
+ qint64 m_headerLength;
+
};
#endif
diff --git a/demos/spectrum/spectrum.pri b/demos/spectrum/spectrum.pri
index c09aa0d..5773900 100644
--- a/demos/spectrum/spectrum.pri
+++ b/demos/spectrum/spectrum.pri
@@ -35,3 +35,15 @@ DEFINES += SPECTRUM_ANALYSER_SEPARATE_THREAD
# Suppress warnings about strncpy potentially being unsafe, emitted by MSVC
win32: DEFINES += _CRT_SECURE_NO_WARNINGS
+win32 {
+ # spectrum_build_dir is defined with a leading slash so that it can
+ # be used in contexts such as
+ # ..$${spectrum_build_dir}
+ # without the result having a trailing slash where spectrum_build_dir
+ # is undefined.
+ spectrum_build_dir = /release
+ if (!debug_and_release|build_pass): CONFIG(debug, debug|release) {
+ spectrum_build_dir = /debug
+ }
+}
+
diff --git a/demos/spreadsheet/spreadsheet.cpp b/demos/spreadsheet/spreadsheet.cpp
index f2a1738..519afe9 100644
--- a/demos/spreadsheet/spreadsheet.cpp
+++ b/demos/spreadsheet/spreadsheet.cpp
@@ -511,7 +511,7 @@ void SpreadSheet::setupContents()
// column 2
table->setItem(0, 2, new SpreadSheetItem("Price"));
table->item(0, 2)->setBackgroundColor(titleBackground);
- table->item(0, 2)->setToolTip("This collumn shows the price of the purchase");
+ table->item(0, 2)->setToolTip("This column shows the price of the purchase");
table->item(0, 2)->setFont(titleFont);
table->setItem(1, 2, new SpreadSheetItem("150"));
diff --git a/demos/symbianpkgrules.pri b/demos/symbianpkgrules.pri
index 68a82cd..c9cc492 100644
--- a/demos/symbianpkgrules.pri
+++ b/demos/symbianpkgrules.pri
@@ -13,4 +13,6 @@ vendorinfo = \
demos_deployment.pkg_prerules += vendorinfo
DEPLOYMENT += demos_deployment
-isEmpty(ICON):ICON = $$QT_SOURCE_TREE/src/s60installs/qt.svg
+isEmpty(ICON):contains(TEMPLATE, ".*app"):contains(QT, gui):contains(CONFIG, qt):!contains(CONFIG, "no_icon") {
+ ICON = $$QT_SOURCE_TREE/src/s60installs/qt.svg
+}
diff --git a/demos/textedit/textedit.qdoc b/demos/textedit/textedit.qdoc
index f3ba4d7..c27589e 100644
--- a/demos/textedit/textedit.qdoc
+++ b/demos/textedit/textedit.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/dist/changes-4.6.4 b/dist/changes-4.6.4
index 389aa3a..3949b9a 100644
--- a/dist/changes-4.6.4
+++ b/dist/changes-4.6.4
@@ -66,8 +66,6 @@ QtOpenGL
- QGLShaderProgram
* [QTBUG-12478] Don't resolve GLSL extensions if no shaders.
* [QTBUG-12591] setUniformValue(QSize) was setting (w,w) not (w,h).
- * [QTBUG-12862] Don't #define highp/mediump/lowp if the desktop OpenGL
- implementation has the GL_ARB_ES2_compatibility extension.
* [QTBUG-12554] Wrong OpenGLVersionFlags on OpenGL 4.0 systems.
QtScript
@@ -109,7 +107,7 @@ Third party components
Qt for Unix (X11 and Mac OS X)
------------------------------
- -
+ -
Qt for Linux/X11
----------------
diff --git a/dist/changes-4.7.1 b/dist/changes-4.7.1
index 51a10a3..b25b95c 100644
--- a/dist/changes-4.7.1
+++ b/dist/changes-4.7.1
@@ -13,7 +13,6 @@ corresponding to tasks in the Qt Bug Tracker, the (now obsolete) Task
Tracker, or the Merge Request queue of the public source repository.
Qt Bug Tracker: http://bugreports.qt.nokia.com
-Task Tracker: http://qt.nokia.com/developer/task-tracker
Merge Request: http://qt.gitorious.org
****************************************************************************
@@ -31,8 +30,6 @@ Optimizations
- On x86 and 86_64, the memory access has been improved for alpha blending
and for some composition functions.
- * See list of Important Behavior Changes below
-
****************************************************************************
* Library *
@@ -42,69 +39,68 @@ QtCore
------
- Containers
- * [QTBUG-13079] Fix assingment of a container included in the container itself
+ * [QTBUG-13079] Fix assignment of a container included in the container
+ itself.
- - QLibrary
- * [QT-3825] System libraries are only loaded from the system directories
+ - QEventDispatcherUnix
+ * [QTBUG-13633] Do not process too many timer events if other events need
+ to be processed first.
+ - QLibrary
+ * [QT-3825] System libraries are only loaded from the system directories.
- QUuid
- * [QTBUG-11213] QUuid::createUuid() should not generate identical sequences on UNIX
-
- - QEventDispatcherUnix
- * [QTBUG-13633] Do not process too many timer events if other events need
- to be processed first
+ * [QTBUG-11213] QUuid::createUuid() should not generate identical sequences
+ on UNIX.
QtGui
-----
- - QGraphicsWidget
- * [QTBUG-13188] Make sure a font that has propagated from a parent can
- be set on a QPainter.
- * [QT-3808] Issues when applying effects in combination with ItemHasNoContents flag.
+ - QGraphicsEffect
+ * [QT-3633] Wrong bounding rect.
- QGraphicsItem
* [QTBUG-3633, QT-3828] Wrong children bounding rect when applying effects.
- - QGraphicsEffect
- * [QT-3633] Wrong bounding rect.
-
- QGraphicsScene
* [QT-3674] Spurious assert triggered from render().
+ - QGraphicsWidget
+ * [QTBUG-13188] Make sure a font that has propagated from a parent can
+ be set on a QPainter.
+ * [QT-3808] Issues when applying effects in combination with
+ ItemHasNoContents flag.
+
+ - QGtkStyle
+ * [QTBUG-13125] Fixed a regression with custom itemview background color.
+
+ - QLineEdit
+ * [QTBUG-13520] Fixed the scrolling of text with right alignment.
+
- QPainter
* [QTBUG-13429] Fixed scale point drawing with square cap in the raster
engine, plus some potential floating point overflows in the rasterizer.
* Optimized pixmap drawing with SmoothPixmapTransform.
- - QStaticText
- * [QTBUG-12614] Fix crash with zero-width string.
- * [QTBUG-12540] Fix rendering of large glyphs with OpenGL2 paint engine.
-
-
- QPinchGesture
* The scaleFactor and totalScaleFactor now represent a value that allows
an object to track a touchpoint during a Pinch Gesture even when using
sequences for zooming.
- Therefor the scale factors are initialized to 1.0 and for every new
+ Therefore the scale factors are initialized to 1.0 and for every new
sequence the totalScaleFactor is multiplied with the scaleFactor of the
new sequence.
- - QLineEdit
- * [QTBUG-13520] Fixed the scrolling of text with right alignment
-
- QPixmap
- * [QTBUG-12560] Fixed a regression preventing loading images without extensions
+ * [QTBUG-12560] Fixed a regression preventing loading images without
+ extensions.
- - QTreeView
- * [QTBUG-13567] Do not scroll to top if last item is removed
-
- - QGtkStyle
- * [QTBUG-13125] Fixed a regression with custom itemview background color.
+ - QStaticText
+ * [QTBUG-12614] Fix crash with zero-width string.
+ * [QTBUG-12540] Fix rendering of large glyphs with OpenGL2 paint engine.
-QtDBus
-------
+ - QTreeView
+ * [QTBUG-13567] Do not scroll to top if last item is removed.
QtMultimedia
@@ -115,151 +111,170 @@ QtMultimedia
* [QTBUG-11883] Fixed segmentation fault when closing a QAudioInput or
QAudioOutput.
+
QtNetwork
---------
- - QSslConfiguration
- * [QTBUG-13265] fix crash with empty configuration
- - QSslCertificate
- * [QTBUG-12489] support dates > 2049
- Bearer Management
* Improved reliability on Symbian and Maemo.
* Added connman/meego backend.
- IPv6
- * Disable on Symbian until OpenC properly supports it
+ * Disable on Symbian until OpenC properly supports it.
+ - QSslConfiguration
+ * [QTBUG-13265] Fixed crash with empty configuration.
+ - QSslCertificate
+ * [QTBUG-12489] Support dates > 2049.
- QNetworkAccessManager
- * [QTBUG-12285] Crash fix related to aborted uploads
+ * [QTBUG-12285] Crash fix related to aborted uploads.
QtOpenGL
--------
- QGL2PaintEngineEx
* Fixed drawing a large number of glyphs with the same font on systems
- with small texure size limits.
-
-QtOpenVG
---------
-
-
-QtWebKit
---------
-
-
-QtSql
------
-
+ with small texture size limits.
-QtSvg
------
QtXml
-----
* Fixed a crash when parsing invalid tag names.
+
QtXmlPatterns
-------------
- XML Schema internals:
- * [QTBUG-11559] Only parse 3 digits of time fraction
+ * [QTBUG-11559] Only parse 3 digits of time fraction.
+
QtDeclarative
-------------
- QML language
- * [QTBUG-13799] QML core module renamed to QtQuick to decouple it from Qt releases.
- Old "import Qt 4.7" will co-exist with "import QtQuick 1.0' at least during Qt 4.7 releases.
- * [QTBUG-13047] Support passing QObject derived types to QML methods
- * [QTBUG-12837] Support JS "in" operator on QML objects
- * [QTBUG-13045] Prevent calling deleteLater() from QML
- * [QTBUG-13043] Ignore non-scriptable properties in QML
- * [QTBUG-13114] Don't double call classBegin()
- * [QTBUG-12946] Ensure the onDestruction handlers are called before the expressions are cleared
- * [QTBUG-12599] Re-enabled script program caching on Symbian
- * [QTBUG-13374] Don't modify the signal order on the second dynamic meta object pass
- * Support for qsTrId and meta-data in comments for QML
- - QML debugging:
+ * [QTBUG-13799] QML core module renamed to QtQuick to decouple it from Qt
+ releases. Old "import Qt 4.7" will co-exist with "import QtQuick 1.0' at
+ least during Qt 4.7 releases.
+ * [QTBUG-13047] Support passing QObject derived types to QML methods.
+ * [QTBUG-12837] Support JS "in" operator on QML objects.
+ * [QTBUG-13045] Prevent calling deleteLater() from QML.
+ * [QTBUG-13043] Ignore non-scriptable properties in QML.
+ * [QTBUG-13114] Don't double call classBegin().
+ * [QTBUG-12946] Ensure the onDestruction handlers are called before the
+ expressions are cleared.
+ * [QTBUG-12599] Re-enabled script program caching on Symbian.
+ * [QTBUG-13374] Don't modify the signal order on the second dynamic meta
+ object pass.
+ * Support for qsTrId and meta-data in comments for QML.
+ - QML debugging
* [QTBUG-5162] The debugger is now activated with -qmljsdebugger command
- line arg to enable support for platforms without environment variables
- * Various improvements to ease debugging in creator
+ line arg to enable support for platforms without environment variables.
+ * Various improvements to ease debugging in creator.
- AnchorAnimation
- * [QTBUG-13398] Fix AnchorAnimation for multiple AnchorChanges with dependancies
+ * [QTBUG-13398] Fix AnchorAnimation for multiple AnchorChanges with
+ dependancies.
- AnchorChanges
- * [QTBUG-11834] Restore any absolute geometry changed by AnchorChanges when returning to the base state
+ * [QTBUG-11834] Restore any absolute geometry changed by AnchorChanges when
+ returning to the base state.
- Component
- * [QTBUG-13170] Complete Component::createObject() creation after setting the parent
+ * [QTBUG-13170] Complete Component::createObject() creation after setting
+ the parent.
- GridView
- * [QTBUG-13166] GridView.view property should not be writable
+ * [QTBUG-13166] GridView.view property should not be writable.
- Flickable
- * [QTBUG-13095] Ensure Flickable visibleArea is updated when view height changes
- * [QTBUG-13176] Avoid Flickable view jumping when drag threashold is exceeded
- * [QTBUG-13078] Fix poor flicking behavior with slower flicks
- * Handle QGraphicsWidgets in Flickable
+ * [QTBUG-13095] Ensure Flickable visibleArea is updated when view height
+ changes.
+ * [QTBUG-13176] Avoid Flickable view jumping when drag threashold is
+ exceeded.
+ * [QTBUG-13078] Fix poor flicking behavior with slower flicks.
+ * Handle QGraphicsWidgets in Flickable.
- FocusScope
- * [QTBUG-12649] Make sure onFocusChanged is correctly emitted for items in a FocusScope.
+ * [QTBUG-12649] Make sure onFocusChanged is correctly emitted for items
+ in a FocusScope.
- FontLoader
- * [QTBUG-13419] Don't add the same font to the font database multiple times
+ * [QTBUG-13419] Don't add the same font to the font database multiple
+ times.
+ - Image
+ * [QTBUG-13454] Changing the Image 'source' no longer goes through the
+ 'Loading' state if the image is cached.
+ * [QTBUG-13383] Do not reset sourceSize when changing image source url.
+ * [QTBUG-13002] Setting one dimension of the sourceSize should set the other
+ dimension.
+ * [QTBUG-12302] Fix remote image url redirects are done in the right thread.
+ * Ensure all image states are updated before emitting statusChanged signals.
- ListModel
- * [QTBUG-12363] Modifying an object returned by ListModel.get(0) didn't update the view
- * [QTBUG-13666] Calling set() and setProperty() on ListModel from a WorkerScript didn't update the view
- * Fix Worker ListModel to emit the right signal when items change
- * Fix crash with invalid role indexes
- * improved ListModel error messages
+ * [QTBUG-12363] Modifying an object returned by ListModel.get(0) didn't
+ update the view.
+ * [QTBUG-13666] Calling set() and setProperty() on ListModel from a
+ WorkerScript didn't update the view.
+ * Fix Worker ListModel to emit the right signal when items change.
+ * Fix crash with invalid role indexes.
+ * improved ListModel error messages.
- ListView
- * [QTBUG-13664] Models with a single role didn't always update correctly
- * [QTBUG-13543] Ensure flickable velocity is updated when view is moved by setCurrentIndex
- * [QTBUG-12664] Ensure highlight is positioned correctly in positionViewAtIndex()
- * [QTBUG-13166] Fix ListView.view attached property with VisualItemModel
- * [QTBUG-13039] Fix crash in synchronization of ListModel in WorkerThread
- * [QTBUG-11341] Flicking a ListView sometimes made it loose focus
- * [QTBUG-13166] ListView.view property should not be writable
+ * [QTBUG-13664] Models with a single role didn't always update correctly.
+ * [QTBUG-13543] Ensure flickable velocity is updated when view is moved by
+ setCurrentIndex.
+ * [QTBUG-12664] Ensure highlight is positioned correctly in
+ positionViewAtIndex().
+ * [QTBUG-13166] Fix ListView.view attached property with VisualItemModel.
+ * [QTBUG-13039] Fix crash in synchronization of ListModel in WorkerThread.
+ * [QTBUG-11341] Flicking a ListView sometimes made it lose focus.
+ * [QTBUG-13166] ListView.view property should not be writable.
+ - MouseArea
+ * [QTBUG-12250] When onDoubleClicked: is handled don't emit a second
+ onPressed/onClicked.
+ - NumberAnimation
+ * [QTBUG-12805] Clear previous animation data for non-triggering animations.
+ - ParentChange
+ * [QTBUG-13554] ParentChange fails to apply rotation changes of exactly 180
+ degrees.
- PathView
- * [QTBUG-13689] Moving items in a PathView caused PathView.onPath to be set to false
- * [QTBUG-13687] PathView didn't accept mouse events, preventing it from working in a Flickable
- * [QTBUG-13416] Fix PathView item position on insertion and removal
- * [QTBUG-13017] Fix PathView when setting an empty model that is later filled
- * [QTBUG-12747] PathView required some diagonal movement before a drag was initiated
+ * [QTBUG-13689] Moving items in a PathView caused PathView.onPath to be set
+ to false.
+ * [QTBUG-13687] PathView didn't accept mouse events, preventing it from
+ working in a Flickable.
+ * [QTBUG-13416] Fix PathView item position on insertion and removal.
+ * [QTBUG-13017] Fix PathView when setting an empty model that is later
+ filled.
+ * [QTBUG-12747] PathView required some diagonal movement before a drag was
+ initiated.
- Positioners
- * made positioners work with QGraphicsWidgets
+ * made positioners work with QGraphicsWidgets.
- PropertyChanges
- * [QTBUG-12559] Correctly apply PropertyChanges when entering an extended state directly from the base state
- - VisualDataModel
- * [QTBUG-13754] Fixed a crash when updating a property in ListModel with multiple roles
- * [QTBUG-13038] Fix VisualDataModel model update handling when rootIndex is specified
- * [QTBUG-13146] Handle layoutChanged() properly in QML views
- - XmlListModel
- * [QTBUG-13041] XmlListModel thread was left hanging on Symbian application exit
- - ParentChange
- * [QTBUG-13554] ParentChange fails to apply rotation changes of exactly 180 degrees
- - MouseArea
- * [QTBUG-12250] When onDoubleClicked: is handled don't emit a second onPressed/onClicked
- - Image
- * [QTBUG-13454] Changing the Image 'source' no longer goes through the 'Loading' state if the image is cached.
- * [QTBUG-13383] Do not reset sourceSize when changing image source url
- * [QTBUG-13002] Setting one dimension of the sourceSize should set the other dimensio
- * [QTBUG-12302] Fix remote image url redirects are done in the right thread
- * Ensure all image states are updated before emitting statusChanged signals
- - NumberAnimation
- * [QTBUG-12805] Clear previous animation data for non-triggering animations
+ * [QTBUG-12559] Correctly apply PropertyChanges when entering an extended
+ state directly from the base state.
+ - QDeclarativeImageProvider:
+ * Fixed memory leak.
+ * Improved concurrency when using in asynchronus mode.
- Repeater
- * [QTBUG-12905] Emit countChanged where appropriate in Repeater
+ * [QTBUG-12905] Emit countChanged where appropriate in Repeater.
- SmoothedAnimation
- * [QTBUG-12336] Update running animations if a SmoothedAnimation is changed
+ * [QTBUG-12336] Update running animations if a SmoothedAnimation is changed.
- SpringAnimation
- * [QTBUG-13044] SpringAnimation velocity animation stop logic was fragile
+ * [QTBUG-13044] SpringAnimation velocity animation stop logic was fragile.
- Text
- * [QTBUG-13453] Fix jerky scrolling caused by unnecessary repaints of Text element
- * [QTBUG-13142] Fix alignment of shadow for rich text when using text styles
- * [QTBUG-11002] Improve QML text rendering when LCD smoothing is enabled for OS X
+ * [QTBUG-13453] Fix jerky scrolling caused by unnecessary repaints of Text
+ element.
+ * [QTBUG-13142] Fix alignment of shadow for rich text when using text
+ styles.
+ * [QTBUG-11002] Improve QML text rendering when LCD smoothing is enabled
+ for OS X.
- TextInput
- * [QTBUG-11127] Fix autoScroll implementation
- - XmlHttpRequest
- * [QTBUG-13117] Fix responseText to check the charset encoding field and also to not assume that the data is xml
+ * [QTBUG-11127] Fix autoScroll implementation.
+ - VisualDataModel
+ * [QTBUG-13754] Fixed a crash when updating a property in ListModel with
+ multiple roles.
+ * [QTBUG-13038] Fix VisualDataModel model update handling when rootIndex is
+ specified.
+ * [QTBUG-13146] Handle layoutChanged() properly in QML views.
- WebView
- * [QTBUG-13342] Ensure WebView gets focus when an editable node is clicked on
- - QDeclarativeImageProvider:
- * Fixed memory leak
- * Improved concurrency when using in assynchronus mode.
+ * [QTBUG-13342] Ensure WebView gets focus when an editable node is clicked.
+ - XmlHttpRequest
+ * [QTBUG-13117] Fix responseText to check the charset encoding field and
+ also to not assume that the data is xml.
+ - XmlListModel
+ * [QTBUG-13041] XmlListModel thread was left hanging on Symbian application
+ exit.
+
Qt Plugins
----------
-
- Jpeg image IO plugin
* [QTBUG-13653] Fixed infinite loop when loading jpeg without EOI marker
from memory.
@@ -275,15 +290,16 @@ Qt for Unix (X11 and Mac OS X)
Qt for Linux/X11
----------------
- - The configure script now detects all vector extensions of x86 and x86_64
+ - The configure script now detects all vector extensions of x86 and x86_64.
Qt for Windows
--------------
- Event System:
- * [QTBUG-12721] Fix Qt applications freezing until mouse/keyboard events occur.
+ * [QTBUG-12721] Fix Qt applications freezing until mouse/keyboard events
+ occur.
- Drag & Drop:
- * [QTBUG-13787] Fixed a possible crash with mingw
+ * [QTBUG-13787] Fixed a possible crash with mingw.
- QPrinter
* [QTBUG-12263] Strokes were in some cases not printed with the correct
@@ -303,7 +319,6 @@ Qt for Mac OS X
Qt for Symbian
--------------
-
- configure
* [QTBUG-4586] Fixed wrong paths in include/ActiveQt/headers.pri.
* [QTBUG-11671] Fixed audio-backend detection in configure tests.
@@ -319,21 +334,27 @@ Qt for Symbian
* [QTBUG-13081] vc[x]proj generators: support /MAP option without file
name.
* [QTBUG-13902] Added support for unsigned smart installer package creation.
- * [QTBUG-13991] No longer need to manually edit smart installer pkg file for publishing.
+ * [QTBUG-13991] No longer need to manually edit smart installer pkg file for
+ publishing.
* [QT-3949] Load environment.prf from Symbian SDK if it exists there.
- * [QTBUG-13499] Provide a way to compile with RVCT 4.0 using generated Makefile.
+ * [QTBUG-13499] Provide a way to compile with RVCT 4.0 using generated
+ Makefile.
* [QTBUG-13336] Ignore MAKEFILE variable for Symbian abld and sbsv2 builds.
- * [QTBUG-13363] Fix Symbian handling of projects with special characters in TARGET.
+ * [QTBUG-13363] Fix Symbian handling of projects with special characters in
+ TARGET.
* [QTBUG-12762 & QTBUG-13307] Gcce building support for symbian-sbsv2
* [QTBUG-13147] Added support for DEPLOYMENT.pkg_build_version
* [QTBUG-12884] Fix "installer_sis" and "deploy" targets when TARGET has path.
* [QTBUG-12879] Fix check to remove unnecessary deployments in Symbian.
* [QTBUG-12716] Make bld.inf target in Symbian mkspecs to depend on .pro file.
- * [QTBUG-12715] Rename Symbian generated mmp/mk files to include target in filename.
- * [QTBUG-12617] Fix package header in cases where VERSION doesn't contain all values.
+ * [QTBUG-12715] Rename Symbian generated mmp/mk files to include target in
+ filename.
+ * [QTBUG-12617] Fix package header in cases where VERSION doesn't contain all
+ values.
* Fix run and runonphone targets for projects that have TARGET with path.
* Fix QT_LIBINFIX for QT_PLUGINS_BASE_DIR.
- * No longer require PRE_TARGETDEPS items to be absolute for symbian-sbsv2 mkspec.
+ * No longer require PRE_TARGETDEPS items to be absolute for symbian-sbsv2
+ mkspec.
* Do smart command replacement for commands containing $$QMAKE_*
command variables, such as $$QMAKE_COPY, when generating bld.inf
extensions for QMAKE_EXTRA_* variables for symbian-sbsv2 mkspec.
@@ -364,7 +385,8 @@ Qt for Symbian
Check S60_VERSION instead of existence of certain files in bearer plugin.
- Demos & Examples
- * [QTBUG-13461] Remove some .pro statements left behind after IAP usage cleanup
+ * [QTBUG-13461] Remove some .pro statements left behind after IAP usage
+ cleanup.
* [QTBUG-12276] Assigned valid UID3 for fortuneserver example.
Qt for Windows CE
@@ -372,25 +394,21 @@ Qt for Windows CE
- Gui
* [QTBUG-8408] Show the [X] button on Windows mobile when maximizing.
+
****************************************************************************
* Tools *
****************************************************************************
- - Designer
-
- uic
- * Improve warnings and error reports
+ * Improve warnings and error reports.
- moc
- * Show an error if NOTIFY refer to a wrong signal in Q_PROPERTY
+ * Show an error if NOTIFY refer to a wrong signal in Q_PROPERTY.
- QML Viewer
- * [QTBUG-13347] Paused orientation sensors in Qml Viewer when the application window is not active to save device battery
- * [QTBUG-11019] Add a menu option to open remote files in the QML viewer
- * QML Viewer is deployed under QtDemos folder instead of QtExamples folder in Symbian application menu
-
-****************************************************************************
-* Important Behavior Changes *
-****************************************************************************
-
+ * [QTBUG-13347] Paused orientation sensors in Qml Viewer when the
+ application window is not active to save device battery.
+ * [QTBUG-11019] Add a menu option to open remote files in the QML viewer.
+ * QML Viewer is deployed under QtDemos folder instead of QtExamples
+ folder in Symbian application menu.
diff --git a/dist/changes-4.7.2 b/dist/changes-4.7.2
new file mode 100644
index 0000000..49bdd8e
--- /dev/null
+++ b/dist/changes-4.7.2
@@ -0,0 +1,158 @@
+Qt 4.7.2 is a bug-fix release. It maintains both forward and backward
+compatibility (source and binary) with Qt 4.7.0. For more details,
+refer to the online documentation included in this distribution. The
+documentation is also available online:
+
+ http://qt.nokia.com/doc/4.7
+
+The Qt version 4.7 series is binary compatible with the 4.6.x series.
+Applications compiled for 4.6 will continue to run with 4.7.
+
+Some of the changes listed in this file include issue tracking numbers
+corresponding to tasks in the Qt Bug Tracker or the Merge Request queue
+of the public source repository.
+
+Qt Bug Tracker: http://bugreports.qt.nokia.com
+Merge Request: http://qt.gitorious.org
+
+****************************************************************************
+* General *
+****************************************************************************
+
+New features
+------------
+
+ - SomeClass, SomeOtherClass
+ * New classes for foo, bar and baz
+
+Optimizations
+-------------
+
+ - Optimized foo in QSomeClass
+ * See list of Important Behavior Changes below
+
+
+****************************************************************************
+* Library *
+****************************************************************************
+
+QtCore
+------
+
+ - foo
+ * bar
+
+QtGui
+-----
+
+ - foo
+ * bar
+
+QtDBus
+------
+
+ - foo
+ * bar
+
+QtNetwork
+---------
+
+ - foo
+ * bar
+
+QtOpenGL
+--------
+
+ - foo
+ * bar
+
+QtScript
+--------
+
+ - foo
+ * bar
+
+QtSql
+-----
+
+ - foo
+ * bar
+
+QtXml
+-----
+
+ - foo
+ * bar
+
+Qt Plugins
+----------
+
+ - foo
+ * bar
+
+Third party components
+----------------------
+
+ - Updated foo to version 2.3.9.
+
+ - Updated bar to the latest version from baz.org.
+
+
+****************************************************************************
+* Platform Specific Changes *
+****************************************************************************
+
+Qt for Unix (X11 and Mac OS X)
+------------------------------
+
+ -
+
+Qt for Linux/X11
+----------------
+
+ -
+
+Qt for Windows
+--------------
+
+ -
+
+Qt for Mac OS X
+---------------
+
+ -
+
+Qt for Embedded Linux
+---------------------
+
+ -
+
+DirectFB
+--------
+
+ -
+
+Qt for Windows CE
+-----------------
+
+ -
+
+****************************************************************************
+* Tools *
+****************************************************************************
+
+ - Designer
+ * foo
+
+ - qdoc3
+ * bar
+
+ - Linguist
+ * baz
+
+****************************************************************************
+* Important Behavior Changes *
+****************************************************************************
+
+ -
+
diff --git a/dist/changes-4.8.0 b/dist/changes-4.8.0
index f8ca4bc..c55faf6 100644
--- a/dist/changes-4.8.0
+++ b/dist/changes-4.8.0
@@ -37,6 +37,8 @@ Third party components
QtCore
------
- Removed support for QT_NO_THREAD define for QHostInfo.
+ - Optimized plugin loading on ELF platforms.
+ Print failure reason at runtime with QT_DEBUG_PLUGINS=1 in environment.
QtGui
-----
diff --git a/doc/src/bughowto.qdoc b/doc/src/bughowto.qdoc
index a833e00..1793fce 100644
--- a/doc/src/bughowto.qdoc
+++ b/doc/src/bughowto.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
@@ -34,7 +34,7 @@
about it so that we can fix it.
Before reporting a bug, please check the \l{FAQs}, \l{Platform
- Notes}, and the \l{Qt Bug Tracker} on the Qt website to see
+ and Compiler Notes}, and the \l{Qt Bug Tracker} on the Qt website to see
if the issue is already known.
The first thing you should do is to sign up for an account for
@@ -51,7 +51,7 @@
compiled with
\o Reliable and clear description on how to reproduce the problem
\endlist
-
+
If possible, please provide a test written using the QtTest module
as this will improve the procedure of reproducing your problem and
allow the developers to address the issue in a more efficient way.
diff --git a/doc/src/classes.qdoc b/doc/src/classes.qdoc
index b3f8869..66009f5 100644
--- a/doc/src/classes.qdoc
+++ b/doc/src/classes.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/classes/exportedfunctions.qdoc b/doc/src/classes/exportedfunctions.qdoc
index b3fd5a0..ac6a970 100644
--- a/doc/src/classes/exportedfunctions.qdoc
+++ b/doc/src/classes/exportedfunctions.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/classes/phonon-api.qdoc b/doc/src/classes/phonon-api.qdoc
index 6fe0223..6c9c8de 100644
--- a/doc/src/classes/phonon-api.qdoc
+++ b/doc/src/classes/phonon-api.qdoc
@@ -4114,6 +4114,13 @@
*/
/*!
+ \fn Phonon::VideoWidget::snapshot() const
+ \since 4.7
+
+ Returns a snapshot of the current frame shown in the widget.
+*/
+
+/*!
\enum Phonon::VideoWidget::ScaleMode
The ScaleMode enum describes how to treat aspect ratio during
@@ -4305,6 +4312,22 @@
*/
/*!
+ \class Phonon::VideoWidgetInterface44
+ \inmodule Phonon
+ \since 4.7
+*/
+
+/*!
+ \fn Phonon::VideoWidgetInterface44::snapshot() const
+*/
+
+/*!
+ \typedef Phonon::VideoWidgetInterfaceLatest
+ \inmodule Phonon
+ \since 4.7
+*/
+
+/*!
\class Phonon::PlatformPlugin
\inmodule Phonon
\since 4.4
@@ -5021,3 +5044,103 @@
\internal
*/
+/*!
+ \class Phonon::PulseSupport
+ \inmodule Phonon
+ \since 4.7
+ \internal
+*/
+
+/*!
+ \class Phonon::AudioDataOutput
+ \inmodule Phonon
+ \since 4.7
+
+ \brief The AudioDataOutput class provides access to audio data.
+
+ This class is used to obtain audio data, typically for the purpose of
+ visualizing it.
+
+ Although it is not designed for realtime performance, the latencies
+ associated with accessing the data should be low enough for applications
+ that provide visualizations of the data. This class can also be used to
+ save the audio data for further processing.
+*/
+
+/*!
+ \enum Phonon::AudioDataOutput::Channel
+
+ This enum describes the channel audio data belongs to.
+
+ \value LeftChannel
+ \value RightChannel
+ \value CenterChannel
+ \value LeftSurroundChannel
+ \value RightSurroundChannel
+ \value SubwooferChannel
+*/
+
+/*!
+ \property Phonon::AudioDataOutput::dataSize
+ \brief the number of samples passed via the dataReady() signal.
+*/
+
+/*!
+ \fn int Phonon::AudioDataOutput::sampleRate() const
+
+ Returns the sample rate measured in Hertz, as reported by the backend.
+ If the backend is unavailable -1 is returned.
+*/
+
+/*!
+ \fn void Phonon::AudioDataOutput::endOfMedia(int remainingSamples)
+
+ This signal is emitted before the final dataReady() signal is emitted for
+ a media. The \a remainingSamples value sent by the signal contains the
+ number of samples that will be sent in the final dataReady() signal for
+ the media.
+*/
+
+/*!
+ \fn Phonon::AudioDataOutput::dataReady(const QMap<Phonon::AudioDataOutput::Channel, QVector<qint16> > &data)
+
+ This signal is emitted whenever there is data available to read. The
+ \a data sent by the signal is supplied in the form of a map that holds the
+ data for different output channels.
+*/
+
+/*!
+ \fn Phonon::AudioDataOutputPrivate::AudioDataOutputPrivate()
+ \internal
+*/
+
+/*!
+ \fn Phonon::AudioDataOutputInterface::~AudioDataOutputInterface()
+
+ Destroys the data interface.
+*/
+
+/*!
+ \fn Phonon::AudioDataOutputInterface::frontendObject() const
+ \internal
+*/
+
+/*!
+ \fn Phonon::AudioDataOutputInterface::setFrontendObject(AudioDataOutput *)
+ \internal
+*/
+
+/*!
+ \fn Phonon::GlobalConfigPrivate::GlobalConfigPrivate()
+ \internal
+*/
+
+/*!
+ \fn Phonon::GlobalConfigPrivate::~GlobalConfigPrivate()
+ \internal
+*/
+
+/*!
+ \fn Phonon::SwiftSlider::~SwiftSlider()
+ \internal
+*/
diff --git a/doc/src/classes/phonon-namespace.qdoc b/doc/src/classes/phonon-namespace.qdoc
index 282c96f..c53f69b 100644
--- a/doc/src/classes/phonon-namespace.qdoc
+++ b/doc/src/classes/phonon-namespace.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/credits.qdoc b/doc/src/credits.qdoc
index 2f1d76e..20aa366 100644
--- a/doc/src/credits.qdoc
+++ b/doc/src/credits.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/declarative/advtutorial.qdoc b/doc/src/declarative/advtutorial.qdoc
index 2ca9418..04d7f07 100644
--- a/doc/src/declarative/advtutorial.qdoc
+++ b/doc/src/declarative/advtutorial.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/declarative/anchor-layout.qdoc b/doc/src/declarative/anchor-layout.qdoc
index 99f7777..b77ce36 100644
--- a/doc/src/declarative/anchor-layout.qdoc
+++ b/doc/src/declarative/anchor-layout.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/declarative/animation.qdoc b/doc/src/declarative/animation.qdoc
index 53a0c55..208a1c4 100644
--- a/doc/src/declarative/animation.qdoc
+++ b/doc/src/declarative/animation.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/declarative/basictypes.qdoc b/doc/src/declarative/basictypes.qdoc
index e327d4a..8ab06ab 100644
--- a/doc/src/declarative/basictypes.qdoc
+++ b/doc/src/declarative/basictypes.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
@@ -156,8 +156,10 @@
Example:
\qml
Rectangle { color: "steelblue" }
+ Rectangle { color: "transparent" }
Rectangle { color: "#FF0000" }
Rectangle { color: "#800000FF" }
+ Rectangle { color: "#00000000" } // ARGB fully transparent
\endqml
Or with the \l{QML:Qt::rgba()}{Qt.rgba()}, \l{QML:Qt::hsla()}{Qt.hsla()}, \l{QML:Qt::darker()}{Qt.darker()},
@@ -353,9 +355,11 @@
\brief A list of objects.
- A list of objects. While not technically a basic type, QML also
- supports lists of object types. When used from QML, the engine
- automatically appends each value to the list.
+ A list type contains a list of objects. While not technically
+ a basic type, QML supports lists of object types. When used
+ from QML, the engine automatically appends each value to the list.
+ Items in the list can be accessed by index using the usual
+ \c listName[index] syntax.
For example, the \l Item class contains a list property named
children that can be used like this:
@@ -364,14 +368,87 @@
Item {
children: [
Item { id: child1 },
- Rectangle { id: child2 },
+ Rectangle { id: child2; width: 200 },
Text { id: child3 }
]
+
+ Component.onCompleted: {
+ console.log("Width of child rectangle:", children[1].width)
+ }
}
\endqml
- \c child1, \c child2 and \c child3 will all be added to the children list
+ \c child1, \c child2 and \c child3 will be added to the children list
in the order in which they appear.
+ List \l {Adding new properties}{properties} can be created as a
+ \c variant type, or as a \c list<Type> type, where \c Type is the
+ type of the object in the list:
+
+ \qml
+ Item {
+ property variant values: [ 10, 20, 'abc', 'xyz' ]
+
+ property list<Rectangle> rects: [
+ Rectangle { width: 100; height: 100},
+ Rectangle { width: 200; height: 200}
+ ]
+ }
+ \endqml
+
+ A \c variant list can contain values of any of the \l {QML Basic Types}{basic QML types}
+ such as numbers, strings, etc. while a \c list<Type> list can only contain values
+ that match (or are derived from) the specified \c Type.
+
+ A list property can be cleared by setting it to an empty list:
+
+ \qml
+ Item {
+ children: []
+ }
+ \endqml
+
+ A list property cannot be modified in any other way. Items cannot be dynamically added to
+ or removed from the list through JavaScript operations; any \c push() operations on the
+ list only modify a \e copy of the list and not the actual list. (These current limitations
+ are due to restrictions on \l {Property Binding} where lists are involved.)
+
+ To create a modifiable list, create an array object from within a \c .js JavaScript file,
+ or implement a custom list element in C++. Here is a QML element that modifies the list in a
+ JavaScript file:
+
+ \table
+ \row
+ \o
+ \qml
+ // QML
+ import "script.js" as Script
+
+ Item {
+ Component.onCompleted: {
+ Script.addItem('abc')
+ console.log("Added:", Script.getList()[0])
+ }
+ }
+ \endqml
+
+ \o
+ \code
+ // script.js
+ var myArray = new Array()
+
+ function getList() {
+ return myArray
+ }
+
+ function addItem(item) {
+ myArray.push(item)
+ }
+ \endcode
+ \endtable
+
+ However, note that a JavaScript list should not be used as a QML \c property value,
+ as the property is not updated when the list changes.
+
\sa {QML Basic Types}
*/
diff --git a/doc/src/declarative/codingconventions.qdoc b/doc/src/declarative/codingconventions.qdoc
index aa4feef..ba789e0 100644
--- a/doc/src/declarative/codingconventions.qdoc
+++ b/doc/src/declarative/codingconventions.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/declarative/declarativeui.qdoc b/doc/src/declarative/declarativeui.qdoc
index a8df4b1..28a8a70 100644
--- a/doc/src/declarative/declarativeui.qdoc
+++ b/doc/src/declarative/declarativeui.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/declarative/dynamicobjects.qdoc b/doc/src/declarative/dynamicobjects.qdoc
index e735bce..daf2ae1 100644
--- a/doc/src/declarative/dynamicobjects.qdoc
+++ b/doc/src/declarative/dynamicobjects.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
@@ -173,7 +173,11 @@ component. Each instance runs a NumberAnimation, and when the animation has fini
Alternatively, the \c application.qml could have destroyed the created object
by calling \c object.destroy().
-Notice that if a \c SelfDestroyingRect instance was created statically like this:
+Note that it is safe to call destroy() on an object within that object. Objects are not destroyed the
+instant destroy() is called, but are cleaned up sometime between the end of that script block and the next frame
+(unless you specified a non-zero delay).
+
+Note also that if a \c SelfDestroyingRect instance was created statically like this:
\qml
Item {
diff --git a/doc/src/declarative/elements.qdoc b/doc/src/declarative/elements.qdoc
index 252b964..54f07a2 100644
--- a/doc/src/declarative/elements.qdoc
+++ b/doc/src/declarative/elements.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
@@ -37,8 +37,110 @@
To see the QML elements listed by functional area, see the
\l{Groups Of Related QML Elements} page.
- \generatelist qmlclasses
-
+ \table
+ \header \o {2,1} \bold {Basic Visual Items}
+ \row \o \l {Item} \o Basic item element inherited by all visual items in QML
+ \row \o \l {Rectangle} \o Basic visual rectangle element
+ \row \o \l {Gradient} \o Defines a gradient between two or more colors
+ \row \o \l {GradientStop} \o Defines a color used in a \l {Gradient}
+ \row \o \l {Image} \o Allows the use of bitmaps to a scene
+ \row \o \l {BorderImage} (Item-specific) \o Defines an image as a border
+ \row \o \l {AnimatedImage} \o For playing animations stored as a series of frames
+ \row \o \l {Text} \o Allows the use of formatted text in a scene
+ \row \o \l {TextInput} \o Displays an editable line of text
+ \row \o \l {IntValidator} \o Validator for integer values
+ \row \o \l {DoubleValidator} \o Validator for non-integer values
+ \row \o \l {RegExpValidator} \o Validator for string regular expressions
+ \row \o \l {TextEdit} \o Displays multiple lines of editable formatted text
+
+ \header \o {2,1} \bold {Basic Interaction Items}
+ \row \o \l {MouseArea} \o Handles mouse interactions
+ \row \o \l {FocusScope} \o For keyboard focus handling
+ \row \o \l {Flickable} \o Provides a surface that can be "flicked"
+ \row \o \l {Flipable} \o Provides a surface that produces flipping effects
+ \row \o \l {GestureArea} (experimental) \o Enables simple gesture handling
+
+ \header \o {2,1} \bold {States}
+ \row \o \l {State} \o Defines sets of configurations of objects and properties
+ \row \o \l {PropertyChanges} \o Describes property changes within a state
+ \row \o \l {StateGroup} \o Contains a set of states and state transitions
+ \row \o \l {StateChangeScript} \o Allows script binding in a state
+ \row \o \l {ParentChange} (Item-specific) \o Re-parent an Item in a state change
+ \row \o \l {AnchorChanges} \o Change the anchors of an item in a state
+
+ \header \o {2,1} \bold {Animation and Transitions}
+ \row \o \l {Behavior} \o Specifies a default animation for property changes
+ \row \o \l {SequentialAnimation} \o Runs animations sequentially
+ \row \o \l {ParallelAnimation} \o Runs animations in parallel
+ \row \o \l {PropertyAnimation} \o Animates property changes
+ \row \o \l {NumberAnimation} \o Animates properties of type qreal
+ \row \o \l {Vector3dAnimation} \o Animates properties of type QVector3d
+ \row \o \l {ColorAnimation} \o Animates color changes
+ \row \o \l {RotationAnimation} \o Animates rotations
+ \row \o \l {ParentAnimation} \o Animates parent changes
+ \row \o \l {AnchorAnimation} \o Animates anchor changes
+ \row \o \l {PauseAnimation} \o Pauses an animation
+ \row \o \l {SmoothedAnimation} \o Allows a property to smoothly track a value
+ \row \o \l {SpringAnimation} \o Allows a property to track a value in a spring-like motion
+ \row \o \l {PropertyAction} \o Sets immediate property changes during animation
+ \row \o \l {ScriptAction} \o Runs scripts during an animation
+ \row \o \l {Transition} \o Animates transitions during state changes
+
+ \header \o {2,1} \bold {Working with Data}
+ \row \o \l {Binding} \o Binds any value to any property
+ \row \o \l {ListModel} \o Defines a list of data
+ \row \o \l {ListElement} \o Defines a data item in a \l {ListModel}
+ \row \o \l {VisualItemModel} \o Contains items that already defines its own visual delegate
+ \row \o \l {VisualDataModel} \o Encapsulates a model and a delegate
+ \row \o \l {Package} \o Collection that enables sharing of items within different views
+ \row \o \l {XmlListModel} \o Specifies a model using XPath expressions
+ \row \o \l {XmlRole} \o Specifies a role for an \l {XmlListModel}
+
+ \header \o {2,1} \bold {Views}
+ \row \o \l {ListView} \o Provides a list visualization of a model
+ \row \o \l {GridView} \o Provides a grid visualization of a model
+ \row \o \l {PathView} \o Visualizes a model's contents along a path
+ \row \o \l {Path} \o Defines a path used by \l {PathView}
+ \row \o \l {PathLine} \o Defines a line in \l {Path}
+ \row \o \l {PathQuad} \o Defines a quadratic Bezier curve in a \l {Path}
+ \row \o \l {PathCubic} \o Defines a cubic Bezier curve in a \l {Path}
+ \row \o \l {PathAttribute} \o Allows the setting of attributes along a \l {Path}
+ \row \o \l {PathPercent} \o Modifies the item distribution along a \l {Path}
+ \row \o \l {WebView} \o Allows the addition of web content to a canvas
+
+ \header \o {2,1} \bold {Positioners}
+ \row \o \l {Column} \o Arranges its children vertically
+ \row \o \l {Row} \o Arranges its children horizontally
+ \row \o \l {Grid} \o Positions its children in a grid
+ \row \o \l {Flow} \o Positions its children with wrapping support
+
+ \header \o {2,1} \bold {Utility}
+ \row \o \l {Connections} \o Explicitly connects signals and signal handlers
+ \row \o \l {Component} \o Encapsulate QML items as a component
+ \row \o \l {Timer} \o Provides timed triggers
+ \row \o \l {QML:QtObject} {QtObject} \o Basic element containing only the objectName property
+ \row \o \l {QML:Qt} {Qt} \o The QML global Qt object provides useful enums and functions from Qt.
+ \row \o \l {WorkerScript} \o Enables the use of threads in QML
+ \row \o \l {Loader} \o Controls the loading of items or components
+ \row \o \l {Repeater} \o Uses a model to create multiples of components
+ \row \o \l {SystemPalette} \o Provides access to the Qt palettes
+ \row \o \l {FontLoader} \o Loads fonts by name or URL
+ \row \o \l {LayoutItem} \o Allows declarative UI elements inside Qt's Graphics View layouts
+
+ \header \o {2,1} \bold {Transforms}
+ \row \o \l {Scale} \o Assigns item scaling behaviors
+ \row \o \l {Rotation} \o Assigns item rotation behaviors
+ \row \o \l {Translate} \o Assigns item translation behaviors
+
+ \header \o {2,1} \bold {Effects}
+ \row \o \l {Particles} (experimental) \o Generates and animates particles
+ \row \o \l {ParticleMotionLinear} \o Adds linear motion behavior to \l {Particles}
+ \row \o \l {ParticleMotionGravity} \o Adds gravitational motion to \l {Particles}
+ \row \o \l {ParticleMotionWander} \o Adds varied motions to \l {Particles}
+ \endtable
+
+
+
*/
diff --git a/doc/src/declarative/example-slideswitch.qdoc b/doc/src/declarative/example-slideswitch.qdoc
index 09b6006..bad8bbf 100644
--- a/doc/src/declarative/example-slideswitch.qdoc
+++ b/doc/src/declarative/example-slideswitch.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/declarative/examples.qdoc b/doc/src/declarative/examples.qdoc
index 3f075bb..224d346 100644
--- a/doc/src/declarative/examples.qdoc
+++ b/doc/src/declarative/examples.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/declarative/extending-tutorial.qdoc b/doc/src/declarative/extending-tutorial.qdoc
index 349ac30..2bfe62e 100644
--- a/doc/src/declarative/extending-tutorial.qdoc
+++ b/doc/src/declarative/extending-tutorial.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
@@ -260,49 +260,39 @@ custom QML types may see unexpected behavior if bindings are not implemented.
The \c PieChart type currently has a string-type property and a color-type property.
It could have many other types of properties. For example, it could have an
-enum-type property to store a display mode for each chart:
+int-type property to store an identifier for each chart:
\code
// C++
class PieChart : public QDeclarativeItem
{
- Q_ENUMS(DisplayMode)
- Q_PROPERTY(DisplayMode displayMode READ displayMode WRITE setDisplayMode)
+ Q_PROPERTY(int chartId READ chartId WRITE setChartId NOTIFY chartIdChanged)
...
public:
- enum DisplayMode {
- MultiLevel,
- Exploded,
- ThreeDimensional
- };
-
- void setDisplayMode(DisplayMode mode);
- DisplayMode displayMode() const;
+ void setChartId(int chartId);
+ int chartId() const;
...
+
+ signals:
+ void chartIdChanged();
};
// QML
PieChart {
...
- displayMode: PieChart.Exploded
+ chartId: 100
}
\endcode
We can also use various other property types. QML has built-in support for the following
-types:
+types listed in the \l{Extending Types from QML} document, including the following:
\list
-\o bool
-\o unsigned int, int
-\o float, double, qreal
-\o QString
-\o QUrl
-\o QColor
+\o bool, unsigned int, int, float, double, qreal
+\o QString, QUrl, QColor
\o QDate, QTime, QDateTime
-\o QPoint, QPointF
-\o QSize, QSizeF
-\o QRect, QRectF
+\o QPoint, QPointF, QSize, QSizeF, QRect, QRectF
\o QVariant
\endlist
diff --git a/doc/src/declarative/extending.qdoc b/doc/src/declarative/extending.qdoc
index df8a1e7..19e9ffc 100644
--- a/doc/src/declarative/extending.qdoc
+++ b/doc/src/declarative/extending.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
@@ -80,19 +80,14 @@ Types can be registered by libraries, application code, or by plugins
Once registered, all \l {Qt's Property System}{properties} of the
supported types are available in QML. QML has intrinsic support for
-properties of these types:
+properties of the types listed in the \l{Extending Types from QML}
+document, including the following:
\list
-\o bool
-\o unsigned int, int
-\o float, double, qreal
-\o QString
-\o QUrl
-\o QColor
+\o bool, unsigned int, int, float, double, qreal
+\o QString, QUrl, QColor
\o QDate, QTime, QDateTime
-\o QPoint, QPointF
-\o QSize, QSizeF
-\o QRect, QRectF
+\o QPoint, QPointF, QSize, QSizeF, QRect, QRectF
\o QVariant
\endlist
@@ -432,7 +427,7 @@ on<Property-name>Changed, regardless of the name used for the NOTIFY
signal in C++. We recommend using <property-name>Changed() for the
NOTIFY signal in C++.
-See also \l {Extending types from QML}.
+See also \l {Extending Types from QML}.
\section1 Methods
@@ -640,7 +635,7 @@ public:
/*!
\page qml-extending-types.html
-\title Extending types from QML
+\title Extending Types from QML
Many of the elements available for use in QML are implemented in
\l {Extending QML in C++}{C++}. These types are know as "core types". QML
@@ -652,7 +647,8 @@ language.
\section1 Adding new properties
-New properties can be added to an existing type. These new properties are
+New properties can be added to an existing type using the \c property keyword.
+These new properties are
available for use within QML, and also appear as regular Qt properties on the
C++ object, accessible through the regular property access mechanisms.
@@ -684,8 +680,12 @@ like this:
property list<Item> listOfItemsProperty
\endcode
+Custom types must be registered with qmlRegisterType() to be usable as a property
+type. Also note that list properties cannot be modified like ordinary JavaScript
+arrays; see the \l {list}{list type documentation} for details.
+
QML supports two methods for adding a new property to a type: a new property
-definition, and a property alias.
+definition, and a property alias. These are shown below.
\section2 Property definitions
diff --git a/doc/src/declarative/focus.qdoc b/doc/src/declarative/focus.qdoc
index c3c94c5..2e74fe0 100644
--- a/doc/src/declarative/focus.qdoc
+++ b/doc/src/declarative/focus.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/declarative/globalobject.qdoc b/doc/src/declarative/globalobject.qdoc
index a9aee2f..ffc84f9 100644
--- a/doc/src/declarative/globalobject.qdoc
+++ b/doc/src/declarative/globalobject.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/declarative/integrating.qdoc b/doc/src/declarative/integrating.qdoc
index 2586009..7028585 100644
--- a/doc/src/declarative/integrating.qdoc
+++ b/doc/src/declarative/integrating.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
@@ -47,7 +47,7 @@ qmlView->setSource(QUrl::fromLocalFile("myqml.qml"));
QWidget *widget = myExistingWidget();
QVBoxLayout *layout = new QVBoxLayout(widget);
-widget->addWidget(qmlView);
+layout->addWidget(qmlView);
\endcode
The one drawback to this approach is that QDeclarativeView is slower to initialize
diff --git a/doc/src/declarative/javascriptblocks.qdoc b/doc/src/declarative/javascriptblocks.qdoc
index d290690..b6fad5b 100644
--- a/doc/src/declarative/javascriptblocks.qdoc
+++ b/doc/src/declarative/javascriptblocks.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/declarative/modules.qdoc b/doc/src/declarative/modules.qdoc
index 25a61c9..011eb63 100644
--- a/doc/src/declarative/modules.qdoc
+++ b/doc/src/declarative/modules.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/declarative/network.qdoc b/doc/src/declarative/network.qdoc
index 60359de..a19ca6b 100644
--- a/doc/src/declarative/network.qdoc
+++ b/doc/src/declarative/network.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/declarative/positioners.qdoc b/doc/src/declarative/positioners.qdoc
index 8c9b8b7..9265732 100644
--- a/doc/src/declarative/positioners.qdoc
+++ b/doc/src/declarative/positioners.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/declarative/propertybinding.qdoc b/doc/src/declarative/propertybinding.qdoc
index f58d8fe..3bf85de 100644
--- a/doc/src/declarative/propertybinding.qdoc
+++ b/doc/src/declarative/propertybinding.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/declarative/qdeclarativedebugging.qdoc b/doc/src/declarative/qdeclarativedebugging.qdoc
index 26d3b38..9e0a969 100644
--- a/doc/src/declarative/qdeclarativedebugging.qdoc
+++ b/doc/src/declarative/qdeclarativedebugging.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/declarative/qdeclarativedocument.qdoc b/doc/src/declarative/qdeclarativedocument.qdoc
index b6af90b..8af24a6 100644
--- a/doc/src/declarative/qdeclarativedocument.qdoc
+++ b/doc/src/declarative/qdeclarativedocument.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/declarative/qdeclarativei18n.qdoc b/doc/src/declarative/qdeclarativei18n.qdoc
index 620b902..0d5fbcc 100644
--- a/doc/src/declarative/qdeclarativei18n.qdoc
+++ b/doc/src/declarative/qdeclarativei18n.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/declarative/qdeclarativeintro.qdoc b/doc/src/declarative/qdeclarativeintro.qdoc
index c97240c..1d807e3 100644
--- a/doc/src/declarative/qdeclarativeintro.qdoc
+++ b/doc/src/declarative/qdeclarativeintro.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
@@ -37,7 +37,7 @@ interface is specified as a tree of objects with properties.
This introduction is meant for those with little or no programming
experience. JavaScript is used as a scripting language in QML, so you may want
-to learn a bit more about it (\l{JavaScript: The Definitive Guide}) before diving
+to learn a bit more about it (\l{Javascript Guide}) before diving
deeper into QML. It's also helpful to have a basic understanding of other web
technologies like HTML and CSS, but it's not required.
@@ -65,8 +65,8 @@ types always begin with a capital letter. In the above example, there are
two objects, a \l Rectangle, and an \l Image. Between the braces, we can specify
information about the object, such as its properties.
-Properties are specified as \c {property: value}. In the above example, we
-can see the Image has a property named \c source, which has been assigned the
+Properties are specified as \c {property: value}. In the above example, we
+can see the Image has a property named \c source, which has been assigned the
value \c "pics/logo.png". The property and its value are separated by a colon.
Properties can be specified one-per-line:
diff --git a/doc/src/declarative/qdeclarativemodels.qdoc b/doc/src/declarative/qdeclarativemodels.qdoc
index 7548c96..e11cd56 100644
--- a/doc/src/declarative/qdeclarativemodels.qdoc
+++ b/doc/src/declarative/qdeclarativemodels.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/declarative/qdeclarativeperformance.qdoc b/doc/src/declarative/qdeclarativeperformance.qdoc
index 061a71c..ab8759e 100644
--- a/doc/src/declarative/qdeclarativeperformance.qdoc
+++ b/doc/src/declarative/qdeclarativeperformance.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/declarative/qdeclarativereference.qdoc b/doc/src/declarative/qdeclarativereference.qdoc
index 8c5811b..c2c5e91 100644
--- a/doc/src/declarative/qdeclarativereference.qdoc
+++ b/doc/src/declarative/qdeclarativereference.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/declarative/qdeclarativesecurity.qdoc b/doc/src/declarative/qdeclarativesecurity.qdoc
index 7395af3..01d6c56 100644
--- a/doc/src/declarative/qdeclarativesecurity.qdoc
+++ b/doc/src/declarative/qdeclarativesecurity.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/declarative/qdeclarativestates.qdoc b/doc/src/declarative/qdeclarativestates.qdoc
index 148726f..b663d43 100644
--- a/doc/src/declarative/qdeclarativestates.qdoc
+++ b/doc/src/declarative/qdeclarativestates.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/declarative/qml-intro.qdoc b/doc/src/declarative/qml-intro.qdoc
index 18fa439..f891e01 100644
--- a/doc/src/declarative/qml-intro.qdoc
+++ b/doc/src/declarative/qml-intro.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/declarative/qmlruntime.qdoc b/doc/src/declarative/qmlruntime.qdoc
index 51f9e4d..dfc0ad9 100644
--- a/doc/src/declarative/qmlruntime.qdoc
+++ b/doc/src/declarative/qmlruntime.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/declarative/qmlviewer.qdoc b/doc/src/declarative/qmlviewer.qdoc
index 81ad218..82f1fec 100644
--- a/doc/src/declarative/qmlviewer.qdoc
+++ b/doc/src/declarative/qmlviewer.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/declarative/qtbinding.qdoc b/doc/src/declarative/qtbinding.qdoc
index 53db5c7..8a969eb 100644
--- a/doc/src/declarative/qtbinding.qdoc
+++ b/doc/src/declarative/qtbinding.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
@@ -30,126 +30,389 @@
\target qtbinding
\title Using QML in C++ Applications
-\tableofcontents
+QML is designed to be easily extensible from C++. The classes in the
+QtDeclarative module allow QML components to be loaded and manipulated from C++, and through
+Qt's \l{The Meta-Object System}{meta-object system}, QML and C++ objects can easily
+communicate through Qt signals and slots. In addition, QML plugins can be written to create
+reusable QML components for distribution.
-The QML API is split into three main classes - QDeclarativeEngine, QDeclarativeComponent and QDeclarativeContext.
-QDeclarativeEngine provides the environment in which QML is run, QDeclarativeComponent encapsulates
-\l {QML Documents}, and QDeclarativeContext allows applications to expose data to QML component instances.
+You may want to mix QML and C++ for a number of reasons. For example:
-QML also includes a convenience API, QDeclarativeView, for applications that simply want to embed QML
-components into a new QGraphicsView. QDeclarativeView covers up many of the details discussed below.
-While QDeclarativeView is mainly intended for rapid prototyping it can have uses in production applications.
+\list
+\o To use functionality defined in a C++ source (for example, when using a C++ Qt-based data model, or
+calling functions in a third-party C++ library)
+\o To access functionality in the QtDeclarative module (for example, to dynamically generate
+images using QDeclarativeImageProvider)
+\o To write your own QML elements (whether for your applications, or for distribution to others)
+\endlist
+
+To use the QtDeclarative module, you must include and link to the module appropriately, as shown on
+the \l {QtDeclarative}{module index page}. The \l {Qt Declarative UI Runtime} documentation
+shows how to build a basic C++ application that uses this module.
+
+
+\section1 Core module classes
-If you are looking at retrofitting an existing Qt application with QML,
-read \l{Integrating QML with existing Qt UI code}.
-\section1 Basic Usage
+The QtDeclarative module provides a set of C++ APIs for extending your QML applications from C++ and
+embedding QML into C++ applications. There are several core classes in the QtDeclarative module
+that provide the essential capabilities for doing this. These are:
-Every application requires at least one QDeclarativeEngine. A QDeclarativeEngine allows the configuration of
-global settings that apply to all the QML component instances - such as the QNetworkAccessManager
-that is used for network communications, and the path used for persistent storage.
-Multiple QDeclarativeEngine's are only needed if the application requires these settings to differ
-between QML component instances.
+\list
+\o QDeclarativeEngine: A QML engine provides the environment for executing QML code. Every
+application requires at least one engine instance.
+\o QDeclarativeComponent: A component encapsulates a \l{QML Documents}{QML document}.
+\o QDeclarativeContext: A context allows an application to expose data to the QML components
+created by an engine.
+\endlist
-\l {QML Documents} are loaded using the QDeclarativeComponent class. Each QDeclarativeComponent instance
-represents a single QML document. A QDeclarativeComponent can be passed a document URL, or raw text
-representing the content of the document. The document URL can be a local filesystem URL, or
-any network URL supported by QNetworkAccessManager.
+A QDeclarativeEngine allows the configuration of global settings that apply to all of its QML
+component instances: for example, the QNetworkAccessManager to be used for network communications,
+and the file path to be used for persistent storage.
-QML component instances can then be created by calling the QDeclarativeComponent::create() method. Here's
-an example of loading a QML document, and creating an object from it.
+QDeclarativeComponent is used to load QML documents. Each QDeclarativeComponent instance represents
+a single document. A component can be created from the URL or file path of a QML document, or the raw
+QML code of the document. Component instances are instatiated through the
+QDeclarativeComponent::create() method, like this:
\code
- QDeclarativeEngine *engine = new QDeclarativeEngine(parent);
- QDeclarativeComponent component(engine, QUrl::fromLocalFile("main.qml"));
- QObject *myObject = component.create();
+QDeclarativeEngine engine;
+QDeclarativeComponent component(&engine, QUrl::fromLocalFile("MyRectangle.qml"));
+QObject *rectangleInstance = component.create();
+
+// ...
+delete rectangleInstance;
\endcode
-\section1 Exposing Data
+QML documents can also be loaded using QDeclarativeView. This class provides a convenient
+QWidget-based view for embedding QML components into QGraphicsView-based applications. (For other
+methods of integrating QML into QWidget-based applications, see \l {Integrating QML with existing Qt
+UI code}.)
+
+
+\section1 Approaches to using QML with C++
+
+There are a number of ways to extend your QML application through C++. For example, you could:
+
+\list
+\o Load a QML component and manipulate it (or its children) from C++
+\o Embed a C++ object and its properties directly into a QML component (for example, to make a
+particular C++ object callable from QML, or to replace a dummy list model data with a real data set)
+\o Define new QML elements (through QObject-based C++ classes) and create them directly from your
+QML code
+\endlist
+
+These methods are shown below. Naturally these approaches are not exclusive; you can mix any of
+these methods throughout your application as appropriate.
+
+
+\section2 Loading QML components from C++
+
+A QML document can be loaded with QDeclarativeComponent or QDeclarativeView. QDeclarativeComponent
+loads a QML component as a C++ object; QDeclarativeView also does this,
+but additionally loads the QML component directly into a QGraphicsView. It is convenient for loading
+a displayable QML component into a QWidget-based application.
+
+For example, suppose there is a \c MyItem.qml file that looks like this:
+
+\snippet doc/src/snippets/declarative/qtbinding/loading/MyItem.qml start
+\snippet doc/src/snippets/declarative/qtbinding/loading/MyItem.qml end
+
+This QML document can be loaded with QDeclarativeComponent or QDeclarativeView with the following
+C++ code. Using a QDeclarativeComponent requires calling QDeclarativeComponent::create() to create
+a new instance of the component, while a QDeclarativeView automatically creates an instance of the
+component, which is accessible via QDeclarativeView::rootObject():
+
+\table
+\row
+\o
+\snippet doc/src/snippets/declarative/qtbinding/loading/main.cpp QDeclarativeComponent-a
+\dots 0
+\snippet doc/src/snippets/declarative/qtbinding/loading/main.cpp QDeclarativeComponent-b
+\o
+\snippet doc/src/snippets/declarative/qtbinding/loading/main.cpp QDeclarativeView
+\endtable
+
+This \c object is the instance of the \c MyItem.qml component that has been created. You can now
+modify the item's properties using QObject::setProperty() or QDeclarativeProperty:
+
+\snippet doc/src/snippets/declarative/qtbinding/loading/main.cpp properties
+
+Alternatively, you can cast the object to its actual type and call functions with compile-time
+safety. In this case the base object of \c MyItem.qml is an \l Item, which is defined by the
+QDeclarativeItem class:
+
+\snippet doc/src/snippets/declarative/qtbinding/loading/main.cpp cast
+
+You can also connect to any signals or call functions defined in the component using
+QMetaObject::invokeMethod() and QObject::connect(). See \l {Exchanging data between QML and C++}
+below for further details.
+
+\section3 Locating child objects
+
+QML components are essentially object trees with children that have siblings and their own children.
+Child objects of QML components can be located using the QObject::objectName property with
+QObject::findChild(). For example, if the root item in \c MyItem.qml had a child \l Rectangle item:
+
+\snippet doc/src/snippets/declarative/qtbinding/loading/MyItem.qml start
+\codeline
+\snippet doc/src/snippets/declarative/qtbinding/loading/MyItem.qml child
+\snippet doc/src/snippets/declarative/qtbinding/loading/MyItem.qml end
+
+The child could be located like this:
+
+\snippet doc/src/snippets/declarative/qtbinding/loading/main.cpp findChild
+
+If \c objectName is used inside a delegate of a ListView, \l Repeater or some other
+element that creates multiple instances of its delegates, there will be multiple children with
+the same \c objectName. In this case, QObject::findChildren() can be used to find all children
+with a matching \c objectName.
+
+\warning While it is possible to use C++ to access and manipulate QML objects deep into the
+object tree, we recommend that you do not take this approach outside of application
+testing and prototyping. One strength of QML and C++ integration is the ability to implement the
+QML user interface separately from the C++ logic and dataset backend, and this strategy breaks if the
+C++ side reaches deep into the QML components to manipulate them directly. This would make it difficult
+to, for example, swap a QML view component for another view, if the new component was missing a
+required \c objectName. It is better for the C++ implementation to know as little as possible about
+the QML user interface implementation and the composition of the QML object tree.
+
+
+\section2 Embedding C++ objects into QML components
+
+When loading a QML scene into a C++ application, it can be useful to directly embed C++ data into
+the QML object. QDeclarativeContext enables this by exposing data to the context of a QML
+component, allowing data to be injected from C++ into QML.
+
+For example, here is a QML item that refers to a \c currentDateTime value that does not exist in
+the current scope:
+
+\snippet doc/src/snippets/declarative/qtbinding/context/MyItem.qml 0
+
+This \c currentDateTime value can be set directly by the C++ application that loads the QML
+component, using QDeclarativeContext::setContextProperty():
+
+\snippet doc/src/snippets/declarative/qtbinding/context/main.cpp 0
+
+Context properties can hold either QVariant or QObject* values. This means custom C++ objects can
+also be injected using this approach, and these objects can be modified and read directly in QML.
+Here, we modify the above example to embed a QObject instance instead of a QDateTime value, and the QML code
+invokes a method on the object instance:
+
+\table
+\row
+\o
+\snippet doc/src/snippets/declarative/qtbinding/context-advanced/applicationdata.h 0
+\codeline
+\snippet doc/src/snippets/declarative/qtbinding/context-advanced/main.cpp 0
+\o
+\snippet doc/src/snippets/declarative/qtbinding/context-advanced/MyItem.qml 0
+\endtable
+
+(Note that date/time values returned from C++ to QML can be formatted through
+\l{QML:Qt::formatDateTime}{Qt.formatDateTime()} and associated functions.)
+
+If the QML item needs to receive signals from the context property, it can connect to them using the
+\l Connections element. For example, if \c ApplicationData has a signal named \c
+dataChanged(), this signal can be connected to using an \c onDataChanged handler within
+a \l Connections object:
+
+\snippet doc/src/snippets/declarative/qtbinding/context-advanced/connections.qml 0
+
+Context properties can be useful for using C++ based data models in a QML view. See the
+\l {declarative/modelviews/stringlistmodel}{String ListModel},
+\l {declarative/modelviews/objectlistmodel}{Object ListModel} and
+\l {declarative/modelviews/abstractitemmodel}{AbstractItemModel} models for
+respective examples on using QStringListModel, QObjectList-based models and QAbstractItemModel
+in QML views.
+
+Also see the QDeclarativeContext documentation for more information.
+
+
+\section2 Defining new QML elements
+
+While new QML elements can be \l {Defining new Components}{defined in QML}, they can also be
+defined by C++ classes; in fact, many of the core \l {QML Elements} are implemented through
+C++ classes. When you create a QML object using one of these elements, you are simply creating an
+instance of a QObject-based C++ class and setting its properties.
+
+For example, here is an \c ImageViewer class with an \c image URL property:
+
+\snippet doc/src/snippets/declarative/qtbinding/newelements/imageviewer.h 0
+
+Aside from the fact that it inherits QDeclarativeItem, this is an ordinary class that could
+exist outside of QML. However, once it is registered with the QML engine using qmlRegisterType():
+
+\snippet doc/src/snippets/declarative/qtbinding/newelements/main.cpp register
+
+Then, any QML code loaded by your C++ application or \l{QDeclarativeExtensionPlugin}{plugin} can create and manipulate
+\c ImageViewer objects:
+
+\snippet doc/src/snippets/declarative/qtbinding/newelements/standalone.qml 0
+
+Note that custom C++ types do not have to inherit from QDeclarativeItem; this is only necessary if it is
+a displayable item. If the item is not displayable, it can simply inherit from QObject.
+
+For more information on defining new QML elements, see the \l {Tutorial: Writing QML extensions with C++}
+{Writing QML extensions with C++} tutorial and the \l {Extending QML in C++} reference
+documentation.
+
+
+
+\section1 Exchanging data between QML and C++
+
+QML and C++ objects can communicate with one another through signals, slots and property
+modifications. For a C++ object, any data that is exposed to Qt's \l{The Meta-Object System}{Meta-Object System}
+- that is, properties, signals, slots and Q_INVOKABLE methods - become available to QML. On
+the QML side, all QML object data is automatically made available to the meta-object system and can
+be accessed from C++.
+
+
+\section2 Calling functions
-QML components are instantiated in a QDeclarativeContext. A context allows the application to expose data
-to the QML component instance. A single QDeclarativeContext can be used to instantiate all the objects
-used by an application, or several QDeclarativeContext can be created for more fine grained control over
-the data exposed to each instance. If a context is not passed to the QDeclarativeComponent::create()
-method, the QDeclarativeEngine's \l {QDeclarativeEngine::rootContext()}{root context} is used. Data exposed through
-the root context is available to all object instances.
+QML functions can be called from C++ and vice-versa.
-\section1 Simple Data
+All QML functions are exposed to the meta-object system and can be called using
+QMetaObject::invokeMethod(). Here is a C++ application that uses this to call a QML function:
-To expose data to a QML component instance, applications set \l {QDeclarativeContext::setContextProperty()}
-{context properties} which are then accessible by name from QML \l {Property Binding}s and JavaScript.
-The following example shows how to expose a background color to a QML file through QDeclarativeView:
+\table
+\row
+\o \snippet doc/src/snippets/declarative/qtbinding/functions-qml/MyItem.qml 0
+\o \snippet doc/src/snippets/declarative/qtbinding/functions-qml/main.cpp 0
+\endtable
+
+Notice the Q_RETURN_ARG() and Q_ARG() arguments for QMetaObject::invokeMethod() must be specified as
+QVariant types, as this is the generic data type used for QML functions and return values.
+
+To call a C++ function from QML, the function must be either a Qt slot, or a function marked with
+the Q_INVOKABLE macro, to be available to QML. In the following example, the QML code invokes
+methods on the \c myObject object, which has been set using QDeclarativeContext::setContextProperty():
+
+\table
+\row
+\o
+\snippet doc/src/snippets/declarative/qtbinding/functions-cpp/MyItem.qml 0
+\o
+\snippet doc/src/snippets/declarative/qtbinding/functions-cpp/myclass.h 0
+\codeline
+\snippet doc/src/snippets/declarative/qtbinding/functions-cpp/main.cpp 0
+\endtable
+
+Note that QML does not support overloaded functions. If a C++ has more than one function with the
+same name, there is no guarantee which overloaded function will be called from QML.
+
+
+\section2 Receiving signals
+
+All QML signals are automatically available to C++, and can be connected to using QObject::connect()
+like any ordinary Qt C++ signal.
+
+Here is a QML component with a signal named \c qmlSignal. This signal is connected to a C++ object's
+slot using QObject::connect():
+
+\table
+\row
+\o
+\snippet doc/src/snippets/declarative/qtbinding/signals-qml/MyItem.qml 0
+\o
+\snippet doc/src/snippets/declarative/qtbinding/signals-qml/myclass.h 0
+\codeline
+\snippet doc/src/snippets/declarative/qtbinding/signals-qml/main.cpp 0
+\endtable
+
+To connect to Qt C++ signals from within QML, use a signal handler with the \c on<SignalName> syntax.
+If the C++ object is directly creatable from within QML (see \l {Defining new QML elements} above)
+then the signal handler can be defined within the object declaration. In the following example, the
+QML code creates a \c ImageViewer object, and the \c imageChanged and \c loadingError signals of the
+C++ object are connected to through \c onImagedChanged and \c onLoadingError signal handlers in QML:
\table
\row
\o
-\c {// main.cpp}
-\snippet doc/src/snippets/declarative/qtbinding/contextproperties/main.cpp 0
+
+\snippet doc/src/snippets/declarative/qtbinding/signals-cpp/imageviewer.h start
+\dots 4
+\snippet doc/src/snippets/declarative/qtbinding/signals-cpp/imageviewer.h end
\o
-\c {// main.qml}
-\snippet doc/src/snippets/declarative/qtbinding/contextproperties/main.qml 0
+\snippet doc/src/snippets/declarative/qtbinding/signals-cpp/standalone.qml 0
+\endtable
+
+(Note that if a signal has been declared as the NOTIFY signal for a property, QML allows it to be
+received with an \c on<Property>Changed handler even if the signal's name does not follow the \c
+<Property>Changed naming convention. In the above example, if the "imageChanged" signal was named
+"imageModified" instead, the \c onImageChanged signal handler would still be called.)
+
+If, however, the object with the signal is not created from within the QML code, and the QML item only has a
+reference to the created object - for example, if the object was set using
+QDeclarativeContext::setContextProperty() - then the \l Connections element can be used
+instead to create the signal handler:
+\table
+\row
+\o \snippet doc/src/snippets/declarative/qtbinding/signals-cpp/main.cpp connections
+\o \snippet doc/src/snippets/declarative/qtbinding/signals-cpp/MyItem.qml 0
\endtable
-Or, if you want \c main.cpp to create the component without showing it in a QDeclarativeView, you could create an instance of QDeclarativeContext using QDeclarativeEngine::rootContext() instead:
-\snippet doc/src/snippets/declarative/qtbinding/contextproperties/main.cpp 1
+\section2 Modifying properties
-Context properties work just like normal properties in QML bindings - if the \c backgroundColor
-context property in this example was changed to red, the component object instances would
-all be automatically updated. Note that it is the responsibility of the creator to delete any
-QDeclarativeContext it constructs. If the \c windowContext is no longer needed when
-the \c window component instantiation is destroyed, the \c windowContext must be destroyed
-explicitly. The simplest way to ensure this is to set \c window as \c windowContext's parent.
+Any properties declared in a QML object are automatically accessible from C++. Given a QML item
+like this:
-QDeclarativeContexts form a tree - each QDeclarativeContext except for the root context has a parent. Child
-QDeclarativeContexts effectively inherit the context properties present in their parents. This gives
-applications more freedom in partitioning the data exposed to different QML object instances.
-If a QDeclarativeContext sets a context property that is also set in one of its parents, the new context
-property shadows that in the parent. In The following example, the \c background context property
-in \c {Context 1} shadows the \c background context property in the root context.
+\snippet doc/src/snippets/declarative/qtbinding/properties-qml/MyItem.qml 0
-\image qml-context-tree.png
+The value of the \c someNumber property can be set and read using QDeclarativeProperty, or
+QObject::setProperty() and QObject::property():
-\section2 Structured Data
+\snippet doc/src/snippets/declarative/qtbinding/properties-qml/main.cpp 0
-Context properties can also be used to expose structured and writable data to QML objects. In
-addition to all the types already supported by QVariant, QObject derived types can be assigned to
-context properties. QObject context properties allow the data exposed to be more structured, and
-allow QML to set values.
+You should always use QObject::setProperty(), QDeclarativeProperty or QMetaProperty::write() to
+change a QML property value, to ensure the QML engine is made aware of the property change. For example,
+say you have a custom element \c PushButton with a \c buttonText property that internally reflects
+the value of a \c m_buttonText member variable. Modifying the member variable directly like this is
+not a good idea:
-The following example creates a \c CustomPalette object, and sets it as the \c palette context
-property.
+\badcode
+// BAD!
+QDeclarativeComponent component(engine, "MyButton.qml");
+PushButton *button = qobject_cast<PushButton*>(component.create());
+button->m_buttonText = "Click me";
+\endcode
-\snippet doc/src/snippets/declarative/qtbinding/custompalette/custompalette.h 0
+Since the value is changed directly, this bypasses Qt's \l{The Meta-Object System}{meta-object system}
+and the QML engine is not made aware of the property change. This means property bindings to
+\c buttonText would not be updated, and any \c onButtonTextChanged handlers would not be called.
-\snippet doc/src/snippets/declarative/qtbinding/custompalette/main.cpp 0
-The QML that follows references the palette object, and its properties, to set the appropriate
-background and text colors. When the window is clicked, the palette's text color is changed, and
-the window text will update accordingly.
+\target properties-cpp
-\snippet doc/src/snippets/declarative/qtbinding/custompalette/main.qml 0
+Any \l {The Property System}{Qt properties} - that is, those declared with the Q_PROPERTY()
+macro - are accessible from QML. Here is a modified version of the \l {Embedding C++ objects into
+QML components}{earlier example} on this page; here, the \c ApplicationData class has a \c backgroundColor
+property. This property can be written to and read from QML:
-To detect when a C++ property value - in this case the \c CustomPalette's \c text property -
-changes, the property must have a corresponding NOTIFY signal. The NOTIFY signal specifies a signal
-that is emitted whenever the property changes value. Implementers should take care to only emit the
-signal if the value \e changes to prevent loops from occurring. Accessing a property from a
-binding that does not have a NOTIFY signal will cause QML to issue a warning at runtime.
+\table
+\row
+\o \snippet doc/src/snippets/declarative/qtbinding/properties-cpp/applicationdata.h 0
+\o \snippet doc/src/snippets/declarative/qtbinding/properties-cpp/MyItem.qml 0
+\endtable
-\section2 Dynamic Structured Data
+Notice the \c backgroundColorChanged signal is declared as the NOTIFY signal for the
+\c backgroundColor property. If a Qt property does not have an associated NOTIFY signal,
+the property cannot be used for \l {Property Binding} in QML, as the QML engine would not be
+notified when the value changes. If you are using custom types in QML, make sure their
+properties have NOTIFY signals so that they can be used in property bindings.
-If an application is too dynamic to structure data as compile-time QObject types, dynamically
-structured data can be constructed at runtime using the QDeclarativePropertyMap class.
+See \l {Tutorial: Writing QML extensions with C++} for further details and examples
+on using Qt properties with QML.
-\section1 Calling C++ methods from QML
+\section1 Supported data types
-It is possible to call methods of QObject derived types by either exposing the
-methods as public slots, or by marking the methods Q_INVOKABLE.
+Any C++ data that is used from QML - whether as custom properties, or parameters for signals or
+functions - must be of a type that is recognizable by QML.
-The C++ methods can also have parameters and return values. QML has support for
-the following types:
+By default, QML recognizes the following data types:
\list
\o bool
@@ -163,102 +426,168 @@ the following types:
\o QSize, QSizeF
\o QRect, QRectF
\o QVariant
+\o QObject*
+\o Enumerations declared with Q_ENUMS()
\endlist
-This example toggles the "Stopwatch" object on/off when the MouseArea is clicked:
+To allow a custom C++ type to be created or used in QML, the C++ class must be registered as a QML
+type using qmlRegisterType(), as shown in the \l {Defining new QML elements} section above.
-\table
-\row
-\o
-\c {// main.cpp}
-\snippet doc/src/snippets/declarative/qtbinding/stopwatch/stopwatch.h 0
-\snippet doc/src/snippets/declarative/qtbinding/stopwatch/main.cpp 0
-\o
-\c {// main.qml}
-\snippet doc/src/snippets/declarative/qtbinding/stopwatch/main.qml 0
+\section2 Using enumerations of a custom type
-\endtable
+To use an enumeration from a custom C++ component, the enumeration must be declared with Q_ENUMS() to
+register it with Qt's meta object system. For example, the following C++ type has a \c Status enum:
-Note that in this particular example a better way to achieve the same result
-is to have a "running" property in \c main.qml. This leads to much nicer QML code:
+\snippet doc/src/snippets/declarative/qtbinding/enums/imageviewer.h start
+\snippet doc/src/snippets/declarative/qtbinding/enums/imageviewer.h end
+
+Providing the \c ImageViewer class has been registered using qmlRegisterType(), its \c Status enum can
+now be used from QML:
+
+\snippet doc/src/snippets/declarative/qtbinding/enums/standalone.qml 0
+
+The C++ type must be registered with QML to use its enums. If your C++ type is not instantiable, it
+can be registered using qmlRegisterUncreatableType().
+
+See the \l {Tutorial: Writing QML extensions with C++}{Writing QML extensions with C++} tutorial and
+the \l {Extending QML in C++} reference documentation for more information.
+
+
+\section2 Automatic type conversion
+
+As a convenience, some basic types can be specified in QML using format strings to make it easier to
+pass simple values from QML to C++.
\table
+\header
+\o Type
+\o String format
+\o Example
\row
-\o
-\code
-// main.qml
-import QtQuick 1.0
-
-Rectangle {
- MouseArea {
- anchors.fill: parent
- onClicked: stopwatch.running = !stopwatch.running
- }
-}
-\endcode
+\o QColor
+\o Color name, "#RRGGBB", "#RRGGBBAA"
+\o "red", "#ff0000", "#ff000000"
+\row
+\o QDate
+\o "YYYY-MM-DD"
+\o "2010-05-31"
+\row
+\o QPoint
+\o "x,y"
+\o "10,20"
+\row
+\o QRect
+\o "x,y,WidthxHeight"
+\o "50,50,100x100"
+\row
+\o QSize
+\o "WidthxHeight"
+\o "100x200"
+\row
+\o QTime
+\o "hh:mm:ss"
+\o "14:22:55"
+\row
+\o QUrl
+\o URL string
+\o "http://www.example.com"
+\row
+\o QVector3D
+\o "x,y,z"
+\o "0,1,0"
+\row
+\o Enumeration value
+\o Enum value name
+\o "AlignRight"
\endtable
-Of course, it is also possible to call \l {Adding new methods}{functions declared in QML from C++}.
+(More details on these string formats and types can be found in the
+\l {QML Basic Types}{basic type documentation}.)
+
+These string formats can be used to set QML \c property values and pass arguments to C++
+functions. This is demonstrated by various examples on this page; in the above
+\l{#properties-cpp}{Qt properties example}, the \c ApplicationData class has a \c backgroundColor
+property of a QColor type, which is set from the QML code with the string "red" rather rather
+than an actual QColor object.
+
+If it is preferred to pass an explicitly-typed value rather than a string, the global
+\l{QmlGlobalQtObject}{Qt object} provides convenience functions for creating some of the object
+types listed above. For example, \l{QML:Qt::rgba()}{Qt.rgba()} creates a QColor value from four
+RGBA values. The QColor returned from this function could be used instead of a string to set
+a QColor-type property or to call a C++ function that requires a QColor parameter.
+
+
+\section1 Writing QML plugins
+
+The QtDeclarative module includes the QDeclarativeExtensionPlugin class, which is an abstract
+class for writing QML plugins. This allows QML extension types to be dynamically loaded into
+QML applications.
+
+See the QDeclarativeExtensionPlugin documentation and \l {How to Create Qt Plugins} for more
+details.
+
+
+\section1 Managing resource files with the Qt resource system
+The \l {The Qt Resource System}{Qt resource system} allows resource files to be stored as
+binary files in an application executable. This can be useful when building a mixed
+QML/C++ application as it enables QML files (as well as other resources such as images
+and sound files) to be referred to through the resource system URI scheme rather than
+relative or absolute paths to filesystem resources. Note, however, that if you use the resource
+system, the application executable must be re-compiled whenever a QML source file is changed
+in order to update the resources in the package.
-\section1 Network Components
+To use the resource system in a mixed QML/C++ application:
-If the URL passed to QDeclarativeComponent is a network resource, or if the QML document references a
-network resource, the QDeclarativeComponent has to fetch the network data before it is able to create
-objects. In this case, the QDeclarativeComponent will have a \l {QDeclarativeComponent::Loading}{Loading}
-\l {QDeclarativeComponent::status()}{status}. An application will have to wait until the component
-is \l {QDeclarativeComponent::Ready}{Ready} before calling \l {QDeclarativeComponent::create()}.
+\list
+\o Create a \c .qrc \l {The Qt Resource System}{resource collection file} that lists resource
+ files in XML format
+\o From C++, load the main QML file as a resource using the \c :/ prefix or as a URL with the
+ \c qrc scheme
+\endlist
+
+Once this is done, all files specified by relative paths in QML will be loaded from
+the resource system instead. Use of the resource system is completely transparent to
+the QML layer; this means all QML code should refer to resource files using relative
+paths and should \e not use the \c qrc scheme. This scheme should only be used from
+C++ code for referring to resource files.
-The following example shows how to load a QML file from a network resource. After creating
-the QDeclarativeComponent, it tests whether the component is loading. If it is, it connects to the
-QDeclarativeComponent::statusChanged() signal and otherwise calls the \c {continueLoading()} method
-directly. This test is necessary, even for URLs that are known to be remote, just in case
-the component has been cached and is ready immediately.
+Here is a application packaged using the \l {The Qt Resource System}{Qt resource system}.
+The directory structure looks like this:
\code
-MyApplication::MyApplication()
-{
- // ...
- component = new QDeclarativeComponent(engine, QUrl("http://www.example.com/main.qml"));
- if (component->isLoading())
- QObject::connect(component, SIGNAL(statusChanged(QDeclarativeComponent::Status)),
- this, SLOT(continueLoading()));
- else
- continueLoading();
-}
-
-void MyApplication::continueLoading()
-{
- if (component->isError()) {
- qWarning() << component->errors();
- } else {
- QObject *myObject = component->create();
- }
-}
+project
+ |- example.qrc
+ |- main.qml
+ |- images
+ |- background.png
+ |- main.cpp
+ |- project.pro
\endcode
-\section1 Qt Resources
+The \c main.qml and \c background.png files will be packaged as resource files. This is
+done in the \c example.qrc resource collection file:
-QML content can be loaded from \l {The Qt Resource System} using the \e qrc: URL scheme.
-For example:
+\quotefile doc/src/snippets/declarative/qtbinding/resources/example.qrc
-\c [project/example.qrc]
-\quotefile doc/src/snippets/declarative/qtbinding/resources/example.qrc
+Since \c background.png is a resource file, \c main.qml can refer to it using the relative
+path specified in \c example.qrc:
+
+\snippet doc/src/snippets/declarative/qtbinding/resources/main.qml 0
-\c [project/project.pro]
-\quotefile doc/src/snippets/declarative/qtbinding/resources/resources.pro
+To allow QML to locate resource files correctly, the \c main.cpp loads the main QML
+file, \c main.qml, as a resource file using the \c qrc scheme:
-\c [project/main.cpp]
\snippet doc/src/snippets/declarative/qtbinding/resources/main.cpp 0
-\c [project/main.qml]
-\snippet doc/src/snippets/declarative/qtbinding/resources/main.qml 0
+Finally \c project.pro uses the RESOURCES variable to indicate that \c example.qrc should
+be used to build the application resources:
+
+\quotefile doc/src/snippets/declarative/qtbinding/resources/resources.pro
+
+See \l {The Qt Resource System} for more information.
-Note that the resource system cannot be accessed from QML directly. If the main QML file is
-loaded as a resource, all files specified as relative paths in QML will also be loaded from
-the resource system. Using the resource system is completely transparent to the QML layer.
-This also means that if the main QML file is not loaded as a resource then files in the resource
-system cannot be accessed from QML.
*/
+
diff --git a/doc/src/declarative/qtdeclarative.qdoc b/doc/src/declarative/qtdeclarative.qdoc
index 5232841..7ecdc53 100644
--- a/doc/src/declarative/qtdeclarative.qdoc
+++ b/doc/src/declarative/qtdeclarative.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/declarative/qtprogrammers.qdoc b/doc/src/declarative/qtprogrammers.qdoc
index 69e6358..0c14093 100644
--- a/doc/src/declarative/qtprogrammers.qdoc
+++ b/doc/src/declarative/qtprogrammers.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/declarative/scope.qdoc b/doc/src/declarative/scope.qdoc
index 17f8632..7e75380 100644
--- a/doc/src/declarative/scope.qdoc
+++ b/doc/src/declarative/scope.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/declarative/tutorial.qdoc b/doc/src/declarative/tutorial.qdoc
index f913d44..8467478 100644
--- a/doc/src/declarative/tutorial.qdoc
+++ b/doc/src/declarative/tutorial.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/declarative/whatsnew.qdoc b/doc/src/declarative/whatsnew.qdoc
index f8d1d0e..df0e999 100644
--- a/doc/src/declarative/whatsnew.qdoc
+++ b/doc/src/declarative/whatsnew.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/demos/affine.qdoc b/doc/src/demos/affine.qdoc
index b4bd5d6..f8b3fd2 100644
--- a/doc/src/demos/affine.qdoc
+++ b/doc/src/demos/affine.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/demos/anomaly.qdoc b/doc/src/demos/anomaly.qdoc
index ab00757..403a516 100644
--- a/doc/src/demos/anomaly.qdoc
+++ b/doc/src/demos/anomaly.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/demos/arthurplugin.qdoc b/doc/src/demos/arthurplugin.qdoc
index 2345fdd..1c28bfe 100644
--- a/doc/src/demos/arthurplugin.qdoc
+++ b/doc/src/demos/arthurplugin.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/demos/books.qdoc b/doc/src/demos/books.qdoc
index 8fbeb0a..f712fb2 100644
--- a/doc/src/demos/books.qdoc
+++ b/doc/src/demos/books.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/demos/boxes.qdoc b/doc/src/demos/boxes.qdoc
index bae6a70..67657ce 100644
--- a/doc/src/demos/boxes.qdoc
+++ b/doc/src/demos/boxes.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/demos/browser.qdoc b/doc/src/demos/browser.qdoc
index 722e28b..6286f76 100644
--- a/doc/src/demos/browser.qdoc
+++ b/doc/src/demos/browser.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/demos/chip.qdoc b/doc/src/demos/chip.qdoc
index bfe9cec..7573b2e 100644
--- a/doc/src/demos/chip.qdoc
+++ b/doc/src/demos/chip.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/demos/composition.qdoc b/doc/src/demos/composition.qdoc
index 7bf0caa..b642abc 100644
--- a/doc/src/demos/composition.qdoc
+++ b/doc/src/demos/composition.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/demos/deform.qdoc b/doc/src/demos/deform.qdoc
index e516c2b..6e7938f 100644
--- a/doc/src/demos/deform.qdoc
+++ b/doc/src/demos/deform.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/demos/desktopservices.qdoc b/doc/src/demos/desktopservices.qdoc
index b281bdf..1da3244 100644
--- a/doc/src/demos/desktopservices.qdoc
+++ b/doc/src/demos/desktopservices.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/demos/digiflip.qdoc b/doc/src/demos/digiflip.qdoc
index f275797..174c337 100644
--- a/doc/src/demos/digiflip.qdoc
+++ b/doc/src/demos/digiflip.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/demos/embeddeddialogs.qdoc b/doc/src/demos/embeddeddialogs.qdoc
index db331dd..3be0e65 100644
--- a/doc/src/demos/embeddeddialogs.qdoc
+++ b/doc/src/demos/embeddeddialogs.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/demos/embeddedsvgviewer.qdoc b/doc/src/demos/embeddedsvgviewer.qdoc
index 9df35a8..a866ef5 100644
--- a/doc/src/demos/embeddedsvgviewer.qdoc
+++ b/doc/src/demos/embeddedsvgviewer.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/demos/flickable.qdoc b/doc/src/demos/flickable.qdoc
index 9b2db8c..1e1cb33 100644
--- a/doc/src/demos/flickable.qdoc
+++ b/doc/src/demos/flickable.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/demos/flightinfo.qdoc b/doc/src/demos/flightinfo.qdoc
index af4448b..f31d298 100644
--- a/doc/src/demos/flightinfo.qdoc
+++ b/doc/src/demos/flightinfo.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/demos/fluidlauncher.qdoc b/doc/src/demos/fluidlauncher.qdoc
index eabeaaa..9619077 100644
--- a/doc/src/demos/fluidlauncher.qdoc
+++ b/doc/src/demos/fluidlauncher.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/demos/gradients.qdoc b/doc/src/demos/gradients.qdoc
index 7552c54..de79b8c 100644
--- a/doc/src/demos/gradients.qdoc
+++ b/doc/src/demos/gradients.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/demos/interview.qdoc b/doc/src/demos/interview.qdoc
index 40e6369..ea4ff9f 100644
--- a/doc/src/demos/interview.qdoc
+++ b/doc/src/demos/interview.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/demos/lightmaps.qdoc b/doc/src/demos/lightmaps.qdoc
index 2234893..02a3362 100644
--- a/doc/src/demos/lightmaps.qdoc
+++ b/doc/src/demos/lightmaps.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/demos/macmainwindow.qdoc b/doc/src/demos/macmainwindow.qdoc
index 28ccf7c..dd95530 100644
--- a/doc/src/demos/macmainwindow.qdoc
+++ b/doc/src/demos/macmainwindow.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/demos/mainwindow.qdoc b/doc/src/demos/mainwindow.qdoc
index 9bd301c..97ebf84 100644
--- a/doc/src/demos/mainwindow.qdoc
+++ b/doc/src/demos/mainwindow.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/demos/mediaplayer.qdoc b/doc/src/demos/mediaplayer.qdoc
index 8d2fc9a..b20cb5d 100644
--- a/doc/src/demos/mediaplayer.qdoc
+++ b/doc/src/demos/mediaplayer.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/demos/pathstroke.qdoc b/doc/src/demos/pathstroke.qdoc
index deaa660..ecb442d 100644
--- a/doc/src/demos/pathstroke.qdoc
+++ b/doc/src/demos/pathstroke.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/demos/qtdemo.qdoc b/doc/src/demos/qtdemo.qdoc
index 04fd548..65afa51 100644
--- a/doc/src/demos/qtdemo.qdoc
+++ b/doc/src/demos/qtdemo.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/demos/raycasting.qdoc b/doc/src/demos/raycasting.qdoc
index 9ad4ca5..5cbf55d 100644
--- a/doc/src/demos/raycasting.qdoc
+++ b/doc/src/demos/raycasting.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/demos/spectrum.qdoc b/doc/src/demos/spectrum.qdoc
index d5a3f85..0d3823b 100644
--- a/doc/src/demos/spectrum.qdoc
+++ b/doc/src/demos/spectrum.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/demos/spreadsheet.qdoc b/doc/src/demos/spreadsheet.qdoc
index 496425d..a77ba9e 100644
--- a/doc/src/demos/spreadsheet.qdoc
+++ b/doc/src/demos/spreadsheet.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/demos/sqlbrowser.qdoc b/doc/src/demos/sqlbrowser.qdoc
index 88eead6..57e7bc2 100644
--- a/doc/src/demos/sqlbrowser.qdoc
+++ b/doc/src/demos/sqlbrowser.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/demos/styledemo.qdoc b/doc/src/demos/styledemo.qdoc
index 1a6ba9c..21e2381 100644
--- a/doc/src/demos/styledemo.qdoc
+++ b/doc/src/demos/styledemo.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/demos/sub-attaq.qdoc b/doc/src/demos/sub-attaq.qdoc
index 42b6b45..1d53a18 100644
--- a/doc/src/demos/sub-attaq.qdoc
+++ b/doc/src/demos/sub-attaq.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/demos/textedit.qdoc b/doc/src/demos/textedit.qdoc
index e7b628f..40410c7 100644
--- a/doc/src/demos/textedit.qdoc
+++ b/doc/src/demos/textedit.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/demos/undo.qdoc b/doc/src/demos/undo.qdoc
index fd31ba1..c66def9 100644
--- a/doc/src/demos/undo.qdoc
+++ b/doc/src/demos/undo.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/demos/weatherinfo.qdoc b/doc/src/demos/weatherinfo.qdoc
index bc43a97..8e7bd67 100644
--- a/doc/src/demos/weatherinfo.qdoc
+++ b/doc/src/demos/weatherinfo.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/deployment/deployment-plugins.qdoc b/doc/src/deployment/deployment-plugins.qdoc
index 7bb14ff..0885163 100644
--- a/doc/src/deployment/deployment-plugins.qdoc
+++ b/doc/src/deployment/deployment-plugins.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/deployment/deployment.qdoc b/doc/src/deployment/deployment.qdoc
index f2908bd..c078316 100644
--- a/doc/src/deployment/deployment.qdoc
+++ b/doc/src/deployment/deployment.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
@@ -756,6 +756,7 @@
\snippet doc/src/snippets/code/doc_src_deployment.qdoc 21
to your .pro file. The \c embed_manifest_dll option is enabled by default.
+ The \c embed_manifest_exe option is NOT enabled by default.
You can find more information about manifest files and side-by-side
assemblies at the
diff --git a/doc/src/deployment/qt-conf.qdoc b/doc/src/deployment/qt-conf.qdoc
index 48d688b..920eba6 100644
--- a/doc/src/deployment/qt-conf.qdoc
+++ b/doc/src/deployment/qt-conf.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/deployment/qtconfig.qdoc b/doc/src/deployment/qtconfig.qdoc
index 8c3658c..e429599 100644
--- a/doc/src/deployment/qtconfig.qdoc
+++ b/doc/src/deployment/qtconfig.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/development/activeqt-dumpcpp.qdoc b/doc/src/development/activeqt-dumpcpp.qdoc
index 5d689eb..843d40d 100644
--- a/doc/src/development/activeqt-dumpcpp.qdoc
+++ b/doc/src/development/activeqt-dumpcpp.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/development/activeqt-dumpdoc.qdoc b/doc/src/development/activeqt-dumpdoc.qdoc
index 3ecc2c9..26450e3 100644
--- a/doc/src/development/activeqt-dumpdoc.qdoc
+++ b/doc/src/development/activeqt-dumpdoc.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/development/activeqt-idc.qdoc b/doc/src/development/activeqt-idc.qdoc
index 60ac079..7a0ff66 100644
--- a/doc/src/development/activeqt-idc.qdoc
+++ b/doc/src/development/activeqt-idc.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/development/activeqt-testcon.qdoc b/doc/src/development/activeqt-testcon.qdoc
index 35fe5df..86d4097 100644
--- a/doc/src/development/activeqt-testcon.qdoc
+++ b/doc/src/development/activeqt-testcon.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/development/assistant-manual.qdoc b/doc/src/development/assistant-manual.qdoc
index 677e8d0..9dc973d 100644
--- a/doc/src/development/assistant-manual.qdoc
+++ b/doc/src/development/assistant-manual.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/development/debug.qdoc b/doc/src/development/debug.qdoc
index 9e881d1..91a83cf 100644
--- a/doc/src/development/debug.qdoc
+++ b/doc/src/development/debug.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/development/designer-manual.qdoc b/doc/src/development/designer-manual.qdoc
index 01229ad..df82fba 100644
--- a/doc/src/development/designer-manual.qdoc
+++ b/doc/src/development/designer-manual.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
@@ -1769,37 +1769,54 @@ pixmap property in the property editor.
\title Using a Designer UI File in Your Application
- With Qt's integrated build tools, \l{qmake Manual}{qmake} and \l uic, the
- code for user interface components created with \QD is automatically
- generated when the rest of your application is built. Forms can be included
- and used directly from your application. Alternatively, you can use them to
- extend subclasses of standard widgets. These forms can be processed at
- compile time or at run time, depending on the approach used.
+ Qt Designer UI files represent the widget tree of the form in XML format. The
+ forms can be processed:
+ \list
+ \o \l{Compile Time Form Processing}{At compile time}, which means that forms
+ are converted to C++ code that can be compiled.
+ \o \l{Run Time Form Processing}{At runtime}, which means that forms are processed
+ by the QUiLoader class that dynamically constructs the widget tree while
+ parsing the XML file.
+ \endlist
\tableofcontents
\section1 Compile Time Form Processing
+ You create user interface components with \QD and use Qt's integrated build tools,
+ \l{qmake Manual}{qmake} and \l{User Interface Compiler (uic)}{uic}, to generate code
+ for them when the application is built. The generated code contains the form's user
+ interface object. It is a C++ struct that contains:
+
+ \list
+ \o Pointers to the form's widgets, layouts, layout items,
+ button groups, and actions.
+ \o A member function called \c setupUi() to build the widget tree
+ on the parent widget.
+ \o A member function called \c retranslateUi() that handles the
+ translation of the string properties of the form. For more information,
+ see \l{Reacting to Language Changes}.
+ \endlist
+
+ The generated code can be included in your application and used directly from
+ it. Alternatively, you can use it to extend subclasses of standard widgets.
+
A compile time processed form can be used in your application with one of
the following approaches:
\list
- \o The Direct Approach: you construct a widget to use as a placeholder
+ \o \l{The Direct Approach}: you construct a widget to use as a placeholder
for the component, and set up the user interface inside it.
- \o The Single Inheritance Approach: you subclass the form's base class
+ \o \l{The Single Inheritance Approach}: you subclass the form's base class
(QWidget or QDialog, for example), and include a private instance
of the form's user interface object.
- \o The MultipleInheritance Approach: you subclass both the form's base
+ \o \l{The Multiple Inheritance Approach}: you subclass both the form's base
class and the form's user interface object. This allows the widgets
defined in the form to be used directly from within the scope of
the subclass.
\endlist
-
- \section2 The Direct Approach
-
- To demonstrate how to use user interface (UI) files straight from
- \QD, we create a simple Calculator Form application. This is based on the
+ To demonstrate, we create a simple Calculator Form application. It is based on the
original \l{Calculator Form Example}{Calculator Form} example.
The application consists of one source file, \c main.cpp and a UI
@@ -1817,15 +1834,18 @@ pixmap property in the property editor.
The special feature of this file is the \c FORMS declaration that tells
\c qmake which files to process with \c uic. In this case, the
\c calculatorform.ui file is used to create a \c ui_calculatorform.h file
- that can be used by any file listed in the \c SOURCES declaration. To
- ensure that \c qmake generates the \c ui_calculatorform.h file, we need to
- include it in a file listed in \c SOURCES. Since we only have \c main.cpp,
- we include it there:
+ that can be used by any file listed in the \c SOURCES declaration.
- \snippet doc/src/snippets/uitools/calculatorform/main.cpp 0
+ \note You can use Qt Creator to create the Calculator Form project. It
+ automatically generates the main.cpp, UI, and .pro files, which you can
+ then modify.
+
+ \section2 The Direct Approach
- This include is an additional check to ensure that we do not generate code
- for UI files that are not used.
+ To use the direct approach, we include the \c ui_calculatorform.h file
+ directly in \c main.cpp:
+
+ \snippet doc/src/snippets/uitools/calculatorform/main.cpp 0
The \c main function creates the calculator widget by constructing a
standard QWidget that we use to host the user interface described by the
@@ -1837,23 +1857,33 @@ pixmap property in the property editor.
from the \c ui_calculatorform.h file that sets up all the dialog's widgets
and the connections between its signals and slots.
- This approach provides a quick and easy way to use simple, self-contained
- components in your applications, but many componens created with \QD will
+ The direct approach provides a quick and easy way to use simple, self-contained
+ components in your applications. However, componens created with \QD often
require close integration with the rest of the application code. For
instance, the \c CalculatorForm code provided above will compile and run,
but the QSpinBox objects will not interact with the QLabel as we need a
custom slot to carry out the add operation and display the result in the
- QLabel. To achieve this, we need to subclass a standard Qt widget (known as
- the single inheritance approach).
-
+ QLabel. To achieve this, we need to use the single inheritance approach.
\section2 The Single Inheritance Approach
+ To use the single inheritance approach, we subclass a standard Qt widget and
+ include a private instance of the form's user interface object. This can take
+ the form of:
+
+ \list
+ \o A member variable
+ \o A pointer member variable
+ \endlist
+
+ \section3 Using a Member Variable
+
In this approach, we subclass a Qt widget and set up the user interface
from within the constructor. Components used in this way expose the widgets
and layouts used in the form to the Qt widget subclass, and provide a
standard system for making signal and slot connections between the user
interface and other objects in your application.
+ The generated \c{Ui::CalculatorForm} structure is a member of the class.
This approach is used in the \l{Calculator Form Example}{Calculator Form}
example.
@@ -1893,6 +1923,52 @@ pixmap property in the property editor.
them. This approach can be used to create individual tabs from existing
forms, for example.
+ \section3 Using a Pointer Member Variable
+
+ Alternatively, the \c{Ui::CalculatorForm} structure can be made a pointer
+ member of the class. The header then looks as follows:
+
+ \code
+
+ namespace Ui {
+ class CalculatorForm;
+ }
+
+ class CalculatorForm : public QWidget
+ ...
+ virtual ~CalculatorForm();
+ ...
+ private:
+ Ui::CalculatorForm *ui;
+ ...
+
+ \endcode
+
+ The corresponding source file looks as follows:
+
+ \code
+ #include "ui_calculatorform.h"
+
+ CalculatorForm::CalculatorForm(QWidget *parent) :
+ QWidget(parent), ui(new Ui::CalculatorForm)
+ {
+ ui->setupUi(this);
+ }
+
+ CalculatorForm::~CalculatorForm()
+ {
+ delete ui;
+ }
+ \endcode
+
+ The advantage of this approach is that the user interface object can be
+ forward-declared, which means that we do not have to include the generated
+ \c ui_calculatorform.h file in the header. The form can then be changed without
+ recompiling the dependent source files. This is particularly important if the
+ class is subject to binary compatibility restrictions.
+
+ We generally recommend this approach for libraries and large applications.
+ For more information, see \l{Creating Shared Libraries}.
\section2 The Multiple Inheritance Approach
@@ -1906,13 +1982,14 @@ pixmap property in the property editor.
{Multiple Inheritance} example.
We need to include the header file that \c uic generates from the
- \c calculatorform.ui file:
+ \c calculatorform.ui file, as follows:
\snippet examples/uitools/multipleinheritance/calculatorform.h 0
The class is defined in a similar way to the one used in the
\l{The Single Inheritance Approach}{single inheritance approach}, except that
- this time we inherit from \e{both} QWidget and \c{Ui::CalculatorForm}:
+ this time we inherit from \e{both} QWidget and \c{Ui::CalculatorForm},
+ as follows:
\snippet examples/uitools/multipleinheritance/calculatorform.h 1
@@ -1931,11 +2008,26 @@ pixmap property in the property editor.
same say as a widget created in code by hand. We no longer require the
\c{ui} prefix to access them.
- Subclassing using multiple inheritance gives us more direct access to the
- contents of the form, is slightly cleaner than the single inheritance
- approach, but does not conveniently support composition of multiple user
- interfaces.
+ \section2 Reacting to Language Changes
+
+ Qt notifies applications if the user interface language changes by sending an
+ event of the type QEvent::LanguageChange. To call the member function
+ \c retranslateUi() of the user interface object, we reimplement
+ \c QWidget::changeEvent() in the form class, as follows:
+ \code
+ void CalculatorForm::changeEvent(QEvent *e)
+ {
+ QWidget::changeEvent(e);
+ switch (e->type()) {
+ case QEvent::LanguageChange:
+ ui->retranslateUi(this);
+ break;
+ default:
+ break;
+ }
+ }
+ \endcode
\section1 Run Time Form Processing
diff --git a/doc/src/development/developing-on-mac.qdoc b/doc/src/development/developing-on-mac.qdoc
index ab2ed70..5ea4d22 100644
--- a/doc/src/development/developing-on-mac.qdoc
+++ b/doc/src/development/developing-on-mac.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/development/developing-with-qt.qdoc b/doc/src/development/developing-with-qt.qdoc
index b88fe3f..6793abd 100644
--- a/doc/src/development/developing-with-qt.qdoc
+++ b/doc/src/development/developing-with-qt.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
@@ -81,8 +81,8 @@
\o \l {Compiler Notes}
\o \l {Developing Qt Applications for Mac OS X}
\o \l {Known Issues}
- \o \l {Platform Notes}
- \o \l {Platform Notes - Symbian}
+ \o \l {Platform and Compiler Notes}
+ \o \l {Platform and Compiler Notes - Symbian}
\o \l {ActiveX in Qt}
\o \l {Qt for Embedded Linux Classes}
\o \l {Qt for Embedded Platforms}
@@ -112,4 +112,4 @@
\endtable
-*/ \ No newline at end of file
+*/
diff --git a/doc/src/development/moc.qdoc b/doc/src/development/moc.qdoc
index bbcaf3f..6ecaf09 100644
--- a/doc/src/development/moc.qdoc
+++ b/doc/src/development/moc.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/development/qmake-manual.qdoc b/doc/src/development/qmake-manual.qdoc
index 588a9cc..1230af3 100644
--- a/doc/src/development/qmake-manual.qdoc
+++ b/doc/src/development/qmake-manual.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
@@ -939,7 +939,9 @@
\snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 130
- The default values depend on the version of the Symbian SDK you're using.
+ The default values depend on the version of the Symbian SDK you're using,
+ however, the Qt toolchain sets this to the maximum possible value and this
+ should not be changed.
\section2 Compiler specific options
@@ -958,23 +960,30 @@
Symbian applications may have unique identifiers attached to them.
Here is how to define them in a project file:
- There are four types of IDs supported: \c UID2, \c UID3, \c SID, and \c VID. They
+ There are four available types of IDs supported: \c UID2, \c UID3, \c SID, and \c VID. They
are specified like this:
\snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 132
- If \c UID2 is not specified, it defaults to the same value as \c UID3.
+ If \c SID is not specified, it defaults to the same value as \c UID3.
If \c UID3 is not specified, qmake will automatically generate a \c UID3
suitable for development and debugging. This value should be manually
specified for applications that are to be released. In order to obtain
- an official UID, please contact Nokia. Both \c SID and \c VID default to empty values.
-
- For more information about unique identifiers and their meaning for
- Symbian applications, please refer to the Symbian SDK documentation.
-
+ an official UID, please contact \l{Symbian}{http:\\www.symbiansigned.com}.
+ Both \c SID and \c VID default to empty values.
+
+ There exists one UID1 too, but this should not be touched by any application.
+
+ The UID2 has a specific value for different types of files - e.g. apps/exes
+ are always 0x100039CE. The toolchain will set this for value for the most common file types like,
+ EXE/APP and shared library DLL.
+
+ For more information about unique identifiers and their meaning for Symbian applications,
+ please refer to the \l{Symbian SDK documentation}{http://developer.symbian.org/main/documentation/reference/s3/pdk/GUID-380A8C4F-3EB6-5E1C-BCFB-ED5B866136D9.html}
+
\section2 Capabilities
- Capabilities define extra priviledges for the application, such as the
+ Capabilities define extra privileges for the application, such as the
ability to list all files on the file system. Capabilities are defined
in the project file like this:
diff --git a/doc/src/development/qmsdev.qdoc b/doc/src/development/qmsdev.qdoc
index ab99719..07b77cf 100644
--- a/doc/src/development/qmsdev.qdoc
+++ b/doc/src/development/qmsdev.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/development/qtestlib.qdoc b/doc/src/development/qtestlib.qdoc
index a83c27e..e53957f 100644
--- a/doc/src/development/qtestlib.qdoc
+++ b/doc/src/development/qtestlib.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
@@ -32,7 +32,7 @@
\ingroup frameworks-technologies
\ingroup qt-basic-concepts
-
+
\keyword qtestlib
The QTestLib framework, provided by Nokia, is a tool for unit
@@ -40,10 +40,6 @@
all the functionality commonly found in unit testing frameworks as
well as extensions for testing graphical user interfaces.
- Table of contents:
-
- \tableofcontents
-
\section1 QTestLib Features
QTestLib is designed to ease the writing of unit tests for Qt
@@ -88,6 +84,10 @@
\o Custom types can easily be added to the test data and test output.
\endtable
+ \note For higher-level GUI and application testing needs, please
+ see the \l{Partner Directory} for Qt testing products provided by
+ Nokia partners.
+
\section1 QTestLib API
@@ -213,17 +213,17 @@
\endlist
\section2 Creating a Benchmark
-
+
To create a benchmark, follow the instructions for creating a test and then add a
QBENCHMARK macro to the test function that you want to benchmark.
-
+
\snippet doc/src/snippets/code/doc_src_qtestlib.qdoc 12
-
+
The code inside the QBENCHMARK macro will be measured, and possibly also repeated
several times in order to get an accurate measurement. This depends on the selected
measurement back-end. Several back-ends are available. They can be selected on the
command line:
-
+
\target testlib-benchmarking-measurement
\table
@@ -243,7 +243,7 @@
\o -eventcounter
\o All platforms
\endtable
-
+
In short, walltime is always available but requires many repetitions to
get a useful result.
Tick counters are usually available and can provide
@@ -255,7 +255,7 @@
Event counting is available on all platforms and it provides the number of events
that were received by the event loop before they are sent to their corresponding
targets (this might include non-Qt events).
-
+
\note Depending on the device configuration, Tick counters on the
Windows CE platform may not be as fine-grained, compared to other platforms.
Devices that do not support high-resolution timers default to
@@ -320,7 +320,7 @@
host computer and the device. Thus header files and libraries are needed to compile
cetest and QtRemote successfully.
- Prior to \l{Installing Qt on Windows CE}{installation} of Qt, you need to set your
+ Prior to \l{Installing Qt for Windows CE}{installation} of Qt, you need to set your
\c INCLUDE and \c LIB environment variables properly.
A default installation of Windows Mobile 5 for Pocket PC can be obtained by:
@@ -334,7 +334,7 @@
The CPU tick counters used for benchmarking is licensed under the following
license: (from src/testlib/3rdparty/cycle.h)
-
+
\legalese
Copyright (c) 2003, 2006 Matteo Frigo\br
Copyright (c) 2003, 2006 Massachusetts Institute of Technology
@@ -365,6 +365,7 @@
\brief A short introduction to testing with QTestLib.
\contentspage QTestLib Manual
\nextpage {Chapter 1: Writing a Unit Test}{Chapter 1}
+ \ingroup best-practices
\title QTestLib Tutorial
@@ -749,9 +750,10 @@
\section1 External Tools
Tools for handling and visualizing test data are available as part of
- the \l{qtestlib-tools} project on the Qt Labs Web site. These include
- a tool for comparing performance data obtained from test runs and a
- utility to generate Web-based graphs of performance data.
+ the qtestlib-tools project on the
+ \l{http://labs.qt.nokia.com/}{http://labs.qt.nokia.com/}Qt Labs Web site.
+ These include a tool for comparing performance data obtained from test
+ runs and a utility to generate Web-based graphs of performance data.
See the \l{qtestlib-tools Announcement} for more information on these
tools and a simple graphing example.
diff --git a/doc/src/development/rcc.qdoc b/doc/src/development/rcc.qdoc
index 5b3c6c7..2bbac6a 100644
--- a/doc/src/development/rcc.qdoc
+++ b/doc/src/development/rcc.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/development/tools-list.qdoc b/doc/src/development/tools-list.qdoc
index 4f6945d..c362bdf 100644
--- a/doc/src/development/tools-list.qdoc
+++ b/doc/src/development/tools-list.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/development/uic.qdoc b/doc/src/development/uic.qdoc
index edeb64a..ec8b3d6 100644
--- a/doc/src/development/uic.qdoc
+++ b/doc/src/development/uic.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/examples/2dpainting.qdoc b/doc/src/examples/2dpainting.qdoc
index b349c83..079fa13 100644
--- a/doc/src/examples/2dpainting.qdoc
+++ b/doc/src/examples/2dpainting.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/examples/activeqt/comapp.qdoc b/doc/src/examples/activeqt/comapp.qdoc
index 1355cb5..f1884ef 100644
--- a/doc/src/examples/activeqt/comapp.qdoc
+++ b/doc/src/examples/activeqt/comapp.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/examples/activeqt/dotnet.qdoc b/doc/src/examples/activeqt/dotnet.qdoc
index f523830..55853d9 100644
--- a/doc/src/examples/activeqt/dotnet.qdoc
+++ b/doc/src/examples/activeqt/dotnet.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/examples/activeqt/hierarchy.qdoc b/doc/src/examples/activeqt/hierarchy.qdoc
index 71e21cf..7905e8a 100644
--- a/doc/src/examples/activeqt/hierarchy.qdoc
+++ b/doc/src/examples/activeqt/hierarchy.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/examples/activeqt/menus.qdoc b/doc/src/examples/activeqt/menus.qdoc
index 7310e97..ed91a3e 100644
--- a/doc/src/examples/activeqt/menus.qdoc
+++ b/doc/src/examples/activeqt/menus.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/examples/activeqt/multiple.qdoc b/doc/src/examples/activeqt/multiple.qdoc
index aae93b0..036f80e 100644
--- a/doc/src/examples/activeqt/multiple.qdoc
+++ b/doc/src/examples/activeqt/multiple.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/examples/activeqt/opengl.qdoc b/doc/src/examples/activeqt/opengl.qdoc
index caf9361..2c55e1e 100644
--- a/doc/src/examples/activeqt/opengl.qdoc
+++ b/doc/src/examples/activeqt/opengl.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/examples/activeqt/qutlook.qdoc b/doc/src/examples/activeqt/qutlook.qdoc
index 9ceb6b6..845305f 100644
--- a/doc/src/examples/activeqt/qutlook.qdoc
+++ b/doc/src/examples/activeqt/qutlook.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/examples/activeqt/simple.qdoc b/doc/src/examples/activeqt/simple.qdoc
index 72f99e8..9860326 100644
--- a/doc/src/examples/activeqt/simple.qdoc
+++ b/doc/src/examples/activeqt/simple.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/examples/activeqt/webbrowser.qdoc b/doc/src/examples/activeqt/webbrowser.qdoc
index 051a26f..3b66c57 100644
--- a/doc/src/examples/activeqt/webbrowser.qdoc
+++ b/doc/src/examples/activeqt/webbrowser.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/examples/activeqt/wrapper.qdoc b/doc/src/examples/activeqt/wrapper.qdoc
index 2cb0981..4bf7901 100644
--- a/doc/src/examples/activeqt/wrapper.qdoc
+++ b/doc/src/examples/activeqt/wrapper.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/examples/addressbook.qdoc b/doc/src/examples/addressbook.qdoc
index 18211e9..8de1778 100644
--- a/doc/src/examples/addressbook.qdoc
+++ b/doc/src/examples/addressbook.qdoc
@@ -7,11 +7,11 @@
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in a
-** written agreement between you and Nokia.
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
diff --git a/doc/src/examples/analogclock.qdoc b/doc/src/examples/analogclock.qdoc