summaryrefslogtreecommitdiffstats
path: root/doc/src
diff options
context:
space:
mode:
Diffstat (limited to 'doc/src')
-rw-r--r--doc/src/classes/phonon-api.qdoc24
-rw-r--r--doc/src/declarative/anchor-layout.qdoc7
-rw-r--r--doc/src/declarative/basictypes.qdoc2
-rw-r--r--doc/src/declarative/declarativeui.qdoc11
-rw-r--r--doc/src/declarative/elements.qdoc1
-rw-r--r--doc/src/declarative/example-slideswitch.qdoc2
-rw-r--r--doc/src/declarative/extending.qdoc2
-rw-r--r--doc/src/declarative/modules.qdoc125
-rw-r--r--doc/src/declarative/network.qdoc7
-rw-r--r--doc/src/declarative/qdeclarativemodels.qdoc81
-rw-r--r--doc/src/declarative/qdeclarativestates.qdoc22
-rw-r--r--doc/src/declarative/qtbinding.qdoc34
-rw-r--r--doc/src/declarative/qtdeclarative.qdoc2
-rw-r--r--doc/src/declarative/righttoleft.qdoc8
-rw-r--r--doc/src/declarative/whatsnew.qdoc38
-rw-r--r--doc/src/demos/affine.qdoc2
-rw-r--r--doc/src/demos/anomaly.qdoc2
-rw-r--r--doc/src/demos/arthurplugin.qdoc2
-rw-r--r--doc/src/demos/books.qdoc2
-rw-r--r--doc/src/demos/boxes.qdoc2
-rw-r--r--doc/src/demos/browser.qdoc2
-rw-r--r--doc/src/demos/chip.qdoc2
-rw-r--r--doc/src/demos/composition.qdoc2
-rw-r--r--doc/src/demos/deform.qdoc2
-rw-r--r--doc/src/demos/desktopservices.qdoc2
-rw-r--r--doc/src/demos/digiflip.qdoc3
-rw-r--r--doc/src/demos/embeddeddialogs.qdoc2
-rw-r--r--doc/src/demos/embeddedsvgviewer.qdoc2
-rw-r--r--doc/src/demos/flickable.qdoc2
-rw-r--r--doc/src/demos/flightinfo.qdoc2
-rw-r--r--doc/src/demos/fluidlauncher.qdoc2
-rw-r--r--doc/src/demos/glhypnotizer.qdoc38
-rw-r--r--doc/src/demos/gradients.qdoc2
-rw-r--r--doc/src/demos/guitartuner.qdoc7
-rw-r--r--doc/src/demos/interview.qdoc2
-rw-r--r--doc/src/demos/lightmaps.qdoc2
-rw-r--r--doc/src/demos/macmainwindow.qdoc2
-rw-r--r--doc/src/demos/mainwindow.qdoc2
-rw-r--r--doc/src/demos/mediaplayer.qdoc2
-rw-r--r--doc/src/demos/mobiledemos.qdoc6
-rw-r--r--doc/src/demos/pathstroke.qdoc2
-rw-r--r--doc/src/demos/qcamera.qdoc4
-rw-r--r--doc/src/demos/qml-qtbubblelevel.qdoc10
-rw-r--r--doc/src/demos/qtdemo.qdoc2
-rw-r--r--doc/src/demos/raycasting.qdoc2
-rw-r--r--doc/src/demos/spectrum.qdoc2
-rw-r--r--doc/src/demos/spreadsheet.qdoc2
-rw-r--r--doc/src/demos/sqlbrowser.qdoc2
-rw-r--r--doc/src/demos/styledemo.qdoc2
-rw-r--r--doc/src/demos/sub-attaq.qdoc2
-rw-r--r--doc/src/demos/textedit.qdoc2
-rw-r--r--doc/src/demos/undo.qdoc2
-rw-r--r--doc/src/demos/weatherinfo.qdoc2
-rw-r--r--doc/src/deployment/deployment.qdoc18
-rw-r--r--doc/src/deployment/qt-conf.qdoc2
-rw-r--r--doc/src/development/assistant-manual.qdoc7
-rw-r--r--doc/src/development/designer-manual.qdoc2
-rw-r--r--doc/src/development/qmake-manual.qdoc178
-rw-r--r--doc/src/development/qtestlib.qdoc7
-rw-r--r--doc/src/diagrams/webkit-webplugin.pngbin0 -> 70787 bytes
-rw-r--r--doc/src/examples/2dpainting.qdoc2
-rw-r--r--doc/src/examples/activeqt/comapp.qdoc10
-rw-r--r--doc/src/examples/activeqt/dotnet.qdoc4
-rw-r--r--doc/src/examples/activeqt/hierarchy.qdoc2
-rw-r--r--doc/src/examples/activeqt/multiple.qdoc3
-rw-r--r--doc/src/examples/activeqt/qutlook.qdoc2
-rw-r--r--doc/src/examples/activeqt/webbrowser.qdoc2
-rw-r--r--doc/src/examples/activeqt/wrapper.qdoc6
-rw-r--r--doc/src/examples/addressbook.qdoc2
-rw-r--r--doc/src/examples/analogclock.qdoc2
-rw-r--r--doc/src/examples/animatedtiles.qdoc2
-rw-r--r--doc/src/examples/appchooser.qdoc2
-rw-r--r--doc/src/examples/application.qdoc2
-rw-r--r--doc/src/examples/applicationicon.qdoc89
-rw-r--r--doc/src/examples/arrowpad.qdoc2
-rw-r--r--doc/src/examples/audiodevices.qdoc2
-rw-r--r--doc/src/examples/audioinput.qdoc2
-rw-r--r--doc/src/examples/audiooutput.qdoc2
-rw-r--r--doc/src/examples/basicdrawing.qdoc2
-rw-r--r--doc/src/examples/basicgraphicslayouts.qdoc4
-rw-r--r--doc/src/examples/basiclayouts.qdoc2
-rw-r--r--doc/src/examples/basicsortfiltermodel.qdoc2
-rw-r--r--doc/src/examples/bearercloud.qdoc2
-rw-r--r--doc/src/examples/bearermonitor.qdoc2
-rw-r--r--doc/src/examples/blockingfortuneclient.qdoc2
-rw-r--r--doc/src/examples/blurpicker.qdoc2
-rw-r--r--doc/src/examples/borderlayout.qdoc2
-rw-r--r--doc/src/examples/broadcastreceiver.qdoc2
-rw-r--r--doc/src/examples/broadcastsender.qdoc2
-rw-r--r--doc/src/examples/cachedtable.qdoc2
-rw-r--r--doc/src/examples/calculator.qdoc2
-rw-r--r--doc/src/examples/calculatorbuilder.qdoc2
-rw-r--r--doc/src/examples/calculatorform.qdoc6
-rw-r--r--doc/src/examples/calendar.qdoc2
-rw-r--r--doc/src/examples/calendarwidget.qdoc2
-rw-r--r--doc/src/examples/capabilitiesexample.qdoc2
-rw-r--r--doc/src/examples/charactermap.qdoc2
-rw-r--r--doc/src/examples/chart.qdoc2
-rw-r--r--doc/src/examples/classwizard.qdoc2
-rw-r--r--doc/src/examples/codecs.qdoc2
-rw-r--r--doc/src/examples/codeeditor.qdoc34
-rw-r--r--doc/src/examples/collidingmice-example.qdoc4
-rw-r--r--doc/src/examples/coloreditorfactory.qdoc4
-rw-r--r--doc/src/examples/combowidgetmapper.qdoc2
-rw-r--r--doc/src/examples/completer.qdoc2
-rw-r--r--doc/src/examples/complexpingpong.qdoc2
-rw-r--r--doc/src/examples/concentriccircles.qdoc2
-rw-r--r--doc/src/examples/configdialog.qdoc2
-rw-r--r--doc/src/examples/containerextension.qdoc2
-rw-r--r--doc/src/examples/context2d.qdoc2
-rw-r--r--doc/src/examples/contextsensitivehelp.qdoc2
-rw-r--r--doc/src/examples/contiguouscache.qdoc6
-rw-r--r--doc/src/examples/cube.qdoc180
-rw-r--r--doc/src/examples/customcompleter.qdoc6
-rw-r--r--doc/src/examples/customsortfiltermodel.qdoc2
-rw-r--r--doc/src/examples/customtype.qdoc4
-rw-r--r--doc/src/examples/customtypesending.qdoc2
-rw-r--r--doc/src/examples/customwidgetplugin.qdoc2
-rw-r--r--doc/src/examples/dbscreen.qdoc2
-rw-r--r--doc/src/examples/dbus-chat.qdoc2
-rw-r--r--doc/src/examples/dbus-listnames.qdoc2
-rw-r--r--doc/src/examples/dbus-pingpong.qdoc2
-rw-r--r--doc/src/examples/dbus-remotecontrolledcar.qdoc2
-rw-r--r--doc/src/examples/defaultprototypes.qdoc2
-rw-r--r--doc/src/examples/delayedencoding.qdoc2
-rw-r--r--doc/src/examples/diagramscene.qdoc6
-rw-r--r--doc/src/examples/digitalclock.qdoc2
-rw-r--r--doc/src/examples/dirview.qdoc2
-rw-r--r--doc/src/examples/dockwidgets.qdoc2
-rw-r--r--doc/src/examples/dombookmarks.qdoc7
-rw-r--r--doc/src/examples/domtraversal.qdoc2
-rw-r--r--doc/src/examples/draganddroppuzzle.qdoc2
-rw-r--r--doc/src/examples/dragdroprobot.qdoc2
-rw-r--r--doc/src/examples/draggableicons.qdoc2
-rw-r--r--doc/src/examples/draggabletext.qdoc2
-rw-r--r--doc/src/examples/drilldown.qdoc2
-rw-r--r--doc/src/examples/dropsite.qdoc2
-rw-r--r--doc/src/examples/dynamiclayouts.qdoc2
-rw-r--r--doc/src/examples/easing.qdoc2
-rw-r--r--doc/src/examples/echoplugin.qdoc2
-rw-r--r--doc/src/examples/editabletreemodel.qdoc4
-rw-r--r--doc/src/examples/elasticnodes.qdoc6
-rw-r--r--doc/src/examples/elidedlabel.qdoc162
-rw-r--r--doc/src/examples/eventtransitions.qdoc2
-rw-r--r--doc/src/examples/extension.qdoc2
-rw-r--r--doc/src/examples/factorial.qdoc2
-rw-r--r--doc/src/examples/fademessage.qdoc9
-rw-r--r--doc/src/examples/fancybrowser.qdoc2
-rw-r--r--doc/src/examples/fetchmore.qdoc2
-rw-r--r--doc/src/examples/filetree.qdoc2
-rw-r--r--doc/src/examples/findfiles.qdoc6
-rw-r--r--doc/src/examples/fingerpaint.qdoc6
-rw-r--r--doc/src/examples/flowlayout.qdoc2
-rw-r--r--doc/src/examples/fontsampler.qdoc2
-rw-r--r--doc/src/examples/formextractor.qdoc2
-rw-r--r--doc/src/examples/fortuneclient.qdoc6
-rw-r--r--doc/src/examples/fortuneserver.qdoc6
-rw-r--r--doc/src/examples/framebufferobject.qdoc2
-rw-r--r--doc/src/examples/framebufferobject2.qdoc2
-rw-r--r--doc/src/examples/fridgemagnets.qdoc2
-rw-r--r--doc/src/examples/frozencolumn.qdoc2
-rw-r--r--doc/src/examples/ftp.qdoc2
-rw-r--r--doc/src/examples/globalVariables.qdoc2
-rw-r--r--doc/src/examples/googlechat.qdoc2
-rw-r--r--doc/src/examples/googlesuggest.qdoc2
-rw-r--r--doc/src/examples/grabber.qdoc2
-rw-r--r--doc/src/examples/graphicsview-anchorlayout.qdoc2
-rw-r--r--doc/src/examples/graphicsview-flowlayout.qdoc2
-rw-r--r--doc/src/examples/graphicsview-simpleanchorlayout.qdoc2
-rw-r--r--doc/src/examples/graphicsview-weatheranchorlayout.qdoc2
-rw-r--r--doc/src/examples/groupbox.qdoc2
-rw-r--r--doc/src/examples/hellogl.qdoc2
-rw-r--r--doc/src/examples/hellogl_es.qdoc2
-rw-r--r--doc/src/examples/helloscript.qdoc6
-rw-r--r--doc/src/examples/hellotr.qdoc5
-rw-r--r--doc/src/examples/htmlinfo.qdoc2
-rw-r--r--doc/src/examples/http.qdoc2
-rw-r--r--doc/src/examples/i18n.qdoc6
-rw-r--r--doc/src/examples/icons.qdoc6
-rw-r--r--doc/src/examples/imagecomposition.qdoc2
-rw-r--r--doc/src/examples/imagegestures.qdoc2
-rw-r--r--doc/src/examples/imageviewer.qdoc6
-rw-r--r--doc/src/examples/inputpanel.qdoc2
-rw-r--r--doc/src/examples/itemviewspuzzle.qdoc2
-rw-r--r--doc/src/examples/licensewizard.qdoc2
-rw-r--r--doc/src/examples/lighting.qdoc2
-rw-r--r--doc/src/examples/lineedits.qdoc2
-rw-r--r--doc/src/examples/localfortuneclient.qdoc6
-rw-r--r--doc/src/examples/localfortuneserver.qdoc6
-rw-r--r--doc/src/examples/loopback.qdoc2
-rw-r--r--doc/src/examples/maemovibration.qdoc164
-rw-r--r--doc/src/examples/mandelbrot.qdoc2
-rw-r--r--doc/src/examples/masterdetail.qdoc6
-rw-r--r--doc/src/examples/mdi.qdoc2
-rw-r--r--doc/src/examples/menus.qdoc2
-rw-r--r--doc/src/examples/mousecalibration.qdoc2
-rw-r--r--doc/src/examples/moveblocks.qdoc2
-rw-r--r--doc/src/examples/movie.qdoc6
-rw-r--r--doc/src/examples/multicastreceiver.qdoc36
-rw-r--r--doc/src/examples/multicastsender.qdoc36
-rw-r--r--doc/src/examples/multipleinheritance.qdoc2
-rw-r--r--doc/src/examples/musicplayerexample.qdoc3
-rw-r--r--doc/src/examples/network-chat.qdoc2
-rw-r--r--doc/src/examples/network-download.qdoc2
-rw-r--r--doc/src/examples/network-downloadmanager.qdoc2
-rw-r--r--doc/src/examples/openvg-star.qdoc2
-rw-r--r--doc/src/examples/orderform.qdoc7
-rw-r--r--doc/src/examples/orientation.qdoc143
-rw-r--r--doc/src/examples/overpainting.qdoc2
-rw-r--r--doc/src/examples/padnavigator.qdoc2
-rw-r--r--doc/src/examples/painterpaths.qdoc2
-rw-r--r--doc/src/examples/pbuffers.qdoc2
-rw-r--r--doc/src/examples/pbuffers2.qdoc2
-rw-r--r--doc/src/examples/pinchzoom.qdoc2
-rw-r--r--doc/src/examples/pingpong.qdoc2
-rw-r--r--doc/src/examples/pixelator.qdoc2
-rw-r--r--doc/src/examples/plugandpaint.qdoc2
-rw-r--r--doc/src/examples/portedasteroids.qdoc5
-rw-r--r--doc/src/examples/portedcanvas.qdoc4
-rw-r--r--doc/src/examples/previewer.qdoc4
-rw-r--r--doc/src/examples/qml-calculator.qdoc2
-rw-r--r--doc/src/examples/qml-examples.qdoc194
-rw-r--r--doc/src/examples/qml-extending.qdoc3
-rw-r--r--doc/src/examples/qml-flickr.qdoc2
-rw-r--r--doc/src/examples/qml-folderlistmodel.qdoc4
-rw-r--r--doc/src/examples/qml-minehunt.qdoc2
-rw-r--r--doc/src/examples/qml-photoviewer.qdoc2
-rw-r--r--doc/src/examples/qml-rssnews.qdoc2
-rw-r--r--doc/src/examples/qml-samegame.qdoc2
-rw-r--r--doc/src/examples/qml-snake.qdoc2
-rw-r--r--doc/src/examples/qml-twitter.qdoc2
-rw-r--r--doc/src/examples/qml-webbrowser.qdoc4
-rw-r--r--doc/src/examples/qobjectxmlmodel.qdoc2
-rw-r--r--doc/src/examples/qtconcurrent-imagescaling.qdoc2
-rw-r--r--doc/src/examples/qtconcurrent-map.qdoc2
-rw-r--r--doc/src/examples/qtconcurrent-progressdialog.qdoc2
-rw-r--r--doc/src/examples/qtconcurrent-runfunction.qdoc2
-rw-r--r--doc/src/examples/qtconcurrent-wordcount.qdoc2
-rw-r--r--doc/src/examples/qtscriptcalculator.qdoc2
-rw-r--r--doc/src/examples/qtscriptcustomclass.qdoc2
-rw-r--r--doc/src/examples/qtscripttetrix.qdoc2
-rw-r--r--doc/src/examples/querymodel.qdoc2
-rw-r--r--doc/src/examples/queuedcustomtype.qdoc2
-rw-r--r--doc/src/examples/qxmlstreambookmarks.qdoc2
-rw-r--r--doc/src/examples/recentfiles.qdoc2
-rw-r--r--doc/src/examples/recipes.qdoc2
-rw-r--r--doc/src/examples/regexp.qdoc2
-rw-r--r--doc/src/examples/relationaltablemodel.qdoc2
-rw-r--r--doc/src/examples/remotecontrol.qdoc4
-rw-r--r--doc/src/examples/rogue.qdoc2
-rw-r--r--doc/src/examples/rsslisting.qdoc2
-rw-r--r--doc/src/examples/samplebuffers.qdoc2
-rw-r--r--doc/src/examples/saxbookmarks.qdoc6
-rw-r--r--doc/src/examples/schema.qdoc4
-rw-r--r--doc/src/examples/screenshot.qdoc2
-rw-r--r--doc/src/examples/scribble.qdoc2
-rw-r--r--doc/src/examples/script-marshal.qdoc2
-rw-r--r--doc/src/examples/script-qscript.qdoc2
-rw-r--r--doc/src/examples/script-qsdbg.qdoc2
-rw-r--r--doc/src/examples/sdi.qdoc2
-rw-r--r--doc/src/examples/securesocketclient.qdoc2
-rw-r--r--doc/src/examples/semaphores.qdoc2
-rw-r--r--doc/src/examples/settingseditor.qdoc2
-rw-r--r--doc/src/examples/shapedclock.qdoc2
-rw-r--r--doc/src/examples/sharedmemory.qdoc7
-rw-r--r--doc/src/examples/simpledecoration.qdoc2
-rw-r--r--doc/src/examples/simpledommodel.qdoc2
-rw-r--r--doc/src/examples/simpleselector.qdoc2
-rw-r--r--doc/src/examples/simpletextviewer.qdoc2
-rw-r--r--doc/src/examples/simpletreemodel.qdoc7
-rw-r--r--doc/src/examples/simplewebplugin.qdoc181
-rw-r--r--doc/src/examples/simplewidgetmapper.qdoc2
-rw-r--r--doc/src/examples/sipdialog.qdoc2
-rw-r--r--doc/src/examples/sliders.qdoc2
-rw-r--r--doc/src/examples/spinboxdelegate.qdoc2
-rw-r--r--doc/src/examples/spinboxes.qdoc2
-rw-r--r--doc/src/examples/sqlwidgetmapper.qdoc2
-rw-r--r--doc/src/examples/standarddialogs.qdoc2
-rw-r--r--doc/src/examples/stardelegate.qdoc26
-rw-r--r--doc/src/examples/states.qdoc2
-rw-r--r--doc/src/examples/stickman.qdoc2
-rw-r--r--doc/src/examples/styleplugin.qdoc2
-rw-r--r--doc/src/examples/styles.qdoc2
-rw-r--r--doc/src/examples/stylesheet.qdoc2
-rw-r--r--doc/src/examples/svgalib.qdoc6
-rw-r--r--doc/src/examples/svggenerator.qdoc2
-rw-r--r--doc/src/examples/svgviewer.qdoc2
-rw-r--r--doc/src/examples/symbianvibration.qdoc192
-rw-r--r--doc/src/examples/syntaxhighlighter.qdoc12
-rw-r--r--doc/src/examples/systray.qdoc3
-rw-r--r--doc/src/examples/tabdialog.qdoc2
-rw-r--r--doc/src/examples/tablemodel.qdoc2
-rw-r--r--doc/src/examples/tablet.qdoc2
-rw-r--r--doc/src/examples/taskmenuextension.qdoc2
-rw-r--r--doc/src/examples/tetrix.qdoc2
-rw-r--r--doc/src/examples/textfinder.qdoc6
-rw-r--r--doc/src/examples/textobject.qdoc2
-rw-r--r--doc/src/examples/textures.qdoc2
-rw-r--r--doc/src/examples/threadedfortuneserver.qdoc6
-rw-r--r--doc/src/examples/tooltips.qdoc2
-rw-r--r--doc/src/examples/torrent.qdoc2
-rw-r--r--doc/src/examples/touch-dials.qdoc2
-rw-r--r--doc/src/examples/touch-knobs.qdoc2
-rw-r--r--doc/src/examples/trafficinfo.qdoc2
-rw-r--r--doc/src/examples/trafficlight.qdoc2
-rw-r--r--doc/src/examples/transformations.qdoc2
-rw-r--r--doc/src/examples/treemodelcompleter.qdoc2
-rw-r--r--doc/src/examples/trivialwizard.qdoc2
-rw-r--r--doc/src/examples/trollprint.qdoc2
-rw-r--r--doc/src/examples/twowaybutton.qdoc2
-rw-r--r--doc/src/examples/undoframework.qdoc2
-rw-r--r--doc/src/examples/videographicsitem.qdoc2
-rw-r--r--doc/src/examples/videowidget.qdoc2
-rw-r--r--doc/src/examples/waitconditions.qdoc2
-rw-r--r--doc/src/examples/webftpclient.qdoc336
-rw-r--r--doc/src/examples/webkit-bridge-imageanalyzer.qdoc7
-rw-r--r--doc/src/examples/webkit-framecapture.qdoc2
-rw-r--r--doc/src/examples/webplugin.qdoc157
-rw-r--r--doc/src/examples/widgets-softkeys.qdoc2
-rw-r--r--doc/src/examples/widgets-validators.qdoc2
-rw-r--r--doc/src/examples/wiggly.qdoc2
-rw-r--r--doc/src/examples/windowflags.qdoc2
-rw-r--r--doc/src/examples/worldtimeclockbuilder.qdoc2
-rw-r--r--doc/src/examples/worldtimeclockplugin.qdoc2
-rw-r--r--doc/src/examples/xmlstreamlint.qdoc2
-rw-r--r--doc/src/external-resources.qdoc15
-rw-r--r--doc/src/frameworks-technologies/model-view-programming.qdoc7
-rw-r--r--doc/src/frameworks-technologies/richtext.qdoc10
-rw-r--r--doc/src/getting-started/demos.qdoc7
-rw-r--r--doc/src/getting-started/examples.qdoc9
-rw-r--r--doc/src/getting-started/gettingstartedqt.qdoc72
-rw-r--r--doc/src/getting-started/how-to-learn-qt.qdoc212
-rw-r--r--doc/src/getting-started/installation.qdoc114
-rw-r--r--doc/src/images/appicon_packagecontents.pngbin0 -> 21266 bytes
-rw-r--r--doc/src/images/appicon_screenshot.pngbin0 -> 150183 bytes
-rw-r--r--doc/src/images/cube.pngbin0 -> 40459 bytes
-rw-r--r--doc/src/images/cube_faces.pngbin0 -> 63082 bytes
-rw-r--r--doc/src/images/elidedlabel-example.pngbin0 -> 24876 bytes
-rw-r--r--doc/src/images/glhypnotizer-demo.pngbin0 -> 46888 bytes
-rw-r--r--doc/src/images/maemovibration-example.pngbin0 -> 54782 bytes
-rw-r--r--doc/src/images/multicastreceiver-example.pngbin0 -> 13042 bytes
-rw-r--r--doc/src/images/multicastsender-example.pngbin0 -> 21092 bytes
-rw-r--r--doc/src/images/orientation-landscape-ui.pngbin0 -> 18077 bytes
-rw-r--r--doc/src/images/orientation-landscape.pngbin0 -> 46496 bytes
-rw-r--r--doc/src/images/orientation-portrait-ui.pngbin0 -> 9785 bytes
-rw-r--r--doc/src/images/orientation-portrait.pngbin0 -> 17377 bytes
-rw-r--r--doc/src/images/qml-listview-snippet.pngbin0 -> 2048 bytes
-rw-r--r--doc/src/images/symbianvibration-example.pngbin0 -> 23217 bytes
-rw-r--r--doc/src/images/webkit-webftpclient.pngbin0 -> 105098 bytes
-rw-r--r--doc/src/images/webkit-webplugin.pngbin0 -> 131192 bytes
-rw-r--r--doc/src/index.qdoc5
-rw-r--r--doc/src/internationalization/i18n.qdoc57
-rw-r--r--doc/src/legal/3rdparty.qdoc201
-rw-r--r--doc/src/mainpage.qdoc2
-rw-r--r--doc/src/network-programming/qtnetwork.qdoc9
-rw-r--r--doc/src/platforms/emb-install.qdoc3
-rw-r--r--doc/src/platforms/platform-notes-rtos.qdoc157
-rw-r--r--doc/src/platforms/platform-notes.qdoc66
-rw-r--r--doc/src/platforms/supported-platforms.qdoc4
-rw-r--r--doc/src/platforms/symbian-introduction.qdoc6
-rw-r--r--doc/src/porting/porting4.qdoc4
-rw-r--r--doc/src/qt-webpages.qdoc220
-rw-r--r--doc/src/qt4-intro.qdoc101
-rw-r--r--doc/src/snippets/accessibilityslidersnippet.cpp2
-rw-r--r--doc/src/snippets/code/doc_src_porting4.cpp2
-rw-r--r--doc/src/snippets/code/doc_src_qmake-manual.pro34
-rw-r--r--doc/src/snippets/code/doc_src_qtscript.cpp2
-rw-r--r--doc/src/snippets/code/doc_src_unix-signal-handlers.cpp6
-rw-r--r--doc/src/snippets/code/src_corelib_concurrent_qtconcurrentrun.cpp4
-rw-r--r--doc/src/snippets/code/src_corelib_global_qglobal.cpp24
-rw-r--r--doc/src/snippets/code/src_corelib_io_qsettings.cpp23
-rw-r--r--doc/src/snippets/code/src_corelib_kernel_qabstractitemmodel.cpp35
-rw-r--r--doc/src/snippets/code/src_corelib_kernel_qvariant.cpp2
-rw-r--r--doc/src/snippets/code/src_gui_accessible_qaccessible.cpp4
-rw-r--r--doc/src/snippets/code/src_gui_itemviews_qidentityproxymodel.cpp64
-rw-r--r--doc/src/snippets/code/src_network_access_qhttpmultipart.cpp67
-rw-r--r--doc/src/snippets/code/src_network_access_qhttppart.cpp65
-rw-r--r--doc/src/snippets/code/src_opengl_qglshaderprogram.cpp4
-rw-r--r--doc/src/snippets/code/src_xmlpatterns_api_qxmlquery.cpp2
-rw-r--r--doc/src/snippets/declarative/application.qml2
-rw-r--r--doc/src/snippets/declarative/focus/focusColumn.qml2
-rw-r--r--doc/src/snippets/declarative/grid/grid-items.qml58
-rw-r--r--doc/src/snippets/declarative/grid/grid-no-spacing.qml57
-rw-r--r--doc/src/snippets/declarative/grid/grid-spacing.qml60
-rw-r--r--doc/src/snippets/declarative/listview/listview-snippet.qml52
-rw-r--r--doc/src/snippets/declarative/mousearea/mousearea-snippet.qml82
-rw-r--r--doc/src/snippets/declarative/qml-intro/images/qt-logo.svg104
-rw-r--r--doc/src/snippets/declarative/qtbinding/properties-cpp/applicationdata.h2
-rw-r--r--doc/src/snippets/declarative/states/statechangescript.qml2
-rw-r--r--doc/src/snippets/declarative/webview/webview.qml2
-rw-r--r--doc/src/snippets/myscrollarea.cpp4
-rw-r--r--doc/src/snippets/qcolumnview/main.cpp2
-rw-r--r--doc/src/snippets/qmake/qt_version.pro7
-rw-r--r--doc/src/snippets/qmake/spaces.pro8
-rw-r--r--doc/src/snippets/qstring/stringbuilder.cpp7
-rw-r--r--doc/src/snippets/textdocument-imagedrop/main.cpp2
-rw-r--r--doc/src/snippets/textdocument-imagedrop/textedit.h6
-rw-r--r--doc/src/snippets/textdocument-listitemstyles/main.cpp52
-rw-r--r--doc/src/snippets/textdocument-listitemstyles/mainwindow.cpp84
-rw-r--r--doc/src/snippets/textdocument-listitemstyles/mainwindow.h65
-rw-r--r--doc/src/snippets/textdocument-listitemstyles/textdocument-listitemstyles.pro3
-rw-r--r--doc/src/snippets/threads/threads.cpp9
-rw-r--r--doc/src/snippets/xml/streamreader/traverse.cpp78
-rw-r--r--doc/src/snippets/xml/streamreader/traverse.pro2
-rw-r--r--doc/src/sql-programming/sql-driver.qdoc101
-rw-r--r--doc/src/template/style/offline.css12
-rw-r--r--doc/src/tutorials/modelview.qdoc1
-rw-r--r--doc/src/windows-and-dialogs/mainwindow.qdoc11
-rw-r--r--doc/src/xml-processing/xml-patterns.qdoc2
409 files changed, 4961 insertions, 855 deletions
diff --git a/doc/src/classes/phonon-api.qdoc b/doc/src/classes/phonon-api.qdoc
index 95e20dd..d1b26f6 100644
--- a/doc/src/classes/phonon-api.qdoc
+++ b/doc/src/classes/phonon-api.qdoc
@@ -5131,6 +5131,30 @@
*/
/*!
+ \class Phonon::GlobalConfigPrivate
+ \inmodule Phonon
+ \internal
+*/
+
+/*!
+ \class Phonon::AudioDataOutputPrivate
+ \inmodule Phonon
+ \internal
+*/
+
+/*!
+ \class Phonon::AudioDataOutputInterface
+ \inmodule Phonon
+ \internal
+*/
+
+/*!
+ \class Phonon::SwiftSlider
+ \inmodule Phonon
+ \internal
+*/
+
+/*!
\fn Phonon::GlobalConfigPrivate::GlobalConfigPrivate()
\internal
*/
diff --git a/doc/src/declarative/anchor-layout.qdoc b/doc/src/declarative/anchor-layout.qdoc
index 41b04e8..e93e539 100644
--- a/doc/src/declarative/anchor-layout.qdoc
+++ b/doc/src/declarative/anchor-layout.qdoc
@@ -53,7 +53,12 @@ Rectangle { id: rect1; ... }
Rectangle { id: rect2; anchors.left: rect1.right; ... }
\endcode
-In this case, the left edge of \e rect2 is bound to the right edge of \e rect1, producing the following:
+Each Item has two properties for each anchor line: one to bind from and one to bind to. The properties to bind
+from are contained in the \l{Item::}{anchors} attached property (seen as \c {anchors.left} above).
+The properties to bind to are normal properties (seen as \c {rect1.right} above).
+This way, each item can have several bindings to the same anchor line. Note that the properties to bind to are
+not visible in the documentation for Item.
+So in the example above, the left edge of \e rect2 is bound to the right edge of \e rect1, producing the following:
\image edge1.png
diff --git a/doc/src/declarative/basictypes.qdoc b/doc/src/declarative/basictypes.qdoc
index 37455a7..0e8056a 100644
--- a/doc/src/declarative/basictypes.qdoc
+++ b/doc/src/declarative/basictypes.qdoc
@@ -567,7 +567,7 @@
An enumeration type consists of a set of named values.
- An enumeration value may be specifed as either a string:
+ An enumeration value may be specified as either a string:
\qml
Text { horizontalAlignment: "AlignRight" }
\endqml
diff --git a/doc/src/declarative/declarativeui.qdoc b/doc/src/declarative/declarativeui.qdoc
index bddd05b..692322c 100644
--- a/doc/src/declarative/declarativeui.qdoc
+++ b/doc/src/declarative/declarativeui.qdoc
@@ -82,9 +82,10 @@ Qt applications.
\section1 QML Add-Ons
\list
-\o \l{Qt Quick Components for Symbian}{Qt Quick Components for Symbian} - a native component set for the Symbian^3 platform
+\o \l{Qt Quick Components for Symbian 1.1}{Qt Quick Components for Symbian} - a native component set for the Symbian^3 platform
\o \l{QtWebKit QML Module}
\o \l{http://doc.qt.nokia.com/qtmobility-1.1.0/qml-plugins.html}{Mobility QML Plugins}
+\o \l {http://doc.qt.nokia.com/qt-components-symbian-1.1/index.html}{Qt Quick Components}
\endlist
\section1 Qt Quick Tools
@@ -148,4 +149,12 @@ examples for porting}
\list
\o \l{Qt Quick Licensing Information}
\endlist
+
+\section1 Online Examples
+
+\list
+\o Forum Nokia:
+\l{http://wiki.forum.nokia.com/index.php/Qt_Quick_examples_for_porting}{Qt Quick
+examples for porting}
+\endlist
*/
diff --git a/doc/src/declarative/elements.qdoc b/doc/src/declarative/elements.qdoc
index 6b7a5fc..fd74ee3 100644
--- a/doc/src/declarative/elements.qdoc
+++ b/doc/src/declarative/elements.qdoc
@@ -185,6 +185,7 @@ should first be obtained and installed.
\list
\o \l{WebView}{QtWebKit QML Module - WebView Element} - For displaying Web contents
\o \l{http://doc.qt.nokia.com/qtmobility-1.1.0/qml-plugins.html}{Mobility QML Plugins}
+\o \l {http://doc.qt.nokia.com/qt-components-symbian-1.1/index.html}{Qt Quick Components}
\endlist
*/
diff --git a/doc/src/declarative/example-slideswitch.qdoc b/doc/src/declarative/example-slideswitch.qdoc
index 82161de..a4d8cbe 100644
--- a/doc/src/declarative/example-slideswitch.qdoc
+++ b/doc/src/declarative/example-slideswitch.qdoc
@@ -33,7 +33,7 @@ This example shows how to create a reusable switch component in QML.
The code for this example can be found in the \c $QTDIR/examples/declarative/ui-components/slideswitch directory.
-The elements that composed the switch are:
+The elements that compose the switch are:
\list
\o a \c on property (the interface to interact with the switch),
diff --git a/doc/src/declarative/extending.qdoc b/doc/src/declarative/extending.qdoc
index b63e1cb..0f7becd 100644
--- a/doc/src/declarative/extending.qdoc
+++ b/doc/src/declarative/extending.qdoc
@@ -194,7 +194,7 @@ The QML snippet shown above assigns a \c Person object to the \c BirthdayParty's
QML can set properties of types that are more complex than basic intrinsics like
integers and strings. Properties can also be object pointers, Qt interface
-pointers, lists of object points, and lists of Qt interface pointers. As QML
+pointers, lists of object pointers, and lists of Qt interface pointers. As QML
is typesafe it ensures that only valid types are assigned to these properties,
just like it does for primitive types.
diff --git a/doc/src/declarative/modules.qdoc b/doc/src/declarative/modules.qdoc
index e0240c1..efca620 100644
--- a/doc/src/declarative/modules.qdoc
+++ b/doc/src/declarative/modules.qdoc
@@ -310,6 +310,7 @@ It is defined by a plain text file named "qmldir" that contains one or more line
<TypeName> [<InitialVersion>] <File>
internal <TypeName> <File>
plugin <Name> [<Path>]
+typeinfo <File>
\endcode
\bold {# <Comment>} lines are used for comments. They are ignored by the QML engine.
@@ -350,6 +351,14 @@ plugin file, or a relative path from the directory containing the \c qmldir file
containing the plugin file. By default the engine searches for the plugin library in the directory that contains the \c qmldir
file. The plugin search path can be queried with QDeclarativeEngine::pluginPathList() and modified using QDeclarativeEngine::addPluginPath(). When running the \l {QML Viewer}, use the \c -P option to add paths to the plugin search path.
+\bold {typeinfo <File>} lines add \l{Writing a qmltypes file}{type description files} to
+the module that can be read by QML tools such as Qt Creator to get information about the
+types defined by the module's plugins. <File> is the (relative) file name of a .qmltypes
+file.
+
+Without such a file QML tools may be unable to offer features such as code completion
+for the types defined in your plugins.
+
\section1 Debugging
@@ -358,5 +367,121 @@ when there are problems with finding and loading modules. See
\l{Debugging module imports} for more information.
+\section1 Writing a qmltypes file
+
+QML modules may refer to one or more type information files in their
+\l{Writing a qmldir file}{qmldir} file. These usually have the .qmltypes
+extension and are read by external tools to gain information about
+types defined in plugins.
+
+As such qmltypes files have no effect on the functionality of a QML module.
+Their only use is to allow tools such as Qt Creator to provide code completion,
+error checking and other functionality to users of your module.
+
+Any module that uses plugins should also ship a type description file.
+
+The best way to create a qmltypes file for your module is to generate it
+using the \c qmlplugindump tool that is provided with Qt.
+
+Example:
+If your module is in \c /tmp/imports/My/Module, you could run
+\code
+qmlplugindump My.Module 1.0 /tmp/imports > /tmp/imports/My/Module/mymodule.qmltypes
+\endcode
+to generate type information for your module. Afterwards, add the line
+\code
+typeinfo mymodule.qmltypes
+\endcode
+to \c /tmp/imports/My/Module/qmldir to register it.
+
+While the qmldump tool covers most cases, it does not work if:
+\list
+\o The plugin uses a \l{QDeclarativeCustomParser}. The component that uses
+ the custom parser will not get its members documented.
+\o The plugin can not be loaded. In particular if you cross-compiled
+ the plugin for a different architecture, qmldump will not be able to
+ load it.
+\endlist
+
+In case you have to create a qmltypes file manually or need to adjust
+an existing one, this is the file format:
+
+\qml
+import QtQuick.tooling 1.1
+
+// There always is a single Module object that contains all
+// Component objects.
+Module {
+ // A Component object directly corresponds to a type exported
+ // in a plugin with a call to qmlRegisterType.
+ Component {
+
+ // The name is a unique identifier used to refer to this type.
+ // It is recommended you simply use the C++ type name.
+ name: "QDeclarativeAbstractAnimation"
+
+ // The name of the prototype Component.
+ prototype: "QObject"
+
+ // The name of the default property.
+ defaultProperty: "animations"
+
+ // The name of the type containing attached properties
+ // and methods.
+ attachedType: "QDeclarativeAnimationAttached"
+
+ // The list of exports determines how a type can be imported.
+ // Each string has the format "URI/Name version" and matches the
+ // arguments to qmlRegisterType. Usually types are only exported
+ // once, if at all.
+ // If the "URI/" part of the string is missing that means the
+ // type should be put into the package defined by the URI the
+ // module was imported with.
+ // For example if this module was imported with 'import Foo 4.8'
+ // the Animation object would be found in the package Foo and
+ // QtQuick.
+ exports: [
+ "Animation 4.7",
+ "QtQuick/Animation 1.0"
+ ]
+
+ Property {
+ name: "animations";
+ type: "QDeclarativeAbstractAnimation"
+ // defaults to false, whether this property is read only
+ isReadonly: true
+ // defaults to false, whether the type of this property was a pointer in C++
+ isPointer: true
+ // defaults to false: whether the type actually is a QDeclarativeListProperty<type>
+ isList: true
+ // defaults to 0: the minor version that introduced this property
+ revision: 1
+ }
+ Property { name: "loops"; type: "int" }
+ Property { name: "name"; type: "string" }
+ Property { name: "loopsEnum"; type: "Loops" }
+
+ Enum {
+ name: "Loops"
+ values: {
+ "Infinite": -2,
+ "OnceOnly": 1
+ }
+ }
+
+ // Signal and Method work the same way. The inner Parameter
+ // declarations also support the isReadonly, isPointer and isList
+ // attributes which mean the same as for Property
+ Method { name: "restart" }
+ Signal { name: "started"; revision: 2 }
+ Signal {
+ name: "runningChanged"
+ Parameter { type: "bool" }
+ Parameter { name: "foo"; type: "bool" }
+ }
+ }
+}
+\endqml
+
*/
/
diff --git a/doc/src/declarative/network.qdoc b/doc/src/declarative/network.qdoc
index cb83542..0ebf8ae 100644
--- a/doc/src/declarative/network.qdoc
+++ b/doc/src/declarative/network.qdoc
@@ -134,10 +134,9 @@ One of the URL schemes built into Qt is the "qrc" scheme. This allows content to
the executable using \l{The Qt Resource System}. Using this, an executable can reference QML content
that is compiled into the executable:
-\code
- QDeclarativeView *canvas = new QDeclarativeView;
- canvas->setUrl(QUrl("qrc:/dial.qml"));
-\endcode
+\quotefromfile snippets/declarative/qtbinding/resources/main.cpp
+\skipto view
+\printuntil setSource
The content itself can then use relative URLs, and so be transparently unaware that the content is
compiled into the executable.
diff --git a/doc/src/declarative/qdeclarativemodels.qdoc b/doc/src/declarative/qdeclarativemodels.qdoc
index 52ece6f..36db628 100644
--- a/doc/src/declarative/qdeclarativemodels.qdoc
+++ b/doc/src/declarative/qdeclarativemodels.qdoc
@@ -422,3 +422,84 @@ a function in the model, e.g.:
updated, and that \e{value} holds the new value.
*/
+
+/*!
+\page qml-presenting-data.html
+\title Presenting Data with QML
+
+\section1 Introduction
+
+Qt Quick contains a set of standard items that can be used to present data in a
+number of different ways. For simple user interfaces,
+\l{Using QML Positioner and Repeater Items#Repeaters}{Repeaters} can be used
+in combination with
+\l{Using QML Positioner and Repeater Items#Positioners}{Positioners}
+to obtain pieces of data and arrange them in a user interface. However, when
+large quantities of data are involved, it is often better to use models with
+the standard views since these contain many built-in display and navigation
+features.
+
+\section1 Views
+
+Views are scrolling containers for collections of items. They are feature-rich,
+supporting many of the use cases found in typical applications, and can be
+customized to meet requirements on style and behavior.
+
+A set of standard views are provided in the basic set of Qt Quick
+graphical elements:
+
+\list
+\o \l{#ListView}{ListView} arranges items in a horizontal or vertical list
+\o \l{#GridView}{GridView} arranges items in a grid within the available space
+\o \l{#PathView}{PathView} arranges items on a path
+\endlist
+
+Unlike these items, \l WebView is not a fully-featured view item, and needs
+to be combined with a \l Flickable item to create a view that performs like
+a Web browser.
+
+\section2 ListView
+
+\l ListView shows a classic list of items with horizontal or vertical placing
+of items.
+
+\beginfloatright
+\inlineimage qml-listview-snippet.png
+\endfloat
+
+The following example shows a minimal ListView displaying a sequence of
+numbers (using an \l{QML Data Models#An Integer}{integer as a model}).
+A simple delegate is used to define an items for each piece of data in the
+model.
+
+\clearfloat
+\snippet doc/src/snippets/declarative/listview/listview-snippet.qml document
+
+
+
+\section2 GridView
+
+\l GridView displays items in a grid like an file manager's icon view.
+
+\section2 PathView
+
+\l PathView displays items on a path, where the selection remains in
+the same place and the items move around it.
+
+\section1 Decorating Views
+
+\section2 Headers and Footers
+
+\section2 Sections
+
+\section2 Navigation
+
+In traditional user interfaces, views can be scrolled using standard
+controls, such as scroll bars and arrow buttons. In some situations, it
+is also possible to drag the view directly by pressing and holding a
+mouse button while moving the cursor. In touch-based user interfaces,
+this dragging action is often complemented with a flicking action, where
+scrolling continues after the user has stopped touching the view.
+
+\section1 Further Reading
+*/
diff --git a/doc/src/declarative/qdeclarativestates.qdoc b/doc/src/declarative/qdeclarativestates.qdoc
index 55f38c3..9857894 100644
--- a/doc/src/declarative/qdeclarativestates.qdoc
+++ b/doc/src/declarative/qdeclarativestates.qdoc
@@ -133,4 +133,26 @@ The \l {declarative/animation/states}{States and Transitions example}
demonstrates how to declare a basic set of states and apply animated
transitions between them.
+\l{Using QML Behaviors with States} explains a common problem when using Behaviors
+to animate state changes.
+
+\section1 State Fast Forwarding
+
+In order for Transition to correctly animate state changes, it is sometimes necessary
+for the engine to fast forward and rewind a state (that is, internally set and unset the state)
+before it is finally applied. The process is as follows:
+
+\list 1
+\o The state is fast forwarded to determine the complete set of end values.
+\o The state is rewound.
+\o The state is fully applied, with transitions.
+\endlist
+
+In some cases this may cause unintended behavior. For example, a state that changes
+a view's \i model or a Loader's \i sourceComponent will set these properties
+multiple times (to apply, rewind, and then reapply), which can be relatively expensive.
+
+State fast forwarding should be considered an implementation detail,
+and may change in later versions.
+
*/
diff --git a/doc/src/declarative/qtbinding.qdoc b/doc/src/declarative/qtbinding.qdoc
index b35ddc5..e342728 100644
--- a/doc/src/declarative/qtbinding.qdoc
+++ b/doc/src/declarative/qtbinding.qdoc
@@ -108,7 +108,7 @@ These methods are shown below. Naturally these approaches are not exclusive; you
these methods throughout your application as appropriate.
-\section2 Loading QML components from C++
+\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,
@@ -180,7 +180,7 @@ required \c objectName. It is better for the C++ implementation to know as littl
the QML user interface implementation and the composition of the QML object tree.
-\section2 Embedding C++ objects into QML components
+\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
@@ -231,7 +231,7 @@ in QML views.
Also see the QDeclarativeContext documentation for more information.
-\section2 Defining new QML elements
+\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
@@ -270,7 +270,7 @@ For more information on defining new QML elements, see the \l {Tutorial: Writing
-\section1 Exchanging data between QML and C++
+\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}
@@ -279,7 +279,7 @@ the QML side, all QML object data is automatically made available to the meta-ob
be accessed from C++.
-\section2 Calling functions
+\section2 Calling Functions
QML functions can be called from C++ and vice-versa.
@@ -314,7 +314,7 @@ same name but different arguments, the correct function will be called according
the types of arguments that are provided.
-\section2 Receiving signals
+\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. In return, any C++ signal can be received by a QML object using
@@ -373,7 +373,7 @@ class that is emitting the signal, and that the enum is registered using Q_ENUMS
See \l {Using enumerations of a custom type} below for details.
-\section2 Modifying properties
+\section2 Modifying Properties
Any properties declared in a QML object are automatically accessible from C++. Given a QML item
like this:
@@ -454,7 +454,7 @@ To allow a custom C++ type to be created or used in QML, the C++ class must be r
type using qmlRegisterType(), as shown in the \l {Defining new QML elements} section above.
-\section2 JavaScript arrays and objects
+\section2 JavaScript Arrays and Objects
There is built-in support for automatic type conversion between QVariantList and JavaScript
arrays, and QVariantMap and JavaScript objects.
@@ -465,6 +465,10 @@ below right calls this function, passing a QVariantList and a QVariantMap, which
converted to JavaScript array and object values, repectively:
\table
+\header
+\o Type
+\o String format
+\o Example
\row
\o \snippet doc/src/snippets/declarative/qtbinding/variantlistmap/MyItem.qml 0
\o \snippet doc/src/snippets/declarative/qtbinding/variantlistmap/main.cpp 0
@@ -485,7 +489,7 @@ parameter, the value can be created as a JavaScript array or object in the QML
side, and is automatically converted to a QVariantList or QVariantMap when it is passed to C++.
-\section2 Using enumerations of a custom type
+\section2 Using Enumerations of a Custom Type
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:
@@ -507,22 +511,26 @@ the \l {Extending QML Functionalities using C++} reference documentation for
more information.
-\section2 Using enumeration values as signal parameters
+\section2 Using Enumeration Values as Signal and Method Parameters
C++ signals may pass enumeration values as signal parameters to QML, providing that the enumeration
and the signal are declared within the same class, or that the enumeration value is one of those declared
in the \l {Qt}{Qt Namespace}.
+Likewise, invokable C++ methods parameters may be enumeration values providing that the enumeration and
+the method are declared within the same class, or that the enumeration value is one of those declared in the
+\l {Qt}{Qt Namespace}.
+
Additionally, if a C++ signal with an enum parameter should be connectable to a QML function using the
-\l {Connecting signals to methods and other signals}{connect()} function, the enum type must be
-registered using qRegisterMetaType().
+\l{QML Signal and Handler Event System#Connecting Signals to Methods and Signals}{connect()}
+function, the enum type must be registered using qRegisterMetaType().
For QML signals, enum values may be used as signal parameters using the \c int type:
\snippet doc/src/snippets/declarative/qtbinding/enums/standalone.qml 1
-\section2 Automatic type conversion from strings
+\section2 Automatic Type Conversion from Strings
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++.
diff --git a/doc/src/declarative/qtdeclarative.qdoc b/doc/src/declarative/qtdeclarative.qdoc
index 027bb2e..75420d5 100644
--- a/doc/src/declarative/qtdeclarative.qdoc
+++ b/doc/src/declarative/qtdeclarative.qdoc
@@ -210,4 +210,4 @@
#include <QtDeclarative> to use this function.
Returns the QML type id.
- */
+*/
diff --git a/doc/src/declarative/righttoleft.qdoc b/doc/src/declarative/righttoleft.qdoc
index 58c266c..1f2cd08 100644
--- a/doc/src/declarative/righttoleft.qdoc
+++ b/doc/src/declarative/righttoleft.qdoc
@@ -100,8 +100,12 @@ Or set all child elements to also inherit the layout direction:
\snippet doc/src/snippets/declarative/righttoleft.qml 3
Applying mirroring in this manner does not change the actual value of the relevant anchor,
-\c layoutDirection or \c horizontalAlignment properties. You can use \c LayoutMirroring.enabled to
-query whether the mirroring is in effect.
+\c layoutDirection or \c horizontalAlignment properties. The separate read-only property
+\c effectiveLayoutDirection can be used to query the effective layout
+direction of positioners and model views that takes the mirroring into account. Similarly the \l Text,
+\l TextInput and \l TextEdit elements have gained the read-only property \c effectiveHorizontalAlignment
+for querying the effective visual alignment of text. For anchors, the read only
+\l {Item::anchors.top}{anchors.mirrored} property reflects whether anchors have been mirrored.
Note that application layouts and animations that are defined using \l {Item::}{x} property values (as
opposed to anchors or positioner elements) are not affected by the \l LayoutMirroring attached property.
diff --git a/doc/src/declarative/whatsnew.qdoc b/doc/src/declarative/whatsnew.qdoc
index 77f8eb0..3a78f1b 100644
--- a/doc/src/declarative/whatsnew.qdoc
+++ b/doc/src/declarative/whatsnew.qdoc
@@ -26,12 +26,13 @@
****************************************************************************/
/*!
-\title What's new in Qt Quick
+\title What's New in Qt Quick
\page qtquick-whatsnew.html
\section1 Qt 4.7.4 includes QtQuick 1.1
-QtQuick 1.1 is a minor feature update. \e {import QtQuick 1.1} to use the new features.
+QtQuick 1.1 is a minor feature update. \e {import QtQuick 1.1} to use the new
+features.
\section2 PinchArea
@@ -39,7 +40,9 @@ PinchArea provides support for the common two finger pinch gesture.
\section2 LayoutMirroring attached property
-\l {LayoutMirroring}{Layout mirroring} is useful when you need to support both left-to-right and right-to-left layout versions of your application that target different language areas.
+\l {LayoutMirroring}{Layout mirroring} is useful when you need to support both
+left-to-right and right-to-left layout versions of your application that target
+different language areas.
\section2 Text
@@ -138,21 +141,21 @@ Added the following methods and signal handlers:
\section2 Component
\list
-\o The \l{Component::}{createObject()} method now accepts a map of initial property values for
-the created object.
+\o The \l{Component::}{createObject()} method now accepts a map of initial
+property values for the created object.
\endlist
\section2 Qt
\list
-\o Added the \l {QML:Qt::application}{Qt.application} object to hold generic global application
-properties.
+\o Added the \l {QML:Qt::application}{Qt.application} object to hold generic
+global application properties.
\endlist
\section2 Other changes
\list
-\o Functions can be \l{Binding Properties from JavaScript}{assigned to properties from JavaScript}
+\o Functions can be \l{Property Binding#Property Binding}{assigned to properties from JavaScript}
to create property bindings.
\o QtQuick now supports Right to Left layout in positioners, views, anchors and text elements.
\endlist
@@ -162,13 +165,14 @@ to create property bindings.
\section2 QtQuick namespace
-In prior Qt releases, all the Qt Quick elements were available in the \e Qt namespace.
-Starting with Qt 4.7.1, the elements are also available in the \e QtQuick namespace,
-which improves naming consistency, and allows the development of Qt Quick to occur at
-a faster rate than Qt's usual minor release schedule.
+In prior Qt releases, all the Qt Quick elements were available in the \e Qt
+namespace. Starting with Qt 4.7.1, the elements are also available in the
+\e QtQuick namespace, which improves naming consistency, and allows the
+development of Qt Quick to occur at a faster rate than Qt's usual minor release
+schedule.
-The change for developers is very simple - where you previously wrote \e {import Qt 4.7},
-just replace it with \e {import QtQuick 1.0}, like this:
+The change for developers is very simple - where you previously wrote
+\e {import Qt 4.7}, just replace it with \e {import QtQuick 1.0}, like this:
\code
import QtQuick 1.0
@@ -178,7 +182,7 @@ Text {
}
\endcode
-\e {import Qt 4.7} continues to work so existing applications wont break even if they
-aren't updated, but it is recommended that all import statements be modified to the new
-form.
+\e {import Qt 4.7} continues to work so existing applications won't break even
+if they aren't updated, but it is recommended that all import statements be
+modified to the new form.
*/
diff --git a/doc/src/demos/affine.qdoc b/doc/src/demos/affine.qdoc
index adc1a78..912e412 100644
--- a/doc/src/demos/affine.qdoc
+++ b/doc/src/demos/affine.qdoc
@@ -29,7 +29,7 @@
\example demos/affine
\title Affine Transformations
- In this demo we show Qt's ability to perform affine transformations
+ \brief The Affine Transformations demo shows Qt's ability to perform affine transformations
on painting operations.
\image affine-demo.png
diff --git a/doc/src/demos/anomaly.qdoc b/doc/src/demos/anomaly.qdoc
index 9d19099..c6dfcf2 100644
--- a/doc/src/demos/anomaly.qdoc
+++ b/doc/src/demos/anomaly.qdoc
@@ -29,5 +29,7 @@
\example demos/embedded/anomaly
\title Anomaly Demonstration
+ \brief The anomaly demo shows a QtWebKit browser for mobile devices.
+
\image anomaly-demo.png
*/
diff --git a/doc/src/demos/arthurplugin.qdoc b/doc/src/demos/arthurplugin.qdoc
index c5daf18..3d168e3 100644
--- a/doc/src/demos/arthurplugin.qdoc
+++ b/doc/src/demos/arthurplugin.qdoc
@@ -29,7 +29,7 @@
\example demos/arthurplugin
\title Arthur Plugin
- In this demo we demonstrate the abilities of Qt's painting system
+ \brief The Arthur Plugin demo demonstrates the abilities of Qt's painting system
in combination with \QD's custom widget plugin facilities.
\image arthurplugin-demo.png
diff --git a/doc/src/demos/books.qdoc b/doc/src/demos/books.qdoc
index 7eccd5b..220f5eb 100644
--- a/doc/src/demos/books.qdoc
+++ b/doc/src/demos/books.qdoc
@@ -29,7 +29,7 @@
\example demos/books
\title Books Demonstration
- The Books demonstration shows how Qt's SQL classes can be used with the model/view
+ \brief The Books demonstration shows how Qt's SQL classes can be used with the model/view
framework to create rich user interfaces for information stored in a database.
\image books-demo.png
diff --git a/doc/src/demos/boxes.qdoc b/doc/src/demos/boxes.qdoc
index 52ee63b..ae2cbe6 100644
--- a/doc/src/demos/boxes.qdoc
+++ b/doc/src/demos/boxes.qdoc
@@ -29,7 +29,7 @@
\example demos/boxes
\title Boxes
- This demo shows Qt's ability to combine advanced OpenGL rendering with the
+ \brief The Boxes demo shows Qt's ability to combine advanced OpenGL rendering with the
the \l{Graphics View Framework}.
\image boxes-demo.png
diff --git a/doc/src/demos/browser.qdoc b/doc/src/demos/browser.qdoc
index 2cfc933..61b869c 100644
--- a/doc/src/demos/browser.qdoc
+++ b/doc/src/demos/browser.qdoc
@@ -29,7 +29,7 @@
\page demos-browser.html
\title Web Browser
- The Web Browser demonstration shows Qt's WebKit module in action,
+ \brief The Web Browser demonstration shows Qt's WebKit module in action,
providing a little Web browser application.
\image browser-demo.png
diff --git a/doc/src/demos/chip.qdoc b/doc/src/demos/chip.qdoc
index eda0bed..fd1b3c7 100644
--- a/doc/src/demos/chip.qdoc
+++ b/doc/src/demos/chip.qdoc
@@ -29,7 +29,7 @@
\example demos/chip
\title 40000 Chips
- This demo shows how to visualize a huge scene with 40000 chip items
+ \brief The 40000 Chips demo shows how to visualize a huge scene with 40000 chip items
using Graphics View. It also shows Graphics View's powerful navigation
and interaction features, allowing you to zoom and rotate each of four
views independently, and you can select and move items around the scene.
diff --git a/doc/src/demos/composition.qdoc b/doc/src/demos/composition.qdoc
index c2eadc7..23a2815 100644
--- a/doc/src/demos/composition.qdoc
+++ b/doc/src/demos/composition.qdoc
@@ -29,7 +29,7 @@
\example demos/composition
\title Composition Modes
- This demo shows some of the more advanced composition modes supported by Qt.
+ \brief The Composition Modes demo shows some of the more advanced composition modes supported by Qt.
\image composition-demo.png
diff --git a/doc/src/demos/deform.qdoc b/doc/src/demos/deform.qdoc
index 7b11a9a..aa2a1ae 100644
--- a/doc/src/demos/deform.qdoc
+++ b/doc/src/demos/deform.qdoc
@@ -29,7 +29,7 @@
\example demos/deform
\title Vector Deformation
- This demo shows how to use advanced vector techniques to draw text
+ \brief The Vector Deformation demo shows how to use advanced vector techniques to draw text
using a \c QPainterPath.
\image deform-demo.png
diff --git a/doc/src/demos/desktopservices.qdoc b/doc/src/demos/desktopservices.qdoc
index f1abed8..c83605d 100644
--- a/doc/src/demos/desktopservices.qdoc
+++ b/doc/src/demos/desktopservices.qdoc
@@ -29,5 +29,7 @@
\example demos/embedded/desktopservices
\title Embedded Desktop Services Demonstration
+ \brief The Embedded Desktop Services demo shows the Qt Desktop Services API.
+
\image embeddeddesktopservices-demo.png
*/
diff --git a/doc/src/demos/digiflip.qdoc b/doc/src/demos/digiflip.qdoc
index 33f083f..40172f2 100644
--- a/doc/src/demos/digiflip.qdoc
+++ b/doc/src/demos/digiflip.qdoc
@@ -27,5 +27,8 @@
/*!
\example demos/embedded/digiflip
+
+ \brief The Digiflip demo shows the Animation Framework in an embedded context.
+
\title Digiflip Demonstration
*/
diff --git a/doc/src/demos/embeddeddialogs.qdoc b/doc/src/demos/embeddeddialogs.qdoc
index e80f76c..50ae6b6 100644
--- a/doc/src/demos/embeddeddialogs.qdoc
+++ b/doc/src/demos/embeddeddialogs.qdoc
@@ -29,7 +29,7 @@
\example demos/embeddeddialogs
\title Embedded Dialogs
- This example shows how to embed standard dialogs into
+ \brief The Embedded Dialogs demo shows how to embed standard dialogs into
Graphics View. It also shows how you can customize the
proxy class and add window shadows.
diff --git a/doc/src/demos/embeddedsvgviewer.qdoc b/doc/src/demos/embeddedsvgviewer.qdoc
index 044923a..063119f 100644
--- a/doc/src/demos/embeddedsvgviewer.qdoc
+++ b/doc/src/demos/embeddedsvgviewer.qdoc
@@ -29,5 +29,7 @@
\example demos/embedded/embeddedsvgviewer
\title Embedded SVG Viewer Demonstration
+ \brief The Embedded SVG Viewer demo shows Graphics View SVG rendering in an embedded context.
+
\image embeddedsvgviewer-demo.png
*/
diff --git a/doc/src/demos/flickable.qdoc b/doc/src/demos/flickable.qdoc
index 540857b..4baea5b 100644
--- a/doc/src/demos/flickable.qdoc
+++ b/doc/src/demos/flickable.qdoc
@@ -29,5 +29,7 @@
\example demos/embedded/flickable
\title Flickable List Demonstration
+ \brief The Flickable List demo shows a flickable list in an embedded context.
+
\image flickable-demo.png
*/
diff --git a/doc/src/demos/flightinfo.qdoc b/doc/src/demos/flightinfo.qdoc
index e812dbf..2942603 100644
--- a/doc/src/demos/flightinfo.qdoc
+++ b/doc/src/demos/flightinfo.qdoc
@@ -29,5 +29,7 @@
\example demos/embedded/flightinfo
\title Flight Info Demonstration
+ \brief The Flight Info demo shows requesting data from an external server in a mbile device context.
+
\image flightinfo-demo.png
*/
diff --git a/doc/src/demos/fluidlauncher.qdoc b/doc/src/demos/fluidlauncher.qdoc
index 42623e8..2fe602a 100644
--- a/doc/src/demos/fluidlauncher.qdoc
+++ b/doc/src/demos/fluidlauncher.qdoc
@@ -29,5 +29,7 @@
\example demos/embedded/fluidlauncher
\title Fluid Launcher Demonstration
+ \brief The Fluid Launcher demo demonstrates an application launcher for mobile devices
+
\image fluidlauncher-demo.png
*/
diff --git a/doc/src/demos/glhypnotizer.qdoc b/doc/src/demos/glhypnotizer.qdoc
new file mode 100644
index 0000000..0782e90
--- /dev/null
+++ b/doc/src/demos/glhypnotizer.qdoc
@@ -0,0 +1,38 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** GNU Free Documentation License
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms
+** and conditions contained in a signed written agreement between you
+** and Nokia.
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \example demos/glhypnotizer
+ \title GL Hypnotizer
+
+ \brief The GL Hypnotizer demo shows how to use OpenGL from a seperate thread.
+
+ \image glhypnotizer-demo.png
+
+ New MDI windows can be added by pressing Ctrl-N and each new child
+ window renders in it's own thread.
+*/
diff --git a/doc/src/demos/gradients.qdoc b/doc/src/demos/gradients.qdoc
index 1f29a4a..5c400a1 100644
--- a/doc/src/demos/gradients.qdoc
+++ b/doc/src/demos/gradients.qdoc
@@ -29,7 +29,7 @@
\example demos/gradients
\title Gradients
- In this demo we show the various types of gradients that can
+ \brief The Gradients demo shows the various types of gradients that can
be used in Qt.
\image gradients-demo.png
diff --git a/doc/src/demos/guitartuner.qdoc b/doc/src/demos/guitartuner.qdoc
index df15c04..8a1e875 100644
--- a/doc/src/demos/guitartuner.qdoc
+++ b/doc/src/demos/guitartuner.qdoc
@@ -27,16 +27,19 @@
/*!
\page guitartuner_example.html
- \title Guitar Tuner Example
+ \title Guitar Tuner Demonstration
\example demos/mobile/guitartuner
+\brief The Guitar Tuner demo demonstrates the audio-in and audio-out interfaces of
+Qt Mobility Multimedia, and integrating Qt code in a Qt Quick UI.
+
The Guitar Tuner application can be used to tune guitar strings by analyzing the
audio recorded by the device microphone. Guitar Tuner can be also used in the
listening mode. It will then play the audio by the corresponding frequency, and
the user can tune the guitar by ear. The application demonstrates the audio-in
and the audio-out interfaces of
\l{external: Mobility Multimedia}{Qt Mobility Multimedia} and integrating Qt
-code to the Qt Quick UI.
+code in a Qt Quick UI.
The example is hosted in Projects Forum Nokia: https://projects.forum.nokia.com/guitartuner
diff --git a/doc/src/demos/interview.qdoc b/doc/src/demos/interview.qdoc
index fa40ed2..7050cc3 100644
--- a/doc/src/demos/interview.qdoc
+++ b/doc/src/demos/interview.qdoc
@@ -29,7 +29,7 @@
\example demos/interview
\title Interview
- The Interview demonstration explores the flexibility and scalability of the
+ \brief The Interview demonstration explores the flexibility and scalability of the
model/view framework by presenting an infinitely deep data structure using a model
and three different types of view.
diff --git a/doc/src/demos/lightmaps.qdoc b/doc/src/demos/lightmaps.qdoc
index a8594f9..11eb3c3 100644
--- a/doc/src/demos/lightmaps.qdoc
+++ b/doc/src/demos/lightmaps.qdoc
@@ -29,5 +29,7 @@
\example demos/embedded/lightmaps
\title Light Maps Demonstration
+ \brief The Light Maps demo shows graphics effects in an embedded context.
+
\image lightmaps-demo.png
*/
diff --git a/doc/src/demos/macmainwindow.qdoc b/doc/src/demos/macmainwindow.qdoc
index 31c0230..aaed304 100644
--- a/doc/src/demos/macmainwindow.qdoc
+++ b/doc/src/demos/macmainwindow.qdoc
@@ -29,7 +29,7 @@
\example demos/macmainwindow
\title Mac Main Window Demo
- This demo shows how to create a main window that has the
+ \brief The Mac Main Window demo shows how to create a main window that has the
same appearance as other Mac OS X applications such as Mail or iTunes.
This includes customizing the item views and QSplitter and wrapping native
widgets such as the search field.
diff --git a/doc/src/demos/mainwindow.qdoc b/doc/src/demos/mainwindow.qdoc
index dee7202..0bd084f 100644
--- a/doc/src/demos/mainwindow.qdoc
+++ b/doc/src/demos/mainwindow.qdoc
@@ -29,7 +29,7 @@
\example demos/mainwindow
\title Main Window
- The Main Window demonstration shows Qt's extensive support for tool bars,
+ \brief The Main Window demonstration shows Qt's extensive support for tool bars,
dock windows, menus, and other standard application features.
\image mainwindow-demo.png
diff --git a/doc/src/demos/mediaplayer.qdoc b/doc/src/demos/mediaplayer.qdoc
index 8f35ee5..227b346 100644
--- a/doc/src/demos/mediaplayer.qdoc
+++ b/doc/src/demos/mediaplayer.qdoc
@@ -29,7 +29,7 @@
\example demos/qmediaplayer
\title Media Player
- The Media Player demonstration shows how \l{Phonon Module}{Phonon}
+ \brief The Media Player demonstration shows how \l{Phonon Module}{Phonon}
can be used in Qt applications to handle audio and video playback.
\image qmediaplayer-demo.png
diff --git a/doc/src/demos/mobiledemos.qdoc b/doc/src/demos/mobiledemos.qdoc
index 2aaa258..6af10f6 100644
--- a/doc/src/demos/mobiledemos.qdoc
+++ b/doc/src/demos/mobiledemos.qdoc
@@ -30,8 +30,10 @@
\example demos/mobile/quickhit
\title Quick Hit Demo
- This demo shows how to use Mobility APIs to access device audio
- capabilities. Uses the multimedia and systeminfo modules of
+ \brief The Quick Hit demo shows how to use Mobility APIs to access device audio
+ capabilities.
+
+ The demo uses the multimedia and systeminfo modules of
\l{external: Qt Mobility Manual}{Qt Mobility}.
\note This demonstration requires QtMobility libraries.
diff --git a/doc/src/demos/pathstroke.qdoc b/doc/src/demos/pathstroke.qdoc
index 8e864e2..97ee8ab 100644
--- a/doc/src/demos/pathstroke.qdoc
+++ b/doc/src/demos/pathstroke.qdoc
@@ -29,7 +29,7 @@
\example demos/pathstroke
\title Path Stroking
- In this demo we show some of the various types of pens that can be
+ \brief This Path Stroking demo shows some of the various types of pens that can be
used in Qt.
\image pathstroke-demo.png
diff --git a/doc/src/demos/qcamera.qdoc b/doc/src/demos/qcamera.qdoc
index f41afd7..be3f667 100644
--- a/doc/src/demos/qcamera.qdoc
+++ b/doc/src/demos/qcamera.qdoc
@@ -27,10 +27,10 @@
/*!
\page qcamera_example.html
- \title QCamera Example
+ \title QCamera Demo
\example demos/mobile/qcamera
- This Qt C++ application demonstrates how to use Multimedia, Messaging and Contacts modules from \l{external: Qt Mobility Manual}{Qt Mobility}.
+ \brief The QCamera demo shows how to use Multimedia, Messaging and Contacts modules from Qt Mobility.
\image qcameraexample.png
diff --git a/doc/src/demos/qml-qtbubblelevel.qdoc b/doc/src/demos/qml-qtbubblelevel.qdoc
index 052dd50..146f604 100644
--- a/doc/src/demos/qml-qtbubblelevel.qdoc
+++ b/doc/src/demos/qml-qtbubblelevel.qdoc
@@ -27,13 +27,15 @@
/*!
\page qtbubblelevel_example.html
- \title Qt Bubble Level Example
+ \title Qt Bubble Level Demo
\example demos/mobile/qtbubblelevel
-Qt Bubble Level is a simple application that uses
-\l{external: Qt Mobility Manual}{Qt Mobility's} accelerometer APIs and hardware
+\brief Qt Bubble Level is a simple application that uses
+Qt Mobility's accelerometer APIs and hardware
sensor information to calculate the inclination of the device and presents this
-as atraditional bubble level. The application provides a calibration feature to
+as atraditional bubble level.
+
+The application provides a calibration feature to
handle any possible errors in accelerometer readings. The example is hosted in
Projects Forum Nokia: https://projects.forum.nokia.com/qtbubblelevel
diff --git a/doc/src/demos/qtdemo.qdoc b/doc/src/demos/qtdemo.qdoc
index f4d3cbf..9ecb824 100644
--- a/doc/src/demos/qtdemo.qdoc
+++ b/doc/src/demos/qtdemo.qdoc
@@ -31,7 +31,7 @@
\ingroup qttools
\keyword qtdemo
- The Examples and Demos Launcher (\c qtdemo) allows the user to browse the
+ \brief The Examples and Demos Launcher (\c qtdemo) allows the user to browse the
examples and demonstrations included with Qt, access the documentation
associated with each of them, and launch them as separate applications.
diff --git a/doc/src/demos/raycasting.qdoc b/doc/src/demos/raycasting.qdoc
index 5c03e20..6517e97 100644
--- a/doc/src/demos/raycasting.qdoc
+++ b/doc/src/demos/raycasting.qdoc
@@ -29,5 +29,7 @@
\example demos/embedded/raycasting
\title Ray Casting Demonstration
+ \brief The Ray Casting demo shows how to use ray casting to build a mid-1990s style first-person game.
+
\image raycasting-demo.png
*/
diff --git a/doc/src/demos/spectrum.qdoc b/doc/src/demos/spectrum.qdoc
index 7e98426..64eab09 100644
--- a/doc/src/demos/spectrum.qdoc
+++ b/doc/src/demos/spectrum.qdoc
@@ -29,7 +29,7 @@
\example demos/spectrum
\title Spectrum Analyzer
- The Spectrum Analyzer demo shows how the \l{QtMultimedia Module} can be
+ \brief The Spectrum Analyzer demo shows how the \l{QtMultimedia Module} can be
used in Qt applications to capture and then play back an audio stream.
\image spectrum-demo.png
diff --git a/doc/src/demos/spreadsheet.qdoc b/doc/src/demos/spreadsheet.qdoc
index 5c6b4df..3b74d8e 100644
--- a/doc/src/demos/spreadsheet.qdoc
+++ b/doc/src/demos/spreadsheet.qdoc
@@ -29,7 +29,7 @@
\example demos/spreadsheet
\title Spreadsheet
- The Spreadsheet demonstration shows how a table view can be used to create a
+ \brief The Spreadsheet demonstration shows how a table view can be used to create a
simple spreadsheet application. Custom delegates are used to render different
types of data in distinctive colors.
diff --git a/doc/src/demos/sqlbrowser.qdoc b/doc/src/demos/sqlbrowser.qdoc
index 53af037..b87d86f 100644
--- a/doc/src/demos/sqlbrowser.qdoc
+++ b/doc/src/demos/sqlbrowser.qdoc
@@ -29,7 +29,7 @@
\example demos/sqlbrowser
\title SQL Browser
- The SQL Browser demonstration shows how a data browser can be used to visualize
+ \brief The SQL Browser demonstration shows how a data browser can be used to visualize
the results of SQL statements on a live database.
\image sqlbrowser-demo.png
diff --git a/doc/src/demos/styledemo.qdoc b/doc/src/demos/styledemo.qdoc
index 415d284..d05d091 100644
--- a/doc/src/demos/styledemo.qdoc
+++ b/doc/src/demos/styledemo.qdoc
@@ -29,5 +29,7 @@
\example demos/embedded/styledemo
\title Embedded Styles Demonstration
+ \brief The Embedded Styles demo shows how to use Qt Style APIs in embedded contexts
+
\image styledemo-demo.png
*/
diff --git a/doc/src/demos/sub-attaq.qdoc b/doc/src/demos/sub-attaq.qdoc
index 247d0d1..2874473 100644
--- a/doc/src/demos/sub-attaq.qdoc
+++ b/doc/src/demos/sub-attaq.qdoc
@@ -29,7 +29,7 @@
\example demos/sub-attaq
\title Sub-Attaq
- This demo shows Qt's ability to combine \l{The Animation Framework}{the animation framework}
+ \brief The Sub-Attaq demo shows Qt's ability to combine \l{The Animation Framework}{the animation framework}
and \l{The State Machine Framework}{the state machine framework} to create a game.
\image sub-attaq-demo.png
diff --git a/doc/src/demos/textedit.qdoc b/doc/src/demos/textedit.qdoc
index 8c50dba..f068593 100644
--- a/doc/src/demos/textedit.qdoc
+++ b/doc/src/demos/textedit.qdoc
@@ -29,7 +29,7 @@
\example demos/textedit
\title Text Edit
- The Text Edit demonstration shows Qt's rich text editing facilities in action,
+ \brief The Text Edit demonstration shows Qt's rich text editing facilities in action,
providing an example document for you to experiment with.
\image textedit-demo.png
diff --git a/doc/src/demos/undo.qdoc b/doc/src/demos/undo.qdoc
index 7b64371..78804c0 100644
--- a/doc/src/demos/undo.qdoc
+++ b/doc/src/demos/undo.qdoc
@@ -29,7 +29,7 @@
\example demos/undo
\title Undo Framework
- This demo shows Qt's undo framework in action.
+ \brief This demo shows Qt's undo framework in action.
\image undodemo.png
diff --git a/doc/src/demos/weatherinfo.qdoc b/doc/src/demos/weatherinfo.qdoc
index 1f8a3e8..21b8fc8 100644
--- a/doc/src/demos/weatherinfo.qdoc
+++ b/doc/src/demos/weatherinfo.qdoc
@@ -29,5 +29,7 @@
\example demos/embedded/weatherinfo
\title Weather Info Demonstration
+ \brief The Weather Info demo shows how to use XML files to build an embedded UI.
+
\image weatherinfo-demo.png
*/
diff --git a/doc/src/deployment/deployment.qdoc b/doc/src/deployment/deployment.qdoc
index d9b169c..ecb9ec6 100644
--- a/doc/src/deployment/deployment.qdoc
+++ b/doc/src/deployment/deployment.qdoc
@@ -102,15 +102,16 @@
of the libraries used by the application. Using static linking,
however, the Qt run-time is compiled into the executable.
- In general, you should deploy all plugins that your build of Qt uses,
- excluding only those that you have identified as being unnecessary
- for your application and its users.
+ In general, you should \l{Deploying Plugins}{deploy all plugins}
+ that your build of Qt uses, excluding only those that you have
+ identified as being unnecessary for your application and its users.
For instance, you may need to deploy plugins for JPEG support and
SQL drivers, but you should also deploy plugins that your users may
require, including those for accessibility.
- For more information about plugins, see the
- \l{plugins-howto.html}{How to Create Qt Plugins} documentation.
+ For more information about plugins, see
+ \l{plugins-howto.html}{How to Create Qt Plugins} and
+ \l{Deploying Plugins}.
When deploying an application using the shared library approach
you must ensure that the Qt libraries will use the correct path to
@@ -177,7 +178,7 @@
\o \l{Deploying an Application on Windows}{Qt for Windows}
\o \l{Deploying an Application on Mac OS X}{Qt for Mac OS X}
\o \l{Deploying Qt for Embedded Linux Applications}{Qt for Embedded Linux}
- \o \l{Deploying an Application on the Symbian platform}{Qt for the Symbian platform}
+ \o \l{Deploying an Application on the Symbian Platform}{Qt for the Symbian platform}
\endlist
\sa Installation {Platform-Specific Documentation}
@@ -501,7 +502,8 @@
The \l{How to Create Qt Plugins} document outlines the issues you
need to pay attention to when building and deploying plugins for
- Qt applications.
+ Qt applications. More information about deployment can be found in
+ \l{Deploying Plugins}.
*/
/*!
@@ -746,7 +748,7 @@
If the shared library has dependencies that are different from the
application using it, the manifest file needs to be embedded into the DLL
- binary. Since Qt 4.1.3, the follwoing \c CONFIG options are available for
+ binary. Since Qt 4.1.3, the following \c CONFIG options are available for
embedding manifests:
\snippet doc/src/snippets/code/doc_src_deployment.qdoc 20
diff --git a/doc/src/deployment/qt-conf.qdoc b/doc/src/deployment/qt-conf.qdoc
index 2f68f3d..5204cc6 100644
--- a/doc/src/deployment/qt-conf.qdoc
+++ b/doc/src/deployment/qt-conf.qdoc
@@ -48,7 +48,7 @@
\o \c :/qt/etc/qt.conf using the resource system
- \o on Mac OS X, in the Resource directory inside the appliction
+ \o on Mac OS X, in the Resource directory inside the application
bundle, for example \c assistant.app/Contents/Resources/qt.conf
\o in the directory containing the application executable, i.e.
diff --git a/doc/src/development/assistant-manual.qdoc b/doc/src/development/assistant-manual.qdoc
index 8bb37ca..79fb4de 100644
--- a/doc/src/development/assistant-manual.qdoc
+++ b/doc/src/development/assistant-manual.qdoc
@@ -640,7 +640,12 @@
QDesktopServices::DataLocation. The first form is useful for
collections that are used in a "mobile" way, e.g. carried around
on a USB stick.
-
+ \row
+ \o \c{<enableFullTextSearchFallback>}
+ \o This tag describes the ability to fallback and use the full text
+ search if a keyword can't be found in the index. This functionality
+ can be used while remote controlling \QA. To make it available for
+ remote control set the tag value to \c{true}.
\endtable
In addition to those \QA specific tags, the tags for generating and registering
diff --git a/doc/src/development/designer-manual.qdoc b/doc/src/development/designer-manual.qdoc
index 410ca8c..348931f 100644
--- a/doc/src/development/designer-manual.qdoc
+++ b/doc/src/development/designer-manual.qdoc
@@ -1560,7 +1560,7 @@
\section1 Dock Widgets
Since dock widgets are \l{Using Containers in Qt Designer}
- {container widgets}, they can be added to a form in the usuasl way. Once
+ {container widgets}, they can be added to a form in the usual way. Once
added to a form, dock widgets are not placed in any particular dock area by
default; you need to set the \gui{docked} property to true for each widget
and choose an appropriate value for its \gui{dockWidgetArea} property.
diff --git a/doc/src/development/qmake-manual.qdoc b/doc/src/development/qmake-manual.qdoc
index 44e7103..0f85469 100644
--- a/doc/src/development/qmake-manual.qdoc
+++ b/doc/src/development/qmake-manual.qdoc
@@ -252,8 +252,7 @@
Normally, variables are used to contain whitespace-separated lists
of values. However, it is sometimes necessary to specify values containing
- spaces. These must be quoted by using the
- \l{qmake Function Reference#quote-string}{quote()} function in the following way:
+ spaces. These must be quoted by using double quotes:
\snippet doc/src/snippets/qmake/quoting.pro 0
@@ -261,9 +260,7 @@
the variable. A similar approach is used to deal with paths that contain
spaces, particularly when defining the
\l{qmake Variable Reference#INCLUDEPATH}{INCLUDEPATH} and
- \l{qmake Variable Reference#LIBS}{LIBS} variables for the Windows platform.
- In cases like these, the \l{qmake Function Reference#quote(string)}{quote()}
- function can be used in the following way:
+ \l{qmake Variable Reference#LIBS}{LIBS} variables for the Windows platform:
\snippet doc/src/snippets/qmake/spaces.pro quoting include paths with spaces
@@ -1123,6 +1120,44 @@
\tableofcontents{3}
+
+ \target BACKUP_REGISTRATION_FILE_MAEMO
+ \section1 BACKUP_REGISTRATION_FILE_MAEMO
+
+ \e {This is only used on the Maemo platform.}
+
+ This variable is used to specify the backup registration file to use with
+ \c enable_backup \c CONFIG value for Maemo platform. The default value is:
+ \c{$$_PRO_FILE_PWD_/backup_registration/maemo/$$basename(TARGET).conf}.
+
+ Unfortunately it is not possible to have a common registration file for Maemo like there is
+ for Symbian, so the developer must always provide one if the platform default backup support is
+ not sufficient.
+
+ For documentation about how to create backup registration files and how the device
+ backup works in general, see:
+ (\l{http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Generic_Platform_Components/Using_Backup_Application}{Using Backup Application})
+
+ \target BACKUP_REGISTRATION_FILE_SYMBIAN
+ \section1 BACKUP_REGISTRATION_FILE_SYMBIAN
+
+ \e {This is only used on the Symbian platform.}
+
+ This variable is used to specify the backup registration file to use with
+ \c enable_backup \c CONFIG value for Symbian platform. The default value is
+ determined as follows:
+
+ If a custom registration file \c{$$_PRO_FILE_PWD_/backup_registration/symbian/backup_registration.xml}
+ exists, it is used. Otherwise, the common registration file \c{$$[QT_INSTALL_DATA]/mkspecs/common/symbian/backup_registration.xml}
+ is used. This common registration file will define backing up of application binaries,
+ resources, and all files under application private directory. Also note that \c{C:/Data}
+ contents are backed up by default on Symbian devices, so no registration is needed for any
+ files found there.
+
+ For documentation about how to create backup registration files and how the device
+ backup works in general, see:
+ (\l{http://library.forum.nokia.com/index.jsp?topic=/S60_5th_Edition_Cpp_Developers_Library/GUID-35228542-8C95-4849-A73F-2B4F082F0C44/sdk/doc_source/guide/Connectivity-subsystem-guide/Connectivity/PC_Connectivity_How-To_Write_Backup_Aware_Software.html}{How-To Write Backup-aware Software})
+
\target BLD_INF_RULES
\section1 BLD_INF_RULES
@@ -1149,6 +1184,10 @@
Any rules you define will be added after automatically generated
rules in each section.
+ \note Content specified using \c BLD_INF_RULES is inserted as-is into the \c bld.inf
+ file, so any rules that specify host side paths may not work correctly when doing
+ a shadow build.
+
\target CONFIG
\section1 CONFIG
@@ -1256,11 +1295,12 @@
automatically be added to the project.
\row \o console \o The target is a Win32 console application (app only). The
proper include paths, compiler flags and libraries will
- automatically be added to the
- project.
+ automatically be added to the project.
\row \o shared \o{1,3} The target is a shared object/DLL. The proper
include paths, compiler flags and libraries will automatically be
- added to the project.
+ added to the project. Note that \c dll can also be used on all platforms;
+ a shared library file with the appropriate suffix for the target platform
+ (dll, so, dylib) will be created.
\row \o dll \o
\row \o dylib \o
\row \o static \o{1,2} The target is a static library (lib only). The proper
@@ -1344,6 +1384,17 @@
so some \c{.ts} files may be ignored by qmake.
\endtable
+ These options only have an effect on Symbian and Maemo platforms:
+
+ \table 95%
+ \header \o Option \o Description
+ \row \o enable_backup \o Generates deployment for backup registration file
+ to enable backing up the application during device backup.
+ See \l{#BACKUP_REGISTRATION_FILE_MAEMO}{BACKUP_REGISTRATION_FILE_MAEMO}
+ and \l{#BACKUP_REGISTRATION_FILE_SYMBIAN}{BACKUP_REGISTRATION_FILE_SYMBIAN}
+ for more information about backup.
+ \endtable
+
These options have an effect on Linux/Unix platforms:
\table 95%
@@ -1474,6 +1525,10 @@
override languages statement, you must override also package-header
statement and all other statements which are language specific.
+ \note Custom deployments specified using \c pkg_postrules are inserted
+ as-is into the \c PKG file, so any rules that specify host side paths may not
+ work correctly when doing a shadow build.
+
On the Symbian platform, three separate PKG files are generated:
\list
@@ -1699,9 +1754,7 @@
To specify a path containing spaces, quote the path using the technique
mentioned in the \l{qmake Project Files#Whitespace}{qmake Project Files}
- document. For example, paths with spaces can be specified on Windows
- and Unix platforms by using the \l{qmake Function Reference#quote-string}{quote()}
- function in the following way:
+ document.
\snippet doc/src/snippets/qmake/spaces.pro quoting include paths with spaces
@@ -1723,6 +1776,9 @@
executable. If you need to install executable files, you can unset the
files' executable flags.
+ Note that \c qmake will skip files that are executable. If you need to install
+ executable files, you can unset the files' executable flags.
+
\target LEXIMPLS
\section1 LEXIMPLS
@@ -1764,9 +1820,7 @@
To specify a path containing spaces, quote the path using the technique
mentioned in the \l{qmake Project Files#Whitespace}{qmake Project Files}
- document. For example, paths with spaces can be specified on Windows
- and Unix platforms by using the \l{qmake Function Reference#quote-string}{quote()}
- function in the following way:
+ document.
\snippet doc/src/snippets/qmake/spaces.pro quoting library paths with spaces
@@ -1817,6 +1871,8 @@
\bold{Note:} On the Symbian platform, this variable is ignored.
+ \bold{Note:} On the Symbian platform, this variable is ignored.
+
\target MAKEFILE_GENERATOR
\section1 MAKEFILE_GENERATOR
@@ -1863,6 +1919,10 @@
\c TARGET.EPOCSTACKSIZE.
Doing so could result in duplicate statements in the MMP file.
+ \note Content specified using \c MMP_RULES is inserted as-is into the \c MMP
+ file, so any rules that specify host side paths may not work correctly when doing
+ a shadow build.
+
\target MOC_DIR
\section1 MOC_DIR
@@ -1944,8 +2004,17 @@
\target PWD
\section1 PWD
- This variable contains the full path leading to the directory where
- the \l{qmake Manual#qmake}{\c qmake} project file (project.pro) is located.
+ The \c PWD variable specifies the full path leading to the directory
+ containing the current file being parsed. This can be useful
+ to refer to files within the source tree when writing project files to
+ support shadow builds.
+
+ See also \l{#_PRO_FILE_PWD_}{_PRO_FILE_PWD_}.
+
+ \note IN_PWD is an alias for PWD.
+
+ \note Function calls have no effect on the value of PWD. PWD will refer to
+ the path of the calling file.
\target OUT_PWD
\section1 OUT_PWD
@@ -2788,6 +2857,13 @@
\l{qmake Manual#qmake}{\c qmake} or \l{#QMAKESPEC}{qmake.conf} and rarely
needs to be modified.
+ \section1 QMAKE_LN_SHLIB
+
+ This variable contains the command to execute when creating a link
+ to a shared library. The
+ value of this variable is typically handled by \c qmake or
+ \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
+
\section1 QMAKE_POST_LINK
This variable contains the command to execute after linking the TARGET
@@ -2802,12 +2878,14 @@
executed, additionally some backends will not support this - mostly only
Makefile backends.
- \section1 QMAKE_LN_SHLIB
+ \section1 QMAKE_PROJECT_NAME
- This variable contains the command to execute when creating a link to a
- shared library. The value of this variable is typically handled by
- \l{qmake Manual#qmake}{\c qmake} or \l{#QMAKESPEC}{qmake.conf} and rarely
- needs to be modified.
+ \e {This is used for Visual Studio project files only.}
+
+ This variable determines the name of the project when generating project
+ files for IDEs. The default value is the target name. The value of this
+ variable is typically handled by \l {qmake Manual#qmake}{ \c qmake} and
+ rarely needs to be modified.
\section1 QMAKE_MAC_SDK
@@ -3050,6 +3128,23 @@
platform application shell. In addition it will make the application to
be launched in background.
+ From S60 version 5.4 onwards, you can specify \c graphics_memory value using \c RSS_RULES
+ to specify the graphics memory quota for the application. The value is in kilobytes and
+ defaults to 24576 (i.e. 24MB) for applications that link against QtGui. The default for all
+ other applications is zero.
+
+ The graphics memory quota tells the operating system how much graphics memory the
+ application is likely to need so that it can free up enough graphics memory prior to
+ application launch. If the value is too small, it can cause random slowdowns later when
+ the memory is freed on on-demand basis. On the other hand, too large values can delay
+ the application launch unnecessarily.
+
+ For example:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.pro 159
+
+ This example sets the graphics memory quota to 12MB.
+
For detailed list of possible \c APP_REGISTRATION_INFO statements, please refer to the
Symbian platform help.
@@ -3168,6 +3263,29 @@
\snippet doc/src/snippets/code/doc_src_qmake-manual.pro 150
+ \section2 Ordered Targets and Visual Studio Solution Files
+
+ The \c ordered option is not supported for Visual Studio. The following list describes how
+ you can get around without it--dependencies are generated automatically if:
+
+ \list
+ \o 1a) There is a Lib/DLL project of which TARGET (the .lib is used and not the .dll)
+ is used on the link line of another project in your solution (you can modify the link
+ line with LIBS).
+
+ \o 1b) There is an Exe project of which TARGET is used in a custom
+ build-step of another project in your solution.
+
+ \o 2) You don't use paths in the TARGET variable (use DESTDIR/DLLDESTDIR for that),
+ e.g, TARGET=$(SOME_VARIABLE)/myLib, won't work.
+
+ \o 3) If you have a special location for your libs, you specify the -Lmy/library/path and
+ LIBS += mylib, instead of just using LIBS += my/library/path/mylib
+
+ \o 4) The leaf projects are created before you generate the solution file. (You can use the
+ recursive flag for qmake to do this, like "qmake -tp vc -r [yourproject.pro]"
+ \endlist
+
\target SYMBIAN_VERSION
\section1 SYMBIAN_VERSION
@@ -3488,6 +3606,19 @@
\tableofcontents{2}
+ \section1 packagesExist(packages)
+
+ Uses the PKGCONFIG mechanism to determine whether or not the given packages
+ exist at the time of project parsing.
+
+ This can be useful to optionally enable or disable features. For example:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.pro 157
+
+ And then, in the code:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.pro 158
+
\section1 basename(variablename)
Returns the basename of the file specified. For example:
@@ -3682,10 +3813,7 @@
\section1 quote(string)
Converts a whole \e string into a single entity and returns the result.
- Newlines, carriage returns, and tabs can be specified in the string
- with \\n \\r and \\t. The return value does not contain either single
- or double quotation marks unless you explicitly include them yourself,
- but will be placed into a single entry (for literal expansion).
+ This is just a fancy way of enclosing the string into double quotes.
\section1 replace(string, old_string, new_string)
diff --git a/doc/src/development/qtestlib.qdoc b/doc/src/development/qtestlib.qdoc
index 80bf838..3b338e3 100644
--- a/doc/src/development/qtestlib.qdoc
+++ b/doc/src/development/qtestlib.qdoc
@@ -181,6 +181,9 @@
outputs the possible command line arguments and give some useful help.
\o \c -functions \BR
outputs all test functions available in the test.
+ \o \c -datatags \BR
+ outputs all data tags available in the test.
+ A global data tag is preceded by ' __global__ '.
\o \c -o \e filename \BR
write output to the specified file, rather than to standard output
\o \c -silent \BR
@@ -751,8 +754,8 @@
Tools for handling and visualizing test data are available as part of
the \l {qtestlib-tools} project in the \l{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.
+ 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}{qtestlib-tools announcement}
for more information on these tools and a simple graphing example.
diff --git a/doc/src/diagrams/webkit-webplugin.png b/doc/src/diagrams/webkit-webplugin.png
new file mode 100644
index 0000000..be17fae
--- /dev/null
+++ b/doc/src/diagrams/webkit-webplugin.png
Binary files differ
diff --git a/doc/src/examples/2dpainting.qdoc b/doc/src/examples/2dpainting.qdoc
index c4a2695..bce9958 100644
--- a/doc/src/examples/2dpainting.qdoc
+++ b/doc/src/examples/2dpainting.qdoc
@@ -29,7 +29,7 @@
\example opengl/2dpainting
\title 2D Painting Example
- The 2D Painting example shows how QPainter and QGLWidget can be used
+ \brief The 2D Painting example shows how QPainter and QGLWidget can be used
together to display accelerated 2D graphics on supported hardware.
\image 2dpainting-example.png
diff --git a/doc/src/examples/activeqt/comapp.qdoc b/doc/src/examples/activeqt/comapp.qdoc
index 22cec65..3c74b60 100644
--- a/doc/src/examples/activeqt/comapp.qdoc
+++ b/doc/src/examples/activeqt/comapp.qdoc
@@ -29,10 +29,12 @@
\example activeqt/comapp
\title COM App Example (ActiveQt)
- The COM App example shows how to use ActiveQt to develop a Qt
- application that can be automated via COM. Different QObject
- based classes are exposed as COM objects that communicate with the
- GUI of the running Qt application. The APIs of those COM objects
+ \brief The COM App example shows how to use ActiveQt to develop a Qt
+ application that can be automated via COM.
+
+ Different QObject based classes are exposed as COM objects that
+ communicate with the GUI of the running Qt application.
+ The APIs of those COM objects
has been designed to resemble the APIs of standard COM
applications; i.e. those from Microsoft Office.
diff --git a/doc/src/examples/activeqt/dotnet.qdoc b/doc/src/examples/activeqt/dotnet.qdoc
index af62b8d..31ca490 100644
--- a/doc/src/examples/activeqt/dotnet.qdoc
+++ b/doc/src/examples/activeqt/dotnet.qdoc
@@ -29,7 +29,7 @@
\page activeqt-dotnet.html
\title Dot Net Example (ActiveQt)
- The Dot Net example demonstrates how Qt objects can be used in a
+ \brief The Dot Net example demonstrates how Qt objects can be used in a
.NET environment, and how .NET objects can be used in a Qt
environment.
@@ -314,7 +314,7 @@
\l{http://qt.nokia.com/products/qsa/}{QSA}, the cross platform
scripting solution for Qt applications, and to COM clients in general.
- When using the "IJW" method, in priciple the only limitation is the
+ When using the "IJW" method, in principle the only limitation is the
time required to write the wrapper classes and data type conversion
functions.
diff --git a/doc/src/examples/activeqt/hierarchy.qdoc b/doc/src/examples/activeqt/hierarchy.qdoc
index 50fb025..e4fa60f 100644
--- a/doc/src/examples/activeqt/hierarchy.qdoc
+++ b/doc/src/examples/activeqt/hierarchy.qdoc
@@ -36,7 +36,7 @@
\example activeqt/hierarchy
\title Hierarchy Example (ActiveQt)
- The Hierarchy example is shows how to write an in-process ActiveX
+ \brief The Hierarchy example is shows how to write an in-process ActiveX
control. The control is a QWidget subclass with child widgets
that are accessible as sub-types.
diff --git a/doc/src/examples/activeqt/multiple.qdoc b/doc/src/examples/activeqt/multiple.qdoc
index 96bb6f5..fb069a9 100644
--- a/doc/src/examples/activeqt/multiple.qdoc
+++ b/doc/src/examples/activeqt/multiple.qdoc
@@ -36,9 +36,10 @@
\example activeqt/multiple
\title Multiple Example (ActiveQt)
- The Multiple example demonstrates the implementation of a
+ \brief The Multiple example demonstrates the implementation of a
QAxFactory to provide multiple ActiveX controls in a single in
process ActiveX server using the \c QAXFACTORY_EXPORT() macro.
+
The ActiveX controls in this example are simple QWidget
subclasses that reimplement QWidget::paintEvent().
diff --git a/doc/src/examples/activeqt/qutlook.qdoc b/doc/src/examples/activeqt/qutlook.qdoc
index fe77fd5..82e3424 100644
--- a/doc/src/examples/activeqt/qutlook.qdoc
+++ b/doc/src/examples/activeqt/qutlook.qdoc
@@ -29,7 +29,7 @@
\example activeqt/qutlook
\title Qutlook Example (ActiveQt)
- The Qutlook example demonstrates the use of ActiveQt to automate
+ \brief The Qutlook example demonstrates the use of ActiveQt to automate
Outlook. The example makes use of the \l dumpcpp tool to generate
a C++ namespace for the type library describing the Outlook
Object Model.
diff --git a/doc/src/examples/activeqt/webbrowser.qdoc b/doc/src/examples/activeqt/webbrowser.qdoc
index 7eca270..35e4524 100644
--- a/doc/src/examples/activeqt/webbrowser.qdoc
+++ b/doc/src/examples/activeqt/webbrowser.qdoc
@@ -29,7 +29,7 @@
\example activeqt/webbrowser
\title Web Browser Example (ActiveQt)
- The Web Browser example uses the Microsoft Web Browser
+ \brief The Web Browser example uses the Microsoft Web Browser
ActiveX control to implement a fully functional Web Browser
application. The user interface has been developed using the Qt
Designer integration of the QAxWidget class.
diff --git a/doc/src/examples/activeqt/wrapper.qdoc b/doc/src/examples/activeqt/wrapper.qdoc
index caecae9..8c7755e 100644
--- a/doc/src/examples/activeqt/wrapper.qdoc
+++ b/doc/src/examples/activeqt/wrapper.qdoc
@@ -37,9 +37,11 @@
\example activeqt/wrapper
\title Wrapper Example (ActiveQt)
- The Wrapper example demonstrates how to export existing QWidget
+ \brief The Wrapper example demonstrates how to export existing QWidget
classes as ActiveX controls, and the use of QAxFactory together
- with the \c QAXFACTORY_EXPORT() macro. ActiveX controls in this
+ with the \c QAXFACTORY_EXPORT() macro.
+
+ ActiveX controls in this
example are the standard button classes QPushButton, QCheckBox
and QRadioButton as provided by Qt.
diff --git a/doc/src/examples/addressbook.qdoc b/doc/src/examples/addressbook.qdoc
index 114c22b..f19582d 100644
--- a/doc/src/examples/addressbook.qdoc
+++ b/doc/src/examples/addressbook.qdoc
@@ -29,7 +29,7 @@
\example itemviews/addressbook
\title Address Book Example
- The address book example shows how to use proxy models to display
+ \brief The address book example shows how to use proxy models to display
different views onto data from a single model.
\image addressbook-example.png Screenshot of the Address Book example
diff --git a/doc/src/examples/analogclock.qdoc b/doc/src/examples/analogclock.qdoc
index 18dc479..3b12ebe 100644
--- a/doc/src/examples/analogclock.qdoc
+++ b/doc/src/examples/analogclock.qdoc
@@ -29,7 +29,7 @@
\example widgets/analogclock
\title Analog Clock Example
- The Analog Clock example shows how to draw the contents of a custom
+ \brief The Analog Clock example shows how to draw the contents of a custom
widget.
\image analogclock-example.png Screenshot of the Analog Clock example
diff --git a/doc/src/examples/animatedtiles.qdoc b/doc/src/examples/animatedtiles.qdoc
index f562829..8155c4a 100644
--- a/doc/src/examples/animatedtiles.qdoc
+++ b/doc/src/examples/animatedtiles.qdoc
@@ -29,7 +29,7 @@
\example animation/animatedtiles
\title Animated Tiles Example
- The Animated Tiles example animates items in a graphics scene.
+ \brief The Animated Tiles example animates items in a graphics scene.
\image animatedtiles-example.png
*/
diff --git a/doc/src/examples/appchooser.qdoc b/doc/src/examples/appchooser.qdoc
index 63cbb0e..64c5144 100644
--- a/doc/src/examples/appchooser.qdoc
+++ b/doc/src/examples/appchooser.qdoc
@@ -29,7 +29,7 @@
\example animation/appchooser
\title Application Chooser Example
- The Application Chooser example shows how to use the Qt state
+ \brief The Application Chooser example shows how to use the Qt state
machine and the animation framework to select between
applications.
diff --git a/doc/src/examples/application.qdoc b/doc/src/examples/application.qdoc
index 9e03bc4..5f7b9fe 100644
--- a/doc/src/examples/application.qdoc
+++ b/doc/src/examples/application.qdoc
@@ -29,7 +29,7 @@
\example mainwindows/application
\title Application Example
- The Application example shows how to implement a standard GUI
+ \brief The Application example shows how to implement a standard GUI
application with menus, toolbars, and a status bar. The example
itself is a simple text editor program built around QPlainTextEdit.
diff --git a/doc/src/examples/applicationicon.qdoc b/doc/src/examples/applicationicon.qdoc
new file mode 100644
index 0000000..f3f222e
--- /dev/null
+++ b/doc/src/examples/applicationicon.qdoc
@@ -0,0 +1,89 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** GNU Free Documentation License
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms
+** and conditions contained in a signed written agreement between you
+** and Nokia.
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*! \example widgets/applicationicon
+ \group all-examples
+ \title Application Icon Example
+
+ \brief The Application Icon example shows how to add an application icon to a
+ mobile application.
+
+ \image appicon_screenshot.png The icon on a Nokia XPressMusic 5800
+
+ \section1 Creating an icon for Maemo
+
+ Maemo expects the icon of an application to be a 64x64 PNG image file. The
+ file name of the icon should be the same as the executable with a \c .png
+ extension. You also need a \c .desktop file that gives the window manager
+ hints about the application, such as name, type and icon.
+
+ \quotefile examples/widgets/applicationicon/applicationicon.desktop
+
+ The \c Icon field should also contain the name of the executable. On the
+ device, application icons are stored in the
+ \c /usr/share/icons/hicolor/64x64/apps directory
+ and desktop files in the \c /usr/share/applications/hildon directory.
+
+ \section1 Creating an icon for Symbian
+
+ Symbian uses Scalable Vector Graphics (SVG Tiny 1.1+) to render
+ application icons in the application menu. Therefore icons could be
+ created manually with a text editor, since SVG files are plain text with
+ XML syntax, but usually you would use a vector graphics program that is
+ able to output SVG files. Popular graphics programs such as Adobe
+ Illustrator or Inkscape are able to do so.
+
+ For best results, the icon should be created on a 44x44 pixel canvas.
+ Otherwise the image might be scaled in unexpected ways.
+
+ Once you have created your icon, make sure that it is stored according to
+ the SVG-Tiny 1.1+ standard. Inkscape, for instance, is not able to save
+ images that way, but there are tools that can convert general SVG files
+ into the Tiny format. For instance, the svg2svgt tool that is bundled with
+ Symbian 3rd and 5th editon SDKs under the folder s60tools can do this
+ conversion to some extent. Another tool to convert SVG to SVG Tiny is SVG
+ Pony.
+
+ \section1 Adding the icons to the project
+
+ Edit the .pro file and specify the ICON variable for the symbian target.
+ For Maemo, we need to add that the \c .desktop and icon file should be
+ installed.
+
+ \quotefile examples/widgets/applicationicon/applicationicon.pro
+
+ Currently, Qt Creator doesn't include the icon and desktop files in the
+ application package for Maemo, merely the executable file is included. As a
+ workaround for this, the files can be added manually in the Projects tab.
+ In the "Create Package" build step for the Maemo target, the \c .desktop
+ file and icon can be added to be a part of the package contents.
+ Unfortunately, these additions are only stored as a part of the
+ \c .pro.user file. This issue will be resolved in a future release of
+ Qt Creator.
+
+ \image appicon_packagecontents.png Manual addition of files to the "Create Package" build step
+*/
diff --git a/doc/src/examples/arrowpad.qdoc b/doc/src/examples/arrowpad.qdoc
index f3ba332..ef0bd27 100644
--- a/doc/src/examples/arrowpad.qdoc
+++ b/doc/src/examples/arrowpad.qdoc
@@ -29,7 +29,7 @@
\example linguist/arrowpad
\title Arrow Pad Example
- This example is a slightly more involved and introduces a key \e
+ \brief ThArrow Pad Linguist example is a slightly more involved and introduces a key \e
{Qt Linguist} concept: "contexts". It also shows how to use two
or more languages.
diff --git a/doc/src/examples/audiodevices.qdoc b/doc/src/examples/audiodevices.qdoc
index 7c95678..1690f34 100644
--- a/doc/src/examples/audiodevices.qdoc
+++ b/doc/src/examples/audiodevices.qdoc
@@ -29,7 +29,7 @@
\example multimedia/audiodevices
\title Audio Devices Example
- The Audio Devices example demonstrates the basic use of QAudioDeviceInfo class
+ \brief The Audio Devices example demonstrates the basic use of QAudioDeviceInfo class
provided with Qt.
\image audiodevices-example.png
diff --git a/doc/src/examples/audioinput.qdoc b/doc/src/examples/audioinput.qdoc
index 1b6d461..d5af63f 100644
--- a/doc/src/examples/audioinput.qdoc
+++ b/doc/src/examples/audioinput.qdoc
@@ -29,7 +29,7 @@
\example multimedia/audioinput
\title AudioInput Example
- The Audio Input example demonstrates the basic use of QAudioInput class
+ \brief The Audio Input example demonstrates the basic use of QAudioInput class
provided with Qt.
\image audioinput-example.png
diff --git a/doc/src/examples/audiooutput.qdoc b/doc/src/examples/audiooutput.qdoc
index 47a09fa..9362029 100644
--- a/doc/src/examples/audiooutput.qdoc
+++ b/doc/src/examples/audiooutput.qdoc
@@ -29,7 +29,7 @@
\example multimedia/audiooutput
\title Audio Output Example
- The Audio Output example demonstrates the basic use of the QAudioOutput class
+ \brief The Audio Output example demonstrates the basic use of the QAudioOutput class
provided with Qt.
\image audiooutput-example.png
diff --git a/doc/src/examples/basicdrawing.qdoc b/doc/src/examples/basicdrawing.qdoc
index fbc34e6..f18907c 100644
--- a/doc/src/examples/basicdrawing.qdoc
+++ b/doc/src/examples/basicdrawing.qdoc
@@ -29,7 +29,7 @@
\example painting/basicdrawing
\title Basic Drawing Example
- The Basic Drawing example shows how to display basic graphics
+ \brief The Basic Drawing example shows how to display basic graphics
primitives in a variety of styles using the QPainter class.
QPainter performs low-level painting on widgets and other paint
diff --git a/doc/src/examples/basicgraphicslayouts.qdoc b/doc/src/examples/basicgraphicslayouts.qdoc
index 2742870..27c9cb6 100644
--- a/doc/src/examples/basicgraphicslayouts.qdoc
+++ b/doc/src/examples/basicgraphicslayouts.qdoc
@@ -29,7 +29,7 @@
\example graphicsview/basicgraphicslayouts
\title Basic Graphics Layouts Example
- The Basic Graphics Layouts example shows how to use the layout classes
+ \brief The Basic Graphics Layouts example shows how to use the layout classes
in QGraphicsView: QGraphicsLinearLayout and QGraphicsGridLayout.
In addition to that it shows how to write your own custom layout item.
@@ -161,4 +161,4 @@
\snippet examples/graphicsview/basicgraphicslayouts/layoutitem.cpp 5
-*/ \ No newline at end of file
+*/
diff --git a/doc/src/examples/basiclayouts.qdoc b/doc/src/examples/basiclayouts.qdoc
index a8c64f0..ade0b08 100644
--- a/doc/src/examples/basiclayouts.qdoc
+++ b/doc/src/examples/basiclayouts.qdoc
@@ -29,7 +29,7 @@
\example layouts/basiclayouts
\title Basic Layouts Example
- The Basic Layouts example shows how to use the standard layout
+ \brief The Basic Layouts example shows how to use the standard layout
managers that are available in Qt: QBoxLayout, QGridLayout and
QFormLayout.
diff --git a/doc/src/examples/basicsortfiltermodel.qdoc b/doc/src/examples/basicsortfiltermodel.qdoc
index dbe9f02..92c000e 100644
--- a/doc/src/examples/basicsortfiltermodel.qdoc
+++ b/doc/src/examples/basicsortfiltermodel.qdoc
@@ -29,7 +29,7 @@
\example itemviews/basicsortfiltermodel
\title Basic Sort/Filter Model Example
- The Basic Sort/Filter Model example illustrates how to use
+ \brief The Basic Sort/Filter Model example illustrates how to use
QSortFilterProxyModel to perform basic sorting and filtering.
\image basicsortfiltermodel-example.png Screenshot of the Basic Sort/Filter Model Example
diff --git a/doc/src/examples/bearercloud.qdoc b/doc/src/examples/bearercloud.qdoc
index 18a4ddf..f549eb4 100644
--- a/doc/src/examples/bearercloud.qdoc
+++ b/doc/src/examples/bearercloud.qdoc
@@ -29,7 +29,7 @@
\example network/bearercloud
\title Bearer Cloud Example
- The Bearer Cloud example shows how to use the Bearer Management API to monitor the
+ \brief The Bearer Cloud example shows how to use the Bearer Management API to monitor the
connectivity state of the local device.
\image bearercloud-example.png Screenshot of the Bearer Cloud example
diff --git a/doc/src/examples/bearermonitor.qdoc b/doc/src/examples/bearermonitor.qdoc
index a638d12..ec5d091 100644
--- a/doc/src/examples/bearermonitor.qdoc
+++ b/doc/src/examples/bearermonitor.qdoc
@@ -29,7 +29,7 @@
\example network/bearermonitor
\title Bearer Monitor Example
- The Bearer Monitor example shows how to use the Bearer Management API.
+ \brief The Bearer Monitor example shows how to use the Bearer Management API.
\image bearermonitor-example.png Screenshot of the Bearer Monitor example
*/
diff --git a/doc/src/examples/blockingfortuneclient.qdoc b/doc/src/examples/blockingfortuneclient.qdoc
index d35ed4c..5549ebb 100644
--- a/doc/src/examples/blockingfortuneclient.qdoc
+++ b/doc/src/examples/blockingfortuneclient.qdoc
@@ -29,7 +29,7 @@
\example network/blockingfortuneclient
\title Blocking Fortune Client Example
- The Blocking Fortune Client example shows how to create a client for a
+ \brief The Blocking Fortune Client example shows how to create a client for a
network service using QTcpSocket's synchronous API in a non-GUI thread.
\image blockingfortuneclient-example.png
diff --git a/doc/src/examples/blurpicker.qdoc b/doc/src/examples/blurpicker.qdoc
index 3a6d433..00c822d 100644
--- a/doc/src/examples/blurpicker.qdoc
+++ b/doc/src/examples/blurpicker.qdoc
@@ -29,5 +29,7 @@
\example effects/blurpicker
\title Blur Picker Effect Example
+ \brief The Blur Picker Example shows the QGraphicsBlurEffect in action.
+
\image blurpickereffect-example.png
*/
diff --git a/doc/src/examples/borderlayout.qdoc b/doc/src/examples/borderlayout.qdoc
index 94cd3d9..cf8a4fc 100644
--- a/doc/src/examples/borderlayout.qdoc
+++ b/doc/src/examples/borderlayout.qdoc
@@ -29,7 +29,7 @@
\example layouts/borderlayout
\title Border Layout Example
- The Border Layout example shows how to create a custom layout that arranges
+ \brief The Border Layout example shows how to create a custom layout that arranges
child widgets according to a simple set of rules.
\image borderlayout-example.png
diff --git a/doc/src/examples/broadcastreceiver.qdoc b/doc/src/examples/broadcastreceiver.qdoc
index e5d4ae0..e716a74 100644
--- a/doc/src/examples/broadcastreceiver.qdoc
+++ b/doc/src/examples/broadcastreceiver.qdoc
@@ -29,7 +29,7 @@
\example network/broadcastreceiver
\title Broadcast Receiver Example
- The Broadcast Receiever example shows how to receive information that is broadcasted
+ \brief The Broadcast Receiver example shows how to receive information that is broadcasted
over a local network.
\image broadcastreceiver-example.png
diff --git a/doc/src/examples/broadcastsender.qdoc b/doc/src/examples/broadcastsender.qdoc
index 2cb0a13..a272e88 100644
--- a/doc/src/examples/broadcastsender.qdoc
+++ b/doc/src/examples/broadcastsender.qdoc
@@ -29,7 +29,7 @@
\example network/broadcastsender
\title Broadcast Sender Example
- The Broadcast Sender example shows how to broadcast information to multiple clients
+ \brief The Broadcast Sender example shows how to broadcast information to multiple clients
on a local network.
\image broadcastsender-example.png
diff --git a/doc/src/examples/cachedtable.qdoc b/doc/src/examples/cachedtable.qdoc
index 5a20329..7660dbf 100644
--- a/doc/src/examples/cachedtable.qdoc
+++ b/doc/src/examples/cachedtable.qdoc
@@ -29,7 +29,7 @@
\example sql/cachedtable
\title Cached Table Example
- The Cached Table example shows how a table view can be used to access a database,
+ \brief The Cached Table example shows how a table view can be used to access a database,
caching any changes to the data until the user explicitly submits them using a
push button.
diff --git a/doc/src/examples/calculator.qdoc b/doc/src/examples/calculator.qdoc
index c7dc013..7941698 100644
--- a/doc/src/examples/calculator.qdoc
+++ b/doc/src/examples/calculator.qdoc
@@ -29,7 +29,7 @@
\example widgets/calculator
\title Calculator Example
- The example shows how to use signals and slots to implement the
+ \brief The example shows how to use signals and slots to implement the
functionality of a calculator widget, and how to use QGridLayout
to place child widgets in a grid.
diff --git a/doc/src/examples/calculatorbuilder.qdoc b/doc/src/examples/calculatorbuilder.qdoc
index ac9db9f..97f6f06 100644
--- a/doc/src/examples/calculatorbuilder.qdoc
+++ b/doc/src/examples/calculatorbuilder.qdoc
@@ -29,7 +29,7 @@
\example designer/calculatorbuilder
\title Calculator Builder Example
- The Calculator Builder example shows how to create a user interface from
+ \brief The Calculator Builder example shows how to create a user interface from
a \QD form at run-time, using the QUiLoader class.
\image calculatorbuilder-example.png
diff --git a/doc/src/examples/calculatorform.qdoc b/doc/src/examples/calculatorform.qdoc
index e1025b6..945659f 100644
--- a/doc/src/examples/calculatorform.qdoc
+++ b/doc/src/examples/calculatorform.qdoc
@@ -29,9 +29,11 @@
\example designer/calculatorform
\title Calculator Form Example
- The Calculator Form Example shows how to use a form created with
+ \brief The Calculator Form Example shows how to use a form created with
\QD in an application by using the user interface information from
- a QWidget subclass. We use \l{Using a Designer UI File in Your Application}
+ a QWidget subclass.
+
+ We use \l{Using a Designer UI File in Your Application}
{uic's auto-connection} feature to automatically connect signals
from widgets on the form to slots in our code.
diff --git a/doc/src/examples/calendar.qdoc b/doc/src/examples/calendar.qdoc
index 32bc547..2221e1f 100644
--- a/doc/src/examples/calendar.qdoc
+++ b/doc/src/examples/calendar.qdoc
@@ -29,7 +29,7 @@
\example richtext/calendar
\title Calendar Example
- The Calendar example shows how to create rich text content and display it using
+ \brief The Calendar example shows how to create rich text content and display it using
a rich text editor.
\image calendar-example.png
diff --git a/doc/src/examples/calendarwidget.qdoc b/doc/src/examples/calendarwidget.qdoc
index f72082a..ed3cd32 100644
--- a/doc/src/examples/calendarwidget.qdoc
+++ b/doc/src/examples/calendarwidget.qdoc
@@ -29,7 +29,7 @@
\title Calendar Widget Example
\example widgets/calendarwidget
- The Calendar Widget example shows use of \c QCalendarWidget.
+ \brief The Calendar Widget example shows use of \c QCalendarWidget.
\image calendarwidgetexample.png
diff --git a/doc/src/examples/capabilitiesexample.qdoc b/doc/src/examples/capabilitiesexample.qdoc
index 636044b..c0c4f93 100644
--- a/doc/src/examples/capabilitiesexample.qdoc
+++ b/doc/src/examples/capabilitiesexample.qdoc
@@ -29,7 +29,7 @@
\example phonon/capabilities
\title Capabilities Example
- The Backend Capabilities example shows how to check which MIME
+ \brief The Backend Capabilities example shows how to check which MIME
types, audio devices, and audio effects are available.
\image capabilitiesexample.png
diff --git a/doc/src/examples/charactermap.qdoc b/doc/src/examples/charactermap.qdoc
index 285d6a4..fa82d7e 100644
--- a/doc/src/examples/charactermap.qdoc
+++ b/doc/src/examples/charactermap.qdoc
@@ -29,7 +29,7 @@
\example widgets/charactermap
\title Character Map Example
-The Character Map example shows how to create a custom widget that can
+\brief The Character Map example shows how to create a custom widget that can
both display its own content and respond to user input.
The example displays an array of characters which the user can click on
diff --git a/doc/src/examples/chart.qdoc b/doc/src/examples/chart.qdoc
index af82f1b..d18a8fa 100644
--- a/doc/src/examples/chart.qdoc
+++ b/doc/src/examples/chart.qdoc
@@ -29,7 +29,7 @@
\example itemviews/chart
\title Chart Example
- The Chart example shows how to create a custom view for the model/view framework.
+ \brief The Chart example shows how to create a custom view for the model/view framework.
\image chart-example.png
diff --git a/doc/src/examples/classwizard.qdoc b/doc/src/examples/classwizard.qdoc
index 53d0936..d29b956 100644
--- a/doc/src/examples/classwizard.qdoc
+++ b/doc/src/examples/classwizard.qdoc
@@ -29,7 +29,7 @@
\example dialogs/classwizard
\title Class Wizard Example
- The License Wizard example shows how to implement linear
+ \brief The License Wizard example shows how to implement linear
wizards using QWizard.
\image classwizard.png Screenshot of the Class Wizard example
diff --git a/doc/src/examples/codecs.qdoc b/doc/src/examples/codecs.qdoc
index 91fb6a2..02248e9 100644
--- a/doc/src/examples/codecs.qdoc
+++ b/doc/src/examples/codecs.qdoc
@@ -29,7 +29,7 @@
\example tools/codecs
\title Codecs Example
- The Codecs example demonstrates the principles behind importing and exporting text
+ \brief The Codecs example demonstrates the principles behind importing and exporting text
using codecs to ensure that characters are encoded properly, avoiding loss of data
and retaining the correct symbols used in various scripts.
diff --git a/doc/src/examples/codeeditor.qdoc b/doc/src/examples/codeeditor.qdoc
index 2b0b6fa..9935e88 100644
--- a/doc/src/examples/codeeditor.qdoc
+++ b/doc/src/examples/codeeditor.qdoc
@@ -29,7 +29,7 @@
\example widgets/codeeditor
\title Code Editor Example
- The Code Editor example shows how to create a simple editor that
+ \brief The Code Editor example shows how to create a simple editor that
has line numbers and that highlights the current line.
\image codeeditor-example.png
@@ -190,6 +190,34 @@
used to implement parenthesis matching. In the \c
highlightCurrentLine(), the data of the currentBlock() can be
fetched with QTextBlock::userData(). Matching parentheses can be
- highlighted with an extra selection.
-
+ highlighted with an extra selection. The "Matching Parentheses
+ with QSyntaxHighlighter" article in Qt Quarterly 31 implements
+ this. You find it here: \l{http://doc.qt.nokia.com/qq/}.
+
+ The line number area is now painted every time the cursor blinks
+ (because we connect \l{QPlainTextEdit::}{updateRequest()} to
+ \c updateLineNumberArea()). We can avoid this by introducing a new
+ member variable to CodeEditor that keeps track of when the update
+ request comes from a cursor blink (in which case we do not
+ repaint). The code below requires the \c m_countCache variable,
+ which is a QPair<int, int> initialized with \c -1 for both
+ \l{QPair::}{first} and \l{QPair::}{second}.
+
+ \code
+ void CodeEditor::updateLineNumberArea(const QRect &rect, int dy)
+ {
+ if (dy) {
+ lineNumberArea->scroll(0, dy);
+ } else if (m_countCache.first != blockCount()
+ || m_countCache.second != textCursor().block().lineCount()) {
+ lineNumberArea->update(0, rect.y(), lineNumberArea->width(), rect.height());
+ m_countCache.first = blockCount();
+ m_countCache.second = textCursor().block().lineCount();
+ }
+
+ if (rect.contains(viewport()->rect()))
+ updateLineNumberAreaWidth(0);
+ }
+ \endcode
*/
+
diff --git a/doc/src/examples/collidingmice-example.qdoc b/doc/src/examples/collidingmice-example.qdoc
index 4bdd79d..e7c475a 100644
--- a/doc/src/examples/collidingmice-example.qdoc
+++ b/doc/src/examples/collidingmice-example.qdoc
@@ -29,7 +29,7 @@
\example graphicsview/collidingmice
\title Colliding Mice Example
- The Colliding Mice example shows how to use the Graphics View
+ \brief The Colliding Mice example shows how to use the Graphics View
framework to implement animated items and detect collision between
items.
@@ -265,4 +265,4 @@
Doing the animation with a single timer connect to advance the scene ensures that all the
mice are moved at one point and, more importantly, only one update is sent to the screen
after all the mice have moved.
-*/ \ No newline at end of file
+*/
diff --git a/doc/src/examples/coloreditorfactory.qdoc b/doc/src/examples/coloreditorfactory.qdoc
index 34060bd..e7c6e7d 100644
--- a/doc/src/examples/coloreditorfactory.qdoc
+++ b/doc/src/examples/coloreditorfactory.qdoc
@@ -29,8 +29,8 @@
\example itemviews/coloreditorfactory
\title Color Editor Factory Example
- This example shows how to create an editor that can be used by
- a QItemDelegate.
+ \brief The Color Editor Factory example shows how to create an editor that
+ can be used by a QItemDelegate.
\image coloreditorfactoryimage.png
diff --git a/doc/src/examples/combowidgetmapper.qdoc b/doc/src/examples/combowidgetmapper.qdoc
index efd06f6..61d69c1 100644
--- a/doc/src/examples/combowidgetmapper.qdoc
+++ b/doc/src/examples/combowidgetmapper.qdoc
@@ -29,7 +29,7 @@
\example itemviews/combowidgetmapper
\title Combo Widget Mapper Example
- The Delegate Widget Mapper example shows how to use a custom delegate to
+ \brief The Combo Widget Mapper example shows how to use a custom delegate to
map information from a model to specific widgets on a form.
\image combowidgetmapper-example.png
diff --git a/doc/src/examples/completer.qdoc b/doc/src/examples/completer.qdoc
index 408de6b..298bbc4 100644
--- a/doc/src/examples/completer.qdoc
+++ b/doc/src/examples/completer.qdoc
@@ -29,7 +29,7 @@
\example tools/completer
\title Completer Example
- The Completer example shows how to provide string-completion facilities
+ \brief The Completer example shows how to provide string-completion facilities
for an input widget based on data provided by a model.
\image completer-example.png
diff --git a/doc/src/examples/complexpingpong.qdoc b/doc/src/examples/complexpingpong.qdoc
index 677353b..2013744 100644
--- a/doc/src/examples/complexpingpong.qdoc
+++ b/doc/src/examples/complexpingpong.qdoc
@@ -29,7 +29,7 @@
\example dbus/complexpingpong
\title Complex Ping Pong Example
- The Complex Ping Pong example improves on the \l{D-Bus Ping Pong Example} by providing
+ \brief The Complex Ping Pong example improves on the \l{D-Bus Ping Pong Example} by providing
a more useful demonstration of D-Bus interfaces.
\quotefile doc/src/snippets/complexpingpong-example.txt
diff --git a/doc/src/examples/concentriccircles.qdoc b/doc/src/examples/concentriccircles.qdoc
index 37c8f83..bfa24d9 100644
--- a/doc/src/examples/concentriccircles.qdoc
+++ b/doc/src/examples/concentriccircles.qdoc
@@ -29,7 +29,7 @@
\example painting/concentriccircles
\title Concentric Circles Example
- The Concentric Circles example shows the improved rendering
+ \brief The Concentric Circles example shows the improved rendering
quality that can be obtained using floating point precision and
anti-aliasing when drawing custom widgets. The example also shows
how to do simple animations.
diff --git a/doc/src/examples/configdialog.qdoc b/doc/src/examples/configdialog.qdoc
index 166b25a..d83dbdb 100644
--- a/doc/src/examples/configdialog.qdoc
+++ b/doc/src/examples/configdialog.qdoc
@@ -29,7 +29,7 @@
\example dialogs/configdialog
\title Config Dialog Example
- The Config Dialog examples shows how a configuration dialog can be created by
+ \brief The Config Dialog examples shows how a configuration dialog can be created by
using an icon view with a stacked widget.
\image configdialog-example.png
diff --git a/doc/src/examples/containerextension.qdoc b/doc/src/examples/containerextension.qdoc
index ca7ef13..606da2d 100644
--- a/doc/src/examples/containerextension.qdoc
+++ b/doc/src/examples/containerextension.qdoc
@@ -29,7 +29,7 @@
\example designer/containerextension
\title Container Extension Example
- The Container Extension example shows how to create a custom
+ \brief The Container Extension example shows how to create a custom
multi-page plugin for Qt Designer using the
QDesignerContainerExtension class.
diff --git a/doc/src/examples/context2d.qdoc b/doc/src/examples/context2d.qdoc
index 729e56b..9d9d0c6 100644
--- a/doc/src/examples/context2d.qdoc
+++ b/doc/src/examples/context2d.qdoc
@@ -29,7 +29,7 @@
\example script/context2d
\title Context2D Example
- This Qt Script example is an implementation of the Context2D API.
+ \brief This Qt Script example is an implementation of the Context2D API.
\image context2d-example.png
diff --git a/doc/src/examples/contextsensitivehelp.qdoc b/doc/src/examples/contextsensitivehelp.qdoc
index 42e4a11..32b59bc 100644
--- a/doc/src/examples/contextsensitivehelp.qdoc
+++ b/doc/src/examples/contextsensitivehelp.qdoc
@@ -29,5 +29,5 @@
\example help/contextsensitivehelp
\title Context-Sensitive Help Example
- This example shows how to use the services of the QHelpEngineCore class.
+ \brief The Context Sensitive Help example shows how to use the services of the QHelpEngineCore class.
*/
diff --git a/doc/src/examples/contiguouscache.qdoc b/doc/src/examples/contiguouscache.qdoc
index d0b39e6..52e8b15 100644
--- a/doc/src/examples/contiguouscache.qdoc
+++ b/doc/src/examples/contiguouscache.qdoc
@@ -29,8 +29,10 @@
\example tools/contiguouscache
\title Contiguous Cache Example
- The Contiguous Cache example shows how to use QContiguousCache to manage memory usage for
- very large models. In some environments memory is limited and, even when it
+ \brief The Contiguous Cache example shows how to use QContiguousCache to manage memory usage for
+ very large models.
+
+ In some environments memory is limited and, even when it
isn't, users still dislike an application using excessive memory.
Using QContiguousCache to manage a list, rather than loading
the entire list into memory, allows the application to limit the amount
diff --git a/doc/src/examples/cube.qdoc b/doc/src/examples/cube.qdoc
new file mode 100644
index 0000000..e28d4b2
--- /dev/null
+++ b/doc/src/examples/cube.qdoc
@@ -0,0 +1,180 @@
+/****************************************************************************
+**
+** 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 documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file. Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \example opengl/cube
+ \group all-examples
+ \title Cube OpenGL ES 2.0 example
+
+ \brief The Cube OpenGL ES 2.0 example shows how to write mouse rotateable
+ textured 3D cube using OpenGL ES 2.0 with Qt.
+
+ It shows how to handle
+ polygon geometries efficiently and how to write simple vertex and
+ fragment shader for programmable graphics pipeline. In addition it
+ shows how to use quaternions for representing 3D object orientation.
+
+ This example has been written for OpenGL ES 2.0 but it works also on
+ desktop OpenGL because this example is simple enough and for the
+ most parts desktop OpenGL API is same. It compiles also without OpenGL
+ support but then it just shows a label stating that OpenGL support is
+ required.
+
+ \image cube.png Screenshot of the Cube example running on N900
+
+ The example consist of two classes:
+
+ \list
+ \o \c MainWidget extends QGLWidget and contains OpenGL ES 2.0
+ initialization and drawing and mouse and timer event handling
+ \o \c GeometryEngine handles polygon geometries. Transfers polygon geometry
+ to vertex buffer objects and draws geometries from vertex buffer objects.
+ \endlist
+
+ We'll start by initializing OpenGL ES 2.0 in \c MainWidget.
+
+ \tableofcontents
+
+ \section1 Initializing OpenGL ES 2.0
+
+ Since OpenGL ES 2.0 doesn't support fixed graphics pipeline anymore it has to
+ be implemented by ourselves. This makes graphics pipeline very flexible but
+ in the same time it becomes more difficult because user has to implement graphics
+ pipeline to get even the simplest example running. It also makes graphics pipeline
+ more efficient because user can decide what kind of pipeline is needed for the
+ application.
+
+ First we have to implement vertex shader. It gets vertex data and
+ model-view-projection matrix (MVP) as parameters. It transforms vertex position
+ using MVP matrix to screen space and passes texture coordinate to
+ fragment shader. Texture coordinate will be automatically interpolated on polygon
+ faces.
+
+ \snippet examples/opengl/cube/vshader.glsl 0
+
+ After that we need to implement second part of the graphics pipeline - fragment
+ shader. For this exercise we need to implement fragment shader that handles
+ texturing. It gets interpolated texture coordinate as a parameter and looks up
+ fragment color from the given texture.
+
+ \snippet examples/opengl/cube/fshader.glsl 0
+
+ Using \c QGLShaderProgram we can compile, link and bind shader code to
+ graphics pipeline. This code uses Qt Resource files to access shader source code.
+
+ \snippet examples/opengl/cube/mainwidget.cpp 3
+
+ The following code enables depth buffering and back face culling.
+
+ \snippet examples/opengl/cube/mainwidget.cpp 2
+
+ \section1 Loading textures from Qt Resource files
+
+ \c QGLWidget interface implements methods for loading textures from QImage to GL
+ texture memory. We still need to use OpenGL provided functions for specifying
+ the GL texture unit and configuring texture filtering options.
+
+ \snippet examples/opengl/cube/mainwidget.cpp 4
+
+ \section1 Cube Geometry
+
+ There are many ways to render polygons in OpenGL but the most efficient way is
+ to use only triangle strip primitives and render vertices from graphics hardware
+ memory. OpenGL has a mechanism to create buffer objects to this memory area and
+ transfer vertex data to these buffers. In OpenGL terminology these are referred
+ as Vertex Buffer Objects (VBO).
+
+ \image cube_faces.png Cube faces and vertices
+
+ This is how cube faces break down to triangles. Vertices are ordered this way
+ to get vertex ordering correct using triangle strips. OpenGL determines triangle
+ front and back face based on vertex ordering. By default OpenGL uses
+ counter-clockwise order for front faces. This information is used by back face
+ culling which improves rendering performance by not rendering back faces of the
+ triangles. This way graphics pipeline can omit rendering sides of the triangle that
+ aren't facing towards screen.
+
+ Creating vertex buffer objects and transferring data to them is quite simple using
+ OpenGL provided functions.
+
+ \snippet examples/opengl/cube/geometryengine.cpp 0
+
+ \snippet examples/opengl/cube/geometryengine.cpp 1
+
+ Drawing primitives from VBOs and telling programmable graphics pipeline how to
+ locate vertex data requires few steps. First we need to bind VBOs to be used.
+ After that we bind shader program attribute names and configure what
+ kind of data it has in the bound VBO. Finally we'll draw triangle
+ strip primitives using indices from the other VBO.
+
+ \snippet examples/opengl/cube/geometryengine.cpp 2
+
+ \section1 Perspective projection
+
+ Using \c QMatrix4x4 helper methods it's really easy to calculate perpective
+ projection matrix. This matrix is used to project vertices to screen space.
+
+ \snippet examples/opengl/cube/mainwidget.cpp 5
+
+ \section1 Orientation of the 3D object
+
+ Quaternions are handy way to represent orientation of the 3D object. Quaternions
+ involve quite complex mathematics but fortunately all the necessary mathematics
+ behind quaternions is implemented in \c QQuaternion. That allows us to store
+ cube orientation in quaternion and rotating cube around given axis is quite
+ simple.
+
+ The following code calculates rotation axis and angular speed based on mouse events.
+
+ \snippet examples/opengl/cube/mainwidget.cpp 0
+
+ \c QBasicTimer is used to animate scene and update cube orientation. Rotations
+ can be concatenated simply by multiplying quaternions.
+
+ \snippet examples/opengl/cube/mainwidget.cpp 1
+
+ Model-view matrix is calculated using the quaternion and by moving world by Z axis.
+ This matrix is multiplied with the projection matrix to get MVP matrix for shader
+ program.
+
+ \snippet examples/opengl/cube/mainwidget.cpp 6
+
+*/
diff --git a/doc/src/examples/customcompleter.qdoc b/doc/src/examples/customcompleter.qdoc
index f0d5698..27e2ea7 100644
--- a/doc/src/examples/customcompleter.qdoc
+++ b/doc/src/examples/customcompleter.qdoc
@@ -29,9 +29,9 @@
\example tools/customcompleter
\title Custom Completer Example
- The Custom Completer example shows how to provide string-completion
- facilities for an input widget based on data provided by a model. The
- completer pops up suggestions for possible words based on the first three
+ \brief The Custom Completer example shows how to provide string-completion
+ facilities for an input widget based on data provided by a model.
+ The completer pops up suggestions for possible words based on the first three
characters input by the user and the user's choice of word is inserted
into the \c TextEdit using QTextCursor.
diff --git a/doc/src/examples/customsortfiltermodel.qdoc b/doc/src/examples/customsortfiltermodel.qdoc
index e145e82..41f8b04 100644
--- a/doc/src/examples/customsortfiltermodel.qdoc
+++ b/doc/src/examples/customsortfiltermodel.qdoc
@@ -29,7 +29,7 @@
\example itemviews/customsortfiltermodel
\title Custom Sort/Filter Model Example
- The Custom Sort/Filter Model example illustrates how to subclass
+ \brief The Custom Sort/Filter Model example illustrates how to subclass
QSortFilterProxyModel to perform advanced sorting and filtering.
\image customsortfiltermodel-example.png Screenshot of the Custom Sort/Filter Model Example
diff --git a/doc/src/examples/customtype.qdoc b/doc/src/examples/customtype.qdoc
index d98225a..8ff97f3 100644
--- a/doc/src/examples/customtype.qdoc
+++ b/doc/src/examples/customtype.qdoc
@@ -29,7 +29,7 @@
\example tools/customtype
\title Custom Type Example
- The Custom Type example shows how to integrate a custom type into Qt's
+ \brief The Custom Type example shows how to integrate a custom type into Qt's
meta-object system.
Contents:
@@ -117,7 +117,7 @@
\snippet examples/tools/customtype/main.cpp storing a custom value
- Alternatively, the qVariantFromValue() and qVariantSetValue() functions
+ Alternatively, the QVariant::fromValue() and qVariantSetValue() functions
can be used if you are using a compiler without support for member template
functions.
diff --git a/doc/src/examples/customtypesending.qdoc b/doc/src/examples/customtypesending.qdoc
index fc6b793..4ffb40e 100644
--- a/doc/src/examples/customtypesending.qdoc
+++ b/doc/src/examples/customtypesending.qdoc
@@ -29,7 +29,7 @@
\example tools/customtypesending
\title Custom Type Sending Example
- The Custom Type Sending example shows how to use a custom type with signals
+ \brief The Custom Type Sending example shows how to use a custom type with signals
and slots.
\image customtypesending-example.png
diff --git a/doc/src/examples/customwidgetplugin.qdoc b/doc/src/examples/customwidgetplugin.qdoc
index dadfbaf..81277ce 100644
--- a/doc/src/examples/customwidgetplugin.qdoc
+++ b/doc/src/examples/customwidgetplugin.qdoc
@@ -29,7 +29,7 @@
\example designer/customwidgetplugin
\title Custom Widget Plugin Example
- The Custom Widget example shows how to create a custom widget plugin for \QD.
+ \brief The Custom Widget example shows how to create a custom widget plugin for \QD.
\image customwidgetplugin-example.png
diff --git a/doc/src/examples/dbscreen.qdoc b/doc/src/examples/dbscreen.qdoc
index 7f6bb18..c2b88cd 100644
--- a/doc/src/examples/dbscreen.qdoc
+++ b/doc/src/examples/dbscreen.qdoc
@@ -29,7 +29,7 @@
\example qws/dbscreen
\title Double Buffered Graphics Driver Example
- The Double Buffered Graphics Driver example shows how to write your own
+ \brief The Double Buffered Graphics Driver example shows how to write your own
double buffered graphics driver and add it to Qt for Embedded Linux.
Similar to the \l{Accelerated Graphics Driver Example}, there are three steps
diff --git a/doc/src/examples/dbus-chat.qdoc b/doc/src/examples/dbus-chat.qdoc
index a435cc9..c00166d 100644
--- a/doc/src/examples/dbus-chat.qdoc
+++ b/doc/src/examples/dbus-chat.qdoc
@@ -29,7 +29,7 @@
\example dbus/dbus-chat
\title D-Bus Chat Example
- The D-Bus Chat example shows how to use D-Bus to communicate between two
+ \brief The D-Bus Chat example shows how to use D-Bus to communicate between two
applications.
\image dbus-chat-example.png
diff --git a/doc/src/examples/dbus-listnames.qdoc b/doc/src/examples/dbus-listnames.qdoc
index 3d359f7..9807c30 100644
--- a/doc/src/examples/dbus-listnames.qdoc
+++ b/doc/src/examples/dbus-listnames.qdoc
@@ -29,5 +29,5 @@
\example dbus/listnames
\title D-Bus List Names Example
- The D-Bus List Names examples shows how to query D-Bus for a list of service names.
+ \brief The D-Bus List Names examples shows how to query D-Bus for a list of service names.
*/
diff --git a/doc/src/examples/dbus-pingpong.qdoc b/doc/src/examples/dbus-pingpong.qdoc
index dc0f50b..2463877 100644
--- a/doc/src/examples/dbus-pingpong.qdoc
+++ b/doc/src/examples/dbus-pingpong.qdoc
@@ -29,7 +29,7 @@
\example dbus/pingpong
\title D-Bus Ping Pong Example
- The D-Bus Ping Pong example provides a basic demonstration of D-Bus
+ \brief The D-Bus Ping Pong example provides a basic demonstration of D-Bus
interfaces.
\quotefile doc/src/snippets/dbus-pingpong-example.txt
diff --git a/doc/src/examples/dbus-remotecontrolledcar.qdoc b/doc/src/examples/dbus-remotecontrolledcar.qdoc
index 3f0af9a..7152e21 100644
--- a/doc/src/examples/dbus-remotecontrolledcar.qdoc
+++ b/doc/src/examples/dbus-remotecontrolledcar.qdoc
@@ -29,7 +29,7 @@
\example dbus/remotecontrolledcar
\title D-Bus Remote Controlled Car Example
- The Remote Controlled Car example shows how to use D-Bus to control one
+ \brief The Remote Controlled Car example shows how to use D-Bus to control one
application using another.
\image remotecontrolledcar-car-example.png
diff --git a/doc/src/examples/defaultprototypes.qdoc b/doc/src/examples/defaultprototypes.qdoc
index a6c79f0..493a3bb 100644
--- a/doc/src/examples/defaultprototypes.qdoc
+++ b/doc/src/examples/defaultprototypes.qdoc
@@ -29,7 +29,7 @@
\example script/defaultprototypes
\title Default Prototypes Example
- This Qt Script example shows how to use default prototypes
+ \brief The Default Prototypes QtScript example shows how to use default prototypes
to make a non-QObject-based type scriptable.
\image defaultprototypes-example.png
diff --git a/doc/src/examples/delayedencoding.qdoc b/doc/src/examples/delayedencoding.qdoc
index 8ac2c7f..d94b589 100644
--- a/doc/src/examples/delayedencoding.qdoc
+++ b/doc/src/examples/delayedencoding.qdoc
@@ -29,7 +29,7 @@
\example draganddrop/delayedencoding
\title Delayed Encoding Example
- The Delayed Encoding example shows how to delay preparing of data
+ \brief The Delayed Encoding example shows how to delay preparing of data
for drag and drop operations until a drop target is found.
\image delayedecoding-example.png
diff --git a/doc/src/examples/diagramscene.qdoc b/doc/src/examples/diagramscene.qdoc
index 7d3c0e6..c7b4bfe 100644
--- a/doc/src/examples/diagramscene.qdoc
+++ b/doc/src/examples/diagramscene.qdoc
@@ -29,12 +29,12 @@
\example graphicsview/diagramscene
\title Diagram Scene Example
- This example shows use of Qt's graphics framework.
+ \brief The Diagram Scene example is an application in which you can
+ create a flowchart diagram using the graphics view framework.
\image diagramscene.png
- The Diagram Scene example is an application in which you can
- create a flowchart diagram. It is possible to add flowchart shapes
+ In this example it is possible to add flowchart shapes
and text and connect the shapes by arrows as shown in the image
above. The shapes, arrows, and text can be given different
colors, and it is possible to change the font, style, and
diff --git a/doc/src/examples/digitalclock.qdoc b/doc/src/examples/digitalclock.qdoc
index acee4d6..90ee710 100644
--- a/doc/src/examples/digitalclock.qdoc
+++ b/doc/src/examples/digitalclock.qdoc
@@ -29,7 +29,7 @@
\example widgets/digitalclock
\title Digital Clock Example
- The Digital Clock example shows how to use QLCDNumber to display a
+ \brief The Digital Clock example shows how to use QLCDNumber to display a
number with LCD-like digits.
\image digitalclock-example.png Screenshot of the Digital Clock example
diff --git a/doc/src/examples/dirview.qdoc b/doc/src/examples/dirview.qdoc
index 6d2ce7a..6a45d9a 100644
--- a/doc/src/examples/dirview.qdoc
+++ b/doc/src/examples/dirview.qdoc
@@ -29,7 +29,7 @@
\example itemviews/dirview
\title Dir View Example
- The Dir View example shows a tree view onto the local filing system. It uses the
+ \brief The Dir View example shows a tree view onto the local filing system. It uses the
QDirModel class to provide supply file and directory information.
\image dirview-example.png
diff --git a/doc/src/examples/dockwidgets.qdoc b/doc/src/examples/dockwidgets.qdoc
index b46a286..c6cebcc 100644
--- a/doc/src/examples/dockwidgets.qdoc
+++ b/doc/src/examples/dockwidgets.qdoc
@@ -29,7 +29,7 @@
\example mainwindows/dockwidgets
\title Dock Widgets Example
- The Dock Widgets example shows how to add dock windows to an
+ \brief The Dock Widgets example shows how to add dock windows to an
application. It also shows how to use Qt's rich text engine.
\image dockwidgets-example.png Screenshot of the Dock Widgets example
diff --git a/doc/src/examples/dombookmarks.qdoc b/doc/src/examples/dombookmarks.qdoc
index 03e3ec6..e25766a 100644
--- a/doc/src/examples/dombookmarks.qdoc
+++ b/doc/src/examples/dombookmarks.qdoc
@@ -29,9 +29,10 @@
\example xml/dombookmarks
\title DOM Bookmarks Example
- The DOM Bookmarks example provides a reader for XML Bookmark Exchange Language (XBEL)
- files that uses Qt's DOM-based XML API to read and parse the files. The SAX Bookmarks
- example provides an alternative way to read this type of file.
+ \brief The DOM Bookmarks example provides a reader for XML Bookmark Exchange Language (XBEL)
+ files that uses Qt's DOM-based XML API to read and parse the files.
+
+ The SAX Bookmarks example provides an alternative way to read this type of file.
\image dombookmarks-example.png
diff --git a/doc/src/examples/domtraversal.qdoc b/doc/src/examples/domtraversal.qdoc
index d0456c4..657b0dd 100644
--- a/doc/src/examples/domtraversal.qdoc
+++ b/doc/src/examples/domtraversal.qdoc
@@ -29,7 +29,7 @@
\example webkit/domtraversal
\title DOM Traversal Example
- The DOM Traversal example shows how to use the QWebElement class to access
+ \brief The DOM Traversal example shows how to use the QWebElement class to access
the structure of a Web page.
\image webkit-domtraversal.png
diff --git a/doc/src/examples/draganddroppuzzle.qdoc b/doc/src/examples/draganddroppuzzle.qdoc
index e89c8fc..4bb1ccb 100644
--- a/doc/src/examples/draganddroppuzzle.qdoc
+++ b/doc/src/examples/draganddroppuzzle.qdoc
@@ -29,7 +29,7 @@
\example draganddrop/puzzle
\title Drag and Drop Puzzle Example
- The Drag and Drop Puzzle example demonstrates a way of using the drag and drop system with
+ \brief The Drag and Drop Puzzle example demonstrates a way of using the drag and drop system with
item view widgets.
\image draganddroppuzzle-example.png
diff --git a/doc/src/examples/dragdroprobot.qdoc b/doc/src/examples/dragdroprobot.qdoc
index 1e3b434..aba30ad 100644
--- a/doc/src/examples/dragdroprobot.qdoc
+++ b/doc/src/examples/dragdroprobot.qdoc
@@ -29,7 +29,7 @@
\example graphicsview/dragdroprobot
\title Drag and Drop Robot Example
- This GraphicsView example shows how to implement Drag and Drop in a
+ \brief The Drag and Drop Robot example shows how to implement Drag and Drop in a
QGraphicsItem subclass, as well as how to animate items using Qt's
\l{Animation Framework}.
diff --git a/doc/src/examples/draggableicons.qdoc b/doc/src/examples/draggableicons.qdoc
index 0337431..1484a60 100644
--- a/doc/src/examples/draggableicons.qdoc
+++ b/doc/src/examples/draggableicons.qdoc
@@ -29,7 +29,7 @@
\example draganddrop/draggableicons
\title Draggable Icons Example
- The Draggable Icons example shows how to drag and drop image data between widgets
+ \brief The Draggable Icons example shows how to drag and drop image data between widgets
in the same application, and between different applications.
\image draggableicons-example.png
diff --git a/doc/src/examples/draggabletext.qdoc b/doc/src/examples/draggabletext.qdoc
index 14d07b6..ae9cfb9 100644
--- a/doc/src/examples/draggabletext.qdoc
+++ b/doc/src/examples/draggabletext.qdoc
@@ -29,7 +29,7 @@
\example draganddrop/draggabletext
\title Draggable Text Example
- The Draggable Text example shows how to drag and drop textual data between widgets
+ \brief The Draggable Text example shows how to drag and drop textual data between widgets
in the same application, and between different applications.
\image draggabletext-example.png
diff --git a/doc/src/examples/drilldown.qdoc b/doc/src/examples/drilldown.qdoc
index 1903df6..d11a71f 100644
--- a/doc/src/examples/drilldown.qdoc
+++ b/doc/src/examples/drilldown.qdoc
@@ -29,7 +29,7 @@
\example sql/drilldown
\title Drill Down Example
- The Drill Down example shows how to read data from a database as
+ \brief The Drill Down example shows how to read data from a database as
well as submit changes, using the QSqlRelationalTableModel and
QDataWidgetMapper classes.
diff --git a/doc/src/examples/dropsite.qdoc b/doc/src/examples/dropsite.qdoc
index bf17427..815618a 100644
--- a/doc/src/examples/dropsite.qdoc
+++ b/doc/src/examples/dropsite.qdoc
@@ -29,7 +29,7 @@
\example draganddrop/dropsite
\title Drop Site Example
- The example shows how to distinguish the various MIME formats available
+ \brief The Drop Site example shows how to distinguish the various MIME formats available
in a drag and drop operation.
\image dropsite-example.png Screenshot of the Drop Site example
diff --git a/doc/src/examples/dynamiclayouts.qdoc b/doc/src/examples/dynamiclayouts.qdoc
index b8314e3..c93fc74 100644
--- a/doc/src/examples/dynamiclayouts.qdoc
+++ b/doc/src/examples/dynamiclayouts.qdoc
@@ -29,6 +29,6 @@
\example layouts/dynamiclayouts
\title Dynamic Layouts Example
- The Dynamic Layouts example shows how to move widgets around in
+ \brief The Dynamic Layouts example shows how to move widgets around in
existing layouts.
*/
diff --git a/doc/src/examples/easing.qdoc b/doc/src/examples/easing.qdoc
index 1a7657d..42f00f1 100644
--- a/doc/src/examples/easing.qdoc
+++ b/doc/src/examples/easing.qdoc
@@ -29,7 +29,7 @@
\example animation/easing
\title Easing Curves Example
- The Easing Curves example shows how to use easing curves to
+ \brief The Easing Curves example shows how to use easing curves to
control the speed of an animation.
\image easing-example.png
diff --git a/doc/src/examples/echoplugin.qdoc b/doc/src/examples/echoplugin.qdoc
index cadd485..c920c2b 100644
--- a/doc/src/examples/echoplugin.qdoc
+++ b/doc/src/examples/echoplugin.qdoc
@@ -29,7 +29,7 @@
\example tools/echoplugin
\title Echo Plugin Example
- This example shows how to create a Qt plugin.
+ \brief The Echo Plugin example shows how to create a Qt plugin.
\image echopluginexample.png
diff --git a/doc/src/examples/editabletreemodel.qdoc b/doc/src/examples/editabletreemodel.qdoc
index 8be3037..00f20f6 100644
--- a/doc/src/examples/editabletreemodel.qdoc
+++ b/doc/src/examples/editabletreemodel.qdoc
@@ -29,8 +29,8 @@
\example itemviews/editabletreemodel
\title Editable Tree Model Example
- This example shows how to implement a simple item-based tree model that can
- be used with other classes the model/view framework.
+ \brief The Editable Tree Model example shows how to implement a simple item-based tree model that can
+ be used with other classes in the model/view framework.
\image itemviews-editabletreemodel.png
diff --git a/doc/src/examples/elasticnodes.qdoc b/doc/src/examples/elasticnodes.qdoc
index 6a16cee..30ebc6f 100644
--- a/doc/src/examples/elasticnodes.qdoc
+++ b/doc/src/examples/elasticnodes.qdoc
@@ -29,8 +29,10 @@
\example graphicsview/elasticnodes
\title Elastic Nodes Example
- This GraphicsView example shows how to implement edges between nodes in a
- graph, with basic interaction. You can click to drag a node around, and
+ \brief The Elastic Nodes example shows how to implement edges between nodes in a
+ graph, with basic interaction.
+
+ You can click to drag a node around, and
zoom in and out using the mouse wheel or the keyboard. Hitting the space
bar will randomize the nodes. The example is also resolution independent;
as you zoom in, the graphics remain crisp.
diff --git a/doc/src/examples/elidedlabel.qdoc b/doc/src/examples/elidedlabel.qdoc
new file mode 100644
index 0000000..9a5b476
--- /dev/null
+++ b/doc/src/examples/elidedlabel.qdoc
@@ -0,0 +1,162 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** GNU Free Documentation License
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms
+** and conditions contained in a signed written agreement between you
+** and Nokia.
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \example widgets/elidedlabel
+ \group all-examples
+ \title Elided Label Example
+
+ \brief The Elided Label example creates a widget similar to QLabel, that elides the last
+ visible line, if the text is too long to fit the widget's geometry.
+
+ \image elidedlabel-example.png Elided Label example on XPressMusic 5800
+
+ When text of varying length has to be displayed in a uniformly sized
+ area, for instance within a list or grid view where all list items have the
+ same size, it can be useful to give the user a visual clue when not all
+ text is visible. QLabel can elide text that doesn't fit within it, but only
+ in one line. The \c ElidedLabel widget shown in this example word wraps its
+ text by its width, and elides the last visible line if some text is left
+ out. \c TestWidget gives control to the features of \c ElidedWidget and
+ forms the example application.
+
+
+ \section1 ElidedLabel Class Definition
+
+ Like QLabel, \c ElidedLabel inherits from QFrame. Here's the definition of
+ the \c ElidedLabel class:
+
+
+ \snippet examples/widgets/elidedlabel/elidedlabel.h 0
+
+ The \c isElided property depends the font, text content and geometry of the
+ widget. Whenever any of these change, the \c elisionChanged() signal might
+ trigger. We cache the current elision value in \c elided, so that it
+ doesn't have to be recomputed every time it's asked for.
+
+
+ \section1 ElidedLabel Class Implementation
+
+ Except for initializing the member variables, the constructor sets the size
+ policy to be horizontally expanding, since it's meant to fill the width of
+ its container and grow vertically.
+
+ \snippet examples/widgets/elidedlabel/elidedlabel.cpp 0
+
+ Changing the \c content require a repaint of the widget.
+
+ \snippet examples/widgets/elidedlabel/elidedlabel.cpp 1
+
+ QTextLayout is used in the \c paintEvent() to divide the \c content into
+ lines, that wrap on word boundaries. Each line, except the last visible
+ one, is drawn \c lineSpacing pixels below the previous one. The \c draw()
+ method of QTextLine will draw the line using the coordinate point as the
+ top left corner.
+
+ \snippet examples/widgets/elidedlabel/elidedlabel.cpp 2
+
+ Unfortunately, QTextLayout does not elide text, so the last visible line
+ has to be treated differently. This last line is elided if it is too wide.
+ The \c drawText() method of QPainter draws the text starting from the base
+ line, which is \c ascecnt() pixels below the last drawn line.
+
+ Finally, one more line is created to see if everything fit on this line.
+
+ \snippet examples/widgets/elidedlabel/elidedlabel.cpp 3
+
+ If the text was elided and wasn't before or vice versa, cache it in
+ \c elided and emit the change.
+
+ \snippet examples/widgets/elidedlabel/elidedlabel.cpp 4
+
+
+ \section1 TestWidget Class Definition
+
+ \c TestWidget is a QWidget and is the main window of the example. It
+ contains an \c ElidedLabel which can be resized with two QSlider widgets.
+
+ \snippet examples/widgets/elidedlabel/testwidget.h 0
+
+ \section1 TestWidget Class Implementation
+
+ The constructor initializes the whole widget. Strings of different length
+ are stored in \c textSamples. The user is able to switch between these.
+
+ \snippet examples/widgets/elidedlabel/testwidget.cpp 0
+
+ An \c ElidedLabel is created to contain the first of the sample strings.
+ The frame is made visible to make it easier to see the actual size of the
+ widget.
+
+ \snippet examples/widgets/elidedlabel/testwidget.cpp 1
+
+ The buttons and the elision label are created. By connecting the
+ \c elisionChanged() signal to the \c setVisible() slot of the \c label,
+ it will act as an indicator to when the text is elided or not. This signal
+ could, for instance, be used to make a "More" button visible, or similar.
+
+ \snippet examples/widgets/elidedlabel/testwidget.cpp 2
+
+ The \c widthSlider and \c heightSlider specify the size of the
+ \c elidedText. Since the y-axis is inverted, the \c heightSlider has to be
+ inverted to act appropriately.
+
+ \snippet examples/widgets/elidedlabel/testwidget.cpp 3
+
+ The components are all stored in a QGridLayout, which is made the layout of
+ the \c TestWidget.
+
+ \snippet examples/widgets/elidedlabel/testwidget.cpp 4
+
+ On the Maemo platform, windows are stuck in landscape mode by default. With
+ this attribute set, the window manager is aware that this window can be
+ rotated.
+
+ \snippet examples/widgets/elidedlabel/testwidget.cpp 5
+
+ The \c widthSlider and \c heightSlider have the exact same length as the
+ dimensions of the \c elidedText. The maximum value for both of them is
+ thus their lengths, and each tick indicates one pixel.
+
+ \snippet examples/widgets/elidedlabel/testwidget.cpp 6
+
+ The \c switchText() slot simply cycles through all the available sample
+ texts.
+
+ \snippet examples/widgets/elidedlabel/testwidget.cpp 7
+
+ These slots set the width and height of the \c elided text, in response to
+ changes in the sliders.
+
+ \section1 The \c main() Function
+
+ The \c main() function creates an instance of \c TestWidget fullscreen and
+ enters the message loop.
+
+ \snippet examples/widgets/elidedlabel/main.cpp 0
+*/
+
diff --git a/doc/src/examples/eventtransitions.qdoc b/doc/src/examples/eventtransitions.qdoc
index c66e9c1..bc0503c 100644
--- a/doc/src/examples/eventtransitions.qdoc
+++ b/doc/src/examples/eventtransitions.qdoc
@@ -29,7 +29,7 @@
\example statemachine/eventtransitions
\title Event Transitions Example
- The Event Transitions example shows how to use event transitions, a
+ \brief The Event Transitions example shows how to use event transitions, a
feature of \l{The State Machine Framework}.
\snippet examples/statemachine/eventtransitions/main.cpp 0
diff --git a/doc/src/examples/extension.qdoc b/doc/src/examples/extension.qdoc
index 41fddbb..69604ba 100644
--- a/doc/src/examples/extension.qdoc
+++ b/doc/src/examples/extension.qdoc
@@ -29,7 +29,7 @@
\example dialogs/extension
\title Extension Example
- The Extension example shows how to add an extension to a QDialog
+ \brief The Extension example shows how to add an extension to a QDialog
using the QAbstractButton::toggled() signal and the
QWidget::setVisible() slot.
diff --git a/doc/src/examples/factorial.qdoc b/doc/src/examples/factorial.qdoc
index a317189..483cd46 100644
--- a/doc/src/examples/factorial.qdoc
+++ b/doc/src/examples/factorial.qdoc
@@ -29,7 +29,7 @@
\example statemachine/factorial
\title Factorial States Example
- The Factorial States example shows how to use \l{The State Machine
+ \brief The Factorial States example shows how to use \l{The State Machine
Framework} to calculate the factorial of an integer.
The statechart for calculating the factorial looks as follows:
diff --git a/doc/src/examples/fademessage.qdoc b/doc/src/examples/fademessage.qdoc
index 7e07324..5abc19a 100644
--- a/doc/src/examples/fademessage.qdoc
+++ b/doc/src/examples/fademessage.qdoc
@@ -29,9 +29,8 @@
\example effects/fademessage
\title Fade Message Effect Example
- \div { style="text-align: center"}
- \inlineimage fademessageeffect-example.png
- \inlineimage fademessageeffect-example-faded.png
- \enddiv
-
+ \brief The Fade Message Example shows the QGraphicsColorizeEffect in action.
+
+ \image fademessageeffect-example.png
+ \image fademessageeffect-example-faded.png
*/
diff --git a/doc/src/examples/fancybrowser.qdoc b/doc/src/examples/fancybrowser.qdoc
index 327dfbd..8cae77e 100644
--- a/doc/src/examples/fancybrowser.qdoc
+++ b/doc/src/examples/fancybrowser.qdoc
@@ -29,7 +29,7 @@
\example webkit/fancybrowser
\title Fancy Browser Example
- The Fancy Browser example shows how to use jQuery with QtWebKit to
+ \brief The Fancy Browser example shows how to use jQuery with QtWebKit to
create a web browser with special effects and content
manipulation.
diff --git a/doc/src/examples/fetchmore.qdoc b/doc/src/examples/fetchmore.qdoc
index 9e64b0a..8774543 100644
--- a/doc/src/examples/fetchmore.qdoc
+++ b/doc/src/examples/fetchmore.qdoc
@@ -29,7 +29,7 @@
\example itemviews/fetchmore
\title Fetch More Example
- The Fetch More example shows how two add items to an item view
+ \brief The Fetch More example shows how two add items to an item view
model on demand.
\image fetchmore-example.png
diff --git a/doc/src/examples/filetree.qdoc b/doc/src/examples/filetree.qdoc
index ae691d8..5b1019a 100644
--- a/doc/src/examples/filetree.qdoc
+++ b/doc/src/examples/filetree.qdoc
@@ -29,7 +29,7 @@
\example xmlpatterns/filetree
\title File System Example
- This example shows how to use QtXmlPatterns for querying non-XML
+ \brief The File Tree example shows how to use QtXmlPatterns for querying non-XML
data that is modeled to look like XML.
\tableofcontents
diff --git a/doc/src/examples/findfiles.qdoc b/doc/src/examples/findfiles.qdoc
index 026d61f..df591b6 100644
--- a/doc/src/examples/findfiles.qdoc
+++ b/doc/src/examples/findfiles.qdoc
@@ -29,8 +29,10 @@
\example dialogs/findfiles
\title Find Files Example
- The Find Files example shows how to use QProgressDialog to provide
- feedback on the progress of a slow operation. The example also
+ \brief The Find Files example shows how to use QProgressDialog to provide
+ feedback on the progress of a slow operation.
+
+ The example also
shows how to use QFileDialog to facilitate browsing, how to use
QTextStream's streaming operators to read a file, and how to use
QTableWidget to provide standard table display facilities for
diff --git a/doc/src/examples/fingerpaint.qdoc b/doc/src/examples/fingerpaint.qdoc
index 5aef64c..659784c 100644
--- a/doc/src/examples/fingerpaint.qdoc
+++ b/doc/src/examples/fingerpaint.qdoc
@@ -29,8 +29,12 @@
\example touch/fingerpaint
\title Finger Paint Example
- The Finger Paint example shows the use of touch with a custom widget
+ \brief The Finger Paint example shows the use of a touchscreen with a custom widget
to create a simple painting application.
\image touch-fingerpaint-example.png
+
+ This example was specifically designed to work with a touchscreen, using
+ QTouchEvent instead of QMouseEvent to handle user input over the custom
+ widget. As a result, it is not possible to draw with the mouse cursor.
*/
diff --git a/doc/src/examples/flowlayout.qdoc b/doc/src/examples/flowlayout.qdoc
index 194a733..7b35b67 100644
--- a/doc/src/examples/flowlayout.qdoc
+++ b/doc/src/examples/flowlayout.qdoc
@@ -29,7 +29,7 @@
\example layouts/flowlayout
\title Flow Layout Example
- The Flow Layout example demonstrates a custom layout that arranges child
+ \brief The Flow Layout example demonstrates a custom layout that arranges child
widgets from left to right and top to bottom in a top-level widget.
\image flowlayout-example.png Screenshot of the Flow Layout example
diff --git a/doc/src/examples/fontsampler.qdoc b/doc/src/examples/fontsampler.qdoc
index b3caa9f..6ebeab9 100644
--- a/doc/src/examples/fontsampler.qdoc
+++ b/doc/src/examples/fontsampler.qdoc
@@ -29,7 +29,7 @@
\example painting/fontsampler
\title Font Sampler Example
- The Font Sampler example shows how to preview and print multi-page documents.
+ \brief The Font Sampler example shows how to preview and print multi-page documents.
\image fontsampler-example.png
*/
diff --git a/doc/src/examples/formextractor.qdoc b/doc/src/examples/formextractor.qdoc
index 79f6d19..de050c5 100644
--- a/doc/src/examples/formextractor.qdoc
+++ b/doc/src/examples/formextractor.qdoc
@@ -29,7 +29,7 @@
\example webkit/formextractor
\title Form Extractor Example
- The Form Extractor example shows how to use QWebFrame with JavaScript to
+ \brief The Form Extractor example shows how to use QWebFrame with JavaScript to
extract form data.
\image formextractor-example.png
diff --git a/doc/src/examples/fortuneclient.qdoc b/doc/src/examples/fortuneclient.qdoc
index 0c74143..7837ee2 100644
--- a/doc/src/examples/fortuneclient.qdoc
+++ b/doc/src/examples/fortuneclient.qdoc
@@ -29,8 +29,10 @@
\example network/fortuneclient
\title Fortune Client Example
- The Fortune Client example shows how to create a client for a simple
- network service using QTcpSocket. It is intended to be run alongside the
+ \brief The Fortune Client example shows how to create a client for a simple
+ network service using QTcpSocket.
+
+ The example is intended to be run alongside the
\l{network/fortuneserver}{Fortune Server} example or
the \l{network/threadedfortuneserver}{Threaded Fortune Server} example.
diff --git a/doc/src/examples/fortuneserver.qdoc b/doc/src/examples/fortuneserver.qdoc
index 2fb7f25..5042479 100644
--- a/doc/src/examples/fortuneserver.qdoc
+++ b/doc/src/examples/fortuneserver.qdoc
@@ -29,8 +29,10 @@
\example network/fortuneserver
\title Fortune Server Example
- The Fortune Server example shows how to create a server for a simple
- network service. It is intended to be run alongside the
+ \brief The Fortune Server example shows how to create a server for a simple
+ network service.
+
+ The example is intended to be run alongside the
\l{network/fortuneclient}{Fortune Client} example or the
\l{network/blockingfortuneclient}{Blocking Fortune Client} example.
diff --git a/doc/src/examples/framebufferobject.qdoc b/doc/src/examples/framebufferobject.qdoc
index 12b1d5f..539b751 100644
--- a/doc/src/examples/framebufferobject.qdoc
+++ b/doc/src/examples/framebufferobject.qdoc
@@ -29,7 +29,7 @@
\example opengl/framebufferobject
\title Framebuffer Object Example
- The Framebuffer Object example demonstrates how to use the
+ \brief The Framebuffer Object example demonstrates how to use the
QGLFramebufferObject class to render into an off-screen buffer and
use the contents as a texture in a QGLWidget.
diff --git a/doc/src/examples/framebufferobject2.qdoc b/doc/src/examples/framebufferobject2.qdoc
index cbe8f3f..b77b495 100644
--- a/doc/src/examples/framebufferobject2.qdoc
+++ b/doc/src/examples/framebufferobject2.qdoc
@@ -29,7 +29,7 @@
\example opengl/framebufferobject2
\title Framebuffer Object 2 Example
- The Framebuffer Object 2 example demonstrates how to use the
+ \brief The Framebuffer Object 2 example demonstrates how to use the
QGLFramebufferObject class to render into an off-screen buffer and
use the contents as a texture in a QGLWidget.
diff --git a/doc/src/examples/fridgemagnets.qdoc b/doc/src/examples/fridgemagnets.qdoc
index 8490801..689ed1f 100644
--- a/doc/src/examples/fridgemagnets.qdoc
+++ b/doc/src/examples/fridgemagnets.qdoc
@@ -29,7 +29,7 @@
\example draganddrop/fridgemagnets
\title Fridge Magnets Example
- The Fridge Magnets example shows how to supply more than one type
+ \brief The Fridge Magnets example shows how to supply more than one type
of MIME-encoded data with a drag and drop operation.
\image fridgemagnets-example.png
diff --git a/doc/src/examples/frozencolumn.qdoc b/doc/src/examples/frozencolumn.qdoc
index a21926b..9d0d938 100644
--- a/doc/src/examples/frozencolumn.qdoc
+++ b/doc/src/examples/frozencolumn.qdoc
@@ -29,7 +29,7 @@
\example itemviews/frozencolumn
\title Frozen Column Example
- This example demonstrates how to freeze a column within a QTableView.
+ \brief The Frozen Column example demonstrates how to freeze a column within a QTableView.
\image frozencolumn-example.png "Screenshot of the example"
diff --git a/doc/src/examples/ftp.qdoc b/doc/src/examples/ftp.qdoc
index f0d64ef..57796f8 100644
--- a/doc/src/examples/ftp.qdoc
+++ b/doc/src/examples/ftp.qdoc
@@ -29,7 +29,7 @@
\example network/qftp
\title FTP Example
- The FTP example demonstrates a simple FTP client that can be used
+ \brief The FTP example demonstrates a simple FTP client that can be used
to list the available files on an FTP server and download them.
\image ftp-example.png
diff --git a/doc/src/examples/globalVariables.qdoc b/doc/src/examples/globalVariables.qdoc
index 70147d2..b03440d 100644
--- a/doc/src/examples/globalVariables.qdoc
+++ b/doc/src/examples/globalVariables.qdoc
@@ -29,7 +29,7 @@
\example xmlpatterns/xquery/globalVariables
\title C++ Source Code Analyzer Example
- This example uses XQuery and the \c xmlpatterns command line utility to
+ \brief The Global Variables example uses XQuery and the \c xmlpatterns command line utility to
query C++ source code.
\tableofcontents
diff --git a/doc/src/examples/googlechat.qdoc b/doc/src/examples/googlechat.qdoc
index e9118f1..34dbbf6 100644
--- a/doc/src/examples/googlechat.qdoc
+++ b/doc/src/examples/googlechat.qdoc
@@ -29,7 +29,7 @@
\example webkit/googlechat
\title Google Chat Example
- The Google Chat example shows how to use implement a simple Google Chat
+ \brief The Google Chat example shows how to use implement a simple Google Chat
client with QtWebKit.
\image googlechat-example.png
diff --git a/doc/src/examples/googlesuggest.qdoc b/doc/src/examples/googlesuggest.qdoc
index 743a624..8e5c1ca 100644
--- a/doc/src/examples/googlesuggest.qdoc
+++ b/doc/src/examples/googlesuggest.qdoc
@@ -29,7 +29,7 @@
\example network/googlesuggest
\title Google Suggest Example
- The Google Suggest example demonstrates how to use the QNetworkAccessManager
+ \brief The Google Suggest example demonstrates how to use the QNetworkAccessManager
class to obtain a list of suggestions from the Google search engine as the
user types into a QLineEdit.
diff --git a/doc/src/examples/grabber.qdoc b/doc/src/examples/grabber.qdoc
index 4b65848..27a89b9 100644
--- a/doc/src/examples/grabber.qdoc
+++ b/doc/src/examples/grabber.qdoc
@@ -29,7 +29,7 @@
\example opengl/grabber
\title Grabber Example
- The Grabber examples shows how to retrieve the contents of an OpenGL framebuffer.
+ \brief The Grabber examples shows how to retrieve the contents of an OpenGL framebuffer.
\image grabber-example.png
*/
diff --git a/doc/src/examples/graphicsview-anchorlayout.qdoc b/doc/src/examples/graphicsview-anchorlayout.qdoc
index 156cdb4..68c144a 100644
--- a/doc/src/examples/graphicsview-anchorlayout.qdoc
+++ b/doc/src/examples/graphicsview-anchorlayout.qdoc
@@ -29,6 +29,6 @@
\example graphicsview/anchorlayout
\title Anchor Layout Example
- The Anchor Layout example demonstrates the use of the QGraphicsAnchorLayout
+ \brief The Anchor Layout example demonstrates the use of the QGraphicsAnchorLayout
class.
*/
diff --git a/doc/src/examples/graphicsview-flowlayout.qdoc b/doc/src/examples/graphicsview-flowlayout.qdoc
index b0c04b8..42ea65f 100644
--- a/doc/src/examples/graphicsview-flowlayout.qdoc
+++ b/doc/src/examples/graphicsview-flowlayout.qdoc
@@ -29,7 +29,7 @@
\example graphicsview/flowlayout
\title Graphics View Flow Layout Example
- The Graphics View Flow Layout example shows the use of a flow layout
+ \brief The Graphics View Flow Layout example shows the use of a flow layout
in a Graphics View widget.
See the \l{Flow Layout Example} for a corresponding widget-based example.
diff --git a/doc/src/examples/graphicsview-simpleanchorlayout.qdoc b/doc/src/examples/graphicsview-simpleanchorlayout.qdoc
index 6f6ba5b..603ea50 100644
--- a/doc/src/examples/graphicsview-simpleanchorlayout.qdoc
+++ b/doc/src/examples/graphicsview-simpleanchorlayout.qdoc
@@ -29,6 +29,6 @@
\example graphicsview/simpleanchorlayout
\title Simple Anchor Layout Example
- The Simple Anchor Layout example shows the basic use of the
+ \brief The Simple Anchor Layout example shows the basic use of the
QGraphicsAnchorLayout class.
*/
diff --git a/doc/src/examples/graphicsview-weatheranchorlayout.qdoc b/doc/src/examples/graphicsview-weatheranchorlayout.qdoc
index 20173af..da2ee76 100644
--- a/doc/src/examples/graphicsview-weatheranchorlayout.qdoc
+++ b/doc/src/examples/graphicsview-weatheranchorlayout.qdoc
@@ -29,6 +29,6 @@
\example graphicsview/weatheranchorlayout
\title Weather Anchor Layout Example
- The Weather Anchor Layout example shows more complex use of the
+ \brief The Weather Anchor Layout example shows more complex use of the
QGraphicsAnchorLayout class to create a real-world window layout.
*/
diff --git a/doc/src/examples/groupbox.qdoc b/doc/src/examples/groupbox.qdoc
index a042437..02e8a9c 100644
--- a/doc/src/examples/groupbox.qdoc
+++ b/doc/src/examples/groupbox.qdoc
@@ -29,7 +29,7 @@
\example widgets/groupbox
\title Group Box Example
- The Group Box example shows how to use the different kinds of group
+ \brief The Group Box example shows how to use the different kinds of group
boxes in Qt.
Group boxes are container widgets that organize buttons into groups,
diff --git a/doc/src/examples/hellogl.qdoc b/doc/src/examples/hellogl.qdoc
index dbd672e..641a777 100644
--- a/doc/src/examples/hellogl.qdoc
+++ b/doc/src/examples/hellogl.qdoc
@@ -29,7 +29,7 @@
\example opengl/hellogl
\title Hello GL Example
- The Hello GL example demonstrates the basic use of the OpenGL-related classes
+ \brief The Hello GL example demonstrates the basic use of the OpenGL-related classes
provided with Qt.
\image hellogl-example.png
diff --git a/doc/src/examples/hellogl_es.qdoc b/doc/src/examples/hellogl_es.qdoc
index fdc7ab5..d57bb1d 100644
--- a/doc/src/examples/hellogl_es.qdoc
+++ b/doc/src/examples/hellogl_es.qdoc
@@ -29,7 +29,7 @@
\example opengl/hellogl_es
\title Hello GL ES Example
- The Hello GL ES example is the \l{Hello GL Example} ported to OpenGL ES.
+ \brief The Hello GL ES example is the \l{Hello GL Example} ported to OpenGL ES.
It also included some effects from the OpenGL \l{Overpainting Example}.
\image hellogl-es-example.png
diff --git a/doc/src/examples/helloscript.qdoc b/doc/src/examples/helloscript.qdoc
index 1c6ea85..745a327 100644
--- a/doc/src/examples/helloscript.qdoc
+++ b/doc/src/examples/helloscript.qdoc
@@ -29,9 +29,11 @@
\example script/helloscript
\title Hello Script Example
- The Hello Script example shows the basic use of Qt Script: How to embed
+ \brief The Hello Script example shows the basic use of Qt Script: How to embed
a script engine into the application, how to evaluate a script, and how
- to process the result of the evaluation. The example also shows how to
+ to process the result of the evaluation.
+
+ The example also shows how to
apply internationalization to scripts.
\snippet examples/script/helloscript/main.cpp 0
diff --git a/doc/src/examples/hellotr.qdoc b/doc/src/examples/hellotr.qdoc
index 4b7c4b7..c85a2ad 100644
--- a/doc/src/examples/hellotr.qdoc
+++ b/doc/src/examples/hellotr.qdoc
@@ -29,8 +29,9 @@
\example linguist/hellotr
\title Hello tr() Example
- This example is a small Hello World program with a Latin translation. The
- screenshot below shows the English version.
+ \brief The Hello tr() example is a small Hello World program with a Latin translation.
+
+ The screenshot below shows the English version.
\image linguist-hellotr_en.png
diff --git a/doc/src/examples/htmlinfo.qdoc b/doc/src/examples/htmlinfo.qdoc
index 23365f1..e21e8b0 100644
--- a/doc/src/examples/htmlinfo.qdoc
+++ b/doc/src/examples/htmlinfo.qdoc
@@ -29,7 +29,7 @@
\example xml/htmlinfo
\title XML HTML Info Example
- The XML HTML Info example provides a simple command line utility that
+ \brief The XML HTML Info example provides a simple command line utility that
scans the current directory for HTML files and prints statistics about
them to standard out.
diff --git a/doc/src/examples/http.qdoc b/doc/src/examples/http.qdoc
index ab03683..4704be0 100644
--- a/doc/src/examples/http.qdoc
+++ b/doc/src/examples/http.qdoc
@@ -29,7 +29,7 @@
\example network/http
\title HTTP Example
- The HTTP example demonstrates a simple HTTP client that shows how to fetch files
+ \brief The HTTP example demonstrates a simple HTTP client that shows how to fetch files
specified by URLs from remote hosts.
\image http-example.png
diff --git a/doc/src/examples/i18n.qdoc b/doc/src/examples/i18n.qdoc
index 2ce47e1..392d2e2 100644
--- a/doc/src/examples/i18n.qdoc
+++ b/doc/src/examples/i18n.qdoc
@@ -29,8 +29,10 @@
\example tools/i18n
\title I18N Example
- The Internationalization (I18N) example demonstrates Qt's support for translated
- text. Developers can write the initial application text in one language, and
+ \brief The Internationalization (I18N) example demonstrates Qt's support for translated
+ text.
+
+ Developers can write the initial application text in one language, and
translations can be provided later without any modifications to the code.
\image i18n-example.png
diff --git a/doc/src/examples/icons.qdoc b/doc/src/examples/icons.qdoc
index 82ff994..3fa9952 100644
--- a/doc/src/examples/icons.qdoc
+++ b/doc/src/examples/icons.qdoc
@@ -29,8 +29,10 @@
\example widgets/icons
\title Icons Example
- The Icons example shows how QIcon can generate pixmaps reflecting
- an icon's state, mode and size. These pixmaps are generated from
+ \brief The Icons example shows how QIcon can generate pixmaps reflecting
+ an icon's state, mode and size.
+
+ These pixmaps are generated from
the set of pixmaps made available to the icon, and are used by Qt
widgets to show an icon representing a particular action.
diff --git a/doc/src/examples/imagecomposition.qdoc b/doc/src/examples/imagecomposition.qdoc
index cd08de4..8b95ded 100644
--- a/doc/src/examples/imagecomposition.qdoc
+++ b/doc/src/examples/imagecomposition.qdoc
@@ -29,7 +29,7 @@
\example painting/imagecomposition
\title Image Composition Example
- The Image Composition example lets the user combine images
+ \brief The Image Composition example lets the user combine images
together using any composition mode supported by QPainter, described
in detail in \l{QPainter#Composition Modes}{Composition Modes}.
diff --git a/doc/src/examples/imagegestures.qdoc b/doc/src/examples/imagegestures.qdoc
index 24a1276..2a8a282 100644
--- a/doc/src/examples/imagegestures.qdoc
+++ b/doc/src/examples/imagegestures.qdoc
@@ -29,7 +29,7 @@
\example gestures/imagegestures
\title Image Gestures Example
- This example shows how to enable gestures for a widget and use gesture input
+ \brief The Image Gestures example shows how to enable gestures for a widget and use gesture input
to perform actions.
We use two classes to create the user interface for the application: \c MainWidget
diff --git a/doc/src/examples/imageviewer.qdoc b/doc/src/examples/imageviewer.qdoc
index 49b3111..e915ef8 100644
--- a/doc/src/examples/imageviewer.qdoc
+++ b/doc/src/examples/imageviewer.qdoc
@@ -29,8 +29,10 @@
\example widgets/imageviewer
\title Image Viewer Example
- The example shows how to combine QLabel and QScrollArea to
- display an image. QLabel is typically used for displaying text,
+ \brief The Image Viewer example shows how to combine QLabel and QScrollArea to
+ display an image.
+
+ QLabel is typically used for displaying text,
but it can also display an image. QScrollArea provides a
scrolling view around another widget. If the child widget exceeds
the size of the frame, QScrollArea automatically provides scroll
diff --git a/doc/src/examples/inputpanel.qdoc b/doc/src/examples/inputpanel.qdoc
index 54920f0..f001aee 100644
--- a/doc/src/examples/inputpanel.qdoc
+++ b/doc/src/examples/inputpanel.qdoc
@@ -29,7 +29,7 @@
\example tools/inputpanel
\title Input Panel Example
- The Input Panel example shows how to create an input panel that
+ \brief The Input Panel example shows how to create an input panel that
can be used to input text into widgets using only the pointer and
no keyboard.
diff --git a/doc/src/examples/itemviewspuzzle.qdoc b/doc/src/examples/itemviewspuzzle.qdoc
index 72e543b..22826ec 100644
--- a/doc/src/examples/itemviewspuzzle.qdoc
+++ b/doc/src/examples/itemviewspuzzle.qdoc
@@ -29,7 +29,7 @@
\example itemviews/puzzle
\title Item Views Puzzle Example
- The Puzzle example shows how to enable drag and drop with a custom model
+ \brief The Puzzle example shows how to enable drag and drop with a custom model
to allow items to be transferred between a view and another widget.
\image itemviewspuzzle-example.png
diff --git a/doc/src/examples/licensewizard.qdoc b/doc/src/examples/licensewizard.qdoc
index a58e029..e46ea32 100644
--- a/doc/src/examples/licensewizard.qdoc
+++ b/doc/src/examples/licensewizard.qdoc
@@ -29,7 +29,7 @@
\example dialogs/licensewizard
\title License Wizard Example
- The License Wizard example shows how to implement complex wizards in
+ \brief The License Wizard example shows how to implement complex wizards in
Qt.
\image licensewizard-example.png Screenshot of the License Wizard example
diff --git a/doc/src/examples/lighting.qdoc b/doc/src/examples/lighting.qdoc
index 815a42a..05c1e79 100644
--- a/doc/src/examples/lighting.qdoc
+++ b/doc/src/examples/lighting.qdoc
@@ -29,5 +29,7 @@
\example effects/lighting
\title Lighting Effect Example
+ \brief The Lighting Effect Example shows the QGraphicsDropShadowEffect in action.
+
\image lightingeffect-example.png
*/
diff --git a/doc/src/examples/lineedits.qdoc b/doc/src/examples/lineedits.qdoc
index 03b4f27..c187dfd 100644
--- a/doc/src/examples/lineedits.qdoc
+++ b/doc/src/examples/lineedits.qdoc
@@ -29,7 +29,7 @@
\example widgets/lineedits
\title Line Edits Example
- The Line Edits example demonstrates the many ways that QLineEdit can be used, and
+ \brief The Line Edits example demonstrates the many ways that QLineEdit can be used, and
shows the effects of various properties and validators on the input and output
supplied by the user.
diff --git a/doc/src/examples/localfortuneclient.qdoc b/doc/src/examples/localfortuneclient.qdoc
index 56ead19..b7ea65a 100644
--- a/doc/src/examples/localfortuneclient.qdoc
+++ b/doc/src/examples/localfortuneclient.qdoc
@@ -29,8 +29,10 @@
\example ipc/localfortuneclient
\title Local Fortune Client Example
- The Local Fortune Client example shows how to create a client for a simple
- local service using QLocalSocket. It is intended to be run alongside the
+ \brief The Local Fortune Client example shows how to create a client for a simple
+ local service using QLocalSocket.
+
+ The example is intended to be run alongside the
\l{ipc/localfortuneserver}{Local Fortune Server} example.
\image localfortuneclient-example.png Screenshot of the Local Fortune Client example
diff --git a/doc/src/examples/localfortuneserver.qdoc b/doc/src/examples/localfortuneserver.qdoc
index 7a26ff8..21c5feb 100644
--- a/doc/src/examples/localfortuneserver.qdoc
+++ b/doc/src/examples/localfortuneserver.qdoc
@@ -29,8 +29,10 @@
\example ipc/localfortuneserver
\title Local Fortune Server Example
- The Local Fortune Server example shows how to create a server for a simple
- local service. It is intended to be run alongside the
+ \brief The Local Fortune Server example shows how to create a server for a simple
+ local service.
+
+ The example is intended to be run alongside the
\l{ipc/localfortuneclient}{Local Fortune Client} example
\image localfortuneserver-example.png Screenshot of the Local Fortune Server example
diff --git a/doc/src/examples/loopback.qdoc b/doc/src/examples/loopback.qdoc
index a5d810a..9e87ace 100644
--- a/doc/src/examples/loopback.qdoc
+++ b/doc/src/examples/loopback.qdoc
@@ -29,7 +29,7 @@
\example network/loopback
\title Loopback Example
- The Loopback example shows how to communicate between simple clients and servers on a local
+ \brief The Loopback example shows how to communicate between simple clients and servers on a local
host.
\image loopback-example.png
diff --git a/doc/src/examples/maemovibration.qdoc b/doc/src/examples/maemovibration.qdoc
new file mode 100644
index 0000000..58a8837
--- /dev/null
+++ b/doc/src/examples/maemovibration.qdoc
@@ -0,0 +1,164 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** GNU Free Documentation License
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms
+** and conditions contained in a signed written agreement between you
+** and Nokia.
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \example widgets/maemovibration
+ \group all-examples
+ \title Maemo Vibration Example
+
+ \brief The Maemo Vibration example shows how to tell the Maemo Mode Control Entity
+ (MCE) to vibrate a maemo device.
+
+ The MCE is a system service on Maemo that, among other things, provides an
+ D-Bus interface to trigger vibrations. The vibrations are specified as
+ patterns and are defined in a system configuration file.
+
+ The example program reads the configuration file to look for possible
+ vibration patterns and display a button for each. Pressing a button will
+ make the device vibrate accordingly, until the application closes, or
+ another pattern is started.
+
+ \image maemovibration-example.png Screenshot of the Maemo Vibration Example
+
+ The code makes use of two classes:
+
+ \list
+ \o \c MceVibrator connects to the MCE service and can start a certain
+ vibrator pattern. It also is responsible to parse the configuration
+ file.
+
+ \o \c ButtonWidget provides a button for each pattern. Pressing the button
+ activates the pattern in question.
+ \endlist
+
+
+ \section1 MceVibrator Class Definition
+
+ \snippet examples/widgets/maemovibration/mcevibrator.h 0
+
+ The \c MceVibrator class inherits from QObject and provides a specialized
+ and Qt friendly interface to the MCE vibration facilty. The slot \c vibrate()
+ can be called to make the device vibrate according to a specific pattern
+ name. We will connect it to a signal of a \c ButtonWidget object later. The
+ static method \c ParsePatternNames() can be called to find out which patterns
+ are available to us.
+
+ \list
+ \o \c mceInterface is our D-Bus handle to the MCE service. We use it to
+ invoke methods on the MCE request object.
+
+ \o \c lastPatternName contains the pattern that was activated last time. We
+ have to keep track of this, because the last pattern has to be
+ deactivated before activating a new pattern.
+ \endlist
+
+
+ \section1 MceVibrator Class Implementation
+
+ To connect to the service, we initialize the D-Bus interface handle. The
+ system header \c "mce/dbus-names.h" contains definitions of the D-Bus
+ service name and request object path and interface. These are passed to the
+ constructor of the handle, and Qt will automatically establish a connection
+ to it, if it is possible.
+
+ The MCE expects us to first enable the vibrator before we can use it. This
+ is done with the call to the \c MCE_ENABLE_VIBRATOR D-Bus method.
+
+ \snippet examples/widgets/maemovibration/mcevibrator.cpp 0
+
+ From now on we can activate vibration patterns. Each time a vibration
+ pattern is activated, the last pattern has to be deactivated first. In the
+ vibrate slot we use the MCE interface to call the activation method.
+
+ \snippet examples/widgets/maemovibration/mcevibrator.cpp 1
+
+ The calls to the private method deactivate simply makes sure to deactivate
+ the last pattern used, if there was one.
+
+ \snippet examples/widgets/maemovibration/mcevibrator.cpp 2
+
+ Calling either the activate or deactivate MCE D-Bus method with invalid
+ pattern names are ignored.
+
+ Finally, the destructor disables the vibrator. When the destructor of the
+ MCE interface handle is called, the connection is also closed.
+
+ \snippet examples/widgets/maemovibration/mcevibrator.cpp 3
+
+ The MCE configuration file contains options for many different things. We
+ are only interested in one line that contains the vibration patterns. It
+ has the following format:
+
+
+ \code
+ VibratorPatterns=semicolon;separated;list;of;values
+ \endcode
+
+ The static method \c ParsePatternNames looks for this line and returns a
+ QStringList containing the values, which are the pattern names we can use.
+
+ \snippet examples/widgets/maemovibration/mcevibrator.cpp 4
+
+ The helper function \c checkError() saves us some code duplication. None of the
+ called methods return anything of use to us, so we're only interested in
+ getting error messages for debugging.
+
+ \snippet examples/widgets/maemovibration/mcevibrator.cpp 5
+
+
+ \section1 ButtonWidget Class Definition
+
+ \snippet examples/widgets/maemovibration/buttonwidget.h 0
+
+ The \c ButtonWidget class inherits from QWidget and provides the main user
+ interface for the application. It creates a grid of buttons, one for each
+ string in the stringlist passed to the constructor. Pressing a button emits
+ the \c clicked() signal, where the string is the text of the button that
+ was pressed.
+
+ This class is taken from the QSignalMapper documentation. The only change
+ is the number of columns in the grid from three to two, to make the button
+ labels fit.
+
+
+ \section1 ButtonWidget Class Implementation
+
+ \snippet examples/widgets/maemovibration/buttonwidget.cpp 0
+
+
+ \section1 \c main() Function
+
+ The main function begins with looking up the patterns available to us.
+
+ \snippet examples/widgets/maemovibration/main.cpp 0
+
+ Then we create one instance of both classes, and connects the
+ \c ButtonWidget's clicked signal to the \c MceVibrator's \c vibrate() slot.
+ This works, since the button texts are the same as the pattern names.
+
+ \snippet examples/widgets/maemovibration/main.cpp 1
+*/
diff --git a/doc/src/examples/mandelbrot.qdoc b/doc/src/examples/mandelbrot.qdoc
index eb53e95..3e516e9 100644
--- a/doc/src/examples/mandelbrot.qdoc
+++ b/doc/src/examples/mandelbrot.qdoc
@@ -29,7 +29,7 @@
\example threads/mandelbrot
\title Mandelbrot Example
- The Mandelbrot example shows how to use a worker thread to
+ \brief The Mandelbrot example shows how to use a worker thread to
perform heavy computations without blocking the main thread's
event loop.
diff --git a/doc/src/examples/masterdetail.qdoc b/doc/src/examples/masterdetail.qdoc
index 16ddb3e..06bf228 100644
--- a/doc/src/examples/masterdetail.qdoc
+++ b/doc/src/examples/masterdetail.qdoc
@@ -29,8 +29,10 @@
\example sql/masterdetail
\title Master Detail Example
- The Master Detail Example shows how to present data from different
- data sources in the same application. The album titles, and the
+ \brief The Master Detail Example shows how to present data from different
+ data sources in the same application.
+
+ The album titles, and the
corresponding artists and release dates, are kept in a
database, while each album's tracks are stored in an XML
file.
diff --git a/doc/src/examples/mdi.qdoc b/doc/src/examples/mdi.qdoc
index 4f64fa1..317a251 100644
--- a/doc/src/examples/mdi.qdoc
+++ b/doc/src/examples/mdi.qdoc
@@ -29,7 +29,7 @@
\example mainwindows/mdi
\title MDI Example
- The MDI example shows how to implement a Multiple Document Interface using Qt's
+ \brief The MDI example shows how to implement a Multiple Document Interface using Qt's
QMdiArea class.
\image mdi-example.png
diff --git a/doc/src/examples/menus.qdoc b/doc/src/examples/menus.qdoc
index 0a31ca8..f42aa64 100644
--- a/doc/src/examples/menus.qdoc
+++ b/doc/src/examples/menus.qdoc
@@ -29,7 +29,7 @@
\example mainwindows/menus
\title Menus Example
- The Menus example demonstrates how menus can be used in a main
+ \brief The Menus example demonstrates how menus can be used in a main
window application.
A menu widget can be either a pull-down menu in a menu bar or a
diff --git a/doc/src/examples/mousecalibration.qdoc b/doc/src/examples/mousecalibration.qdoc
index 590153b..b2f7939 100644
--- a/doc/src/examples/mousecalibration.qdoc
+++ b/doc/src/examples/mousecalibration.qdoc
@@ -29,7 +29,7 @@
\example qws/mousecalibration
\title Mouse Calibration Example
- The Mouse Calibration example demonstrates how to write a simple
+ \brief The Mouse Calibration example demonstrates how to write a simple
program using the mechanisms provided by the QWSMouseHandler class
to calibrate the mouse handler in \l{Qt for Embedded Linux}.
diff --git a/doc/src/examples/moveblocks.qdoc b/doc/src/examples/moveblocks.qdoc
index e5ce3be..5acaa47 100644
--- a/doc/src/examples/moveblocks.qdoc
+++ b/doc/src/examples/moveblocks.qdoc
@@ -29,7 +29,7 @@
\example animation/moveblocks
\title Move Blocks Example
- The Move Blocks example shows how to animate items in a
+ \brief The Move Blocks example shows how to animate items in a
QGraphicsScene using a QStateMachine with a custom transition.
\image moveblocks-example.png
diff --git a/doc/src/examples/movie.qdoc b/doc/src/examples/movie.qdoc
index bd5726c..4f31674 100644
--- a/doc/src/examples/movie.qdoc
+++ b/doc/src/examples/movie.qdoc
@@ -29,8 +29,10 @@
\example widgets/movie
\title Movie Example
- The Movie example demonstrates how to use QMovie and QLabel to
- display animations. Now that Qt comes with the \l{Phonon multimedia
+ \brief The Movie example demonstrates how to use QMovie and QLabel to
+ display animations.
+
+ Now that Qt comes with the \l{Phonon multimedia
framework} {Phonon multimedia framework}, QMovie is mostly
useful if one wants to play a simple animation without the added
complexity of a multimedia framework to install and deploy.
diff --git a/doc/src/examples/multicastreceiver.qdoc b/doc/src/examples/multicastreceiver.qdoc
new file mode 100644
index 0000000..96a011f
--- /dev/null
+++ b/doc/src/examples/multicastreceiver.qdoc
@@ -0,0 +1,36 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** GNU Free Documentation License
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms
+** and conditions contained in a signed written agreement between you
+** and Nokia.
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \example network/multicastreceiver
+ \title Multicast Receiver Example
+
+ \brief The Multicast Receiever example shows how to receive information that is
+ sent to a multicast group.
+
+ \image multicastreceiver-example.png
+*/
diff --git a/doc/src/examples/multicastsender.qdoc b/doc/src/examples/multicastsender.qdoc
new file mode 100644
index 0000000..c5b7531
--- /dev/null
+++ b/doc/src/examples/multicastsender.qdoc
@@ -0,0 +1,36 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** GNU Free Documentation License
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms
+** and conditions contained in a signed written agreement between you
+** and Nokia.
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \example network/multicastsender
+ \title Multicast Sender Example
+
+ \brief The Multicast Sender example shows how to send information to multiple
+ clients in a multicast group.
+
+ \image multicastsender-example.png
+*/
diff --git a/doc/src/examples/multipleinheritance.qdoc b/doc/src/examples/multipleinheritance.qdoc
index fa125f0..9c86950 100644
--- a/doc/src/examples/multipleinheritance.qdoc
+++ b/doc/src/examples/multipleinheritance.qdoc
@@ -29,7 +29,7 @@
\example uitools/multipleinheritance
\title Multiple Inheritance Example
- The Multiple Inheritance Example shows how to use a form created with \QD
+ \brief The Multiple Inheritance Example shows how to use a form created with \QD
in an application by subclassing both QWidget and the user interface
class, which is \c{Ui::CalculatorForm}.
diff --git a/doc/src/examples/musicplayerexample.qdoc b/doc/src/examples/musicplayerexample.qdoc
index 7cba674..13a7bba 100644
--- a/doc/src/examples/musicplayerexample.qdoc
+++ b/doc/src/examples/musicplayerexample.qdoc
@@ -29,8 +29,9 @@
\example phonon/qmusicplayer
\title Music Player Example
- The Music Player Example shows how to use Phonon - the multimedia
+ \brief The Music Player Example shows how to use Phonon - the multimedia
framework that comes with Qt - to create a simple music player.
+
The player can play music files, and provides simple playback
control, such as pausing, stopping, and resuming the music.
diff --git a/doc/src/examples/network-chat.qdoc b/doc/src/examples/network-chat.qdoc
index bd8288f..b91b9c0 100644
--- a/doc/src/examples/network-chat.qdoc
+++ b/doc/src/examples/network-chat.qdoc
@@ -29,7 +29,7 @@
\example network/network-chat
\title Network Chat Example
- The Network Chat example demonstrates a stateful peer-to-peer Chat client
+ \brief The Network Chat example demonstrates a stateful peer-to-peer Chat client
that uses broadcasting with QUdpSocket and QNetworkInterface to discover
its peers.
diff --git a/doc/src/examples/network-download.qdoc b/doc/src/examples/network-download.qdoc
index da86b2a..48dbe10 100644
--- a/doc/src/examples/network-download.qdoc
+++ b/doc/src/examples/network-download.qdoc
@@ -29,7 +29,7 @@
\example network/download
\title Network Download Example
- The Network Download example shows how to perform multiple downloads in
+ \brief The Network Download example shows how to perform multiple downloads in
parallel using the QNetworkAccessManager class.
This example is designed to be run from the command line.
diff --git a/doc/src/examples/network-downloadmanager.qdoc b/doc/src/examples/network-downloadmanager.qdoc
index 0fa8cda..501c469 100644
--- a/doc/src/examples/network-downloadmanager.qdoc
+++ b/doc/src/examples/network-downloadmanager.qdoc
@@ -29,7 +29,7 @@
\example network/downloadmanager
\title Network Download Manager Example
- The Network Download example shows how to implement a queue for multiple
+ \brief The Network Download example shows how to implement a queue for multiple
downloads using the QNetworkAccessManager class.
This example is designed to be run from the command line.
diff --git a/doc/src/examples/openvg-star.qdoc b/doc/src/examples/openvg-star.qdoc
index 67422ae..2b25dbc 100644
--- a/doc/src/examples/openvg-star.qdoc
+++ b/doc/src/examples/openvg-star.qdoc
@@ -29,5 +29,5 @@
\example openvg/star
\title OpenVG Star Example
- The OpenVG Star example demonstrates the use of Qt's OpenVG integration.
+ \brief The OpenVG Star example demonstrates the use of Qt's OpenVG integration.
*/
diff --git a/doc/src/examples/orderform.qdoc b/doc/src/examples/orderform.qdoc
index ea93d86..8d61143 100644
--- a/doc/src/examples/orderform.qdoc
+++ b/doc/src/examples/orderform.qdoc
@@ -29,9 +29,10 @@
\example richtext/orderform
\title Order Form Example
- The Order Form example shows how to generate rich text documents by
- combining a simple template with data input by the user in a dialog. Data
- is extracted from a \c DetailsDialog object and displayed on a QTextEdit
+ \brief The Order Form example shows how to generate rich text documents by
+ combining a simple template with data input by the user in a dialog.
+
+ Data is extracted from a \c DetailsDialog object and displayed on a QTextEdit
with a QTextCursor, using various formats. Each form generated is added
to a QTabWidget for easy access.
diff --git a/doc/src/examples/orientation.qdoc b/doc/src/examples/orientation.qdoc
new file mode 100644
index 0000000..fc9f1c1
--- /dev/null
+++ b/doc/src/examples/orientation.qdoc
@@ -0,0 +1,143 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** GNU Free Documentation License
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms
+** and conditions contained in a signed written agreement between you
+** and Nokia.
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*! \example widgets/orientation
+ \group all-examples
+ \title Orientation Example
+
+ \brief The Orientation example shows a simple way to use different UIs depending on the screen
+ orientation of a mobile device.
+
+ \image orientation-landscape.png The UI in landscape mode
+ \image orientation-portrait.png The UI in portrait mode
+
+ The screen on many mobile devices can be viewed in both portrait and
+ landscape orientation. The orientation can be swiched with the help of a
+ hardware or software trigger. Due to the often small physical screen size,
+ user interfaces has to be very simple and compact to stay usable, and
+ applications usually occupy the whole screen. Designing a user interface
+ that works equally well in both landscape and portrait mode is not always
+ possible, however, so making a different layout for each case usually pays
+ off.
+
+ The example application makes use of two different UI widgets created with
+ the Qt Designer, one for portrait and one for landscape orientation. The
+ application has a widget that contains an image and the user is able to
+ select one of three images for it to show. In addition to the two UIs, the
+ application consists of a \c MainWindow class.
+
+ \section1 Landscape UI
+
+ If the screen is in landscape mode, the user probably holds the device with
+ both hands and is ready to give full attention to the application. The
+ landscape UI looks like this:
+
+ \image orientation-landscape-ui.png The landscape UI
+
+ To the left is a QWidget called \c choiceWidget, which will show the
+ current image, and to the right are three QRadioButton instances. The
+ active radio button specifies the image to show.
+
+ \section1 Portrait UI
+
+ When the device is in portrait mode, it usually means that the user holds
+ it with one hand, and can comfortably use the thumb for small amounts of
+ input. The layout is simpler, and is focused on consuming content. The
+ portrait UI looks like this:
+
+ \image orientation-portrait-ui.png The portrait UI
+
+ Similarly, it contains a QWidget, also called \c choiceWidget, that will
+ show the current image. In contrast to the landscape UI, this one doesn't
+ provide any controls to change the image.
+
+ \section1 MainWindow Class Definition
+
+ \c MainWindow inherits from QWidget and acts as the top level widget of the
+ application.
+
+ \snippet examples/widgets/orientation/mainwindow.h 0
+
+ The \c resizeEvent() method is re-implemented, and used to check which
+ UI to show. The \c onRadioButtonClicked() slot is connected to the
+ landscape UI's radio button group and selects the current image.
+
+ \c landscapeWidget and \c portraitWidget will contain the UI layouts. Only
+ one of them is visible at a time.
+
+ \section1 MainWindow Class Implementation
+
+ In the constructor, the widgets that will hold the UIs are created and set
+ up.
+
+ \snippet examples/widgets/orientation/mainwindow.cpp 0
+
+ Since the exit buttons on the layouts are different from each other, both
+ of them have to have their \c clicked() signal connected to the \c close()
+ slot of the main widget. The first image is also made current with the call
+ to \c onRadioButtonClicked().
+
+ \snippet examples/widgets/orientation/mainwindow.cpp 1
+
+ On the Maemo platform, windows are stuck in landscape mode by default. The
+ application has to explicitly say that rotation is supported.
+
+ \snippet examples/widgets/orientation/mainwindow.cpp 2
+
+ The \c resizeEvent() is called when the main window is first created, and
+ also whenever the window has been resized. If the window is shown in
+ full screen, this is an indication that the orientation of the screen has
+ changed.
+
+ The dimensions of \c landscapeWidget is the transpose of the dimensions of
+ \c portraitWidget. When the orientation is known, both are set to the
+ (possibly transposed) size of the window. Depending on the orientation, one
+ widget is made visible and the other invisible.
+
+ \snippet examples/widgets/orientation/mainwindow.cpp 3
+
+ When the user selects one of the radio buttons in the landscape UI, the
+ current image is changed. The image is displayed by specifying the
+ background style of the choice widget. Since both \c portrait and
+ \c landscape have a \c choiceWidget of their own, the change has to be
+ reflected in both instances.
+
+ \snippet examples/widgets/orientation/mainwindow.cpp 4
+
+ Synchronizing both UIs like this might become unfeasible when there are
+ many things that can change. In that case it is better to make use of the
+ \l{Introduction to Model/View Programming}{Model-View-Controller pattern}
+ more extensively and share the content between both portrait and landscape
+ widgets. Then an interface for displaying and manipulating it can be tailor
+ made for both orientations.
+
+ \section1 The \c main() Function
+
+ The main function creates a \c MainWindow instance and shows it full
+ screen.
+ \snippet examples/widgets/orientation/main.cpp 0
+*/
diff --git a/doc/src/examples/overpainting.qdoc b/doc/src/examples/overpainting.qdoc
index 12f9756..74001fc 100644
--- a/doc/src/examples/overpainting.qdoc
+++ b/doc/src/examples/overpainting.qdoc
@@ -29,7 +29,7 @@
\example opengl/overpainting
\title Overpainting Example
- The Overpainting example shows how QPainter can be used
+ \brief The Overpainting example shows how QPainter can be used
to overpaint a scene rendered using OpenGL in a QGLWidget.
\image overpainting-example.png
diff --git a/doc/src/examples/padnavigator.qdoc b/doc/src/examples/padnavigator.qdoc
index 0942c82..111beda 100644
--- a/doc/src/examples/padnavigator.qdoc
+++ b/doc/src/examples/padnavigator.qdoc
@@ -29,7 +29,7 @@
\example graphicsview/padnavigator
\title Pad Navigator Example
- The Pad Navigator Example shows how you can use Graphics View together with
+ \brief The Pad Navigator Example shows how you can use Graphics View together with
embedded widgets and Qt's \l{State Machine Framework} to create a simple
but useful, dynamic, animated user interface.
diff --git a/doc/src/examples/painterpaths.qdoc b/doc/src/examples/painterpaths.qdoc
index 2f740b8..04012eb 100644
--- a/doc/src/examples/painterpaths.qdoc
+++ b/doc/src/examples/painterpaths.qdoc
@@ -29,7 +29,7 @@
\example painting/painterpaths
\title Painter Paths Example
- The Painter Paths example shows how painter paths can be used to
+ \brief The Painter Paths example shows how painter paths can be used to
build complex shapes for rendering.
\image painterpaths-example.png
diff --git a/doc/src/examples/pbuffers.qdoc b/doc/src/examples/pbuffers.qdoc
index 0c496b4..1c31994 100644
--- a/doc/src/examples/pbuffers.qdoc
+++ b/doc/src/examples/pbuffers.qdoc
@@ -29,7 +29,7 @@
\example opengl/pbuffers
\title Pixel Buffers Example
- The Pixel Buffers example demonstrates how to use the
+ \brief The Pixel Buffers example demonstrates how to use the
QGLPixelBuffer class to render into an off-screen buffer and use
the contents as a dynamic texture in a QGLWidget.
diff --git a/doc/src/examples/pbuffers2.qdoc b/doc/src/examples/pbuffers2.qdoc
index 280f329..4827b86 100644
--- a/doc/src/examples/pbuffers2.qdoc
+++ b/doc/src/examples/pbuffers2.qdoc
@@ -29,7 +29,7 @@
\example opengl/pbuffers2
\title Pixel Buffers 2 Example
- The Pixel Buffers 2 example demonstrates how to use the
+ \brief The Pixel Buffers 2 example demonstrates how to use the
QGLPixelBuffer class to render into an off-screen buffer and use
the contents as a dynamic texture in a QGLWidget.
diff --git a/doc/src/examples/pinchzoom.qdoc b/doc/src/examples/pinchzoom.qdoc
index 04a8bb4..540d54c 100644
--- a/doc/src/examples/pinchzoom.qdoc
+++ b/doc/src/examples/pinchzoom.qdoc
@@ -29,7 +29,7 @@
\example touch/pinchzoom
\title Pinch Zoom Example
- The Pinch Zoom example shows how to use low-level touch information
+ \brief The Pinch Zoom example shows how to use low-level touch information
to recognize a gesture.
\image touch-pinchzoom-example.png
diff --git a/doc/src/examples/pingpong.qdoc b/doc/src/examples/pingpong.qdoc
index c4a29a4..a90db94 100644
--- a/doc/src/examples/pingpong.qdoc
+++ b/doc/src/examples/pingpong.qdoc
@@ -29,7 +29,7 @@
\example statemachine/pingpong
\title Ping Pong States Example
- The Ping Pong States example shows how to use parallel states together
+ \brief The Ping Pong States example shows how to use parallel states together
with custom events and transitions in \l{The State Machine Framework}.
This example implements a statechart where two states communicate by
diff --git a/doc/src/examples/pixelator.qdoc b/doc/src/examples/pixelator.qdoc
index b6d1fd6..50e79da 100644
--- a/doc/src/examples/pixelator.qdoc
+++ b/doc/src/examples/pixelator.qdoc
@@ -29,7 +29,7 @@
\example itemviews/pixelator
\title Pixelator Example
- The Pixelator example shows how delegates can be used to customize the way that
+ \brief The Pixelator example shows how delegates can be used to customize the way that
items are rendered in standard item views.
\image pixelator-example.png
diff --git a/doc/src/examples/plugandpaint.qdoc b/doc/src/examples/plugandpaint.qdoc
index 2a9d286..960ec8c 100644
--- a/doc/src/examples/plugandpaint.qdoc
+++ b/doc/src/examples/plugandpaint.qdoc
@@ -29,7 +29,7 @@
\example tools/plugandpaint
\title Plug & Paint Example
- The Plug & Paint example demonstrates how to write Qt
+ \brief The Plug & Paint example demonstrates how to write Qt
applications that can be extended through plugins.
\image plugandpaint.png Screenshot of the Plug & Paint example
diff --git a/doc/src/examples/portedasteroids.qdoc b/doc/src/examples/portedasteroids.qdoc
index 0458125..3fa0793 100644
--- a/doc/src/examples/portedasteroids.qdoc
+++ b/doc/src/examples/portedasteroids.qdoc
@@ -29,8 +29,9 @@
\example graphicsview/portedasteroids
\title Ported Asteroids Example
- This GraphicsView example is a port of the
- Asteroids game, which was based on QCanvas.
+ \brief The Ported Asteroids example is a port of the
+ Asteroids game, which was based on QCanvas, to the Graphics View
+ framework.
\image portedasteroids-example.png
*/
diff --git a/doc/src/examples/portedcanvas.qdoc b/doc/src/examples/portedcanvas.qdoc
index 43b3a38..457d6b3 100644
--- a/doc/src/examples/portedcanvas.qdoc
+++ b/doc/src/examples/portedcanvas.qdoc
@@ -29,8 +29,8 @@
\example graphicsview/portedcanvas
\title Ported Canvas Example
- This GraphicsView example is a port of the old
- QCanvas example from Qt 3.
+ \brief The Ported Canvas example is a port of the old
+ QCanvas example from Qt 3 to the Graphics View framework.
\sa {Porting to Graphics View}
diff --git a/doc/src/examples/previewer.qdoc b/doc/src/examples/previewer.qdoc
index 2fe8d8d..128d3be 100644
--- a/doc/src/examples/previewer.qdoc
+++ b/doc/src/examples/previewer.qdoc
@@ -29,7 +29,7 @@
\example webkit/previewer
\title Previewer Example
- The Previewer example shows how to use QtWebKit's QWebView to preview
+ \brief The Previewer example shows how to use QtWebKit's QWebView to preview
HTML data written in a QPlainTextEdit.
\image previewer-example.png
@@ -164,4 +164,4 @@
\snippet examples/webkit/previewer/main.cpp 0
-*/ \ No newline at end of file
+*/
diff --git a/doc/src/examples/qml-calculator.qdoc b/doc/src/examples/qml-calculator.qdoc
index 0624cb4..2e2cdc8 100644
--- a/doc/src/examples/qml-calculator.qdoc
+++ b/doc/src/examples/qml-calculator.qdoc
@@ -29,7 +29,7 @@
\title Calculator
\example demos/declarative/calculator
- This demo shows how to write a simple calculator application in QML and JavaScript.
+ \brief The Qt Quick Calculator demo shows how to write a simple calculator application in QML and JavaScript.
\image qml-calculator-example.png
*/
diff --git a/doc/src/examples/qml-examples.qdoc b/doc/src/examples/qml-examples.qdoc
index a910266..bde2ed7 100644
--- a/doc/src/examples/qml-examples.qdoc
+++ b/doc/src/examples/qml-examples.qdoc
@@ -29,7 +29,7 @@
\title Animation: Basics Example
\example declarative/animation/basics
- This example shows how to create and combine \l{QML Animation and Transitions}{animations} in QML.
+ \brief This example shows how to create and combine \l{QML Animation}{animations} in QML.
\table
\row
@@ -38,6 +38,12 @@
\o color-animation.qml
\endtable
+/*!
+ \title Animation: Basics Property Animation Example
+ \example declarative/animation/basics/property-animation
+
+ \brief This example shows how to create and combine \l{QML Animation}{animations} in QML.
+
\table
\row
\o \image qml-propertyanim-example.png
@@ -50,7 +56,7 @@
\title Animation: Behavior Examples
\example declarative/animation/behaviors
- This example shows how to use QML behaviors.
+ \brief This example shows how to use QML behaviors.
\image qml-behaviors-example.png
*/
@@ -59,7 +65,7 @@
\title Animation: Easing Example
\example declarative/animation/easing
- This example shows the different easing modes available for \l{QML Animation and Transitions}{animations}.
+ \brief This example shows the different easing modes available for \l{QML Animation}{animations}.
\image qml-easing-example.png
*/
@@ -68,7 +74,7 @@
\title Animation: States Example
\example declarative/animation/states
- These examples show how to use \l{State}{states} and \l{Transition}{transitions}.
+ \brief These examples show how to use \l{States}{states} and \l{Transitions}{transitions}.
The \c states.qml example shows how an item can change between states, and \c transitions.qml
shows how these state changes can be animated.
@@ -92,7 +98,7 @@
\title Image Elements: Border Image Example
\example declarative/imageelements/borderimage
- These examples show how to use the BorderImage element.
+ \brief These examples show how to use the BorderImage element.
\table
\row
@@ -101,6 +107,12 @@
\o borderimage.qml
\endtable
+/*!
+ \title Image Elements: Shadows Image Example
+ \example declarative/imageelements/shadows
+
+ \brief This example shows how to use the BorderImage element.
+
\table
\row
\o \image qml-borderimage-shadows-example.png
@@ -113,7 +125,7 @@
\title Image Elements: Image Example
\example declarative/imageelements/image
- This example shows how to use the \l Image element and its \l{Image::fillMode}{fillModes}.
+ \brief This example shows how to use the \l Image element and its \l{Image::fillMode}{fillModes}.
\image qml-image-example.png
*/
@@ -122,8 +134,8 @@
\page declarative-cppextensions-reference.html
\title C++ Extensions: Reference examples
- These examples show how QML can be extended from C++ in various ways.
-
+ \brief These examples show how QML can be extended from C++ in various ways.
+
The code for these examples is used throughout the \l {Extending QML Functionalities using C++} reference
documentation, which highlights the main principles demonstrated in each example.
@@ -151,7 +163,7 @@
\title C++ Extensions: Plugins Example
\example declarative/cppextensions/plugins
- This example shows how to create a C++ plugin extension by subclassing QDeclarativeExtensionPlugin.
+ \brief This example shows how to create a C++ plugin extension by subclassing QDeclarativeExtensionPlugin.
\image qml-plugins-example.png
*/
@@ -160,7 +172,7 @@
\title LayoutItem Example
\example declarative/cppextensions/qgraphicslayouts/layoutitem
- This example show how to use the LayoutItem element to integrate QML items into an existing
+ \brief This example show how to use the LayoutItem element to integrate QML items into an existing
\l{Graphics View Framework}{Graphics View}-based application.
\image qml-layoutitem-example.png
@@ -169,7 +181,7 @@
\title QGraphicsGridLayout Example
\example declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout
- This example shows how to use QGraphicsGridLayout to lay out QML items. This is
+ \brief This example shows how to use QGraphicsGridLayout to lay out QML items. This is
useful if you need to integrate Qt \l{Graphics View Framework}{Graphics View} layouts with
QML.
@@ -179,7 +191,7 @@
\title QGraphicsLinearLayout Example
\example declarative/cppextensions/qgraphicslayouts/qgraphicslinearlayout
- This example shows how to use QGraphicsLinearLayout to lay out QML items. This is
+ \brief This example shows how to use QGraphicsLinearLayout to lay out QML items. This is
useful if you need to integrate Qt \l{Graphics View Framework}{Graphics View} layouts with
QML.
@@ -189,7 +201,7 @@
\title C++ Extensions: QGraphicsLayouts examples
\page declarative-cppextensions-qgraphicslayouts.html
- These examples show how to integrate \l{Graphics View Framework}{Graphics View}
+ \brief These examples show how to integrate \l{Graphics View Framework}{Graphics View}
layout components with QML:
\list
@@ -206,7 +218,7 @@
\title C++ Extensions: QWidgets Example
\example declarative/cppextensions/qwidgets
- This example shows how to embed QWidget-based objects into QML using QGraphicsProxyWidget.
+ \brief This example shows how to embed QWidget-based objects into QML using QGraphicsProxyWidget.
\image qml-qwidgets-example.png
*/
@@ -215,7 +227,7 @@
\title C++ Extensions: Image Provider Example
\example declarative/cppextensions/imageprovider
- This examples shows how to use QDeclarativeImageProvider to serve images
+ \brief This examples shows how to use QDeclarativeImageProvider to serve images
to QML image elements.
\image qml-imageprovider-example.png
@@ -225,7 +237,7 @@
\title C++ Extensions: Network Access Manager Factory Example
\example declarative/cppextensions/networkaccessmanagerfactory
- This example shows how to use QDeclarativeNetworkAccessManagerFactory to create a QNetworkAccessManager
+ \brief This example shows how to use QDeclarativeNetworkAccessManagerFactory to create a QNetworkAccessManager
with a proxy.
*/
@@ -234,7 +246,7 @@
\example declarative/i18n
\ingroup internationalization
- This example shows how to enable text translation in QML.
+ \brief This example shows how to enable text translation in QML.
\image qml-i18n-example.png
@@ -316,7 +328,7 @@
\title Positioners Example
\example declarative/positioners
- This example shows how to use the positioner elements such as \l Row, \l Column,
+ \brief This example shows how to use positioner elements such as \l Row, \l Column,
\l Grid and \l Flow.
\image qml-positioners-example.png
@@ -326,7 +338,7 @@
\title Key Interaction: Focus Example
\example declarative/keyinteraction/focus
- This example shows how to handle keyboard input and focus in QML.
+ \brief This example shows how to handle keyboard input and focus in QML.
\image qml-focus-example.png
*/
@@ -335,7 +347,7 @@
\title Models and Views: AbstractItemModel Example
\example declarative/modelviews/abstractitemmodel
- This example shows how to use a QAbstractItemModel subclass as a model in QML.
+ \brief This example shows how to use a QAbstractItemModel subclass as a model in QML.
\image qml-abstractitemmodel-example.png
*/
@@ -344,7 +356,7 @@
\title Models and Views: GridView Example
\example declarative/modelviews/gridview
- This example shows how to use the GridView element.
+ \brief This example shows how to use the GridView element.
\image qml-gridview-example.png
*/
@@ -353,7 +365,9 @@
\title Models and Views: ListView Example
\example declarative/modelviews/listview
- These examples show how to use the ListView element.
+ \brief This example shows how items can be dynamically added to
+ and removed from a ListModel, and how these list
+ modifications can be animated.
\table
\row
@@ -362,6 +376,13 @@
\o dynamiclist.qml
\endtable
+/*!
+ \title Models and Views: Expanding Delegate ListView Example
+ \example declarative/modelviews/listview/expandingdelegates
+
+ \brief This example shows how to create a dynamic delegate, which
+ expands when selected.
+
\table
\row
\o \image qml-listview-expandingdelegates-example.png
@@ -369,6 +390,13 @@
\o expandingdelegates.qml
\endtable
+/*!
+ \title Models and Views: Highlight ListView Example
+ \example declarative/modelviews/listview/highlight
+
+ \brief This example shows how to highlight one item
+ inside a ListView element.
+
\table
\row
\o \image qml-listview-highlight-example.png
@@ -376,6 +404,13 @@
\o highlight.qml
\endtable
+/*!
+ \title Models and Views: Highlight Ranges ListView Example
+ \example declarative/modelviews/listview/highlightranges
+
+ \brief This example shows how to highlight ranges within a
+ ListView element.
+
\table
\row
\o \image qml-listview-highlightranges-example.png
@@ -383,6 +418,12 @@
\o highlightranges.qml
\endtable
+/*!
+ \title Models and Views: Sections ListView Example
+ \example declarative/modelviews/listview/sections
+
+ \brief This example shows how to use the ListView element.
+
\table
\row
\o \image qml-listview-sections-example.png
@@ -395,7 +436,7 @@
\title Models and Views: PathView Example
\example declarative/modelviews/pathview
- This example shows how to use the PathView element.
+ \brief This example shows how to use the PathView element.
\image qml-pathview-example.png
*/
@@ -404,7 +445,7 @@
\title Models and Views: Object ListModel Example
\example declarative/modelviews/objectlistmodel
- This example shows how to use a QList<QObject*> as a model in QML.
+ \brief This example shows how to use a QList<QObject*> as a model in QML.
\image qml-objectlistmodel-example.png
*/
@@ -413,7 +454,7 @@
\title Models and Views: Package Example
\example declarative/modelviews/package
- This example shows how to use the \l Package element.
+ \brief This example shows how to use the \l Package element.
\image qml-package-example.png
*/
@@ -422,7 +463,7 @@
\title Models and Views: Parallax Example
\example declarative/modelviews/parallax
- This example shows how to combine and switch between views.
+ \brief This example shows how to combine and switch between views.
\image qml-parallax-example.png
*/
@@ -431,7 +472,7 @@
\title Models and Views: String ListModel Example
\example declarative/modelviews/stringlistmodel
- This example shows how to use a QStringList as a model in QML.
+ \brief This example shows how to use a QStringList as a model in QML.
\image qml-stringlistmodel-example.png
*/
@@ -440,7 +481,7 @@
\title Models and Views: VisualItemModel Example
\example declarative/modelviews/visualitemmodel
- This example shows how to use the VisualItemModel element.
+ \brief This example shows how to use the VisualItemModel element.
\image qml-visualitemmodel-example.png
*/
@@ -449,7 +490,7 @@
\title Models and Views: WebView Example
\example declarative/modelviews/webview
- These examples show how to use the WebView element.
+ \brief These examples show how to use the WebView element.
\table
\row
@@ -458,6 +499,12 @@
\o alert.qml
\endtable
+/*!
+ \title Models and Views: Autosize WebView Example
+ \example declarative/modelviews/webview/autosize
+
+ \brief These examples show how to use the WebView element.
+
\table
\row
\o \image qml-webview-autosize-example.png
@@ -465,6 +512,12 @@
\o autosize.qml
\endtable
+/*!
+ \title Models and Views: GoogleMaps WebView Example
+ \example declarative/modelviews/webview/googlemaps
+
+ \brief These examples show how to use the WebView element.
+
\table
\row
\o \image qml-webview-googlemaps-example.png
@@ -472,6 +525,12 @@
\o googlemaps.qml
\endtable
+/*!
+ \title Models and Views: Inline HTML WebView Example
+ \example declarative/modelviews/webview/inlinehtml
+
+ \brief These examples show how to use the WebView element.
+
\table
\row
\o \image qml-webview-inlinehtml-example.png
@@ -479,6 +538,12 @@
\o inlinehtml.qml
\endtable
+/*!
+ \title Models and Views: New Windows WebView Example
+ \example declarative/modelviews/webview/newwindows
+
+ \brief These examples show how to use the WebView element.
+
\table
\row
\o \image qml-webview-newwindows-example.png
@@ -492,22 +557,21 @@
\title Screen Orientation
\example declarative/screenorientation
- This example shows how to implement screen orientation support for your application.
+ \brief This example shows how to implement screen orientation support for your application.
*/
/*!
\title SQL Local Storage Example
\example declarative/sqllocalstorage
- This example shows how to use the SQL Local Storage API in QML.
+ \brief This example shows how to use the SQL Local Storage API in QML.
*/
/*!
\title Text: Fonts Example
\example declarative/text/fonts
- These examples show how to discover available fonts from QML and manipulate
- text in various ways.
+ \brief These examples show how to discover available fonts from QML.
\table
\row
@@ -516,6 +580,12 @@
\o availableFonts.qml
\endtable
+/*!
+ \title Text: Banner Fonts Example
+ \example declarative/text/fonts/banner
+
+ \brief These example shows how to manipulate text in various ways.
+
\table
\row
\o \image qml-fonts-banner-example.png
@@ -523,6 +593,12 @@
\o banner.qml
\endtable
+/*!
+ \title Text: Fonts Example
+ \example declarative/text/fonts/fonts
+
+ \brief These examples shows how to display a text with multiple fonts.
+
\table
\row
\o \image qml-fonts-fonts-example.png
@@ -530,6 +606,12 @@
\o fonts.qml
\endtable
+/*!
+ \title Text: Hello Fonts Example
+ \example declarative/text/fonts/hello
+
+ \brief This example shows how to manipulate text in various ways.
+
\table
\row
\o \image qml-fonts-hello-example.png
@@ -542,7 +624,7 @@
\title Text: Text Selection Example
\example declarative/text/textselection
- This example shows how text selection, copy and paste operations
+ \brief This example shows how text selection, copy and paste operations
can be implemented on top of the TextEdit element.
\image qml-textselection-example.png
@@ -552,7 +634,7 @@
\title Threading: Threaded ListModel Example
\example declarative/threading/threadedlistmodel
- This example shows how to use a ListModel from multiple threads using
+ \brief This example shows how to use a ListModel from multiple threads using
WorkerScript.
*/
@@ -560,15 +642,16 @@
\title Threading: WorkerScript Example
\example declarative/threading/workerscript
- This example shows how to use the WorkerScript element for threading in QML.
+ \brief This example shows how to use the WorkerScript element for threading in QML.
*/
/*!
\title Toys: Clocks Example
\example declarative/toys/clocks
- This example displays a set of clocks with different times for different cities.
- Each clock is created by combining \l Image elements with \l Rotation transforms
+ \brief This example displays a set of clocks with different times for different cities.
+
+ Each clock is created by combining \l Image elements with \l Rotation transforms
and \l SpringAnimation behaviors.
\image qml-clocks-example.png
@@ -578,7 +661,7 @@
\title Toys: Corkboards Example
\example declarative/toys/corkboards
- This example presents a flickable set of interactive corkboards. It is created
+ \brief This example presents a flickable set of interactive corkboards. It is created
through a combination of elements like \l ListModel, \l Repeater and \l TextEdit
together with rotation and scaling transforms, animation and mouse interaction.
@@ -589,7 +672,7 @@
\title Toys: Dynamic Scene Example
\example declarative/toys/dynamicscene
- This example presents an interactive drag-and-drop scene. It demonstrates
+ \brief This example presents an interactive drag-and-drop scene. It demonstrates
how to use QML's \l{Dynamic Object Creation} support to dynamically create and
destroy objects.
@@ -600,7 +683,7 @@
\title Toys: Tic-Tac-Toe Example
\example declarative/toys/tic-tac-toe
- This example presents a simple implementation of Tic Tac Toe.
+ \brief This example presents a simple implementation of Tic Tac Toe.
\image qml-tic-tac-toe-example.png
*/
@@ -609,17 +692,24 @@
\title Toys: TV Tennis Example
\example declarative/toys/tvtennis
- This example shows how to use animation components such as \l SpringAnimation,
+ \brief This example shows how to use animation components such as \l SpringAnimation,
\l SequentialAnimation and \l PropertyAction to create a game of TV tennis.
\image qml-tvtennis-example.png
*/
/*!
+ \title Touch Interaction: Gestures Example
+ \example declarative/touchinteraction/gestures
+
+ \brief This example shows how to use the GestureArea element.
+*/
+
+/*!
\title Touch Interaction: MouseArea Example
\example declarative/touchinteraction/mousearea
- This example shows how to use the MouseArea element to access information
+ \brief This example shows how to use the MouseArea element to access information
about mouse input.
\image qml-mousearea-example.png
@@ -629,7 +719,7 @@
\title UI Components: Dial Control Example
\example declarative/ui-components/dialcontrol
- This example shows how to create a dial-type control. It combines
+ \brief This example shows how to create a dial-type control. It combines
\l Image elements with \l Rotation transforms and \l SpringAnimation behaviors
to produce an interactive speedometer-type dial.
@@ -641,7 +731,7 @@
\title UI Components: Flipable Example
\example declarative/ui-components/flipable
- This example shows how to use the \l Flipable element.
+ \brief This example shows how to use the \l Flipable element.
\image qml-flipable-example.png
*/
@@ -650,7 +740,7 @@
\title UI Components: Progress Bars Example
\example declarative/ui-components/progressbar
- This example shows how to create a progress bar.
+ \brief This example shows how to create a progress bar.
\image qml-progressbar-example.png
*/
@@ -659,7 +749,7 @@
\title UI Components: Scroll Bar Example
\example declarative/ui-components/scrollbar
- This example shows how to create scroll bars for a \l Flickable element
+ \brief This example shows how to create scroll bars for a \l Flickable element
using the \l {Flickable::visibleArea.xPosition}{Flickable::visibleArea}
properties.
@@ -670,7 +760,7 @@
\title UI Components: Search Box Example
\example declarative/ui-components/searchbox
- This example shows how to combine TextInput, FocusScope and BorderImage
+ \brief This example shows how to combine TextInput, FocusScope and BorderImage
elements to display multiple text input fields.
\image qml-searchbox-example.png
@@ -680,7 +770,7 @@
\title UI Components: Slide Switch Example
\example declarative/ui-components/slideswitch
- This example shows how to create a slide switch control.
+ \brief This example shows how to create a slide switch control.
\image qml-slideswitch-example.png
*/
@@ -689,7 +779,7 @@
\title UI Components: Spinner Example
\example declarative/ui-components/spinner
- This example shows how to create a spinner-type component using the PathView element.
+ \brief This example shows how to create a spinner-type component using the PathView element.
\image qml-spinner-example.png
*/
@@ -698,7 +788,7 @@
\title UI Components: Tab Widget Example
\example declarative/ui-components/tabwidget
- This example shows how to create a tab widget. It also demonstrates how
+ \brief This example shows how to create a tab widget. It also demonstrates how
\l {Property aliases}{property aliases} and
\l {Introduction to the QML Language#Default Properties}{default properties} can be used to collect and
assemble the child items declared within an \l Item.
@@ -710,7 +800,7 @@
\title XML: XMLHttpRequest Example
\example declarative/xml/xmlhttprequest
- This example shows how to use the \l XmlHttpRequest API in QML.
+ \brief This example shows how to use the \l XmlHttpRequest API in QML.
\image qml-xmlhttprequest-example.png
*/
diff --git a/doc/src/examples/qml-extending.qdoc b/doc/src/examples/qml-extending.qdoc
index 8dbbe7f..da7ab47 100644
--- a/doc/src/examples/qml-extending.qdoc
+++ b/doc/src/examples/qml-extending.qdoc
@@ -29,7 +29,8 @@
\example declarative/cppextensions/referenceexamples/adding
\title Extending QML - Adding Types Example
-The Adding Types Example shows how to add a new element type, \c Person, to QML.
+\brief The Adding Types Example shows how to add a new element type, \c Person, to QML.
+
The \c Person type can be used from QML like this:
\snippet examples/declarative/cppextensions/referenceexamples/adding/example.qml 0
diff --git a/doc/src/examples/qml-flickr.qdoc b/doc/src/examples/qml-flickr.qdoc
index c23c0ba..65e8e0d 100644
--- a/doc/src/examples/qml-flickr.qdoc
+++ b/doc/src/examples/qml-flickr.qdoc
@@ -29,7 +29,7 @@
\title Flickr Mobile
\example demos/declarative/flickr
- This demo shows how to write a mobile Flickr browser application in QML.
+ \brief The Qt Quick Flickr Mobile demo shows how to write a mobile Flickr browser application in QML.
\image qml-flickr-demo.png
*/
diff --git a/doc/src/examples/qml-folderlistmodel.qdoc b/doc/src/examples/qml-folderlistmodel.qdoc
index ed92c9d..609be27 100644
--- a/doc/src/examples/qml-folderlistmodel.qdoc
+++ b/doc/src/examples/qml-folderlistmodel.qdoc
@@ -30,7 +30,9 @@
\title FolderListModel - a C++ model plugin
\example src/imports/folderlistmodel
-This plugin shows how to make a C++ model available to QML. It presents
+\brief The FolderListModel plugin example shows how to make a C++ model available to QML.
+
+It presents
a simple file list for a single folder (directory) and allows the presented
folder to be changed.
diff --git a/doc/src/examples/qml-minehunt.qdoc b/doc/src/examples/qml-minehunt.qdoc
index ac13456..66c7dd3 100644
--- a/doc/src/examples/qml-minehunt.qdoc
+++ b/doc/src/examples/qml-minehunt.qdoc
@@ -29,7 +29,7 @@
\title Minehunt
\example demos/declarative/minehunt
- This demo shows how to create a simple Minehunt game, using QML for the
+ \brief The Qt Quick Minehunt demo shows how to create a simple Minehunt game, using QML for the
UI and C++ for the game logic.
\image qml-minehunt-demo.png
diff --git a/doc/src/examples/qml-photoviewer.qdoc b/doc/src/examples/qml-photoviewer.qdoc
index 5ecbf84..40b6372 100644
--- a/doc/src/examples/qml-photoviewer.qdoc
+++ b/doc/src/examples/qml-photoviewer.qdoc
@@ -29,7 +29,7 @@
\title Photo Viewer
\example demos/declarative/photoviewer
- This demo shows how to write a Flickr photo viewer application in QML.
+ \brief The Qt Quick Photo Viewer demo shows how to write a Flickr photo viewer application in QML.
\image qml-photoviewer-demo.png
*/
diff --git a/doc/src/examples/qml-rssnews.qdoc b/doc/src/examples/qml-rssnews.qdoc
index beea4d3..76df4e3 100644
--- a/doc/src/examples/qml-rssnews.qdoc
+++ b/doc/src/examples/qml-rssnews.qdoc
@@ -29,7 +29,7 @@
\title RSS News
\example demos/declarative/rssnews
- This demo shows how to write a RSS news reader in QML.
+ \brief The Qt Quick RSS News demo shows how to write a RSS news reader in QML.
\image qml-rssnews-demo.png
*/
diff --git a/doc/src/examples/qml-samegame.qdoc b/doc/src/examples/qml-samegame.qdoc
index 81a26a3..8b67a49 100644
--- a/doc/src/examples/qml-samegame.qdoc
+++ b/doc/src/examples/qml-samegame.qdoc
@@ -29,7 +29,7 @@
\title Same Game
\example demos/declarative/samegame
- This demo shows how to write a 'Same Game' game in QML, using Javascript
+ \brief The Qt Quick Same Game demo shows how to write a 'Same Game' game in QML, using Javascript
for all the game logic.
\image qml-samegame-demo.png
diff --git a/doc/src/examples/qml-snake.qdoc b/doc/src/examples/qml-snake.qdoc
index bce0e71..8a27711 100644
--- a/doc/src/examples/qml-snake.qdoc
+++ b/doc/src/examples/qml-snake.qdoc
@@ -29,7 +29,7 @@
\title Snake
\example demos/declarative/snake
- This demo shows how to write a Snake game in QML, controlled by the
+ \brief The Qt Quick Snake demo shows how to write a Snake game in QML, controlled by the
keyboard as well as the mouse.
\image qml-snake-demo.png
diff --git a/doc/src/examples/qml-twitter.qdoc b/doc/src/examples/qml-twitter.qdoc
index 3ebabb4..3334370 100644
--- a/doc/src/examples/qml-twitter.qdoc
+++ b/doc/src/examples/qml-twitter.qdoc
@@ -29,7 +29,7 @@
\title Twitter Mobile
\example demos/declarative/twitter
- This demo shows how to write a mobile Twitter search client in QML. Use it to
+ \brief The Qt Quick Twitter Mobile demo shows how to write a mobile Twitter search client in QML. Use it to
see what people think about Qt Quick!
\image qml-twitter-demo.png
diff --git a/doc/src/examples/qml-webbrowser.qdoc b/doc/src/examples/qml-webbrowser.qdoc
index 08416af..bdead7f 100644
--- a/doc/src/examples/qml-webbrowser.qdoc
+++ b/doc/src/examples/qml-webbrowser.qdoc
@@ -26,10 +26,10 @@
****************************************************************************/
/*!
- \title QML Web Browser
+ \title Qt Quick Web Browser
\example demos/declarative/webbrowser
- This demo shows how to write a simple web browser in QML by combining the
+ \brief The Qt Quick Web Browser demo shows how to write a simple web browser in QML by combining the
WebView element with other components including scroll bars,
\l Flickable views and TextInput fields.
diff --git a/doc/src/examples/qobjectxmlmodel.qdoc b/doc/src/examples/qobjectxmlmodel.qdoc
index a950f72..6f66e70 100644
--- a/doc/src/examples/qobjectxmlmodel.qdoc
+++ b/doc/src/examples/qobjectxmlmodel.qdoc
@@ -29,7 +29,7 @@
\example xmlpatterns/qobjectxmlmodel
\title QObject XML Model Example
- This example shows how to use QtXmlPatterns to query QObject trees
+ \brief The XML Model example shows how to use QtXmlPatterns to query QObject trees
by modeling the non-XML data structure of a QObject tree to look
like XML.
diff --git a/doc/src/examples/qtconcurrent-imagescaling.qdoc b/doc/src/examples/qtconcurrent-imagescaling.qdoc
index 1b3c6d6..15f2dab 100644
--- a/doc/src/examples/qtconcurrent-imagescaling.qdoc
+++ b/doc/src/examples/qtconcurrent-imagescaling.qdoc
@@ -29,6 +29,6 @@
\example qtconcurrent/imagescaling
\title QtConcurrent Image Scaling Example
- The QtConcurrent Map example shows how to use the asynchronous
+ \brief The QtConcurrent Image Scaling example shows how to use the asynchronous
QtConcurrent API to load and scale a collection of images.
*/
diff --git a/doc/src/examples/qtconcurrent-map.qdoc b/doc/src/examples/qtconcurrent-map.qdoc
index 76a6f13..6b22966 100644
--- a/doc/src/examples/qtconcurrent-map.qdoc
+++ b/doc/src/examples/qtconcurrent-map.qdoc
@@ -29,6 +29,6 @@
\example qtconcurrent/map
\title QtConcurrent Map Example
- The QtConcurrent Map example shows how to use the synchronous (blocking)
+ \brief The QtConcurrent Map example shows how to use the synchronous (blocking)
QtConcurrent API to scale a collection of images.
*/
diff --git a/doc/src/examples/qtconcurrent-progressdialog.qdoc b/doc/src/examples/qtconcurrent-progressdialog.qdoc
index 43e5fef..7f18b0f 100644
--- a/doc/src/examples/qtconcurrent-progressdialog.qdoc
+++ b/doc/src/examples/qtconcurrent-progressdialog.qdoc
@@ -29,7 +29,7 @@
\example qtconcurrent/progressdialog
\title QtConcurrent Progress Dialog Example
- The QtConcurrent Progress Dialog example shows how to use the
+ \brief The QtConcurrent Progress Dialog example shows how to use the
QFutureWatcher class to monitor the progress of a long-running operation.
\image qtconcurrent-progressdialog.png
diff --git a/doc/src/examples/qtconcurrent-runfunction.qdoc b/doc/src/examples/qtconcurrent-runfunction.qdoc
index c66ac11..7e73508 100644
--- a/doc/src/examples/qtconcurrent-runfunction.qdoc
+++ b/doc/src/examples/qtconcurrent-runfunction.qdoc
@@ -29,7 +29,7 @@
\example qtconcurrent/runfunction
\title QtConcurrent Run Function Example
- The QtConcurrent Run Function example shows how to apply concurrency to
+ \brief The QtConcurrent Run Function example shows how to apply concurrency to
a standard function, using QFuture instances to retrieve return values
at a later time.
*/
diff --git a/doc/src/examples/qtconcurrent-wordcount.qdoc b/doc/src/examples/qtconcurrent-wordcount.qdoc
index 26e65be..5f87884 100644
--- a/doc/src/examples/qtconcurrent-wordcount.qdoc
+++ b/doc/src/examples/qtconcurrent-wordcount.qdoc
@@ -29,7 +29,7 @@
\example qtconcurrent/wordcount
\title QtConcurrent Word Count Example
- The QtConcurrent Word Count example demonstrates the use of the map-reduce
+ \brief The QtConcurrent Word Count example demonstrates the use of the map-reduce
algorithm when applied to the problem of counting words in a collection
of files.
*/
diff --git a/doc/src/examples/qtscriptcalculator.qdoc b/doc/src/examples/qtscriptcalculator.qdoc
index ce925f3..109394d 100644
--- a/doc/src/examples/qtscriptcalculator.qdoc
+++ b/doc/src/examples/qtscriptcalculator.qdoc
@@ -29,7 +29,7 @@
\example script/calculator
\title QtScript Calculator Example
- In this simple QtScript example, we show how to implement the
+ \brief In the QtScript Calculator example, we show how to implement the
functionality of a calculator widget.
\image qtscript-calculator-example.png
diff --git a/doc/src/examples/qtscriptcustomclass.qdoc b/doc/src/examples/qtscriptcustomclass.qdoc
index b3d4535..21624a0 100644
--- a/doc/src/examples/qtscriptcustomclass.qdoc
+++ b/doc/src/examples/qtscriptcustomclass.qdoc
@@ -29,7 +29,7 @@
\example script/customclass
\title Custom Script Class Example
- The Custom Script Class example shows how to use QScriptClass and QScriptClassPropertyIterator
+ \brief The Custom Script Class example shows how to use QScriptClass and QScriptClassPropertyIterator
to implement a custom script class.
The script class we are going to implement is called \c{ByteArray}. It provides a wrapper around
diff --git a/doc/src/examples/qtscripttetrix.qdoc b/doc/src/examples/qtscripttetrix.qdoc
index 92a50bf..fe9632e 100644
--- a/doc/src/examples/qtscripttetrix.qdoc
+++ b/doc/src/examples/qtscripttetrix.qdoc
@@ -29,7 +29,7 @@
\example script/qstetrix
\title Qt Script Tetrix Example
- The QSTetrix example is a Qt Script version of the classic Tetrix game.
+ \brief The QSTetrix example is a Qt Script version of the classic Tetrix game.
\image tetrix-example.png
diff --git a/doc/src/examples/querymodel.qdoc b/doc/src/examples/querymodel.qdoc
index 554ae21..9c523e7 100644
--- a/doc/src/examples/querymodel.qdoc
+++ b/doc/src/examples/querymodel.qdoc
@@ -29,7 +29,7 @@
\example sql/querymodel
\title Query Model Example
- The Query Model example shows how to make customized versions of
+ \brief The Query Model example shows how to make customized versions of
data obtained from a SQL query, using a model that encapsulates
the query and table views to display the results.
diff --git a/doc/src/examples/queuedcustomtype.qdoc b/doc/src/examples/queuedcustomtype.qdoc
index 85f6b07..4b1db01 100644
--- a/doc/src/examples/queuedcustomtype.qdoc
+++ b/doc/src/examples/queuedcustomtype.qdoc
@@ -29,7 +29,7 @@
\example threads/queuedcustomtype
\title Queued Custom Type Example
- The Queued Custom Type example shows how to send custom types between
+ \brief The Queued Custom Type example shows how to send custom types between
threads with queued signals and slots.
\image queuedcustomtype-example.png
diff --git a/doc/src/examples/qxmlstreambookmarks.qdoc b/doc/src/examples/qxmlstreambookmarks.qdoc
index ecb8fce..6d2a6f1 100644
--- a/doc/src/examples/qxmlstreambookmarks.qdoc
+++ b/doc/src/examples/qxmlstreambookmarks.qdoc
@@ -29,7 +29,7 @@
\example xml/streambookmarks
\title QXmlStream Bookmarks Example
- The QXmlStream Bookmarks example provides a reader for XML Bookmark
+ \brief The QXmlStream Bookmarks example provides a reader for XML Bookmark
Exchange Language (XBEL) files using Qt's QXmlStreamReader class
for reading, and QXmlStreamWriter class for writing the files.
diff --git a/doc/src/examples/recentfiles.qdoc b/doc/src/examples/recentfiles.qdoc
index 048df01..03c79c6 100644
--- a/doc/src/examples/recentfiles.qdoc
+++ b/doc/src/examples/recentfiles.qdoc
@@ -29,7 +29,7 @@
\example mainwindows/recentfiles
\title Recent Files Example
- The Recent Files example shows how a standard File menu can be extended to show
+ \brief The Recent Files example shows how a standard File menu can be extended to show
the most recent files loaded by a main window application.
\image recentfiles-example.png
diff --git a/doc/src/examples/recipes.qdoc b/doc/src/examples/recipes.qdoc
index f2665eb..c93e4dbe 100644
--- a/doc/src/examples/recipes.qdoc
+++ b/doc/src/examples/recipes.qdoc
@@ -29,7 +29,7 @@
\example xmlpatterns/recipes
\title Recipes Example
- The recipes example shows how to use QtXmlPatterns to query XML data
+ \brief The Recipes example shows how to use QtXmlPatterns to query XML data
loaded from a file.
\tableofcontents
diff --git a/doc/src/examples/regexp.qdoc b/doc/src/examples/regexp.qdoc
index 7b97156..4fc07d6 100644
--- a/doc/src/examples/regexp.qdoc
+++ b/doc/src/examples/regexp.qdoc
@@ -29,7 +29,7 @@
\example tools/regexp
\title Regular Expressions Example
- The Regular Expressions (RegExp) example shows how regular expressions in Qt are
+ \brief The Regular Expressions (RegExp) example shows how regular expressions in Qt are
applied to text by providing an environment in which new regular expressions can be
created and tested on custom text strings.
diff --git a/doc/src/examples/relationaltablemodel.qdoc b/doc/src/examples/relationaltablemodel.qdoc
index f23c69c..1c2c473 100644
--- a/doc/src/examples/relationaltablemodel.qdoc
+++ b/doc/src/examples/relationaltablemodel.qdoc
@@ -29,7 +29,7 @@
\example sql/relationaltablemodel
\title Relational Table Model Example
- The Relational Table Model example shows how to use table views with a relational
+ \brief The Relational Table Model example shows how to use table views with a relational
model to visualize the relations between items in a database.
\image relationaltablemodel-example.png
diff --git a/doc/src/examples/remotecontrol.qdoc b/doc/src/examples/remotecontrol.qdoc
index c92c5e4..e1e60b0 100644
--- a/doc/src/examples/remotecontrol.qdoc
+++ b/doc/src/examples/remotecontrol.qdoc
@@ -29,6 +29,6 @@
\example help/remotecontrol
\title Remote Control Example
- This example shows how to use and control Qt Assistant
+ \brief The Remote Control example shows how to use and control Qt Assistant
as a help viewer.
-*/ \ No newline at end of file
+*/
diff --git a/doc/src/examples/rogue.qdoc b/doc/src/examples/rogue.qdoc
index e93886b..b872008 100644
--- a/doc/src/examples/rogue.qdoc
+++ b/doc/src/examples/rogue.qdoc
@@ -29,7 +29,7 @@
\example statemachine/rogue
\title Rogue Example
- The Rogue example shows how to use the Qt state machine for event
+ \brief The Rogue example shows how to use the Qt state machine for event
handling.
\image rogue-example.png
diff --git a/doc/src/examples/rsslisting.qdoc b/doc/src/examples/rsslisting.qdoc
index 8893325..7ad464f 100644
--- a/doc/src/examples/rsslisting.qdoc
+++ b/doc/src/examples/rsslisting.qdoc
@@ -29,7 +29,7 @@
\example xml/rsslisting
\title RSS-Listing Example
- This example shows how to create a widget that displays news items
+ \brief The RSS-Listing example shows how to create a widget that displays news items
from RDF news sources.
\image rsslistingexample.png
diff --git a/doc/src/examples/samplebuffers.qdoc b/doc/src/examples/samplebuffers.qdoc
index c9d6438..422f96b 100644
--- a/doc/src/examples/samplebuffers.qdoc
+++ b/doc/src/examples/samplebuffers.qdoc
@@ -29,7 +29,7 @@
\example opengl/samplebuffers
\title Sample Buffers Example
- The Sample Buffers example demonstrates how to use and enable
+ \brief The Sample Buffers example demonstrates how to use and enable
sample buffers in a QGLWidget.
\image samplebuffers-example.png
diff --git a/doc/src/examples/saxbookmarks.qdoc b/doc/src/examples/saxbookmarks.qdoc
index e912372..089f2de 100644
--- a/doc/src/examples/saxbookmarks.qdoc
+++ b/doc/src/examples/saxbookmarks.qdoc
@@ -29,8 +29,10 @@
\example xml/saxbookmarks
\title SAX Bookmarks Example
- The SAX Bookmarks example provides a reader for XML Bookmark Exchange Language (XBEL)
- files that uses Qt's SAX-based API to read and parse the files. The DOM Bookmarks
+ \brief The SAX Bookmarks example provides a reader for XML Bookmark Exchange Language (XBEL)
+ files that uses Qt's SAX-based API to read and parse the files.
+
+ The DOM Bookmarks
example provides an alternative way to read this type of file.
\image saxbookmarks-example.png
diff --git a/doc/src/examples/schema.qdoc b/doc/src/examples/schema.qdoc
index 99966a6..0ba794b 100644
--- a/doc/src/examples/schema.qdoc
+++ b/doc/src/examples/schema.qdoc
@@ -29,8 +29,8 @@
\example xmlpatterns/schema
\title XML Schema Validation Example
- This example shows how to use QtXmlPatterns to validate XML with
- a W3C XML Schema.
+ \brief The XML Schema Validation example shows how to use QtXmlPatterns to
+ validate XML with a W3C XML Schema.
\tableofcontents
diff --git a/doc/src/examples/screenshot.qdoc b/doc/src/examples/screenshot.qdoc
index bc87fdb..1d8505f 100644
--- a/doc/src/examples/screenshot.qdoc
+++ b/doc/src/examples/screenshot.qdoc
@@ -29,7 +29,7 @@
\example desktop/screenshot
\title Screenshot Example
- The Screenshot example shows how to take a screenshot of the
+ \brief The Screenshot example shows how to take a screenshot of the
desktop using QApplication and QDesktopWidget. It also shows how
to use QTimer to provide a single-shot timer, and how to
reimplement the QWidget::resizeEvent() event handler to make sure
diff --git a/doc/src/examples/scribble.qdoc b/doc/src/examples/scribble.qdoc
index da9b0b6..56b678c 100644
--- a/doc/src/examples/scribble.qdoc
+++ b/doc/src/examples/scribble.qdoc
@@ -29,7 +29,7 @@
\example widgets/scribble
\title Scribble Example
- The Scribble example shows how to reimplement some of QWidget's
+ \brief The Scribble example shows how to reimplement some of QWidget's
event handlers to receive the events generated for the
application's widgets.
diff --git a/doc/src/examples/script-marshal.qdoc b/doc/src/examples/script-marshal.qdoc
index 90ff69b..852f9be 100644
--- a/doc/src/examples/script-marshal.qdoc
+++ b/doc/src/examples/script-marshal.qdoc
@@ -29,6 +29,6 @@
\example script/marshal
\title Qt Script Marshalling Example
- The Qt Script Marshalling example demonstrates the marshalling of value
+ \brief The Qt Script Marshalling example demonstrates the marshalling of value
types between C++ and Qt Script.
*/
diff --git a/doc/src/examples/script-qscript.qdoc b/doc/src/examples/script-qscript.qdoc
index 6c50c3f..d0c2841 100644
--- a/doc/src/examples/script-qscript.qdoc
+++ b/doc/src/examples/script-qscript.qdoc
@@ -29,6 +29,6 @@
\example script/qscript
\title Qt Script Interpreter Example
- The Qt Script Interpreter example shows how to create an interactive
+ \brief The Qt Script Interpreter example shows how to create an interactive
interpreter for Qt Script.
*/
diff --git a/doc/src/examples/script-qsdbg.qdoc b/doc/src/examples/script-qsdbg.qdoc
index 59ab10e..7e4f05c 100644
--- a/doc/src/examples/script-qsdbg.qdoc
+++ b/doc/src/examples/script-qsdbg.qdoc
@@ -29,6 +29,6 @@
\example script/qsdbg
\title Qt Script Debugger Example
- The Qt Script Debugger example shows how to enable the Qt Script debugger
+ \brief The Qt Script Debugger example shows how to enable the Qt Script debugger
for command line debugging.
*/
diff --git a/doc/src/examples/sdi.qdoc b/doc/src/examples/sdi.qdoc
index 5e3eb79..e975879 100644
--- a/doc/src/examples/sdi.qdoc
+++ b/doc/src/examples/sdi.qdoc
@@ -29,7 +29,7 @@
\example mainwindows/sdi
\title SDI Example
- The SDI example shows how to create a Single Document Interface. It uses a number of
+ \brief The SDI example shows how to create a Single Document Interface. It uses a number of
top-level windows to display the contents of different text files.
\image sdi-example.png
diff --git a/doc/src/examples/securesocketclient.qdoc b/doc/src/examples/securesocketclient.qdoc
index 30ba16a..655465c 100644
--- a/doc/src/examples/securesocketclient.qdoc
+++ b/doc/src/examples/securesocketclient.qdoc
@@ -29,7 +29,7 @@
\example network/securesocketclient
\title Secure Socket Client Example
- The Secure Socket Client example shows how to use QSslSocket to
+ \brief The Secure Socket Client example shows how to use QSslSocket to
communicate over an encrypted (SSL) connection. It also demonstrates how
to deal with authenticity problems, and how to display security and
certificate information.
diff --git a/doc/src/examples/semaphores.qdoc b/doc/src/examples/semaphores.qdoc
index aeced47..3bbf028 100644
--- a/doc/src/examples/semaphores.qdoc
+++ b/doc/src/examples/semaphores.qdoc
@@ -29,7 +29,7 @@
\example threads/semaphores
\title Semaphores Example
- The Semaphores example shows how to use QSemaphore to control
+ \brief The Semaphores example shows how to use QSemaphore to control
access to a circular buffer shared by a producer thread and a
consumer thread.
diff --git a/doc/src/examples/settingseditor.qdoc b/doc/src/examples/settingseditor.qdoc
index a0fcc17..fc581fd 100644
--- a/doc/src/examples/settingseditor.qdoc
+++ b/doc/src/examples/settingseditor.qdoc
@@ -29,7 +29,7 @@
\example tools/settingseditor
\title Settings Editor Example
- The Settings Editor example shows how Qt's standard settings support is used in an
+ \brief The Settings Editor example shows how Qt's standard settings support is used in an
application by providing an editor that enables the user to view the settings for
installed applications, and modify those that can be edited.
diff --git a/doc/src/examples/shapedclock.qdoc b/doc/src/examples/shapedclock.qdoc
index e66b3ef..c46c5a7 100644
--- a/doc/src/examples/shapedclock.qdoc
+++ b/doc/src/examples/shapedclock.qdoc
@@ -29,7 +29,7 @@
\example widgets/shapedclock
\title Shaped Clock Example
- The Shaped Clock example shows how to apply a widget mask to a top-level
+ \brief The Shaped Clock example shows how to apply a widget mask to a top-level
widget to produce a shaped window.
\image shapedclock-example.png
diff --git a/doc/src/examples/sharedmemory.qdoc b/doc/src/examples/sharedmemory.qdoc
index 2f4088b..c67d3f5 100644
--- a/doc/src/examples/sharedmemory.qdoc
+++ b/doc/src/examples/sharedmemory.qdoc
@@ -29,9 +29,10 @@
\example ipc/sharedmemory
\title Shared Memory Example
- The Shared Memory example shows how to use the QSharedMemory class
- to implement inter-process communication using shared memory. To
- build the example, run make. To run the example, start two instances
+ \brief The Shared Memory example shows how to use the QSharedMemory class
+ to implement inter-process communication using shared memory.
+
+ To build the example, run make. To run the example, start two instances
of the executable. The main() function creates an \l {QApplication}
{application} and an instance of our example's Dialog class. The
dialog is displayed and then control is passed to the application in
diff --git a/doc/src/examples/simpledecoration.qdoc b/doc/src/examples/simpledecoration.qdoc
index 3c02009..7b033a6 100644
--- a/doc/src/examples/simpledecoration.qdoc
+++ b/doc/src/examples/simpledecoration.qdoc
@@ -30,7 +30,7 @@
\title Simple Decoration Example
\ingroup qt-embedded
- The Simple Decoration example shows how to create a custom window decoration
+ \brief The Simple Decoration example shows how to create a custom window decoration
for embedded applications.
\image embedded-simpledecoration-example.png
diff --git a/doc/src/examples/simpledommodel.qdoc b/doc/src/examples/simpledommodel.qdoc
index b7fae91..2f7dd41 100644
--- a/doc/src/examples/simpledommodel.qdoc
+++ b/doc/src/examples/simpledommodel.qdoc
@@ -29,7 +29,7 @@
\example itemviews/simpledommodel
\title Simple DOM Model Example
- The Simple DOM Model example shows how an existing class can be adapted for use with
+ \brief The Simple DOM Model example shows how an existing class can be adapted for use with
the model/view framework.
\image simpledommodel-example.png
diff --git a/doc/src/examples/simpleselector.qdoc b/doc/src/examples/simpleselector.qdoc
index 4455c2b..28f9707 100644
--- a/doc/src/examples/simpleselector.qdoc
+++ b/doc/src/examples/simpleselector.qdoc
@@ -29,7 +29,7 @@
\example webkit/simpleselector
\title Simple Selector Example
- The Simple Selector example shows how to use QWebElement to access the
+ \brief The Simple Selector example shows how to use QWebElement to access the
Document Object Model (DOM) in a Web page.
\image webkit-simpleselector.png
diff --git a/doc/src/examples/simpletextviewer.qdoc b/doc/src/examples/simpletextviewer.qdoc
index bf44938..6bb1420 100644
--- a/doc/src/examples/simpletextviewer.qdoc
+++ b/doc/src/examples/simpletextviewer.qdoc
@@ -29,7 +29,7 @@
\example help/simpletextviewer
\title Simple Text Viewer Example
- The Simple Text Viewer example shows how to use \QA as a customized
+ \brief The Simple Text Viewer example shows how to use \QA as a customized
help viewer for your application.
This is done in two stages. Firstly, documentation is created and \QA
diff --git a/doc/src/examples/simpletreemodel.qdoc b/doc/src/examples/simpletreemodel.qdoc
index 00464b2..7989893 100644
--- a/doc/src/examples/simpletreemodel.qdoc
+++ b/doc/src/examples/simpletreemodel.qdoc
@@ -29,9 +29,10 @@
\example itemviews/simpletreemodel
\title Simple Tree Model Example
- The Simple Tree Model example shows how to create a basic, read-only
- hierarchical model to use with Qt's standard view classes. For a
- description of simple non-hierarchical list and table models, see the
+ \brief The Simple Tree Model example shows how to create a basic, read-only
+ hierarchical model to use with Qt's standard view classes.
+
+ For a description of simple non-hierarchical list and table models, see the
\l{Model/View Programming} overview.
\image simpletreemodel-example.png
diff --git a/doc/src/examples/simplewebplugin.qdoc b/doc/src/examples/simplewebplugin.qdoc
new file mode 100644
index 0000000..185cc85
--- /dev/null
+++ b/doc/src/examples/simplewebplugin.qdoc
@@ -0,0 +1,181 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** GNU Free Documentation License
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms
+** and conditions contained in a signed written agreement between you
+** and Nokia.
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \example webkit/simplewebplugin
+ \title Simple Web Plugin Example
+
+ \brief The Simple Web Plugin example shows how to embed a regular Qt widget into a
+ Web page displayed using QWebView.
+
+ \image webkit-simplewebplugin.png A table widget embedded in a Web page.
+
+ In this example, we will show how to include Qt widgets in Web-centric user
+ interfaces.
+
+ \section1 QtWebKit Basics
+
+ QtWebKit provides integration between Qt and WebKit on two different levels.
+ On a low level, Qt provides widgets for Web pages to be rendered onto; on a
+ high level, a set of classes are provided that represent all the key
+ components of a Web browser.
+
+ QWebView is a widget that is used to display Web pages, QWebPage represents
+ the content in a page, and QWebFrame represents an individual frame in a
+ Web page. The code to display a Web page is very simple:
+
+ \snippet webkitsnippets/simple/main.cpp Using QWebView
+
+ The widget provides fundamental Web browsing features, such as Cascading
+ Style Sheet and JavaScript support. Other technologies can be added to
+ provide a more comprehensive experience.
+
+ \section1 Adding a Widget to a Page
+
+ Since Qt is used to render pages, it is easy to add both standard and
+ custom widgets to pages. All we need is some markup to indicate where a
+ widget is expected in a page and a mechanism that lets us know when it
+ needs to be created.
+
+ The markup used involves the \c <object> element, described in the HTML 4
+ specification, which is used to include generic objects in Web pages. When
+ describing an object to represent a widget, there are typically three
+ attributes this element can have: a \c data attribute that indicates where
+ any relevant data can be obtained; \c width and \c height attributes can
+ be used to set the size of the widget on the page.
+
+ Here's how we might describe such an object:
+
+ \snippet examples/webkit/simplewebplugin/pages/index.html embedded object
+
+ The mechanism used by QtWebKit to insert widgets into pages is a plugin
+ factory that is registered with a given WebPage instance. Factories are
+ subclasses of QWebPluginFactory and can be equipped to supply more than one
+ type of widget.
+
+ \section1 Creating a Widget to Embed
+
+ To demonstrate how the factory is used, we create a simple widget that can
+ be used to display Comma-Separated Values (CSV) files. The widget class,
+ \c CSVView, is just a subclass of QTableView with extra functions to set
+ up an internal data model. Instances of the factory class, \c CSVFactory,
+ are responsible for creating \c CSVView widgets and requesting data on
+ their behalf.
+
+ The \c CSVFactory class is defined in the following way:
+
+ \snippet examples/webkit/simplewebplugin/csvfactory.h plugin factory
+
+ The public functions give a good overview of how QtWebKit will use the
+ factory to create widgets. We begin by looking at the factory's constructor:
+
+ \snippet examples/webkit/simplewebplugin/csvfactory.cpp constructor
+
+ The factory contains a network access manager which we will use to obtain
+ data for each of the plugin widgets created.
+
+ The \c plugins() function is used to report information
+ about the kinds of widget plugins it can create; our implementation reports
+ the MIME type it expects and provides a description of the plugin:
+
+ \snippet examples/webkit/simplewebplugin/csvfactory.cpp plugins
+
+ The \c create() function is where most of the action happens. It is
+ called with a MIME type that describes the kind of data to be displayed,
+ a URL that refers to the data, and information about any additional
+ arguments that were specified in the Web page. We begin by checking the
+ basic MIME type information passed in the \c mimeType parameter, and only
+ continue if we recognize it.
+
+ \snippet examples/webkit/simplewebplugin/csvfactory.cpp begin create
+
+ We construct a view widget
+ using the fully-specified MIME type, which is guaranteed to be in the list of
+ arguments if a MIME type has been supplied.
+
+ \snippet examples/webkit/simplewebplugin/csvfactory.cpp submit request
+
+ Lastly, we use the network access manager to request the data specified by
+ the \c url parameter, connecting its \c finished() signal to the view's
+ \c updateModel() slot so that it can collect the data. The reply object is
+ intentionally created on the heap; the \c finished() signal is connected to
+ its \c deleteLater() slot, ensuring that Qt will dispose of it when it is no
+ longer needed.
+
+ The \c CSVView class provides only minor extensions to the functionality of
+ QTableView, with a public slot to handle incoming data and a private
+ variable to record exact MIME type information:
+
+ \snippet examples/webkit/simplewebplugin/csvview.h definition
+
+ The constructor is simply used to record the MIME type of the data:
+
+ \snippet examples/webkit/simplewebplugin/csvview.cpp constructor
+
+ To save space, we will only look at parts of the \c updateModel() function,
+ which begins by obtaining the QNetworkReply object that caused the slot
+ to be invoked before checking for errors:
+
+ \snippet examples/webkit/simplewebplugin/csvview.cpp update model begin
+
+ Assuming that the data is correct, we need to determine whether the
+ CSV file includes a table header, and to find out which character encoding was
+ used to store the data. Both these pieces of information may be included in
+ the complete MIME type information, so we parse this before continuing---this
+ is shown in the online example code.
+
+ \snippet examples/webkit/simplewebplugin/csvview.cpp read data begin
+
+ Since QNetworkReply is a QIODevice subclass, the reply can be read
+ using a suitably configured text stream, and the data fed into a standard
+ model. The mechanics of this can be found in the
+ \l{webkit/simplewebplugin/csvview.cpp}{code listing}. Here, we skip to the
+ end of the function where we close the reply object and set the model on
+ the view:
+
+ \snippet examples/webkit/simplewebplugin/csvview.cpp update model
+
+ Once the reply has been read, and the model populated with data, very little
+ needs to be done by the plugin. Ownership of the view widget is handled
+ elsewhere, and we have ensured that the model will be destroyed when it is
+ no longer needed by making it a child object of the view.
+
+ Let's look quickly at the \c MainWindow implementation:
+
+ \snippet examples/webkit/simplewebplugin/mainwindow.cpp constructor
+
+ Apart from creating and setting a factory on the QWebPage object, the
+ most important task is to enable Web plugins. If this global setting is not
+ enabled, plugins will not be used and our \c <object> elements will simply
+ be ignored.
+
+ \section1 Further Reading
+
+ The \l{Web Plugin Example} extends this example by adding a signal-slot
+ connection between the embedded widget and a JavaScript function in the
+ page.
+*/
diff --git a/doc/src/examples/simplewidgetmapper.qdoc b/doc/src/examples/simplewidgetmapper.qdoc
index 60837fc..705da4b 100644
--- a/doc/src/examples/simplewidgetmapper.qdoc
+++ b/doc/src/examples/simplewidgetmapper.qdoc
@@ -29,7 +29,7 @@
\example itemviews/simplewidgetmapper
\title Simple Widget Mapper Example
- The Simple Widget Mapper example shows how to use a widget mapper to display
+ \brief The Simple Widget Mapper example shows how to use a widget mapper to display
data from a model in a collection of widgets.
\image simplewidgetmapper-example.png
diff --git a/doc/src/examples/sipdialog.qdoc b/doc/src/examples/sipdialog.qdoc
index 349ab18..ce78a9e 100644
--- a/doc/src/examples/sipdialog.qdoc
+++ b/doc/src/examples/sipdialog.qdoc
@@ -30,7 +30,7 @@
\title SIP Dialog Example
\ingroup qtce
- The SIP Dialog example shows how to create a dialog that is aware of
+ \brief The SIP Dialog example shows how to create a dialog that is aware of
the Windows Mobile SIP (Software Input Panel) and reacts to it.
\table
diff --git a/doc/src/examples/sliders.qdoc b/doc/src/examples/sliders.qdoc
index 7e47dcc..fc8af36 100644
--- a/doc/src/examples/sliders.qdoc
+++ b/doc/src/examples/sliders.qdoc
@@ -29,7 +29,7 @@
\example widgets/sliders
\title Sliders Example
- Qt provides three types of slider-like widgets: QSlider,
+ \brief Qt provides three types of slider-like widgets: QSlider,
QScrollBar and QDial. They all inherit most of their
functionality from QAbstractSlider, and can in theory replace
each other in an application since the differences only concern
diff --git a/doc/src/examples/spinboxdelegate.qdoc b/doc/src/examples/spinboxdelegate.qdoc
index 50d5b9c..62f3ced 100644
--- a/doc/src/examples/spinboxdelegate.qdoc
+++ b/doc/src/examples/spinboxdelegate.qdoc
@@ -29,7 +29,7 @@
\example itemviews/spinboxdelegate
\title Spin Box Delegate Example
- The Spin Box Delegate example shows how to create an editor for a custom delegate in
+ \brief The Spin Box Delegate example shows how to create an editor for a custom delegate in
the model/view framework by reusing a standard Qt editor widget.
The model/view framework provides a standard delegate that is used by default
diff --git a/doc/src/examples/spinboxes.qdoc b/doc/src/examples/spinboxes.qdoc
index e87faf1..575d99d 100644
--- a/doc/src/examples/spinboxes.qdoc
+++ b/doc/src/examples/spinboxes.qdoc
@@ -29,7 +29,7 @@
\example widgets/spinboxes
\title Spin Boxes Example
- The Spin Boxes example shows how to use the many different types of spin boxes
+ \brief The Spin Boxes example shows how to use the many different types of spin boxes
available in Qt, from a simple QSpinBox widget to more complex editors like
the QDateTimeEdit widget.
diff --git a/doc/src/examples/sqlwidgetmapper.qdoc b/doc/src/examples/sqlwidgetmapper.qdoc
index cf1a158..453c811 100644
--- a/doc/src/examples/sqlwidgetmapper.qdoc
+++ b/doc/src/examples/sqlwidgetmapper.qdoc
@@ -29,7 +29,7 @@
\example sql/sqlwidgetmapper
\title SQL Widget Mapper Example
- The SQL Widget Mapper example shows how to use a map information from a
+ \brief The SQL Widget Mapper example shows how to use a map information from a
database to widgets on a form.
\image sql-widget-mapper.png
diff --git a/doc/src/examples/standarddialogs.qdoc b/doc/src/examples/standarddialogs.qdoc
index 92005b4..d187715 100644
--- a/doc/src/examples/standarddialogs.qdoc
+++ b/doc/src/examples/standarddialogs.qdoc
@@ -29,7 +29,7 @@
\example dialogs/standarddialogs
\title Standard Dialogs Example
- The Standard Dialogs example shows the standard dialogs that are provided by Qt.
+ \brief The Standard Dialogs example shows the standard dialogs that are provided by Qt.
\image standarddialogs-example.png
*/
diff --git a/doc/src/examples/stardelegate.qdoc b/doc/src/examples/stardelegate.qdoc
index 3b009d5..b94935e 100644
--- a/doc/src/examples/stardelegate.qdoc
+++ b/doc/src/examples/stardelegate.qdoc
@@ -29,7 +29,7 @@
\example itemviews/stardelegate
\title Star Delegate Example
- The Star Delegate example shows how to create a delegate that
+ \brief The Star Delegate example shows how to create a delegate that
can paint itself and that supports editing.
\image stardelegate.png The Star Delegate Example
@@ -42,12 +42,12 @@
editing takes place.
Delegates are subclasses of QAbstractItemDelegate. Qt provides
- QItemDelegate, which inherits QAbstractItemDelegate and handles
- the most common data types (notably \c int and QString). If we
- need to support custom data types, or want to customize the
+ QStyledItemDelegate, which inherits QAbstractItemDelegate and
+ handles the most common data types (notably \c int and QString).
+ If we need to support custom data types, or want to customize the
rendering or the editing for existing data types, we can subclass
- QAbstractItemDelegate or QItemDelegate. See \l{Delegate Classes}
- for more information about delegates, and \l{Model/View
+ QAbstractItemDelegate or QStyledItemDelegate. See \l{Delegate
+ Classes} for more information about delegates, and \l{Model/View
Programming} if you need a high-level introduction to Qt's
model/view architecture (including delegates).
@@ -62,9 +62,9 @@
expressed as stars, such as "2 out of 5 stars" or "5 out of
6 stars".
- \o \c StarDelegate inherits QItemDelegate and provides support
+ \o \c StarDelegate inherits QStyledItemDelegate and provides support
for \c StarRating (in addition to the data types already
- handled by QItemDelegate).
+ handled by QStyledItemDelegate).
\o \c StarEditor inherits QWidget and is used by \c StarDelegate
to let the user edit a star rating using the mouse.
@@ -80,20 +80,20 @@
\snippet examples/itemviews/stardelegate/stardelegate.h 0
All public functions are reimplemented virtual functions from
- QItemDelegate to provide custom rendering and editing.
+ QStyledItemDelegate to provide custom rendering and editing.
\section1 StarDelegate Class Implementation
- The \l{QAbstractItemDelegate::}{paint()} function is
- reimplemented from QItemDelegate and is called whenever the view
- needs to repaint an item:
+ The \l{QAbstractItemDelegate::}{paint()} function is reimplemented
+ from QStyledItemDelegate and is called whenever the view needs to
+ repaint an item:
\snippet examples/itemviews/stardelegate/stardelegate.cpp 0
The function is invoked once for each item, represented by a
QModelIndex object from the model. If the data stored in the item
is a \c StarRating, we paint it ourselves; otherwise, we let
- QItemDelegate paint it for us. This ensures that the \c
+ QStyledItemDelegate paint it for us. This ensures that the \c
StarDelegate can handle the most common data types.
In the case where the item is a \c StarRating, we draw the
diff --git a/doc/src/examples/states.qdoc b/doc/src/examples/states.qdoc
index 815c969..284b4ec 100644
--- a/doc/src/examples/states.qdoc
+++ b/doc/src/examples/states.qdoc
@@ -29,7 +29,7 @@
\example animation/states
\title States Example
- The States example shows how to use the Qt state machine to play
+ \brief The States example shows how to use the Qt state machine to play
animations.
\image states-example.png
diff --git a/doc/src/examples/stickman.qdoc b/doc/src/examples/stickman.qdoc
index 8c35fe1..d980586 100644
--- a/doc/src/examples/stickman.qdoc
+++ b/doc/src/examples/stickman.qdoc
@@ -29,7 +29,7 @@
\example animation/stickman
\title Stickman Example
- The Stickman example shows how to animate transitions in a state machine to implement key frame
+ \brief The Stickman example shows how to animate transitions in a state machine to implement key frame
animations.
\image stickman-example.png
diff --git a/doc/src/examples/styleplugin.qdoc b/doc/src/examples/styleplugin.qdoc
index 59729c7..a38b8d7 100644
--- a/doc/src/examples/styleplugin.qdoc
+++ b/doc/src/examples/styleplugin.qdoc
@@ -29,7 +29,7 @@
\example tools/styleplugin
\title Style Plugin Example
- This example shows how to create a plugin that extends Qt with a new
+ \brief The Style Plugin example shows how to create a plugin that extends Qt with a new
GUI look and feel.
\image stylepluginexample.png
diff --git a/doc/src/examples/styles.qdoc b/doc/src/examples/styles.qdoc
index 5258c19..f9ac48c 100644
--- a/doc/src/examples/styles.qdoc
+++ b/doc/src/examples/styles.qdoc
@@ -29,7 +29,7 @@
\example widgets/styles
\title Styles Example
- The Styles example illustrates how to create custom widget
+ \brief The Styles example illustrates how to create custom widget
drawing styles using Qt, and demonstrates Qt's predefined styles.
\image styles-enabledwood.png Screenshot of the Styles example
diff --git a/doc/src/examples/stylesheet.qdoc b/doc/src/examples/stylesheet.qdoc
index a82d0d1..edb684b 100644
--- a/doc/src/examples/stylesheet.qdoc
+++ b/doc/src/examples/stylesheet.qdoc
@@ -29,7 +29,7 @@
\example widgets/stylesheet
\title Style Sheet Example
- The Style Sheet Example shows how to use style sheets.
+ \brief The Style Sheet Example shows how to use style sheets with Qt.
\image stylesheet-pagefold.png Screen Shot of the Pagefold style sheet
*/
diff --git a/doc/src/examples/svgalib.qdoc b/doc/src/examples/svgalib.qdoc
index dbdad0f..a0320e7 100644
--- a/doc/src/examples/svgalib.qdoc
+++ b/doc/src/examples/svgalib.qdoc
@@ -29,9 +29,11 @@
\example qws/svgalib
\title Accelerated Graphics Driver Example
- The Accelerated Graphics Driver example shows how you can write
+ \brief The Accelerated Graphics Driver example shows how you can write
your own accelerated graphics driver and \l {add your graphics
- driver to Qt for Embedded Linux}. In \l{Qt for Embedded Linux},
+ driver to Qt for Embedded Linux}.
+
+ In \l{Qt for Embedded Linux},
painting is a pure software implementation and is normally performed
in two steps:
The clients render each window onto a corresponding surface
diff --git a/doc/src/examples/svggenerator.qdoc b/doc/src/examples/svggenerator.qdoc
index 1fce379..ed5ea77 100644
--- a/doc/src/examples/svggenerator.qdoc
+++ b/doc/src/examples/svggenerator.qdoc
@@ -29,7 +29,7 @@
\example painting/svggenerator
\title SVG Generator Example
- The SVG Generator example shows how to add SVG file export to applications.
+ \brief The SVG Generator example shows how to add SVG file export to applications.
\image svggenerator-example.png
diff --git a/doc/src/examples/svgviewer.qdoc b/doc/src/examples/svgviewer.qdoc
index f393b08..93671b6 100644
--- a/doc/src/examples/svgviewer.qdoc
+++ b/doc/src/examples/svgviewer.qdoc
@@ -29,7 +29,7 @@
\example painting/svgviewer
\title SVG Viewer Example
- The SVG Viewer example shows how to add SVG viewing support to applications.
+ \brief The SVG Viewer example shows how to add SVG viewing support to applications.
\image svgviewer-example.png
diff --git a/doc/src/examples/symbianvibration.qdoc b/doc/src/examples/symbianvibration.qdoc
new file mode 100644
index 0000000..a6a3d52
--- /dev/null
+++ b/doc/src/examples/symbianvibration.qdoc
@@ -0,0 +1,192 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** GNU Free Documentation License
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms
+** and conditions contained in a signed written agreement between you
+** and Nokia.
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*! \example widgets/symbianvibration
+ \group all-examples
+ \title Symbian Vibration Example
+
+ \brief The Symbian Vibrator example shows how to get fine-grained vibration
+ control on Symbian devices.
+
+ Native Symbian APIs have to be used to enable vibration, since QtMobility
+ doesn't provide an interface for it yet. It is, however, planned to be
+ included in a future release. In anticipation for that, we make use of the
+ \c XQVibra class that was a part of the Mobile Extensions Technology Preview
+ API for Qt for Symbian. The pre-compiled libraries are no longer compatible
+ with Qt 4.6, but we can include the source code itself with the project.
+
+ \image symbianvibration-example.png Screenshot of the Symbian Vibration example
+
+ The example application divides the window into rectangles, which can be
+ pressed to make the device vibrate. Pressing different rectangles make the
+ device vibrate with different intensities. Each rectangle has a different
+ color and its intensity number is drawn on top of it. Moving the cursor
+ from one rectangle to another changes the vibration intensity to that of
+ the new one. Vibration stops when the mouse button has been released. It
+ is also possible to launch a short burst of vibration through the menu.
+
+ The example consists of four classes:
+
+ \list
+ \o \c XQVibra is the vibration interface class taken from the Mobile
+ Extensions for Qt for Symbian.
+
+ \o \c XQVibraPrivate is the Symbian specific private implementation of the
+ vibration implementation.
+
+ \o \c VibrationSurface is a custom widget that uses a XQVibra instance to
+ vibrate the device depending on where the user presses.
+
+ \o \c MainWindow inherits from QMainWindow and contains a \c VibrationSurface
+ as its central widget, and also has a menu from which it is possible to
+ make the phone vibrate.
+ \endlist
+
+ \section1 XQVibra Class Definition
+
+ The \c XQVibra class uses the pimpl-idiom to hide the platform specific
+ implementation behind a common interface. Technically it would be possible
+ to support more target platforms, with only the addition of a private
+ implementation. The rest of the code would work the same, since only the
+ common interface is used.
+
+ \snippet examples/widgets/symbianvibration/xqvibra.h 0
+
+ \c XQVibra provides a very simple interface for us to use. The interesting
+ part are the three slots \c start(), \c stop() and \c setIntensity(). Calling the start
+ method initiates vibration for the specified duration. Calling it while the
+ device is already vibrating causes it to stop the current one and start the
+ new one, even if the intensities are the same. The \c setIntensity() method
+ should be called before starting vibration.
+
+
+ \section1 VibrationSurface Class Definition
+
+ \c VibrationSurface inherits from QWidget and acts like a controller for a
+ \c XQVibra object. It responds to mouse events and performs custom painting.
+
+ \snippet examples/widgets/symbianvibration/vibrationsurface.h 0
+
+ The virtual event methods are reimplemented from QWidget. As can be seen,
+ there is no public programmable interface beyond what QWidget provides.
+
+
+ \section1 VibrationSurface Class Implementation
+
+ Mouse events control the intensity of the vibration.
+
+ \snippet examples/widgets/symbianvibration/vibrationsurface.cpp 0
+ \codeline
+ \snippet examples/widgets/symbianvibration/vibrationsurface.cpp 1
+ \codeline
+ \snippet examples/widgets/symbianvibration/vibrationsurface.cpp 2
+
+ Presses starts the vibration, movement changes the intensity and releases
+ stops the vibration. To set the right amount of vibration, the private
+ method \c applyIntensity() is used. It sets the vibration intensity according to
+ which rectangle the mouse currently resides in.
+
+ \snippet examples/widgets/symbianvibration/vibrationsurface.cpp 3
+
+ We make sure only to change the intensity if it is different than last
+ time, so that the vibrator isn't stopped and restarted unnecessarily.
+
+ The range of vibration intensity ranges from 0 to XQVibra::MaxIntensity. We
+ divide this range into a set of levels. The number of levels and the intensity
+ increase for each level are stored in two constants.
+
+ \snippet examples/widgets/symbianvibration/vibrationsurface.cpp 4
+
+ Each rectangle has an intensity of one \c IntensityPerLevel more than the
+ previous one.
+
+ \snippet examples/widgets/symbianvibration/vibrationsurface.cpp 5
+
+ The rectangles are either put in a row, if the widget's width is greater
+ than its height (landscape), otherwise they are put in a column (portrait).
+ Each rectangle's size is thus dependent on the length of the width or the
+ height of the widget, whichever is longer. The length is then divided by
+ the number of levels, which gets us either the height or the width of each
+ rectangle. The dx and dy specify the distance from one rectangle to the
+ next, which is the same as either the width or height of the rectangle.
+
+ \snippet examples/widgets/symbianvibration/vibrationsurface.cpp 6
+
+ For each level of intensity, we draw a rectangle with increasing
+ brightness. On top of the rectangle a text label is drawn, specifying the
+ intesity of this level. We use the rectangle rect as a template for
+ drawing, and move it down or right at each iteration.
+
+ The intensity is calculated by dividing the greater of the width and height
+ into \c NumberOfLevels slices.
+
+ \snippet examples/widgets/symbianvibration/vibrationsurface.cpp 7
+
+ In case the widget's geometry is too small to fit all the levels, the user
+ interface will not work. For simplicity, we just return 0.
+
+ When we know the axis along which the rectangles lie, we can find the one
+ in which the mouse cursor lie.
+
+ \snippet examples/widgets/symbianvibration/vibrationsurface.cpp 8
+
+ The final clamp of the intensity value at the end is necessary in case the
+ mouse coordinate lies outside the widget's geometry.
+
+
+ \section1 MainWindow Class Definition
+
+ Here's the definition of the \c MainWindow class:
+
+ \snippet examples/widgets/symbianvibration/mainwindow.h 0
+
+ \c MainWindow is a top level window that uses a \c XQVibra and a
+ \c VibrationSurface. It also adds a menu option to the menu bar which can
+ start a short vibration.
+
+ \section1 MainWindow Class Implementation
+
+ In the \c MainWindow constructor the \c XQVibra and the \c VibrationSurface
+ are created. An action is added to the menu and is connected to the vibrate
+ slot.
+
+ \snippet examples/widgets/symbianvibration/mainwindow.cpp 0
+
+ The \c vibrate() slot offers a way to invoke the vibration in case no
+ mouse is present on the device.
+
+ \snippet examples/widgets/symbianvibration/mainwindow.cpp 1
+
+ \section1 Symbian Vibration Library
+
+ The \c XQVibra class requires a platform library to be included. It is
+ included in the \c .pro file for the symbian target.
+
+ \quotefromfile examples/widgets/symbianvibration/symbianvibration.pro
+ \skipto /^symbian \{/
+ \printuntil /^\}/
+*/
diff --git a/doc/src/examples/syntaxhighlighter.qdoc b/doc/src/examples/syntaxhighlighter.qdoc
index 703bd62..13409dc 100644
--- a/doc/src/examples/syntaxhighlighter.qdoc
+++ b/doc/src/examples/syntaxhighlighter.qdoc
@@ -29,7 +29,7 @@
\example richtext/syntaxhighlighter
\title Syntax Highlighter Example
- The Syntax Highlighter example shows how to perform simple syntax
+ \brief The Syntax Highlighter example shows how to perform simple syntax
highlighting by subclassing the QSyntaxHighlighter class.
\image syntaxhighlighter-example.png
@@ -239,4 +239,14 @@
function. The QSyntaxHighlighter class also provides the \l
{QSyntaxHighlighter::document()}{document()} function which
returns the currently set document.
+
+ \section1 Other Code Editor Features
+
+ It is possible to implement parenthesis matching with
+ QSyntaxHighlighter. The "Matching Parentheses with
+ QSyntaxHighlighter" article in Qt Quarterly 31
+ (\l{http://doc.qt.nokia.com/qq/}) implements this. We also have
+ the \l{Code Editor Example}, which shows how to implement line
+ numbers and how to highlight the current line.
+
*/
diff --git a/doc/src/examples/systray.qdoc b/doc/src/examples/systray.qdoc
index e072c9d..22f3779 100644
--- a/doc/src/examples/systray.qdoc
+++ b/doc/src/examples/systray.qdoc
@@ -29,8 +29,7 @@
\example desktop/systray
\title System Tray Icon Example
-
- The System Tray Icon example shows how to add an icon with a menu
+ \brief The System Tray Icon example shows how to add an icon with a menu
and popup messages to a desktop environment's system tray.
\image systemtray-example.png Screenshot of the System Tray Icon.
diff --git a/doc/src/examples/tabdialog.qdoc b/doc/src/examples/tabdialog.qdoc
index b192645..d450783 100644
--- a/doc/src/examples/tabdialog.qdoc
+++ b/doc/src/examples/tabdialog.qdoc
@@ -29,7 +29,7 @@
\example dialogs/tabdialog
\title Tab Dialog Example
- The Tab Dialog example shows how to construct a tab dialog using the
+ \brief The Tab Dialog example shows how to construct a tab dialog using the
QTabWidget class.
Dialogs provide an efficient way for the application to communicate
diff --git a/doc/src/examples/tablemodel.qdoc b/doc/src/examples/tablemodel.qdoc
index bd81763..ad2d557 100644
--- a/doc/src/examples/tablemodel.qdoc
+++ b/doc/src/examples/tablemodel.qdoc
@@ -29,7 +29,7 @@
\example sql/tablemodel
\title Table Model Example
- The Table Model example shows how to use a specialized SQL table model with table
+ \brief The Table Model example shows how to use a specialized SQL table model with table
views to edit information in a database.
\image tablemodel-example.png
diff --git a/doc/src/examples/tablet.qdoc b/doc/src/examples/tablet.qdoc
index 8639ab6..8c29642 100644
--- a/doc/src/examples/tablet.qdoc
+++ b/doc/src/examples/tablet.qdoc
@@ -29,7 +29,7 @@
\example widgets/tablet
\title Tablet Example
- This example shows how to use a Wacom tablet in Qt applications.
+ \brief The Tablet example shows how to use a Wacom tablet in Qt applications.
\image tabletexample.png
diff --git a/doc/src/examples/taskmenuextension.qdoc b/doc/src/examples/taskmenuextension.qdoc
index a5562eb..2414ae4 100644
--- a/doc/src/examples/taskmenuextension.qdoc
+++ b/doc/src/examples/taskmenuextension.qdoc
@@ -29,7 +29,7 @@
\example designer/taskmenuextension
\title Task Menu Extension Example
- The Task Menu Extension example shows how to create a custom
+ \brief The Task Menu Extension example shows how to create a custom
widget plugin for \l {Qt Designer Manual}{\QD}, and how to to use
the QDesignerTaskMenuExtension class to provide custom task menu
entries associated with the plugin.
diff --git a/doc/src/examples/tetrix.qdoc b/doc/src/examples/tetrix.qdoc
index e37d2b6..92e9e28 100644
--- a/doc/src/examples/tetrix.qdoc
+++ b/doc/src/examples/tetrix.qdoc
@@ -29,7 +29,7 @@
\example widgets/tetrix
\title Tetrix Example
- The Tetrix example is a Qt version of the classic Tetrix game.
+ \brief The Tetrix example is a Qt version of the classic Tetrix game.
\image tetrix-example.png
diff --git a/doc/src/examples/textfinder.qdoc b/doc/src/examples/textfinder.qdoc
index fc6d2ba..87947ac 100644
--- a/doc/src/examples/textfinder.qdoc
+++ b/doc/src/examples/textfinder.qdoc
@@ -29,8 +29,10 @@
\example uitools/textfinder
\title Text Finder Example
- The Text Finder example demonstrates how to dynamically process forms
- using the QtUiTools module. Dynamic form processing enables a form to
+ \brief The Text Finder example demonstrates how to dynamically process forms
+ using the QtUiTools module.
+
+ Dynamic form processing enables a form to
be processed at run-time only by changing the UI file for the project.
The program allows the user to look up a particular word within the
contents of a text file. This text file is included in the project's
diff --git a/doc/src/examples/textobject.qdoc b/doc/src/examples/textobject.qdoc
index 30bf417..a108038 100644
--- a/doc/src/examples/textobject.qdoc
+++ b/doc/src/examples/textobject.qdoc
@@ -29,7 +29,7 @@
\example richtext/textobject
\title Text Object Example
- The Text Object example shows how to insert an SVG file into a
+ \brief The Text Object example shows how to insert an SVG file into a
QTextDocument.
\image textobject-example.png
diff --git a/doc/src/examples/textures.qdoc b/doc/src/examples/textures.qdoc
index 52bde78..09f6d9a 100644
--- a/doc/src/examples/textures.qdoc
+++ b/doc/src/examples/textures.qdoc
@@ -29,7 +29,7 @@
\example opengl/textures
\title Textures Example
- The Textures example demonstrates the use of Qt's image classes as textures in
+ \brief The Textures example demonstrates the use of Qt's image classes as textures in
applications that use both OpenGL and Qt to display graphics.
\image textures-example.png
diff --git a/doc/src/examples/threadedfortuneserver.qdoc b/doc/src/examples/threadedfortuneserver.qdoc
index 87da054..855d735 100644
--- a/doc/src/examples/threadedfortuneserver.qdoc
+++ b/doc/src/examples/threadedfortuneserver.qdoc
@@ -29,9 +29,11 @@
\example network/threadedfortuneserver
\title Threaded Fortune Server Example
- The Threaded Fortune Server example shows how to create a server for a
+ \brief The Threaded Fortune Server example shows how to create a server for a
simple network service that uses threads to handle requests from different
- clients. It is intended to be run alongside the Fortune Client example.
+ clients.
+
+ The example is intended to be run alongside the Fortune Client example.
\image threadedfortuneserver-example.png
diff --git a/doc/src/examples/tooltips.qdoc b/doc/src/examples/tooltips.qdoc
index 9786c40..4abdf99 100644
--- a/doc/src/examples/tooltips.qdoc
+++ b/doc/src/examples/tooltips.qdoc
@@ -29,7 +29,7 @@
\example widgets/tooltips
\title Tool Tips Example
- The Tool Tips example shows how to provide static and dynamic tool
+ \brief The Tool Tips example shows how to provide static and dynamic tool
tips for an application's widgets.
The simplest and most common way to set a widget's tool tip is by
diff --git a/doc/src/examples/torrent.qdoc b/doc/src/examples/torrent.qdoc
index 86c0b0c..9082441 100644
--- a/doc/src/examples/torrent.qdoc
+++ b/doc/src/examples/torrent.qdoc
@@ -29,7 +29,7 @@
\example network/torrent
\title Torrent Example
- The Torrent example is a functional BitTorrent client that
+ \brief The Torrent example is a functional BitTorrent client that
illustrates how to write a complex TCP/IP application using Qt.
\image torrent-example.png
diff --git a/doc/src/examples/touch-dials.qdoc b/doc/src/examples/touch-dials.qdoc
index f80e72e..008a7f2 100644
--- a/doc/src/examples/touch-dials.qdoc
+++ b/doc/src/examples/touch-dials.qdoc
@@ -29,7 +29,7 @@
\example touch/dials
\title Touch Dials Example
- The Touch Dials example shows how to apply touch to a set of
+ \brief The Touch Dials example shows how to apply touch to a set of
standard Qt widgets.
\image touch-dials-example.png
diff --git a/doc/src/examples/touch-knobs.qdoc b/doc/src/examples/touch-knobs.qdoc
index 44ff8a8..4abc64c 100644
--- a/doc/src/examples/touch-knobs.qdoc
+++ b/doc/src/examples/touch-knobs.qdoc
@@ -29,7 +29,7 @@
\example touch/knobs
\title Touch Knobs Example
- The Touch Knobs example shows how to create custom controls that
+ \brief The Touch Knobs example shows how to create custom controls that
accept touch input.
\image touch-knobs-example.png
diff --git a/doc/src/examples/trafficinfo.qdoc b/doc/src/examples/trafficinfo.qdoc
index dc12f37..b73f5ce 100644
--- a/doc/src/examples/trafficinfo.qdoc
+++ b/doc/src/examples/trafficinfo.qdoc
@@ -29,7 +29,7 @@
\example xmlpatterns/trafficinfo
\title TrafficInfo Example
- Shows how XQuery can be used extract information from WML documents provided by a WAP service.
+ \brief The Traffic Info example shows how XQuery can be used extract information from WML documents provided by a WAP service.
\section1 Overview
diff --git a/doc/src/examples/trafficlight.qdoc b/doc/src/examples/trafficlight.qdoc
index 828195e..cf6bb19 100644
--- a/doc/src/examples/trafficlight.qdoc
+++ b/doc/src/examples/trafficlight.qdoc
@@ -29,7 +29,7 @@
\example statemachine/trafficlight
\title Traffic Light Example
- The Traffic Light example shows how to use \l{The State Machine Framework}
+ \brief The Traffic Light example shows how to use \l{The State Machine Framework}
to implement the control flow of a traffic light.
\image trafficlight-example.png
diff --git a/doc/src/examples/transformations.qdoc b/doc/src/examples/transformations.qdoc
index 26b558c..c4888f9 100644
--- a/doc/src/examples/transformations.qdoc
+++ b/doc/src/examples/transformations.qdoc
@@ -29,7 +29,7 @@
\example painting/transformations
\title Transformations Example
- The Transformations example shows how transformations influence
+ \brief The Transformations example shows how transformations influence
the way that QPainter renders graphics primitives. In particular
it shows how the order of transformations affect the result.
diff --git a/doc/src/examples/treemodelcompleter.qdoc b/doc/src/examples/treemodelcompleter.qdoc
index 4caba0d..94c363e 100644
--- a/doc/src/examples/treemodelcompleter.qdoc
+++ b/doc/src/examples/treemodelcompleter.qdoc
@@ -29,7 +29,7 @@
\example tools/treemodelcompleter
\title Tree Model Completer Example
- The Tree Model Completer example shows how to provide completion
+ \brief The Tree Model Completer example shows how to provide completion
facilities for a hierarchical model, using a period as the separator
to access Child, GrandChild and GrandGrandChild level objects.
diff --git a/doc/src/examples/trivialwizard.qdoc b/doc/src/examples/trivialwizard.qdoc
index e654a78..df8378f 100644
--- a/doc/src/examples/trivialwizard.qdoc
+++ b/doc/src/examples/trivialwizard.qdoc
@@ -29,7 +29,7 @@
\example dialogs/trivialwizard
\title Trivial Wizard Example
- The Trivial Wizard example illustrates how to create a linear three-page
+ \brief The Trivial Wizard example illustrates how to create a linear three-page
registration wizard using three instances of QWizardPage and one instance
of QWizard.
diff --git a/doc/src/examples/trollprint.qdoc b/doc/src/examples/trollprint.qdoc
index de6cc60..faa6405 100644
--- a/doc/src/examples/trollprint.qdoc
+++ b/doc/src/examples/trollprint.qdoc
@@ -29,7 +29,7 @@
\example linguist/trollprint
\title Troll Print Example
- Troll Print is an example application that lets the user choose
+ \brief Troll Print is an example application that lets the user choose
printer settings. It comes in two versions: English and
Portuguese.
diff --git a/doc/src/examples/twowaybutton.qdoc b/doc/src/examples/twowaybutton.qdoc
index b42615e..8e3f5a6 100644
--- a/doc/src/examples/twowaybutton.qdoc
+++ b/doc/src/examples/twowaybutton.qdoc
@@ -29,7 +29,7 @@
\example statemachine/twowaybutton
\title Two-way Button Example
- The Two-way button example shows how to use \l{The State Machine
+ \brief The Two-way button example shows how to use \l{The State Machine
Framework} to implement a simple state machine that toggles the current
state when a button is clicked.
diff --git a/doc/src/examples/undoframework.qdoc b/doc/src/examples/undoframework.qdoc
index 15372ec..2fdb4cf 100644
--- a/doc/src/examples/undoframework.qdoc
+++ b/doc/src/examples/undoframework.qdoc
@@ -29,7 +29,7 @@
\example tools/undoframework
\title Undo Framework Example
- This example shows how to implement undo/redo functionality
+ \brief The Undo Framework example shows how to implement undo/redo functionality
with the Qt undo framework.
\image undoframeworkexample.png The Undo Diagram Example
diff --git a/doc/src/examples/videographicsitem.qdoc b/doc/src/examples/videographicsitem.qdoc
index f52e043..76f54cb 100644
--- a/doc/src/examples/videographicsitem.qdoc
+++ b/doc/src/examples/videographicsitem.qdoc
@@ -29,7 +29,7 @@
\example multimedia/videographicsitem
\title Video Graphics Item Example
- The Video Graphics Item example shows how to implement a QGraphicsItem that displays video on a
+ \brief The Video Graphics Item example shows how to implement a QGraphicsItem that displays video on a
graphics scene using QtMultimedia's QAbstractVideoSurface.
\image video-videographicsitem.png
diff --git a/doc/src/examples/videowidget.qdoc b/doc/src/examples/videowidget.qdoc
index c9a87ce..d2dab10 100644
--- a/doc/src/examples/videowidget.qdoc
+++ b/doc/src/examples/videowidget.qdoc
@@ -29,7 +29,7 @@
\example multimedia/videowidget
\title Video Widget Example
- The Video Widget example shows how to implement a video widget using
+ \brief The Video Widget example shows how to implement a video widget using
QtMultimedia's QAbstractVideoSurface
\image video-videowidget.png
diff --git a/doc/src/examples/waitconditions.qdoc b/doc/src/examples/waitconditions.qdoc
index 0d0cd1b..f2f07c5 100644
--- a/doc/src/examples/waitconditions.qdoc
+++ b/doc/src/examples/waitconditions.qdoc
@@ -29,7 +29,7 @@
\example threads/waitconditions
\title Wait Conditions Example
- The Wait Conditions example shows how to use QWaitCondition and
+ \brief The Wait Conditions example shows how to use QWaitCondition and
QMutex to control access to a circular buffer shared by a
producer thread and a consumer thread.
diff --git a/doc/src/examples/webftpclient.qdoc b/doc/src/examples/webftpclient.qdoc
new file mode 100644
index 0000000..47006f9
--- /dev/null
+++ b/doc/src/examples/webftpclient.qdoc
@@ -0,0 +1,336 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** GNU Free Documentation License
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms
+** and conditions contained in a signed written agreement between you
+** and Nokia.
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \example webkit/webftpclient
+ \title Web FTP Client Example
+
+ \brief The Web FTP Client example shows how to add support for a new protocol
+ to QtWebKit-based applications.
+
+ \image webkit-webftpclient.png An FTP client displaying the contents of the ftp.qt.nokia.com site.
+
+ \section1 Introduction
+
+ The QtWebKit module presents many ways to integrate the worlds of native
+ desktop and mobile applications and the Web, making it possible for
+ developers to extend and combine features found in Qt and WebKit to create
+ new ones. In this article, we examine the use of Qt's network access API
+ with WebKit and show how to turn QWebView into a simple FTP client.
+
+ In the \l{Web Plugin Example}, we extended Qt's WebKit integration by
+ showing how to add custom widgets to Web pages. In the article, we used
+ QNetworkRequest to ask for content for display in a widget, and we obtained
+ the data returned by the server by reading from the corresponding
+ QNetworkReply.
+
+ Qt's network access API is a technology that aims to replace much, but not
+ all, of the functionality provided by the QHttp and QFtp classes.
+ Although the network access API is a Qt-specific technology, the QtWebKit
+ module integrates this Qt technology with WebKit to enable customization of
+ the browser engine by Qt application developers. It also means that we can
+ control how the browser engine obtains and renders content.
+
+ Since QNetworkRequest and QNetworkReply are designed to provide a reusable
+ abstraction for network operations, it seems obvious to use these classes
+ to add FTP support to browsers written using QtWebKit. To do this, we first
+ need to examine the network access classes before we see how the QtWebKit
+ module uses them to manage network operations.
+
+ \section1 Network Access
+
+ The central class in Qt's network access API is QNetworkAccessManager.
+ This class performs the work of dispatching requests to remote servers and
+ handling incoming replies. Applications typically construct an instance of
+ this class and use it for all high level network communication.
+
+ Applications create QNetworkRequest objects, each of them specifying a URL
+ where the request is to be sent and containing meta-data that will be
+ understood by the server. Each request is dispatched by passing it to a
+ function in the network manager \mdash there are different functions
+ corresponding to different kinds of operations, such as
+ \l{QNetworkAccessManager::}{get()}, \l{QNetworkAccessManager::}{put()} and
+ \l{QNetworkAccessManager::}{post()}. Each of these functions returns a
+ QNetworkReply object which is used to obtain the content sent in the reply,
+ as well as any meta-data that describes it.
+
+ The QtWebKit module provides the QWebPage class which represents the
+ content displayed in a QWebView widget. Behind the scenes, this class uses
+ a default network access manager to handle network communication. This
+ default manager works perfectly well for fetching content over HTTP from
+ \tt{http://} URLs, but only supports fetching of files over FTP when using
+ \tt{ftp://} URLs.
+
+ Fortunately, QWebPage provides the \l{QWebPage::}{setNetworkAccessManager()}
+ function that allows the default manager to be replaced with one with more
+ features. This lets us add improved support for FTP quite easily if we can
+ write a new manager that supports \tt{ftp://} URLs.
+
+ The process of replacing the manager and using a new one with an existing
+ QWebPage object can be broken up into three steps:
+
+ \list 1
+ \o Creating a new QNetworkAccessManager subclass.
+ \o Creating a new QNetworkReply subclass to deal with the FTP protocol.
+ \o Setting the new manager on the QWebPage.
+ \endlist
+
+ Additionally, to provide a reasonable user experience, we should also handle
+ content that the browser engine cannot display. To do this, we create a
+ custom \c{Downloader} object. We will briefly return to this topic later.
+
+ \section1 Creating a New Network Manager
+
+ Replacing an existing network manager for a QWebPage is conceptually simple:
+ we subclass QNetworkAccessManager and reimplement its
+ \l{QNetworkAccessManager::}{createRequest()} function to check for URLs
+ with the \tt{ftp} scheme. However, we want to ensure that the manager uses
+ any existing cache and proxy settings that may have been set up for the
+ existing manager used by the QWebPage.
+
+ To keep the existing proxy and cache, we give our network manager a
+ constructor that accepts the old manager as an argument. In the constructor,
+ we reuse the settings from the old manager.
+
+ \snippet examples/webkit/webftpclient/networkaccessmanager.cpp constructor
+
+ The \c{createRequest()} function is used to create and dispatch requests to
+ remote servers for each of the different kinds of operation that the API
+ presents to the developer. Since we are only interested in performing simple
+ fetches of resources using the \tt{ftp} scheme, we filter out other schemes
+ and other kinds of operation, delegating the task of handling these to the
+ default implementation.
+
+ \snippet examples/webkit/webftpclient/networkaccessmanager.cpp create request
+
+ Here, we construct and return an instance of the \c FtpReply class. This
+ class performs most of the work of handling the FTP protocol.
+
+ \section1 Creating a Custom Reply
+
+ The network access API is designed to be simple to use: we set up a request,
+ dispatch it using the network manager, and obtain a QNetworkReply object.
+ If we are not interested in the reply's meta-data, we can simply read the
+ data using its \l{QNetworkReply::}{readAll()} function because QNetworkReply
+ is a QIODevice subclass.
+
+ In order to keep the API so simple, however, we need to perform some work
+ behind the scenes. In this case, that means that we must perform a series of
+ communications with the FTP server. Fortunately, we can use the existing
+ implementation provided by QFtp to perform the low level work.
+
+ In the \c FtpReply class, we need to reimplement four functions in the
+ API to ensure that it will work correctly. These functions,
+ \l{QNetworkReply::}{abort()}, \l{QIODevice::}{bytesAvailable()},
+ \l{QIODevice::}{isSequential()}, \l{QIODevice::}{readData()},
+ rely on the rest of the implementation to fill a QByteArray with data and
+ use an integer offset to track how much has been read from the device by
+ the browser.
+
+ \snippet examples/webkit/webftpclient/ftpreply.h class definition
+
+ The \c{processCommand()}, \c{processListInfo} and \c{processData()} slots
+ handle interaction with the FTP server. The private \c{setContent()} and
+ \c{setListContent()} functions are used to add meta-data to the reply and
+ compose HTML for the browser to display.
+
+ Two of the private variables hold information about the data obtained from
+ the FTP server: \c items is updated to contain information about each
+ file found at a given URL, and \c content contains the raw data obtained
+ from the server. The \c offset variable is used to track how much data has
+ been read by the browser from the reply.
+
+ In the constructor, we construct a QFtp object and connect the signals and
+ slots that form the basis of the interaction with the FTP server. The high
+ level communication is reported by the \l{QFtp::}{commandFinished()}
+ signal. New data from the server is reported by the
+ \l{QFtp::}readyRead()} signal.
+ Individual items in an FTP directory listing are reported by the
+ \l{QFtp::}{listInfo()} signal.
+
+ \snippet examples/webkit/webftpclient/ftpreply.cpp constructor
+
+ We also initialize the \c offset into the data that represents the number
+ of bytes that the browser has read from the reply. Additionally, we define
+ a list of units for use with the \c setListContent() function.
+ The last two tasks performed in the constructor are to set the URL of the
+ reply so that the browser can tell where it came from, and to connect to
+ the FTP server.
+
+ \section2 Fetching Data from the Server
+
+ All communication with the server is handled by the \c processCommand()
+ slot, which acts on responses from the server and tells us when a command
+ we have issued has completed.
+ This slot performs the task of logging in to the server when connection has
+ occurred (the \l{QFtp::}{ConnectToHost} command has completed), asking for
+ a list of files when logged in (\l{QFtp::}{Login} has completed),
+ preparing a page with a listing when all file information has been received
+ (\l{QFtp::}{List} has completed), and setting the current content for the
+ reply when data has been fetched from the server
+ (\l{QFtp::}{Get} has completed).
+
+ \snippet examples/webkit/webftpclient/ftpreply.cpp process command
+
+ The result of the \l{QFtp::}{List} command is handled by looking at the
+ number of items obtained from the server.
+ The items themselves are recorded by the \c processListInfo() slot. When a
+ \l{QFtp::}{List} command is complete, we can count the number of items
+ received and determine whether or not we should create a file listing, or
+ try to fetch the file instead by invoking a \l{QFtp::}{Get} command.
+
+ \snippet examples/webkit/webftpclient/ftpreply.cpp process list info
+
+ Since the reply will only be used once, we can simply append items to a list
+ and never bother to clear it.
+
+ The \c processData() slot simply appends data obtained from the FTP server
+ to the QByteArray containing the content to be supplied to the browser.
+
+ \snippet examples/webkit/webftpclient/ftpreply.cpp process data
+
+ Data is appended to the \c content array until the connection to the FTP
+ server is closed, either by the reply or by the server itself. One of the
+ ways in which this happens is when a \l{QFtp::}{Get} command completes. At
+ this point, the \c setContent() function is called from within the
+ \c processCommand() function.
+
+ \snippet examples/webkit/webftpclient/ftpreply.cpp set content
+
+ Here, we prepare the reply for use by the browser by opening it for
+ unbuffered reading and setting the header that reports the amount of data
+ held by the reply. We emit signals that indicate that the network operation
+ has finished and that it has data to be read. Since we are no longer
+ interested in the FTP server, we close the connection to it.
+
+ \section2 Preparing Content for the Reader
+
+ Another way in which the reply closes the connection to the server is when
+ the \c setListContent() function is called from the \c processCommand()
+ function. Most of the implementation of this function involves transforming
+ the information about the items held in the reply's private \c items
+ variable to HTML.
+
+ \snippet examples/webkit/webftpclient/ftpreply.cpp set list content
+
+ Once the HTML description of the files has been composed in a QString, we
+ convert it to a UTF-8 encoded set of bytes which we store in the reply's
+ private \c content variable. In this case, the QByteArray holds HTML
+ instead of file data. We set the reply's headers to indicate that it
+ contains UTF-8 encoded HTML with a certain length, and we emit the
+ \l{QNetworkReply::}{readyRead()} and \l{QNetworkReply::}{finished()}
+ signals to let the browser know that it can start reading the content.
+
+ \section2 Supplying Data to the Browser
+
+ We reimplement four QIODevice functions to provide basic read-only behavior,
+ simply supplying the data held in the \c content array.
+
+ We do not support aborting of the reply, so our \c abort() implementation
+ is empty.
+
+ \snippet examples/webkit/webftpclient/ftpreply.cpp abort
+
+ Similarly, we do not support random access reading, so \c isSequential()
+ is reimplemented to always return true.
+
+ \snippet examples/webkit/webftpclient/ftpreply.cpp is sequential
+
+ The \c bytesAvailable() function returns the total number of bytes held by
+ the reply minus the value of \c offset, which is the number of bytes we
+ have already supplied to the reader.
+
+ \snippet examples/webkit/webftpclient/ftpreply.cpp bytes available
+
+ \snippet examples/webkit/webftpclient/ftpreply.cpp read data
+
+ The \c readData() reimplementation tries to return as much data to the
+ reader as it will allow, copying bytes directly to the appropriate location
+ in memory. The \c offset variable is updated to keep track of how many
+ bytes have been read.
+
+ \section1 Enabling the Protocol
+
+ Now that we have an FTP-enabled network manager and a reply that can handle
+ communication with FTP servers, we can now enable the manager for a given
+ QWebPage.
+ We derive the \c FtpView class from QWebView and configure its behavior in
+ its constructor.
+
+ As we mentioned earlier, we pass the original network manager to the
+ newly-created manager and pass the new manager to the QWebPage belonging to
+ the browser. This enables our network manager for the content it displays.
+
+ \snippet examples/webkit/webftpclient/ftpview.cpp constructor
+
+ We also go to some effort to handle content that WebKit does not natively
+ support, using a \c Downloader helper class to manage this and files that
+ the user downloads via the browser's \gui{Save Link...} context menu entry.
+
+ In the example's \c main() function, we perform the usual steps to
+ initialize our Qt application. We choose an appropriate starting URL for
+ the \c FtpView widget to open before running the application's event loop.
+
+ \snippet examples/webkit/webftpclient/main.cpp main
+
+ \section1 Summary
+
+ As we have seen, enabling support for another protocol and URL scheme in
+ QtWebKit is a fairly simple process involving the creation of a network
+ manager and custom reply object. The implementation challenges
+ are mostly related to how the protocol is handled by the custom
+ QNetworkReply subclass where, in our case, we need to issue the appropriate
+ commands in the correct order to obtain data from the FTP server.
+
+ We also need to ensure that that the reply emits the appropriate signals to
+ inform the browser that it has content to be read. Our implementation is
+ intentionally simple, only notifying the browser with the
+ \l{QIODevice::}{readyRead()} signal when \e all the content is ready to
+ read and emitting the \l{QNetworkReply::}{finished()} signal to indicate
+ that communication is complete; a more sophisticated approach would
+ interleave the commands sent to the server with the emission of signals,
+ allowing the browser to read content as data is obtained from the FTP
+ server.
+
+ The reply also needs to be open for reading. Forgetting to call the
+ \l{QIODevice::}{open()} function is a common error to make when dealing
+ with devices, but in this case it is the reply's responsibility to open
+ itself.
+ It must indicate how much content it has for the browser to read. As we
+ have seen, this is done by setting the reply's
+ \l{QNetworkRequest::}{ContentLengthHeader} header with the appropriate
+ value. With this information available, the browser can read from the reply
+ when the content becomes available, displaying a directory listing or
+ downloading content depending on the type of data supplied.
+
+ We can use the approach described in this article to enable support for
+ other protocols by writing or extending a network manager to handle URL
+ schemes such as \tt mailto, \tt sip, \tt news, \tt file and \tt ldap.
+ Applications that integrate Web content with information from other sources
+ can also provide custom URL schemes as long as care is taken not to use an
+ existing public scheme.
+*/
diff --git a/doc/src/examples/webkit-bridge-imageanalyzer.qdoc b/doc/src/examples/webkit-bridge-imageanalyzer.qdoc
index a736879..7383abc 100644
--- a/doc/src/examples/webkit-bridge-imageanalyzer.qdoc
+++ b/doc/src/examples/webkit-bridge-imageanalyzer.qdoc
@@ -30,12 +30,13 @@
\startpage {index.html}{Qt Reference Documentation}
\title The Webkit Bridge Tutorial - Hybrid Client Application
- In this example, we will show how to write a hybrid application using
+ \brief In this example, we will show how to write a hybrid application using
\l{The QtWebKit Bridge}{QtWebKit Bridge}, which distinguishes itself from a
thin client in that it performs heavy calculations on the client side in C++,
like a native application, but presents nothing more than a \c QWebView for its
-user interface, displaying web content written in HTML/JavaScript. The
-application uses QtConcurrent to distribute its work across as many CPU cores as
+user interface, displaying web content written in HTML/JavaScript.
+
+The application uses QtConcurrent to distribute its work across as many CPU cores as
are available from the system, so it can process each image in parallel.
For the full reference documentation of QtWebKit hybrid development, see
diff --git a/doc/src/examples/webkit-framecapture.qdoc b/doc/src/examples/webkit-framecapture.qdoc
index 2d80c6a..1f9fa9f 100644
--- a/doc/src/examples/webkit-framecapture.qdoc
+++ b/doc/src/examples/webkit-framecapture.qdoc
@@ -29,7 +29,7 @@
\example webkit/framecapture
\title WebKit Frame Capture Example
- The Frame Capture example shows how to use the WebKit browser engine to
+ \brief The Frame Capture example shows how to use the WebKit browser engine to
obtain images of frames in a Web page.
This example is designed to be run from the command line. Run the
diff --git a/doc/src/examples/webplugin.qdoc b/doc/src/examples/webplugin.qdoc
new file mode 100644
index 0000000..c607bef
--- /dev/null
+++ b/doc/src/examples/webplugin.qdoc
@@ -0,0 +1,157 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** GNU Free Documentation License
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms
+** and conditions contained in a signed written agreement between you
+** and Nokia.
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \example webkit/webplugin
+ \title Web Plugin Example
+
+ \brief The Web Plugin example shows how to communicate between a Qt widget
+ embedded in a Web page and the page itself.
+
+ \image webkit-webplugin.png A table widget embedded in a Web page.
+
+ In this example, we will take the widget described in the
+ \l{Simple Web Plugin Example} and show how to set up communications between
+ the widget and the Web environment.
+
+ \section1 Setting up Communications
+
+ There are two ways of interacting with the content in a Web page. The first
+ way involves the use of QWebElement to read and modify the page
+ content and structure; this is useful for certain types of application, as
+ demonstrated by the \l{DOM Traversal Example} and the
+ \l{Simple Selector Example}.
+
+ The second way is to add Qt objects to the page, connecting their signals
+ to JavaScript functions, and executing the object's slots directly from
+ JavaScript in the page. We explore this approach in this example.
+
+ To perform this communication, we require an updated \c CSVView widget from
+ the \l{Simple Web Plugin Example} that can emit a signal whenever a row is
+ selected, a JavaScript function to modify elements on the page, and some
+ glue code to make the connection.
+
+ On the page, the plugin is declared like this:
+
+ \snippet examples/webkit/webplugin/pages/index.html embedded object
+
+ As in the previous example, the \c <object> definition includes information
+ about the data to be displayed, its location, and the dimensions of the
+ plugin in the page.
+
+ Later in the document, we include a table that we will update with data
+ from the \c CSVView widget:
+
+ \snippet examples/webkit/webplugin/pages/index.html table
+
+ The \c CSVView widget is similar to the previous version. However, we
+ wish to obtain and export individual rows of data, so we define the
+ \c rowSelected() signal and \c exportRow() slot to perform this task.
+
+ \snippet examples/webkit/webplugin/csvview.h definition
+
+ Since we wish to obtain one row of data at a time, the constructor includes
+ code to restrict how the user can interact with the view:
+
+ \snippet examples/webkit/simplewebplugin/csvview.cpp constructor
+
+ The \c exportRow() slot provides a convenient mechanism for obtaining and
+ emitting the values found on the current row of the table:
+
+ \snippet examples/webkit/webplugin/csvview.cpp export row
+
+ This slot is connected to a signal belonging to the view's selection model:
+ \l{QItemSelectionModel::}{currentChanged()}. This can be seen by examining
+ the \c updateModel() function in the source code.
+
+ \c exportRow() emits the \c rowSelected() signal, passing strings containing
+ the name, address and quantity in the current table row. To see how this
+ data is passed to the Web page, we need to look at the \c CSVFactory class.
+
+ \section1 Connecting Components Together
+
+ In the \c CSVFactory class, we reimplement the \l{QWebPluginFactory::}{create()}
+ function to create instances of the \c CSVView class, as in the previous
+ example.
+
+ \snippet examples/webkit/webplugin/csvfactory.cpp begin create
+
+ We also expose the view widget to the frame in the page that
+ contains the elements, and set up a connection between the view and a
+ JavaScript function defined in the page header:
+
+ \snippet examples/webkit/webplugin/csvfactory.cpp create connection
+
+ The view is added to the Web page as \c view, and the connection code we
+ evaluate performs a signal-slot connection from the view's \c rowSelected()
+ signal to a pure JavaScript function:
+
+ \js
+ view.rowSelected.connect(fillInTable);
+ \endjs
+
+ \c fillInTable is the name of the JavaScript function to modify the
+ form's input elements. This function expects three arguments: the name,
+ address and quantity values for a row of data.
+
+ Whenever the current row changes in the \c view object, the \c exportRow()
+ slot is called, the data found in the selected row is extracted from the
+ model and emitted in the \c rowSelected() signal as three strings, and
+ the above connection ensures that \c fillInTable() will be called with the
+ current items of data. The appropriate type conversions occur behind the
+ scenes to ensure that each QString is converted to a JavaScript string
+ object.
+
+ The rest of the function is the same as in the previous example:
+
+ \snippet examples/webkit/webplugin/csvfactory.cpp submit request
+
+ We now give the JavaScript \c fillInForm() function to show what it does
+ with the strings it is given. The function itself is defined in the HTML
+ page header:
+
+ \snippet examples/webkit/webplugin/pages/index.html script
+
+ We obtain the elements in the page that we wish to update by using the HTML
+ Document Object Model (DOM) API. The values of these elements are updated
+ with the \c name, \c address and \c quantity strings supplied.
+
+ \section1 Linking Things Together
+
+ Although we have used the widgets to demonstrate the use of signals and
+ slots for communication between Qt components and JavaScript in the browser,
+ we do not need to embed widgets in Web pages to be able to do this. By
+ inserting objects into pages and evaluating JavaScript, Qt applications can
+ be made to examine and process information found online.
+
+ One additional improvement that can be made to this example is to create
+ a relation between the embedded widget and the table to be updated. We
+ could do this by including \c <param> elements within the \c <object>
+ element that refers to the table cells by their \c id attributes. This
+ would help us to avoid hard-coding the \c customers_name,
+ \c customers_address and \c customers_quantity identifiers in the script.
+*/
diff --git a/doc/src/examples/widgets-softkeys.qdoc b/doc/src/examples/widgets-softkeys.qdoc
index 336aac8..1c66718 100644
--- a/doc/src/examples/widgets-softkeys.qdoc
+++ b/doc/src/examples/widgets-softkeys.qdoc
@@ -29,5 +29,5 @@
\example widgets/softkeys
\title Soft Keys Example
- The Soft Keys example shows how to use soft key input on the Symbian platform.
+ \brief The Soft Keys example shows how to use soft key input on the Symbian platform.
*/
diff --git a/doc/src/examples/widgets-validators.qdoc b/doc/src/examples/widgets-validators.qdoc
index d6c229d..1984d9f 100644
--- a/doc/src/examples/widgets-validators.qdoc
+++ b/doc/src/examples/widgets-validators.qdoc
@@ -29,5 +29,5 @@
\example widgets/validators
\title Validators Example
- The Validators example shows the signal emission behavior of input validators.
+ \brief The Validators example shows the signal emission behavior of input validators.
*/
diff --git a/doc/src/examples/wiggly.qdoc b/doc/src/examples/wiggly.qdoc
index 3685741..2bb3d64 100644
--- a/doc/src/examples/wiggly.qdoc
+++ b/doc/src/examples/wiggly.qdoc
@@ -29,7 +29,7 @@
\example widgets/wiggly
\title Wiggly Example
- The Wiggly example shows how to animate a widget using
+ \brief The Wiggly example shows how to animate a widget using
QBasicTimer and \l{QObject::timerEvent()}{timerEvent()}. In
addition, the example demonstrates how to use QFontMetrics to
determine the size of text on screen.
diff --git a/doc/src/examples/windowflags.qdoc b/doc/src/examples/windowflags.qdoc
index e690c37..d701498 100644
--- a/doc/src/examples/windowflags.qdoc
+++ b/doc/src/examples/windowflags.qdoc
@@ -29,7 +29,7 @@
\example widgets/windowflags
\title Window Flags Example
- The Window Flags example shows how to use the window flags
+ \brief The Window Flags example shows how to use the window flags
available in Qt.
A window flag is either a type or a hint. A type is used to
diff --git a/doc/src/examples/worldtimeclockbuilder.qdoc b/doc/src/examples/worldtimeclockbuilder.qdoc
index e8999ea..cf6d062 100644
--- a/doc/src/examples/worldtimeclockbuilder.qdoc
+++ b/doc/src/examples/worldtimeclockbuilder.qdoc
@@ -29,7 +29,7 @@
\example designer/worldtimeclockbuilder
\title World Time Clock Builder Example
- The World Time Clock Builder example shows how forms created with Qt
+ \brief The World Time Clock Builder example shows how forms created with Qt
Designer that contain custom widgets can be dynamically generated at
run-time.
diff --git a/doc/src/examples/worldtimeclockplugin.qdoc b/doc/src/examples/worldtimeclockplugin.qdoc
index 7b88708..ee1d534 100644
--- a/doc/src/examples/worldtimeclockplugin.qdoc
+++ b/doc/src/examples/worldtimeclockplugin.qdoc
@@ -29,7 +29,7 @@
\example designer/worldtimeclockplugin
\title World Time Clock Plugin Example
- The World Time Clock Plugin example shows how to create a custom
+ \brief The World Time Clock Plugin example shows how to create a custom
widget plugin for \QD that uses signals and slots.
\image worldtimeclockplugin-example.png
diff --git a/doc/src/examples/xmlstreamlint.qdoc b/doc/src/examples/xmlstreamlint.qdoc
index 98bee62..0a31fb0 100644
--- a/doc/src/examples/xmlstreamlint.qdoc
+++ b/doc/src/examples/xmlstreamlint.qdoc
@@ -29,7 +29,7 @@
\example xml/xmlstreamlint
\title XML Stream Lint Example
- The XML Stream Lint example provides a simple command line utility that
+ \brief The XML Stream Lint example provides a simple command line utility that
accepts a file name as its single argument and writes it to the standard
output file.
diff --git a/doc/src/external-resources.qdoc b/doc/src/external-resources.qdoc
index 50e5a21..f528bf2 100644
--- a/doc/src/external-resources.qdoc
+++ b/doc/src/external-resources.qdoc
@@ -480,6 +480,21 @@
*/
/*!
+ \externalpage http://accessibility.linuxfoundation.org/a11yspecs/ia2/docs/html/_accessible_event_i_d_8idl.html
+ \title AccessibleEventID.idl File Reference
+*/
+
+/*!
+ \externalpage http://msdn.microsoft.com/en-us/library/dd318066.aspx
+ \title Microsoft Active Accessibility Event Constants
+*/
+
+/*!
+ \externalpage http://www.rfc-editor.org/rfc/bcp/bcp47.txt
+ \title RFC 5646 - BCP47
+*/
+
+/*!
\externalpage http://www.developer.nokia.com/Community/Wiki/Graphics_memory_handling
\title Graphics Out Of Memory monitor
*/
diff --git a/doc/src/frameworks-technologies/model-view-programming.qdoc b/doc/src/frameworks-technologies/model-view-programming.qdoc
index eb86476..1965df5 100644
--- a/doc/src/frameworks-technologies/model-view-programming.qdoc
+++ b/doc/src/frameworks-technologies/model-view-programming.qdoc
@@ -1934,6 +1934,13 @@
\l{QSortFilterProxyModel::lessThan()}{lessThan()} function to perform custom
comparisons.
+ \section3 Custom data models
+
+ QIdentityProxyModel instances do not sort or filter the structure of the source model,
+ but provide a base class for creating a data proxy. This could be useful on top of a
+ QFileSystemModel for example to provide different colours for the BackgroundRole for
+ different types of files.
+
\section1 Model subclassing reference
Model subclasses need to provide implementations of many of the virtual functions
diff --git a/doc/src/frameworks-technologies/richtext.qdoc b/doc/src/frameworks-technologies/richtext.qdoc
index 59d7104..236c20c 100644
--- a/doc/src/frameworks-technologies/richtext.qdoc
+++ b/doc/src/frameworks-technologies/richtext.qdoc
@@ -880,6 +880,10 @@
\row \o \c a
\o Anchor or link
\o Supports the \c href and \c name attributes.
+ Note that the \c{:visited} selector is one of those
+ that is not supported by the rich text engine.
+ See \l{#Supported CSS Selectors}{below} for a list
+ of others.
\row \o \c address
\o Address
\o
@@ -1017,6 +1021,11 @@
\row \o \c strong
\o Strong
\o Same as \c b.
+ \row \o \c style
+ \o Style sheet
+ \o Allows styling information to be included with the rich text.
+ A \l{#CSS Properties}{limited subset of CSS syntax} can be
+ used to change the appearance of the text.
\row \o \c sub
\o Subscript
\o
@@ -1210,5 +1219,4 @@
All CSS 2.1 selector classes are supported except pseudo-class selectors such
as \c{:first-child}, \c{:visited} and \c{:hover}.
-
*/
diff --git a/doc/src/getting-started/demos.qdoc b/doc/src/getting-started/demos.qdoc
index 5c0652c..201b5c7 100644
--- a/doc/src/getting-started/demos.qdoc
+++ b/doc/src/getting-started/demos.qdoc
@@ -149,13 +149,6 @@
implement a small Web browser.
\endlist
- \section1 Multimedia
-
- \list
- \o \l{demos/spectrum}{Spectrum Analyser} shows how the \l{QtMultimedia}
- module can be used to manipulate audio as it is played.
- \endlist
-
\section1 Phonon
\list
diff --git a/doc/src/getting-started/examples.qdoc b/doc/src/getting-started/examples.qdoc
index 699900c..d597890 100644
--- a/doc/src/getting-started/examples.qdoc
+++ b/doc/src/getting-started/examples.qdoc
@@ -481,6 +481,8 @@
\o \l{network/bearercloud}{Bearer Cloud}\raisedaster
\o \l{network/bearermonitor}{Bearer Monitor}
\o \l{network/securesocketclient}{Secure Socket Client}
+ \o \l{network/multicastreceiver}{Multicast Receiver}
+ \o \l{network/multicastsender}{Multicast Sender}
\endlist
Examples marked with an asterisk (*) are fully documented.
@@ -784,6 +786,13 @@
\row \o \l{webkit/simpleselector}{Simple Selector}\raisedaster
\o A basic demonstration, showing how to use QWebElement to select elements in a
Web page.
+ \row \o \l{webkit/simplewebplugin}{Simple Web Plugin}\raisedaster
+ \o Shows how to embed a widget into a Web page displayed using a QWebView
+ widget.
+ \row \o \l{webkit/webftpclient}{Web FTP Client}\raisedaster
+ \o Shows how to add support for a new protocol to QtWebKit-based applications.
+ \row \o \l{webkit/webplugin}{Web Plugin}\raisedaster
+ \o Shows how to communicate with a widget embedded into a Web page.
\endtable
Examples marked with an asterisk (*) are fully documented.
diff --git a/doc/src/getting-started/gettingstartedqt.qdoc b/doc/src/getting-started/gettingstartedqt.qdoc
index eda5ee1..d37e8e0 100644
--- a/doc/src/getting-started/gettingstartedqt.qdoc
+++ b/doc/src/getting-started/gettingstartedqt.qdoc
@@ -38,6 +38,12 @@
documentation, and find the information you need for the
application you are developing.
+ The code for this tutorial is available in \c
+ {examples/tutorials/gettingStarted/gsQt} under your Qt
+ installation. If you are using the Qt SDK, you will find it in
+ \c{Examples/4.7/tutorials/gettingStarted/gsQt} (change \c{4.7} if
+ you are using a later Qt version).
+
\section1 Hello Notepad
In this first example, we simply create and show a text edit in a
@@ -139,28 +145,28 @@
Let us take a look at the code.
\code
- 1 #include <QtGui>
- 2
- 3 int main(int argv, char **args)
- 4 {
- 5 QApplication app(argv, args);
- 6
- 7 QTextEdit textEdit;
- 8 QPushButton quitButton("Quit");
- 9
-10 QObject::connect(&quitButton, SIGNAL(clicked()), qApp, SLOT(quit()));
-11
-12 QVBoxLayout layout;
-13 layout.addWidget(&textEdit);
-14 layout.addWidget(&quitButton);
-15
-16 QWidget window;
-17 window.setLayout(&layout);
-18
-19 window.show();
-20
-21 return app.exec();
-22 }
+ 1 #include <QtGui>
+ 2
+ 3 int main(int argv, char **args)
+ 4 {
+ 5 QApplication app(argv, args);
+ 6
+ 7 QTextEdit *textEdit = new QTextEdit;
+ 8 QPushButton *quitButton = new QPushButton("&Quit");
+ 9
+10 QObject::connect(quitButton, SIGNAL(clicked()), qApp, SLOT(quit()));
+11
+12 QVBoxLayout *layout = new QVBoxLayout;
+13 layout->addWidget(textEdit);
+14 layout->addWidget(quitButton);
+15
+16 QWidget window;
+17 window.setLayout(layout);
+18
+19 window.show();
+20
+21 return app.exec();
+22 }
\endcode
Line 1 includes QtGui, which contains all of Qt's GUI classes.
@@ -278,9 +284,25 @@
visible strings. This function is necessary when you want to
provide your application in more than one language (e.g. English
and Chinese). We will not go into details here, but you can follow
- the \c {Qt Linguist} link from the learn more table. We will not
- look at the implementation of \c quit() slot and the \c main()
- function, but you can check out the source code if you want to.
+ the \c {Qt Linguist} link from the learn more table.
+
+ Here is the \c quit() slot:
+
+ \code
+75 void Notepad::quit()
+76 {
+77 QMessageBox messageBox;
+78 messageBox.setWindowTitle(tr("Notepad"));
+79 messageBox.setText(tr("Do you really want to quit?"));
+80 messageBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No);
+81 messageBox.setDefaultButton(QMessageBox::No);
+82 if (messageBox.exec() == QMessageBox::Yes)
+83 qApp->quit();
+84 }
+ \endcode
+
+ We use the QMessageBox class to display a dialog that asks the
+ user whether he/she really wants to quit.
\section2 Learn More
diff --git a/doc/src/getting-started/how-to-learn-qt.qdoc b/doc/src/getting-started/how-to-learn-qt.qdoc
index 981262c..88d10a7 100644
--- a/doc/src/getting-started/how-to-learn-qt.qdoc
+++ b/doc/src/getting-started/how-to-learn-qt.qdoc
@@ -31,84 +31,188 @@
\brief Links to guides and resources for learning Qt.
\nextpage Tutorials
- \section1 Getting Started
+ \section1 Required programming skills
- We assume that you already know C++ and will be using it for Qt
- development. See the \l{Qt website} for more information about
- using other programming languages with Qt.
+ Qt is an application development framework based on C++. Traditionally, C++ is the major programming language used to develop with Qt.
- If you want to program purely in C++, designing your interfaces
- in code without the aid of any design tools, take a look at the
- \l{Tutorials}. These are designed to get you into Qt programming,
- with an emphasis on working code rather than being a tour of features.
+ Since the introduction of Qt Quick (Qt UI Creation Kit) in the beginning of 2011, Qt has been supporting script-based declarative programming with QML. QML is very easy to understand for anybody who is familiar with JavaScript as well as for all other developers who are familiar the basics of object oriented programming and have worked with other scripting languages. Designers who are familiar with web development can start with QML and implement their ideas in executable code which can later be powered by more application logic developed by engineering teams.
- If you want to design your user interfaces using a design tool, then
- read at least the first few chapters of the \l{Qt Designer manual}.
+ A solid understanding of the basics of C++ is essential for those planning on using Qt for C++. You do not need to be a C++ expert to begin. Qt simplifies many aspects of C++ development, making it a lot of fun. The overall development effort is minimal since Qt API are easy to understand and application functionality can be implemented with a smaller a mount of code. C++ experts will find a lot of powerful APIs and tools in Qt which will make complicated things simple and new features easy to get done.
- By now you'll have produced some small working applications and
- have a broad feel for Qt programming. You could start work on your
- own projects straight away, but we recommend reading a couple of
- key overviews to deepen your understanding of Qt: The Qt \l{Object
- Model} and \l{Signals and Slots}.
+ Various bindings have been developed by the Qt community for other programming languages. See the \l{Qt Language Bindings on Wiki}{this wiki page on Qt Developer Network} for more information about using other programming languages with Qt.
+
+ \section1 Tools to install
+
+ Qt provides a range of tools for all steps in application development for desktops and devices. Tools are integrated into packages that are easily installed on several platforms. You have following options:
+
+ \list
+ \o \l{Qt SDK Product Page}{Qt SDK} - one package with all the tools you need for the creation of applications for Symbian and Maemo in addition to desktop platforms such as Microsoft Windows, Mac OS X, and Linux.
+ \o \l{Qt Creator Product Page}{Qt Creator} - a cross-platform integrated development environment (IDE). Note, that the Qt Creator package does not contain the Qt framework itself. You can either configure it to use with a version of Qt already installed on your machine or download a new version of Qt separately.
+ \o \l{Product Overview}{Qt} binary package - a ready-to-go installer for Mac, Linux and Windows containing a precompiled tool chain, libraries, include files, documentation, demos and examples.
+ \o \l{Product Overview}{Qt} source code packages - Qt and Qt creator are available in source code as zip or tar archives as well as on the \l{Public Qt Repository}.
+ \endlist
+
+ All packages above are available for download on the \l{Downloads} page. We recommend starting with Qt SDK since it contains all you need in one package. Later on you can consider installing other packages separately. They can all coexist on your machine and be configured to work with each other.
+
+ \section1 Examples in action
+
+ One of the most popular ways of discovering new technologies is to walk through examples.
+
+ Qt provides a large selection of examples and demos which are available in source code (check \c demos and \c examples directories in your installation).The main difference between examples and demos is that examples are smaller and more focused on one functionality whereas demos are complete, more complex applications using many Qt features.
+
+ Most of the examples and demos are precompiled and integrated into the \l{Examples and Demos Launcher}.
\div {class="float-left"}
\inlineimage qtdemo-small.png
\enddiv
- \section1 Getting an Overview
+ Run it and see Qt's features in action. You can also start all examples and demos from it as separate applications or browse to the source code. \l{Qt Creator Product Page}{Qt Creator} allows loading of examples as projects with a wizard on the "Welcome" page.
- At this point, we recommend looking at the
- \l{All Overviews and HOWTOs}{overviews} and reading those that are
- relevant to your projects. You may also find it useful to browse the
- source code of the \l{Qt Examples}{examples} that have things in
- common with your projects. You can also read Qt's source code since
- this is supplied.
+ Additionally, \l{Qt Widget Gallery} provides overviews of selected Qt desktop widgets in each of the styles used on various supported platforms.
+ \clearfloat
- If you run the \l{Examples and Demos Launcher}, you'll see many of Qt's
- widgets in action.
+ If you are new to Qt, you should first take a look on the following examples:
- The \l{Qt Widget Gallery} also provides overviews of selected Qt
- widgets in each of the styles used on various supported platforms.
- \clearfloat
+ \list
+ \o \l{Calculator Example}
+ \o \l{Application Example}
+ \o \l{Image Viewer Example}
+ \o \l{Basic Drawing Example}
+ \endlist
+
+ \section1 Qt technology guides
+
+ At some point you should take some time to walk through the Qt technology guides and overviews provided in Qt documentation. Qt is simple to use, but you should have a basic understanding of the key concepts behind Qt to reveal its full power. There is a large selection of documents that are sorted into the following sections:
+
+ \list
+ \o \l{Programming with Qt} - about key components and technologies used in Qt development
+ \o \l{Cross-platform and Platform-specific Development} and \l{Platform-Specific Documentation} - using Qt on different platforms
+ \o \l{Qt Quick} - a home page of Qt Quick in Qt documentation
+ \o \l{UI Design with Qt} - specifics of desktop UI development
+ \o \l{Qt and Key Technologies} - how Qt addresses industry standards and also how they are used in Qt
+ \o \l{Best Practice Guides} - a collection of various tips and hints
+ \endlist
+
+ The following guides are essential for those new to Qt:
+
+ \list
+ \o \l{Object Model}
+ \o \l{Object Trees & Ownership}
+ \o \l{Signals & Slots}
+ \o \l{The Event System}
+ \o \l{Implicit Sharing}
+ \o \l{Container Classes}
+ \o \l{Internationalization with Qt}
+ \o \l{Coordinate System}
+ \o \l{Paint System}
+ \o \l{Network Programming}
+ \o \l{The Qt Resource System}
+ \endlist
+
+ The \l{Develop with Qt} guide provides a good overview of all topics in Qt development and includes links to the section mentioned above as well as many more advanced aspects.
+
+ \section1 Tutorials
+
+ Compared to examples, tutorials walk you through the development steps of an application and show how to use Qt to implement required functionality. Some Qt tutorials also explain specific details of selected Qt features.
+
+ The \l{Getting Started Programming with Qt} tutorial is a good start for all who are new to Qt. In this tutorial you will develop a simple text editor and go through the major steps of developing of a Qt application.
+
+ Desktop developers should then proceed to the \l{Widgets Tutorial} as well as the \l{Address Book Tutorial}.
- \section1 Books and Learning Materials
+ Many Qt developers use Qt Designer to compose desktop UIs in a visual editor. Take a look the \l{Qt Designer manual} to learn more about this.
+
+ The \l{Tutorials} page contains a list of all tutorials provided in Qt documentation.
+
+ \section1 Getting most of Qt documentation
Qt comes with extensive documentation, with hypertext
- cross-references throughout, so you can easily click your way to
+ cross-references throughout so you can easily click your way to
whatever interests you. The part of the documentation that you'll
probably use the most is the \link index.html API
Reference\endlink. Each link provides a different way of
- navigating the API Reference; try them all to see which work best
- for you. You might also like to try \l{Qt Assistant}:
- this tool is supplied with Qt and provides access to the entire
- Qt API, and it provides a full text search facility.
+ navigating the API Reference. Try them all to see which work best
+ for you.
- There are also a growing number of books about Qt programming.
- We recommend the official Qt book,
- \l{http://www.amazon.com/gp/product/0132354160/ref=ase_trolltech/}{C++
- GUI Programming with Qt 4, Second Edition} (ISBN 0-13-235416-0). This book
- provides comprehensive coverage of Qt programming all the way
- from "Hello Qt" to advanced features such as multithreading, 2D and
- 3D graphics, networking, item view classes, and XML. (The first edition,
- which is based on Qt 4.1, is available
- \l{http://www.qtrac.eu/C++-GUI-Programming-with-Qt-4-1st-ed.zip}{online}.)
+ The \l{All Overviews and HOWTOs} page lists all Qt technology overviews and HOWTOs in one please. This includes the overviews mentioned above, but also lists several addtional references (e.g. starting pages of all Qt modules, most of which contain a short introduction to a given module).
- See \l{Books about Qt Programming} for a complete list of Qt books,
- including translations to various languages.
+ You can find Qt documentation either directly integrated into Qt tools as well as \l{Qt Docs Web Start Page}{here}. The advantage of Qt documentation provided in tools is that it is stored on your machine and is available offline. The Qt documentation web site provides access to documentation from different Qt versions as well as the latest snapshot. Qt tools provide search functionality over the index of content as well as free text search. Advanced searches can also be conducted in Qt documentation through the use of search engines. Just limit the search to \c doc.qt.nokia.com and review help topics provided by the search engine you're using to know how to write more advanced search queries.
- Another valuable source of example code and explanations of Qt
- features is the archive of articles from \l{Qt Quarterly}, a quarterly newsletter for users of Qt.
+ The most of the content in Qt documentation is in the documentation of Qt APIs. This includes a lot of code snippets showing how to implement a functionality with Qt APIs. A good example of this is the documentation on the \l{QString} class.
- For documentation on specific Qt modules and other guides, refer to
- \l{All Overviews and HOWTOs}.
+ Make sure to take a look at the following reference documentation since they contain a lot of important details:
+ \list
+ \o \l{Qt Namespace} - contains a log of frequently used static variables
+ \o \l{Global Qt Declarations} - to get an overview of available standard types, macros, and static functions
+ \endlist
- \section1 Further Reading
+ \section1 Get advice and support from the Qt Community
Qt has an active and helpful user community who communicate using
- the \l{Qt Mailing Lists}{qt-interest} mailing list, the \l{Qt Centre}
- Web site, and a number of other community Web sites and Weblogs.
- In addition, many Qt developers are active members of the
- \l{KDE}{KDE community}.
+ the various means:
+
+ \list
+ \o \l{Qt Mailing Lists}{qt-interest} Mailing list
+ \o \l{Qt Centre} Website
+ \o \l{Forums on Qt Developer Network}
+ \o \l{Wiki on Qt Developer Network} written by the Qt community and hosted on the Qt Developer Network
+ \o The \c #qt and \c #qt-creator IRC channels on \c irc.freenode.org
+ \endlist
+
+ In addition, many Qt developers are active members of the \l{KDE}{KDE community}.
+
+ \section1 Books about Qt
+
+ There is a growing number of books about Qt programming. The Qt team maintains a list of books on the Qt Developer Network site. See \l{Books about Qt Programming} for a complete list of Qt books including translations to various languages.
+
+ \section1 Training
+
+ In many cases people prefer attending professional training courses to boost their learning progress. A training course has two unique benefits: Its scope can be adapted to your needs and you will get helped on the spot by Qt trainers who are also experienced Qt developers. \l{Qt Training Partners} offer a wide range of courses. Most courses are based on materials developed by the Qt team.
+
+ There are two types of courses: open enrollment and on-site. \l{Open Enrollment Qt Training Courses}{Open enrollment courses} are public courses open to anybody. They are a good choice for an individual developers or small groups. If you have a large Qt project, on-site training is a better choice and can be more cost efficient. You can request your own agenda for on-site training whereas open enrollment courses have a predefined agenda and scope valid for all attendees.
+
+ \section1 Listen to Qt experts on videos
+
+ A wide range of videos is available on the \l{Qt Video Portal} on the Qt Developer Network. Most of the videos are recordings of talks given by Qt experts at Qt Developer Days. You can use categories and tags to find videos which cover the scope of your needs.
+
+ Another part of the videos are recordings of training sessions recorded at Qt Developer Days:
+ \list
+ \o Qt Essentials, by ICS: (part \l{Qt Essentials by ICS part 1}{1} and \l{Qt Essentials by ICS part 1}{2}) and KDAB: (part \l{Qt Essentials by KDAB part 1}{1} and \l{Qt Essentials by KDAB part 2}{2})
+ \o \c QGraphicsView, \l{QGraphicsView by ICS}{session by ICS} and \l{QGraphicsView by ICS}{session by KDAB}
+ \o Multithreading, \l{Multithreading by ICS}{session by ICS} and \l{Multithreading by KDAB}{session by KDAB}
+ \o UI Development with Qt, \l{UI Development with Qt by ICS}{session by ICS} and \l{UI Development with Qt by KDAB}{session by KDAB}
+ \o Embedded Development, \l{Embedded Development by basysKom}{session by basysKom} and \l{Embedded Development by ICS}{session by ICS}
+ \o Model/View Programming, \l{ModelView Programming by basysKom}{session by basysKom} and \l{ModelView Programming by KDAB}{session by KDAB}
+ \o \c QWebKit, \l{QWebKit by KDAB}{by KDAB}
+ \o Qt Quick, by KDAB: part \l{Quick by KDAB part 1}{1}, \l{Quick by KDAB part 2}{2}, \l{Quick by KDAB part 3}{3}, \l{Quick by KDAB part 4}{4}
+ \o Qt Mobile Development for Nokia Devices, by Digia: part \l{Qt Mobile Development for Nokia Devices by Digia part 1}{1}, \l{Qt Mobile Development for Nokia Devices by Digia part 2}{2}, \l{Qt Mobile Development for Nokia Devices by Digia part 3}{3}
+ \endlist
+
+ Additionally, there are recordings of the Qt Essentials training modules:
+ \list
+ \o Fundamentals of Qt, part \l{Qt Essentials - Fundamentals of Qt part 1}{1} and \l{Qt Essentials - Fundamentals of Qt part 2}{2}
+ \o Application Creation, part \l{Qt Essentials - Application Creation part 1}{1}, \l{Qt Essentials - Application Creation part 2}{2}, \l{Qt Essentials - Application Creation part 3}{3}
+ \o Widgets, part \l{Qt Essentials - Widgets part 1}{1}, \l{Qt Essentials - Widgets part 2}{2}, \l{Qt Essentials - Widgets part 3}{3}
+ \o Graphics View, part \l{Qt Essentials - Graphics View part 1}{1}, \l{Qt Essentials - Graphics View part 2}{2}, \l{Qt Essentials - Graphics View part 3}{3}
+ \o Model/View I, part \l{Qt Essentials - Model/View I part 1}{1}, \l{Qt Essentials - Model/View I part 2}{2}, \l{Qt Essentials - Model/View I part 3}{3}, \l{Qt Essentials - Model/View I part 4}{4}
+ \o Model/View II, , part \l{Qt Essentials - Model/View II part 1}{1}, \l{Qt Essentials - Model/View II part 2}{2}, \l{Qt Essentials - Model/View II part 3}{3}, \l{Qt Essentials - Model/View II part 4}{4}, \l{Qt Essentials - Model/View II part 5}{5}
+ \endlist
+
+ \section1 Prove your knowledge
+
+ \l{Qt Certification} publishes the scope of each exam in Qt Curriculum as "Qt Curriculum Blocks," which are available under \l{Qt Certification Exam Preparation and Prerequisites}{this link}. The Qt Essentials Curriculum Block describes the scope of knowledge which covers all of the fundamental concepts and basic features in Qt. Review this list to find out which areas of Qt you should become familiar with in order to reach a basic level of Qt expertise. If you also have at least 6 months of Qt development experience, consider taking the Qt Essentials exam and becoming a Nokia Certified Qt Developer.
+ \section1 Further Readings and Materials
+
+ A selection of training materials is available to download under \l{Download Qt training materials}{this link} which includes slides (PDF) and source code from the following three courses:
+ \list
+ \o Qt Essentials - Widget Edition
+ \o Qt Essentials - Qt Quick Edition
+ \o Qt Quick for Designers
+ \endlist
+
+ \l{Qt in Education Course Material} is available to download as well. It is more tailored to the needs of educational institutions that use Qt for teaching purposes, but nonetheless provides helpful slides in various formats as well as labs and example code.
+
+ Another valuable source of example code and valuable information about Qt features is the archive of articles from \l{Qt Quarterly}, a quarterly newsletter for users of Qt.
+
+ Good luck and have fun!
- Good luck, and have fun!
*/
diff --git a/doc/src/getting-started/installation.qdoc b/doc/src/getting-started/installation.qdoc
index c166794..239f117 100644
--- a/doc/src/getting-started/installation.qdoc
+++ b/doc/src/getting-started/installation.qdoc
@@ -47,7 +47,7 @@ for your platform from the following list.
\tableofcontents
- Qt for X11 has some requirements that are given in more detail
+ Qt for X11 has some requirements that are given in more detail
in the \l{Qt for X11 Requirements} document.
\section1 Step 1: Installing the License File (commercial editions only)
@@ -92,7 +92,7 @@ for your platform from the following list.
place. To do this (as root if necessary), type:
\snippet doc/src/snippets/code/doc_src_installation.qdoc 3
-
+
Note that on some systems the make utility is named differently,
e.g. gmake. The configure script tells you which make utility to
use.
@@ -289,7 +289,7 @@ script to uninstall the binary package. The script is located in /Developer/Tool
must be run as root.
\note Do not run the iPhone simulator while installing Qt. The
-\l{http://openradar.appspot.com/7214991}
+\l{http://openradar.appspot.com/7214991}
{iPhone simulator conflicts with the package installer}.
\section1 Step 1: Install the License File (commercial editions only)
@@ -528,11 +528,11 @@ the Symbian platform from scratch.
\section1 Step 1: Set Up the Development Environment
- Make sure your Symbian development environment is correctly installed
+ Make sure your Symbian development environment is correctly installed
and patched as explained in the \l{Qt for the Symbian platform Requirements}
document.
- After you have finished the Symbian development environment setup, it is
+ After you have finished the Symbian development environment setup, it is
good to verify that environment is functional for example by compiling one
of the pure Symbian examples for both emulator and HW. This can be done from
command prompt as follows:
@@ -544,7 +544,7 @@ the Symbian platform from scratch.
\section1 Step 2: Install Qt
- Uncompress the \l{http://qt.nokia.com/downloads}{downloaded} source
+ Uncompress the \l{http://qt.nokia.com/downloads}{downloaded} source
package into the directory you want Qt installed, e.g. \c{C:\Qt\%VERSION%}.
\note Qt must be installed on the same drive as the Symbian SDK you are
@@ -566,8 +566,8 @@ the Symbian platform from scratch.
emulator. This is done by locating the Carbide.c++ submenu on the Start
menu, and choosing "Configure environment for WINSCW command line".
- If you are planning to use \c abld (the default build system that comes with
- the S60 SDK) to build Qt, you will also need to set the following
+ If you are planning to use \c abld (the default build system that comes with
+ the S60 SDK) to build Qt, you will also need to set the following
environment variable:
\snippet doc/src/snippets/code/doc_src_installation.qdoc 33
@@ -580,7 +580,7 @@ the Symbian platform from scratch.
\snippet doc/src/snippets/code/doc_src_installation.qdoc 23
(to build the tools using MinGW, and the libraries using abld)
-
+
\bold or
\snippet doc/src/snippets/code/doc_src_installation.qdoc 31
@@ -590,7 +590,7 @@ the Symbian platform from scratch.
The \l{Configuration Options for Qt} page gives a brief overview
of these.
- SBSv2 (also known as \l{http://developer.symbian.org/wiki/index.php/Introduction_to_RAPTOR} {Raptor})
+ SBSv2 (also known as \l{http://developer.symbian.org/wiki/index.php/Introduction_to_RAPTOR} {Raptor})
is a next-generation Symbian build system. SBSv2 is not officially supported
by any of the S60 SDKs currently available from Forum Nokia.
@@ -626,7 +626,7 @@ the Symbian platform from scratch.
To create your own Qt installation package, do as follows:
-\snippet doc/src/snippets/code/doc_src_installation.qdoc 29
+ \snippet doc/src/snippets/code/doc_src_installation.qdoc 29
The Qt libraries are built with "All -Tcb" capability, so they can support
all types of applications. If you don't have a suitable certificate, you can
@@ -681,7 +681,7 @@ applications using Qt for Symbian can start right away.
Qt for the Symbian platform has some requirements on the development
platform. The Symbian SDK for Linux as well as a cross compiler for the ARM
-processor used on Symbian devices should be present on the development
+processor used on Symbian devices should be present on the development
machine.
See \l{http://qt.gitorious.org/qt/pages/QtCreatorSymbianLinux} for more details.
@@ -698,7 +698,7 @@ directory you want Qt installed, e.g. \c{/home/user/qt/%VERSION%}.
In order to build and use Qt, the \c PATH environment variable needs
to be extended to fine Qt tools and also to find the Symbian platform tools:
-First you need to set the \c EPOCROOT environment variable to point to the
+First you need to set the \c EPOCROOT environment variable to point to the
location of your S60 SDK:
\snippet doc/src/snippets/code/doc_src_installation.qdoc 36
@@ -997,13 +997,13 @@ We hope you will enjoy using Qt.
Qt from its source code, you will also need to install the development
packages for these libraries for your system.
- \table 100%
+ \table 100%
\header
\o Name
\o Library
\o Notes
\o Configuration options
- \o Minimum working version
+ \o Minimum working version
\row {id="OptionalColor"}
\o XRender
\o libXrender
@@ -1011,13 +1011,13 @@ We hope you will enjoy using Qt.
\o \tt{-xrender} or auto-detected
\o 0.9.0
\row {id="OptionalColor"}
- \o Xrandr
+ \o Xrandr
\o libXrandr
\o X Resize and Rotate Extension
\o \tt{-xrandr} or auto-detected
\o 1.0.2
\row {id="OptionalColor"}
- \o Xcursor
+ \o Xcursor
\o libXcursor
\o X Cursor Extension
\o \tt{-xcursor} or auto-detected
@@ -1029,7 +1029,7 @@ We hope you will enjoy using Qt.
\o \tt{-xfixes} or auto-detected
\o 3.0.0
\row {id="OptionalColor"}
- \o Xinerama
+ \o Xinerama
\o libXinerama
\o Multi-head support
\o \tt{-xinerama} or auto-detected
@@ -1045,7 +1045,7 @@ We hope you will enjoy using Qt.
\o FreeType
\o libfreetype
\o Font engine
- \o
+ \o
\o 2.1.3
\row {id="DefaultColor"}
@@ -1098,7 +1098,7 @@ We hope you will enjoy using Qt.
\o Multithreading
\o
\o 2.3.5
- \endtable
+ \endtable
\note You must compile with XRender support to get alpha transparency
support for pixmaps and images.
@@ -1182,7 +1182,7 @@ We hope you will enjoy using Qt.
{Windows Mobile 5 Pocket PC}
\o \l{http://www.microsoft.com/downloads/details.aspx?familyid=DC6C00CB-738A-4B97-8910-5CD29AB5F8D9&amp;displaylang=en}
{Windows Mobile 5 Smartphone}
- \o \l{http://www.microsoft.com/downloads/details.aspx?familyid=06111A3A-A651-4745-88EF-3D48091A390B&amp;displaylang=en }
+ \o \l{http://www.microsoft.com/downloads/details.aspx?familyid=06111A3A-A651-4745-88EF-3D48091A390B&amp;displaylang=en}
{Windows Mobile 6 Professional/Standard}
\endlist
@@ -1206,7 +1206,7 @@ We hope you will enjoy using Qt.
\section3 Requirements
\list
- \o Development environment:
+ \o Development environment:
\list
\o Microsoft Visual Studio 2005 (Standard Edition) or higher
\o ActivePerl
@@ -1614,39 +1614,39 @@ We hope you will enjoy using Qt.
\row \o \c {-redo} \o Run configure with the same parameters as last time. \o
\endtable
-\section2 Qt for Windows CE only:
- \table
- \header \o Option \o Description \o Note
- \row \o \c {-no-iwmmxt} \o Do not compile with use of IWMMXT instructions \o
- \row \o \c {-iwmmxt} \o Do compile with use of IWMMXT instructions. \o This is
- for Qt for Windows CE on Arm only. This option denotes a default value and
- needs to be evaluated. If the evaluation succeeds, the feature is included.
- \row \o \c {-no-crt} \o Do not add the C runtime to default deployment rules.
- \o Default value.
- \row \o \c {-qt-crt} \o Qt identifies C runtime during project generation \o
- \row \o \c {-crt <path>} \o Specify path to C runtime used for project
- generation. \o
- \row \o \c {-no-cetest} \o Do not compile Windows CE remote test application \o
- \row \o \c {-cetest} \o Compile Windows CE remote test application \o This
- option denotes a default value and needs to be evaluated. If the evaluation
- succeeds, the feature is included.
- \row \o \c {-signature <file>} \o Use file for signing the target project \o
- \row \o \c {-phonon-wince-ds9} \o Enable Phonon Direct Show 9 backend for
- Windows CE \o Default value
- \endtable
-
- \section2 Qt for Symbian OS only:
- \table
- \header \o Option \o Description \o Note
- \row \o \c {-no-freetype} \o Do not compile in Freetype2 support.
- \o Default value.
- \row \o \c {-qt-freetype} \o Use the libfreetype bundled with Qt. \o
- \row \o \c {-fpu <flags>} \o VFP type on ARM, supported options:
- softvfp(default) |vfpv2 | softvfp+vfpv2 \o
- \row \o \c {-no-s60} \o Do not compile in S60 support. \o
- \row \o \c {-s60} \o Compile with support for the S60 UI Framework
- \o Default value.
- \row \o \c {-no-usedeffiles} \o Disable the usage of DEF files. \o
- \row \o \c {-usedeffiles} \o Enable the usage of DEF files. \o
- \endtable
+ \section2 Qt for Windows CE only:
+ \table
+ \header \o Option \o Description \o Note
+ \row \o \c {-no-iwmmxt} \o Do not compile with use of IWMMXT instructions \o
+ \row \o \c {-iwmmxt} \o Do compile with use of IWMMXT instructions. \o This is
+ for Qt for Windows CE on Arm only. This option denotes a default value and
+ needs to be evaluated. If the evaluation succeeds, the feature is included.
+ \row \o \c {-no-crt} \o Do not add the C runtime to default deployment rules.
+ \o Default value.
+ \row \o \c {-qt-crt} \o Qt identifies C runtime during project generation \o
+ \row \o \c {-crt <path>} \o Specify path to C runtime used for project
+ generation. \o
+ \row \o \c {-no-cetest} \o Do not compile Windows CE remote test application \o
+ \row \o \c {-cetest} \o Compile Windows CE remote test application \o This
+ option denotes a default value and needs to be evaluated. If the evaluation
+ succeeds, the feature is included.
+ \row \o \c {-signature <file>} \o Use file for signing the target project \o
+ \row \o \c {-phonon-wince-ds9} \o Enable Phonon Direct Show 9 backend for
+ Windows CE \o Default value
+ \endtable
+
+ \section2 Qt for Symbian OS only:
+ \table
+ \header \o Option \o Description \o Note
+ \row \o \c {-no-freetype} \o Do not compile in Freetype2 support.
+ \o Default value.
+ \row \o \c {-qt-freetype} \o Use the libfreetype bundled with Qt. \o
+ \row \o \c {-fpu <flags>} \o VFP type on ARM, supported options:
+ softvfp(default) |vfpv2 | softvfp+vfpv2 \o
+ \row \o \c {-no-s60} \o Do not compile in S60 support. \o
+ \row \o \c {-s60} \o Compile with support for the S60 UI Framework
+ \o Default value.
+ \row \o \c {-no-usedeffiles} \o Disable the usage of DEF files. \o
+ \row \o \c {-usedeffiles} \o Enable the usage of DEF files. \o
+ \endtable
*/
diff --git a/doc/src/images/appicon_packagecontents.png b/doc/src/images/appicon_packagecontents.png
new file mode 100644
index 0000000..49cb1e4
--- /dev/null
+++ b/doc/src/images/appicon_packagecontents.png
Binary files differ
diff --git a/doc/src/images/appicon_screenshot.png b/doc/src/images/appicon_screenshot.png
new file mode 100644
index 0000000..c29dd11
--- /dev/null
+++ b/doc/src/images/appicon_screenshot.png
Binary files differ
diff --git a/doc/src/images/cube.png b/doc/src/images/cube.png
new file mode 100644
index 0000000..95dfc98
--- /dev/null
+++ b/doc/src/images/cube.png
Binary files differ
diff --git a/doc/src/images/cube_faces.png b/doc/src/images/cube_faces.png
new file mode 100644
index 0000000..2c7102a
--- /dev/null
+++ b/doc/src/images/cube_faces.png
Binary files differ
diff --git a/doc/src/images/elidedlabel-example.png b/doc/src/images/elidedlabel-example.png
new file mode 100644
index 0000000..741d289
--- /dev/null
+++ b/doc/src/images/elidedlabel-example.png
Binary files differ
diff --git a/doc/src/images/glhypnotizer-demo.png b/doc/src/images/glhypnotizer-demo.png
new file mode 100644
index 0000000..5b7a1ae
--- /dev/null
+++ b/doc/src/images/glhypnotizer-demo.png
Binary files differ
diff --git a/doc/src/images/maemovibration-example.png b/doc/src/images/maemovibration-example.png
new file mode 100644
index 0000000..be975fc
--- /dev/null
+++ b/doc/src/images/maemovibration-example.png
Binary files differ
diff --git a/doc/src/images/multicastreceiver-example.png b/doc/src/images/multicastreceiver-example.png
new file mode 100644
index 0000000..8de11cd
--- /dev/null
+++ b/doc/src/images/multicastreceiver-example.png
Binary files differ
diff --git a/doc/src/images/multicastsender-example.png b/doc/src/images/multicastsender-example.png
new file mode 100644
index 0000000..a619b04
--- /dev/null
+++ b/doc/src/images/multicastsender-example.png
Binary files differ
diff --git a/doc/src/images/orientation-landscape-ui.png b/doc/src/images/orientation-landscape-ui.png
new file mode 100644
index 0000000..c591ff1
--- /dev/null
+++ b/doc/src/images/orientation-landscape-ui.png
Binary files differ
diff --git a/doc/src/images/orientation-landscape.png b/doc/src/images/orientation-landscape.png
new file mode 100644
index 0000000..e606804
--- /dev/null
+++ b/doc/src/images/orientation-landscape.png
Binary files differ
diff --git a/doc/src/images/orientation-portrait-ui.png b/doc/src/images/orientation-portrait-ui.png
new file mode 100644
index 0000000..304835b
--- /dev/null
+++ b/doc/src/images/orientation-portrait-ui.png
Binary files differ
diff --git a/doc/src/images/orientation-portrait.png b/doc/src/images/orientation-portrait.png
new file mode 100644
index 0000000..3d778e8
--- /dev/null
+++ b/doc/src/images/orientation-portrait.png
Binary files differ
diff --git a/doc/src/images/qml-listview-snippet.png b/doc/src/images/qml-listview-snippet.png
new file mode 100644
index 0000000..0ee0ffc
--- /dev/null
+++ b/doc/src/images/qml-listview-snippet.png
Binary files differ
diff --git a/doc/src/images/symbianvibration-example.png b/doc/src/images/symbianvibration-example.png
new file mode 100644
index 0000000..21461b6
--- /dev/null
+++ b/doc/src/images/symbianvibration-example.png
Binary files differ
diff --git a/doc/src/images/webkit-webftpclient.png b/doc/src/images/webkit-webftpclient.png
new file mode 100644
index 0000000..8aa7a12
--- /dev/null
+++ b/doc/src/images/webkit-webftpclient.png
Binary files differ
diff --git a/doc/src/images/webkit-webplugin.png b/doc/src/images/webkit-webplugin.png
new file mode 100644
index 0000000..1594163
--- /dev/null
+++ b/doc/src/images/webkit-webplugin.png
Binary files differ
diff --git a/doc/src/index.qdoc b/doc/src/index.qdoc
index 2ce6781..9680aa2 100644
--- a/doc/src/index.qdoc
+++ b/doc/src/index.qdoc
@@ -37,6 +37,9 @@
\enddiv
\list
\o \l{Qt Features Overview}
+ \o \l{How to Learn Qt}
+ \o \l{Introduction to Qt Quick}{Qt Quick}
+ \o \l{Qt Whitepaper}{Qt C++ Framework}
\o \l{Introduction to Qt Quick}{Qt Quick}
\o \l{external: Qt Mobility Manual}{Qt Mobility}
\o \l{Qt WebKit}
@@ -49,8 +52,8 @@
\o \l{external: Qt Simulator Manual}{Qt Simulator}
\endlist
\list
+ \o \l{What's New in Qt 4.8} - latest release
\o \l{Supported Platforms}{Platform Support}
- \o \l{What's New in Qt 4.7} - latest release
\endlist
\enddiv
\div {class="sectionlist normallist"}
diff --git a/doc/src/internationalization/i18n.qdoc b/doc/src/internationalization/i18n.qdoc
index 2abc286..f706623 100644
--- a/doc/src/internationalization/i18n.qdoc
+++ b/doc/src/internationalization/i18n.qdoc
@@ -514,7 +514,6 @@
\ingroup internationalization
\previouspage Internationalization with Qt
\contentspage Internationalization with Qt
- \nextpage Translation Rules for Plurals
\brief How to write source code in a way that makes it possible for user-visible text to be translated.
\tableofcontents
@@ -700,8 +699,8 @@
set using QLocale::setDefault(). (If no default locale was
specified, the "C" locale is used.)
- A summary of the rules used to translate strings containing plurals can be
- found in the \l{Translation Rules for Plurals} document.
+ A summary of supported languages and the rules used to translate strings
+ containing plurals can be obtained by running \tt{lupdate -list-languages}.
\section1 Enabling Translation
@@ -717,55 +716,5 @@
\section1 Further Reading
- \l{Qt Linguist Manual}, \l{Hello tr() Example}, \l{Translation Rules for Plurals}
-*/
-
-/*!
- \page i18n-plural-rules.html
- \title Translation Rules for Plurals
- \ingroup internationalization
- \previouspage Writing Source Code for Translation
- \contentspage Internationalization with Qt
- \brief A summary of the translation rules for plurals produced by Qt's i18n tools.
-
- The table below shows the specific rules that are produced by Qt Linguist
- and \c lrelease for a selection of languages. Cells marked \e otherwise
- indicate the form used when none of the other rules are appropriate for a
- specific language.
-
- \table 80%
- \header \o Language \o Rule 1 \o Rule 2 \o Rule 3
- \row \o English \o \c{n == 1}
- \o \e{otherwise} \o N/A
- \row \o French \o \c{n < 2}
- \o \e{otherwise} \o N/A
- \row \o Czech \o \c{n % 100 == 1}
- \o \c{n % 100 >= 2 && n % 100 <= 4}
- \o \e{otherwise}
- \row \o Irish \o \c{n == 1}
- \o \c{n == 2} \o \e{otherwise}
- \row \o Latvian \o \c{n % 10 == 1&& n % 100 != 11}
- \o \c{n != 0} \o \e{otherwise}
- \row \o Lithuanian \o \c{n % 10 == 1&& n % 100 != 11}
- \o \c{n % 100 != 12 && n % 10 == 2}
- \o \e{otherwise}
- \row \o Macedonian \o \c{n % 10 == 1}
- \o \c{n % 10 == 2} \o \e{otherwise}
- \row \o Polish \o \c{n == 1}
- \o \c{n % 10 >= 2 && n % 10 <= 4
- && (n % 100 < 10 || n % 100 > 20)}
- \o \e{otherwise}
- \row \o Romanian \o \c{n == 1}
- \o \c{n == 0|| (n % 100 >= 1 && n % 100 <= 20)}
- \o \e{otherwise}
- \row \o Russian \o \c{n % 10 == 1&& n % 100 != 11}
- \o \c{n % 10 >= 2 && n % 10 <= 4
- && (n % 100 < 10 || n % 100 > 20)}
- \o \e{otherwise}
- \row \o Slovak \o \c{n == 1} \o \c{n >= 2 && n <= 4}
- \o \e{otherwise}
- \row \o Japanese \o \e{otherwise} \o N/A \o N/A
- \endtable
-
- The rules themselves are not documented and are internal to Qt Linguist and \c lrelease.
+ \l{Qt Linguist Manual}, \l{Hello tr() Example}
*/
diff --git a/doc/src/legal/3rdparty.qdoc b/doc/src/legal/3rdparty.qdoc
index 981ad39..d8276b3 100644
--- a/doc/src/legal/3rdparty.qdoc
+++ b/doc/src/legal/3rdparty.qdoc
@@ -45,6 +45,10 @@
Run \c{configure -help} to see any options that may be available for
controlling the use of these libraries.
+ Modifications, if any, done to the third-party libraries can
+ normally be found by reviewing the change history of the
+ corresponding files in the public Qt repository.
+
\tableofcontents
\section1 DES (\c des.cpp)
@@ -126,7 +130,7 @@
See \c src/3rdparty/harfbuzz/COPYING for license details.
- \section1 The Independent JPEG Group's JPEG Software (\c libjpeg) version 8
+ \section1 The Independent JPEG Group's JPEG Software (\c libjpeg) version 8c
\e{This package contains C software to implement JPEG image compression and
decompression. JPEG (pronounced "jay-peg") is a standardized compression
@@ -142,6 +146,49 @@
\hr
+ The authors make NO WARRANTY or representation, either express or implied,
+ with respect to this software, its quality, accuracy, merchantability, or
+ fitness for a particular purpose. This software is provided "AS IS", and you,
+ its user, assume the entire risk as to its quality and accuracy.
+
+ This software is copyright (C) 1991-2010, Thomas G. Lane, Guido Vollbeding.
+ All Rights Reserved except as specified below.
+
+ Permission is hereby granted to use, copy, modify, and distribute this
+ software (or portions thereof) for any purpose, without fee, subject to these
+ conditions:\br
+ (1) If any part of the source code for this software is distributed, then this
+ README file must be included, with this copyright and no-warranty notice
+ unaltered; and any additions, deletions, or changes to the original files
+ must be clearly indicated in accompanying documentation.\br
+ (2) If only executable code is distributed, then the accompanying
+ documentation must state that "this software is based in part on the work of
+ the Independent JPEG Group".\br
+ (3) Permission for use of this software is granted only if the user accepts
+ full responsibility for any undesirable consequences; the authors accept
+ NO LIABILITY for damages of any kind.
+
+ These conditions apply to any software derived from or based on the IJG code,
+ not just to the unmodified library. If you use our work, you ought to
+ acknowledge us.
+
+ Permission is NOT granted for the use of any IJG author's name or company name
+ in advertising or publicity relating to this software or products derived from
+ it. This software may be referred to only as "the Independent JPEG Group's
+ software".
+
+ We specifically permit and encourage the use of this software as the basis of
+ commercial products, provided that all warranty or liability claims are
+ assumed by the product vendor.
+
+ \hr
+
+ The Graphics Interchange Format(c) is the Copyright property of
+ CompuServe Incorporated. GIF(sm) is a Service Mark property of
+ CompuServe Incorporated.
+
+ \hr
+
See \c src/3rdparty/libjpeg/README for license details.
\section1 MD4 (\c md4.cpp and \c md4.h)
@@ -178,51 +225,99 @@
See \c src/3rdparty/libmng/LICENSE for license details.
- \section1 PNG Reference Library (\c libpng) version 1.4.0
+ \section1 PNG Reference Library (\c libpng) version 1.5.1
\e{Libpng was written as a companion to the PNG specification, as a way
of reducing the amount of time and effort it takes to support the PNG
file format in application programs.} -- quoted from \c
- src/3rdparty/libpng/libpng.txt.
+ src/3rdparty/libpng/libpng-manual.txt.
\hr
- copyright (C) 1999 by Willem van Schaik <willem@schaik.com>
-
- version 1.0 - 1999.10.15 - First version.
-
- Permission to use, copy, modify, and distribute this software and
- its documentation for any purpose and without fee is hereby granted,
- provided that the above copyright notice appear in all copies and
- that both that copyright notice and this permission notice appear in
- supporting documentation. This software is provided "as is" without
- express or implied warranty.
-
- \hr
-
- Copyright (c) 1998-2001 Greg Roelofs. All rights reserved.
-
- This software is provided "as is," without warranty of any kind,
- express or implied. In no event shall the author or contributors
- be held liable for any damages arising in any way from the use of
- this software.
-
- Permission is granted to anyone to use this software for any purpose,
- including commercial applications, and to alter it and redistribute
- it freely, subject to the following restrictions:
-
- 1. Redistributions of source code must retain the above copyright
- notice, disclaimer, and this list of conditions.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, disclaimer, and this list of conditions in the documenta-
- tion and/or other materials provided with the distribution.
- 3. All advertising materials mentioning features or use of this
- software must display the following acknowledgment:
-
- This product includes software developed by Greg Roelofs
- and contributors for the book, "PNG: The Definitive Guide,"
- published by O'Reilly and Associates.
-
+ libpng versions 1.2.6, August 15, 2004, through 1.5.1, February 3, 2011, are
+ Copyright (c) 2004, 2006-2011 Glenn Randers-Pehrson, and are
+ distributed according to the same disclaimer and license as libpng-1.2.5
+ with the following individual added to the list of Contributing Authors
+
+ Cosmin Truta
+
+ libpng versions 1.0.7, July 1, 2000, through 1.2.5 - October 3, 2002, are
+ Copyright (c) 2000-2002 Glenn Randers-Pehrson, and are
+ distributed according to the same disclaimer and license as libpng-1.0.6
+ with the following individuals added to the list of Contributing Authors
+
+ Simon-Pierre Cadieux\br
+ Eric S. Raymond\br
+ Gilles Vollant
+
+ and with the following additions to the disclaimer:
+
+ There is no warranty against interference with your enjoyment of the
+ library or against infringement. There is no warranty that our
+ efforts or the library will fulfill any of your particular purposes
+ or needs. This library is provided with all faults, and the entire
+ risk of satisfactory quality, performance, accuracy, and effort is with
+ the user.
+
+ libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are
+ Copyright (c) 1998, 1999 Glenn Randers-Pehrson, and are
+ distributed according to the same disclaimer and license as libpng-0.96,
+ with the following individuals added to the list of Contributing Authors:
+
+ Tom Lane\br
+ Glenn Randers-Pehrson\br
+ Willem van Schaik
+
+ libpng versions 0.89, June 1996, through 0.96, May 1997, are
+ Copyright (c) 1996, 1997 Andreas Dilger
+ Distributed according to the same disclaimer and license as libpng-0.88,
+ with the following individuals added to the list of Contributing Authors:
+
+ John Bowler\br
+ Kevin Bracey\br
+ Sam Bushell\br
+ Magnus Holmgren\br
+ Greg Roelofs\br
+ Tom Tanner
+
+ libpng versions 0.5, May 1995, through 0.88, January 1996, are
+ Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
+
+ For the purposes of this copyright and license, "Contributing Authors"
+ is defined as the following set of individuals:
+
+ Andreas Dilger\br
+ Dave Martindale\br
+ Guy Eric Schalnat\br
+ Paul Schmidt\br
+ Tim Wegner
+
+ The PNG Reference Library is supplied "AS IS". The Contributing Authors
+ and Group 42, Inc. disclaim all warranties, expressed or implied,
+ including, without limitation, the warranties of merchantability and of
+ fitness for any purpose. The Contributing Authors and Group 42, Inc.
+ assume no liability for direct, indirect, incidental, special, exemplary,
+ or consequential damages, which may result from the use of the PNG
+ Reference Library, even if advised of the possibility of such damage.
+
+ Permission is hereby granted to use, copy, modify, and distribute this
+ source code, or portions hereof, for any purpose, without fee, subject
+ to the following restrictions:
+
+ 1. The origin of this source code must not be misrepresented.
+
+ 2. Altered versions must be plainly marked as such and must not
+ be misrepresented as being the original source.
+
+ 3. This Copyright notice may not be removed or altered from any
+ source or altered source distribution.
+
+ The Contributing Authors and Group 42, Inc. specifically permit, without
+ fee, and encourage the use of this source code as a component to
+ supporting the PNG file format in commercial products. If you use this
+ source code in a product, acknowledgment is not required but would be
+ appreciated.
+
\hr
See \c src/3rdparty/libpng/LICENSE for license details.
@@ -266,7 +361,7 @@
See \c src/3rdparty/sha1/sha1.cpp for more information about the terms and
conditions under which the code is supplied.
- \section1 SQLite (\c sqlite) version 3.5.9
+ \section1 SQLite (\c sqlite) version 3.7.7.1
\e{SQLite is a small C library that implements a
self-contained, embeddable, zero-configuration SQL database engine.}
@@ -277,7 +372,7 @@
\l{http://www.sqlite.org/copyright.html}{SQLite Copyright} page on the
SQLite web site for further information.
- \section1 TIFF Software Distribution (\c libtiff) version 3.8.2
+ \section1 TIFF Software Distribution (\c libtiff) version 3.9.2
\e {libtiff is a set of C functions (a library) that support the
manipulation of TIFF image files.} -- quoted from \c
@@ -406,13 +501,35 @@
See \c src/3rdparty/wintab/wintab.h for license details.
- \section1 Data Compression Library (\c zlib) version 1.2.3
+ \section1 Data Compression Library (\c zlib) version 1.2.5
\e{zlib is a general purpose data compression library. All the code
is thread safe. The data format used by the zlib library is described
by RFCs (Request for Comments) 1950 to 1952} -- quoted from \c
src/3rdparty/zlib/README.
+ \hr
+
+ Copyright (C) 1995-2010 Jean-loup Gailly and Mark Adler
+
+ This software is provided 'as-is', without any express or implied
+ warranty. In no event will the authors be held liable for any damages
+ arising from the use of this software.
+
+ Permission is granted to anyone to use this software for any purpose,
+ including commercial applications, and to alter it and redistribute it
+ freely, subject to the following restrictions:
+
+ 1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.\br
+ 2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.\br
+ 3. This notice may not be removed or altered from any source distribution.
+
+ \hr
+
See \c src/3rdparty/zlib/README for license details.
\section1 JavaScriptCore
diff --git a/doc/src/mainpage.qdoc b/doc/src/mainpage.qdoc
index 6865f10..154d14c 100644
--- a/doc/src/mainpage.qdoc
+++ b/doc/src/mainpage.qdoc
@@ -110,7 +110,7 @@ applications using layouts and Qt Quick interfaces with QML.
\o \l{Qt Quick} - create UIs using QML
\list
\o \l{external: Developing Qt Quick Applications}{Creator's QML Design Mode} - design Qt Quick interfaces using Creator's design mode
- \o \l{Qt Quick Components for Symbian}{Qt Quick Components for Symbian} - a native QML component set for the Symbian^3 platform
+ \o \l{Qt Quick Components for Symbian 1.1}{Qt Quick Components for Symbian} - a native QML component set for the Symbian^3 platform
\endlist
\o \l{Widgets and Layouts} - primary elements for C++ based interfaces
\list
diff --git a/doc/src/network-programming/qtnetwork.qdoc b/doc/src/network-programming/qtnetwork.qdoc
index a5013e1..93ba248 100644
--- a/doc/src/network-programming/qtnetwork.qdoc
+++ b/doc/src/network-programming/qtnetwork.qdoc
@@ -257,8 +257,13 @@
QUdpSocket::readDatagram() to read the datagram.
The \l{network/broadcastsender}{Broadcast Sender} and
- \l{network/broadcastreceiver}{Broadcast Receiver} examples show
- how to write a UDP sender and a UDP receiver using Qt.
+ \l{network/broadcastreceiver}{Broadcast Receiver} examples show how to
+ write a UDP sender and a UDP receiver using Qt.
+
+ QUdpSocket also supports multicasting. The
+ \l{network/multicastsender}{Multicast Sender} and
+ \l{network/multicastreceiver}{Multicast Receiver} examples show how to use
+ write UDP multicast clients.
\section1 Resolving Host Names using QHostInfo
diff --git a/doc/src/platforms/emb-install.qdoc b/doc/src/platforms/emb-install.qdoc
index eb12cd4..e5dc6f8 100644
--- a/doc/src/platforms/emb-install.qdoc
+++ b/doc/src/platforms/emb-install.qdoc
@@ -74,6 +74,9 @@
\snippet doc/src/snippets/code/doc_src_emb-install.qdoc embedded help
+ The \l{Configuration Options for Qt} page gives a brief overview
+ of these.
+
Note that by default, \l{Qt for Embedded Linux} is configured for
installation in the \c{/usr/local/Trolltech/QtEmbedded-%VERSION%}
directory, but this can be changed by using the \c{-prefix}
diff --git a/doc/src/platforms/platform-notes-rtos.qdoc b/doc/src/platforms/platform-notes-rtos.qdoc
index 9a37646..dd72016 100644
--- a/doc/src/platforms/platform-notes-rtos.qdoc
+++ b/doc/src/platforms/platform-notes-rtos.qdoc
@@ -160,7 +160,7 @@
X11 embedded server is not recommended due to missing support for X11 extensions,
resulting in poor rendering quality.
- Qt for QNX contains experimental screen and input drivers based on QNX's
+ Qt for QNX contains screen and input drivers based on QNX's
\c devi-hid and \c io-display. For more information, check the class documentation
for QQnxScreen, QWSQnxKeyboardHandler and QQnxMouseHandler. See the
\l{Porting Qt for Embedded Linux to a New Architecture} document for information
@@ -170,7 +170,7 @@
\section1 Supported Versions
- Qt has been tested on QNX 6.4 on i386 and PowerPC targets with QNX's default
+ Qt has been tested on QNX 6.5 on i386, ARM/ARM-v7 and PowerPC targets with QNX's default
gcc compiler.
\section1 Limitations
@@ -179,16 +179,12 @@
\table
\header \o Function \o Notes
- \row \o QProcess
- \o Not available - QNX doesn't support mixing threads and processes.
- \row \o QSharedMemory
- \o Not available - QNX doesn't support SYSV style shared memory.
- \row \o QSystemSemaphore
- \o Not available - QNX doesn't support SYSV style system semaphores.
- \row \o QWS Multi Process
- \o QT_NO_QWS_MULTIPROCESS is always on due to missing shared memory support.
\row \o Phonon
\o There is no standard audio backend, which could be integrated into Phonon.
+ \row \o QtMultimedia
+ \o There is no standard backend, which could be integrated into QtMultimedia.
+ \row \o QtDBus
+ \o The the QtDBus library is not available on QNX.
\row \o Qt3Support
\o The Qt3Support library is not available on QNX.
\endtable
@@ -203,24 +199,25 @@
i386 QNX target:
\code
- configure -xplatform unsupported/qws/qnx-i386-g++ -embedded i386 -no-gfx-linuxfb -no-mouse-linuxtp -no-kbd-tty -no-qt3support -qt-gfx-qnx -qt-mouse-qnx -qt-kbd-qnx -no-exceptions
+ configure -xplatform unsupported/qws/qnx-i386-g++ -embedded x86 -no-gfx-linuxfb -no-mouse-linuxtp -no-kbd-tty -no-qt3support -qt-mouse-qnx -qt-kbd-qnx -qt-gfx-qnx -depths 16,24,32,generic -no-exceptions
\endcode
\list
\o \c{-xplatform unsupported/qws/qnx-i386-g++} - selects the i386-g++ mkspec for QNX
- \o \c{-embedded i386} - builds the embedded version of Qt and sets the architecture to i386
+ \o \c{-embedded x86} - builds the embedded version of Qt and sets the architecture to i386
\o \c{-no-gfx-linuxfb}, \c{-no-mouse-linuxtp} and \c{-no-kbd-tty} are Linux specific and won't work on QNX
\o \c{-no-qt3support} - required since the Qt3 support classes are not supported on QNX
\o \c{-no-exceptions} - reduces the size of the library by disabling exception support
- \o \c{-qt-gfx-qnx} - enables the experimental \c{io-graphics} based display driver
- \o \c{-qt-mouse-qnx} - enables the experimental \c{devi-hig} based mouse driver
- \o \c{-qt-kbd-qnx} - enables the experimental \c{devi-hig} based keyboard driver
+ \o \c{-qt-mouse-qnx} - enables the \c{devi-hid} based mouse driver
+ \o \c{-qt-kbd-qnx} - enables the \c{devi-hid} based keyboard driver
+ \o \c{-qt-gfx-qnx} - enables the \c{io-graphics} based screen driver
+ \o \c{-depths 16,24,32,generic} - enables all modes supported by the QNX screen driver
\endlist
\section1 General Notes
\list
- \o To enable the experimental QNX display and input drivers, \c{io-display} needs to be
+ \o To enable the QNX screen and input drivers, \c{io-display} needs to be
up and running. The \c devi-hid based Qt input drivers require \c devi-hid to run
in resource mode without Photon support. To enable a standard mouse and keyboard
combination, run \c devi-hid as follows: \c{/usr/photon/bin/devi-hid -Pr kbd mouse}.
@@ -235,8 +232,8 @@
with a newer version, or disable the TIFF plugin entierly by appending
\c{QT_CONFIG += no-tiff} to \c{.qmake.cache} after configuring Qt.
- \o Some of the tools, examples and demos do not compile due to dependencies on QProcess
- or other classes that are not available on QNX.
+ \o Some of the tools, examples and demos do not compile due to dependencies on classes
+ that are not available on QNX.
\endlist
\section1 Platform Regressions
@@ -244,4 +241,128 @@
Qt for QNX's behavior is mostly identical with \l{Qt for Embedded Linux}. However,
some regressions were spotted in QDateTime computation around year 0 and year 1970,
which have been tracked back to faulty time zone data on some QNX versions.
+
+ QString::localeAwareCompare() only works for C locale.
+
+ QTranslator's default locale-based fallback mechanism doesn't work.
+
+ QSystemSemaphore: Due to POSIX semaphores limitations, the semaphore operations aren't
+ automatically undone when the process terminates. This potentially may lead to unexpected
+ lock-ups in applications which does use the SysV semaphores behavior.
+*/
+
+/*!
+ \page platform-notes-integrity.html
+ \title Platform Notes - INTEGRITY
+ \contentspage Platform Notes
+ \target INTEGRITY
+
+ \note INTEGRITY is a community supported platform. See the
+ \l{Supported Platforms} page for more information.
+
+ This page contains information about the Qt for INTEGRITY port. More
+ information about the combinations of platforms and compilers supported
+ by Qt can be found on the \l{Supported Platforms} page.
+
+ Note that Qt for INTEGRITY is currently based on \l{Qt for Embedded Linux},
+ which contains its own windowing system.
+
+ Qt for INTEGRITY contains experimental screen and input drivers based on the
+ gh_FB Framebuffer API for graphics, a Connection-based mouse and keyboard
+ support. For information about these drivers, please refer to Green Hills
+ Software standard support.
+
+ \tableofcontents
+
+ \section1 Supported Versions
+
+ Qt has been tested on INTEGRITY 10 on various PowerPC, ARM and x86 targets.
+ On some platforms a native graphics FrameBuffer driver is available and has
+ then been used for testing. On all other platforms, the default FrameBuffer
+ VNC driver is used.
+
+ \section1 Limitations
+
+ Some of Qt's functionality is currently not available on INTEGRITY:
+
+ \table
+ \header \o Function \o Notes
+ \row \o QProcess
+ \o Not implemented. Volunteers welcome.
+ \row \o QSharedMemory
+ \o Not available - INTEGRITY doesn't support SYSV style shared memory.
+ \row \o QSystemSemaphore
+ \o Not available - INTEGRITY doesn't support SYSV style system semaphores.
+ \row \o QWS Multi Process
+ \o QT_NO_QWS_MULTIPROCESS is always on due to missing shared memory support.
+ \row \o Phonon
+ \o There is no standard audio backend.
+ \row \o Qt3Support
+ \o The Qt3Support library is not available on INTEGRITY.
+ \row \o QtScript
+ \o Not available - INTEGRITY's mmap() doesn't support allocating memory.
+ \endtable
+
+ \section1 Build Instructions
+
+ Qt for INTEGRITY can be built on either a Linux or Windows (with cygwin) host.
+ In both cases, a standard installation of INTEGRITY is required, with the
+ addition of the FrameBuffer API.
+
+ Example configure line for cross-compiling Qt for INTEGRITY for an
+ ARM INTEGRITY target:
+
+ \code
+ ./configure --hostprefix=$PWD -embedded integrity -xplatform unsupported/qws/integrity-arm-cxarm -static -qt-kbd-integrity -qt-mouse-integrity -no-mouse-linuxtp -no-mouse-pc -no-kbd-tty -qt-gfx-integrityfb -no-qt3support -no-gfx-linuxfb -no-glib -no-openssl -no-largefile -little-endian -arch integrity -prefix / -opensource -no-feature-QWS_MULTIPROCESS -no-feature-SHAREDMEMORY -no-feature-PROCESS -no-feature-SYSTEMSEMAPHORE -no-feature-PRINTER -no-feature-QWS_QPF2 -no-libtiff -no-exceptions -no-scripttools
+ \endcode
+
+ \list
+ \o \c{--hostprefix=$PWD} - specifies the current directory as the base source for Qt
+ \o \c{-arch integrity} - sets the architecture to INTEGRITY (for atomic operations)
+ \o \c{-embedded integrity} - builds the embedded version of Qt and sets the architecture to INTEGRITY
+ \o \c{-xplatform unsupported/qws/integrity-arm-cxarm} - selects the arm-cxarm mkspec for INTEGRITY
+ \o \c{-static} - specifies a static build of Qt
+ \o \c{-no-gfx-linuxfb}, \c{-no-mouse-linuxtp}, \c{-no-mouse-pc} and \c{-no-kbd-tty} are Linux specific and won't work on INTEGRITY
+ \o \c{-no-qt3support} - required since the Qt3 support classes are not supported on INTEGRITY
+ \o \c{-no-exceptions} - reduces the size of the library by disabling exception support
+ \o \c{-no-openssl} - disable support for OpenSSL
+ \o \c(-no-libtiff} - disable support for libTIFF
+ \o \c{-no-glib} - disable support for unavailable Glib
+ \o \c{-no-largefile} - disable support for large (> 2TB) files
+ \o \c{-no-scripttools} - disable support for QtScript tools
+ \o \c{-qt-gfx-integrity} - enables the experimental gh_FB based display driver
+ \o \c{-qt-mouse-integrity} - enables the experimental Connection-based mouse driver
+ \o \c{-qt-kbd-integrity} - enables the experimental Connection-based keyboard driver
+ \endlist
+
+ The above script will generate MULTI .gpj Project files, not Makefiles. The
+ main benefit of using these project files is automatic dependency checking,
+ but this also provides an organization known to INTEGRITY customers.
+ For Qt libraries, the top-level file is projects.gpj.
+
+ \section1 General Notes
+
+ \list
+ \o Before you run the above configure line, you may want to modify the values
+ of INTEGRITY_DIR and INTEGRITY_BSP in unsupported/qws/integrity-arm-cxarm/qmake.conf.
+ If you do not do this, you will have to modify the resulting generated projects.gpj
+
+ \o Compilation of native preprocessing tools (moc, rcc, uic) is not automatic. From
+ a Linux shell or a MingWin shell, you can run the following command to compile these tools :
+ \code
+ cd src/tools/bootstrap && make && cd ../rcc && make && cd ../moc && make && cd ../uic && make && cd ../../..
+ \endcode
+
+ \o GIF and TIFF support are currently not enabled.
+
+ \o Default .int files are generated. You may want to modify the amount of heap assigned
+ to each example by modifying the HeapSize declaration in the specific example .int file.
+
+ \o Some of the tools, examples and demos do not compile due to dependencies on QProcess
+ or other classes that are not available on INTEGRITY.
+
+ \endlist
+
+ \section1 Platform Regressions
+
*/
diff --git a/doc/src/platforms/platform-notes.qdoc b/doc/src/platforms/platform-notes.qdoc
index fbb66b1..f177cd7 100644
--- a/doc/src/platforms/platform-notes.qdoc
+++ b/doc/src/platforms/platform-notes.qdoc
@@ -602,6 +602,69 @@
problem, it probably is a good idea to turn off precompiled headers.
Also, consider filing a bug report with Apple so that they can
improve support for this feature.
+
+ \section2 Attributes
+ The following lists a set of useful attributes that can be used to tweak applications
+ on Mac:
+
+ Qt::AA_MacPluginApplication, Qt::AA_DontUseNativeMenuBar, Qt::AA_MacDontSwapCtrlAndMeta
+ Qt::WA_MacNoClickThrough, Qt::WA_MacOpaqueSizeGrip, Qt::WA_MacShowFocusRect,
+ Qt::WA_MacNormalSize, Qt::WA_MacSmallSize, Qt::WA_MacMiniSize, Qt::WA_MacVariableSize,
+ Qt::WA_MacBrushedMetal, Qt::WA_MacAlwaysShowToolWindow, Qt::WA_MacFrameworkScaled,
+ Qt::WA_MacNoShadow, Qt::Sheet, Qt::Drawer, Qt::MacWindowToolBarButtonHint,
+ QMainWindow::unifiedTitleAndToolBarOnMac, WA_MacNoCocoaChildWindow
+
+ \section2 Mixing Qt with native code
+ Two classes are awailable for either adding native Cocoa views/controls
+ inside a Qt application, or the opposite, embedding Qt into a native
+ Cocoa application:
+
+ QMacCocoaViewContainer, QMacNativeWidget
+
+ \section3 Using native Cocoa panels
+ Launching native Cocoa panels from within a Qt application can sometimes
+ be problematic. The reason is that Qt's event dispatcher is more flexible
+ than what Cocoa offers, and lets the user spin the event dispatcher (and
+ running QEventLoop::exec) without having to think about whether or not modal
+ dialogs are showing on screen (which is a difference to Cocoa). Therefore
+ we need to do special bookkeeping in Qt to handle this correctly, which
+ unfortunately make mixing in native panels hard. The best way at the moment
+ to do this, is to follow the pattern below, where we post the call to the
+ function with native code rather than calling it directly. Then we know that
+ Qt has cleanly updated any pending event loop recursions before the native
+ panel is shown:
+
+ \code
+ #include <QtGui>
+
+ class NativeProxyObject : public QObject
+ {
+ Q_OBJECT
+ public slots:
+ void execNativeDialogLater()
+ {
+ QMetaObject::invokeMethod(this, "execNativeDialogNow", Qt::QueuedConnection);
+ }
+
+ void execNativeDialogNow()
+ {
+ NSRunAlertPanel(@"A Native dialog", @"", @"OK", @"", @"");
+ }
+
+ };
+
+ #include "main.moc"
+
+ int main(int argc, char **argv){
+ QApplication app(argc, argv);
+ NativeProxyObject proxy;
+ QPushButton button("Show native dialog");
+ QObject::connect(&button, SIGNAL(clicked()), &proxy, SLOT(execNativeDialogLater()));
+ button.show();
+ return app.exec();
+ }
+
+ \endcode
*/
/*!
@@ -688,12 +751,13 @@
\endlist
The following technologies have limited support:
+
\table
\header \o Module
\o Note
\row \o QtSql
- \o The only supported driver is SQLite.
+ \o The supported drivers are SQLite and QSYMSQL.
\row \o QtMultimedia
\o For support details see \l {Multimedia Support} section.
\row \o QtGui
diff --git a/doc/src/platforms/supported-platforms.qdoc b/doc/src/platforms/supported-platforms.qdoc
index eee6555..92bf12d 100644
--- a/doc/src/platforms/supported-platforms.qdoc
+++ b/doc/src/platforms/supported-platforms.qdoc
@@ -465,7 +465,7 @@
\o \l{Platform and Compiler Notes - Symbian}{Platform Notes - Symbian}
- Platform specific notes.
\o \l{Getting Started Guides}{Getting started}
- \o \l{Qt Quick Components for Symbian}{Qt Quick Components for Symbian}
+ \o \l{Qt Quick Components for Symbian 1.1}{Qt Quick Components for Symbian}
- provides a QML component set for the Symbian^3 platform
\endlist
@@ -483,7 +483,7 @@
time and lines of code required for traditional UI styling with
Qt Style Sheets.
- The \l{Qt Quick Components for Symbian}{Qt Quick Components for Symbian}
+ The \l{Qt Quick Components for Symbian 1.1}{Qt Quick Components for Symbian 1.1}
provides a native QML component set.
\section2 Graphics Features
diff --git a/doc/src/platforms/symbian-introduction.qdoc b/doc/src/platforms/symbian-introduction.qdoc
index 82d39f3..bacdbc8 100644
--- a/doc/src/platforms/symbian-introduction.qdoc
+++ b/doc/src/platforms/symbian-introduction.qdoc
@@ -150,9 +150,9 @@
when application \c .sis needs to be separately signed before
including it into smart installer \c .sis.
\row \o \c unsigned_installer_sis \o Create unsigned \l{Smart Installer}{smart installer}
- \c .sis file for project.
- Note: The application \c .sis contained in smart installer
- \c .sis will also be unsigned.
+ \c .sis file for project.
+ Note: The application \c .sis contained in smart installer
+ \c .sis will also be unsigned.
\row \o \c stub_sis \o Create a stub sis to allow upgradability of projects
that are deployed in ROM
\endtable
diff --git a/doc/src/porting/porting4.qdoc b/doc/src/porting/porting4.qdoc
index 8305bb9..490a81b 100644
--- a/doc/src/porting/porting4.qdoc
+++ b/doc/src/porting/porting4.qdoc
@@ -2374,8 +2374,8 @@
pointer to a QObjectList. See also the comments on QObjectList
below.
- Use QObject::findChildren() (or qFindChildren() if you need MSVC 6
- compatibility) instead of QObject::queryList(). For example:
+ Use QObject::findChildren() instead of QObject::queryList().
+ For example:
\snippet doc/src/snippets/code/doc_src_porting4.cpp 18
diff --git a/doc/src/qt-webpages.qdoc b/doc/src/qt-webpages.qdoc
index 16bc665..394850f 100644
--- a/doc/src/qt-webpages.qdoc
+++ b/doc/src/qt-webpages.qdoc
@@ -65,6 +65,10 @@
\title Visual Studio Integration
*/
/*!
+ \externalpage http://qt.nokia.com/products/developer-tools
+ \title Qt Creator Product Page
+*/
+/*!
\externalpage http://qt.nokia.com/products/add-on-products/catalog/4/Widgets/qtcalendarwidget/
\title Calendar Widget
*/
@@ -141,7 +145,7 @@
\title Task Tracker
*/
/*!
- \externalpage http://lists.trolltech.com
+ \externalpage http://lists.qt.nokia.com/
\title Qt Mailing Lists
*/
/*!
@@ -200,7 +204,10 @@
\externalpage http://labs.qt.nokia.com
\title Qt Labs
*/
-
+/*!
+ \externalpage http://doc.qt.nokia.com/
+ \title Qt Docs Web Start Page
+*/
/*!
\externalpage http://doc.qt.nokia.com/qtcreator/creator-qml-application.html
\title external: Developing Qt Quick Applications with Creator
@@ -210,6 +217,14 @@
\title Qt Coding Style
*/
/*!
+ \externalpage http://developer.qt.nokia.com/forums
+ \title Forums on Qt Developer Network
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/wiki
+ \title Wiki on Qt Developer Network
+*/
+/*!
\externalpage http://developer.qt.nokia.com/wiki/QtCreatorWhitepaper
\title Qt Creator Whitepaper
*/
@@ -250,6 +265,10 @@
\title external: Qt Simulator Manual
*/
/*!
+ \externalpage http://qt.nokia.com/products/qt-sdk
+ \title Qt SDK Product Page
+*/
+/*!
\externalpage http://doc.qt.nokia.com/nokia-qtsdk-latest/index.html
\title external: Qt SDK Manual
*/
@@ -298,6 +317,14 @@
\title external: Mobility Location
*/
/*!
+ \externalpage http://qt.nokia.com/partners/training/
+ \title Qt Training Partners
+*/
+/*!
+ \externalpage http://qt.nokia.com/partners/training/course-schedule
+ \title Open Enrollment Qt Training Courses
+*/
+/*!
\externalpage http://qt.nokia.com/developer/learning/online/training/training-day-at-developer-days-2009/
\title Training Day at Qt Developer Days 2009
*/
@@ -306,6 +333,10 @@
\title external: Qt Mobility Examples
*/
/*!
+ \externalpage http://developer.qt.nokia.com/elearning
+ \title Qt Video Portal
+*/
+/*!
\externalpage http://qt.nokia.com/developer/learning/online/training
\title Qt eLearning
*/
@@ -317,6 +348,187 @@
\externalpage http://qt.nokia.com/developer/learning/online/talks/developerdays2010
\title Qt Developer Days 2010
*/
+/*!
+ \externalpage http://developer.qt.nokia.com/wiki/Category:LanguageBindings
+ \title Qt Language Bindings on Wiki
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/qt_programming_essentials_by_ics_part_1
+ \title Qt Essentials by ICS part 1
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/qt_programming_essentials_by_ics_part_2
+ \title Qt Essentials by ICS part 2
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/qt_programming_essentials_by_kdab_part_1
+ \title Qt Essentials by KDAB part 1
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/qt_programming_essentials_by_kdab_part_2
+ \title Qt Essentials by KDAB part 2
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/programming_with_qt_qgraphicsview_by_ics
+ \title QGraphicsView by ICS
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/programming_with_qt_qgraphicsview_by_kdab
+ \title QGraphicsView by KDAB
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/programming_with_qt_multithreading_by_ics
+ \title Multithreading by ICS
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/programming_with_qt_multithreading_by_kdab
+ \title Multithreading by KDAB
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/training_teaser_ui_development_with_qt_by_ics
+ \title UI Development with Qt by ICS
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/training_teaser_ui_development_with_qt_by_kdab
+ \title UI Development with Qt by KDAB
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/training_teaser_embedded_development_by_basyskom
+ \title Embedded Development by basysKom
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/training_teaser_embedded_development_by_ics
+ \title Embedded Development by ICS
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/programming_with_qt_model_view_programming_by_basyskom
+ \title ModelView Programming by basysKom
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/programming_with_qt_model_view_programming_by_kdab
+ \title ModelView Programming by KDAB
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/programming_with_qt_webkit_by_kdab
+ \title QWebKit by KDAB
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/qt_quick_introduction_to_qt_quick_part_1_4
+ \title Quick by KDAB part 1
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/qt_quick_user_interaction_user_input_and_states_part_2_4
+ \title Quick by KDAB part 2
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/qt_quick_animations_and_visual_effects_part_3_4
+ \title Quick by KDAB part 3
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/qt_quick_small_projects_arranging_items_qmlcomponentsand_debugging_qml_part
+ \title Quick by KDAB part 4
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/qt_mobile_development_for_nokia_devices_introduction_to_qt_on_mobile_part_1
+ \title Qt Mobile Development for Nokia Devices by Digia part 1
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/qt_mobile_development_for_nokia_devices_mobile_ui_design_technologies_and_a
+ \title Qt Mobile Development for Nokia Devices by Digia part 2
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/qt_mobile_development_for_nokia_devices_getting_started_with_nokia_qt_sdk_p
+ \title Qt Mobile Development for Nokia Devices by Digia part 3
+*/
+
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/qt_essentials_widget_edition_fundamentals_of_qt_part_2_hello_world_in_qtcre
+ \title Qt Essentials - Fundamentals of Qt part 1
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/qt_essentials_widget_edition_fundamentals_of_qt_part_1_your_first_qt_applic
+ \title Qt Essentials - Fundamentals of Qt part 2
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/qt_essentials_widget_edition_application_creation_part_1_mainwindows
+ \title Qt Essentials - Application Creation part 1
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/application_creation_part_2_settings_resources_and_application_deployment
+ \title Qt Essentials - Application Creation part 2
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/application_creation_part_3_translation_for_developers
+ \title Qt Essentials - Application Creation part 3
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/widgets_part_1_common_widgets
+ \title Qt Essentials - Widgets part 1
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/widgets_part_2_layout_management
+ \title Qt Essentials - Widgets part 2
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/widgets_part_3_guidelines_for_custom_widgets
+ \title Qt Essentials - Widgets part 3
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/graphics_view_part_1_using_graphicsview_classes
+ \title Qt Essentials - Graphics View part 1
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/graphics_view_part_2_transformations_and_coordinate_systems
+ \title Qt Essentials - Graphics View part 2
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/graphics_view_part_3_creating_custom_items
+ \title Qt Essentials - Graphics View part 3
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/model_view_part_1_model_view_concept
+ \title Qt Essentials - Model/View I part 1
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/model_view_part_2_showing_simple_data
+ \title Qt Essentials - Model/View I part 2
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/model_view_part_3_proxy_models
+ \title Qt Essentials - Model/View I part 3
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/model_view_part_4_custom_models
+ \title Qt Essentials - Model/View I part 4
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/model_view_ii_part_1_editing_item_data
+ \title Qt Essentials - Model/View II part 1
+*/
+/*!
+ \externalpage
+ \title Qt Essentials - Model/View II part 2
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/model_view_ii_part_3_data_widget_mapper
+ \title Qt Essentials - Model/View II part 3
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/model_view_ii_part_4_custom_tree_model
+ \title Qt Essentials - Model/View II part 4
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/model_view_ii_part_5_drag_and_drop
+ \title Qt Essentials - Model/View II part 5
+*/
+/*!
+ \externalpage http://qt.nokia.com/certification
+ \title Qt Certification
+*/
+/*!
+ \externalpage http://qt.nokia.com/developer/learning/certification/exams/preparation-prerequisites
+ \title Qt Certification Exam Preparation and Prerequisites
+*/
/*!
\externalpage http://developer.qt.nokia.com/elearning/watch/qt_essentials_widget_edition_fundamentals_of_qt_part_2_hello_world_in_qtcre
@@ -433,6 +645,6 @@
*/
/*!
- \externalpage http://doc.qt.nokia.com/qtquick-components-symbian-latest/index.html
- \title Qt Quick Components for Symbian
+ \externalpage http://doc.qt.nokia.com/qtquick-components-symbian-1.1/index.html
+ \title Qt Quick Components for Symbian 1.1
*/
diff --git a/doc/src/qt4-intro.qdoc b/doc/src/qt4-intro.qdoc
index 1547a7c..01103a8 100644
--- a/doc/src/qt4-intro.qdoc
+++ b/doc/src/qt4-intro.qdoc
@@ -62,6 +62,12 @@
The following features have been added to Qt since the first release of Qt 4.
+ In Qt 4.8:
+ \list
+ \o \l{Qt Quick} 1.1 offers changes to the \l{QML Elements} and performance
+ upgrades
+ \
+ \endlist
In Qt 4.7:
\list
\o Declarative UI Development with \l{Qt Quick}, technologies for creating
@@ -118,7 +124,7 @@
64-bit Macintosh hardware.
\o The QtXmlPatterns module has been extended to cover XSLT, a
transformation language for XML documents.
- \o Qt Script introduced its debugger,
+ \o Qt Script introduced its debugger,
providing error reporting for scripts, and to let users track down
bugs in their own scripts.
\o Qt 4.5 includes support for writing rich text documents as
@@ -489,6 +495,97 @@
*/
/*!
+ \page qt4-8-intro.html
+ \title What's New in Qt 4.8
+
+ Qt 4.8 provides many improvements and enhancements over the previous
+ releases in the Qt 4 series. This document covers the most important
+ features in this release, separated by category.
+
+ A list of other Qt 4 features can be found on the \bold{\l{What's
+ New in Qt 4}} page.
+
+ \section1 Qt Quick 1.1
+ Qt Quick 1.1 introduces \l{What's New in Qt Quick}{new changes} such as
+ new properties and better performance.
+
+ \list
+ \o \l {QML Right-to-left User Interfaces}{Right-To-Left} text support
+ \o Improved image caching
+ \o Text input improvements - Support for split-screen virtual keyboard
+ \o \l PinchArea Element - enables simple pinch gesture handling
+ \o New properties for \l{QML Elements}.
+ \endlist
+
+
+ \section1 Qt Platform Abstraction -- \e Lighthouse
+
+ \e QPA allows porting Qt to different windowing systems and devices
+ easier. It provides a clean abstraction layer for porting QtGui to new
+ window systems.
+
+ \section1 Qt WebKit 2.2
+
+ The new Qt WebKit release introduces bug fixes, performance improvements,
+ and greater compiler compatibility.
+
+ \section1 Threaded OpenGL
+
+ Many Qt OpenGL functions are now thread-safe. Threads that cater to
+ different situations are now available.
+
+ \list
+ \o Buffer swapping thread
+ \o Texture uploading thread
+ \o \l QPainter thread
+ \endlist
+
+ \section1 Deprecated Items in Qt 4.8
+
+ As part of Open Governance, modules in Qt 4.8 will receive maintainers and
+ receive different support levels.
+
+ Currently, a module has an activity classification, the \e{Module Maturity Level}.
+ As well, a list of modules and their maturity level is in the \l{Qt Developer Network}.
+
+ \list
+ \o \l{Qt Modules' Maturity Level - Description} - description of the
+ different \e{maturity levels}
+ \o \l{Qt Modules' Maturity Levels - Modules List} - list of the Qt
+ modules and their maturity level
+ \endlist
+ \section1 Additions to the Qt API
+
+ Qt 4.8 introduces changes to the Qt API.
+ \list
+ \o Localization API
+ Changes to the Localization APIs include improvements to \l QLocale and more
+ support for different language code formats.
+
+ \list
+ \o \l {QLocale::quoteString()} - for localized quotes
+ \o \l {QLocale::createSeparatedList()} - for localized list separation (e.g. "1, 2 and 3")
+ \o \l {QLocale::bcp47Name()} - for locale names in the canonical form
+ according to \l {RFC 5646 - BCP47}
+ \o \l {QLocale::matchingLocales()} - to get a list of locales that match a
+ criteria - e.g. a list of locales that use French language.
+ \o \l {QLocale::firstDayOfWeek()}
+ \o \l {QLocale::weekdays()}
+ \o \l{QLocale::currencySymbol()}
+ \o \l{QLocale::toCurrencyString()} - number formatting for currencies
+ \o \l{QLocale::uiLanguages()}
+ \o \l{QLocale::nativeLanguageName()}
+ \o \l{QLocale::nativeCountryName()}
+ \endlist
+ \o IP Multicast API
+ \o Multithreaded HTTP
+ \endlist
+
+ \section1 New Classes, Functions, Macros, etc.
+ \sincelist 4.8
+*/
+
+/*!
\page qt4-7-intro.html
\title What's New in Qt 4.7
@@ -685,7 +782,7 @@
\list
\o Simplify complex application semantics.
\o Use of states to reduce code bloat.
- \o Use states to improve maintainability.
+ \o Use states to improve maintainability.
\o Makes event-driven programming robust and more
reusable.
\endlist
diff --git a/doc/src/snippets/accessibilityslidersnippet.cpp b/doc/src/snippets/accessibilityslidersnippet.cpp
index 843cd1f..cb4347e 100644
--- a/doc/src/snippets/accessibilityslidersnippet.cpp
+++ b/doc/src/snippets/accessibilityslidersnippet.cpp
@@ -227,7 +227,7 @@ QVariant QAccessibleAbstractSlider::invokeMethodEx(Method method, int child, con
case ListSupportedMethods: {
QSet<QAccessible::Method> set;
set << ListSupportedMethods;
- return qVariantFromValue(set | qvariant_cast<QSet<QAccessible::Method> >(
+ return QVariant::fromValue(set | qvariant_cast<QSet<QAccessible::Method> >(
QAccessibleWidgetEx::invokeMethodEx(method, child, params)));
}
default:
diff --git a/doc/src/snippets/code/doc_src_porting4.cpp b/doc/src/snippets/code/doc_src_porting4.cpp
index 730f71f..14c708a 100644
--- a/doc/src/snippets/code/doc_src_porting4.cpp
+++ b/doc/src/snippets/code/doc_src_porting4.cpp
@@ -165,7 +165,7 @@ while (i.hasNext()) {
//! [18]
-QList<QWidget *> myWidgets = qFindChildren<QWidget *>(myParent);
+QList<QWidget *> myWidgets = myParent->findChildren<QWidget *>();
//! [18]
diff --git a/doc/src/snippets/code/doc_src_qmake-manual.pro b/doc/src/snippets/code/doc_src_qmake-manual.pro
index e5b749e..042ca0e 100644
--- a/doc/src/snippets/code/doc_src_qmake-manual.pro
+++ b/doc/src/snippets/code/doc_src_qmake-manual.pro
@@ -193,15 +193,15 @@ DEFINES += USE_MY_STUFF QT_DLL
#! [28]
-myFiles.sources = path\*.png
+myFiles.files = path\*.png
DEPLOYMENT += myFiles
#! [28]
#! [29]
-myFiles.sources = path\file1.ext1 path2\file2.ext1 path3\*
+myFiles.files = path\file1.ext1 path2\file2.ext1 path3\*
myFiles.path = \some\path\on\device
-someother.sources = C:\additional\files\*
+someother.files = C:\additional\files\*
someother.path = \myFiles\path2
DEPLOYMENT += myFiles someother
#! [29]
@@ -831,12 +831,12 @@ CONFIG(debug, debug|release) {
#! [127]
#! [128]
-customplugin.sources = customimageplugin.dll
-customplugin.sources += c:\myplugins\othercustomimageplugin.dll
+customplugin.files = customimageplugin.dll
+customplugin.files += c:\myplugins\othercustomimageplugin.dll
customplugin.path = imageformats
-dynamiclibrary.sources = mylib.dll helper.exe
+dynamiclibrary.files = mylib.dll helper.exe
dynamiclibrary.path = \sys\bin
-globalplugin.sources = someglobalimageplugin.dll
+globalplugin.files = someglobalimageplugin.dll
globalplugin.path = \resource\qt\plugins\imageformats
DEPLOYMENT += customplugin dynamiclibrary globalplugin
#! [128]
@@ -905,7 +905,7 @@ MMP_RULES += myIfdefBlock
#! [139]
#! [140]
-somelib.sources = somelib.dll
+somelib.files = somelib.dll
somelib.path = \sys\bin
somelib.pkg_prerules = "(0x12345678), 2, 2, 0, {\"Some Package\"}" \
"(0x87654321), 1, *, * ~ 2, 2, 0, {\"Some Other Package\"}"
@@ -1003,7 +1003,7 @@ DEPLOYMENT -= default_bin_deployment default_resource_deployment default_reg_dep
#! [155]
default_bin_deployment.flags += FILERUN RUNINSTALL
-dep_note.sources = install_note.txt
+dep_note.files = install_note.txt
dep_note.flags = FILETEXT TEXTEXIT
DEPLOYMENT += dep_note
#! [155]
@@ -1011,3 +1011,19 @@ DEPLOYMENT += dep_note
#! [156]
DEPLOYMENT.display_name = My Qt App
#! [156]
+
+#! [157]
+packagesExist(sqlite3 QtNetwork QtDeclarative) {
+ DEFINES += USE_FANCY_UI
+}
+#! [157]
+
+#! [158]
+#ifdef USE_FANCY_UI
+ // Use the fancy UI, as we have extra packages available
+#endif
+#! [158]
+
+#! [159]
+RSS_RULES += "graphics_memory=12288;"
+#! [159]
diff --git a/doc/src/snippets/code/doc_src_qtscript.cpp b/doc/src/snippets/code/doc_src_qtscript.cpp
index 822e6fa..de82029 100644
--- a/doc/src/snippets/code/doc_src_qtscript.cpp
+++ b/doc/src/snippets/code/doc_src_qtscript.cpp
@@ -544,7 +544,7 @@ QScriptValue constructXmlStreamReader(QScriptContext *context, QScriptEngine *en
XmlStreamReaderPointer pointer(reader);
// store the shared pointer in the script object that we are constructing
- return engine->newVariant(context->thisObject(), qVariantFromValue(pointer));
+ return engine->newVariant(context->thisObject(), QVariant::fromValue(pointer));
}
//! [93]
diff --git a/doc/src/snippets/code/doc_src_unix-signal-handlers.cpp b/doc/src/snippets/code/doc_src_unix-signal-handlers.cpp
index fd5f386..a5f3ed1 100644
--- a/doc/src/snippets/code/doc_src_unix-signal-handlers.cpp
+++ b/doc/src/snippets/code/doc_src_unix-signal-handlers.cpp
@@ -44,7 +44,7 @@ class MyDaemon : public QObject
Q_OBJECT
public:
- MyDaemon(QObject *parent = 0, const char *name = 0);
+ MyDaemon(QObject *parent = 0);
~MyDaemon();
// Unix signal handlers.
@@ -67,8 +67,8 @@ class MyDaemon : public QObject
//! [1]
-MyDaemon::MyDaemon(QObject *parent, const char *name)
- : QObject(parent,name)
+MyDaemon::MyDaemon(QObject *parent)
+ : QObject(parent)
{
if (::socketpair(AF_UNIX, SOCK_STREAM, 0, sighupFd))
qFatal("Couldn't create HUP socketpair");
diff --git a/doc/src/snippets/code/src_corelib_concurrent_qtconcurrentrun.cpp b/doc/src/snippets/code/src_corelib_concurrent_qtconcurrentrun.cpp
index 11f5163..e695572 100644
--- a/doc/src/snippets/code/src_corelib_concurrent_qtconcurrentrun.cpp
+++ b/doc/src/snippets/code/src_corelib_concurrent_qtconcurrentrun.cpp
@@ -76,7 +76,7 @@ QString result = future.result();
//! [4]
// call 'QList<QByteArray> QByteArray::split(char sep) const' in a separate thread
QByteArray bytearray = "hello world";
-QFuture<QList<QByteArray> > future = QtConcurrent::run(bytearray, &QByteArray::split), ',');
+QFuture<QList<QByteArray> > future = QtConcurrent::run(bytearray, &QByteArray::split, ',');
...
QList<QByteArray> result = future.result();
//! [4]
@@ -84,7 +84,7 @@ QList<QByteArray> result = future.result();
//! [5]
// call 'void QImage::invertPixels(InvertMode mode)' in a separate thread
QImage image = ...;
-QFuture<void> future = QtConcurrent::run(image, &QImage::invertPixels, QImage::InvertRgba);
+QFuture<void> future = QtConcurrent::run(&image, &QImage::invertPixels, QImage::InvertRgba);
...
future.waitForFinished();
// At this point, the pixels in 'image' have been inverted
diff --git a/doc/src/snippets/code/src_corelib_global_qglobal.cpp b/doc/src/snippets/code/src_corelib_global_qglobal.cpp
index 0b54cef..c79a714 100644
--- a/doc/src/snippets/code/src_corelib_global_qglobal.cpp
+++ b/doc/src/snippets/code/src_corelib_global_qglobal.cpp
@@ -531,3 +531,27 @@ class MyClass : public QObject
//! [47]
CApaApplication *myApplicationFactory();
//! [47]
+
+//! [qlikely]
+ // the condition inside the "if" will be successful most of the times
+ for (int i = 1; i <= 365; i++) {
+ if (Q_LIKELY(isWorkingDay(i))) {
+ ...
+ }
+ ...
+ }
+//! [qlikely]
+
+//! [qunlikely]
+bool readConfiguration(const QFile &file)
+{
+ // We expect to be asked to read an existing file
+ if (Q_UNLIKELY(!file.exists())) {
+ qWarning() << "File not found";
+ return false;
+ }
+
+ ...
+ return true;
+}
+//! [qunlikely]
diff --git a/doc/src/snippets/code/src_corelib_io_qsettings.cpp b/doc/src/snippets/code/src_corelib_io_qsettings.cpp
index 5abb0e3..91c5401 100644
--- a/doc/src/snippets/code/src_corelib_io_qsettings.cpp
+++ b/doc/src/snippets/code/src_corelib_io_qsettings.cpp
@@ -230,7 +230,7 @@ settings.setValue("sofa", true);
settings.setValue("tv", false);
QStringList groups = settings.childGroups();
-// group: ["fridge"]
+// groups: ["fridge"]
//! [21]
@@ -314,3 +314,24 @@ int main(int argc, char *argv[])
...
}
//! [29]
+
+//! [30]
+QSettings settings(QApplication::applicationDirPath() + "/MySoft.conf");
+//! [30]
+
+//! [31]
+#include <QSettings>
+#include <QDesktopServices>
+int main(int argc, char *argv[])
+{
+#ifdef Q_OS_SYMBIAN
+ // Use QDesktopServices:storageLocation as QApplication is not yet created
+ QSettings::setPath(
+ QSettings::NativeFormat, QSettings::UserScope,
+ QDesktopServices::storageLocation(QDesktopServices::DataLocation) + "/settings");
+#endif
+ QApplication app(argc, argv);
+
+ ...
+}
+//! [31]
diff --git a/doc/src/snippets/code/src_corelib_kernel_qabstractitemmodel.cpp b/doc/src/snippets/code/src_corelib_kernel_qabstractitemmodel.cpp
index 5919c01..cf40f9a 100644
--- a/doc/src/snippets/code/src_corelib_kernel_qabstractitemmodel.cpp
+++ b/doc/src/snippets/code/src_corelib_kernel_qabstractitemmodel.cpp
@@ -86,3 +86,38 @@ beginMoveRows(parent, 2, 2, parent, 0);
//! [9]
beginMoveRows(parent, 2, 2, parent, 4);
//! [9]
+
+
+//! [10]
+class CustomDataProxy : public QSortFilterProxyModel
+{
+ Q_OBJECT
+public:
+ CustomDataProxy(QObject *parent)
+ : QSortFilterProxyModel(parent)
+ {
+ }
+
+ ...
+
+ QVariant data(const QModelIndex &index, int role)
+ {
+ if (role != Qt::BackgroundRole)
+ return QSortFilterProxyModel::data(index, role);
+
+ if (m_customData.contains(index.row()))
+ return m_customData.value(index.row());
+ return QSortFilterProxyModel::data(index, role);
+ }
+
+private slots:
+ void resetInternalData()
+ {
+ m_customData.clear();
+ }
+
+private:
+ QHash<int, QVariant> m_customData;
+};
+//! [10]
+
diff --git a/doc/src/snippets/code/src_corelib_kernel_qvariant.cpp b/doc/src/snippets/code/src_corelib_kernel_qvariant.cpp
index a57d722..8b1bcbf 100644
--- a/doc/src/snippets/code/src_corelib_kernel_qvariant.cpp
+++ b/doc/src/snippets/code/src_corelib_kernel_qvariant.cpp
@@ -132,5 +132,5 @@ return QVariant::fromValue(s);
//! [8]
QObject *object = getObjectFromSomewhere();
-QVariant data = qVariantFromValue(object);
+QVariant data = QVariant::fromValue(object);
//! [8]
diff --git a/doc/src/snippets/code/src_gui_accessible_qaccessible.cpp b/doc/src/snippets/code/src_gui_accessible_qaccessible.cpp
index 6d22734..84eb1cd 100644
--- a/doc/src/snippets/code/src_gui_accessible_qaccessible.cpp
+++ b/doc/src/snippets/code/src_gui_accessible_qaccessible.cpp
@@ -46,3 +46,7 @@ if (child) {
delete child;
}
//! [0]
+
+//! [1]
+typedef QAccessibleInterface* myFactoryFunction(const QString &key, QObject *);
+//! [1]
diff --git a/doc/src/snippets/code/src_gui_itemviews_qidentityproxymodel.cpp b/doc/src/snippets/code/src_gui_itemviews_qidentityproxymodel.cpp
new file mode 100644
index 0000000..6bf6c89
--- /dev/null
+++ b/doc/src/snippets/code/src_gui_itemviews_qidentityproxymodel.cpp
@@ -0,0 +1,64 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Stephen Kelly <stephen.kelly@kdab.com>
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtGui module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [0]
+class DateFormatProxyModel : public QIdentityProxyModel
+{
+ // ...
+
+ void setDateFormatString(const QString &formatString)
+ {
+ m_formatString = formatString;
+ }
+
+ QVariant data(const QModelIndex &index, int role)
+ {
+ if (role != Qt::DisplayRole)
+ return QIdentityProxyModel::data(index, role);
+
+ const QDateTime dateTime = sourceModel()->data(SourceClass::DateRole).toDateTime();
+
+ return dateTime.toString(m_formatString);
+ }
+
+private:
+ QString m_formatString;
+};
+//! [0]
diff --git a/doc/src/snippets/code/src_network_access_qhttpmultipart.cpp b/doc/src/snippets/code/src_network_access_qhttpmultipart.cpp
new file mode 100644
index 0000000..7c2e0ac
--- /dev/null
+++ b/doc/src/snippets/code/src_network_access_qhttpmultipart.cpp
@@ -0,0 +1,67 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file. Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [0]
+QHttpMultiPart *multiPart = new QHttpMultiPart(QHttpMultiPart::FormDataType);
+
+QHttpPart textPart;
+textPart.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"text\""));
+textPart.setBody("my text");
+
+QHttpPart imagePart;
+imagePart.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("image/jpeg"));
+imagePart.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"image\""));
+QFile *file = new QFile("image.jpg");
+file->open(QIODevice::ReadOnly);
+imagePart.setBodyDevice(file);
+file->setParent(multiPart); // we cannot delete the file now, so delete it with the multiPart
+
+multiPart->append(textPart);
+multiPart->append(imagePart);
+
+QUrl url("http://my.server.tld");
+QNetworkRequest request(url);
+
+QNetworkAccessManager manager;
+QNetworkReply *reply = manager.post(request, multiPart);
+multiPart->setParent(reply); // delete the multiPart with the reply
+// here connect signals etc.
+//! [0]
diff --git a/doc/src/snippets/code/src_network_access_qhttppart.cpp b/doc/src/snippets/code/src_network_access_qhttppart.cpp
new file mode 100644
index 0000000..e70fead
--- /dev/null
+++ b/doc/src/snippets/code/src_network_access_qhttppart.cpp
@@ -0,0 +1,65 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** 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.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file. Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [0]
+Content-Type: text/plain
+Content-Disposition: form-data; name="text"
+
+here goes the body
+//! [0]
+
+//! [1]
+QHttpPart textPart;
+textPart.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("text/plain"));
+textPart.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"text\""));
+textPart.setBody("here goes the body");
+//! [1]
+
+//! [2]
+QHttpPart imagePart;
+imagePart.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("image/jpeg"));
+imagePart.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"image\""));
+imagePart.setRawHeader("Content-ID", "my@content.id"); // add any headers you like via setRawHeader()
+QFile *file = new QFile("image.jpg");
+file->open(QIODevice::ReadOnly);
+imagePart.setBodyDevice(file);
+//! [2]
+
diff --git a/doc/src/snippets/code/src_opengl_qglshaderprogram.cpp b/doc/src/snippets/code/src_opengl_qglshaderprogram.cpp
index aa5225a..812adf9 100644
--- a/doc/src/snippets/code/src_opengl_qglshaderprogram.cpp
+++ b/doc/src/snippets/code/src_opengl_qglshaderprogram.cpp
@@ -52,7 +52,7 @@ program.bind();
//! [1]
program.addShaderFromSourceCode(QGLShader::Vertex,
"attribute highp vec4 vertex;\n"
- "attribute mediump mat4 matrix;\n"
+ "uniform highp mat4 matrix;\n"
"void main(void)\n"
"{\n"
" gl_Position = matrix * vertex;\n"
@@ -67,7 +67,7 @@ program.link();
program.bind();
int vertexLocation = program.attributeLocation("vertex");
-int matrixLocation = program.attributeLocation("matrix");
+int matrixLocation = program.uniformLocation("matrix");
int colorLocation = program.uniformLocation("color");
//! [1]
diff --git a/doc/src/snippets/code/src_xmlpatterns_api_qxmlquery.cpp b/doc/src/snippets/code/src_xmlpatterns_api_qxmlquery.cpp
index d446af7..dd5cd5b 100644
--- a/doc/src/snippets/code/src_xmlpatterns_api_qxmlquery.cpp
+++ b/doc/src/snippets/code/src_xmlpatterns_api_qxmlquery.cpp
@@ -163,7 +163,7 @@
break;
default:
if (v.userType() == qMetaTypeId<QXmlName>()) {
- QXmlName n = qVariantValue<QXmlName>(v);
+ QXmlName n = qvariant_cast<QXmlName>(v);
// process QXmlName n...
}
else {
diff --git a/doc/src/snippets/declarative/application.qml b/doc/src/snippets/declarative/application.qml
index 06f83f2..fa8cf0b 100644
--- a/doc/src/snippets/declarative/application.qml
+++ b/doc/src/snippets/declarative/application.qml
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/snippets/declarative/focus/focusColumn.qml b/doc/src/snippets/declarative/focus/focusColumn.qml
index 42ee3da..e6a6fcf 100644
--- a/doc/src/snippets/declarative/focus/focusColumn.qml
+++ b/doc/src/snippets/declarative/focus/focusColumn.qml
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/snippets/declarative/grid/grid-items.qml b/doc/src/snippets/declarative/grid/grid-items.qml
new file mode 100644
index 0000000..62a444d
--- /dev/null
+++ b/doc/src/snippets/declarative/grid/grid-items.qml
@@ -0,0 +1,58 @@
+/****************************************************************************
+**
+** 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 documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Rectangle {
+ width: 112; height: 112
+ color: "#303030"
+
+ Grid {
+ anchors.horizontalCenter: parent.horizontalCenter
+ anchors.verticalCenter: parent.verticalCenter
+ columns: 2
+ spacing: 6
+
+ Rectangle { color: "#aa6666"; width: 50; height: 50 }
+ Rectangle { color: "#aaaa66"; width: 50; height: 50 }
+ Rectangle { color: "#9999aa"; width: 50; height: 50 }
+ Rectangle { color: "#6666aa"; width: 50; height: 50 }
+ }
+}
diff --git a/doc/src/snippets/declarative/grid/grid-no-spacing.qml b/doc/src/snippets/declarative/grid/grid-no-spacing.qml
new file mode 100644
index 0000000..a6ca305
--- /dev/null
+++ b/doc/src/snippets/declarative/grid/grid-no-spacing.qml
@@ -0,0 +1,57 @@
+/****************************************************************************
+**
+** 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 documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Rectangle {
+ width: 112; height: 112
+ color: "#303030"
+
+ Grid {
+ anchors.horizontalCenter: parent.horizontalCenter
+ anchors.verticalCenter: parent.verticalCenter
+ columns: 2
+
+ Rectangle { color: "#aa6666"; width: 50; height: 50 }
+ Rectangle { color: "#aaaa66"; width: 50; height: 50 }
+ Rectangle { color: "#9999aa"; width: 50; height: 50 }
+ Rectangle { color: "#6666aa"; width: 50; height: 50 }
+ }
+}
diff --git a/doc/src/snippets/declarative/grid/grid-spacing.qml b/doc/src/snippets/declarative/grid/grid-spacing.qml
new file mode 100644
index 0000000..c03cdad
--- /dev/null
+++ b/doc/src/snippets/declarative/grid/grid-spacing.qml
@@ -0,0 +1,60 @@
+/****************************************************************************
+**
+** 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 documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [document]
+import QtQuick 1.0
+
+Rectangle {
+ width: 112; height: 112
+ color: "#303030"
+
+ Grid {
+ anchors.horizontalCenter: parent.horizontalCenter
+ anchors.verticalCenter: parent.verticalCenter
+ columns: 2
+ spacing: 6
+
+ Rectangle { color: "#aa6666"; width: 50; height: 50 }
+ Rectangle { color: "#aaaa66"; width: 50; height: 50 }
+ Rectangle { color: "#9999aa"; width: 50; height: 50 }
+ Rectangle { color: "#6666aa"; width: 50; height: 50 }
+ }
+}
+//! [document]
diff --git a/doc/src/snippets/declarative/listview/listview-snippet.qml b/doc/src/snippets/declarative/listview/listview-snippet.qml
new file mode 100644
index 0000000..f2a260d
--- /dev/null
+++ b/doc/src/snippets/declarative/listview/listview-snippet.qml
@@ -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 documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [document]
+import QtQuick 1.0
+
+ListView {
+ width: 50; height: 200
+ model: 4
+ delegate: Text {
+ text: index;
+ font.pixelSize: 40
+ }
+}
+//! [document]
diff --git a/doc/src/snippets/declarative/mousearea/mousearea-snippet.qml b/doc/src/snippets/declarative/mousearea/mousearea-snippet.qml
index 03473ba..1b9a9ec 100644
--- a/doc/src/snippets/declarative/mousearea/mousearea-snippet.qml
+++ b/doc/src/snippets/declarative/mousearea/mousearea-snippet.qml
@@ -47,53 +47,53 @@ Rectangle {
width: 500; height: 500
color: "green"
-Column {
-//! [anchor fill]
-Rectangle {
- id: button
- width: 100; height: 100
+ Column {
+ //! [anchor fill]
+ Rectangle {
+ id: button
+ width: 100; height: 100
- MouseArea {
- anchors.fill: parent
- onClicked: console.log("button clicked")
- }
- MouseArea {
- width:150; height: 75
- onClicked: console.log("irregular area clicked")
- }
-}
-//! [anchor fill]
+ MouseArea {
+ anchors.fill: parent
+ onClicked: console.log("button clicked")
+ }
+ MouseArea {
+ width:150; height: 75
+ onClicked: console.log("irregular area clicked")
+ }
+ }
+ //! [anchor fill]
-Rectangle {
- id: button
- width: 100; height: 100
+ Rectangle {
+ id: button
+ width: 100; height: 100
-//! [enable handlers]
- MouseArea {
- hoverEnabled: true
- acceptedButtons: Qt.LeftButton | Qt.RightButton
- onEntered: console.log("mouse entered the area")
- onExited: console.log("mouse left the area")
- }
-//! [enable handlers]
-}
+ //! [enable handlers]
+ MouseArea {
+ hoverEnabled: true
+ acceptedButtons: Qt.LeftButton | Qt.RightButton
+ onEntered: console.log("mouse entered the area")
+ onExited: console.log("mouse left the area")
+ }
+ //! [enable handlers]
+ }
-Rectangle {
- id: button
- width: 100; height: 100
+ Rectangle {
+ id: button
+ width: 100; height: 100
-//! [mouse handlers]
- MouseArea {
- anchors.fill: parent
- onClicked: console.log("area clicked")
- onDoubleClicked: console.log("area double clicked")
- onEntered: console.log("mouse entered the area")
- onExited: console.log("mouse left the area")
- }
-//! [mouse handlers]
-}
+ //! [mouse handlers]
+ MouseArea {
+ anchors.fill: parent
+ onClicked: console.log("area clicked")
+ onDoubleClicked: console.log("area double clicked")
+ onEntered: console.log("mouse entered the area")
+ onExited: console.log("mouse left the area")
+ }
+ //! [mouse handlers]
+ }
-} //end of column
+ } //end of column
//! [parent end]
}
//! [parent end]
diff --git a/doc/src/snippets/declarative/qml-intro/images/qt-logo.svg b/doc/src/snippets/declarative/qml-intro/images/qt-logo.svg
new file mode 100644
index 0000000..8c018be
--- /dev/null
+++ b/doc/src/snippets/declarative/qml-intro/images/qt-logo.svg
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ clip-rule="evenodd"
+ stroke-miterlimit="10"
+ viewBox="0 0 174.35 209.78"
+ id="svg2"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ width="744.09186"
+ height="895.29858"
+ sodipodi:docname="qt-logo.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ version="1.0"
+ style="stroke-miterlimit:10">
+ <metadata
+ id="metadata29">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <sodipodi:namedview
+ inkscape:window-height="668"
+ inkscape:window-width="722"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ guidetolerance="10.0"
+ gridtolerance="10.0"
+ objecttolerance="10.0"
+ borderopacity="1.0"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ showgrid="false"
+ inkscape:zoom="0.12195802"
+ inkscape:cx="525.6108"
+ inkscape:cy="-287.87189"
+ inkscape:window-x="476"
+ inkscape:window-y="228"
+ inkscape:current-layer="svg2" />
+ <desc
+ id="desc4">SVG generated by Lineform</desc>
+ <defs
+ id="defs6">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective31" />
+ </defs>
+ <g
+ id="g8"
+ transform="translate(-1.5304326e-4,-3.775985e-4)">
+ <path
+ d="M 43.08,0.36 C 40.94,0 38.84,-0.08 36.81,0.08 L 36.8,0.08 C 36.8,0.08 22.92,1.02 22.29,1.07 C 9.62,2.08 0,12.5 0,26.89 L 0,196.55 L 14.19,209.78 L 156.79,185.81 C 166.6,184.11 174.35,172.54 174.35,160.04 L 174.35,21.88 L 43.08,0.36"
+ id="path10"
+ style="fill:#0c481e" />
+ <path
+ d="M 174.35,160.04 C 174.35,172.54 166.6,184.11 156.79,185.82 L 14.19,209.78 L 14.19,25.99 C 14.19,9.27 27.53,-2.21 43.08,0.36 L 174.35,21.88 L 174.35,160.04"
+ id="path12"
+ style="fill:#66b036" />
+ <path
+ d="M 130.42,45.91 L 141.94,47.15 L 141.94,67.36 L 154.9,68.28 L 154.9,80.96 L 141.94,80.36 L 141.94,126.69 C 141.94,130.72 142.38,133.31 143.28,134.48 C 144.08,135.55 145.32,136.07 146.99,136.07 C 147.15,136.07 147.32,136.07 147.48,136.06 C 150.03,135.91 152.81,135.13 155.83,133.75 L 155.83,145.4 C 150.69,147.65 145.65,149 140.7,149.42 C 139.99,149.47 139.29,149.5 138.62,149.5 C 134.14,149.5 130.72,148.2 128.38,145.57 C 125.65,142.52 124.29,137.62 124.29,130.9 L 124.29,79.54 L 118.06,79.26 L 118.06,65.67 L 125.65,66.22 L 130.42,45.91"
+ id="path14"
+ style="fill:#ffffff" />
+ <path
+ d="M 154.9,80.96 L 141.94,80.36 L 141.94,80.64 L 148.88,80.96 L 154.9,80.96"
+ id="path16"
+ style="fill:#0c481e" />
+ <path
+ d="M 144.64,135.6 C 145.3,135.92 146.07,136.07 146.99,136.07 C 147.15,136.07 147.32,136.07 147.48,136.06 C 150.03,135.91 152.81,135.13 155.83,133.75 L 149.81,133.75 C 147.99,134.58 146.28,135.21 144.64,135.6"
+ id="path18"
+ style="fill:#0c481e" />
+ <path
+ d="M 128.38,145.57 C 125.65,142.52 124.29,137.62 124.29,130.9 L 124.29,79.54 L 118.06,79.26 L 118.06,65.67 L 112.05,65.67 L 112.05,68.71 C 112.92,71.98 113.6,75.53 114.11,79.35 L 118.28,79.54 L 118.28,130.9 C 118.28,137.62 119.64,142.52 122.37,145.57 C 124.71,148.2 128.13,149.5 132.61,149.5 L 138.62,149.5 C 134.14,149.5 130.72,148.2 128.38,145.57 z M 130.42,45.91 L 124.41,45.91 L 119.74,65.79 L 125.65,66.22 L 130.42,45.91"
+ id="path20"
+ style="fill:#0c481e" />
+ <path
+ d="M 91.15,132.4 C 93.5,126.36 94.66,114.49 94.66,96.79 C 94.66,80.9 93.51,69.97 91.18,63.98 C 88.84,57.95 85.35,54.69 80.66,54.28 C 80.3,54.25 79.95,54.23 79.6,54.23 C 75.26,54.23 71.92,56.77 69.59,61.86 C 67.07,67.4 65.8,78.9 65.8,96.3 C 65.8,113.11 67.04,125.05 69.54,132.05 C 71.89,138.72 75.41,142.03 80.04,142.03 C 80.25,142.03 80.45,142.02 80.66,142.01 C 85.29,141.71 88.78,138.51 91.15,132.4 M 109.13,136.15 C 105.01,145.86 98.73,152.21 90.14,155.15 C 91.01,159.6 92.32,162.6 94.06,164.17 C 95.41,165.39 97.49,165.99 100.28,165.99 C 101.09,165.99 101.96,165.94 102.87,165.84 L 102.87,178.96 L 96.91,179.75 C 95.16,179.97 93.49,180.09 91.91,180.09 C 86.69,180.09 82.47,178.82 79.29,176.26 C 75.08,172.89 71.98,166.37 69.99,156.73 C 60.86,154.78 53.73,148.97 48.8,139.23 C 43.8,129.32 41.25,114.83 41.25,95.89 C 41.25,75.46 44.74,60.38 51.6,50.81 C 57.38,42.75 65.46,38.78 75.62,38.78 C 77.24,38.78 78.93,38.88 80.66,39.08 C 92.61,40.46 101.28,46.1 106.92,55.87 C 112.46,65.43 115.17,79.14 115.17,97.13 C 115.17,113.62 113.17,126.58 109.13,136.15"
+ id="path22"
+ style="fill:#ffffff" />
+ <path
+ d="M 100.28,165.99 C 101.09,165.99 101.95,165.94 102.87,165.84 L 98.04,165.84 C 98.71,165.94 99.49,165.99 100.28,165.99"
+ id="path24"
+ style="fill:#0c481e" />
+ <path
+ d="M 84.85,63.98 C 87.19,69.97 88.34,80.9 88.34,96.79 C 88.34,114.49 87.18,126.36 84.82,132.4 C 82.93,137.28 80.3,140.31 76.96,141.48 C 77.93,141.84 78.96,142.03 80.04,142.03 C 80.25,142.03 80.45,142.02 80.66,142.01 C 85.29,141.71 88.78,138.51 91.15,132.4 C 93.5,126.36 94.66,114.49 94.66,96.79 C 94.66,80.9 93.51,69.97 91.18,63.98 C 88.84,57.95 85.35,54.69 80.66,54.28 C 80.3,54.25 79.95,54.23 79.6,54.23 C 78.51,54.23 77.48,54.39 76.52,54.72 L 76.52,54.72 C 80.12,55.83 82.89,58.93 84.85,63.98 z M 82.51,178.25 C 82.4,178.2 82.28,178.15 82.17,178.09 C 82.16,178.09 82.15,178.08 82.14,178.08 C 82.03,178.03 81.93,177.97 81.83,177.92 C 81.81,177.91 81.79,177.9 81.77,177.89 C 81.68,177.84 81.59,177.79 81.49,177.74 C 81.46,177.72 81.44,177.71 81.41,177.69 C 81.33,177.65 81.24,177.6 81.16,177.55 C 81.12,177.53 81.09,177.51 81.05,177.48 C 80.98,177.44 80.91,177.4 80.84,177.36 C 80.79,177.33 80.74,177.3 80.7,177.27 C 80.64,177.23 80.58,177.19 80.52,177.15 C 80.46,177.12 80.41,177.08 80.35,177.04 C 80.3,177.01 80.25,176.98 80.2,176.94 C 80.14,176.9 80.07,176.85 80.01,176.81 C 79.97,176.78 79.93,176.75 79.89,176.72 C 79.82,176.67 79.74,176.61 79.67,176.55 C 79.64,176.54 79.61,176.52 79.59,176.5 C 79.49,176.42 79.39,176.34 79.29,176.26 C 75.08,172.89 71.98,166.37 69.99,156.73 C 60.86,154.78 53.73,148.97 48.8,139.23 C 43.8,129.32 41.25,114.83 41.25,95.89 C 41.25,75.46 44.74,60.38 51.6,50.81 C 57.38,42.75 65.46,38.78 75.62,38.78 C 75.65,38.78 69.27,38.77 69.27,38.77 L 69.27,38.78 C 59.12,38.78 51.05,42.75 45.27,50.81 C 38.41,60.38 34.92,75.46 34.92,95.89 C 34.92,114.83 37.47,129.32 42.47,139.23 C 47.41,148.97 54.53,154.78 63.67,156.73 C 65.65,166.37 68.76,172.89 72.96,176.26 C 76.14,178.82 80.36,180.09 85.58,180.09 C 85.68,180.09 85.78,180.09 85.88,180.09 L 91.42,180.09 C 88.01,180.03 85.04,179.43 82.52,178.26 C 82.51,178.26 82.51,178.26 82.51,178.25"
+ id="path26"
+ style="fill:#0c481e" />
+ </g>
+</svg>
diff --git a/doc/src/snippets/declarative/qtbinding/properties-cpp/applicationdata.h b/doc/src/snippets/declarative/qtbinding/properties-cpp/applicationdata.h
index f317d40..763a451 100644
--- a/doc/src/snippets/declarative/qtbinding/properties-cpp/applicationdata.h
+++ b/doc/src/snippets/declarative/qtbinding/properties-cpp/applicationdata.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/snippets/declarative/states/statechangescript.qml b/doc/src/snippets/declarative/states/statechangescript.qml
index f490a97..aa1246d 100644
--- a/doc/src/snippets/declarative/states/statechangescript.qml
+++ b/doc/src/snippets/declarative/states/statechangescript.qml
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/snippets/declarative/webview/webview.qml b/doc/src/snippets/declarative/webview/webview.qml
index a986fab..f652369 100644
--- a/doc/src/snippets/declarative/webview/webview.qml
+++ b/doc/src/snippets/declarative/webview/webview.qml
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/snippets/myscrollarea.cpp b/doc/src/snippets/myscrollarea.cpp
index 93b487d..9a41ed8 100644
--- a/doc/src/snippets/myscrollarea.cpp
+++ b/doc/src/snippets/myscrollarea.cpp
@@ -98,8 +98,8 @@ void MyScrollArea::updateArea()
QSize areaSize = viewport()->size();
QSize widgetSize = widget->size();
- verticalScrollBar()->setPageStep(widgetSize.height());
- horizontalScrollBar()->setPageStep(widgetSize.width());
+ verticalScrollBar()->setPageStep(areaSize.height());
+ horizontalScrollBar()->setPageStep(areaSize.width());
verticalScrollBar()->setRange(0, widgetSize.height() - areaSize.height());
horizontalScrollBar()->setRange(0, widgetSize.width() - areaSize.width());
updateWidgetPosition();
diff --git a/doc/src/snippets/qcolumnview/main.cpp b/doc/src/snippets/qcolumnview/main.cpp
index c39a4bb..fecff12 100644
--- a/doc/src/snippets/qcolumnview/main.cpp
+++ b/doc/src/snippets/qcolumnview/main.cpp
@@ -76,4 +76,4 @@ int main(int argc, char *argv[])
columnView.show();
return app.exec();
-} \ No newline at end of file
+}
diff --git a/doc/src/snippets/qmake/qt_version.pro b/doc/src/snippets/qmake/qt_version.pro
new file mode 100644
index 0000000..ac0338b
--- /dev/null
+++ b/doc/src/snippets/qmake/qt_version.pro
@@ -0,0 +1,7 @@
+#! [checking for a specific version of Qt]
+contains(QT_VERSION, "4.7.4") {
+ message(4.7.4)
+} else {
+ message(Some other version)
+}
+#! [checking for a specific version of Qt]
diff --git a/doc/src/snippets/qmake/spaces.pro b/doc/src/snippets/qmake/spaces.pro
index 544ef05..614d4c5 100644
--- a/doc/src/snippets/qmake/spaces.pro
+++ b/doc/src/snippets/qmake/spaces.pro
@@ -1,9 +1,9 @@
#! [quoting library paths with spaces]
-win32:LIBS += $$quote(C:/mylibs/extra libs/extra.lib)
-unix:LIBS += $$quote(-L/home/user/extra libs) -lextra
+win32:LIBS += "C:/mylibs/extra libs/extra.lib"
+unix:LIBS += "-L/home/user/extra libs" -lextra
#! [quoting library paths with spaces]
#! [quoting include paths with spaces]
-win32:INCLUDEPATH += $$quote(C:/mylibs/extra headers)
-unix:INCLUDEPATH += $$quote(/home/user/extra headers)
+win32:INCLUDEPATH += "C:/mylibs/extra headers"
+unix:INCLUDEPATH += "/home/user/extra headers"
#! [quoting include paths with spaces]
diff --git a/doc/src/snippets/qstring/stringbuilder.cpp b/doc/src/snippets/qstring/stringbuilder.cpp
index 8ff1dd8..b8acbc1 100644
--- a/doc/src/snippets/qstring/stringbuilder.cpp
+++ b/doc/src/snippets/qstring/stringbuilder.cpp
@@ -49,14 +49,9 @@
//! [0]
//! [3]
- #define QT_USE_FAST_CONCATENATION
+ DEFINES *= QT_USE_QSTRINGBUILDER
//! [3]
-//! [4]
- #define QT_USE_FAST_CONCATENATION
- #define QT_USE_FAST_OPERATOR_PLUS
-//! [4]
-
//! [5]
#include <QStringBuilder>
diff --git a/doc/src/snippets/textdocument-imagedrop/main.cpp b/doc/src/snippets/textdocument-imagedrop/main.cpp
index 24cd2de..0cdf3a1 100644
--- a/doc/src/snippets/textdocument-imagedrop/main.cpp
+++ b/doc/src/snippets/textdocument-imagedrop/main.cpp
@@ -49,4 +49,4 @@ int main(int argc, char * argv[])
textEdit->show();
return app.exec();
-} \ No newline at end of file
+}
diff --git a/doc/src/snippets/textdocument-imagedrop/textedit.h b/doc/src/snippets/textdocument-imagedrop/textedit.h
index 9e0492b..9db9f17 100644
--- a/doc/src/snippets/textdocument-imagedrop/textedit.h
+++ b/doc/src/snippets/textdocument-imagedrop/textedit.h
@@ -46,11 +46,11 @@
class TextEdit : public QTextEdit
{
Q_OBJECT
-
-public:
+
+public:
TextEdit(QWidget *parent=0);
bool canInsertFromMimeData( const QMimeData *source ) const;
void insertFromMimeData( const QMimeData *source );
};
-#endif \ No newline at end of file
+#endif
diff --git a/doc/src/snippets/textdocument-listitemstyles/main.cpp b/doc/src/snippets/textdocument-listitemstyles/main.cpp
new file mode 100644
index 0000000..6e40492
--- /dev/null
+++ b/doc/src/snippets/textdocument-listitemstyles/main.cpp
@@ -0,0 +1,52 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtGui>
+
+#include "mainwindow.h"
+
+int main(int argc, char *argv[])
+{
+ QApplication app(argc, argv);
+ MainWindow *window = new MainWindow;
+ window->resize(640, 480);
+ window->show();
+ return app.exec();
+}
diff --git a/doc/src/snippets/textdocument-listitemstyles/mainwindow.cpp b/doc/src/snippets/textdocument-listitemstyles/mainwindow.cpp
new file mode 100644
index 0000000..94e98b3
--- /dev/null
+++ b/doc/src/snippets/textdocument-listitemstyles/mainwindow.cpp
@@ -0,0 +1,84 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtGui>
+
+#include "mainwindow.h"
+
+MainWindow::MainWindow()
+{
+ QMenu *fileMenu = new QMenu(tr("&File"));
+
+ fileMenu->addAction(tr("E&xit"), this, SLOT(close()),
+ QKeySequence(tr("Ctrl+Q", "File|Exit")));
+
+ QMenu *insertMenu = new QMenu(tr("&Insert"));
+
+ insertMenu->addAction(tr("&List"), this, SLOT(insertList()),
+ QKeySequence(tr("Ctrl+L", "Insert|List")));
+
+ menuBar()->addMenu(fileMenu);
+ menuBar()->addMenu(insertMenu);
+
+ editor = new QTextEdit(this);
+ document = new QTextDocument(this);
+ editor->setDocument(document);
+
+ setCentralWidget(editor);
+ setWindowTitle(tr("Text Document List Item Styles"));
+}
+
+void MainWindow::insertList()
+{
+ QTextCursor cursor = editor->textCursor();
+ cursor.beginEditBlock();
+
+ //! [add a styled, ordered list]
+ QTextListFormat listFormat;
+
+ listFormat.setStyle(QTextListFormat::ListDecimal);
+ listFormat.setNumberPrefix("(");
+ listFormat.setNumberSuffix(")");
+
+ cursor.insertList(listFormat);
+ //! [add a styled, ordered list]
+
+ cursor.endEditBlock();
+}
diff --git a/doc/src/snippets/textdocument-listitemstyles/mainwindow.h b/doc/src/snippets/textdocument-listitemstyles/mainwindow.h
new file mode 100644
index 0000000..649a47b
--- /dev/null
+++ b/doc/src/snippets/textdocument-listitemstyles/mainwindow.h
@@ -0,0 +1,65 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef WINDOW_H
+#define WINDOW_H
+
+#include <QMainWindow>
+
+class QTextDocument;
+class QTextEdit;
+
+class MainWindow : public QMainWindow
+{
+ Q_OBJECT
+
+public:
+ MainWindow();
+
+public slots:
+ void insertList();
+
+private:
+ QString currentFile;
+ QTextEdit *editor;
+ QTextDocument *document;
+};
+
+#endif
diff --git a/doc/src/snippets/textdocument-listitemstyles/textdocument-listitemstyles.pro b/doc/src/snippets/textdocument-listitemstyles/textdocument-listitemstyles.pro
new file mode 100644
index 0000000..5da8d6e
--- /dev/null
+++ b/doc/src/snippets/textdocument-listitemstyles/textdocument-listitemstyles.pro
@@ -0,0 +1,3 @@
+HEADERS = mainwindow.h
+SOURCES = main.cpp \
+ mainwindow.cpp
diff --git a/doc/src/snippets/threads/threads.cpp b/doc/src/snippets/threads/threads.cpp
index 31f325d..5661757 100644
--- a/doc/src/snippets/threads/threads.cpp
+++ b/doc/src/snippets/threads/threads.cpp
@@ -93,15 +93,12 @@ private:
typedef int SomeClass;
//! [7]
-QThreadStorage<QCache<QString, SomeClass> *> caches;
+QThreadStorage<QCache<QString, SomeClass> > caches;
void cacheObject(const QString &key, SomeClass *object)
//! [7] //! [8]
{
- if (!caches.hasLocalData())
- caches.setLocalData(new QCache<QString, SomeClass>);
-
- caches.localData()->insert(key, object);
+ caches.localData().insert(key, object);
}
void removeFromCache(const QString &key)
@@ -110,7 +107,7 @@ void removeFromCache(const QString &key)
if (!caches.hasLocalData())
return;
- caches.localData()->remove(key);
+ caches.localData().remove(key);
}
//! [9]
diff --git a/doc/src/snippets/xml/streamreader/traverse.cpp b/doc/src/snippets/xml/streamreader/traverse.cpp
new file mode 100644
index 0000000..25b64eb
--- /dev/null
+++ b/doc/src/snippets/xml/streamreader/traverse.cpp
@@ -0,0 +1,78 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QCoreApplication>
+#include <QFile>
+#include <QStringList>
+#include <QXmlStreamReader>
+
+#include <iostream>
+
+class Traverse
+{
+ Q_DECLARE_TR_FUNCTIONS(Traverse)
+};
+
+int main(int argc, char *argv[])
+{
+ QCoreApplication app(argc, argv);
+
+ if (app.arguments().count() != 2) {
+ std::cerr << qPrintable(Traverse::tr("Usage: traverse <XML file>")) << std::endl;
+ return 1;
+ }
+
+ QFile file(app.arguments()[1]);
+ if (!file.open(QFile::ReadOnly)) {
+ std::cerr << qPrintable(Traverse::tr("Failed to open file: %1").arg(app.arguments()[1])) << std::endl;
+ return 1;
+ }
+
+ //! [traverse document]
+ QXmlStreamReader xs(&file);
+ while (!xs.atEnd()) {
+ if (xs.readNextStartElement())
+ std::cout << qPrintable(xs.name().toString()) << std::endl;
+ }
+ //! [traverse document]
+
+ file.close();
+ return 0;
+}
diff --git a/doc/src/snippets/xml/streamreader/traverse.pro b/doc/src/snippets/xml/streamreader/traverse.pro
new file mode 100644
index 0000000..e98e6f3
--- /dev/null
+++ b/doc/src/snippets/xml/streamreader/traverse.pro
@@ -0,0 +1,2 @@
+QT -= gui
+SOURCES = traverse.cpp
diff --git a/doc/src/sql-programming/sql-driver.qdoc b/doc/src/sql-programming/sql-driver.qdoc
index 40c7c6a..ed60e7f 100644
--- a/doc/src/sql-programming/sql-driver.qdoc
+++ b/doc/src/sql-programming/sql-driver.qdoc
@@ -60,6 +60,7 @@
\row \o \link #QPSQL QPSQL\endlink \o PostgreSQL (versions 7.3 and above)
\row \o \link #QSQLITE2 QSQLITE2\endlink \o SQLite version 2
\row \o \link #QSQLITE QSQLITE\endlink \o SQLite version 3
+ \row \o \link #QSYMSQL QSYMSQL\endlink \o SQLite version 3 for Symbian SQL Database
\row \o \link #QTDS QTDS\endlink \o Sybase Adaptive Server \note obsolete from Qt 4.7
\endtable
@@ -665,6 +666,106 @@
ship your own database plugin with your own SQLite library as illustrated above.
Some versions of SQLite can be forced to write a specific file format by setting
the \c{SQLITE_DEFAULT_FILE_FORMAT} define when building SQLite.
+
+ \target QSYMSQL
+ \section2 QSYMSQL for SQLite (Version 3 and Above) with Symbian SQL Database
+
+ \section3 General Information about QSYMSQL
+
+ QSYMSQL driver enables clients to access the native Symbian database engine (“Symbian SQL”)
+ through the QtSQL API.
+
+ The main difference to QSQLITE is that, with Symbian SQL database client can specify a
+ set of access control policies when creating a new database. It uses Symbian SQL security policy
+ definitions within open() call (security policy is defined with in the connection options parameters).
+
+ Symbian RSqlSecurityPolicy class is a container for the security policies for a shared SQL database.
+
+ The container can contain:
+ security policies that apply to the database.
+ security policies that apply to individual database objects, i.e. database tables.
+
+ For the database, you use RSqlSecurityPolicy::SetDbPolicy() to apply a separate security policy to:
+ the database schema.
+ read activity on the database.
+ write activity on the database.
+
+ For database tables, you use RSqlSecurityPolicy::SetPolicy() to apply a separate security policy to:
+ write activity on each named database table.
+ read activity on each named database table.
+
+ More information about Symbian SQL and RSqlSecurityPolicy class reference about policy definitions,
+ can be found from Forum Nokia Library: http://library.developer.nokia.com/.
+
+
+Example of setting Security Policy:
+
+ Connection options hold definition for security policies and all parameters that does not contain "POLICY_" will be
+ passed to RSqlDatabase. Policy will be filled according to parsed values.
+
+ Value in database wide parameters starts by definition which can be vendorId or secureId. These come directly from TSecurityPolicy class in Symbian.
+
+ POLICY_DB_DEFAULT
+ Default security policy which will be used for the database and all database objects. POLICY_DB_DEFAULT must be
+ defined before any other policy definitions can be used.
+ POLICY_DB_READ
+ Read database security policy. An application with read database security policy can read from database.
+ POLICY_DB_WRITE:
+ Write database security policy. An application with write database security policy can write to database.
+ POLICY_DB_SCHEMA:
+ Schema database security policy. An application with schema database security policy can modify
+ the database schema, write to database, read from database.
+
+ Format:
+ POLICY_DB_DEFAULT=cap1,cap2,cap3,cap4,cap5,cap6,cap7 (Up to 7 capabilities)
+ POLICY_DB_READ=cap1,cap2,cap3,cap4,cap5,cap6,cap7 (Up to 7 capabilities)
+ POLICY_DB_WRITE=vendorid,cap1,cap2,cap3 (Vendor ID and up to 3 capabilities)
+ POLICY_DB_SCHEMA=secureid,cap1,cap2,cap3 (Secure ID and up to 3 capabilities)
+
+ Table policies does not support schema policy as database level does.
+
+ Table specific parameters would be as:
+ POLICY_TABLE_WRITE=tablename,cap1,cap2,cap3,cap4,cap5,cap6,cap7
+ POLICY_TABLE_READ=tablename,cap1,cap2,cap3,cap4,cap5,cap6,cap7
+
+ Vendor Id and Secure id format:
+ vid[0x12345678] (Hex)
+ sid[0x12345678] (Hex)
+
+ Examples:
+ Setting default policy:
+ QSqlDatabase database = QSqlDatabase::addDatabase("QSYMSQL", "MyConnection");
+ database.setConnectOptions("POLICY_DB_DEFAULT=ReadDeviceData");
+ database.setDatabaseName("[12345678]myDatabase");
+ bool ok = database.open();
+
+ Setting POLICY_DB_WRITE:
+ QSqlDatabase database = QSqlDatabase::addDatabase("QSYMSQL", "MyConnection");
+ database.setConnectOptions("POLICY_DB_DEFAULT=None; POLICY_DB_WRITE=sid[0x12345678], WriteDeviceData");
+ database.setDatabaseName("[12345678]myDatabase");
+ bool ok = database.open();
+
+ FOREIGN KEY:
+ Enabling foreign key support from underlying SQLite
+ add: "foreign_keys = ON" to your connection options string. This will be passes to SQLite.
+
+ Foreign key Example:
+ QSqlDatabase database = QSqlDatabase::addDatabase("QSYMSQL", "MyConnection");
+ database.setDatabaseName("[12345678]myDatabase");
+ database.setConnectOptions("foreign_keys = ON");
+ bool ok = database.open();
+
+ \section3 How to Build the QSYMSQL Plugin
+
+ Building QSYMSQL requires Symbian SDK.
+
+ The build sequence is similar to the QSQLITE plugin with installing the plugin in the standard location.
+
+ Build sequence:
+
+ >cd sf\mw\qt\src\plugins\sqldrivers\symsql\
+ >qmake
+ >sbs -c winscw_udeb|armv5_urel
\target QIBASE
\section2 QIBASE for Borland InterBase
diff --git a/doc/src/template/style/offline.css b/doc/src/template/style/offline.css
index 44abb3c..d33d8e7 100644
--- a/doc/src/template/style/offline.css
+++ b/doc/src/template/style/offline.css
@@ -74,8 +74,7 @@
body
{
- margin-left: 0.5em;
- margin-right: 0.5em;
+ margin: 0px;
font-family: sans-serif;
line-height: normal
}
@@ -238,7 +237,9 @@
.header .content
{
- margin-bottom: 0.5em
+ margin-left: 5px;
+ margin-top: 5px;
+ margin-bottom: 0.5em;
}
.header .breadcrumb
@@ -413,6 +414,11 @@
.flowList dd a{
}
+ .mainContent
+ {
+ padding-left:5px;
+ }
+
.content .flowList p{
padding:0px;
}
diff --git a/doc/src/tutorials/modelview.qdoc b/doc/src/tutorials/modelview.qdoc
index dcd5a1d..35454f4 100644
--- a/doc/src/tutorials/modelview.qdoc
+++ b/doc/src/tutorials/modelview.qdoc
@@ -104,7 +104,6 @@
array of the data elements that the user can change. The table widget can be
integrated into a program flow by reading and writing the data elements that
the table widget provides.
-
This method is very intuitive and useful in many applications, but displaying
and editing a database table with a standard table widget can be problematic.
Two copies of the data have to be coordinated: one outside the
diff --git a/doc/src/windows-and-dialogs/mainwindow.qdoc b/doc/src/windows-and-dialogs/mainwindow.qdoc
index f2b29c9..e1a5e82 100644
--- a/doc/src/windows-and-dialogs/mainwindow.qdoc
+++ b/doc/src/windows-and-dialogs/mainwindow.qdoc
@@ -145,6 +145,17 @@
depends on the result of QWidget::frameGeometry() and the
capability of the window manager to do proper window placement,
neither of which can be guaranteed.
+
+ \section2 Symbian Peculiarities
+
+ On Symbian, the status pane and softkeys are not created until
+ after QWidget::show() is called for the main window of the application.
+ This means that at the time when the application main window gets the
+ show event, the application main window width() and height() methods
+ still return full screen width and height instead of the client area
+ width and height as expected. The correct place to get the main window
+ size is the resize event handler of the main window, as the resize event
+ will be sent each time the client area of the window changes.
*/
/*!
diff --git a/doc/src/xml-processing/xml-patterns.qdoc b/doc/src/xml-processing/xml-patterns.qdoc
index ea29639..d54613c 100644
--- a/doc/src/xml-processing/xml-patterns.qdoc
+++ b/doc/src/xml-processing/xml-patterns.qdoc
@@ -415,7 +415,7 @@
slight-of-hand using the \l{QMetaType} {Qt metatype system}. We
must modify our example to use a couple of template functions, a
friend of QMetaType (qMetaTypeId<T>()) and a friend of QVariant
- (qVariantValue<T>()):
+ (qvariant_cast<T>()):
\snippet doc/src/snippets/code/src_xmlpatterns_api_qxmlquery.cpp 6