summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraavit <qt-info@nokia.com>2011-10-21 07:59:50 (GMT)
committeraavit <qt-info@nokia.com>2011-10-21 07:59:50 (GMT)
commitcda84350a3e38d7a35e6341720e3e353803b8dea (patch)
tree240ba38d683ad1256ca7ddd54f51bf6f21962056
parente5098123c12880d922923d1117f7b82995c6b5a0 (diff)
parent4673878256262802c07303fce1e1f8cc1b7e652b (diff)
downloadQt-cda84350a3e38d7a35e6341720e3e353803b8dea.zip
Qt-cda84350a3e38d7a35e6341720e3e353803b8dea.tar.gz
Qt-cda84350a3e38d7a35e6341720e3e353803b8dea.tar.bz2
Merge remote-tracking branch 'qt-fire-review/master'
-rw-r--r--config.profiles/symbian/platform_paths.prf13
-rw-r--r--dist/changes-4.8.017
-rw-r--r--doc/src/declarative/declarativeui.qdoc1
-rw-r--r--doc/src/declarative/elements.qdoc1
-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.qdoc2
-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/examples/2dpainting.qdoc2
-rw-r--r--doc/src/examples/activeqt/comapp.qdoc10
-rw-r--r--doc/src/examples/activeqt/dotnet.qdoc2
-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/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.qdoc3
-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.qdoc2
-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.qdoc6
-rw-r--r--doc/src/examples/customcompleter.qdoc6
-rw-r--r--doc/src/examples/customsortfiltermodel.qdoc2
-rw-r--r--doc/src/examples/customtype.qdoc2
-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.qdoc2
-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.qdoc2
-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.qdoc2
-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.qdoc2
-rw-r--r--doc/src/examples/multicastsender.qdoc2
-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.qdoc2
-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.qdoc2
-rw-r--r--doc/src/examples/portedcanvas.qdoc2
-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.qdoc2
-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.qdoc2
-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.qdoc2
-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.qdoc2
-rw-r--r--doc/src/examples/syntaxhighlighter.qdoc2
-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.qdoc2
-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.qdoc2
-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/getting-started/demos.qdoc7
-rw-r--r--doc/src/getting-started/installation.qdoc114
-rw-r--r--doc/src/internationalization/i18n.qdoc57
-rw-r--r--doc/src/platforms/platform-notes.qdoc217
-rw-r--r--doc/src/platforms/symbian-introduction.qdoc4
-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_io_qsettings.cpp2
-rw-r--r--examples/activeqt/activeqt.pro3
-rw-r--r--examples/dialogs/extension/finddialog.cpp2
-rw-r--r--examples/examples.pro2
-rw-r--r--mkspecs/common/symbian/symbian.conf13
-rw-r--r--mkspecs/features/symbian/localize_deployment.prf38
-rw-r--r--qmake/generators/integrity/gbuild.cpp8
-rw-r--r--qmake/generators/makefiledeps.cpp3
-rw-r--r--qmake/generators/symbian/symbiancommon.cpp1
-rw-r--r--qmake/generators/win32/msbuild_objectmodel.cpp2
-rw-r--r--qmake/qmake.pri2
-rw-r--r--src/3rdparty/phonon/mmf/environmentalreverb.cpp4
-rw-r--r--src/3rdparty/phonon/phonon/volumeslider.cpp6
-rw-r--r--src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp2
-rw-r--r--src/corelib/global/qconfig-minimal.h3
-rw-r--r--src/corelib/global/qconfig-nacl.h3
-rw-r--r--src/corelib/global/qfeatures.h3
-rw-r--r--src/corelib/global/qfeatures.txt7
-rw-r--r--src/corelib/io/qdir.cpp10
-rw-r--r--src/corelib/io/qfile.cpp7
-rw-r--r--src/corelib/io/qfilesystemengine_win.cpp3
-rw-r--r--src/corelib/io/qfilesystemwatcher_symbian.cpp10
-rw-r--r--src/corelib/io/qfilesystemwatcher_symbian_p.h18
-rw-r--r--src/corelib/io/qprocess.cpp2
-rw-r--r--src/corelib/kernel/qcore_symbian_p.cpp19
-rw-r--r--src/corelib/kernel/qcoreapplication.cpp81
-rw-r--r--src/corelib/kernel/qcoreapplication_p.h3
-rw-r--r--src/corelib/kernel/qcoreevent.h4
-rw-r--r--src/corelib/kernel/qobject.cpp2
-rw-r--r--src/corelib/plugin/qfactoryloader.cpp239
-rw-r--r--src/corelib/plugin/qfactoryloader_p.h1
-rw-r--r--src/corelib/plugin/qpluginloader.cpp2
-rw-r--r--src/corelib/statemachine/qfinalstate.cpp2
-rw-r--r--src/corelib/tools/qline.cpp21
-rw-r--r--src/declarative/debugger/debugger.pri11
-rw-r--r--src/declarative/debugger/qdeclarativedebug.h67
-rw-r--r--src/declarative/debugger/qdeclarativedebugserver.cpp10
-rw-r--r--src/declarative/debugger/qdeclarativeenginedebug.cpp (renamed from src/declarative/debugger/qdeclarativedebug.cpp)18
-rw-r--r--src/declarative/debugger/qdeclarativeenginedebug_p.h (renamed from src/declarative/debugger/qdeclarativedebug_p.h)6
-rw-r--r--src/declarative/debugger/qdeclarativeenginedebugservice.cpp (renamed from src/declarative/qml/qdeclarativeenginedebug.cpp)60
-rw-r--r--src/declarative/debugger/qdeclarativeenginedebugservice_p.h (renamed from src/declarative/qml/qdeclarativeenginedebug_p.h)20
-rw-r--r--src/declarative/graphicsitems/qdeclarativeflipable.cpp4
-rw-r--r--src/declarative/graphicsitems/qdeclarativegridview.cpp6
-rw-r--r--src/declarative/graphicsitems/qdeclarativelistview.cpp6
-rw-r--r--src/declarative/graphicsitems/qdeclarativepathview.cpp28
-rw-r--r--src/declarative/qml/qdeclarative.h11
-rw-r--r--src/declarative/qml/qdeclarativecomponent.cpp4
-rw-r--r--src/declarative/qml/qdeclarativeengine.cpp8
-rw-r--r--src/declarative/qml/qdeclarativeengine.h1
-rw-r--r--src/declarative/qml/qdeclarativeimport.cpp10
-rw-r--r--src/declarative/qml/qdeclarativenotifier_p.h27
-rw-r--r--src/declarative/qml/qdeclarativepropertycache_p.h2
-rw-r--r--src/declarative/qml/qdeclarativesqldatabase.cpp2
-rw-r--r--src/declarative/qml/qml.pri2
-rw-r--r--src/declarative/util/qdeclarativeanimation.cpp2
-rw-r--r--src/declarative/util/qdeclarativesmoothedanimation.cpp42
-rw-r--r--src/declarative/util/qdeclarativespringanimation.cpp8
-rw-r--r--src/declarative/util/qdeclarativestateoperations.cpp2
-rw-r--r--src/declarative/util/qdeclarativeview.h1
-rw-r--r--src/declarative/util/qdeclarativexmllistmodel.cpp2
-rw-r--r--src/gui/dialogs/qfiledialog_win.cpp4
-rw-r--r--src/gui/dialogs/qmessagebox.cpp4
-rw-r--r--src/gui/dialogs/qwizard.cpp3
-rw-r--r--src/gui/egl/qegl.cpp32
-rw-r--r--src/gui/graphicsview/qgraphicsitem.cpp2
-rw-r--r--src/gui/graphicsview/qgraphicsscene.cpp2
-rw-r--r--src/gui/graphicsview/qgraphicsview.cpp16
-rw-r--r--src/gui/graphicsview/qgraphicswidget_p.cpp4
-rw-r--r--src/gui/graphicsview/qgridlayoutengine.cpp8
-rw-r--r--src/gui/graphicsview/qsimplex_p.cpp2
-rw-r--r--src/gui/image/qimage.cpp12
-rw-r--r--src/gui/image/qvolatileimage.cpp14
-rw-r--r--src/gui/inputmethod/qcoefepinputcontext_p.h2
-rw-r--r--src/gui/inputmethod/qcoefepinputcontext_s60.cpp139
-rw-r--r--src/gui/kernel/qapplication_s60.cpp9
-rw-r--r--src/gui/kernel/qapplication_win.cpp13
-rw-r--r--src/gui/kernel/qcursor_win.cpp2
-rw-r--r--src/gui/kernel/qguiplatformplugin.cpp4
-rw-r--r--src/gui/kernel/qsoftkeymanager.cpp2
-rw-r--r--src/gui/kernel/qtooltip.cpp2
-rw-r--r--src/gui/kernel/qwhatsthis.cpp4
-rw-r--r--src/gui/kernel/qwidget.cpp26
-rw-r--r--src/gui/kernel/qwidget_p.h1
-rw-r--r--src/gui/kernel/qwidget_s60.cpp58
-rw-r--r--src/gui/painting/qcolor.cpp4
-rw-r--r--src/gui/painting/qgraphicssystemex_symbian.cpp107
-rw-r--r--src/gui/painting/qpaintengine_raster.cpp8
-rw-r--r--src/gui/painting/qpaintengineex.cpp12
-rw-r--r--src/gui/painting/qpainter.cpp16
-rw-r--r--src/gui/painting/qrasterizer.cpp10
-rw-r--r--src/gui/painting/qtessellator.cpp2
-rw-r--r--src/gui/styles/qs60style.cpp8
-rw-r--r--src/gui/styles/qstylefactory.cpp4
-rw-r--r--src/gui/styles/qstylesheetstyle.cpp10
-rw-r--r--src/gui/styles/qwindowsstyle.cpp8
-rw-r--r--src/gui/styles/qwindowsvistastyle.cpp2
-rw-r--r--src/gui/styles/qwindowsxpstyle.cpp2
-rw-r--r--src/gui/text/qfontdatabase.cpp4
-rw-r--r--src/gui/text/qfontengine.cpp4
-rw-r--r--src/gui/text/qtextdocument.cpp2
-rw-r--r--src/gui/widgets/qdialogbuttonbox.cpp1
-rw-r--r--src/gui/widgets/qlinecontrol.cpp4
-rw-r--r--src/gui/widgets/qprogressbar.cpp2
-rw-r--r--src/gui/widgets/qtextbrowser.cpp3
-rw-r--r--src/gui/widgets/qtoolbar.cpp2
-rw-r--r--src/network/access/qhttpnetworkreply.cpp2
-rw-r--r--src/network/access/qnetworkaccessbackend.cpp15
-rw-r--r--src/network/access/qnetworkaccessbackend_p.h2
-rw-r--r--src/network/access/qnetworkcookie.cpp18
-rw-r--r--src/network/access/qnetworkreplyimpl.cpp23
-rw-r--r--src/network/access/qnetworkreplyimpl_p.h2
-rw-r--r--src/network/bearer/qnetworkconfigmanager_p.cpp2
-rw-r--r--src/network/kernel/qhostinfo_win.cpp5
-rw-r--r--src/opengl/qgl.cpp20
-rw-r--r--src/s60installs/bwins/QtCoreu.def5
-rw-r--r--src/s60installs/eabi/QtCoreu.def2
-rw-r--r--src/s60installs/qt_resources.iby11
-rwxr-xr-xsrc/s60installs/s60installs.pro1
-rw-r--r--src/sql/drivers/symsql/qsql_symsql.cpp6
-rw-r--r--src/xmlpatterns/api/qxmlquery.cpp5
-rw-r--r--src/xmlpatterns/functions/qsequencegeneratingfns.cpp20
-rw-r--r--src/xmlpatterns/parser/qquerytransformparser.cpp2
-rw-r--r--src/xmlpatterns/schema/qxsdschemaresolver.cpp2
-rw-r--r--src/xmlpatterns/schema/qxsdtypechecker.cpp11
-rw-r--r--src/xmlpatterns/schema/qxsdvalidatinginstancereader.cpp2
-rw-r--r--tests/auto/declarative/declarative.pro1
-rw-r--r--tests/auto/declarative/qdeclarativedebug/qdeclarativedebug.pro2
-rw-r--r--tests/auto/declarative/qdeclarativedebug/tst_qdeclarativedebug.cpp5
-rw-r--r--tests/auto/declarative/qdeclarativedebugclient/qdeclarativedebugclient.pro2
-rw-r--r--tests/auto/declarative/qdeclarativedebugclient/tst_qdeclarativedebugclient.cpp7
-rw-r--r--tests/auto/declarative/qdeclarativedebugjs/app/app.pro1
-rw-r--r--tests/auto/declarative/qdeclarativedebugjs/app/main.cpp3
-rw-r--r--tests/auto/declarative/qdeclarativedebugjs/tst_qdeclarativedebugjs.cpp7
-rw-r--r--tests/auto/declarative/qdeclarativedebugservice/qdeclarativedebugservice.pro2
-rw-r--r--tests/auto/declarative/qdeclarativedebugservice/tst_qdeclarativedebugservice.cpp6
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/tst_qdeclarativemoduleplugin.cpp25
-rw-r--r--tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp115
-rw-r--r--tests/auto/declarative/qdeclarativetextinput/tst_qdeclarativetextinput.cpp117
-rw-r--r--tests/auto/qabstractxmlnodemodel/qabstractxmlnodemodel.pro2
-rw-r--r--tests/auto/qnetworkcookie/tst_qnetworkcookie.cpp54
-rw-r--r--tests/auto/qnetworkreply/.gitattributes1
-rw-r--r--tests/auto/qnetworkreply/index.html3
-rw-r--r--tests/auto/qnetworkreply/tst_qnetworkreply.cpp61
-rw-r--r--tests/auto/qnetworkrequest/tst_qnetworkrequest.cpp2
-rw-r--r--tests/auto/qobjectrace/tst_qobjectrace.cpp12
-rw-r--r--tests/auto/qpluginloader/tst_qpluginloader.cpp29
-rw-r--r--tests/auto/qstyle/tst_qstyle.cpp4
-rw-r--r--tests/auto/qtextbrowser/tst_qtextbrowser.cpp24
-rw-r--r--tests/auto/qwidget/tst_qwidget.cpp45
-rw-r--r--tests/auto/qxmlquery/tst_qxmlquery.cpp20
-rw-r--r--tests/auto/xmlpatternsvalidator/files/schema-with-restrictions.xsd37
-rw-r--r--tests/auto/xmlpatternsvalidator/tst_xmlpatternsvalidator.cpp5
-rw-r--r--tests/benchmarks/corelib/tools/qline/main.cpp157
-rw-r--r--tests/benchmarks/corelib/tools/qline/qline.pro12
-rw-r--r--tests/benchmarks/corelib/tools/tools.pro1
-rw-r--r--tools/linguist/lupdate/main.cpp3
-rw-r--r--tools/linguist/shared/numerus.cpp30
-rw-r--r--tools/linguist/shared/translator.h2
-rw-r--r--tools/porting/src/qt3headers0.resourcebin548362 -> 548304 bytes
-rw-r--r--tools/runonphone/codasignalhandler.cpp10
-rw-r--r--tools/runonphone/main.cpp31
-rw-r--r--tools/runonphone/symbianutils/launcher.cpp2
-rw-r--r--tools/runonphone/symbianutils/symbiandevicemanager.cpp3
-rw-r--r--tools/runonphone/texttracehandler.cpp2
-rw-r--r--translations/assistant_ko.ts165
-rw-r--r--translations/assistant_pl.ts159
-rw-r--r--translations/assistant_uk.ts191
-rw-r--r--translations/designer_ko.ts109
-rw-r--r--translations/designer_pl.ts109
-rw-r--r--translations/designer_ru.ts6
-rw-r--r--translations/designer_uk.ts109
-rw-r--r--translations/linguist_ko.ts16
-rw-r--r--translations/qt_ja.ts106
-rw-r--r--translations/qt_ko.ts538
-rw-r--r--translations/qt_pl.ts499
-rw-r--r--translations/qt_ru.ts211
-rw-r--r--translations/qt_uk.ts457
-rw-r--r--translations/qtconfig_ko.ts722
-rw-r--r--translations/qtconfig_pl.ts798
-rw-r--r--translations/qtconfig_ru.ts8
-rw-r--r--translations/qtconfig_uk.ts160
-rw-r--r--translations/qvfb_pl.ts46
495 files changed, 6395 insertions, 1892 deletions
diff --git a/config.profiles/symbian/platform_paths.prf b/config.profiles/symbian/platform_paths.prf
index 0e2131f..1769885 100644
--- a/config.profiles/symbian/platform_paths.prf
+++ b/config.profiles/symbian/platform_paths.prf
@@ -239,10 +239,23 @@ defineReplace(CORE_TOOLS_LAYER_IBY_EXPORT_PATH) {
defineReplace(CORE_ADAPT_LAYER_IBY_EXPORT_PATH) {
return(/epoc32/rom/include/$$1)
}
+
+defineReplace(LANGUAGE_APP_LAYER_IBY_EXPORT_PATH) {
+ return(/epoc32/rom/include/language/app/$$1)
+}
+defineReplace(LANGUAGE_MW_LAYER_IBY_EXPORT_PATH) {
+ return(/epoc32/rom/include/language/mw/$$1)
+}
+defineReplace(LANGUAGE_OS_LAYER_IBY_EXPORT_PATH) {
+ return(/epoc32/rom/include/language/os/$$1)
+}
+
defineReplace(CUSTOMER_VARIANT_APP_LAYER_IBY_EXPORT_PATH) {
return(/epoc32/rom/include/customervariant/app/$$1)
}
+
+
# You need to define the following in pro-file, if you are using the stllib:
# QMAKE_CXXFLAGS.CW *= $$STLLIB_USAGE_CW_FLAGS
# DEFINES *= $$STLLIB_USAGE_DEFINES
diff --git a/dist/changes-4.8.0 b/dist/changes-4.8.0
index 5dd1d8a..319b944 100644
--- a/dist/changes-4.8.0
+++ b/dist/changes-4.8.0
@@ -82,6 +82,7 @@ that the changes lead to a leaner API and the change applies to all platforms.
- QProcessEnvironment: major optimizations, especially on Unix
- Add branch prediction macros Q_LIKELY and Q_UNLIKELY
- QSettings: don't assume XDG_CONFIG_HOME is latin1-encoded
+ - QDateTime: Fix generation of ISO8601 strings to include proper timezone information [QTBUG-18290]
QtGui
-----
@@ -142,6 +143,7 @@ QtNetwork
- HTTP cache: do not load resources from cache that must be revalidated [QTBUG-18983]
- HTTP cache: change file organization (MR-2505)
- SOCKS5: write errors are propagated to the outer socket [QTBUG-18713]
+ - Cookies: Commas are no longer used to support multiple cookies in a single Set-Cookie header [QTBUG-21456]
- QNetworkReply: errorString() returns translated messages now [QTBUG-18382]
QtOpenGL
@@ -184,6 +186,11 @@ QtDBus
- QDBusConnection: Add methods disconnectFromPeer and connectToPeer
- Make the DBus timeout configurable in QDBusAbstractInterface.
+QtTest
+------
+ - Added -random and -seed options to tests, making the test cases within
+ a test execute in arbitrary order.
+
****************************************************************************
* Database Drivers *
****************************************************************************
@@ -214,10 +221,12 @@ Qt for Windows
Qt for Mac OS X
---------------
- - raster graphics system is now made as the default paint engine for
- Mac OS X. [QTBUG-12615]
+ - Alien widgets is now used by default for Qt/Cocoa on Mac OS X.
+ - Qt/Cocoa on Mac OS X has now full support for the raster paint engine.
+ - QApplication has now implemented macEventFilter for Qt/Cocoa
- HarfBuzz can now be used as an optional text layout engine on Mac OS X.
[QTBUG-17728]
+ - Qt shows some love to OS X Lion (10.7).
Qt for Embedded Linux
---------------------
@@ -368,6 +377,10 @@ Qt for Windows CE
- syncqt
* Fix to allow $QTDIR to contain any valid pathname characters.
+- qdoc3
+ * Add support for documenting QML using module identifiers.
+ * Change the format of qdocconf files.
+
****************************************************************************
* Plugins *
****************************************************************************
diff --git a/doc/src/declarative/declarativeui.qdoc b/doc/src/declarative/declarativeui.qdoc
index cecccf6..668f3b4 100644
--- a/doc/src/declarative/declarativeui.qdoc
+++ b/doc/src/declarative/declarativeui.qdoc
@@ -84,6 +84,7 @@ Qt applications.
\list
\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
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/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
index 468a4ac..0782e90 100644
--- a/doc/src/demos/glhypnotizer.qdoc
+++ b/doc/src/demos/glhypnotizer.qdoc
@@ -29,7 +29,7 @@
\example demos/glhypnotizer
\title GL Hypnotizer
- This demo shows how to use OpenGL from a seperate thread.
+ \brief The GL Hypnotizer demo shows how to use OpenGL from a seperate thread.
\image glhypnotizer-demo.png
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/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 24b9cd1..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.
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/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
index 87942e5..f3f222e 100644
--- a/doc/src/examples/applicationicon.qdoc
+++ b/doc/src/examples/applicationicon.qdoc
@@ -29,7 +29,8 @@
\group all-examples
\title Application Icon Example
- The example shows how to add an application icon to a mobile application.
+ \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
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 409b491..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 Receiver 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 1718d52..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
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 e852f5e..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 Combo 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
index e1fd172..e28d4b2 100644
--- a/doc/src/examples/cube.qdoc
+++ b/doc/src/examples/cube.qdoc
@@ -44,8 +44,10 @@
\group all-examples
\title Cube OpenGL ES 2.0 example
- 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
+ \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.
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 b969354..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:
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 84d8af4..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
- The Drag and Drop Robot 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 e5399b1..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
- 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
+ \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
index 5bfe0f8..9a5b476 100644
--- a/doc/src/examples/elidedlabel.qdoc
+++ b/doc/src/examples/elidedlabel.qdoc
@@ -30,7 +30,7 @@
\group all-examples
\title Elided Label Example
- This example creates a widget similar to QLabel, that elides the last
+ \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
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 49078b6..659784c 100644
--- a/doc/src/examples/fingerpaint.qdoc
+++ b/doc/src/examples/fingerpaint.qdoc
@@ -29,7 +29,7 @@
\example touch/fingerpaint
\title Finger Paint Example
- The Finger Paint example shows the use of a touchscreen 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
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
index de53ba4..58a8837 100644
--- a/doc/src/examples/maemovibration.qdoc
+++ b/doc/src/examples/maemovibration.qdoc
@@ -30,7 +30,7 @@
\group all-examples
\title Maemo Vibration Example
- The Maemo Vibration example shows how to tell the Maemo Mode Control Entity
+ \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
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
index 1a0f3b5..96a011f 100644
--- a/doc/src/examples/multicastreceiver.qdoc
+++ b/doc/src/examples/multicastreceiver.qdoc
@@ -29,7 +29,7 @@
\example network/multicastreceiver
\title Multicast Receiver Example
- The Multicast Receiever example shows how to receive information that is
+ \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
index 55b3804..c5b7531 100644
--- a/doc/src/examples/multicastsender.qdoc
+++ b/doc/src/examples/multicastsender.qdoc
@@ -29,7 +29,7 @@
\example network/multicastsender
\title Multicast Sender Example
- The Multicast Sender example shows how to send information to multiple
+ \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
index f55a650..fc9f1c1 100644
--- a/doc/src/examples/orientation.qdoc
+++ b/doc/src/examples/orientation.qdoc
@@ -29,7 +29,7 @@
\group all-examples
\title Orientation Example
- The example shows a simple way to use different UIs depending on the screen
+ \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
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 06428bf..3fa0793 100644
--- a/doc/src/examples/portedasteroids.qdoc
+++ b/doc/src/examples/portedasteroids.qdoc
@@ -29,7 +29,7 @@
\example graphicsview/portedasteroids
\title Ported Asteroids Example
- The Ported Asteroids example is a port of the
+ \brief The Ported Asteroids example is a port of the
Asteroids game, which was based on QCanvas, to the Graphics View
framework.
diff --git a/doc/src/examples/portedcanvas.qdoc b/doc/src/examples/portedcanvas.qdoc
index 49824de..457d6b3 100644
--- a/doc/src/examples/portedcanvas.qdoc
+++ b/doc/src/examples/portedcanvas.qdoc
@@ -29,7 +29,7 @@
\example graphicsview/portedcanvas
\title Ported Canvas Example
- The Ported Canvas example is a port of the old
+ \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 d4128aa..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 9554842..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
- The RSS-Listing 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 77ccaf5..0ba794b 100644
--- a/doc/src/examples/schema.qdoc
+++ b/doc/src/examples/schema.qdoc
@@ -29,7 +29,7 @@
\example xmlpatterns/schema
\title XML Schema Validation Example
- The XML Schema Validation example shows how to use QtXmlPatterns to
+ \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
index 4c95b58..185cc85 100644
--- a/doc/src/examples/simplewebplugin.qdoc
+++ b/doc/src/examples/simplewebplugin.qdoc
@@ -29,7 +29,7 @@
\example webkit/simplewebplugin
\title Simple Web Plugin Example
- The Simple Web Plugin example shows how to embed a regular Qt widget into a
+ \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.
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 ed3ae7e..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
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
index 76f79e5..a6a3d52 100644
--- a/doc/src/examples/symbianvibration.qdoc
+++ b/doc/src/examples/symbianvibration.qdoc
@@ -29,7 +29,7 @@
\group all-examples
\title Symbian Vibration Example
- The Symbian Vibrator example shows how to get fine-grained vibration
+ \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
diff --git a/doc/src/examples/syntaxhighlighter.qdoc b/doc/src/examples/syntaxhighlighter.qdoc
index 919d61c..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
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
index c3d456d..47006f9 100644
--- a/doc/src/examples/webftpclient.qdoc
+++ b/doc/src/examples/webftpclient.qdoc
@@ -29,7 +29,7 @@
\example webkit/webftpclient
\title Web FTP Client Example
- The Web FTP Client example shows how to add support for a new protocol
+ \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.
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
index dcf4fb5..c607bef 100644
--- a/doc/src/examples/webplugin.qdoc
+++ b/doc/src/examples/webplugin.qdoc
@@ -29,7 +29,7 @@
\example webkit/webplugin
\title Web Plugin Example
- The Web Plugin example shows how to communicate between a Qt widget
+ \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.
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/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/installation.qdoc b/doc/src/getting-started/installation.qdoc
index 36d63f5..239f117 100644
--- a/doc/src/getting-started/installation.qdoc
+++ b/doc/src/getting-started/installation.qdoc
@@ -504,72 +504,27 @@ in the \l{Qt for Windows CE Requirements} document.
\tableofcontents
-Qt for the Symbian platform has some requirements that are given in more detail
-in the \l{Qt for the Symbian platform Requirements} document.
-
-
-\section1 Step 1: Install Qt
-
- Run \c{qt-symbian-opensource-%VERSION%.exe} and follow the instructions.
-
- \note Qt must be installed on the same drive as the Symbian SDK you are
- using, and the install path must not contain any spaces.
-
-\section1 Step 2: Install Qt into a device
-
- To run Qt applications on a device, \c{qt_installer.sis} found
- in the Qt installation directory must be first installed into the device.
- \c{Qt_installer.sis} contains Qt libraries and Open C libraries all in one
- convenient package.
- Begin installation by connecting your device via USB cable to a computer that
- has the \l{http://www.nokia.com/pcsuite}{Nokia PC Suite} installed.
- On the device, select "PC Suite mode". In Windows Explorer right click
- on the \c{qt_installer.sis} file, select "Install with Nokia Application
- Installer" and follow the instructions.
-
-\section1 Running Qt demos
-
- We've included a subset of the Qt demos in this package for you
- to try out. An excellent starting point is the "fluidlauncher"
- demo.
-
- To run the demo on a real device, install \c{fluidlauncher.sis}
- found in the Qt installation directory to a device that already has Qt installed.
- After installation, you can find fluidlauncher in the applications folder of the device.
-
- To run the demos and examples on the emulator, you need to build them first.
- Open the "Qt for the Symbian platform Command Prompt" from the Start menu and type:
-
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 25
-
- To run the demos on the emulator simply navigate to the directory of the demo
- you want to see and run:
-
- \snippet doc/src/snippets/code/doc_src_installation.qdoc 27
-
- For more information about building and running Qt programs on the
-Symbian platform,
- see \l{The Symbian platform - Introduction to Qt}.
-
-\bold{We hope you will enjoy using Qt.}
-
+ Qt for Symbian binary packages (SIS files) are available from the \l
+ {http://qt.nokia.com/downloads}{Qt SDK}.
*/
/*! \page install-Symbian.html
-\title Installing Qt for the Symbian platform
+\title Installing Qt for the Symbian Platform
\ingroup installation
\ingroup qtsymbian
\brief How to install Qt for the Symbian platform.
\previouspage Installation
\tableofcontents
+ \l {http://qt.nokia.com/downloads}{Qt SDK} provides all the necessary tools
+ and libraries for developing Qt applications. However, if you want to build
+ Qt itself for Symbian, follow the instructions below.
+
Qt for the Symbian platform has some requirements that are given in more detail
in the \l{Qt for the Symbian platform Requirements} document.
This document describes how to install and configure Qt for
-the Symbian platform from scratch. If you are using pre-built binaries, follow
-the instructions given in the \l{Installing Qt for the Symbian platform from a
-Binary Package} document.
+the Symbian platform from scratch.
\section1 Step 1: Set Up the Development Environment
@@ -652,23 +607,39 @@ Binary Package} document.
Congratulations, Qt is now ready to use.
\section1 Step 7: Installing Qt Libraries on the Device
+
+ To run a Qt application on a device, it must have Qt libraries installed.
+
+ Symbian devices have a pre-installed Qt as follows:
+ \list
+ \o Symbian Anna devices have the pre-installed Qt, Qt Mobility, and Qt Webkit.
+ \o Symbian Belle and later devices have the pre-installed Qt on the device firmware.
+ \endlist
+
+ \l {http://www.developer.nokia.com/Community/Wiki/Nokia_Smart_Installer_for_Symbian}
+ {Nokia Smart Installer for Symbian} deploys the required Qt libraries to supported S60
+ and Symbian devices if the libraries are not pre-installed.
+
+ Nokia Developer site's \l {http://www.developer.nokia.com/Devices/Device_specifications/?filter1=qt}
+ {Device specifications} provide information on which devices have a
+ pre-installed Qt and the used Qt version.
+
+ To create your own Qt installation package, do as follows:
+
+ \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
+ patch the binaries in either of the following ways:
+
+ \list
+ \o If you have no certificate, build a self-signed Qt:
+ \snippet doc/src/snippets/code/doc_src_installation.qdoc 34
- To run the demo on a real device, you first have to install
- the Qt libraries on the device:
-
-\snippet doc/src/snippets/code/doc_src_installation.qdoc 29
-
- The Qt libraries are built with "All -Tcb" capability, so that
- they can support all types of application.
- If you don't have a suitable certificate, it is possible to patch
- the binaries as follows:
-
- If you have no certificate, build a self signed Qt:
-\snippet doc/src/snippets/code/doc_src_installation.qdoc 34
-
- If you have a symbian-signed developer certificate, specify the
+ \o If you have a symbian-signed developer certificate, specify the
capabilities you can sign for, for example:
-\snippet doc/src/snippets/code/doc_src_installation.qdoc 35
+ \snippet doc/src/snippets/code/doc_src_installation.qdoc 35
+ \endlist
\section1 Running Qt demos
@@ -1315,7 +1286,12 @@ We hope you will enjoy using Qt.
\brief Setting up the Symbian platform environment for Qt.
\previouspage General Qt Requirements
- Qt for the Symbian platform requires the following software installed on your development PC:
+ \l {http://qt.nokia.com/downloads}{Qt SDK} provides all the necessary tools
+ and libraries for developing Qt applications. However, if you want to build
+ Qt itself for Symbian, follow the instructions below.
+
+ Qt for the Symbian platform requires the following software installed on
+ your development PC:
\list
\o \l{http://www.forum.nokia.com/Library/Tools_and_downloads/Other/Carbide.c++/}{Carbide.c++ v2.3.0 or higher recommended}.
\list
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/platforms/platform-notes.qdoc b/doc/src/platforms/platform-notes.qdoc
index 477f125..f177cd7 100644
--- a/doc/src/platforms/platform-notes.qdoc
+++ b/doc/src/platforms/platform-notes.qdoc
@@ -685,9 +685,10 @@
\ingroup platform-specific
\brief Information about the state of support for the Symbian platform.
- As with any port, the maturity for Qt for Symbian has not yet reached the
- same level as other established Qt ports. This page documents the current
- notes for the Symbian port.
+ This page describes implementation details regarding the Qt for Symbian port. To get
+ started with application development for Symbian devices, read the \l
+ {http://doc.qt.nokia.com/qtcreator/creator-developing-symbian.html}
+ {Connecting Symbian Devices} document.
\section1 Source Compatibility
@@ -698,55 +699,109 @@
\section1 Binary Compatibility
- As with every supported platform, we will strive to maintain
- application behavior and binary compatibility throughout the lifetime of
- the Qt 4.x series. However, due to the fact that Symbian support is newly
- added in 4.6.0, there is a slight possibility that minor corrections to the
- application binary interface (ABI) might be required in 4.6.1, in order to
- ensure compatibility going forward. Any such change will be clearly
- documented in the release notes for 4.6.1.
-
+ As with every supported platform, Qt strives to maintain application
+ behavior and binary compatibility throughout the lifetime of the Qt 4.x
+ major version and on the \l {Supported Devices}{Symbian devices that support Qt}.
+ Symbian support in Qt SDK and Ovi Store were introduced with Qt 4.6. Each Qt
+ release contains bug fixes that might change the API behavior and thereby
+ affect application compatibility.
+
+ In addition, Symbian devices have different input methods, such as different
+ keyboard styles or touch input, screen sizes, memory, and CPU and GPU
+ capabilities. Therefore, you must test applications on specific target
+ devices to ensure compatibility. In order to build applications that are
+ supported also on earlier devices, select the target in Qt SDK carefully.
+ Generally, an earlier target (such as S60 5th Edition) is supported on a
+ larger number of devices than a later target (such as Symbian Belle).
+
+ \target Supported Devices
\section1 Supported Devices
+
+ The \l {http://developer.qt.nokia.com/wiki/support_for_Symbian}{Support for Symbian} document
+ details the Qt support on different Symbian devices.
- See the list of supported devices at
- http://wiki.forum.nokia.com/index.php/Nokia_Smart_Installer_for_Symbian#Supported_Devices
-
- \section1 Supported Functionality
+ The \l {http://www.developer.nokia.com/Community/Wiki/Nokia_Smart_Installer_for_Symbian#Supported_Devices}
+ {Nokia Smart Installer for Symbian} document lists how Qt is supported on
+ different Symbian devices through Smart Installer.
- The following technologies and classes are not currently supported:
+ Qt versions are supported by Symbian devices as follows:
+ \list
+ \o Qt 4.6 is supported by S60 3rd Edition feature pack 1 and newer devices
+ through \l {http://www.developer.nokia.com/Community/Wiki/Nokia_Smart_Installer_for_Symbian}{Smart Installer}.
+ \o Qt 4.7.3 is supported by S60 5th Edition and newer devices
+ through \l {http://www.developer.nokia.com/Community/Wiki/Nokia_Smart_Installer_for_Symbian}{Smart Installer}.
+ \endlist
+
+ Symbian devices have a pre-installed Qt support as follows:
+ \list
+ \o Symbian Anna: Qt 4.7.3 in C: drive. Note that Qt 4.7.4 is supported in Symbian Anna
+ through \l {http://www.developer.nokia.com/Community/Wiki/Nokia_Smart_Installer_for_Symbian}{Smart Installer}.
+ \o Symbian Belle: Qt 4.7.4 in device firmware (ROM).
+ \endlist
+
- \table
- \header \o Technology
- \o Note
- \row \o QtConcurrent
- \o Planned for future release.
- \row \o QtDBus
- \o No current plans to support this feature.
- \row \o Printing support
- \o No current plans to support this feature.
- \row \o Qt3Support
- \o No current plans to support this feature.
- \endtable
+ \section1 Functionality Support
+ The following technologies and classes are not supported:
+ \list
+ \o QtConcurrent
+ \o QtDBus
+ \o \l {http://doc.qt.nokia.com/4.8/printing.html}{Printing support}
+ \o Qt3Support
+ \endlist
+
The following technologies have limited support:
+
\table
- \header \o Technology
+ \header \o Module
\o Note
\row \o QtSql
- \o The only driver supported is SQLite.
+ \o The supported drivers are SQLite and QSYMSQL.
\row \o QtMultimedia
- \o Although the module itself is supported, no backend for Symbian
- is currently available. However, there is a backend available
- for Phonon.
+ \o For support details see \l {Multimedia Support} section.
+ \row \o QtGui
+ \o QtGui's widgets are deprecated (i.e. they are available but not
+ recommended to use) in the Symbian port. It is recommended to use \l
+ {http://doc.qt.nokia.com/qt-components-symbian-1.1/symbian-components-functional.html}
+ {Qt Quick Components for Symbian} instead, because they provide
+ better look and feel on Symbian devices.
+
+ Moreover, the following classes of QtGui \bold {should not
+ be used} in a Symbian application:
+
+ \list
+ \o QFileDialog with the \c DontUseNativeDialog option
+ \o QColorDialog with the \c DontUseNativeDialog option
+ \o QFontDialog
+ \o QWizard
+ \o QCalendarWidget
+ \o QDateTimeEdit
+ \o QMdiArea
+ \o QDockWidget
+ \o QMdiSubWindow
+ \o QPrintPreviewWidget
+ \endlist
+
+ QScrollArea: The scrolling and focus handling of QScrollArea's all
+ scrollable widgets, for example QListView, differs from native Avkon
+ list widgets' one. Native Avkon scrollable components support
+ touch-gesture-based scrolling by dragging and flicking the UI
+ component but this functionality is not implemented in Qt widgets.
+ Scrolling by dragging and flicking works also in Qt Quick Components
+ that implements the \l
+ {http://www.developer.nokia.com/Resources/Library/Symbian_Design_Guidelines/}
+ {Symbian design guidelines}.
+
\endtable
\section1 Compiler Notes
-
- \section2 GCCE (Symbian)
-
- GCCE cannot be used to compile Qt libaries for the Symbian platform, but GCCE is supported
- when compiling Qt applications for the Symbian platform.
+
+ For the application development the necessary compiler toolchain is included in \l
+ {http://qt.nokia.com/downloads}{Qt SDK}. For instructions compiling Qt
+ itself see the \l
+ {http://doc.qt.nokia.com/stable/install-symbian.html}
+ {Installing Qt for the Symbian platform} document.
\section1 Known Issues
@@ -762,11 +817,14 @@
\section1 Required Capabilities
- The Qt libraries are typically signed with \c{All -TCB} capabilites, but
+ The Qt libraries are typically signed with \c{All -TCB} capabilites but
that does not mean your Qt application needs to be signed with the same
capabilities to function properly. The capabilities your application needs
- to function properly depends on which parts of Qt you use, here is an
- overview:
+ to function properly depends on which parts of Qt you use.
+ In a Qt application Symbian capabilities are defined in the
+ \l {http://doc.qt.nokia.com/4.8/qmake-variable-reference.html#target-capability}
+ {TARGET.CAPABILITY} qmake variable in the project file.
+ Here is an overview for which capabilities may be needed when using different modules:
\table
\header \o Module
@@ -783,9 +841,9 @@
\o \c ReadUserData is required to include all the phone's SSL certificates in the system's default CA certificate list
(for example those added by the user or stored in the SIM card),
without this capability only the CA certs built into the phone are used.
- \row \o QtMultiMedia
+ \row \o QtMultimedia
\o \c UserEnvironment if QAudioInput is used.
- \row \o QtWebkit
+ \row \o QtWebKit
\o \c NetworkServices is automatically added for this module if no capabilities are explicitly specified.
\endtable
@@ -796,33 +854,45 @@
For more information see the documentation of the individual Qt classes. If
a class does not mention Symbian capabilities, it requires none.
- \section1 Multimedia and Phonon Support
+ \target Multimedia Support
+ \section1 Multimedia Support
- Qt provides a high-level API for multimedia functionality with
- (\l{http://doc.qt.nokia.com/qtmobility/multimedia.html}).
+ Qt Mobility provides a high-level API for multimedia functionality with
+ \l{http://doc.qt.nokia.com/qtmobility/multimedia.html}{QtMultimediaKit}.
+ In addition, Qt provides the low-level \l {QtMultimedia}{QtMultimedia}
+ module that is internally used by the QtMultimediaKit. For more information
+ on developing multimedia applications for Symbian devices, see
+ \l {http://www.developer.nokia.com/info/sw.nokia.com/id/4abf12e7-72d8-45ef-b1a2-46184abe18ba/Guide_for_Qt_Multimedia_Developers.html}
+ {Guide for Qt Multimedia Developers}.
- Qt also provides a backend for Qt's Phonon module, which supports video and
- sound playback through Symbian's Multimedia Framework, MMF. Note that Phonon
- support is not being extended, and that Qt's multimedia module will
- take over for Phonon at a later stage.
+ Moreover, there is a third multimedia-related module called Phonon. Qt
+ provides two backends for the Phonon module in Symbian: \i MMF and \i Helix.
- In this release the support is experimental. Video playback may show
- artifacts when the video is moved or resized (for instance during
- orientation flips). This problem is present on Symbian^1 and earlier
- versions, and on Symbian^3 systems.
+ Note that Phonon is a legacy module and the QtMultimediaKit module is
+ replacing Phonon in Qt 5. Although Phonon is supported in Symbian for
+ backwards compatibility and there is no plan to remove Phonon from Symbian
+ any new applications should use QtMultimediaKit in Symbian using Qt 4.7
+ bundle. The QtMultimediaKit feature set is comparable to that in Phonon.
- The audio and video formats that Phonon supports depends on what support
+ The following applies to Phonon:
+ \list
+ \o MMF Phonon backend supports video and sound playback through Symbian's
+ Multimedia Framework, MMF. Phonon's video playback may show artifacts when
+ the video is moved or resized (for instance, during device orientation
+ changes from portrait to landscape and vice versa). This problem is present
+ on S60 5th Edition and earlier versions, as well as in Symbian Anna devices.
+ \o The audio and video formats that Phonon supports depends on what support
the platform provides for MMF. The emulator is known to have limited
codec support.
-
- In addition, there exists a backend for the Helix framework. However, since
+ \o In addition, there exists a backend for the Helix framework. However, since
it is not shipped with Qt, its availability depends on the Symbian platform
in use. If the MFF plugin fails to load, the Helix plugin, if present on the
device, will be loaded instead.
+ \endlist
\section1 Hardware Accelerated Rendering
- The default graphics system on Symbian^3 is OpenVG, which uses OpenVG
+ The default graphics system on Symbian Anna is OpenVG, which uses OpenVG
hardware to accelerate \l QPainter functions. There are a few exceptions,
where Qt will use software rendering fallback.
@@ -837,17 +907,18 @@
\o Popups
\endlist
- \section1 QtOpenGL Support in Symbian
+ \section1 OpenGL Support in Symbian
- Qt 4.7 introduces the \l {QtOpenGL} module to Symbian^3. QtOpenGL is
+ Qt 4.7 introduces the \l {QtOpenGL} module. QtOpenGL is
supported on devices which support OpenGL ES 2.0. Symbian platforms prior
- to Symbian^3 are not supported.
+ to Symbian Anna (and Symbian^3) are not supported.
\l QGLWidget usage as a \l QGraphicsView viewport is not recommended on
Symbian. The OpenVG graphics system is not able to manage OpenGL graphics
resources. Also, a QGLWidget object is not able to release its GPU resources
when the application goes to the background. If OpenGL functionality is
- needed, OpenGL graphics system usage is recommended. If an application
+ needed, \l { http://doc.qt.nokia.com/4.7-snapshot/qapplication.html#setGraphicsSystem}
+ {OpenGL graphics system} usage is recommended. If an application
decides to use QGLWidget, then it is the application's responsibility to
destroy and release QGLWidget and related OpenGL resources when the
application goes to the background. Otherwise, the \l{Graphics Out Of Memory monitor}
@@ -858,7 +929,7 @@
QGLShader, and \l QGLShaderProgram are direct GPU resources and it is the
application's responsibility to manage them.
- \section1 UI Performance in devices prior to Symbian^3
+ \section1 UI Performance in S60 3rd and 5th Edition Devices
Qt uses the QPainter class to perform low-level painting on widgets and
other paint devices. QPainter provides functions to draw complex shapes,
@@ -866,11 +937,18 @@
transformations and Porter-Duff composition. If the underlying graphics
architecture does not support all of these operations then Qt uses the
raster graphics system for rendering.
-
- Most of the Symbian devices prior to Symbian^3 use a non-ScreenPlay
- graphics architecture which does not have native support for all functions
- provided by QPainter. In non-ScreenPlay devices Qt uses the raster
- graphics system by default which has a performance penalty when compared
+
+ In Symbian Anna (and Symbian^3) Qt uses hardware accelerated graphics as explained above.
+ This is enabled by \l
+ {http://library.developer.nokia.com/index.jsp?topic=/GUID-E35887BB-7E58-438C-AA27-97B2CDE7E069/GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.html}
+ {ScreenPlay Graphics Architecture} in these devices.
+
+ Most of the Symbian S60 3rd and 5th Edition devices have a
+ graphics architecture that does not have native support for all functions
+ provided by QPainter. In these \l
+ {http://library.developer.nokia.com/index.jsp?topic=/GUID-E35887BB-7E58-438C-AA27-97B2CDE7E069/GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.html}
+ {non-ScreenPlay} devices Qt uses the raster
+ graphics system by default that has a performance penalty compared
to native Symbian rendering.
In order to be able to perform all functions provided by QPainter, the
@@ -881,7 +959,8 @@
offscreen buffer is blitted to the framebuffer via Symbian Window Server.
The following table shows the rendering stacks of native Symbian and Qt in
- non-ScreenPlay devices.
+ \l {http://library.developer.nokia.com/index.jsp?topic=/GUID-E35887BB-7E58-438C-AA27-97B2CDE7E069/GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.html}
+ {non-ScreenPlay devices}.
\table
\header \o Symbian
diff --git a/doc/src/platforms/symbian-introduction.qdoc b/doc/src/platforms/symbian-introduction.qdoc
index e5d4a16..bacdbc8 100644
--- a/doc/src/platforms/symbian-introduction.qdoc
+++ b/doc/src/platforms/symbian-introduction.qdoc
@@ -42,7 +42,6 @@
\o
\list
\o \l {Qt for the Symbian platform Requirements}
- \o \l {Installing Qt for the Symbian platform from a Binary Package}
\o \l {Installing Qt for the Symbian platform}
\o \l {The Symbian platform - Introduction to Qt}{Introduction to using Qt}
\endlist
@@ -95,9 +94,6 @@
\section1 Installing Qt and Running Demos
- Follow the instructions found in \l{Installing Qt for the Symbian platform from a Binary Package}
- to learn how to install Qt using a binary package and how to build and run Qt demos.
-
Follow the instructions found in \l{Installing Qt for the Symbian platform} to learn how to install Qt using
using source package and how to build and run the Qt demos.
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_io_qsettings.cpp b/doc/src/snippets/code/src_corelib_io_qsettings.cpp
index 269aa44..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]
diff --git a/examples/activeqt/activeqt.pro b/examples/activeqt/activeqt.pro
index 79d257a..ad41a47 100644
--- a/examples/activeqt/activeqt.pro
+++ b/examples/activeqt/activeqt.pro
@@ -12,6 +12,9 @@ contains(QT_CONFIG, opengl):SUBDIRS += opengl
# For now only the contain examples with mingw, for the others you need
# an IDL compiler
win32-g++*|wince*:SUBDIRS = webbrowser
+# Due to build problems, active qt was disabled from mingw build,
+# so we have to remove the only one left
+win32-g++*:SUBDIRS =
# install
target.path = $$[QT_INSTALL_EXAMPLES]/activeqt
diff --git a/examples/dialogs/extension/finddialog.cpp b/examples/dialogs/extension/finddialog.cpp
index 2ce0391..2457a5b 100644
--- a/examples/dialogs/extension/finddialog.cpp
+++ b/examples/dialogs/extension/finddialog.cpp
@@ -104,9 +104,11 @@ FindDialog::FindDialog(QWidget *parent)
connect(backSoftKeyAction, SIGNAL(triggered()), qApp, SLOT(quit()));
addAction(backSoftKeyAction);
#else
+//! [6]
buttonBox = new QDialogButtonBox(Qt::Vertical);
buttonBox->addButton(findButton, QDialogButtonBox::ActionRole);
buttonBox->addButton(moreButton, QDialogButtonBox::ActionRole);
+//! [6]
connect(moreButton, SIGNAL(toggled(bool)), extension, SLOT(setVisible(bool)));
#endif
diff --git a/examples/examples.pro b/examples/examples.pro
index cf12dd6..0c4c9cb 100644
--- a/examples/examples.pro
+++ b/examples/examples.pro
@@ -63,7 +63,7 @@ contains(QT_CONFIG, opengl): SUBDIRS += opengl
contains(QT_CONFIG, openvg): SUBDIRS += openvg
contains(QT_CONFIG, dbus): SUBDIRS += dbus
contains(QT_CONFIG, declarative): SUBDIRS += declarative
-win32: SUBDIRS += activeqt
+win32:!win32-g++*: SUBDIRS += activeqt
contains(QT_CONFIG, xmlpatterns):!contains(QT_CONFIG, no-gui): SUBDIRS += xmlpatterns
contains(DEFINES, QT_NO_CURSOR): SUBDIRS -= mainwindows
contains(QT_CONFIG, concurrent): SUBDIRS += qtconcurrent
diff --git a/mkspecs/common/symbian/symbian.conf b/mkspecs/common/symbian/symbian.conf
index 61a6228..c50dc77 100644
--- a/mkspecs/common/symbian/symbian.conf
+++ b/mkspecs/common/symbian/symbian.conf
@@ -151,11 +151,11 @@ SYMBIAN_SUPPORTED_LANGUAGES = \
mr mo mn nb pl pt pa ro ru sr \
si sk sl so es sw sv tl ta te \
th bo ti tr tk uk ur vi cy zu \
- nn eu zh gl fa st en_US fr_BE \
- pt_BR en_CA fr_CA el_CY tr_CY \
- en_TW en_HK en_CN en_JP en_TH \
- sv_FI zh_HK es_419 en_ZA fr_CH \
- de_CH it_CH zh_TW
+ nn eu zh gl fa st en_us fr_be \
+ pt_br en_ca fr_ca el_cy tr_cy \
+ en_tw en_hk en_cn en_jp en_th \
+ sv_fi zh_hk es_419 en_za fr_ch \
+ de_ch it_ch zh_tw
# These directories must match what configure uses for QT_INSTALL_PLUGINS and QT_INSTALL_IMPORTS
QT_PLUGINS_BASE_DIR = /resource/qt$${QT_LIBINFIX}/plugins
@@ -251,7 +251,8 @@ defineTest(matchSymbianLanguages) {
# Cannot parse .ts file for language here, so detect it from filename.
# Allow two and three character language and country codes.
for(translation, TRANSLATIONS) {
- language = $$replace(translation, "^(.*/)?[^/]+_(([^_]{2,3}_)?[^_]{2,3})\\.ts$", \\2)
+ low_translation = $$lower($$translation)
+ language = $$replace(low_translation, "^(.*/)?[^/]+_(([^_]{2,3}_)?[^_]{2,3})\\.ts$", \\2)
!contains(HANDLED_LANGUAGES, $$language) {
HANDLED_LANGUAGES += $$language
# Make sure translation path is absolute or shadow builds will not work
diff --git a/mkspecs/features/symbian/localize_deployment.prf b/mkspecs/features/symbian/localize_deployment.prf
index 185c713..3e7f585 100644
--- a/mkspecs/features/symbian/localize_deployment.prf
+++ b/mkspecs/features/symbian/localize_deployment.prf
@@ -76,26 +76,26 @@ SYMBIAN_LANG.cy = 97 #Welsh
SYMBIAN_LANG.zu = 98 #Zulu
# Regional dialects
-SYMBIAN_LANG.en_US = 10 #American English
-SYMBIAN_LANG.fr_BE = 21 #Belgian French
-SYMBIAN_LANG.pt_BR = 76 #Brazilian Portuguese
-SYMBIAN_LANG.en_CA = 46 #Canadian English
-SYMBIAN_LANG.fr_CA = 51 #Canadian French
-SYMBIAN_LANG.el_CY = 55 #Cyprus Greek
-SYMBIAN_LANG.tr_CY = 91 #Cyprus Turkish
-SYMBIAN_LANG.en_TW = 157 #English as appropriate for use in Taiwan
-SYMBIAN_LANG.en_HK = 158 #English as appropriate for use in Hong Kong
-SYMBIAN_LANG.en_CN = 159 #English as appropriate for use in the Peoples Republic of China
-SYMBIAN_LANG.en_JP = 160 #English as appropriate for use in Japan
-SYMBIAN_LANG.en_TH = 161 #English as appropriate for use in Thailand
-SYMBIAN_LANG.sv_FI = 85 #Finland Swedish
-SYMBIAN_LANG.zh_HK = 30 #HongKong Chinese
+SYMBIAN_LANG.en_us = 10 #American English
+SYMBIAN_LANG.fr_be = 21 #Belgian French
+SYMBIAN_LANG.pt_br = 76 #Brazilian Portuguese
+SYMBIAN_LANG.en_ca = 46 #Canadian English
+SYMBIAN_LANG.fr_ca = 51 #Canadian French
+SYMBIAN_LANG.el_cy = 55 #Cyprus Greek
+SYMBIAN_LANG.tr_cy = 91 #Cyprus Turkish
+SYMBIAN_LANG.en_tw = 157 #English as appropriate for use in Taiwan
+SYMBIAN_LANG.en_hk = 158 #English as appropriate for use in Hong Kong
+SYMBIAN_LANG.en_cn = 159 #English as appropriate for use in the Peoples Republic of China
+SYMBIAN_LANG.en_jp = 160 #English as appropriate for use in Japan
+SYMBIAN_LANG.en_th = 161 #English as appropriate for use in Thailand
+SYMBIAN_LANG.sv_fi = 85 #Finland Swedish
+SYMBIAN_LANG.zh_hk = 30 #HongKong Chinese
SYMBIAN_LANG.es_419 = 83 #Latin American Spanish
-SYMBIAN_LANG.en_ZA = 48 #South African English
-SYMBIAN_LANG.fr_CH = 11 #Swiss French
-SYMBIAN_LANG.de_CH = 12 #Swiss German
-SYMBIAN_LANG.it_CH = 61 #Swiss Italian
-SYMBIAN_LANG.zh_TW = 29 #Taiwan Chinese
+SYMBIAN_LANG.en_za = 48 #South African English
+SYMBIAN_LANG.fr_ch = 11 #Swiss French
+SYMBIAN_LANG.de_ch = 12 #Swiss German
+SYMBIAN_LANG.it_ch = 61 #Swiss Italian
+SYMBIAN_LANG.zh_tw = 29 #Taiwan Chinese
isEmpty(SYMBIAN_MATCHED_LANGUAGES) {
matchSymbianLanguages()
diff --git a/qmake/generators/integrity/gbuild.cpp b/qmake/generators/integrity/gbuild.cpp
index f273237..f9fdb38 100644
--- a/qmake/generators/integrity/gbuild.cpp
+++ b/qmake/generators/integrity/gbuild.cpp
@@ -392,19 +392,13 @@ QString GBuildMakefileGenerator::writeOne(QString filename, QString pathtoremove
s += "\n";
} else if (filename.endsWith(Option::cpp_ext.first())) {
QString tmpstr(filename.section("/", -1));
-// QString moctool(project->values("QMAKE_MOC").first());
QString filepath(pathtoremove);
if (!project->values("QT_SOURCE_TREE").isEmpty()) {
filepath.remove(project->values("QT_SOURCE_TREE").first());
filepath.remove(0, 1);
}
-// if (!project->values("QT_BUILD_TREE").isEmpty()) {
-// moctool.remove(project->values("QT_BUILD_TREE").first());
-// moctool.remove(0, 1);
-// }
s += "\n\t:preexecShellSafe='${QT_BUILD_DIR}/bin/moc ";
-// s += moctool;
-// s += " ";
+ s += "-nn ";
s += varGlue("DEFINES", "-D", " -D", " ");
s += varGlue("INCLUDEPATH", "-I", " -I", " ");
s += filepath;
diff --git a/qmake/generators/makefiledeps.cpp b/qmake/generators/makefiledeps.cpp
index f9cbed1..4f4c1ff 100644
--- a/qmake/generators/makefiledeps.cpp
+++ b/qmake/generators/makefiledeps.cpp
@@ -568,7 +568,8 @@ bool QMakeSourceFileInfo::findDeps(SourceFile *file)
keyword_len++;
}
- if(keyword_len == 7 && !strncmp(keyword, "include", keyword_len)) {
+ if((keyword_len == 7 && !strncmp(keyword, "include", 7)) // C & Obj-C
+ || (keyword_len == 6 && !strncmp(keyword, "import", 6))) { // Obj-C
char term = *(buffer + x);
if(term == '<') {
try_local = false;
diff --git a/qmake/generators/symbian/symbiancommon.cpp b/qmake/generators/symbian/symbiancommon.cpp
index 2c4373a..8db82d6 100644
--- a/qmake/generators/symbian/symbiancommon.cpp
+++ b/qmake/generators/symbian/symbiancommon.cpp
@@ -850,6 +850,7 @@ void SymbianCommonGenerator::parseTsFiles(SymbianLocalizationList *symbianLocali
foreach (QString file, symbianTsFiles) {
QRegExp matcher(matchStr);
+ matcher.setCaseSensitivity(Qt::CaseInsensitive);
if (matcher.exactMatch(file) && parseTsContent(file, &loc))
break;
}
diff --git a/qmake/generators/win32/msbuild_objectmodel.cpp b/qmake/generators/win32/msbuild_objectmodel.cpp
index 0b201b8..bf84e60 100644
--- a/qmake/generators/win32/msbuild_objectmodel.cpp
+++ b/qmake/generators/win32/msbuild_objectmodel.cpp
@@ -653,7 +653,7 @@ void VCXProjectWriter::write(XmlOutput &xml, VCProject &tool)
<< valueTagT(tool.SingleProjects.at(i).Configuration.linker.IgnoreImportLibrary);
}
- if ( tool.SingleProjects.at(i).Configuration.linker.LinkIncremental != unset) {
+ if ( tool.SingleProjects.at(i).Configuration.linker.LinkIncremental != linkIncrementalDefault) {
const triState ts = (tool.SingleProjects.at(i).Configuration.linker.LinkIncremental == linkIncrementalYes ? _True : _False);
xml << tag("LinkIncremental")
<< attrTag("Condition", QString("'$(Configuration)|$(Platform)'=='%1'").arg(tool.SingleProjects.at(i).Configuration.Name))
diff --git a/qmake/qmake.pri b/qmake/qmake.pri
index 87735d6..c2fc1d5 100644
--- a/qmake/qmake.pri
+++ b/qmake/qmake.pri
@@ -20,6 +20,7 @@ SOURCES += project.cpp property.cpp main.cpp generators/makefile.cpp \
generators/symbian/symmake_abld.cpp \
generators/symbian/symmake_sbsv2.cpp \
generators/symbian/initprojectdeploy_symbian.cpp \
+ generators/integrity/gbuild.cpp \
windows/registry.cpp \
symbian/epocroot.cpp
@@ -36,6 +37,7 @@ HEADERS += project.h property.h generators/makefile.h \
generators/symbian/symmake_abld.h \
generators/symbian/symmake_sbsv2.h \
generators/symbian/initprojectdeploy_symbian.h \
+ generators/integrity/gbuild.h \
windows/registry_p.h \
symbian/epocroot_p.h
diff --git a/src/3rdparty/phonon/mmf/environmentalreverb.cpp b/src/3rdparty/phonon/mmf/environmentalreverb.cpp
index d4f5223..cdce6eb 100644
--- a/src/3rdparty/phonon/mmf/environmentalreverb.cpp
+++ b/src/3rdparty/phonon/mmf/environmentalreverb.cpp
@@ -164,7 +164,7 @@ bool EnvironmentalReverb::getParameters(CMdaAudioOutputStream *stream,
parameters.append(createParameter(
Diffusion, tr("Diffusion (%)"), effect->Diffusion(), 0, 100));
- //: ReflectionsDelay: Amount of delay between the arrival the direct
+ //: ReflectionsDelay: Amount of delay between the arrival of the direct
//: path from the source and the arrival of the first reflection.
parameters.append(createParameter(
ReflectionsDelay, tr("Reflections delay (ms)"),
@@ -185,7 +185,7 @@ bool EnvironmentalReverb::getParameters(CMdaAudioOutputStream *stream,
0, effect->ReverbDelayMax()));
effect->ReverbLevelRange(min, max);
- //: ReverbLevel Amplitude of reverberations. This value is
+ //: ReverbLevel: Amplitude of reverberations. This value is
//: corrected by the RoomLevel to give the final reverberation
//: amplitude.
parameters.append(createParameter(
diff --git a/src/3rdparty/phonon/phonon/volumeslider.cpp b/src/3rdparty/phonon/phonon/volumeslider.cpp
index 00970c1..5b38bae 100644
--- a/src/3rdparty/phonon/phonon/volumeslider.cpp
+++ b/src/3rdparty/phonon/phonon/volumeslider.cpp
@@ -42,7 +42,7 @@ VolumeSlider::VolumeSlider(QWidget *parent)
setToolTip(tr("Volume: %1%").arg(100));
#endif
#ifndef QT_NO_WHATSTHIS
- setWhatsThis(tr("Use this slider to adjust the volume. The leftmost position is 0%, the rightmost is %1%").arg(100));
+ setWhatsThis(tr("Use this slider to adjust the volume. The leftmost position is 0%. The rightmost is %1%").arg(100));
#endif
connect(&d->slider, SIGNAL(valueChanged(int)), SLOT(_k_sliderChanged(int)));
@@ -60,7 +60,7 @@ VolumeSlider::VolumeSlider(AudioOutput *output, QWidget *parent)
setToolTip(tr("Volume: %1%").arg(100));
#endif
#ifndef QT_NO_WHATSTHIS
- setWhatsThis(tr("Use this slider to adjust the volume. The leftmost position is 0%, the rightmost is %1%").arg(100));
+ setWhatsThis(tr("Use this slider to adjust the volume. The leftmost position is 0%. The rightmost is %1%").arg(100));
#endif
connect(&d->slider, SIGNAL(valueChanged(int)), SLOT(_k_sliderChanged(int)));
@@ -114,7 +114,7 @@ void VolumeSlider::setMaximumVolume(qreal volume)
int max = static_cast<int>(volume * 100);
k_ptr->slider.setMaximum(max);
#ifndef QT_NO_WHATSTHIS
- setWhatsThis(tr("Use this slider to adjust the volume. The leftmost position is 0%, the rightmost is %1%")
+ setWhatsThis(tr("Use this slider to adjust the volume. The leftmost position is 0%. The rightmost is %1%")
.arg(max));
#endif
}
diff --git a/src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp b/src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
index 5e0a2e6..fc9bd04 100644
--- a/src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
+++ b/src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
@@ -918,7 +918,7 @@ void FrameLoaderClientQt::committedLoad(WebCore::DocumentLoader* loader, const c
WebCore::ResourceError FrameLoaderClientQt::cancelledError(const WebCore::ResourceRequest& request)
{
ResourceError error = ResourceError("QtNetwork", QNetworkReply::OperationCanceledError, request.url().prettyURL(),
- QCoreApplication::translate("QWebFrame", "Request cancelled", 0, QCoreApplication::UnicodeUTF8));
+ QCoreApplication::translate("QWebFrame", "Request canceled", 0, QCoreApplication::UnicodeUTF8));
error.setIsCancellation(true);
return error;
}
diff --git a/src/corelib/global/qconfig-minimal.h b/src/corelib/global/qconfig-minimal.h
index ace1eea..1035631 100644
--- a/src/corelib/global/qconfig-minimal.h
+++ b/src/corelib/global/qconfig-minimal.h
@@ -324,9 +324,6 @@
#ifndef QT_NO_QWSEMBEDWIDGET
# define QT_NO_QWSEMBEDWIDGET
#endif
-#ifndef QT_NO_QWS_ALPHA_CURSOR
-# define QT_NO_QWS_ALPHA_CURSOR
-#endif
#ifndef QT_NO_QWS_CURSOR
# define QT_NO_QWS_CURSOR
#endif
diff --git a/src/corelib/global/qconfig-nacl.h b/src/corelib/global/qconfig-nacl.h
index 18ae261..5aefdfe 100644
--- a/src/corelib/global/qconfig-nacl.h
+++ b/src/corelib/global/qconfig-nacl.h
@@ -247,9 +247,6 @@
#ifndef QT_NO_QWSEMBEDWIDGET
# define QT_NO_QWSEMBEDWIDGET
#endif
-#ifndef QT_NO_QWS_ALPHA_CURSOR
-# define QT_NO_QWS_ALPHA_CURSOR
-#endif
#ifndef QT_NO_QWS_CURSOR
# define QT_NO_QWS_CURSOR
#endif
diff --git a/src/corelib/global/qfeatures.h b/src/corelib/global/qfeatures.h
index e0b8a8f..64d5f08 100644
--- a/src/corelib/global/qfeatures.h
+++ b/src/corelib/global/qfeatures.h
@@ -178,9 +178,6 @@
// QWSEmbedWidget
//#define QT_NO_QWSEMBEDWIDGET
-// Alpha Cursor
-//#define QT_NO_QWS_ALPHA_CURSOR
-
// Decoration
//#define QT_NO_QWS_DECORATION_DEFAULT
diff --git a/src/corelib/global/qfeatures.txt b/src/corelib/global/qfeatures.txt
index 6b861d4..dea05e0 100644
--- a/src/corelib/global/qfeatures.txt
+++ b/src/corelib/global/qfeatures.txt
@@ -1268,13 +1268,6 @@ Requires: CURSOR
Name: Cursor
SeeAlso: ???
-Feature: QWS_ALPHA_CURSOR
-Description: Supports alpha-blended cursors.
-Section: Qt for Embedded Linux
-Requires:
-Name: Alpha Cursor
-SeeAlso: ???
-
Feature: QWS_MANAGER
Description: Supports the window manager.
Section: Qt for Embedded Linux
diff --git a/src/corelib/io/qdir.cpp b/src/corelib/io/qdir.cpp
index 4ba8e06..48b9358 100644
--- a/src/corelib/io/qdir.cpp
+++ b/src/corelib/io/qdir.cpp
@@ -1872,7 +1872,10 @@ QString QDir::currentPath()
Under non-Windows operating systems the \c HOME environment
variable is used if it exists, otherwise the path returned by the
- rootPath(). On Symbian always the same as the path returned by the rootPath().
+ rootPath().
+
+ On Symbian this typically returns "c:/data",
+ i.e. the same as native PathInfo::PhoneMemoryRootPath().
\sa home(), currentPath(), rootPath(), tempPath()
*/
@@ -1936,9 +1939,8 @@ QString QDir::tempPath()
/*!
Returns the absolute path of the root directory.
- For Unix operating systems this returns "/". For Windows file
- systems this normally returns "c:/". On Symbian this typically returns
- "c:/data", i.e. the same as native PathInfo::PhoneMemoryRootPath().
+ For Unix operating systems this returns "/". For Windows and Symbian file
+ systems this normally returns "c:/". I.E. the root of the system drive.
\sa root(), drives(), currentPath(), homePath(), tempPath()
*/
diff --git a/src/corelib/io/qfile.cpp b/src/corelib/io/qfile.cpp
index 06c403a..d08574d 100644
--- a/src/corelib/io/qfile.cpp
+++ b/src/corelib/io/qfile.cpp
@@ -1332,6 +1332,13 @@ bool QFile::open(const RFile &f, OpenMode mode, FileHandleFlags handleFlags)
This function is not supported on Windows CE.
+ On Symbian, this function returns -1 if the file was opened normally,
+ as Symbian OS native file handles do not fit in an int, and are
+ incompatible with C library functions that the handle would be used for.
+ If the file was opened using the overloads that take an open C library
+ file handle / file descriptor, then this function returns that same
+ handle.
+
\sa QSocketNotifier
*/
diff --git a/src/corelib/io/qfilesystemengine_win.cpp b/src/corelib/io/qfilesystemengine_win.cpp
index 031d64b..28a7267 100644
--- a/src/corelib/io/qfilesystemengine_win.cpp
+++ b/src/corelib/io/qfilesystemengine_win.cpp
@@ -692,7 +692,7 @@ bool QFileSystemEngine::fillPermissions(const QFileSystemEntry &entry, QFileSyst
if (what & QFileSystemMetaData::UserWritePermission) {
if (::_waccess((wchar_t*)entry.nativeFilePath().utf16(), W_OK) == 0)
data.entryFlags |= QFileSystemMetaData::UserWritePermission;
- data.knownFlagsMask |= QFileSystemMetaData::UserReadPermission;
+ data.knownFlagsMask |= QFileSystemMetaData::UserWritePermission;
}
}
@@ -1094,7 +1094,6 @@ QFileSystemEntry QFileSystemEngine::currentPath()
if (ret.length() >= 2 && ret[1] == QLatin1Char(':'))
ret[0] = ret.at(0).toUpper(); // Force uppercase drive letters.
#else
- Q_UNUSED(fileName);
//TODO - a race condition exists when using currentPath / setCurrentPath from multiple threads
if (qfsPrivateCurrentDir.isEmpty())
qfsPrivateCurrentDir = QCoreApplication::applicationDirPath();
diff --git a/src/corelib/io/qfilesystemwatcher_symbian.cpp b/src/corelib/io/qfilesystemwatcher_symbian.cpp
index 63cc4f1..fa857c6 100644
--- a/src/corelib/io/qfilesystemwatcher_symbian.cpp
+++ b/src/corelib/io/qfilesystemwatcher_symbian.cpp
@@ -52,7 +52,7 @@
QT_BEGIN_NAMESPACE
QNotifyChangeEvent::QNotifyChangeEvent(RFs &fs, const TDesC &file,
- QSymbianFileSystemWatcherEngine *e, bool aIsDir,
+ QSymbianFileSystemWatcherInterface *e, bool aIsDir,
TInt aPriority) :
CActive(aPriority),
isDir(aIsDir),
@@ -96,9 +96,9 @@ void QNotifyChangeEvent::RunL()
if (!failureCount) {
int err;
- QT_TRYCATCH_ERROR(err, engine->emitPathChanged(this));
+ QT_TRYCATCH_ERROR(err, engine->handlePathChanged(this));
if (err != KErrNone)
- qWarning("QNotifyChangeEvent::RunL() - emitPathChanged threw exception (Converted error code: %d)", err);
+ qWarning("QNotifyChangeEvent::RunL() - handlePathChanged threw exception (Converted error code: %d)", err);
}
}
}
@@ -203,7 +203,7 @@ QStringList QSymbianFileSystemWatcherEngine::removePaths(const QStringList &path
return p;
}
-void QSymbianFileSystemWatcherEngine::emitPathChanged(QNotifyChangeEvent *e)
+void QSymbianFileSystemWatcherEngine::handlePathChanged(QNotifyChangeEvent *e)
{
QMutexLocker locker(&mutex);
@@ -255,7 +255,7 @@ void QSymbianFileSystemWatcherEngine::addNativeListener(const QString &directory
QMutexLocker locker(&mutex);
QString nativeDir(QDir::toNativeSeparators(directoryPath));
TPtrC ptr(qt_QString2TPtrC(nativeDir));
- currentAddEvent = new QNotifyChangeEvent(qt_s60GetRFs(), ptr, this, directoryPath.endsWith(QChar(L'/'), Qt::CaseSensitive));
+ currentAddEvent = q_check_ptr(new QNotifyChangeEvent(qt_s60GetRFs(), ptr, this, directoryPath.endsWith(QChar(L'/'))));
syncCondition.wakeOne();
}
diff --git a/src/corelib/io/qfilesystemwatcher_symbian_p.h b/src/corelib/io/qfilesystemwatcher_symbian_p.h
index 0b317a0..842df80 100644
--- a/src/corelib/io/qfilesystemwatcher_symbian_p.h
+++ b/src/corelib/io/qfilesystemwatcher_symbian_p.h
@@ -66,29 +66,35 @@
QT_BEGIN_NAMESPACE
-class QSymbianFileSystemWatcherEngine;
+class QSymbianFileSystemWatcherInterface;
class QNotifyChangeEvent : public CActive
{
public:
- QNotifyChangeEvent(RFs &fsSession, const TDesC &file, QSymbianFileSystemWatcherEngine *engine,
+ QNotifyChangeEvent(RFs &fsSession, const TDesC &file, QSymbianFileSystemWatcherInterface *engine,
bool aIsDir, TInt aPriority = EPriorityStandard);
~QNotifyChangeEvent();
bool isDir;
+ TPath watchedPath;
private:
void RunL();
void DoCancel();
RFs &fsSession;
- TPath watchedPath;
- QSymbianFileSystemWatcherEngine *engine;
+ QSymbianFileSystemWatcherInterface *engine;
int failureCount;
};
-class QSymbianFileSystemWatcherEngine : public QFileSystemWatcherEngine
+class QSymbianFileSystemWatcherInterface
+{
+public:
+ virtual void handlePathChanged(QNotifyChangeEvent *e) = 0;
+};
+
+class QSymbianFileSystemWatcherEngine : public QFileSystemWatcherEngine, public QSymbianFileSystemWatcherInterface
{
Q_OBJECT
@@ -111,7 +117,7 @@ public Q_SLOTS:
private:
friend class QNotifyChangeEvent;
- void emitPathChanged(QNotifyChangeEvent *e);
+ void handlePathChanged(QNotifyChangeEvent *e);
void startWatcher();
diff --git a/src/corelib/io/qprocess.cpp b/src/corelib/io/qprocess.cpp
index e900663..d70811c 100644
--- a/src/corelib/io/qprocess.cpp
+++ b/src/corelib/io/qprocess.cpp
@@ -2281,7 +2281,7 @@ QT_END_INCLUDE_NAMESPACE
However, note that repeated calls to this function will recreate the
list of environment variables, which is a non-trivial operation.
- \note For new code, it is recommended to use QProcessEvironment::systemEnvironment()
+ \note For new code, it is recommended to use QProcessEnvironment::systemEnvironment()
\sa QProcessEnvironment::systemEnvironment(), environment(), setEnvironment()
*/
diff --git a/src/corelib/kernel/qcore_symbian_p.cpp b/src/corelib/kernel/qcore_symbian_p.cpp
index 04acfb0..57ae2af 100644
--- a/src/corelib/kernel/qcore_symbian_p.cpp
+++ b/src/corelib/kernel/qcore_symbian_p.cpp
@@ -45,6 +45,7 @@
#include "qcore_symbian_p.h"
#include <string>
#include <in_sock.h>
+#include "qdebug.h"
QT_BEGIN_NAMESPACE
@@ -115,6 +116,24 @@ public:
QS60RFsSession() {
qt_symbian_throwIfError(iFs.Connect());
qt_symbian_throwIfError(iFs.ShareProtected());
+ //BC with 4.7: create private path on system drive
+ TInt sysdrive = iFs.GetSystemDrive();
+ TInt err = iFs.CreatePrivatePath(sysdrive);
+ if (err != KErrNone && err != KErrAlreadyExists)
+ qWarning("Failed to create private path on system drive.");
+ //BC with 4.7: set working directory to same drive as application
+ TFileName pfn = RProcess().FileName();
+ TInt drive;
+ if (pfn.Length() > 0 && iFs.CharToDrive(pfn[0], drive) == KErrNone) {
+ // for system drive or rom based apps, leave the path on system drive
+ if (drive != sysdrive && drive != EDriveZ) {
+ err = iFs.CreatePrivatePath(drive);
+ if (err == KErrNone || err == KErrAlreadyExists)
+ iFs.SetSessionToPrivate(drive);
+ else
+ qWarning("Failed to create private path on application drive.");
+ }
+ }
}
~QS60RFsSession() {
diff --git a/src/corelib/kernel/qcoreapplication.cpp b/src/corelib/kernel/qcoreapplication.cpp
index 752bbaa..2eb68f7 100644
--- a/src/corelib/kernel/qcoreapplication.cpp
+++ b/src/corelib/kernel/qcoreapplication.cpp
@@ -1991,12 +1991,6 @@ QString QCoreApplication::applicationDirPath()
appPath = qt_TDesC2QString(privatePath);
appPath.prepend(QLatin1Char(':')).prepend(qDriveChar);
- // Create the appPath if it doesn't exist. Non-existing appPath will cause
- // Platform Security violations later on if the app doesn't have AllFiles capability.
- err = fs.CreatePrivatePath(drive);
- if (err != KErrNone)
- qWarning("QCoreApplication::applicationDirPath: Failed to create private path.");
-
d->cachedApplicationDirPath = QFileInfo(appPath).path();
}
#else
@@ -2335,6 +2329,33 @@ QString QCoreApplication::applicationVersion()
#ifndef QT_NO_LIBRARY
+#if defined(Q_OS_SYMBIAN)
+void qt_symbian_installLibraryPaths(QString installPathPlugins, QStringList& libPaths)
+{
+ // Add existing path on all drives for relative PluginsPath in Symbian
+ QString tempPath = installPathPlugins;
+ if (tempPath.at(tempPath.length() - 1) != QDir::separator()) {
+ tempPath += QDir::separator();
+ }
+ RFs& fs = qt_s60GetRFs();
+ TPtrC tempPathPtr(reinterpret_cast<const TText*> (tempPath.constData()));
+ // Symbian searches should start from Y:. Fix start drive otherwise TFindFile starts from the session drive
+ _LIT(KStartDir, "Y:");
+ TFileName dirPath(KStartDir);
+ dirPath.Append(tempPathPtr);
+ TFindFile finder(fs);
+ TInt err = finder.FindByDir(tempPathPtr, dirPath);
+ while (err == KErrNone) {
+ QString foundDir(reinterpret_cast<const QChar *>(finder.File().Ptr()),
+ finder.File().Length());
+ foundDir = QDir(foundDir).canonicalPath();
+ if (!libPaths.contains(foundDir))
+ libPaths.append(foundDir);
+ err = finder.Find();
+ }
+}
+#endif
+
Q_GLOBAL_STATIC_WITH_ARGS(QMutex, libraryPathMutex, (QMutex::Recursive))
/*!
@@ -2367,24 +2388,8 @@ QStringList QCoreApplication::libraryPaths()
QStringList *app_libpaths = coreappdata()->app_libpaths = new QStringList;
QString installPathPlugins = QLibraryInfo::location(QLibraryInfo::PluginsPath);
#if defined(Q_OS_SYMBIAN)
- // Add existing path on all drives for relative PluginsPath in Symbian
if (installPathPlugins.at(1) != QChar(QLatin1Char(':'))) {
- QString tempPath = installPathPlugins;
- if (tempPath.at(tempPath.length() - 1) != QDir::separator()) {
- tempPath += QDir::separator();
- }
- RFs& fs = qt_s60GetRFs();
- TPtrC tempPathPtr(reinterpret_cast<const TText*> (tempPath.constData()));
- TFindFile finder(fs);
- TInt err = finder.FindByDir(tempPathPtr, tempPathPtr);
- while (err == KErrNone) {
- QString foundDir(reinterpret_cast<const QChar *>(finder.File().Ptr()),
- finder.File().Length());
- foundDir = QDir(foundDir).canonicalPath();
- if (!app_libpaths->contains(foundDir))
- app_libpaths->append(foundDir);
- err = finder.Find();
- }
+ qt_symbian_installLibraryPaths(installPathPlugins, *app_libpaths);
}
#else
if (QFile::exists(installPathPlugins)) {
@@ -2499,6 +2504,36 @@ void QCoreApplication::removeLibraryPath(const QString &path)
QFactoryLoader::refreshAll();
}
+#if defined(Q_OS_SYMBIAN)
+void QCoreApplicationPrivate::rebuildInstallLibraryPaths()
+{
+ // check there is not a single fixed install path
+ QString nativeInstallPathPlugins = QLibraryInfo::location(QLibraryInfo::PluginsPath);
+ if (nativeInstallPathPlugins.at(1) == QChar(QLatin1Char(':')))
+ return;
+ QString installPathPlugins = QDir::cleanPath(nativeInstallPathPlugins);
+ // look for the install path at the drive roots
+ installPathPlugins.prepend(QChar(QLatin1Char(':')));
+
+ QMutexLocker locker(libraryPathMutex());
+ QStringList &app_libpaths = *coreappdata()->app_libpaths;
+ // Build a new library path, copying non-installPath components, and replacing existing install path with new
+ QStringList newPaths;
+ bool installPathFound = false;
+ foreach (QString path, app_libpaths) {
+ if (path.mid(1).compare(installPathPlugins, Qt::CaseInsensitive) == 0) {
+ // skip existing install paths, insert new install path when we find the first
+ if (!installPathFound)
+ qt_symbian_installLibraryPaths(nativeInstallPathPlugins, newPaths);
+ installPathFound = true;
+ } else {
+ newPaths.append(path);
+ }
+ }
+ app_libpaths = newPaths;
+}
+#endif
+
#endif //QT_NO_LIBRARY
/*!
diff --git a/src/corelib/kernel/qcoreapplication_p.h b/src/corelib/kernel/qcoreapplication_p.h
index c6c6489..6f75da3 100644
--- a/src/corelib/kernel/qcoreapplication_p.h
+++ b/src/corelib/kernel/qcoreapplication_p.h
@@ -126,6 +126,9 @@ public:
void symbianInit();
# endif
static CApaCommandLine* symbianCommandLine();
+#ifndef QT_NO_LIBRARY
+ static void rebuildInstallLibraryPaths();
+#endif
#endif
static bool isTranslatorInstalled(QTranslator *translator);
diff --git a/src/corelib/kernel/qcoreevent.h b/src/corelib/kernel/qcoreevent.h
index 281367b..f1a0407 100644
--- a/src/corelib/kernel/qcoreevent.h
+++ b/src/corelib/kernel/qcoreevent.h
@@ -209,8 +209,8 @@ public:
// last event id used = 132
#ifdef QT_KEYPAD_NAVIGATION
- EnterEditFocus = 150, // enter edit mode in keypad navigation
- LeaveEditFocus = 151, // enter edit mode in keypad navigation
+ EnterEditFocus = 150, // enter edit mode in keypad navigation (Defined only with QT_KEYPAD_NAVIGATION)
+ LeaveEditFocus = 151, // leave edit mode in keypad navigation (Defined only with QT_KEYPAD_NAVIGATION)
#endif
AcceptDropsChange = 152,
diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp
index 67dbadb..5d6e4d7 100644
--- a/src/corelib/kernel/qobject.cpp
+++ b/src/corelib/kernel/qobject.cpp
@@ -3002,7 +3002,7 @@ bool QObject::disconnect(const QObject *sender, const QMetaMethod &signal,
}
const void *cbdata[] = { sender, signal.mobj ? signalSignature.constData() : 0,
receiver, method.mobj ? methodSignature.constData() : 0 };
- if (QInternal::activateCallbacks(QInternal::ConnectCallback, (void **) cbdata))
+ if (QInternal::activateCallbacks(QInternal::DisconnectCallback, (void **) cbdata))
return true;
}
diff --git a/src/corelib/plugin/qfactoryloader.cpp b/src/corelib/plugin/qfactoryloader.cpp
index c8831e5..24b4be0 100644
--- a/src/corelib/plugin/qfactoryloader.cpp
+++ b/src/corelib/plugin/qfactoryloader.cpp
@@ -50,8 +50,13 @@
#include "qmutex.h"
#include "qplugin.h"
#include "qpluginloader.h"
+#include "qlibraryinfo.h"
#include "private/qobject_p.h"
#include "private/qcoreapplication_p.h"
+#ifdef Q_OS_SYMBIAN
+#include "private/qcore_symbian_p.h"
+#include "private/qfilesystemwatcher_symbian_p.h"
+#endif
QT_BEGIN_NAMESPACE
@@ -59,6 +64,23 @@ Q_GLOBAL_STATIC(QList<QFactoryLoader *>, qt_factory_loaders)
Q_GLOBAL_STATIC_WITH_ARGS(QMutex, qt_factoryloader_mutex, (QMutex::Recursive))
+#ifdef Q_OS_SYMBIAN
+class QSymbianSystemPluginWatcher : public QSymbianFileSystemWatcherInterface
+{
+public:
+ QSymbianSystemPluginWatcher();
+ ~QSymbianSystemPluginWatcher();
+
+ void watchForUpdates();
+ void handlePathChanged(QNotifyChangeEvent *e);
+
+ QList<QNotifyChangeEvent*> watchers;
+ TDriveList drives;
+};
+
+Q_GLOBAL_STATIC(QSymbianSystemPluginWatcher, qt_symbian_system_plugin_watcher)
+#endif
+
class QFactoryLoaderPrivate : public QObjectPrivate
{
Q_DECLARE_PUBLIC(QFactoryLoader)
@@ -98,102 +120,117 @@ QFactoryLoader::QFactoryLoader(const char *iid,
QMutexLocker locker(qt_factoryloader_mutex());
update();
qt_factory_loaders()->append(this);
+#ifdef Q_OS_SYMBIAN
+ // kick off Symbian plugin watcher for updates
+ qt_symbian_system_plugin_watcher();
+#endif
}
-
-void QFactoryLoader::update()
+void QFactoryLoader::updateDir(const QString &pluginDir, QSettings& settings)
{
-#ifdef QT_SHARED
Q_D(QFactoryLoader);
- QStringList paths = QCoreApplication::libraryPaths();
- QSettings settings(QSettings::UserScope, QLatin1String("Trolltech"));
- for (int i = 0; i < paths.count(); ++i) {
- const QString &pluginDir = paths.at(i);
- // Already loaded, skip it...
- if (d->loadedPaths.contains(pluginDir))
- continue;
- d->loadedPaths << pluginDir;
+ QString path = pluginDir + d->suffix;
+ if (!QDir(path).exists(QLatin1String(".")))
+ return;
- QString path = pluginDir + d->suffix;
- if (!QDir(path).exists(QLatin1String(".")))
- continue;
+ QStringList plugins = QDir(path).entryList(QDir::Files);
+ QLibraryPrivate *library = 0;
+ for (int j = 0; j < plugins.count(); ++j) {
+ QString fileName = QDir::cleanPath(path + QLatin1Char('/') + plugins.at(j));
- QStringList plugins = QDir(path).entryList(QDir::Files);
- QLibraryPrivate *library = 0;
- for (int j = 0; j < plugins.count(); ++j) {
- QString fileName = QDir::cleanPath(path + QLatin1Char('/') + plugins.at(j));
+ if (qt_debug_component()) {
+ qDebug() << "QFactoryLoader::QFactoryLoader() looking at" << fileName;
+ }
+ library = QLibraryPrivate::findOrCreate(QFileInfo(fileName).canonicalFilePath());
+ if (!library->isPlugin(&settings)) {
if (qt_debug_component()) {
- qDebug() << "QFactoryLoader::QFactoryLoader() looking at" << fileName;
+ qDebug() << library->errorString;
+ qDebug() << " not a plugin";
}
- library = QLibraryPrivate::findOrCreate(QFileInfo(fileName).canonicalFilePath());
- if (!library->isPlugin(&settings)) {
+ library->release();
+ continue;
+ }
+ QString regkey = QString::fromLatin1("Qt Factory Cache %1.%2/%3:/%4")
+ .arg((QT_VERSION & 0xff0000) >> 16)
+ .arg((QT_VERSION & 0xff00) >> 8)
+ .arg(QLatin1String(d->iid))
+ .arg(fileName);
+ QStringList reg, keys;
+ reg = settings.value(regkey).toStringList();
+ if (reg.count() && library->lastModified == reg[0]) {
+ keys = reg;
+ keys.removeFirst();
+ } else {
+ if (!library->loadPlugin()) {
if (qt_debug_component()) {
qDebug() << library->errorString;
- qDebug() << " not a plugin";
+ qDebug() << " could not load";
}
library->release();
continue;
}
- QString regkey = QString::fromLatin1("Qt Factory Cache %1.%2/%3:/%4")
- .arg((QT_VERSION & 0xff0000) >> 16)
- .arg((QT_VERSION & 0xff00) >> 8)
- .arg(QLatin1String(d->iid))
- .arg(fileName);
- QStringList reg, keys;
- reg = settings.value(regkey).toStringList();
- if (reg.count() && library->lastModified == reg[0]) {
- keys = reg;
- keys.removeFirst();
- } else {
- if (!library->loadPlugin()) {
- if (qt_debug_component()) {
- qDebug() << library->errorString;
- qDebug() << " could not load";
- }
- library->release();
- continue;
- }
- QObject *instance = library->instance();
- if (!instance) {
- library->release();
- // ignore plugins that have a valid signature but cannot be loaded.
- continue;
- }
- QFactoryInterface *factory = qobject_cast<QFactoryInterface*>(instance);
- if (instance && factory && instance->qt_metacast(d->iid))
- keys = factory->keys();
- if (keys.isEmpty())
- library->unload();
- reg.clear();
- reg << library->lastModified;
- reg += keys;
- settings.setValue(regkey, reg);
- }
- if (qt_debug_component()) {
- qDebug() << "keys" << keys;
- }
-
- if (keys.isEmpty()) {
+ QObject *instance = library->instance();
+ if (!instance) {
library->release();
+ // ignore plugins that have a valid signature but cannot be loaded.
continue;
}
- d->libraryList += library;
- for (int k = 0; k < keys.count(); ++k) {
- // first come first serve, unless the first
- // library was built with a future Qt version,
- // whereas the new one has a Qt version that fits
- // better
- QString key = keys.at(k);
- if (!d->cs)
- key = key.toLower();
- QLibraryPrivate *previous = d->keyMap.value(key);
- if (!previous || (previous->qt_version > QT_VERSION && library->qt_version <= QT_VERSION)) {
- d->keyMap[key] = library;
- d->keyList += keys.at(k);
- }
+ QFactoryInterface *factory = qobject_cast<QFactoryInterface*>(instance);
+ if (instance && factory && instance->qt_metacast(d->iid))
+ keys = factory->keys();
+ if (keys.isEmpty())
+ library->unload();
+ reg.clear();
+ reg << library->lastModified;
+ reg += keys;
+ settings.setValue(regkey, reg);
+ }
+ if (qt_debug_component()) {
+ qDebug() << "keys" << keys;
+ }
+
+ if (keys.isEmpty()) {
+ library->release();
+ continue;
+ }
+
+ int keysUsed = 0;
+ for (int k = 0; k < keys.count(); ++k) {
+ // first come first serve, unless the first
+ // library was built with a future Qt version,
+ // whereas the new one has a Qt version that fits
+ // better
+ QString key = keys.at(k);
+ if (!d->cs)
+ key = key.toLower();
+ QLibraryPrivate *previous = d->keyMap.value(key);
+ if (!previous || (previous->qt_version > QT_VERSION && library->qt_version <= QT_VERSION)) {
+ d->keyMap[key] = library;
+ d->keyList += keys.at(k);
+ keysUsed++;
}
}
+ if (keysUsed)
+ d->libraryList += library;
+ else
+ library->release();
+ }
+}
+
+void QFactoryLoader::update()
+{
+#ifdef QT_SHARED
+ Q_D(QFactoryLoader);
+ QStringList paths = QCoreApplication::libraryPaths();
+ QSettings settings(QSettings::UserScope, QLatin1String("Trolltech"));
+ for (int i = 0; i < paths.count(); ++i) {
+ const QString &pluginDir = paths.at(i);
+ // Already loaded, skip it...
+ if (d->loadedPaths.contains(pluginDir))
+ continue;
+ d->loadedPaths << pluginDir;
+ updateDir(pluginDir, settings);
}
#else
Q_D(QFactoryLoader);
@@ -264,6 +301,56 @@ void QFactoryLoader::refreshAll()
}
}
+#ifdef Q_OS_SYMBIAN
+QSymbianSystemPluginWatcher::QSymbianSystemPluginWatcher()
+{
+ qt_s60GetRFs().DriveList(drives);
+ watchForUpdates();
+}
+
+QSymbianSystemPluginWatcher::~QSymbianSystemPluginWatcher()
+{
+ qDeleteAll(watchers);
+}
+
+void QSymbianSystemPluginWatcher::watchForUpdates()
+{
+ QString installPathPlugins = QLibraryInfo::location(QLibraryInfo::PluginsPath);
+ if (installPathPlugins.at(1) == QChar(QLatin1Char(':')))
+ return;
+
+ installPathPlugins.prepend(QLatin1String("?:"));
+ installPathPlugins = QDir::toNativeSeparators(installPathPlugins);
+ RFs& fs = qt_s60GetRFs();
+ for (int i=0; i<KMaxDrives; i++) {
+ int attr = drives[i];
+ if ((attr & KDriveAttLocal) && !(attr & KDriveAttRom)) {
+ // start new watcher
+ TChar driveLetter;
+ fs.DriveToChar(i, driveLetter);
+ installPathPlugins[0] = driveLetter;
+ TPtrC ptr(qt_QString2TPtrC(installPathPlugins));
+ QNotifyChangeEvent *event = q_check_ptr(new QNotifyChangeEvent(fs, ptr, this, true));
+ watchers.push_back(event);
+ }
+ }
+}
+
+void QSymbianSystemPluginWatcher::handlePathChanged(QNotifyChangeEvent *e)
+{
+ QCoreApplicationPrivate::rebuildInstallLibraryPaths();
+ QMutexLocker locker(qt_factoryloader_mutex());
+ QString dirName(QDir::cleanPath(qt_TDesC2QString(e->watchedPath)));
+ QList<QFactoryLoader *> *loaders = qt_factory_loaders();
+ for (QList<QFactoryLoader *>::const_iterator it = loaders->constBegin();
+ it != loaders->constEnd(); ++it) {
+ QSettings settings(QSettings::UserScope, QLatin1String("Trolltech"));
+ (*it)->updateDir(dirName, settings);
+ }
+}
+
+#endif
+
QT_END_NAMESPACE
#endif // QT_NO_LIBRARY
diff --git a/src/corelib/plugin/qfactoryloader_p.h b/src/corelib/plugin/qfactoryloader_p.h
index e90ebf6..8548ab2 100644
--- a/src/corelib/plugin/qfactoryloader_p.h
+++ b/src/corelib/plugin/qfactoryloader_p.h
@@ -82,6 +82,7 @@ public:
#endif
void update();
+ void updateDir(const QString &pluginDir, QSettings& settings);
static void refreshAll();
};
diff --git a/src/corelib/plugin/qpluginloader.cpp b/src/corelib/plugin/qpluginloader.cpp
index bbb64e4..9f9ea1a 100644
--- a/src/corelib/plugin/qpluginloader.cpp
+++ b/src/corelib/plugin/qpluginloader.cpp
@@ -198,7 +198,7 @@ QPluginLoader::~QPluginLoader()
*/
QObject *QPluginLoader::instance()
{
- if (!isLoaded() && !load())
+ if (!load())
return 0;
if (!d->inst && d->instance)
d->inst = d->instance();
diff --git a/src/corelib/statemachine/qfinalstate.cpp b/src/corelib/statemachine/qfinalstate.cpp
index c583c32..7d65984 100644
--- a/src/corelib/statemachine/qfinalstate.cpp
+++ b/src/corelib/statemachine/qfinalstate.cpp
@@ -80,7 +80,7 @@ QT_BEGIN_NAMESPACE
machine.start();
\endcode
- \sa QStateMachine::finished(), QState::finished()
+ \sa QState::finished()
*/
class QFinalStatePrivate : public QAbstractStatePrivate
diff --git a/src/corelib/tools/qline.cpp b/src/corelib/tools/qline.cpp
index 0f67652..9c7c243 100644
--- a/src/corelib/tools/qline.cpp
+++ b/src/corelib/tools/qline.cpp
@@ -302,10 +302,15 @@ QDataStream &operator>>(QDataStream &stream, QLine &line)
#endif // QT_NO_DATASTREAM
+inline static qreal q_deg2rad(qreal x)
+{
+ return x * qreal(0.01745329251994329576923690768489); /* pi/180 */
+}
-#ifndef M_2PI
-#define M_2PI 6.28318530717958647692528676655900576
-#endif
+inline static qreal q_rad2deg(qreal x)
+{
+ return x * qreal(57.295779513082320876798154814105); /* 180/pi */
+}
/*!
\class QLineF
@@ -575,7 +580,7 @@ qreal QLineF::angle() const
const qreal dx = pt2.x() - pt1.x();
const qreal dy = pt2.y() - pt1.y();
- const qreal theta = qAtan2(-dy, dx) * 360.0 / M_2PI;
+ const qreal theta = q_rad2deg(qAtan2(-dy, dx));
const qreal theta_normalized = theta < 0 ? theta + 360 : theta;
@@ -599,7 +604,7 @@ qreal QLineF::angle() const
*/
void QLineF::setAngle(qreal angle)
{
- const qreal angleR = angle * M_2PI / 360.0;
+ const qreal angleR = q_deg2rad(angle);
const qreal l = length();
const qreal dx = qCos(angleR) * l;
@@ -621,7 +626,7 @@ void QLineF::setAngle(qreal angle)
*/
QLineF QLineF::fromPolar(qreal length, qreal angle)
{
- const qreal angleR = angle * M_2PI / 360.0;
+ const qreal angleR = q_deg2rad(angle);
return QLineF(0, 0, qCos(angleR) * length, -qSin(angleR) * length);
}
@@ -815,8 +820,8 @@ qreal QLineF::angle(const QLineF &l) const
qreal cos_line = (dx()*l.dx() + dy()*l.dy()) / (length()*l.length());
qreal rad = 0;
// only accept cos_line in the range [-1,1], if it is outside, use 0 (we return 0 rather than PI for those cases)
- if (cos_line >= -1.0 && cos_line <= 1.0) rad = qAcos( cos_line );
- return rad * 360 / M_2PI;
+ if (cos_line >= qreal(-1.0) && cos_line <= qreal(1.0)) rad = qAcos( cos_line );
+ return q_rad2deg(rad);
}
diff --git a/src/declarative/debugger/debugger.pri b/src/declarative/debugger/debugger.pri
index 3134c79..c81968e 100644
--- a/src/declarative/debugger/debugger.pri
+++ b/src/declarative/debugger/debugger.pri
@@ -5,13 +5,14 @@ SOURCES += \
$$PWD/qpacketprotocol.cpp \
$$PWD/qdeclarativedebugservice.cpp \
$$PWD/qdeclarativedebugclient.cpp \
- $$PWD/qdeclarativedebug.cpp \
+ $$PWD/qdeclarativeenginedebug.cpp \
$$PWD/qdeclarativedebugtrace.cpp \
$$PWD/qdeclarativedebughelper.cpp \
$$PWD/qdeclarativedebugserver.cpp \
$$PWD/qdeclarativeinspectorservice.cpp \
$$PWD/qjsdebuggeragent.cpp \
- $$PWD/qjsdebugservice.cpp
+ $$PWD/qjsdebugservice.cpp \
+ $$PWD/qdeclarativeenginedebugservice.cpp
HEADERS += \
$$PWD/qdeclarativedebuggerstatus_p.h \
@@ -19,7 +20,7 @@ HEADERS += \
$$PWD/qdeclarativedebugservice_p.h \
$$PWD/qdeclarativedebugservice_p_p.h \
$$PWD/qdeclarativedebugclient_p.h \
- $$PWD/qdeclarativedebug_p.h \
+ $$PWD/qdeclarativeenginedebug_p.h \
$$PWD/qdeclarativedebugtrace_p.h \
$$PWD/qdeclarativedebughelper_p.h \
$$PWD/qdeclarativedebugserver_p.h \
@@ -27,4 +28,6 @@ HEADERS += \
$$PWD/qdeclarativeinspectorservice_p.h \
$$PWD/qdeclarativeinspectorinterface_p.h \
$$PWD/qjsdebuggeragent_p.h \
- $$PWD/qjsdebugservice_p.h
+ $$PWD/qjsdebugservice_p.h \
+ $$PWD/qdeclarativedebug.h \
+ $$PWD/qdeclarativeenginedebugservice_p.h
diff --git a/src/declarative/debugger/qdeclarativedebug.h b/src/declarative/debugger/qdeclarativedebug.h
new file mode 100644
index 0000000..b7930b2
--- /dev/null
+++ b/src/declarative/debugger/qdeclarativedebug.h
@@ -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 QtDeclarative module 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$
+**
+****************************************************************************/
+
+#ifndef QDECLARATIVEDEBUG_H
+#define QDECLARATIVEDEBUG_H
+
+#include <QtCore/qglobal.h>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+QT_MODULE(Declarative)
+
+struct Q_DECLARATIVE_EXPORT QDeclarativeDebuggingEnabler
+{
+ QDeclarativeDebuggingEnabler();
+};
+
+// Execute code in constructor before first QDeclarativeEngine is instantiated
+#if defined(QT_DECLARATIVE_DEBUG)
+static QDeclarativeDebuggingEnabler qmlEnableDebuggingHelper;
+#endif
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif // QDECLARATIVEDEBUG_H
diff --git a/src/declarative/debugger/qdeclarativedebugserver.cpp b/src/declarative/debugger/qdeclarativedebugserver.cpp
index 12691b2..3e0c326 100644
--- a/src/declarative/debugger/qdeclarativedebugserver.cpp
+++ b/src/declarative/debugger/qdeclarativedebugserver.cpp
@@ -91,6 +91,7 @@ public:
QStringList clientPlugins;
bool gotHello;
QString waitingForMsgFromService;
+ bool waitingForMsgSucceeded;
private:
// private slot
@@ -100,7 +101,8 @@ private:
QDeclarativeDebugServerPrivate::QDeclarativeDebugServerPrivate() :
connection(0),
- gotHello(false)
+ gotHello(false),
+ waitingForMsgSucceeded(false)
{
}
@@ -315,7 +317,7 @@ void QDeclarativeDebugServer::receiveMessage(const QByteArray &message)
if (d->waitingForMsgFromService == name) {
// deliver directly so that it is delivered before waitForMessage is returning.
d->_q_deliverMessage(name, message);
- d->waitingForMsgFromService.clear();
+ d->waitingForMsgSucceeded = true;
} else {
// deliver message in next event loop run.
// Fixes the case that the service does start it's own event loop ...,
@@ -409,7 +411,9 @@ bool QDeclarativeDebugServer::waitForMessage(QDeclarativeDebugService *service)
do {
d->connection->waitForMessage();
- } while (!d->waitingForMsgFromService.isEmpty());
+ } while (!d->waitingForMsgSucceeded);
+ d->waitingForMsgSucceeded = false;
+ d->waitingForMsgFromService.clear();
return true;
}
diff --git a/src/declarative/debugger/qdeclarativedebug.cpp b/src/declarative/debugger/qdeclarativeenginedebug.cpp
index 620ee1d..85ce710 100644
--- a/src/declarative/debugger/qdeclarativedebug.cpp
+++ b/src/declarative/debugger/qdeclarativeenginedebug.cpp
@@ -39,11 +39,11 @@
**
****************************************************************************/
-#include "private/qdeclarativedebug_p.h"
+#include "private/qdeclarativeenginedebug_p.h"
#include "private/qdeclarativedebugclient_p.h"
-#include <qdeclarativeenginedebug_p.h>
+#include <qdeclarativeenginedebugservice_p.h>
#include <private/qobject_p.h>
@@ -207,7 +207,7 @@ void QDeclarativeEngineDebugPrivate::remove(QDeclarativeEngineDebug *c, QDeclara
void QDeclarativeEngineDebugPrivate::decode(QDataStream &ds, QDeclarativeDebugObjectReference &o,
bool simple)
{
- QDeclarativeEngineDebugServer::QDeclarativeObjectData data;
+ QDeclarativeEngineDebugService::QDeclarativeObjectData data;
ds >> data;
o.m_debugId = data.objectId;
o.m_class = data.objectType;
@@ -234,7 +234,7 @@ void QDeclarativeEngineDebugPrivate::decode(QDataStream &ds, QDeclarativeDebugOb
ds >> propCount;
for (int ii = 0; ii < propCount; ++ii) {
- QDeclarativeEngineDebugServer::QDeclarativeObjectProperty data;
+ QDeclarativeEngineDebugService::QDeclarativeObjectProperty data;
ds >> data;
QDeclarativeDebugPropertyReference prop;
prop.m_objectDebugId = o.m_debugId;
@@ -243,21 +243,21 @@ void QDeclarativeEngineDebugPrivate::decode(QDataStream &ds, QDeclarativeDebugOb
prop.m_hasNotifySignal = data.hasNotifySignal;
prop.m_valueTypeName = data.valueTypeName;
switch (data.type) {
- case QDeclarativeEngineDebugServer::QDeclarativeObjectProperty::Basic:
- case QDeclarativeEngineDebugServer::QDeclarativeObjectProperty::List:
- case QDeclarativeEngineDebugServer::QDeclarativeObjectProperty::SignalProperty:
+ case QDeclarativeEngineDebugService::QDeclarativeObjectProperty::Basic:
+ case QDeclarativeEngineDebugService::QDeclarativeObjectProperty::List:
+ case QDeclarativeEngineDebugService::QDeclarativeObjectProperty::SignalProperty:
{
prop.m_value = data.value;
break;
}
- case QDeclarativeEngineDebugServer::QDeclarativeObjectProperty::Object:
+ case QDeclarativeEngineDebugService::QDeclarativeObjectProperty::Object:
{
QDeclarativeDebugObjectReference obj;
obj.m_debugId = prop.m_value.toInt();
prop.m_value = QVariant::fromValue(obj);
break;
}
- case QDeclarativeEngineDebugServer::QDeclarativeObjectProperty::Unknown:
+ case QDeclarativeEngineDebugService::QDeclarativeObjectProperty::Unknown:
break;
}
o.m_properties << prop;
diff --git a/src/declarative/debugger/qdeclarativedebug_p.h b/src/declarative/debugger/qdeclarativeenginedebug_p.h
index f822637..9b70e1c 100644
--- a/src/declarative/debugger/qdeclarativedebug_p.h
+++ b/src/declarative/debugger/qdeclarativeenginedebug_p.h
@@ -38,8 +38,8 @@
** $QT_END_LICENSE$
**
****************************************************************************/
-#ifndef QDECLARATIVEDEBUG_H
-#define QDECLARATIVEDEBUG_H
+#ifndef QDECLARATIVEENGINEDEBUG_H
+#define QDECLARATIVEENGINEDEBUG_H
#include <QtCore/qobject.h>
#include <QtCore/qurl.h>
@@ -384,4 +384,4 @@ Q_DECLARE_METATYPE(QDeclarativeDebugPropertyReference)
QT_END_HEADER
-#endif // QDECLARATIVEDEBUG_H
+#endif // QDECLARATIVEENGINEDEBUG_H
diff --git a/src/declarative/qml/qdeclarativeenginedebug.cpp b/src/declarative/debugger/qdeclarativeenginedebugservice.cpp
index 8707a7f..7683733 100644
--- a/src/declarative/qml/qdeclarativeenginedebug.cpp
+++ b/src/declarative/debugger/qdeclarativeenginedebugservice.cpp
@@ -39,7 +39,7 @@
**
****************************************************************************/
-#include "private/qdeclarativeenginedebug_p.h"
+#include "private/qdeclarativeenginedebugservice_p.h"
#include "private/qdeclarativeboundsignal_p.h"
#include "qdeclarativeengine.h"
@@ -59,14 +59,14 @@
QT_BEGIN_NAMESPACE
-Q_GLOBAL_STATIC(QDeclarativeEngineDebugServer, qmlEngineDebugServer);
+Q_GLOBAL_STATIC(QDeclarativeEngineDebugService, qmlEngineDebugService);
-QDeclarativeEngineDebugServer *QDeclarativeEngineDebugServer::instance()
+QDeclarativeEngineDebugService *QDeclarativeEngineDebugService::instance()
{
- return qmlEngineDebugServer();
+ return qmlEngineDebugService();
}
-QDeclarativeEngineDebugServer::QDeclarativeEngineDebugServer(QObject *parent)
+QDeclarativeEngineDebugService::QDeclarativeEngineDebugService(QObject *parent)
: QDeclarativeDebugService(QLatin1String("QDeclarativeEngine"), parent),
m_watch(new QDeclarativeWatcher(this))
{
@@ -75,7 +75,7 @@ QDeclarativeEngineDebugServer::QDeclarativeEngineDebugServer(QObject *parent)
}
QDataStream &operator<<(QDataStream &ds,
- const QDeclarativeEngineDebugServer::QDeclarativeObjectData &data)
+ const QDeclarativeEngineDebugService::QDeclarativeObjectData &data)
{
ds << data.url << data.lineNumber << data.columnNumber << data.idString
<< data.objectName << data.objectType << data.objectId << data.contextId;
@@ -83,7 +83,7 @@ QDataStream &operator<<(QDataStream &ds,
}
QDataStream &operator>>(QDataStream &ds,
- QDeclarativeEngineDebugServer::QDeclarativeObjectData &data)
+ QDeclarativeEngineDebugService::QDeclarativeObjectData &data)
{
ds >> data.url >> data.lineNumber >> data.columnNumber >> data.idString
>> data.objectName >> data.objectType >> data.objectId >> data.contextId;
@@ -91,7 +91,7 @@ QDataStream &operator>>(QDataStream &ds,
}
QDataStream &operator<<(QDataStream &ds,
- const QDeclarativeEngineDebugServer::QDeclarativeObjectProperty &data)
+ const QDeclarativeEngineDebugService::QDeclarativeObjectProperty &data)
{
ds << (int)data.type << data.name << data.value << data.valueTypeName
<< data.binding << data.hasNotifySignal;
@@ -99,12 +99,12 @@ QDataStream &operator<<(QDataStream &ds,
}
QDataStream &operator>>(QDataStream &ds,
- QDeclarativeEngineDebugServer::QDeclarativeObjectProperty &data)
+ QDeclarativeEngineDebugService::QDeclarativeObjectProperty &data)
{
int type;
ds >> type >> data.name >> data.value >> data.valueTypeName
>> data.binding >> data.hasNotifySignal;
- data.type = (QDeclarativeEngineDebugServer::QDeclarativeObjectProperty::Type)type;
+ data.type = (QDeclarativeEngineDebugService::QDeclarativeObjectProperty::Type)type;
return ds;
}
@@ -131,8 +131,8 @@ static bool hasValidSignal(QObject *object, const QString &propertyName)
return true;
}
-QDeclarativeEngineDebugServer::QDeclarativeObjectProperty
-QDeclarativeEngineDebugServer::propertyData(QObject *obj, int propIdx)
+QDeclarativeEngineDebugService::QDeclarativeObjectProperty
+QDeclarativeEngineDebugService::propertyData(QObject *obj, int propIdx)
{
QDeclarativeObjectProperty rv;
@@ -164,7 +164,7 @@ QDeclarativeEngineDebugServer::propertyData(QObject *obj, int propIdx)
return rv;
}
-QVariant QDeclarativeEngineDebugServer::valueContents(const QVariant &value) const
+QVariant QDeclarativeEngineDebugService::valueContents(const QVariant &value) const
{
int userType = value.userType();
@@ -193,7 +193,7 @@ QVariant QDeclarativeEngineDebugServer::valueContents(const QVariant &value) con
return QLatin1String("<unknown value>");
}
-void QDeclarativeEngineDebugServer::buildObjectDump(QDataStream &message,
+void QDeclarativeEngineDebugService::buildObjectDump(QDataStream &message,
QObject *object, bool recur, bool dumpProperties)
{
message << objectData(object);
@@ -264,7 +264,7 @@ void QDeclarativeEngineDebugServer::buildObjectDump(QDataStream &message,
message << fakeProperties[ii];
}
-void QDeclarativeEngineDebugServer::prepareDeferredObjects(QObject *obj)
+void QDeclarativeEngineDebugService::prepareDeferredObjects(QObject *obj)
{
qmlExecuteDeferred(obj);
@@ -276,7 +276,7 @@ void QDeclarativeEngineDebugServer::prepareDeferredObjects(QObject *obj)
}
-void QDeclarativeEngineDebugServer::buildObjectList(QDataStream &message, QDeclarativeContext *ctxt)
+void QDeclarativeEngineDebugService::buildObjectList(QDataStream &message, QDeclarativeContext *ctxt)
{
QDeclarativeContextData *p = QDeclarativeContextData::get(ctxt);
@@ -316,7 +316,7 @@ void QDeclarativeEngineDebugServer::buildObjectList(QDataStream &message, QDecla
}
}
-void QDeclarativeEngineDebugServer::buildStatesList(QDeclarativeContext *ctxt, bool cleanList=false)
+void QDeclarativeEngineDebugService::buildStatesList(QDeclarativeContext *ctxt, bool cleanList=false)
{
if (cleanList)
m_allStates.clear();
@@ -333,7 +333,7 @@ void QDeclarativeEngineDebugServer::buildStatesList(QDeclarativeContext *ctxt, b
}
}
-void QDeclarativeEngineDebugServer::buildStatesList(QObject *obj)
+void QDeclarativeEngineDebugService::buildStatesList(QObject *obj)
{
if (QDeclarativeState *state = qobject_cast<QDeclarativeState *>(obj)) {
m_allStates.append(state);
@@ -345,8 +345,8 @@ void QDeclarativeEngineDebugServer::buildStatesList(QObject *obj)
}
}
-QDeclarativeEngineDebugServer::QDeclarativeObjectData
-QDeclarativeEngineDebugServer::objectData(QObject *object)
+QDeclarativeEngineDebugService::QDeclarativeObjectData
+QDeclarativeEngineDebugService::objectData(QObject *object)
{
QDeclarativeData *ddata = QDeclarativeData::get(object);
QDeclarativeObjectData rv;
@@ -385,7 +385,7 @@ QDeclarativeEngineDebugServer::objectData(QObject *object)
return rv;
}
-void QDeclarativeEngineDebugServer::messageReceived(const QByteArray &message)
+void QDeclarativeEngineDebugService::messageReceived(const QByteArray &message)
{
QDataStream ds(message);
@@ -545,7 +545,7 @@ void QDeclarativeEngineDebugServer::messageReceived(const QByteArray &message)
}
}
-void QDeclarativeEngineDebugServer::setBinding(int objectId,
+void QDeclarativeEngineDebugService::setBinding(int objectId,
const QString &propertyName,
const QVariant &expression,
bool isLiteralValue,
@@ -600,7 +600,7 @@ void QDeclarativeEngineDebugServer::setBinding(int objectId,
oldBinding->destroy();
binding->update();
} else {
- qWarning() << "QDeclarativeEngineDebugServer::setBinding: unable to set property" << propertyName << "on object" << object;
+ qWarning() << "QDeclarativeEngineDebugService::setBinding: unable to set property" << propertyName << "on object" << object;
}
}
@@ -613,13 +613,13 @@ void QDeclarativeEngineDebugServer::setBinding(int objectId,
propertyChanges->changeExpression(propertyName, expression.toString());
}
} else {
- qWarning() << "QDeclarativeEngineDebugServer::setBinding: unable to set property" << propertyName << "on object" << object;
+ qWarning() << "QDeclarativeEngineDebugService::setBinding: unable to set property" << propertyName << "on object" << object;
}
}
}
}
-void QDeclarativeEngineDebugServer::resetBinding(int objectId, const QString &propertyName)
+void QDeclarativeEngineDebugService::resetBinding(int objectId, const QString &propertyName)
{
QObject *object = objectForId(objectId);
QDeclarativeContext *context = qmlContext(object);
@@ -664,7 +664,7 @@ void QDeclarativeEngineDebugServer::resetBinding(int objectId, const QString &pr
}
}
-void QDeclarativeEngineDebugServer::setMethodBody(int objectId, const QString &method, const QString &body)
+void QDeclarativeEngineDebugService::setMethodBody(int objectId, const QString &method, const QString &body)
{
QObject *object = objectForId(objectId);
QDeclarativeContext *context = qmlContext(object);
@@ -703,7 +703,7 @@ void QDeclarativeEngineDebugServer::setMethodBody(int objectId, const QString &m
vmeMetaObject->setVmeMethod(prop->coreIndex, QDeclarativeExpressionPrivate::evalInObjectScope(contextData, object, jsfunction, contextData->url.toString(), lineNumber, 0));
}
-void QDeclarativeEngineDebugServer::propertyChanged(int id, int objectId, const QMetaProperty &property, const QVariant &value)
+void QDeclarativeEngineDebugService::propertyChanged(int id, int objectId, const QMetaProperty &property, const QVariant &value)
{
QByteArray reply;
QDataStream rs(&reply, QIODevice::WriteOnly);
@@ -713,7 +713,7 @@ void QDeclarativeEngineDebugServer::propertyChanged(int id, int objectId, const
sendMessage(reply);
}
-void QDeclarativeEngineDebugServer::addEngine(QDeclarativeEngine *engine)
+void QDeclarativeEngineDebugService::addEngine(QDeclarativeEngine *engine)
{
Q_ASSERT(engine);
Q_ASSERT(!m_engines.contains(engine));
@@ -721,7 +721,7 @@ void QDeclarativeEngineDebugServer::addEngine(QDeclarativeEngine *engine)
m_engines.append(engine);
}
-void QDeclarativeEngineDebugServer::remEngine(QDeclarativeEngine *engine)
+void QDeclarativeEngineDebugService::remEngine(QDeclarativeEngine *engine)
{
Q_ASSERT(engine);
Q_ASSERT(m_engines.contains(engine));
@@ -729,7 +729,7 @@ void QDeclarativeEngineDebugServer::remEngine(QDeclarativeEngine *engine)
m_engines.removeAll(engine);
}
-void QDeclarativeEngineDebugServer::objectCreated(QDeclarativeEngine *engine, QObject *object)
+void QDeclarativeEngineDebugService::objectCreated(QDeclarativeEngine *engine, QObject *object)
{
Q_ASSERT(engine);
Q_ASSERT(m_engines.contains(engine));
diff --git a/src/declarative/qml/qdeclarativeenginedebug_p.h b/src/declarative/debugger/qdeclarativeenginedebugservice_p.h
index 804a043..3674b83 100644
--- a/src/declarative/qml/qdeclarativeenginedebug_p.h
+++ b/src/declarative/debugger/qdeclarativeenginedebugservice_p.h
@@ -39,8 +39,8 @@
**
****************************************************************************/
-#ifndef QDECLARATIVEENGINEDEBUG_P_H
-#define QDECLARATIVEENGINEDEBUG_P_H
+#ifndef QDECLARATIVEENGINEDEBUGSERVICE_P_H
+#define QDECLARATIVEENGINEDEBUGSERVICE_P_H
//
// W A R N I N G
@@ -67,11 +67,11 @@ class QDeclarativeWatcher;
class QDataStream;
class QDeclarativeState;
-class QDeclarativeEngineDebugServer : public QDeclarativeDebugService
+class QDeclarativeEngineDebugService : public QDeclarativeDebugService
{
Q_OBJECT
public:
- QDeclarativeEngineDebugServer(QObject * = 0);
+ QDeclarativeEngineDebugService(QObject * = 0);
struct QDeclarativeObjectData {
QUrl url;
@@ -98,7 +98,7 @@ public:
void remEngine(QDeclarativeEngine *);
void objectCreated(QDeclarativeEngine *, QObject *);
- static QDeclarativeEngineDebugServer *instance();
+ static QDeclarativeEngineDebugService *instance();
protected:
virtual void messageReceived(const QByteArray &);
@@ -123,12 +123,12 @@ private:
QDeclarativeWatcher *m_watch;
QList<QWeakPointer<QDeclarativeState> > m_allStates;
};
-Q_DECLARATIVE_PRIVATE_EXPORT QDataStream &operator<<(QDataStream &, const QDeclarativeEngineDebugServer::QDeclarativeObjectData &);
-Q_DECLARATIVE_PRIVATE_EXPORT QDataStream &operator>>(QDataStream &, QDeclarativeEngineDebugServer::QDeclarativeObjectData &);
-Q_DECLARATIVE_PRIVATE_EXPORT QDataStream &operator<<(QDataStream &, const QDeclarativeEngineDebugServer::QDeclarativeObjectProperty &);
-Q_DECLARATIVE_PRIVATE_EXPORT QDataStream &operator>>(QDataStream &, QDeclarativeEngineDebugServer::QDeclarativeObjectProperty &);
+Q_DECLARATIVE_PRIVATE_EXPORT QDataStream &operator<<(QDataStream &, const QDeclarativeEngineDebugService::QDeclarativeObjectData &);
+Q_DECLARATIVE_PRIVATE_EXPORT QDataStream &operator>>(QDataStream &, QDeclarativeEngineDebugService::QDeclarativeObjectData &);
+Q_DECLARATIVE_PRIVATE_EXPORT QDataStream &operator<<(QDataStream &, const QDeclarativeEngineDebugService::QDeclarativeObjectProperty &);
+Q_DECLARATIVE_PRIVATE_EXPORT QDataStream &operator>>(QDataStream &, QDeclarativeEngineDebugService::QDeclarativeObjectProperty &);
QT_END_NAMESPACE
-#endif // QDECLARATIVEENGINEDEBUG_P_H
+#endif // QDECLARATIVEENGINEDEBUGSERVICE_P_H
diff --git a/src/declarative/graphicsitems/qdeclarativeflipable.cpp b/src/declarative/graphicsitems/qdeclarativeflipable.cpp
index 70fc702..4dcf17c 100644
--- a/src/declarative/graphicsitems/qdeclarativeflipable.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeflipable.cpp
@@ -228,9 +228,9 @@ void QDeclarativeFlipablePrivate::updateSceneTransformFromParent()
if (current == QDeclarativeFlipable::Back && back)
setBackTransform();
if (front)
- front->setOpacity((current==QDeclarativeFlipable::Front)?1.:0.);
+ front->setOpacity((current==QDeclarativeFlipable::Front)?qreal(1.):qreal(0.));
if (back)
- back->setOpacity((current==QDeclarativeFlipable::Back)?1.:0.);
+ back->setOpacity((current==QDeclarativeFlipable::Back)?qreal(1.):qreal(0.));
emit q->sideChanged();
}
}
diff --git a/src/declarative/graphicsitems/qdeclarativegridview.cpp b/src/declarative/graphicsitems/qdeclarativegridview.cpp
index 023737d..a7d593a 100644
--- a/src/declarative/graphicsitems/qdeclarativegridview.cpp
+++ b/src/declarative/graphicsitems/qdeclarativegridview.cpp
@@ -1212,10 +1212,10 @@ void QDeclarativeGridViewPrivate::flick(AxisData &data, qreal minExtent, qreal m
}
qreal accel = deceleration;
qreal v2 = v * v;
- qreal overshootDist = 0.0;
- if ((maxDistance > 0.0 && v2 / (2.0f * maxDistance) < accel) || snapMode == QDeclarativeGridView::SnapOneRow) {
+ qreal overshootDist = qreal(0.0);
+ if ((maxDistance > qreal(0.0) && v2 / (2.0f * maxDistance) < accel) || snapMode == QDeclarativeGridView::SnapOneRow) {
// + rowSize()/4 to encourage moving at least one item in the flick direction
- qreal dist = v2 / (accel * 2.0) + rowSize()/4;
+ qreal dist = v2 / (accel * qreal(2.0)) + rowSize()/4;
dist = qMin(dist, maxDistance);
if (v > 0)
dist = -dist;
diff --git a/src/declarative/graphicsitems/qdeclarativelistview.cpp b/src/declarative/graphicsitems/qdeclarativelistview.cpp
index 6a91e5f..44d6a1a 100644
--- a/src/declarative/graphicsitems/qdeclarativelistview.cpp
+++ b/src/declarative/graphicsitems/qdeclarativelistview.cpp
@@ -1457,14 +1457,14 @@ void QDeclarativeListViewPrivate::flick(AxisData &data, qreal minExtent, qreal m
// the initial flick - estimate boundary
qreal accel = deceleration;
qreal v2 = v * v;
- overshootDist = 0.0;
+ overshootDist = qreal(0.0);
// + averageSize/4 to encourage moving at least one item in the flick direction
- qreal dist = v2 / (accel * 2.0) + averageSize/4;
+ qreal dist = v2 / (accel * qreal(2.0)) + averageSize/4;
if (maxDistance > 0)
dist = qMin(dist, maxDistance);
if (v > 0)
dist = -dist;
- if ((maxDistance > 0.0 && v2 / (2.0f * maxDistance) < accel) || snapMode == QDeclarativeListView::SnapOneItem) {
+ if ((maxDistance > qreal(0.0) && v2 / (2.0f * maxDistance) < accel) || snapMode == QDeclarativeListView::SnapOneItem) {
if (snapMode != QDeclarativeListView::SnapOneItem) {
qreal distTemp = isRightToLeft() ? -dist : dist;
data.flickTarget = -snapPosAt(-(dataValue - highlightStart) + distTemp) + highlightStart;
diff --git a/src/declarative/graphicsitems/qdeclarativepathview.cpp b/src/declarative/graphicsitems/qdeclarativepathview.cpp
index 94f128d..ecd8982 100644
--- a/src/declarative/graphicsitems/qdeclarativepathview.cpp
+++ b/src/declarative/graphicsitems/qdeclarativepathview.cpp
@@ -246,7 +246,7 @@ void QDeclarativePathViewPrivate::updateHighlight()
} else {
qreal target = currentIndex;
- offsetAdj = 0.0;
+ offsetAdj = qreal(0.0);
tl.reset(moveHighlight);
moveHighlight.setValue(highlightPosition);
@@ -255,14 +255,14 @@ void QDeclarativePathViewPrivate::updateHighlight()
if (target - highlightPosition > modelCount/2) {
highlightUp = false;
qreal distance = modelCount - target + highlightPosition;
- tl.move(moveHighlight, 0.0, QEasingCurve(QEasingCurve::InQuad), int(duration * highlightPosition / distance));
- tl.set(moveHighlight, modelCount-0.01);
+ tl.move(moveHighlight, qreal(0.0), QEasingCurve(QEasingCurve::InQuad), int(duration * highlightPosition / distance));
+ tl.set(moveHighlight, modelCount-qreal(0.01));
tl.move(moveHighlight, target, QEasingCurve(QEasingCurve::OutQuad), int(duration * (modelCount-target) / distance));
} else if (target - highlightPosition <= -modelCount/2) {
highlightUp = true;
qreal distance = modelCount - highlightPosition + target;
- tl.move(moveHighlight, modelCount-0.01, QEasingCurve(QEasingCurve::InQuad), int(duration * (modelCount-highlightPosition) / distance));
- tl.set(moveHighlight, 0.0);
+ tl.move(moveHighlight, modelCount-qreal(0.01), QEasingCurve(QEasingCurve::InQuad), int(duration * (modelCount-highlightPosition) / distance));
+ tl.set(moveHighlight, qreal(0.0));
tl.move(moveHighlight, target, QEasingCurve(QEasingCurve::OutQuad), int(duration * target / distance));
} else {
highlightUp = highlightPosition - target < 0;
@@ -287,18 +287,18 @@ void QDeclarativePathViewPrivate::setHighlightPosition(qreal pos)
qreal relativeHighlight = qmlMod(pos + offset, range) / range;
if (!highlightUp && relativeHighlight > end * mappedRange) {
- qreal diff = 1.0 - relativeHighlight;
+ qreal diff = qreal(1.0) - relativeHighlight;
setOffset(offset + diff * range);
} else if (highlightUp && relativeHighlight >= (end - start) * mappedRange) {
qreal diff = relativeHighlight - (end - start) * mappedRange;
- setOffset(offset - diff * range - 0.00001);
+ setOffset(offset - diff * range - qreal(0.00001));
}
highlightPosition = pos;
qreal pathPos = positionOfIndex(pos);
updateItem(highlightItem, pathPos);
if (QDeclarativePathViewAttached *att = attached(highlightItem))
- att->setOnPath(pathPos != -1.0);
+ att->setOnPath(pathPos != qreal(-1.0));
}
}
@@ -1200,7 +1200,7 @@ void QDeclarativePathViewPrivate::handleMouseReleaseEvent(QGraphicsSceneMouseEve
qreal elapsed = qreal(lastElapsed + QDeclarativeItemPrivate::elapsed(lastPosTime)) / 1000.;
qreal velocity = elapsed > 0. ? lastDist / elapsed : 0;
- if (model && modelCount && qAbs(velocity) > 1.) {
+ if (model && modelCount && qAbs(velocity) > qreal(1.)) {
qreal count = pathItems == -1 ? modelCount : pathItems;
if (qAbs(velocity) > count * 2) // limit velocity
velocity = (velocity > 0 ? count : -count) * 2;
@@ -1208,7 +1208,7 @@ void QDeclarativePathViewPrivate::handleMouseReleaseEvent(QGraphicsSceneMouseEve
qreal v2 = velocity*velocity;
qreal accel = deceleration/10;
// + 0.25 to encourage moving at least one item in the flick direction
- qreal dist = qMin(qreal(modelCount-1), qreal(v2 / (accel * 2.0) + 0.25));
+ qreal dist = qMin(qreal(modelCount-1), qreal(v2 / (accel * qreal(2.0)) + qreal(0.25)));
if (haveHighlightRange && highlightRangeMode == QDeclarativePathView::StrictlyEnforceRange) {
// round to nearest item.
if (velocity > 0.)
@@ -1217,13 +1217,13 @@ void QDeclarativePathViewPrivate::handleMouseReleaseEvent(QGraphicsSceneMouseEve
dist = qRound(dist - offset) + offset;
// Calculate accel required to stop on item boundary
if (dist <= 0.) {
- dist = 0.;
- accel = 0.;
+ dist = qreal(0.);
+ accel = qreal(0.);
} else {
accel = v2 / (2.0f * qAbs(dist));
}
}
- offsetAdj = 0.0;
+ offsetAdj = qreal(0.0);
moveOffset.setValue(offset);
tl.accel(moveOffset, velocity, accel, dist);
tl.callback(QDeclarativeTimeLineCallback(&moveOffset, fixOffsetCallback, this));
@@ -1588,7 +1588,7 @@ void QDeclarativePathView::createdItem(int index, QDeclarativeItem *item)
att->setOnPath(false);
}
item->setParentItem(this);
- d->updateItem(item, index < d->firstIndex ? 0.0 : 1.0);
+ d->updateItem(item, index < d->firstIndex ? qreal(0.0) : qreal(1.0));
}
}
diff --git a/src/declarative/qml/qdeclarative.h b/src/declarative/qml/qdeclarative.h
index 5e8d0f4..399c207 100644
--- a/src/declarative/qml/qdeclarative.h
+++ b/src/declarative/qml/qdeclarative.h
@@ -405,17 +405,6 @@ QObject *qmlAttachedPropertiesObject(const QObject *obj, bool create = true)
return qmlAttachedPropertiesObject(&idx, obj, &T::staticMetaObject, create);
}
-// Enable debugging before any QDeclarativeEngine is created
-struct Q_DECLARATIVE_EXPORT QDeclarativeDebuggingEnabler
-{
- QDeclarativeDebuggingEnabler();
-};
-
-// Execute code in constructor before first QDeclarativeEngine is instantiated
-#if defined(QT_DECLARATIVE_DEBUG)
-static QDeclarativeDebuggingEnabler qmlEnableDebuggingHelper;
-#endif
-
QT_END_NAMESPACE
QML_DECLARE_TYPE(QObject)
diff --git a/src/declarative/qml/qdeclarativecomponent.cpp b/src/declarative/qml/qdeclarativecomponent.cpp
index d9f291b..f423f50 100644
--- a/src/declarative/qml/qdeclarativecomponent.cpp
+++ b/src/declarative/qml/qdeclarativecomponent.cpp
@@ -53,7 +53,7 @@
#include "private/qdeclarativeglobal_p.h"
#include "private/qdeclarativescriptparser_p.h"
#include "private/qdeclarativedebugtrace_p.h"
-#include "private/qdeclarativeenginedebug_p.h"
+#include "private/qdeclarativeenginedebugservice_p.h"
#include <QtScript/qscriptvalueiterator.h>
#include <QStack>
@@ -896,7 +896,7 @@ QObject * QDeclarativeComponentPrivate::begin(QDeclarativeContextData *parentCon
if (enginePriv->isDebugging && rv) {
if (!parentContext->isInternal)
parentContext->asQDeclarativeContextPrivate()->instances.append(rv);
- QDeclarativeEngineDebugServer::instance()->objectCreated(parentContext->engine, rv);
+ QDeclarativeEngineDebugService::instance()->objectCreated(parentContext->engine, rv);
}
return rv;
diff --git a/src/declarative/qml/qdeclarativeengine.cpp b/src/declarative/qml/qdeclarativeengine.cpp
index 34014f7..1417b78 100644
--- a/src/declarative/qml/qdeclarativeengine.cpp
+++ b/src/declarative/qml/qdeclarativeengine.cpp
@@ -51,7 +51,7 @@
#include "qdeclarativecomponent.h"
#include "private/qdeclarativebinding_p_p.h"
#include "private/qdeclarativevme_p.h"
-#include "private/qdeclarativeenginedebug_p.h"
+#include "private/qdeclarativeenginedebugservice_p.h"
#include "private/qdeclarativestringconverters_p.h"
#include "private/qdeclarativexmlhttprequest_p.h"
#include "private/qdeclarativesqldatabase_p.h"
@@ -581,9 +581,9 @@ void QDeclarativeEnginePrivate::init()
scriptEngine.globalObject().property(QLatin1String("Qt")).setProperty(QLatin1String("application"), applicationObject);
if (QCoreApplication::instance()->thread() == q->thread() &&
- QDeclarativeEngineDebugServer::isDebuggingEnabled()) {
+ QDeclarativeEngineDebugService::isDebuggingEnabled()) {
isDebugging = true;
- QDeclarativeEngineDebugServer::instance()->addEngine(q);
+ QDeclarativeEngineDebugService::instance()->addEngine(q);
QJSDebugService::instance()->addEngine(q);
}
}
@@ -648,7 +648,7 @@ QDeclarativeEngine::~QDeclarativeEngine()
{
Q_D(QDeclarativeEngine);
if (d->isDebugging) {
- QDeclarativeEngineDebugServer::instance()->remEngine(this);
+ QDeclarativeEngineDebugService::instance()->remEngine(this);
QJSDebugService::instance()->removeEngine(this);
}
}
diff --git a/src/declarative/qml/qdeclarativeengine.h b/src/declarative/qml/qdeclarativeengine.h
index 61ab2b2..4d6887f 100644
--- a/src/declarative/qml/qdeclarativeengine.h
+++ b/src/declarative/qml/qdeclarativeengine.h
@@ -47,6 +47,7 @@
#include <QtCore/qmap.h>
#include <QtScript/qscriptvalue.h>
#include <QtDeclarative/qdeclarativeerror.h>
+#include <QtDeclarative/qdeclarativedebug.h>
QT_BEGIN_HEADER
diff --git a/src/declarative/qml/qdeclarativeimport.cpp b/src/declarative/qml/qdeclarativeimport.cpp
index bf261ef..c2f0086 100644
--- a/src/declarative/qml/qdeclarativeimport.cpp
+++ b/src/declarative/qml/qdeclarativeimport.cpp
@@ -46,6 +46,7 @@
#include <QtCore/qfileinfo.h>
#include <QtCore/qpluginloader.h>
#include <QtCore/qlibraryinfo.h>
+#include <QtCore/qalgorithms.h>
#include <QtDeclarative/qdeclarativeextensioninterface.h>
#include <private/qdeclarativeglobal_p.h>
#include <private/qdeclarativetypenamecache_p.h>
@@ -734,8 +735,12 @@ QDeclarativeImportDatabase::QDeclarativeImportDatabase(QDeclarativeEngine *e)
}
RFs& fs = qt_s60GetRFs();
TPtrC tempPathPtr(reinterpret_cast<const TText*> (tempPath.constData()));
+ // Symbian searches should start from Y:. Fix start drive otherwise TFindFile starts from the session drive
+ _LIT(KStartDir, "Y:");
+ TFileName dirPath(KStartDir);
+ dirPath.Append(tempPathPtr);
TFindFile finder(fs);
- TInt err = finder.FindByDir(tempPathPtr, tempPathPtr);
+ TInt err = finder.FindByDir(tempPathPtr, dirPath);
while (err == KErrNone) {
QString foundDir(reinterpret_cast<const QChar *>(finder.File().Ptr()),
finder.File().Length());
@@ -743,6 +748,9 @@ QDeclarativeImportDatabase::QDeclarativeImportDatabase(QDeclarativeEngine *e)
addImportPath(foundDir);
err = finder.Find();
}
+ // TFindFile found the directories in the order we want, but addImportPath reverses it.
+ // Reverse the order again to get it right.
+ QAlgorithmsPrivate::qReverse(fileImportPath.begin(), fileImportPath.end());
} else {
addImportPath(installImportsPath);
}
diff --git a/src/declarative/qml/qdeclarativenotifier_p.h b/src/declarative/qml/qdeclarativenotifier_p.h
index 5f70f7d..14a7f82 100644
--- a/src/declarative/qml/qdeclarativenotifier_p.h
+++ b/src/declarative/qml/qdeclarativenotifier_p.h
@@ -99,8 +99,15 @@ private:
enum { InvalidType, SignalType, NotifierType } type;
union {
- char signalData[sizeof(Signal)];
- char notifierData[sizeof(Notifier)];
+ struct {
+ Signal *signal;
+ union {
+ char signalData[sizeof(Signal)];
+ qint64 q_for_alignment_1;
+ double q_for_alignment_2;
+ };
+ } signal;
+ Notifier notifier;
};
inline Notifier *toNotifier();
@@ -194,7 +201,7 @@ void QDeclarativeNotifierEndpoint::connect(QDeclarativeNotifier *notifier)
void QDeclarativeNotifierEndpoint::disconnect()
{
if (type == SignalType) {
- Signal *s = (Signal *)&signalData;
+ Signal *s = asSignal();
if (s->source) {
QMetaObject::disconnectOne(s->source, s->sourceSignal, target, targetMethod);
s->source = 0;
@@ -223,18 +230,19 @@ QDeclarativeNotifierEndpoint::Notifier *QDeclarativeNotifierEndpoint::toNotifier
s->~Signal();
}
+ type = NotifierType;
Notifier *n = asNotifier();
n->next = 0;
n->prev = 0;
n->disconnected = 0;
n->notifier = 0;
- type = NotifierType;
return n;
}
QDeclarativeNotifierEndpoint::Notifier *QDeclarativeNotifierEndpoint::asNotifier()
{
- return (Notifier *)(&notifierData);
+ Q_ASSERT(type == NotifierType);
+ return &notifier;
}
QDeclarativeNotifierEndpoint::Signal *QDeclarativeNotifierEndpoint::toSignal()
@@ -243,16 +251,15 @@ QDeclarativeNotifierEndpoint::Signal *QDeclarativeNotifierEndpoint::toSignal()
return asSignal();
disconnect();
- Signal *s = asSignal();
- new (s) Signal;
+ signal.signal = new (&signal.signalData) Signal;
type = SignalType;
-
- return s;
+ return signal.signal;
}
QDeclarativeNotifierEndpoint::Signal *QDeclarativeNotifierEndpoint::asSignal()
{
- return (Signal *)(&signalData);
+ Q_ASSERT(type == SignalType);
+ return signal.signal;
}
QT_END_NAMESPACE
diff --git a/src/declarative/qml/qdeclarativepropertycache_p.h b/src/declarative/qml/qdeclarativepropertycache_p.h
index 581f519..c648d25 100644
--- a/src/declarative/qml/qdeclarativepropertycache_p.h
+++ b/src/declarative/qml/qdeclarativepropertycache_p.h
@@ -111,7 +111,7 @@ public:
int relatedIndex; // When IsFunction
};
uint overrideIndexIsProperty : 1;
- int overrideIndex : 31;
+ signed int overrideIndex : 31;
int revision;
int metaObjectOffset;
diff --git a/src/declarative/qml/qdeclarativesqldatabase.cpp b/src/declarative/qml/qdeclarativesqldatabase.cpp
index 588b6bf..513cae2 100644
--- a/src/declarative/qml/qdeclarativesqldatabase.cpp
+++ b/src/declarative/qml/qdeclarativesqldatabase.cpp
@@ -175,7 +175,7 @@ static const char* sqlerror[] = {
static QString qmlsqldatabase_databasesPath(QScriptEngine *engine)
{
QDeclarativeScriptEngine *qmlengine = static_cast<QDeclarativeScriptEngine*>(engine);
- return qmlengine->offlineStoragePath
+ return QDir::toNativeSeparators(qmlengine->offlineStoragePath)
+ QDir::separator() + QLatin1String("Databases");
}
diff --git a/src/declarative/qml/qml.pri b/src/declarative/qml/qml.pri
index bf9e54a..5d171bf 100644
--- a/src/declarative/qml/qml.pri
+++ b/src/declarative/qml/qml.pri
@@ -27,7 +27,6 @@ SOURCES += \
$$PWD/qdeclarativeinfo.cpp \
$$PWD/qdeclarativeerror.cpp \
$$PWD/qdeclarativescriptparser.cpp \
- $$PWD/qdeclarativeenginedebug.cpp \
$$PWD/qdeclarativerewrite.cpp \
$$PWD/qdeclarativevaluetype.cpp \
$$PWD/qdeclarativecompiledbindings.cpp \
@@ -99,7 +98,6 @@ HEADERS += \
$$PWD/qdeclarativedata_p.h \
$$PWD/qdeclarativeerror.h \
$$PWD/qdeclarativescriptparser_p.h \
- $$PWD/qdeclarativeenginedebug_p.h \
$$PWD/qdeclarativerewrite_p.h \
$$PWD/qpodvector_p.h \
$$PWD/qbitfield_p.h \
diff --git a/src/declarative/util/qdeclarativeanimation.cpp b/src/declarative/util/qdeclarativeanimation.cpp
index ce21bcd..455c4f6 100644
--- a/src/declarative/util/qdeclarativeanimation.cpp
+++ b/src/declarative/util/qdeclarativeanimation.cpp
@@ -2719,7 +2719,7 @@ void QDeclarativeParentAnimation::transition(QDeclarativeStateActions &actions,
}
if (scale != 0)
- rotation = atan2(transform.m12()/scale, transform.m11()/scale) * 180/M_PI;
+ rotation = atan2(transform.m12()/scale, transform.m11()/scale) * 180/qreal(M_PI);
else {
qmlInfo(this) << QDeclarativeParentAnimation::tr("Unable to preserve appearance under scale of 0");
ok = false;
diff --git a/src/declarative/util/qdeclarativesmoothedanimation.cpp b/src/declarative/util/qdeclarativesmoothedanimation.cpp
index b77db89..e905d0a 100644
--- a/src/declarative/util/qdeclarativesmoothedanimation.cpp
+++ b/src/declarative/util/qdeclarativesmoothedanimation.cpp
@@ -51,7 +51,7 @@
#include <QtCore/qdebug.h>
-#include <math.h>
+#include <QtCore/qmath.h>
#define DELAY_STOP_TIMER_INTERVAL 32
@@ -98,20 +98,20 @@ bool QSmoothedAnimation::recalc()
s = to - initialValue;
vi = initialVelocity;
- s = (invert? -1.0: 1.0) * s;
+ s = (invert? qreal(-1.0): qreal(1.0)) * s;
if (userDuration > 0 && velocity > 0) {
tf = s / velocity;
- if (tf > (userDuration / 1000.)) tf = (userDuration / 1000.);
+ if (tf > (userDuration / qreal(1000.))) tf = (userDuration / qreal(1000.));
} else if (userDuration > 0) {
- tf = userDuration / 1000.;
+ tf = userDuration / qreal(1000.);
} else if (velocity > 0) {
tf = s / velocity;
} else {
return false;
}
- finalDuration = ceil(tf * 1000.0);
+ finalDuration = ceil(tf * qreal(1000.0));
if (maximumEasingTime == 0) {
a = 0;
@@ -121,33 +121,33 @@ bool QSmoothedAnimation::recalc()
vp = velocity;
sp = 0;
sd = s;
- } else if (maximumEasingTime != -1 && tf > (maximumEasingTime / 1000.)) {
- qreal met = maximumEasingTime / 1000.;
+ } else if (maximumEasingTime != -1 && tf > (maximumEasingTime / qreal(1000.))) {
+ qreal met = maximumEasingTime / qreal(1000.);
td = tf - met;
qreal c1 = td;
qreal c2 = (tf - td) * vi - tf * velocity;
- qreal c3 = -0.5 * (tf - td) * vi * vi;
+ qreal c3 = qreal(-0.5) * (tf - td) * vi * vi;
- qreal vp1 = (-c2 + sqrt(c2 * c2 - 4 * c1 * c3)) / (2. * c1);
+ qreal vp1 = (-c2 + qSqrt(c2 * c2 - 4 * c1 * c3)) / (qreal(2.) * c1);
vp = vp1;
a = vp / met;
d = a;
tp = (vp - vi) / a;
- sp = vi * tp + 0.5 * a * tp * tp;
+ sp = vi * tp + qreal(0.5) * a * tp * tp;
sd = sp + (td - tp) * vp;
} else {
- qreal c1 = 0.25 * tf * tf;
- qreal c2 = 0.5 * vi * tf - s;
- qreal c3 = -0.25 * vi * vi;
+ qreal c1 = qreal(0.25) * tf * tf;
+ qreal c2 = qreal(0.5) * vi * tf - s;
+ qreal c3 = qreal(-0.25) * vi * vi;
- qreal a1 = (-c2 + sqrt(c2 * c2 - 4 * c1 * c3)) / (2. * c1);
+ qreal a1 = (-c2 + qSqrt(c2 * c2 - 4 * c1 * c3)) / (qreal(2.) * c1);
- qreal tp1 = 0.5 * tf - 0.5 * vi / a1;
+ qreal tp1 = qreal(0.5) * tf - qreal(0.5) * vi / a1;
qreal vp1 = a1 * tp1 + vi;
- qreal sp1 = 0.5 * a1 * tp1 * tp1 + vi * tp1;
+ qreal sp1 = qreal(0.5) * a1 * tp1 * tp1 + vi * tp1;
a = a1;
d = a1;
@@ -165,7 +165,7 @@ qreal QSmoothedAnimation::easeFollow(qreal time_seconds)
qreal value;
if (time_seconds < tp) {
trackVelocity = vi + time_seconds * a;
- value = 0.5 * a * time_seconds * time_seconds + vi * time_seconds;
+ value = qreal(0.5) * a * time_seconds * time_seconds + vi * time_seconds;
} else if (time_seconds < td) {
time_seconds -= tp;
trackVelocity = vp;
@@ -173,7 +173,7 @@ qreal QSmoothedAnimation::easeFollow(qreal time_seconds)
} else if (time_seconds < tf) {
time_seconds -= td;
trackVelocity = vp - time_seconds * a;
- value = sd - 0.5 * d * time_seconds * time_seconds + vp * time_seconds;
+ value = sd - qreal(0.5) * d * time_seconds * time_seconds + vp * time_seconds;
} else {
trackVelocity = 0;
value = s;
@@ -186,10 +186,10 @@ qreal QSmoothedAnimation::easeFollow(qreal time_seconds)
void QSmoothedAnimation::updateCurrentTime(int t)
{
- qreal time_seconds = qreal(t - lastTime) / 1000.;
+ qreal time_seconds = qreal(t - lastTime) / qreal(1000.);
qreal value = easeFollow(time_seconds);
- value *= (invert? -1.0: 1.0);
+ value *= (invert? qreal(-1.0): qreal(1.0));
QDeclarativePropertyPrivate::write(target, initialValue + value,
QDeclarativePropertyPrivate::BypassInterceptor
| QDeclarativePropertyPrivate::DontRemoveBinding);
@@ -213,7 +213,7 @@ void QSmoothedAnimation::init()
return;
}
- bool hasReversed = trackVelocity != 0. &&
+ bool hasReversed = trackVelocity != qreal(0.) &&
((!invert) == ((initialValue - to) > 0));
if (hasReversed) {
diff --git a/src/declarative/util/qdeclarativespringanimation.cpp b/src/declarative/util/qdeclarativespringanimation.cpp
index 2c6058c..0b453ee 100644
--- a/src/declarative/util/qdeclarativespringanimation.cpp
+++ b/src/declarative/util/qdeclarativespringanimation.cpp
@@ -161,17 +161,17 @@ bool QDeclarativeSpringAnimationPrivate::animate(const QDeclarativeProperty &pro
animation.velocity = animation.velocity + (spring * diff - damping * animation.velocity) / mass;
else
animation.velocity = animation.velocity + spring * diff - damping * animation.velocity;
- if (maxVelocity > 0.) {
+ if (maxVelocity > qreal(0.)) {
// limit velocity
if (animation.velocity > maxVelocity)
animation.velocity = maxVelocity;
else if (animation.velocity < -maxVelocity)
animation.velocity = -maxVelocity;
}
- animation.currentValue += animation.velocity * 16.0 / 1000.0;
+ animation.currentValue += animation.velocity * qreal(16.0) / qreal(1000.0);
if (haveModulus) {
animation.currentValue = fmod(animation.currentValue, modulus);
- if (animation.currentValue < 0.0)
+ if (animation.currentValue < qreal(0.0))
animation.currentValue += modulus;
}
}
@@ -195,7 +195,7 @@ bool QDeclarativeSpringAnimationPrivate::animate(const QDeclarativeProperty &pro
animation.currentValue = fmod(animation.currentValue, modulus);
} else {
animation.currentValue -= moveBy;
- if (haveModulus && animation.currentValue < 0.0)
+ if (haveModulus && animation.currentValue < qreal(0.0))
animation.currentValue = fmod(animation.currentValue, modulus) + modulus;
}
if (lastTime - animation.start >= animation.duration) {
diff --git a/src/declarative/util/qdeclarativestateoperations.cpp b/src/declarative/util/qdeclarativestateoperations.cpp
index c260684..8f613b0 100644
--- a/src/declarative/util/qdeclarativestateoperations.cpp
+++ b/src/declarative/util/qdeclarativestateoperations.cpp
@@ -123,7 +123,7 @@ void QDeclarativeParentChangePrivate::doChange(QDeclarativeItem *targetParent, Q
}
if (scale != 0)
- rotation = atan2(transform.m12()/scale, transform.m11()/scale) * 180/M_PI;
+ rotation = atan2(transform.m12()/scale, transform.m11()/scale) * 180/qreal(M_PI);
else {
qmlInfo(q) << QDeclarativeParentChange::tr("Unable to preserve appearance under scale of 0");
ok = false;
diff --git a/src/declarative/util/qdeclarativeview.h b/src/declarative/util/qdeclarativeview.h
index b3854fc..ef51934 100644
--- a/src/declarative/util/qdeclarativeview.h
+++ b/src/declarative/util/qdeclarativeview.h
@@ -47,6 +47,7 @@
#include <QtGui/qgraphicssceneevent.h>
#include <QtGui/qgraphicsview.h>
#include <QtGui/qwidget.h>
+#include <QtDeclarative/qdeclarativedebug.h>
QT_BEGIN_HEADER
diff --git a/src/declarative/util/qdeclarativexmllistmodel.cpp b/src/declarative/util/qdeclarativexmllistmodel.cpp
index 658dcad..980568e 100644
--- a/src/declarative/util/qdeclarativexmllistmodel.cpp
+++ b/src/declarative/util/qdeclarativexmllistmodel.cpp
@@ -530,7 +530,7 @@ public:
void notifyQueryStarted(bool remoteSource) {
Q_Q(QDeclarativeXmlListModel);
- progress = remoteSource ? 0.0 : 1.0;
+ progress = remoteSource ? qreal(0.0) : qreal(1.0);
status = QDeclarativeXmlListModel::Loading;
errorString.clear();
emit q->progressChanged(progress);
diff --git a/src/gui/dialogs/qfiledialog_win.cpp b/src/gui/dialogs/qfiledialog_win.cpp
index de8e33d..6691ff1 100644
--- a/src/gui/dialogs/qfiledialog_win.cpp
+++ b/src/gui/dialogs/qfiledialog_win.cpp
@@ -670,7 +670,7 @@ QStringList qt_win_get_open_file_names(const QFileDialogArgs &args,
// GetOpenFileName() will return only one folder name for all the files. To retrieve
// the correct path for all selected files, we have to use Common Item Dialog interfaces.
#ifndef Q_WS_WINCE
- if (QSysInfo::WindowsVersion >= QSysInfo::WV_VISTA && QSysInfo::WindowsVersion < QSysInfo::WV_NT_based)
+ if (QSysInfo::WindowsVersion >= QSysInfo::WV_VISTA && (QSysInfo::WindowsVersion & QSysInfo::WV_NT_based))
return qt_win_CID_get_open_file_names(args, initialDirectory, filterLst, selectedFilter, idx);
#endif
@@ -757,7 +757,7 @@ static int __stdcall winGetExistDirCallbackProc(HWND hwnd,
QString qt_win_get_existing_directory(const QFileDialogArgs &args)
{
#ifndef Q_WS_WINCE
- if (QSysInfo::WindowsVersion >= QSysInfo::WV_VISTA && QSysInfo::WindowsVersion < QSysInfo::WV_NT_based)
+ if (QSysInfo::WindowsVersion >= QSysInfo::WV_VISTA && (QSysInfo::WindowsVersion & QSysInfo::WV_NT_based))
return qt_win_CID_get_existing_directory(args);
#endif
diff --git a/src/gui/dialogs/qmessagebox.cpp b/src/gui/dialogs/qmessagebox.cpp
index 66e7216..149e267 100644
--- a/src/gui/dialogs/qmessagebox.cpp
+++ b/src/gui/dialogs/qmessagebox.cpp
@@ -548,8 +548,8 @@ void QMessageBoxPrivate::_q_buttonClicked(QAbstractButton *button)
\snippet doc/src/snippets/code/src_gui_dialogs_qmessagebox.cpp 6
This is the approach recommended in the
- \l{http://developer.apple.com/documentation/UserExperience/Conceptual/AppleHIGuidelines/XHIGWindows/chapter_18_section_7.html}
- {Mac OS X Guidlines}. Similar guidlines apply for the other
+ \l{http://developer.apple.com/library/mac/documentation/UserExperience/Conceptual/AppleHIGuidelines/Windows/Windows.html#//apple_ref/doc/uid/20000961-BABCAJID}
+ {Mac OS X Guidelines}. Similar guidelines apply for the other
platforms, but note the different ways the
\l{QMessageBox::informativeText} {informative text} is handled for
different platforms.
diff --git a/src/gui/dialogs/qwizard.cpp b/src/gui/dialogs/qwizard.cpp
index 83bdaa0..9f8d526 100644
--- a/src/gui/dialogs/qwizard.cpp
+++ b/src/gui/dialogs/qwizard.cpp
@@ -572,8 +572,7 @@ public:
#endif
}
#if !defined(QT_NO_STYLE_WINDOWSVISTA)
- if (QSysInfo::WindowsVersion >= QSysInfo::WV_VISTA
- && QSysInfo::WindowsVersion < QSysInfo::WV_NT_based)
+ if (QSysInfo::WindowsVersion >= QSysInfo::WV_VISTA && (QSysInfo::WindowsVersion & QSysInfo::WV_NT_based))
vistaInitPending = true;
#endif
}
diff --git a/src/gui/egl/qegl.cpp b/src/gui/egl/qegl.cpp
index 2a37d45..6fe1c8c 100644
--- a/src/gui/egl/qegl.cpp
+++ b/src/gui/egl/qegl.cpp
@@ -684,6 +684,37 @@ EGLSurface QEgl::createSurface(QPaintDevice *device, EGLConfig cfg, const QEglPr
else
props = 0;
EGLSurface surf;
+#ifdef Q_OS_SYMBIAN
+ // On Symbian there might be situations (especially on 32MB GPU devices)
+ // where Qt is trying to create EGL surface while some other application
+ // is still holding all available GPU memory but is about to release it
+ // soon. For an example when exiting native video recorder and going back to
+ // Qt application behind it. Video stack tear down takes some time and Qt
+ // app might be too quick in reserving its EGL surface and thus running out
+ // of GPU memory right away. So if EGL surface creation fails due to bad
+ // alloc, let's try recreating it four times within ~1 second if needed.
+ // This strategy gives some time for video recorder to tear down its stack
+ // and a chance to Qt for creating a valid surface.
+ int tries = 4;
+ while(tries--) {
+ if (devType == QInternal::Widget)
+ surf = eglCreateWindowSurface(QEgl::display(), cfg, windowDrawable, props);
+ else
+ surf = eglCreatePixmapSurface(QEgl::display(), cfg, pixmapDrawable, props);
+ if (surf == EGL_NO_SURFACE) {
+ EGLint error = eglGetError();
+ if (error == EGL_BAD_ALLOC) {
+ if (tries) {
+ User::After(1000 * 250); // 250ms
+ continue;
+ }
+ }
+ qWarning("QEglContext::createSurface(): Unable to create EGL surface, error = 0x%x", error);
+ } else {
+ break;
+ }
+ }
+#else
if (devType == QInternal::Widget)
surf = eglCreateWindowSurface(QEgl::display(), cfg, windowDrawable, props);
else
@@ -691,6 +722,7 @@ EGLSurface QEgl::createSurface(QPaintDevice *device, EGLConfig cfg, const QEglPr
if (surf == EGL_NO_SURFACE) {
qWarning("QEglContext::createSurface(): Unable to create EGL surface, error = 0x%x", eglGetError());
}
+#endif
return surf;
}
#endif
diff --git a/src/gui/graphicsview/qgraphicsitem.cpp b/src/gui/graphicsview/qgraphicsitem.cpp
index 9092593..cb7349c 100644
--- a/src/gui/graphicsview/qgraphicsitem.cpp
+++ b/src/gui/graphicsview/qgraphicsitem.cpp
@@ -8868,7 +8868,7 @@ QPainterPath QGraphicsEllipseItem::shape() const
return path;
if (d->spanAngle != 360 * 16) {
path.moveTo(d->rect.center());
- path.arcTo(d->rect, d->startAngle / 16.0, d->spanAngle / 16.0);
+ path.arcTo(d->rect, d->startAngle / qreal(16.0), d->spanAngle / qreal(16.0));
} else {
path.addEllipse(d->rect);
}
diff --git a/src/gui/graphicsview/qgraphicsscene.cpp b/src/gui/graphicsview/qgraphicsscene.cpp
index 867880c..d652f25 100644
--- a/src/gui/graphicsview/qgraphicsscene.cpp
+++ b/src/gui/graphicsview/qgraphicsscene.cpp
@@ -4304,7 +4304,7 @@ static void _q_paintItem(QGraphicsItem *item, QPainter *painter,
QGraphicsWidget *widgetItem = static_cast<QGraphicsWidget *>(item);
QGraphicsProxyWidget *proxy = qobject_cast<QGraphicsProxyWidget *>(widgetItem);
const qreal windowOpacity = (proxy && proxy->widget() && useWindowOpacity)
- ? proxy->widget()->windowOpacity() : 1.0;
+ ? proxy->widget()->windowOpacity() : qreal(1.0);
const qreal oldPainterOpacity = painter->opacity();
if (qFuzzyIsNull(windowOpacity))
diff --git a/src/gui/graphicsview/qgraphicsview.cpp b/src/gui/graphicsview/qgraphicsview.cpp
index 548f79f..d2e21fb 100644
--- a/src/gui/graphicsview/qgraphicsview.cpp
+++ b/src/gui/graphicsview/qgraphicsview.cpp
@@ -298,7 +298,7 @@ inline int q_round_bound(qreal d) //### (int)(qreal) INT_MAX != INT_MAX for sing
return INT_MIN;
else if (d >= (qreal) INT_MAX)
return INT_MAX;
- return d >= 0.0 ? int(d + 0.5) : int(d - int(d-1) + 0.5) + int(d-1);
+ return d >= 0.0 ? int(d + qreal(0.5)) : int(d - int(d-1) + qreal(0.5)) + int(d-1);
}
void QGraphicsViewPrivate::translateTouchEvent(QGraphicsViewPrivate *d, QTouchEvent *touchEvent)
@@ -1830,14 +1830,14 @@ void QGraphicsView::centerOn(const QPointF &pos)
qint64 horizontal = 0;
horizontal += horizontalScrollBar()->minimum();
horizontal += horizontalScrollBar()->maximum();
- horizontal -= int(viewPoint.x() - width / 2.0);
+ horizontal -= int(viewPoint.x() - width / qreal(2.0));
horizontalScrollBar()->setValue(horizontal);
} else {
- horizontalScrollBar()->setValue(int(viewPoint.x() - width / 2.0));
+ horizontalScrollBar()->setValue(int(viewPoint.x() - width / qreal(2.0)));
}
}
if (!d->topIndent)
- verticalScrollBar()->setValue(int(viewPoint.y() - height / 2.0));
+ verticalScrollBar()->setValue(int(viewPoint.y() - height / qreal(2.0)));
d->lastCenterPoint = oldCenterPoint;
}
@@ -1886,22 +1886,22 @@ void QGraphicsView::ensureVisible(const QRectF &rect, int xmargin, int ymargin)
if (viewRect.left() <= left + xmargin) {
// need to scroll from the left
if (!d->leftIndent)
- horizontalScrollBar()->setValue(int(viewRect.left() - xmargin - 0.5));
+ horizontalScrollBar()->setValue(int(viewRect.left() - xmargin - qreal(0.5)));
}
if (viewRect.right() >= right - xmargin) {
// need to scroll from the right
if (!d->leftIndent)
- horizontalScrollBar()->setValue(int(viewRect.right() - width + xmargin + 0.5));
+ horizontalScrollBar()->setValue(int(viewRect.right() - width + xmargin + qreal(0.5)));
}
if (viewRect.top() <= top + ymargin) {
// need to scroll from the top
if (!d->topIndent)
- verticalScrollBar()->setValue(int(viewRect.top() - ymargin - 0.5));
+ verticalScrollBar()->setValue(int(viewRect.top() - ymargin - qreal(0.5)));
}
if (viewRect.bottom() >= bottom - ymargin) {
// need to scroll from the bottom
if (!d->topIndent)
- verticalScrollBar()->setValue(int(viewRect.bottom() - height + ymargin + 0.5));
+ verticalScrollBar()->setValue(int(viewRect.bottom() - height + ymargin + qreal(0.5)));
}
}
diff --git a/src/gui/graphicsview/qgraphicswidget_p.cpp b/src/gui/graphicsview/qgraphicswidget_p.cpp
index ca6713b..ec79a2f 100644
--- a/src/gui/graphicsview/qgraphicswidget_p.cpp
+++ b/src/gui/graphicsview/qgraphicswidget_p.cpp
@@ -482,8 +482,8 @@ static QSizeF closestAcceptableSize(const QSizeF &proposed,
minw = maxw;
minh = maxh;
}
- middlew = minw + (maxw - minw)/2.0;
- middleh = minh + (maxh - minh)/2.0;
+ middlew = minw + (maxw - minw)/qreal(2.0);
+ middleh = minh + (maxh - minh)/qreal(2.0);
min_hfw = minimumHeightForWidth(middlew, minh, maxh, widget);
diff --git a/src/gui/graphicsview/qgridlayoutengine.cpp b/src/gui/graphicsview/qgridlayoutengine.cpp
index 66b4a5b..5c61435 100644
--- a/src/gui/graphicsview/qgridlayoutengine.cpp
+++ b/src/gui/graphicsview/qgridlayoutengine.cpp
@@ -84,7 +84,7 @@ static qreal fixedDescent(qreal descent, qreal ascent, qreal targetSize)
Q_ASSERT(targetSize >= ascent + descent);
qreal extra = targetSize - (ascent + descent);
- return descent + (extra / 2.0);
+ return descent + (extra / qreal(2.0));
}
static qreal compare(const QGridLayoutBox &box1, const QGridLayoutBox &box2, int which)
@@ -292,9 +292,9 @@ void QGridLayoutRowData::calculateGeometries(int start, int end, qreal targetSiz
int stretch = stretches[start + i];
if (sumStretches == 0) {
if (hasIgnoreFlag) {
- factors[i] = (stretch < 0) ? 1.0 : 0.0;
+ factors[i] = (stretch < 0) ? qreal(1.0) : qreal(0.0);
} else {
- factors[i] = (stretch < 0) ? sizes[i] : 0.0;
+ factors[i] = (stretch < 0) ? sizes[i] : qreal(0.0);
}
} else if (stretch == sumStretches) {
factors[i] = 1.0;
@@ -373,7 +373,7 @@ void QGridLayoutRowData::calculateGeometries(int start, int end, qreal targetSiz
for (int i = 0; i < n; ++i) {
if (newSizes[i] < 0.0) {
- qreal delta = (sumFactors == 0.0) ? 0.0
+ qreal delta = (sumFactors == 0.0) ? qreal(0.0)
: sumCurrentAvailable * factors[i] / sumFactors;
newSizes[i] = sizes[i] + delta;
}
diff --git a/src/gui/graphicsview/qsimplex_p.cpp b/src/gui/graphicsview/qsimplex_p.cpp
index eb8bcb8..1b45d9d 100644
--- a/src/gui/graphicsview/qsimplex_p.cpp
+++ b/src/gui/graphicsview/qsimplex_p.cpp
@@ -486,7 +486,7 @@ bool QSimplex::iterate()
// Normalize Pivot Row
qreal pivot = valueAt(pivotRow, pivotColumn);
if (pivot != 1.0)
- combineRows(pivotRow, pivotRow, (1.0 - pivot) / pivot);
+ combineRows(pivotRow, pivotRow, (qreal(1.0) - pivot) / pivot);
// Update other rows
for (int row=0; row < rows; ++row) {
diff --git a/src/gui/image/qimage.cpp b/src/gui/image/qimage.cpp
index a3378de..f527bcf 100644
--- a/src/gui/image/qimage.cpp
+++ b/src/gui/image/qimage.cpp
@@ -5908,12 +5908,12 @@ bool qt_xForm_helper(const QTransform &trueMat, int xoffset, int type, int depth
uchar *dptr, int dbpl, int p_inc, int dHeight,
const uchar *sptr, int sbpl, int sWidth, int sHeight)
{
- int m11 = int(trueMat.m11()*4096.0);
- int m12 = int(trueMat.m12()*4096.0);
- int m21 = int(trueMat.m21()*4096.0);
- int m22 = int(trueMat.m22()*4096.0);
- int dx = qRound(trueMat.dx()*4096.0);
- int dy = qRound(trueMat.dy()*4096.0);
+ int m11 = int(trueMat.m11()*qreal(4096.0));
+ int m12 = int(trueMat.m12()*qreal(4096.0));
+ int m21 = int(trueMat.m21()*qreal(4096.0));
+ int m22 = int(trueMat.m22()*qreal(4096.0));
+ int dx = qRound(trueMat.dx()*qreal(4096.0));
+ int dy = qRound(trueMat.dy()*qreal(4096.0));
int m21ydx = dx + (xoffset<<16) + (m11 + m21) / 2;
int m22ydy = dy + (m12 + m22) / 2;
diff --git a/src/gui/image/qvolatileimage.cpp b/src/gui/image/qvolatileimage.cpp
index 9734c82..350d70f 100644
--- a/src/gui/image/qvolatileimage.cpp
+++ b/src/gui/image/qvolatileimage.cpp
@@ -248,12 +248,14 @@ void QVolatileImage::copyFrom(QVolatileImage *source, const QRect &rect)
const uchar *sptr = srcImgRef.constBits() + r.y() * srcbpl;
beginDataAccess();
QImage &dstImgRef(imageRef());
- int dstbpl = dstImgRef.bytesPerLine();
- uchar *dptr = dstImgRef.bits();
- for (int y = 0; y < r.height(); ++y) {
- qMemCopy(dptr, sptr + r.x() * srcbpp, r.width() * srcbpp);
- sptr += srcbpl;
- dptr += dstbpl;
+ if (!dstImgRef.isNull()) {
+ int dstbpl = dstImgRef.bytesPerLine();
+ uchar *dptr = dstImgRef.bits();
+ for (int y = 0; y < r.height(); ++y) {
+ qMemCopy(dptr, sptr + r.x() * srcbpp, r.width() * srcbpp);
+ sptr += srcbpl;
+ dptr += dstbpl;
+ }
}
endDataAccess();
source->endDataAccess(true);
diff --git a/src/gui/inputmethod/qcoefepinputcontext_p.h b/src/gui/inputmethod/qcoefepinputcontext_p.h
index 8ef9726..ad51b4b 100644
--- a/src/gui/inputmethod/qcoefepinputcontext_p.h
+++ b/src/gui/inputmethod/qcoefepinputcontext_p.h
@@ -136,6 +136,7 @@ private:
private Q_SLOTS:
void ensureInputCapabilitiesChanged();
void translateInputWidget();
+ void ensureWidgetVisibility();
// From MCoeFepAwareTextEditor
public:
@@ -208,6 +209,7 @@ private:
int m_splitViewResizeBy;
Qt::WindowStates m_splitViewPreviousWindowStates;
QRectF m_transformation;
+ QGraphicsItem *m_splitViewPreviousFocusItem; //can't use QPointer<> since QGraphicsItem is not a QObject.
CAknCcpuSupport *m_ccpu;
QAction *m_copyAction;
diff --git a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
index 9025221..8f13c53 100644
--- a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
+++ b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
@@ -94,6 +94,11 @@
#define QT_EPSUidAknFep 0x100056de
#define QT_EAknFepTouchInputActive 0x00000004
+// For compatibility with older Symbian^3 environments, which do not have this define yet.
+#ifndef R_AVKON_DISCREET_POPUP_TEXT_COPIED
+#define R_AVKON_DISCREET_POPUP_TEXT_COPIED 0x8cc0227
+#endif
+
_LIT(KAvkonResourceFile, "z:\\resource\\avkon.rsc" );
QT_BEGIN_NAMESPACE
@@ -377,6 +382,7 @@ QCoeFepInputContext::QCoeFepInputContext(QObject *parent)
m_hasTempPreeditString(false),
m_splitViewResizeBy(0),
m_splitViewPreviousWindowStates(Qt::WindowNoState),
+ m_splitViewPreviousFocusItem(0),
m_ccpu(0)
{
m_fepState->SetObjectProvider(this);
@@ -446,6 +452,11 @@ void QCoeFepInputContext::reset()
if (m_cachedPreeditString.isEmpty() && !(currentHints & Qt::ImhNoPredictiveText))
m_cachedPreeditString = m_preeditString;
commitCurrentString(true);
+
+ // QGraphicsScene calls reset() when changing focus item. Unfortunately, the new focus item is
+ // set right after resetting the input context. Therefore, asynchronously call ensureWidgetVisibility().
+ if (S60->splitViewLastWidget)
+ QMetaObject::invokeMethod(this,"ensureWidgetVisibility", Qt::QueuedConnection);
}
void QCoeFepInputContext::ReportAknEdStateEvent(MAknEdStateObserver::EAknEdwinStateEvent aEventType)
@@ -788,9 +799,8 @@ void QCoeFepInputContext::resetSplitViewWidget(bool keepInputWidget)
{
QGraphicsView *gv = qobject_cast<QGraphicsView*>(S60->splitViewLastWidget);
- if (!gv) {
+ if (!gv)
return;
- }
QSymbianControl *symControl = static_cast<QSymbianControl*>(gv->effectiveWinId());
symControl->CancelLongTapTimer();
@@ -805,11 +815,13 @@ void QCoeFepInputContext::resetSplitViewWidget(bool keepInputWidget)
if (!alwaysResize) {
if (gv->scene() && S60->partial_keyboardAutoTranslation) {
if (gv->scene()->focusItem()) {
+ QGraphicsItem *focusItem =
+ m_splitViewPreviousFocusItem ? m_splitViewPreviousFocusItem : gv->scene()->focusItem();
// Check if the widget contains cursorPositionChanged signal and disconnect from it.
QByteArray signal = QMetaObject::normalizedSignature(SIGNAL(cursorPositionChanged()));
- int index = gv->scene()->focusItem()->toGraphicsObject()->metaObject()->indexOfSignal(signal.right(signal.length() - 1));
+ int index = focusItem->toGraphicsObject()->metaObject()->indexOfSignal(signal.right(signal.length() - 1));
if (index != -1)
- disconnect(gv->scene()->focusItem()->toGraphicsObject(), SIGNAL(cursorPositionChanged()), this, SLOT(translateInputWidget()));
+ disconnect(focusItem->toGraphicsObject(), SIGNAL(cursorPositionChanged()), this, SLOT(translateInputWidget()));
}
QGraphicsItem *rootItem = 0;
@@ -877,10 +889,18 @@ bool QCoeFepInputContext::isPartialKeyboardSupported()
return (S60->partial_keyboard || !QApplication::testAttribute(Qt::AA_S60DisablePartialScreenInputMode));
}
+void QCoeFepInputContext::ensureWidgetVisibility()
+{
+ ensureFocusWidgetVisible(S60->splitViewLastWidget);
+}
+
// Ensure that the input widget is visible in the splitview rect.
void QCoeFepInputContext::ensureFocusWidgetVisible(QWidget *widget)
{
+ if (!widget)
+ return;
+
// Native side opening and closing its virtual keyboard when it changes the keyboard layout,
// has an adverse impact on long tap timer. Cancel the timer when splitview opens to avoid this.
QSymbianControl *symControl = static_cast<QSymbianControl*>(widget->effectiveWinId());
@@ -908,17 +928,22 @@ void QCoeFepInputContext::ensureFocusWidgetVisible(QWidget *widget)
// states getting changed.
if (!moveWithinVisibleArea) {
- // Check if the widget contains cursorPositionChanged signal and connect to it.
- QByteArray signal = QMetaObject::normalizedSignature(SIGNAL(cursorPositionChanged()));
- if (gv->scene() && gv->scene()->focusItem() && S60->partial_keyboardAutoTranslation) {
- int index = gv->scene()->focusItem()->toGraphicsObject()->metaObject()->indexOfSignal(signal.right(signal.length() - 1));
- if (index != -1)
- connect(gv->scene()->focusItem()->toGraphicsObject(), SIGNAL(cursorPositionChanged()), this, SLOT(translateInputWidget()));
- }
S60->splitViewLastWidget = widget;
m_splitViewPreviousWindowStates = windowToMove->windowState();
}
+ // Check if the widget contains cursorPositionChanged signal and connect to it.
+ if (gv->scene() && gv->scene()->focusItem() && S60->partial_keyboardAutoTranslation) {
+ QByteArray signal = QMetaObject::normalizedSignature(SIGNAL(cursorPositionChanged()));
+ if (m_splitViewPreviousFocusItem && m_splitViewPreviousFocusItem != gv->scene()->focusItem())
+ disconnect(m_splitViewPreviousFocusItem->toGraphicsObject(), SIGNAL(cursorPositionChanged()), this, SLOT(translateInputWidget()));
+ int index = gv->scene()->focusItem()->toGraphicsObject()->metaObject()->indexOfSignal(signal.right(signal.length() - 1));
+ if (index != -1) {
+ connect(gv->scene()->focusItem()->toGraphicsObject(), SIGNAL(cursorPositionChanged()), this, SLOT(translateInputWidget()));
+ m_splitViewPreviousFocusItem = gv->scene()->focusItem();
+ }
+ }
+
int windowTop = widget->window()->pos().y();
const bool userResize = widget->testAttribute(Qt::WA_Resized);
@@ -1083,6 +1108,9 @@ void QCoeFepInputContext::applyHints(Qt::InputMethodHints hints)
} else if (hints & ImhNoAutoUppercase) {
m_fepState->SetDefaultCase(EAknEditorLowerCase);
m_fepState->SetCurrentCase(EAknEditorLowerCase);
+ } else if (hints & ImhHiddenText) {
+ m_fepState->SetDefaultCase(EAknEditorLowerCase);
+ m_fepState->SetCurrentCase(EAknEditorLowerCase);
} else {
m_fepState->SetDefaultCase(EAknEditorTextCase);
m_fepState->SetCurrentCase(EAknEditorTextCase);
@@ -1094,6 +1122,10 @@ void QCoeFepInputContext::applyHints(Qt::InputMethodHints hints)
if (hints & ImhLowercaseOnly) {
flags |= EAknEditorLowerCase;
}
+ if (hints & ImhHiddenText) {
+ flags = EAknEditorAllCaseModes;
+ flags &= ~EAknEditorTextCase;
+ }
if (flags == 0) {
flags = EAknEditorAllCaseModes;
if (hints & ImhNoAutoUppercase) {
@@ -1254,10 +1286,15 @@ void QCoeFepInputContext::translateInputWidget()
m_transformation = (rootItem->transform().isTranslating()) ? QRectF(0,0, gv->width(), rootItem->transform().dy()) : QRectF();
- // Adjust cursor bounding rect to be lower, so that view translates if the cursor gets near
- // the splitview border.
- QRect cursorRect = cursorP.boundingRect().adjusted(0, cursor.height(), 0, cursor.height());
- if (splitViewRect.contains(cursorRect))
+ // Adjust cursor bounding rect towards navigation direction,
+ // so that view translates if the cursor gets near the splitview border.
+ QRect cursorRect = (cursorP.boundingRect().top() < 0) ?
+ cursorP.boundingRect().adjusted(0, -cursor.height(), 0, -cursor.height()) :
+ cursorP.boundingRect().adjusted(0, cursor.height(), 0, cursor.height());
+
+ // If the current cursor position and upcoming cursor positions are visible in the splitview
+ // area, do not move the view.
+ if (splitViewRect.contains(cursorRect) && splitViewRect.contains(cursorP.boundingRect()))
return;
// New Y position should be ideally just above the keyboard.
@@ -1269,18 +1306,29 @@ void QCoeFepInputContext::translateInputWidget()
const qreal itemHeight = path.boundingRect().height();
// Limit the maximum translation so that underlaying window content is not exposed.
- qreal maxY = gv->sceneRect().bottom() - splitViewRect.bottom();
- maxY = m_transformation.height() ? (qMin(itemHeight, maxY) + m_transformation.height()) : maxY;
- if (maxY < 0)
- maxY = 0;
+ qreal availableSpace = gv->sceneRect().bottom() - splitViewRect.bottom();
+ availableSpace = m_transformation.height() ?
+ (qMin(itemHeight, availableSpace) + m_transformation.height()) :
+ availableSpace;
// Translation should happen row-by-row, but initially it needs to ensure that cursor is visible.
const qreal translation = m_transformation.height() ?
cursor.height() : (cursorRect.bottom() - vkbRect.top());
- const qreal dy = -(qMin(maxY, translation));
+ qreal dy = 0.0;
+ if (availableSpace > 0)
+ dy = -(qMin(availableSpace, translation));
+ else
+ dy = -(translation);
+
+ // Correct the translation direction, if the cursor rect would be moved above application area.
+ if ((cursorP.boundingRect().bottom() + dy) < 0)
+ dy *= -1;
- // Do not allow transform above screen top, nor beyond scenerect
- if (m_transformation.height() + dy > 0 || gv->sceneRect().bottom() + m_transformation.height() < 0) {
+ // Do not allow transform above screen top, nor beyond scenerect. Also, if there is no available
+ // space anymore, skip translation.
+ if ((m_transformation.height() + dy) > 0
+ || (gv->sceneRect().bottom() + m_transformation.height()) < 0
+ || !availableSpace) {
// If we already have some transformation, remove it.
if (m_transformation.height() < 0 || gv->sceneRect().bottom() + m_transformation.height() < 0) {
rootItem->resetTransform();
@@ -1596,8 +1644,6 @@ void QCoeFepInputContext::changeCBA(bool showCopyAndOrPaste)
void QCoeFepInputContext::copyOrCutTextToClipboard(const char *operation)
{
- bool hasText = false;
-
QWidget *w = focusWidget();
QObject *focusObject = 0;
if (!w) {
@@ -1613,11 +1659,13 @@ void QCoeFepInputContext::copyOrCutTextToClipboard(const char *operation)
if (cursor != anchor) {
if (ccpuInvokeSlot(w, focusObject, operation)) {
- TRAP_IGNORE(
- CAknDiscreetPopup::ShowGlobalPopupL(
- R_AVKON_DISCREET_POPUP_TEXT_COPIED,
- KAvkonResourceFile);
- )
+ if (QSysInfo::symbianVersion() > QSysInfo::SV_SF_3) {
+ TRAP_IGNORE(
+ CAknDiscreetPopup::ShowGlobalPopupL(
+ R_AVKON_DISCREET_POPUP_TEXT_COPIED,
+ KAvkonResourceFile);
+ )
+ }
}
}
}
@@ -1696,15 +1744,33 @@ TBool QCoeFepInputContext::CcpuIsFocused() const
TBool QCoeFepInputContext::CcpuCanCut() const
{
bool retval = false;
+ if (m_inDestruction)
+ return retval;
QWidget *w = focusWidget();
- if (!w)
+ QObject *focusObject = 0;
+ if (!w) {
w = m_lastFocusedEditor;
- else
- w = getQWidgetFromQGraphicsView(w);
+ focusObject = m_lastFocusedObject;
+ } else {
+ w = getQWidgetFromQGraphicsView(w, &focusObject);
+ }
if (w) {
- int cursor = w->inputMethodQuery(Qt::ImCursorPosition).toInt();
- int anchor = w->inputMethodQuery(Qt::ImAnchorPosition).toInt();
- retval = cursor != anchor;
+ QRect microFocus = w->inputMethodQuery(Qt::ImMicroFocus).toRect();
+ if (microFocus.isNull()) {
+ // For some reason, the editor does not have microfocus. Most probably,
+ // it is due to using native fullscreen editing mode with QML apps.
+ // Try accessing "selectedText" directly.
+ QObject *invokeTarget = w;
+ if (focusObject)
+ invokeTarget = focusObject;
+
+ QString selectedText = invokeTarget->property("selectedText").toString();
+ retval = !selectedText.isNull();
+ } else {
+ int cursor = w->inputMethodQuery(Qt::ImCursorPosition).toInt();
+ int anchor = w->inputMethodQuery(Qt::ImAnchorPosition).toInt();
+ retval = cursor != anchor;
+ }
}
return retval;
}
@@ -1727,6 +1793,9 @@ void QCoeFepInputContext::CcpuCopyL()
TBool QCoeFepInputContext::CcpuCanPaste() const
{
bool canPaste = false;
+ if (m_inDestruction)
+ return canPaste;
+
QString textToPaste = QApplication::clipboard()->text();
if (!textToPaste.isEmpty()) {
QWidget *w = focusWidget();
diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp
index 80bcdf0..03da630 100644
--- a/src/gui/kernel/qapplication_s60.cpp
+++ b/src/gui/kernel/qapplication_s60.cpp
@@ -1493,12 +1493,15 @@ void QSymbianControl::handleClientAreaChange()
}
}
-bool QSymbianControl::isSplitViewWidget(QWidget *widget) {
+bool QSymbianControl::isSplitViewWidget(QWidget *widget)
+{
bool returnValue = true;
- //Ignore events sent to non-active windows, not visible widgets and not parents of input widget.
+ // Ignore events sent to non-active windows, not visible widgets and not parents of input widget
+ // and non-Qt dialogs.
if (!qwidget->isActiveWindow()
|| !qwidget->isVisible()
- || !qwidget->isAncestorOf(widget)) {
+ || !qwidget->isAncestorOf(widget)
+ || CCoeEnv::Static()->AppUi()->IsDisplayingMenuOrDialog()) {
returnValue = false;
}
diff --git a/src/gui/kernel/qapplication_win.cpp b/src/gui/kernel/qapplication_win.cpp
index 756cb56..c472738 100644
--- a/src/gui/kernel/qapplication_win.cpp
+++ b/src/gui/kernel/qapplication_win.cpp
@@ -682,7 +682,7 @@ void QApplicationPrivate::initializeWidgetPaletteHash()
QColor menuText(qt_colorref2qrgb(GetSysColor(COLOR_MENUTEXT)));
BOOL isFlat = false;
if ((QSysInfo::WindowsVersion >= QSysInfo::WV_XP
- && QSysInfo::WindowsVersion < QSysInfo::WV_NT_based))
+ && (QSysInfo::WindowsVersion & QSysInfo::WV_NT_based)))
SystemParametersInfo(SPI_GETFLATMENU, 0, &isFlat, 0);
QPalette menu(pal);
// we might need a special color group for the menu.
@@ -697,7 +697,7 @@ void QApplicationPrivate::initializeWidgetPaletteHash()
menu.setColor(QPalette::Disabled, QPalette::Highlight,
QColor(qt_colorref2qrgb(GetSysColor(
(QSysInfo::WindowsVersion >= QSysInfo::WV_XP
- && QSysInfo::WindowsVersion < QSysInfo::WV_NT_based)
+ && (QSysInfo::WindowsVersion & QSysInfo::WV_NT_based))
&& isFlat ? COLOR_MENUHILIGHT : COLOR_HIGHLIGHT))));
menu.setColor(QPalette::Disabled, QPalette::HighlightedText, disabled);
menu.setColor(QPalette::Disabled, QPalette::Button,
@@ -719,7 +719,7 @@ void QApplicationPrivate::initializeWidgetPaletteHash()
QApplication::setPalette(menu, "QMenu");
if ((QSysInfo::WindowsVersion >= QSysInfo::WV_XP
- && QSysInfo::WindowsVersion < QSysInfo::WV_NT_based) && isFlat) {
+ && (QSysInfo::WindowsVersion & QSysInfo::WV_NT_based)) && isFlat) {
QColor menubar(qt_colorref2qrgb(GetSysColor(COLOR_MENUBAR)));
menu.setColor(QPalette::Active, QPalette::Button, menubar);
menu.setColor(QPalette::Disabled, QPalette::Button, menubar);
@@ -999,7 +999,7 @@ const QString qt_reg_winclass(QWidget *w) // register window class
style = CS_DBLCLKS;
if (w->inherits("QTipLabel") || w->inherits("QAlphaWidget")) {
if ((QSysInfo::WindowsVersion >= QSysInfo::WV_XP
- && QSysInfo::WindowsVersion < QSysInfo::WV_NT_based)) {
+ && (QSysInfo::WindowsVersion & QSysInfo::WV_NT_based))) {
style |= CS_DROPSHADOW;
}
cname = QLatin1String("QToolTip");
@@ -1017,7 +1017,7 @@ const QString qt_reg_winclass(QWidget *w) // register window class
style |= CS_SAVEBITS;
#endif
if ((QSysInfo::WindowsVersion >= QSysInfo::WV_XP
- && QSysInfo::WindowsVersion < QSysInfo::WV_NT_based))
+ && (QSysInfo::WindowsVersion & QSysInfo::WV_NT_based)))
style |= CS_DROPSHADOW;
icon = false;
} else {
@@ -4161,7 +4161,8 @@ PtrCloseTouchInputHandle QApplicationPrivate::CloseTouchInputHandle = 0;
void QApplicationPrivate::initializeMultitouch_sys()
{
- if (QSysInfo::windowsVersion() >= QSysInfo::WV_WINDOWS7) {
+ if (QSysInfo::windowsVersion() >= QSysInfo::WV_WINDOWS7
+ && (QSysInfo::WindowsVersion & QSysInfo::WV_NT_based)) {
static const int QT_SM_DIGITIZER = 94;
int value = GetSystemMetrics(QT_SM_DIGITIZER);
static const int QT_NID_INTEGRATED_TOUCH = 0x01;
diff --git a/src/gui/kernel/qcursor_win.cpp b/src/gui/kernel/qcursor_win.cpp
index cef83f5..a68472c 100644
--- a/src/gui/kernel/qcursor_win.cpp
+++ b/src/gui/kernel/qcursor_win.cpp
@@ -477,7 +477,7 @@ void QCursorData::update()
QPixmap pixmap = QApplicationPrivate::instance()->getPixmapCursor(cshape);
hcurs = create32BitCursor(pixmap, hx, hy);
}
- break;
+ return;
default:
qWarning("QCursor::update: Invalid cursor shape %d", cshape);
return;
diff --git a/src/gui/kernel/qguiplatformplugin.cpp b/src/gui/kernel/qguiplatformplugin.cpp
index 708859d..04fd111 100644
--- a/src/gui/kernel/qguiplatformplugin.cpp
+++ b/src/gui/kernel/qguiplatformplugin.cpp
@@ -137,10 +137,10 @@ QString QGuiPlatformPlugin::styleName()
return QLatin1String("WindowsCE");
#elif defined(Q_WS_WIN)
if ((QSysInfo::WindowsVersion >= QSysInfo::WV_VISTA
- && QSysInfo::WindowsVersion < QSysInfo::WV_NT_based))
+ && (QSysInfo::WindowsVersion & QSysInfo::WV_NT_based)))
return QLatin1String("WindowsVista");
else if ((QSysInfo::WindowsVersion >= QSysInfo::WV_XP
- && QSysInfo::WindowsVersion < QSysInfo::WV_NT_based))
+ && (QSysInfo::WindowsVersion & QSysInfo::WV_NT_based)))
return QLatin1String("WindowsXP");
else
return QLatin1String("Windows"); // default styles for Windows
diff --git a/src/gui/kernel/qsoftkeymanager.cpp b/src/gui/kernel/qsoftkeymanager.cpp
index 9caa37e..cd3450e 100644
--- a/src/gui/kernel/qsoftkeymanager.cpp
+++ b/src/gui/kernel/qsoftkeymanager.cpp
@@ -61,7 +61,7 @@ QString QSoftKeyManager::standardSoftKeyText(StandardSoftKey standardKey)
QString softKeyText;
switch (standardKey) {
case OkSoftKey:
- softKeyText = QSoftKeyManager::tr("Ok");
+ softKeyText = QSoftKeyManager::tr("OK");
break;
case SelectSoftKey:
softKeyText = QSoftKeyManager::tr("Select");
diff --git a/src/gui/kernel/qtooltip.cpp b/src/gui/kernel/qtooltip.cpp
index f880243..178e7b1 100644
--- a/src/gui/kernel/qtooltip.cpp
+++ b/src/gui/kernel/qtooltip.cpp
@@ -184,7 +184,7 @@ QTipLabel::QTipLabel(const QString &text, QWidget *w)
setAlignment(Qt::AlignLeft);
setIndent(1);
qApp->installEventFilter(this);
- setWindowOpacity(style()->styleHint(QStyle::SH_ToolTipLabel_Opacity, 0, this) / 255.0);
+ setWindowOpacity(style()->styleHint(QStyle::SH_ToolTipLabel_Opacity, 0, this) / qreal(255.0));
setMouseTracking(true);
fadingOut = false;
reuseTip(text);
diff --git a/src/gui/kernel/qwhatsthis.cpp b/src/gui/kernel/qwhatsthis.cpp
index 5328cb1..da79250 100644
--- a/src/gui/kernel/qwhatsthis.cpp
+++ b/src/gui/kernel/qwhatsthis.cpp
@@ -227,7 +227,7 @@ QWhatsThat::QWhatsThat(const QString& txt, QWidget* parent, QWidget *showTextFor
}
#if defined(Q_WS_WIN)
if ((QSysInfo::WindowsVersion >= QSysInfo::WV_XP
- && QSysInfo::WindowsVersion < QSysInfo::WV_NT_based))
+ && (QSysInfo::WindowsVersion & QSysInfo::WV_NT_based)))
{
BOOL shadow;
SystemParametersInfo(SPI_GETDROPSHADOW, 0, &shadow, 0);
@@ -305,7 +305,7 @@ void QWhatsThat::paintEvent(QPaintEvent*)
bool drawShadow = true;
#if defined(Q_WS_WIN)
if ((QSysInfo::WindowsVersion >= QSysInfo::WV_XP
- && QSysInfo::WindowsVersion < QSysInfo::WV_NT_based))
+ && (QSysInfo::WindowsVersion & QSysInfo::WV_NT_based)))
{
BOOL shadow;
SystemParametersInfo(SPI_GETDROPSHADOW, 0, &shadow, 0);
diff --git a/src/gui/kernel/qwidget.cpp b/src/gui/kernel/qwidget.cpp
index 0aa1dfa..7055c6b 100644
--- a/src/gui/kernel/qwidget.cpp
+++ b/src/gui/kernel/qwidget.cpp
@@ -2260,10 +2260,16 @@ void QWidgetPrivate::updateIsOpaque()
#endif
#ifdef Q_WS_S60
- if (q->windowType() == Qt::Dialog && q->testAttribute(Qt::WA_TranslucentBackground)
- && S60->avkonComponentsSupportTransparency) {
- setOpaque(false);
- return;
+ if (q->testAttribute(Qt::WA_TranslucentBackground)) {
+ if (q->windowType() & Qt::Dialog || q->windowType() & Qt::Popup) {
+ if (S60->avkonComponentsSupportTransparency) {
+ setOpaque(false);
+ return;
+ }
+ } else {
+ setOpaque(false);
+ return;
+ }
}
#endif
@@ -2283,11 +2289,16 @@ void QWidgetPrivate::updateIsOpaque()
}
if (q->isWindow() && !q->testAttribute(Qt::WA_NoSystemBackground)) {
+#ifdef Q_WS_S60
+ setOpaque(true);
+ return;
+#else
const QBrush &windowBrush = q->palette().brush(QPalette::Window);
if (windowBrush.style() != Qt::NoBrush && windowBrush.isOpaque()) {
setOpaque(true);
return;
}
+#endif
}
setOpaque(false);
}
@@ -10948,11 +10959,14 @@ void QWidget::setAttribute(Qt::WidgetAttribute attribute, bool on)
}
break;
case Qt::WA_TranslucentBackground:
+#if defined(Q_OS_SYMBIAN)
+ setAttribute(Qt::WA_NoSystemBackground, on);
+#else
if (on) {
setAttribute(Qt::WA_NoSystemBackground);
d->updateIsTranslucent();
}
-
+#endif
break;
case Qt::WA_AcceptTouchEvents:
#if defined(Q_WS_WIN) || defined(Q_WS_MAC) || defined(Q_OS_SYMBIAN)
@@ -11049,7 +11063,7 @@ bool QWidget::testAttribute_helper(Qt::WidgetAttribute attribute) const
qreal QWidget::windowOpacity() const
{
Q_D(const QWidget);
- return (isWindow() && d->maybeTopData()) ? d->maybeTopData()->opacity / 255. : 1.0;
+ return (isWindow() && d->maybeTopData()) ? d->maybeTopData()->opacity / qreal(255.) : qreal(1.0);
}
void QWidget::setWindowOpacity(qreal opacity)
diff --git a/src/gui/kernel/qwidget_p.h b/src/gui/kernel/qwidget_p.h
index aefffb6..9ac9479 100644
--- a/src/gui/kernel/qwidget_p.h
+++ b/src/gui/kernel/qwidget_p.h
@@ -233,6 +233,7 @@ struct QTLWExtra {
uint inExpose : 1; // Prevents drawing recursion
uint nativeWindowTransparencyEnabled : 1; // Tracks native window transparency
uint forcedToRaster : 1;
+ uint noSystemRotationDisabled : 1;
#elif defined(Q_WS_QPA)
QPlatformWindow *platformWindow;
QPlatformWindowFormat platformWindowFormat;
diff --git a/src/gui/kernel/qwidget_s60.cpp b/src/gui/kernel/qwidget_s60.cpp
index e06b625..00661ae 100644
--- a/src/gui/kernel/qwidget_s60.cpp
+++ b/src/gui/kernel/qwidget_s60.cpp
@@ -804,19 +804,12 @@ void QWidgetPrivate::setConstraints_sys()
void QWidgetPrivate::s60UpdateIsOpaque()
{
Q_Q(QWidget);
-
if (!q->testAttribute(Qt::WA_WState_Created))
return;
-
const bool writeAlpha = extraData()->nativePaintMode == QWExtra::BlitWriteAlpha;
- if (!q->testAttribute(Qt::WA_TranslucentBackground) && !writeAlpha)
- return;
const bool requireAlphaChannel = !isOpaque || writeAlpha;
-
createTLExtra();
-
RWindow *const window = static_cast<RWindow *>(q->effectiveWinId()->DrawableWindow());
-
#ifdef Q_SYMBIAN_SEMITRANSPARENT_BG_SURFACE
if (QApplicationPrivate::instance()->useTranslucentEGLSurfaces
&& !extra->topextra->forcedToRaster) {
@@ -825,25 +818,47 @@ void QWidgetPrivate::s60UpdateIsOpaque()
return;
}
#endif
+ const bool recreateBackingStore = extra->topextra->backingStore.data() && (
+ QApplicationPrivate::graphics_system_name == QLatin1String("openvg") ||
+ QApplicationPrivate::graphics_system_name == QLatin1String("opengl")
+ );
if (requireAlphaChannel) {
- const TDisplayMode displayMode = static_cast<TDisplayMode>(window->SetRequiredDisplayMode(EColor16MA));
- if (window->SetTransparencyAlphaChannel() == KErrNone) {
+ window->SetRequiredDisplayMode(EColor16MA);
+ if (window->SetTransparencyAlphaChannel() == KErrNone)
window->SetBackgroundColor(TRgb(255, 255, 255, 0));
- extra->topextra->nativeWindowTransparencyEnabled = 1;
- if (extra->topextra->backingStore.data() && (
- QApplicationPrivate::graphics_system_name == QLatin1String("openvg")
- || QApplicationPrivate::graphics_system_name == QLatin1String("opengl"))) {
- // Semi-transparent EGL surfaces aren't supported. We need to
- // recreate backing store to get translucent surface (raster surface).
- extra->topextra->backingStore.create(q);
- extra->topextra->backingStore.registerWidget(q);
- // FixNativeOrientation() will not work without an EGL surface.
+ } else {
+ if (recreateBackingStore) {
+ // Clear the UI surface to ensure that the EGL surface content is visible
+ CWsScreenDevice *screenDevice = S60->screenDevice(q);
+ QScopedPointer<CWindowGc> gc(new CWindowGc(screenDevice));
+ const int err = gc->Construct();
+ if (!err) {
+ gc->Activate(*window);
+ window->BeginRedraw();
+ gc->SetDrawMode(CWindowGc::EDrawModeWriteAlpha);
+ gc->SetBrushColor(TRgb(0, 0, 0, 0));
+ gc->Clear(TRect(0, 0, q->width(), q->height()));
+ window->EndRedraw();
+ }
+ }
+ if (extra->topextra->nativeWindowTransparencyEnabled)
+ window->SetTransparentRegion(TRegionFix<1>());
+ }
+ extra->topextra->nativeWindowTransparencyEnabled = requireAlphaChannel;
+ if (recreateBackingStore) {
+ extra->topextra->backingStore.create(q);
+ extra->topextra->backingStore.registerWidget(q);
+ bool noSystemRotationDisabled = false;
+ if (requireAlphaChannel) {
+ if (q->testAttribute(Qt::WA_SymbianNoSystemRotation)) {
+ // FixNativeOrientation() will not work without an EGL surface
q->setAttribute(Qt::WA_SymbianNoSystemRotation, false);
+ noSystemRotationDisabled = true;
}
+ } else {
+ q->setAttribute(Qt::WA_SymbianNoSystemRotation, extra->topextra->noSystemRotationDisabled);
}
- } else if (extra->topextra->nativeWindowTransparencyEnabled) {
- window->SetTransparentRegion(TRegionFix<1>());
- extra->topextra->nativeWindowTransparencyEnabled = 0;
+ extra->topextra->noSystemRotationDisabled = noSystemRotationDisabled;
}
}
@@ -1004,6 +1019,7 @@ void QWidgetPrivate::createTLSysExtra()
extra->topextra->inExpose = 0;
extra->topextra->nativeWindowTransparencyEnabled = 0;
extra->topextra->forcedToRaster = 0;
+ extra->topextra->noSystemRotationDisabled = 0;
}
void QWidgetPrivate::deleteTLSysExtra()
diff --git a/src/gui/painting/qcolor.cpp b/src/gui/painting/qcolor.cpp
index 3d895b7..2fe68a8 100644
--- a/src/gui/painting/qcolor.cpp
+++ b/src/gui/painting/qcolor.cpp
@@ -1578,7 +1578,7 @@ QColor QColor::toRgb() const
}
// chromatic case
- const qreal h = ct.ahsv.hue == 36000 ? 0 : ct.ahsv.hue / 6000.;
+ const qreal h = ct.ahsv.hue == 36000 ? 0 : ct.ahsv.hue / qreal(6000.);
const qreal s = ct.ahsv.saturation / qreal(USHRT_MAX);
const qreal v = ct.ahsv.value / qreal(USHRT_MAX);
const int i = int(h);
@@ -1638,7 +1638,7 @@ QColor QColor::toRgb() const
color.ct.argb.red = color.ct.argb.green = color.ct.argb.blue = 0;
} else {
// chromatic case
- const qreal h = ct.ahsl.hue == 36000 ? 0 : ct.ahsl.hue / 36000.;
+ const qreal h = ct.ahsl.hue == 36000 ? 0 : ct.ahsl.hue / qreal(36000.);
const qreal s = ct.ahsl.saturation / qreal(USHRT_MAX);
const qreal l = ct.ahsl.lightness / qreal(USHRT_MAX);
diff --git a/src/gui/painting/qgraphicssystemex_symbian.cpp b/src/gui/painting/qgraphicssystemex_symbian.cpp
index 4469704..32e040f 100644
--- a/src/gui/painting/qgraphicssystemex_symbian.cpp
+++ b/src/gui/painting/qgraphicssystemex_symbian.cpp
@@ -46,31 +46,108 @@
#include <e32property.h>
+#ifdef Q_SYMBIAN_SUPPORTS_SURFACES
+#include "private/qegl_p.h"
+#endif
+
QT_BEGIN_NAMESPACE
static bool bcm2727Initialized = false;
static bool bcm2727 = false;
+#ifdef Q_SYMBIAN_SUPPORTS_SURFACES
+typedef EGLBoolean (*NOK_resource_profiling)(EGLDisplay, EGLint, EGLint*, EGLint, EGLint*);
+#define EGL_PROF_TOTAL_MEMORY_NOK 0x3070
+#endif
+
+// Detect if Qt is running on BCM2727 chip.
+// BCM2727 is a special case on Symbian because
+// it has only 32MB GPU memory which exposes
+// significant limitations to hw accelerated UI.
bool QSymbianGraphicsSystemEx::hasBCM2727()
{
if (bcm2727Initialized)
return bcm2727;
- const TUid KIvePropertyCat = {0x2726beef};
- enum TIvePropertyChipType {
- EVCBCM2727B1 = 0x00000000,
- EVCBCM2763A0 = 0x04000100,
- EVCBCM2763B0 = 0x04000102,
- EVCBCM2763C0 = 0x04000103,
- EVCBCM2763C1 = 0x04000104,
- EVCBCMUnknown = 0x7fffffff
- };
-
- TInt chipType = EVCBCMUnknown;
- if (RProperty::Get(KIvePropertyCat, 0, chipType) == KErrNone) {
- if (chipType == EVCBCM2727B1)
+#ifdef Q_SYMBIAN_SUPPORTS_SURFACES
+ EGLDisplay display = QEgl::display();
+#if 1
+ // Hacky but fast ~0ms.
+ const char* vendor = eglQueryString(display, EGL_VENDOR);
+ if (strstr(vendor, "Broadcom")) {
+ const TUid KIvePropertyCat = {0x2726beef};
+ enum TIvePropertyChipType {
+ EVCBCM2727B1 = 0x00000000,
+ EVCBCM2763A0 = 0x04000100,
+ EVCBCM2763B0 = 0x04000102,
+ EVCBCM2763C0 = 0x04000103,
+ EVCBCM2763C1 = 0x04000104,
+ EVCBCMUnknown = 0x7fffffff
+ };
+
+ // Broadcom driver publishes KIvePropertyCat PS key on
+ // devices which are running on BCM2727 chip and post Anna Symbian.
+ TInt chipType = EVCBCMUnknown;
+ if (RProperty::Get(KIvePropertyCat, 0, chipType) == KErrNone) {
+ if (chipType == EVCBCM2727B1)
+ bcm2727 = true;
+ } else if (QSysInfo::symbianVersion() <= QSysInfo::SV_SF_3) {
+ // Device is running on Symbian Anna or older Symbian^3 in which
+ // KIvePropertyCat is not published. These ones are always 32MB devices.
+ bcm2727 = true;
+ } else {
+ // We have some other Broadcom chip on post Anna Symbian.
+ // Should have > 32MB GPU memory.
+ }
+ }
+#else
+ // Fool proof but takes 15-20ms and we don't want this delay on app startup...
+
+ // All devices with <= 32MB GPU memory should be
+ // dealed in similar manner to BCM2727
+ // So let's query max GPU memory amount.
+ NOK_resource_profiling eglQueryProfilingData = (NOK_resource_profiling)eglGetProcAddress("eglQueryProfilingDataNOK");
+ if (eglQueryProfilingData) {
+ EGLint dataCount;
+ eglQueryProfilingData(display,
+ EGL_PROF_QUERY_GLOBAL_BIT_NOK |
+ EGL_PROF_QUERY_MEMORY_USAGE_BIT_NOK,
+ NULL,
+ 0,
+ (EGLint*)&dataCount);
+
+ // Allocate room for the profiling data
+ EGLint* profData = (EGLint*)malloc(dataCount * sizeof(EGLint));
+ memset(profData,0,dataCount * sizeof(EGLint));
+
+ // Retrieve the profiling data
+ eglQueryProfilingData(display,
+ EGL_PROF_QUERY_GLOBAL_BIT_NOK |
+ EGL_PROF_QUERY_MEMORY_USAGE_BIT_NOK,
+ profData,
+ dataCount,
+ (EGLint*)&dataCount);
+
+ int totalMemory;
+ EGLint i = 0;
+ while (profData && i < dataCount) {
+ switch (profData[i++]) {
+ case EGL_PROF_TOTAL_MEMORY_NOK:
+ totalMemory = profData[i++];
+ break;
+ default:
+ i++;
+ }
+ }
+
+ // ok, hasBCM2727() naming is a bit misleading but Qt must
+ // behave the same on all chips like BCM2727 (<= 32MB GPU memory)
+ // and our code (and others) are already using this function.
+ if (totalMemory <= 33554432)
bcm2727 = true;
}
+#endif
+#endif // Q_SYMBIAN_SUPPORTS_SURFACES
bcm2727Initialized = true;
@@ -80,7 +157,9 @@ bool QSymbianGraphicsSystemEx::hasBCM2727()
void QSymbianGraphicsSystemEx::releaseCachedGpuResources()
{
// Do nothing here
- // This is implemented in graphics system specific plugin
+
+ // This virtual function should be implemented in graphics system specific
+ // plugin
}
void QSymbianGraphicsSystemEx::releaseAllGpuResources()
diff --git a/src/gui/painting/qpaintengine_raster.cpp b/src/gui/painting/qpaintengine_raster.cpp
index bcc5f9d..0fea2da 100644
--- a/src/gui/painting/qpaintengine_raster.cpp
+++ b/src/gui/painting/qpaintengine_raster.cpp
@@ -1649,8 +1649,8 @@ void QRasterPaintEngine::stroke(const QVectorPath &path, const QPen &pen)
if (lines[i].p1() == lines[i].p2()) {
if (s->lastPen.capStyle() != Qt::FlatCap) {
QPointF p = lines[i].p1();
- QLineF line = s->matrix.map(QLineF(QPointF(p.x() - width*0.5, p.y()),
- QPointF(p.x() + width*0.5, p.y())));
+ QLineF line = s->matrix.map(QLineF(QPointF(p.x() - width*qreal(0.5), p.y()),
+ QPointF(p.x() + width*qreal(0.5), p.y())));
d->rasterizer->rasterizeLine(line.p1(), line.p2(), 1);
}
continue;
@@ -5117,7 +5117,7 @@ static void drawEllipse_midpoint_i(const QRect &rect, const QRect &clip,
{
const qreal a = qreal(rect.width()) / 2;
const qreal b = qreal(rect.height()) / 2;
- qreal d = b*b - (a*a*b) + 0.25*a*a;
+ qreal d = b*b - (a*a*b) + qreal(0.25)*a*a;
int x = 0;
int y = (rect.height() + 1) / 2;
@@ -5140,7 +5140,7 @@ static void drawEllipse_midpoint_i(const QRect &rect, const QRect &clip,
pen_func, brush_func, pen_data, brush_data);
// region 2
- d = b*b*(x + 0.5)*(x + 0.5) + a*a*((y - 1)*(y - 1) - b*b);
+ d = b*b*(x + qreal(0.5))*(x + qreal(0.5)) + a*a*((y - 1)*(y - 1) - b*b);
const int miny = rect.height() & 0x1;
while (y > miny) {
if (d < 0) { // select SE
diff --git a/src/gui/painting/qpaintengineex.cpp b/src/gui/painting/qpaintengineex.cpp
index 6df410b..eaedc4c 100644
--- a/src/gui/painting/qpaintengineex.cpp
+++ b/src/gui/painting/qpaintengineex.cpp
@@ -748,8 +748,8 @@ void QPaintEngineEx::drawRoundedRect(const QRectF &rect, qreal xRadius, qreal yR
qreal y2 = rect.bottom();
if (mode == Qt::RelativeSize) {
- xRadius = xRadius * rect.width() / 200.;
- yRadius = yRadius * rect.height() / 200.;
+ xRadius = xRadius * rect.width() / qreal(200.);
+ yRadius = yRadius * rect.height() / qreal(200.);
}
xRadius = qMin(xRadius, rect.width() / 2);
@@ -863,7 +863,7 @@ void QPaintEngineEx::drawPoints(const QPointF *points, int pointCount)
for (int i=0; i<count; ++i) {
pts[++oset] = points[i].x();
pts[++oset] = points[i].y();
- pts[++oset] = points[i].x() + 1/63.;
+ pts[++oset] = points[i].x() + 1/qreal(63.);
pts[++oset] = points[i].y();
}
QVectorPath path(pts, count * 2, qpaintengineex_line_types_16, QVectorPath::LinesHint);
@@ -873,7 +873,7 @@ void QPaintEngineEx::drawPoints(const QPointF *points, int pointCount)
}
} else {
for (int i=0; i<pointCount; ++i) {
- qreal pts[] = { points[i].x(), points[i].y(), points[i].x() + 1/63., points[i].y() };
+ qreal pts[] = { points[i].x(), points[i].y(), points[i].x() + 1/qreal(63.), points[i].y() };
QVectorPath path(pts, 2, 0);
stroke(path, pen);
}
@@ -894,7 +894,7 @@ void QPaintEngineEx::drawPoints(const QPoint *points, int pointCount)
for (int i=0; i<count; ++i) {
pts[++oset] = points[i].x();
pts[++oset] = points[i].y();
- pts[++oset] = points[i].x() + 1/63.;
+ pts[++oset] = points[i].x() + 1/qreal(63.);
pts[++oset] = points[i].y();
}
QVectorPath path(pts, count * 2, qpaintengineex_line_types_16, QVectorPath::LinesHint);
@@ -905,7 +905,7 @@ void QPaintEngineEx::drawPoints(const QPoint *points, int pointCount)
} else {
for (int i=0; i<pointCount; ++i) {
qreal pts[] = { qreal(points[i].x()), qreal(points[i].y()),
- qreal(points[i].x() +1/63.), qreal(points[i].y()) };
+ qreal(points[i].x() +1/qreal(63.)), qreal(points[i].y()) };
QVectorPath path(pts, 2, 0);
stroke(path, pen);
}
diff --git a/src/gui/painting/qpainter.cpp b/src/gui/painting/qpainter.cpp
index efb016e..fb5ce96 100644
--- a/src/gui/painting/qpainter.cpp
+++ b/src/gui/painting/qpainter.cpp
@@ -403,8 +403,8 @@ void QPainterPrivate::draw_helper(const QPainterPath &originalPath, DrawOperatio
QPainterPath stroke = stroker.createStroke(originalPath);
strokeBounds = (stroke * state->matrix).boundingRect();
} else {
- strokeOffsetX = qAbs(penWidth * state->matrix.m11() / 2.0);
- strokeOffsetY = qAbs(penWidth * state->matrix.m22() / 2.0);
+ strokeOffsetX = qAbs(penWidth * state->matrix.m11() / qreal(2.0));
+ strokeOffsetY = qAbs(penWidth * state->matrix.m22() / qreal(2.0));
}
}
}
@@ -4460,8 +4460,8 @@ void QPainter::drawArc(const QRectF &r, int a, int alen)
QRectF rect = r.normalized();
QPainterPath path;
- path.arcMoveTo(rect, a/16.0);
- path.arcTo(rect, a/16.0, alen/16.0);
+ path.arcMoveTo(rect, a/qreal(16.0));
+ path.arcTo(rect, a/qreal(16.0), alen/qreal(16.0));
strokePath(path, d->state->pen);
}
@@ -4531,7 +4531,7 @@ void QPainter::drawPie(const QRectF &r, int a, int alen)
QPainterPath path;
path.moveTo(rect.center());
- path.arcTo(rect.x(), rect.y(), rect.width(), rect.height(), a/16.0, alen/16.0);
+ path.arcTo(rect.x(), rect.y(), rect.width(), rect.height(), a/qreal(16.0), alen/qreal(16.0));
path.closeSubpath();
drawPath(path);
@@ -4592,8 +4592,8 @@ void QPainter::drawChord(const QRectF &r, int a, int alen)
QRectF rect = r.normalized();
QPainterPath path;
- path.arcMoveTo(rect, a/16.0);
- path.arcTo(rect, a/16.0, alen/16.0);
+ path.arcMoveTo(rect, a/qreal(16.0));
+ path.arcTo(rect, a/qreal(16.0), alen/qreal(16.0));
path.closeSubpath();
drawPath(path);
}
@@ -9242,7 +9242,7 @@ void QPainter::drawPixmapFragments(const PixmapFragment *fragments, int fragment
qreal h = fragments[i].scaleY * fragments[i].height;
QRectF sourceRect(fragments[i].sourceLeft, fragments[i].sourceTop,
fragments[i].width, fragments[i].height);
- drawPixmap(QRectF(-0.5 * w + xOffset, -0.5 * h + yOffset, w, h), pixmap, sourceRect);
+ drawPixmap(QRectF(qreal(-0.5) * w + xOffset, qreal(-0.5) * h + yOffset, w, h), pixmap, sourceRect);
}
setOpacity(oldOpacity);
diff --git a/src/gui/painting/qrasterizer.cpp b/src/gui/painting/qrasterizer.cpp
index 1d3f581..ca10e6a 100644
--- a/src/gui/painting/qrasterizer.cpp
+++ b/src/gui/painting/qrasterizer.cpp
@@ -51,8 +51,8 @@
QT_BEGIN_NAMESPACE
typedef int Q16Dot16;
-#define Q16Dot16ToFloat(i) ((i)/65536.)
-#define FloatToQ16Dot16(i) (int)((i) * 65536.)
+#define Q16Dot16ToFloat(i) ((i)/qreal(65536.))
+#define FloatToQ16Dot16(i) (int)((i) * qreal(65536.))
#define IntToQ16Dot16(i) ((i) << 16)
#define Q16Dot16ToInt(i) ((i) >> 16)
#define Q16Dot16Factor 65536
@@ -701,7 +701,7 @@ static Q16Dot16 intersectPixelFP(int x, Q16Dot16 top, Q16Dot16 bottom, Q16Dot16
static inline bool q26Dot6Compare(qreal p1, qreal p2)
{
- return int((p2 - p1) * 64.) == 0;
+ return int((p2 - p1) * qreal(64.)) == 0;
}
static inline qreal qFloorF(qreal v)
@@ -1210,8 +1210,8 @@ void QRasterizer::rasterize(const QPainterPath &path, Qt::FillRule fillRule)
QRectF bounds = path.controlPointRect();
- int iTopBound = qMax(d->clipRect.top(), int(bounds.top() + 0.5 + (COORD_OFFSET - COORD_ROUNDING)/64.));
- int iBottomBound = qMin(d->clipRect.bottom(), int(bounds.bottom() - 0.5 + (COORD_OFFSET - COORD_ROUNDING)/64.));
+ int iTopBound = qMax(d->clipRect.top(), int(bounds.top() + qreal(0.5) + (COORD_OFFSET - COORD_ROUNDING)/qreal(64.)));
+ int iBottomBound = qMin(d->clipRect.bottom(), int(bounds.bottom() - qreal(0.5) + (COORD_OFFSET - COORD_ROUNDING)/qreal(64.)));
if (iTopBound > iBottomBound)
return;
diff --git a/src/gui/painting/qtessellator.cpp b/src/gui/painting/qtessellator.cpp
index 94a5128..15e4f65 100644
--- a/src/gui/painting/qtessellator.cpp
+++ b/src/gui/painting/qtessellator.cpp
@@ -1400,7 +1400,7 @@ void QTessellator::tessellateRect(const QPointF &a_, const QPointF &b_, qreal wi
if (delta.x == 0 && delta.y == 0)
return;
- qreal hw = 0.5 * width;
+ qreal hw = qreal(0.5) * width;
if (delta.x == 0) {
Q27Dot5 halfWidth = FloatToQ27Dot5(hw);
diff --git a/src/gui/styles/qs60style.cpp b/src/gui/styles/qs60style.cpp
index eec2d15..59bd0dd 100644
--- a/src/gui/styles/qs60style.cpp
+++ b/src/gui/styles/qs60style.cpp
@@ -1679,7 +1679,7 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option,
QS60StylePrivate::drawSkinPart(QS60StyleEnums::SP_QgnGrafBarWaitAnim,
painter, progressRect, flags | orientationFlag | QS60StylePrivate::SF_Animation );
} else {
- const qreal progressFactor = (optionProgressBar->minimum == optionProgressBar->maximum) ? 1.0
+ const qreal progressFactor = (optionProgressBar->minimum == optionProgressBar->maximum) ? qreal(1.0)
: (qreal)optionProgressBar->progress / optionProgressBar->maximum;
const int frameWidth = pixelMetric(PM_DefaultFrameWidth, option, widget);
if (optionProgressBar->orientation == Qt::Horizontal) {
@@ -2010,7 +2010,7 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option,
if (focusFrame->widget() && focusFrame->widget()->hasEditFocus())
editFocus = true;
}
- const qreal opacity = editFocus ? 1 : 0.75; // Trial and error factors. Feel free to improve.
+ const qreal opacity = editFocus ? 1 : qreal(0.75); // Trial and error factors. Feel free to improve.
#else
const qreal opacity = 0.85;
#endif
@@ -2148,8 +2148,8 @@ void QS60Style::drawPrimitive(PrimitiveElement element, const QStyleOption *opti
case PE_IndicatorRadioButton: {
QRect buttonRect = option->rect;
//there is empty (a. 33%) space in svg graphics for radiobutton
- const qreal reduceWidth = (qreal)buttonRect.width() / 3.0;
- const qreal rectWidth = (qreal)option->rect.width() != 0 ? option->rect.width() : 1.0;
+ const qreal reduceWidth = (qreal)buttonRect.width() / qreal(3.0);
+ const qreal rectWidth = (qreal)option->rect.width() != 0 ? option->rect.width() : qreal(1.0);
// Try to occupy the full area
const qreal scaler = 1 + (reduceWidth/rectWidth);
buttonRect.setWidth((int)((buttonRect.width()-reduceWidth) * scaler));
diff --git a/src/gui/styles/qstylefactory.cpp b/src/gui/styles/qstylefactory.cpp
index 83b6748..de693db 100644
--- a/src/gui/styles/qstylefactory.cpp
+++ b/src/gui/styles/qstylefactory.cpp
@@ -225,12 +225,12 @@ QStringList QStyleFactory::keys()
#endif
#ifndef QT_NO_STYLE_WINDOWSXP
if (!list.contains(QLatin1String("WindowsXP")) &&
- (QSysInfo::WindowsVersion >= QSysInfo::WV_XP && QSysInfo::WindowsVersion < QSysInfo::WV_NT_based))
+ (QSysInfo::WindowsVersion >= QSysInfo::WV_XP && (QSysInfo::WindowsVersion & QSysInfo::WV_NT_based)))
list << QLatin1String("WindowsXP");
#endif
#ifndef QT_NO_STYLE_WINDOWSVISTA
if (!list.contains(QLatin1String("WindowsVista")) &&
- (QSysInfo::WindowsVersion >= QSysInfo::WV_VISTA && QSysInfo::WindowsVersion < QSysInfo::WV_NT_based))
+ (QSysInfo::WindowsVersion >= QSysInfo::WV_VISTA && (QSysInfo::WindowsVersion & QSysInfo::WV_NT_based)))
list << QLatin1String("WindowsVista");
#endif
#ifndef QT_NO_STYLE_MOTIF
diff --git a/src/gui/styles/qstylesheetstyle.cpp b/src/gui/styles/qstylesheetstyle.cpp
index 7d2ed2a..c066631 100644
--- a/src/gui/styles/qstylesheetstyle.cpp
+++ b/src/gui/styles/qstylesheetstyle.cpp
@@ -1247,20 +1247,20 @@ QPainterPath QRenderRule::borderClip(QRect r)
const QRectF rect(r);
const int *borders = border()->borders;
QPainterPath path;
- qreal curY = rect.y() + borders[TopEdge]/2.0;
+ qreal curY = rect.y() + borders[TopEdge]/qreal(2.0);
path.moveTo(rect.x() + tlr.width(), curY);
path.lineTo(rect.right() - trr.width(), curY);
- qreal curX = rect.right() - borders[RightEdge]/2.0;
+ qreal curX = rect.right() - borders[RightEdge]/qreal(2.0);
path.arcTo(curX - 2*trr.width() + borders[RightEdge], curY,
trr.width()*2 - borders[RightEdge], trr.height()*2 - borders[TopEdge], 90, -90);
path.lineTo(curX, rect.bottom() - brr.height());
- curY = rect.bottom() - borders[BottomEdge]/2.0;
+ curY = rect.bottom() - borders[BottomEdge]/qreal(2.0);
path.arcTo(curX - 2*brr.width() + borders[RightEdge], curY - 2*brr.height() + borders[BottomEdge],
brr.width()*2 - borders[RightEdge], brr.height()*2 - borders[BottomEdge], 0, -90);
path.lineTo(rect.x() + blr.width(), curY);
- curX = rect.left() + borders[LeftEdge]/2.0;
+ curX = rect.left() + borders[LeftEdge]/qreal(2.0);
path.arcTo(curX, rect.bottom() - 2*blr.height() + borders[BottomEdge]/2,
blr.width()*2 - borders[LeftEdge], blr.height()*2 - borders[BottomEdge], 270, -90);
@@ -3810,7 +3810,7 @@ void QStyleSheetStyle::drawControl(ControlElement ce, const QStyleOption *opt, Q
if (inverted)
reverse = !reverse;
const bool indeterminate = pb->minimum == pb->maximum;
- qreal fillRatio = indeterminate ? 0.50 : qreal(progress - minimum)/(maximum - minimum);
+ qreal fillRatio = indeterminate ? qreal(0.50) : qreal(progress - minimum)/(maximum - minimum);
int fillWidth = int(rect.width() * fillRatio);
int chunkWidth = fillWidth;
if (subRule.hasContentsSize()) {
diff --git a/src/gui/styles/qwindowsstyle.cpp b/src/gui/styles/qwindowsstyle.cpp
index 9732c7e..342c4c6 100644
--- a/src/gui/styles/qwindowsstyle.cpp
+++ b/src/gui/styles/qwindowsstyle.cpp
@@ -125,7 +125,7 @@ QWindowsStylePrivate::QWindowsStylePrivate()
{
#if defined(Q_WS_WIN) && !defined(Q_OS_WINCE)
if ((QSysInfo::WindowsVersion >= QSysInfo::WV_VISTA
- && QSysInfo::WindowsVersion < QSysInfo::WV_NT_based)) {
+ && (QSysInfo::WindowsVersion & QSysInfo::WV_NT_based))) {
QSystemLibrary shellLib(QLatin1String("shell32"));
pSHGetStockIconInfo = (PtrSHGetStockIconInfo)shellLib.resolve("SHGetStockIconInfo");
}
@@ -1058,7 +1058,7 @@ QPixmap QWindowsStyle::standardPixmap(StandardPixmap standardPixmap, const QStyl
case SP_VistaShield:
{
if (QSysInfo::WindowsVersion >= QSysInfo::WV_VISTA
- && QSysInfo::WindowsVersion < QSysInfo::WV_NT_based
+ && (QSysInfo::WindowsVersion & QSysInfo::WV_NT_based)
&& pSHGetStockIconInfo)
{
QPixmap pixmap;
@@ -1200,7 +1200,7 @@ int QWindowsStyle::styleHint(StyleHint hint, const QStyleOption *opt, const QWid
case SH_LineEdit_PasswordCharacter:
{
#ifdef Q_WS_WIN
- if (widget && (QSysInfo::WindowsVersion >= QSysInfo::WV_XP && QSysInfo::WindowsVersion < QSysInfo::WV_NT_based)) {
+ if (widget && (QSysInfo::WindowsVersion >= QSysInfo::WV_XP && (QSysInfo::WindowsVersion & QSysInfo::WV_NT_based))) {
const QFontMetrics &fm = widget->fontMetrics();
if (fm.inFont(QChar(0x25CF)))
ret = 0x25CF;
@@ -3362,7 +3362,7 @@ QIcon QWindowsStyle::standardIconImplementation(StandardPixmap standardIcon, con
case SP_VistaShield:
{
if (QSysInfo::WindowsVersion >= QSysInfo::WV_VISTA
- && QSysInfo::WindowsVersion < QSysInfo::WV_NT_based
+ && (QSysInfo::WindowsVersion & QSysInfo::WV_NT_based)
&& pSHGetStockIconInfo)
{
icon.addPixmap(proxy()->standardPixmap(SP_VistaShield, option, widget)); //fetches small icon
diff --git a/src/gui/styles/qwindowsvistastyle.cpp b/src/gui/styles/qwindowsvistastyle.cpp
index b894eb4..997d429 100644
--- a/src/gui/styles/qwindowsvistastyle.cpp
+++ b/src/gui/styles/qwindowsvistastyle.cpp
@@ -140,7 +140,7 @@ bool QWindowsVistaStylePrivate::useVista()
{
return (QWindowsVistaStylePrivate::useXP() &&
(QSysInfo::WindowsVersion >= QSysInfo::WV_VISTA &&
- QSysInfo::WindowsVersion < QSysInfo::WV_NT_based));
+ (QSysInfo::WindowsVersion & QSysInfo::WV_NT_based)));
}
/*!
diff --git a/src/gui/styles/qwindowsxpstyle.cpp b/src/gui/styles/qwindowsxpstyle.cpp
index 3c33df3..343f262 100644
--- a/src/gui/styles/qwindowsxpstyle.cpp
+++ b/src/gui/styles/qwindowsxpstyle.cpp
@@ -791,7 +791,7 @@ void QWindowsXPStylePrivate::drawBackgroundThruNativeBuffer(XPThemeData &themeDa
inspectData = (tmt_transparentcolor != 0 || tmt_borderonly || proporigin == PO_PART || proporigin == PO_STATE);
// ### This is a vista-specific workaround for broken alpha in titlebar pixmaps
- if ((QSysInfo::WindowsVersion >= QSysInfo::WV_VISTA && QSysInfo::WindowsVersion < QSysInfo::WV_NT_based)) {
+ if ((QSysInfo::WindowsVersion >= QSysInfo::WV_VISTA && (QSysInfo::WindowsVersion & QSysInfo::WV_NT_based))) {
if (themeData.partId == WP_CAPTION || themeData.partId == WP_SMALLCAPTION)
inspectData = false;
}
diff --git a/src/gui/text/qfontdatabase.cpp b/src/gui/text/qfontdatabase.cpp
index 1d463c4..796c455 100644
--- a/src/gui/text/qfontdatabase.cpp
+++ b/src/gui/text/qfontdatabase.cpp
@@ -1994,7 +1994,7 @@ QList<int> QFontDatabase::pointSizes(const QString &family,
const QtFontSize *size = style->pixelSizes + l;
if (size->pixelSize != 0 && size->pixelSize != USHRT_MAX) {
- const uint pointSize = qRound(size->pixelSize * 72.0 / dpi);
+ const uint pointSize = qRound(size->pixelSize * qreal(72.0) / dpi);
if (! sizes.contains(pointSize))
sizes.append(pointSize);
}
@@ -2105,7 +2105,7 @@ QList<int> QFontDatabase::smoothSizes(const QString &family,
const QtFontSize *size = style->pixelSizes + l;
if (size->pixelSize != 0 && size->pixelSize != USHRT_MAX) {
- const uint pointSize = qRound(size->pixelSize * 72.0 / dpi);
+ const uint pointSize = qRound(size->pixelSize * qreal(72.0) / dpi);
if (! sizes.contains(pointSize))
sizes.append(pointSize);
}
diff --git a/src/gui/text/qfontengine.cpp b/src/gui/text/qfontengine.cpp
index c9b672b..8f46a80 100644
--- a/src/gui/text/qfontengine.cpp
+++ b/src/gui/text/qfontengine.cpp
@@ -381,9 +381,9 @@ void QFontEngine::getGlyphBearings(glyph_t glyph, qreal *leftBearing, qreal *rig
glyph_metrics_t gi = boundingBox(glyph);
bool isValid = gi.isValid();
if (leftBearing != 0)
- *leftBearing = isValid ? gi.x.toReal() : 0.0;
+ *leftBearing = isValid ? gi.x.toReal() : qreal(0.0);
if (rightBearing != 0)
- *rightBearing = isValid ? (gi.xoff - gi.x - gi.width).toReal() : 0.0;
+ *rightBearing = isValid ? (gi.xoff - gi.x - gi.width).toReal() : qreal(0.0);
}
glyph_metrics_t QFontEngine::tightBoundingBox(const QGlyphLayout &glyphs)
diff --git a/src/gui/text/qtextdocument.cpp b/src/gui/text/qtextdocument.cpp
index 143dc1a..de2e27a 100644
--- a/src/gui/text/qtextdocument.cpp
+++ b/src/gui/text/qtextdocument.cpp
@@ -159,7 +159,7 @@ bool Qt::mightBeRichText(const QString& text)
QString Qt::escape(const QString& plain)
{
QString rich;
- rich.reserve(int(plain.length() * 1.1));
+ rich.reserve(int(plain.length() * qreal(1.1)));
for (int i = 0; i < plain.length(); ++i) {
if (plain.at(i) == QLatin1Char('<'))
rich += QLatin1String("&lt;");
diff --git a/src/gui/widgets/qdialogbuttonbox.cpp b/src/gui/widgets/qdialogbuttonbox.cpp
index 6c29141..e6842b3 100644
--- a/src/gui/widgets/qdialogbuttonbox.cpp
+++ b/src/gui/widgets/qdialogbuttonbox.cpp
@@ -94,6 +94,7 @@ QT_BEGIN_NAMESPACE
specifying their role.
\snippet examples/dialogs/extension/finddialog.cpp 1
+ \snippet examples/dialogs/extension/finddialog.cpp 6
Alternatively, QDialogButtonBox provides several standard buttons (e.g. OK, Cancel, Save)
that you can use. They exist as flags so you can OR them together in the constructor.
diff --git a/src/gui/widgets/qlinecontrol.cpp b/src/gui/widgets/qlinecontrol.cpp
index d58da37..0af2e59 100644
--- a/src/gui/widgets/qlinecontrol.cpp
+++ b/src/gui/widgets/qlinecontrol.cpp
@@ -445,6 +445,8 @@ void QLineControl::moveCursor(int pos, bool mark)
void QLineControl::processInputMethodEvent(QInputMethodEvent *event)
{
int priorState = 0;
+ int originalSelectionStart = m_selstart;
+ int originalSelectionEnd = m_selend;
bool isGettingInput = !event->commitString().isEmpty()
|| event->preeditString() != preeditAreaText()
|| event->replacementLength() > 0;
@@ -523,6 +525,8 @@ void QLineControl::processInputMethodEvent(QInputMethodEvent *event)
}
m_textLayout.setAdditionalFormats(formats);
updateDisplayText(/*force*/ true);
+ if (originalSelectionStart != m_selstart || originalSelectionEnd != m_selend)
+ emit selectionChanged();
if (cursorPositionChanged)
emitCursorPositionChanged();
else if (m_preeditCursor != oldPreeditCursor)
diff --git a/src/gui/widgets/qprogressbar.cpp b/src/gui/widgets/qprogressbar.cpp
index dd92bda..1b0a1a1 100644
--- a/src/gui/widgets/qprogressbar.cpp
+++ b/src/gui/widgets/qprogressbar.cpp
@@ -462,7 +462,7 @@ QString QProgressBar::text() const
return result;
}
- int progress = (qreal(d->value) - d->minimum) * 100.0 / totalSteps;
+ int progress = (qreal(d->value) - d->minimum) * qreal(100.0) / totalSteps;
result.replace(QLatin1String("%p"), QString::number(progress));
return result;
}
diff --git a/src/gui/widgets/qtextbrowser.cpp b/src/gui/widgets/qtextbrowser.cpp
index cd8fa11..e786c5c 100644
--- a/src/gui/widgets/qtextbrowser.cpp
+++ b/src/gui/widgets/qtextbrowser.cpp
@@ -619,7 +619,8 @@ void QTextBrowserPrivate::restoreHistoryEntry(const HistoryEntry entry)
If you want to load documents stored in the Qt resource system use
\c{qrc} as the scheme in the URL to load. For example, for the document
resource path \c{:/docs/index.html} use \c{qrc:/docs/index.html} as
- the URL with setSource().
+ the URL with setSource(). To access local files, use \c{file} as the
+ scheme in the URL.
\sa QTextEdit, QTextDocument
*/
diff --git a/src/gui/widgets/qtoolbar.cpp b/src/gui/widgets/qtoolbar.cpp
index e0e8ce6..c7ae73f 100644
--- a/src/gui/widgets/qtoolbar.cpp
+++ b/src/gui/widgets/qtoolbar.cpp
@@ -440,7 +440,7 @@ void QToolBarPrivate::plug(const QRect &r)
pop up a menu containing the items that does not currently fit in
the toolbar.
- When a QToolBar is not a child of a QMainWindow, it looses the ability
+ When a QToolBar is not a child of a QMainWindow, it loses the ability
to populate the extension pop up with widgets added to the toolbar using
addWidget(). Please use widget actions created by inheriting QWidgetAction
and implementing QWidgetAction::createWidget() instead.
diff --git a/src/network/access/qhttpnetworkreply.cpp b/src/network/access/qhttpnetworkreply.cpp
index 1a02200..6173b39 100644
--- a/src/network/access/qhttpnetworkreply.cpp
+++ b/src/network/access/qhttpnetworkreply.cpp
@@ -891,7 +891,7 @@ bool QHttpNetworkReplyPrivate::expectContent()
|| statusCode == 204 || statusCode == 304)
return false;
if (request.operation() == QHttpNetworkRequest::Head)
- return !shouldEmitSignals();
+ return false; // no body expected for HEAD request
qint64 expectedContentLength = contentLength();
if (expectedContentLength == 0)
return false;
diff --git a/src/network/access/qnetworkaccessbackend.cpp b/src/network/access/qnetworkaccessbackend.cpp
index 2fae7d6..88c45d1 100644
--- a/src/network/access/qnetworkaccessbackend.cpp
+++ b/src/network/access/qnetworkaccessbackend.cpp
@@ -57,20 +57,25 @@
QT_BEGIN_NAMESPACE
-static bool factoryDataShutdown = false;
class QNetworkAccessBackendFactoryData: public QList<QNetworkAccessBackendFactory *>
{
public:
- QNetworkAccessBackendFactoryData() : mutex(QMutex::Recursive) { }
+ QNetworkAccessBackendFactoryData() : mutex(QMutex::Recursive)
+ {
+ valid.ref();
+ }
~QNetworkAccessBackendFactoryData()
{
QMutexLocker locker(&mutex); // why do we need to lock?
- factoryDataShutdown = true;
+ valid.deref();
}
QMutex mutex;
+ //this is used to avoid (re)constructing factory data from destructors of other global classes
+ static QAtomicInt valid;
};
Q_GLOBAL_STATIC(QNetworkAccessBackendFactoryData, factoryData)
+QAtomicInt QNetworkAccessBackendFactoryData::valid;
QNetworkAccessBackendFactory::QNetworkAccessBackendFactory()
{
@@ -80,7 +85,7 @@ QNetworkAccessBackendFactory::QNetworkAccessBackendFactory()
QNetworkAccessBackendFactory::~QNetworkAccessBackendFactory()
{
- if (!factoryDataShutdown) {
+ if (QNetworkAccessBackendFactoryData::valid) {
QMutexLocker locker(&factoryData()->mutex);
factoryData()->removeAll(this);
}
@@ -89,7 +94,7 @@ QNetworkAccessBackendFactory::~QNetworkAccessBackendFactory()
QNetworkAccessBackend *QNetworkAccessManagerPrivate::findBackend(QNetworkAccessManager::Operation op,
const QNetworkRequest &request)
{
- if (!factoryDataShutdown) {
+ if (QNetworkAccessBackendFactoryData::valid) {
QMutexLocker locker(&factoryData()->mutex);
QNetworkAccessBackendFactoryData::ConstIterator it = factoryData()->constBegin(),
end = factoryData()->constEnd();
diff --git a/src/network/access/qnetworkaccessbackend_p.h b/src/network/access/qnetworkaccessbackend_p.h
index ff05306..7f6aff9 100644
--- a/src/network/access/qnetworkaccessbackend_p.h
+++ b/src/network/access/qnetworkaccessbackend_p.h
@@ -110,9 +110,7 @@ public:
// socket).
virtual void open() = 0;
-#ifndef QT_NO_BEARERMANAGEMENT
virtual bool start();
-#endif
virtual void closeDownstreamChannel() = 0;
// slot-like:
diff --git a/src/network/access/qnetworkcookie.cpp b/src/network/access/qnetworkcookie.cpp
index 0670738..a9bb318 100644
--- a/src/network/access/qnetworkcookie.cpp
+++ b/src/network/access/qnetworkcookie.cpp
@@ -372,7 +372,7 @@ static QPair<QByteArray, QByteArray> nextField(const QByteArray &text, int &posi
// parse the first part, before the equal sign
for (i = position; i < length; ++i) {
register char c = text.at(i);
- if (c == ';' || c == ',' || c == '=')
+ if (c == ';' || c == '=')
break;
}
@@ -423,7 +423,7 @@ static QPair<QByteArray, QByteArray> nextField(const QByteArray &text, int &posi
for ( ; i < length; ++i) {
register char c = text.at(i);
- if (c == ',' || c == ';')
+ if (c == ';')
break;
}
position = i;
@@ -434,7 +434,7 @@ static QPair<QByteArray, QByteArray> nextField(const QByteArray &text, int &posi
register char c = text.at(i);
// for name value pairs, we want to parse until reaching the next ';'
// and not break when reaching a space char
- if (c == ',' || c == ';' || ((isNameValue && (c == '\n' || c == '\r')) || (!isNameValue && isLWS(c))))
+ if (c == ';' || ((isNameValue && (c == '\n' || c == '\r')) || (!isNameValue && isLWS(c))))
break;
}
@@ -461,8 +461,7 @@ static QPair<QByteArray, QByteArray> nextField(const QByteArray &text, int &posi
\value Full makes toRawForm() return the full
cookie contents, as suitable for sending to a client in a
- server's "Set-Cookie:" header. Multiple cookies are separated
- by commas in a "Set-Cookie:" header.
+ server's "Set-Cookie:" header.
Note that only the Full form of the cookie can be parsed back into
its original contents.
@@ -488,7 +487,6 @@ QByteArray QNetworkCookie::toRawForm(RawForm form) const
result = d->name;
result += '=';
if ((d->value.contains(';') ||
- d->value.contains(',') ||
d->value.contains('"')) &&
(!d->value.startsWith('"') &&
!d->value.endsWith('"'))) {
@@ -967,14 +965,8 @@ QList<QNetworkCookie> QNetworkCookiePrivate::parseSetCookieHeaderLine(const QByt
cookie.setValue(field.second);
position = nextNonWhitespace(cookieString, position);
- bool endOfCookie = false;
- while (!endOfCookie && position < length) {
+ while (position < length) {
switch (cookieString.at(position++)) {
- case ',':
- // end of the cookie
- endOfCookie = true;
- break;
-
case ';':
// new field in the cookie
field = nextField(cookieString, position, false);
diff --git a/src/network/access/qnetworkreplyimpl.cpp b/src/network/access/qnetworkreplyimpl.cpp
index 0b568d4..6f2daec 100644
--- a/src/network/access/qnetworkreplyimpl.cpp
+++ b/src/network/access/qnetworkreplyimpl.cpp
@@ -471,6 +471,7 @@ bool QNetworkReplyImplPrivate::isCachingEnabled() const
void QNetworkReplyImplPrivate::setCachingEnabled(bool enable)
{
+ Q_Q(QNetworkReplyImpl);
if (!enable && !cacheEnabled)
return; // nothing to do
if (enable && cacheEnabled)
@@ -493,15 +494,27 @@ void QNetworkReplyImplPrivate::setCachingEnabled(bool enable)
networkCache()->remove(url);
cacheSaveDevice = 0;
cacheEnabled = false;
+ QObject::disconnect(networkCache(), SIGNAL(destroyed()), q, SLOT(_q_cacheDestroyed()));
}
}
+void QNetworkReplyImplPrivate::_q_cacheDestroyed()
+{
+ //destruction of cache invalidates cacheSaveDevice
+ cacheSaveDevice = 0;
+ cacheEnabled = false;
+}
+
void QNetworkReplyImplPrivate::completeCacheSave()
{
- if (cacheEnabled && errorCode != QNetworkReplyImpl::NoError) {
- networkCache()->remove(url);
- } else if (cacheEnabled && cacheSaveDevice) {
- networkCache()->insert(cacheSaveDevice);
+ Q_Q(QNetworkReplyImpl);
+ if (cacheEnabled) {
+ if (errorCode != QNetworkReplyImpl::NoError) {
+ networkCache()->remove(url);
+ } else if (cacheSaveDevice) {
+ networkCache()->insert(cacheSaveDevice);
+ }
+ QObject::disconnect(networkCache(), SIGNAL(destroyed()), q, SLOT(_q_cacheDestroyed()));
}
cacheSaveDevice = 0;
cacheEnabled = false;
@@ -561,6 +574,8 @@ void QNetworkReplyImplPrivate::initCacheSaveDevice()
networkCache()->remove(url);
cacheSaveDevice = 0;
cacheEnabled = false;
+ } else {
+ q->connect(networkCache(), SIGNAL(destroyed()), SLOT(_q_cacheDestroyed()));
}
}
diff --git a/src/network/access/qnetworkreplyimpl_p.h b/src/network/access/qnetworkreplyimpl_p.h
index 089c87e..286d8ea 100644
--- a/src/network/access/qnetworkreplyimpl_p.h
+++ b/src/network/access/qnetworkreplyimpl_p.h
@@ -104,6 +104,7 @@ public:
Q_PRIVATE_SLOT(d_func(), void _q_networkSessionConnected())
Q_PRIVATE_SLOT(d_func(), void _q_networkSessionFailed())
#endif
+ Q_PRIVATE_SLOT(d_func(), void _q_cacheDestroyed())
};
class QNetworkReplyImplPrivate: public QNetworkReplyPrivate
@@ -140,6 +141,7 @@ public:
void _q_networkSessionConnected();
void _q_networkSessionFailed();
#endif
+ void _q_cacheDestroyed();
void setup(QNetworkAccessManager::Operation op, const QNetworkRequest &request,
QIODevice *outgoingData);
diff --git a/src/network/bearer/qnetworkconfigmanager_p.cpp b/src/network/bearer/qnetworkconfigmanager_p.cpp
index 18e29af..96a534d 100644
--- a/src/network/bearer/qnetworkconfigmanager_p.cpp
+++ b/src/network/bearer/qnetworkconfigmanager_p.cpp
@@ -60,7 +60,7 @@ Q_GLOBAL_STATIC_WITH_ARGS(QFactoryLoader, loader,
#endif
QNetworkConfigurationManagerPrivate::QNetworkConfigurationManagerPrivate()
- : QObject(), pollTimer(0), mutex(QMutex::Recursive), forcedPolling(0), firstUpdate(true)
+ : QObject(), pollTimer(0), bearerThread(0), mutex(QMutex::Recursive), forcedPolling(0), firstUpdate(true)
{
qRegisterMetaType<QNetworkConfiguration>("QNetworkConfiguration");
qRegisterMetaType<QNetworkConfigurationPrivatePointer>("QNetworkConfigurationPrivatePointer");
diff --git a/src/network/kernel/qhostinfo_win.cpp b/src/network/kernel/qhostinfo_win.cpp
index 6fc5b7b..1052863 100644
--- a/src/network/kernel/qhostinfo_win.cpp
+++ b/src/network/kernel/qhostinfo_win.cpp
@@ -97,14 +97,15 @@ static void resolveLibrary()
#if defined(Q_OS_WINCE)
#include <qmutex.h>
-QMutex qPrivCEMutex;
+Q_GLOBAL_STATIC(QMutex, qPrivCEMutex)
#endif
QHostInfo QHostInfoAgent::fromName(const QString &hostName)
{
#if defined(Q_OS_WINCE)
- QMutexLocker locker(&qPrivCEMutex);
+ QMutexLocker locker(qPrivCEMutex());
#endif
+
QWindowsSockInit winSock;
// Load res_init on demand.
diff --git a/src/opengl/qgl.cpp b/src/opengl/qgl.cpp
index cedccaa..423fa08 100644
--- a/src/opengl/qgl.cpp
+++ b/src/opengl/qgl.cpp
@@ -103,6 +103,7 @@
#ifdef Q_OS_SYMBIAN
#include <private/qgltexturepool_p.h>
+#include <private/qeglcontext_p.h>
#endif
// #define QT_GL_CONTEXT_RESOURCE_DEBUG
@@ -3432,8 +3433,25 @@ const QGLContext* QGLContext::currentContext()
return 0;
#else
QGLThreadContext *threadContext = qgl_context_storage.localData();
- if (threadContext)
+ if (threadContext) {
+#ifdef Q_OS_SYMBIAN
+ // Query the current context and return null if it is different.
+ // This is needed to support mixed VG-GL rendering.
+ // QtOpenVG is free to make a QEglContext current at any time and
+ // QGLContext gets no notification that its underlying QEglContext is
+ // not current anymore. We query directly from EGL to be thread-safe.
+ // QEglContext does not store all the contexts per-thread.
+ if (threadContext->context) {
+ QEglContext *eglcontext = threadContext->context->d_func()->eglContext;
+ if (eglcontext) {
+ EGLContext ctx = eglcontext->context();
+ if (ctx != eglGetCurrentContext())
+ return 0;
+ }
+ }
+#endif
return threadContext->context;
+ }
return 0;
#endif //Q_WS_QPA
}
diff --git a/src/s60installs/bwins/QtCoreu.def b/src/s60installs/bwins/QtCoreu.def
index be09295..3437502 100644
--- a/src/s60installs/bwins/QtCoreu.def
+++ b/src/s60installs/bwins/QtCoreu.def
@@ -4879,4 +4879,9 @@ EXPORTS
?languageId@QLocalePrivate@@QBEGXZ @ 4878 NONAME ; unsigned short QLocalePrivate::languageId(void) const
?started@QFutureWatcherBase@@IAEXXZ @ 4879 NONAME ; void QFutureWatcherBase::started(void)
?staticMetaObjectExtraData@QAbstractState@@0UQMetaObjectExtraData@@B @ 4880 NONAME ; struct QMetaObjectExtraData const QAbstractState::staticMetaObjectExtraData
+ ?rebuildInstallLibraryPaths@QCoreApplicationPrivate@@SAXXZ @ 4881 NONAME ; void QCoreApplicationPrivate::rebuildInstallLibraryPaths(void)
+ ?connectNotify@QFutureWatcherBase@@MAEXPBD@Z @ 4882 NONAME ; void QFutureWatcherBase::connectNotify(char const *)
+ ?event@QFutureWatcherBase@@UAE_NPAVQEvent@@@Z @ 4883 NONAME ; bool QFutureWatcherBase::event(class QEvent *)
+ ?updateDir@QFactoryLoader@@QAEXABVQString@@AAVQSettings@@@Z @ 4884 NONAME ; void QFactoryLoader::updateDir(class QString const &, class QSettings &)
+ ?disconnectNotify@QFutureWatcherBase@@MAEXPBD@Z @ 4885 NONAME ; void QFutureWatcherBase::disconnectNotify(char const *)
diff --git a/src/s60installs/eabi/QtCoreu.def b/src/s60installs/eabi/QtCoreu.def
index cf42b67..1fabdb2 100644
--- a/src/s60installs/eabi/QtCoreu.def
+++ b/src/s60installs/eabi/QtCoreu.def
@@ -4162,4 +4162,6 @@ EXPORTS
inflateReset2 @ 4161 NONAME
inflateUndermine @ 4162 NONAME
zlibCompileFlags @ 4163 NONAME
+ _ZN14QFactoryLoader9updateDirERK7QStringR9QSettings @ 4164 NONAME
+ _ZN23QCoreApplicationPrivate26rebuildInstallLibraryPathsEv @ 4165 NONAME
diff --git a/src/s60installs/qt_resources.iby b/src/s60installs/qt_resources.iby
new file mode 100644
index 0000000..f5fe1c4
--- /dev/null
+++ b/src/s60installs/qt_resources.iby
@@ -0,0 +1,11 @@
+#ifndef QT_RESOURCES_IBY
+#define QT_RESOURCES_IBY
+
+#include <data_caging_paths_for_iby.hrh>
+
+// Localisation files
+
+data=DATAZ_\QT_TRANSLATIONS_DIR\qt.qm QT_TRANSLATIONS_DIR\qt.qm
+
+#endif // __QT_RESOURCES_IBY__
+
diff --git a/src/s60installs/s60installs.pro b/src/s60installs/s60installs.pro
index c2b462c..08c4829 100755
--- a/src/s60installs/s60installs.pro
+++ b/src/s60installs/s60installs.pro
@@ -175,4 +175,5 @@ symbian: {
}
BLD_INF_RULES.prj_exports += "$$S60_INSTALLS_SOURCE_DIR/qt.iby $$CORE_MW_LAYER_IBY_EXPORT_PATH(qt.iby)"
+ BLD_INF_RULES.prj_exports += "$$S60_INSTALLS_SOURCE_DIR/qt_resources.iby $$LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(qt_resources.iby)"
}
diff --git a/src/sql/drivers/symsql/qsql_symsql.cpp b/src/sql/drivers/symsql/qsql_symsql.cpp
index 4ceac9b..f34212c 100644
--- a/src/sql/drivers/symsql/qsql_symsql.cpp
+++ b/src/sql/drivers/symsql/qsql_symsql.cpp
@@ -217,7 +217,7 @@ void QSymSQLResultPrivate::initColumns(QSqlRecord& rec)
int nCols = stmt.ColumnCount();
if (nCols <= 0) {
q->setLastError(qMakeError(access, QCoreApplication::translate("QSymSQLResult",
- "Error retreving column count"), QSqlError::UnknownError, nCols));
+ "Error retrieving column count"), QSqlError::UnknownError, nCols));
return;
}
@@ -227,7 +227,7 @@ void QSymSQLResultPrivate::initColumns(QSqlRecord& rec)
if (err != KErrNone) {
q->setLastError(qMakeError(access, QCoreApplication::translate("QSymSQLResult",
- "Error retreving column name"), QSqlError::UnknownError, err));
+ "Error retrieving column name"), QSqlError::UnknownError, err));
return;
}
@@ -240,7 +240,7 @@ void QSymSQLResultPrivate::initColumns(QSqlRecord& rec)
if (err != KErrNone) {
q->setLastError(qMakeError(access, QCoreApplication::translate("QSymSQLResult",
- "Error retreving column type"), QSqlError::UnknownError, err));
+ "Error retrieving column type"), QSqlError::UnknownError, err));
return;
}
diff --git a/src/xmlpatterns/api/qxmlquery.cpp b/src/xmlpatterns/api/qxmlquery.cpp
index e69fe50..e5e901d 100644
--- a/src/xmlpatterns/api/qxmlquery.cpp
+++ b/src/xmlpatterns/api/qxmlquery.cpp
@@ -988,7 +988,12 @@ bool setFocusHelper(QXmlQuery *const queryInstance,
const QXmlItem focusItem(focusResult.next());
if(focusItem.isNull() || focusResult.hasError())
+ {
+ /* The previous focus must be cleared in error situations.
+ * Otherwise the query may be left in an inconsistent state. */
+ queryInstance->setFocus(QXmlItem());
return false;
+ }
else
{
queryInstance->setFocus(focusItem);
diff --git a/src/xmlpatterns/functions/qsequencegeneratingfns.cpp b/src/xmlpatterns/functions/qsequencegeneratingfns.cpp
index 6215f3d..3f3dbbb 100644
--- a/src/xmlpatterns/functions/qsequencegeneratingfns.cpp
+++ b/src/xmlpatterns/functions/qsequencegeneratingfns.cpp
@@ -41,6 +41,7 @@
#include <QStack>
#include <QStringList>
+#include <QFileInfo>
#include "qanyuri_p.h"
#include "qboolean_p.h"
@@ -207,6 +208,21 @@ Item::Iterator::Ptr IdrefFN::evaluateSequence(const DynamicContext::Ptr &context
return CommonValues::emptyIterator; /* TODO Haven't implemented further. */
}
+/*!
+ * Attemps to resolve scheme if URL does not have scheme defined.
+ */
+static QUrl resolveScheme(const QUrl &url)
+{
+ // On Windows and Symbian the drive letter is detected as the scheme.
+ if (url.scheme().isEmpty() || (url.scheme().length() == 1)) {
+ QString filename = url.toString();
+ QFileInfo file(filename);
+ if (file.exists())
+ return QUrl::fromLocalFile(filename);
+ }
+ return url;
+}
+
Item DocFN::evaluateSingleton(const DynamicContext::Ptr &context) const
{
const Item itemURI(m_operands.first()->evaluateSingleton(context));
@@ -219,7 +235,7 @@ Item DocFN::evaluateSingleton(const DynamicContext::Ptr &context) const
* as part of a workaround for solaris-cc-64. DocFN::typeCheck() is in qsequencefns.cpp
* as part of that workaround. */
const QUrl mayRela(AnyURI::toQUrl<ReportContext::FODC0005>(itemURI.stringValue(), context, this));
- const QUrl uri(context->resolveURI(mayRela, staticBaseURI()));
+ const QUrl uri(resolveScheme(context->resolveURI(mayRela, staticBaseURI())));
Q_ASSERT(uri.isValid());
Q_ASSERT(!uri.isRelative());
@@ -251,7 +267,7 @@ bool DocAvailableFN::evaluateEBV(const DynamicContext::Ptr &context) const
/* These two lines are duplicated in DocFN::evaluateSingleton(), as part
* of a workaround for solaris-cc-64. */
const QUrl mayRela(AnyURI::toQUrl<ReportContext::FODC0005>(itemURI.stringValue(), context, this));
- const QUrl uri(context->resolveURI(mayRela, staticBaseURI()));
+ const QUrl uri(resolveScheme(context->resolveURI(mayRela, staticBaseURI())));
Q_ASSERT(!uri.isRelative());
return context->resourceLoader()->isDocumentAvailable(uri);
diff --git a/src/xmlpatterns/parser/qquerytransformparser.cpp b/src/xmlpatterns/parser/qquerytransformparser.cpp
index c9801c8..2528746 100644
--- a/src/xmlpatterns/parser/qquerytransformparser.cpp
+++ b/src/xmlpatterns/parser/qquerytransformparser.cpp
@@ -4561,7 +4561,7 @@ yyreduce:
{
parseInfo->staticContext->error(QtXmlPatterns::tr("The namespace for a user defined function "
"cannot be empty (try the predefined "
- "prefix %1 which exists for cases "
+ "prefix %1, which exists for cases "
"like this)")
.arg(formatKeyword("local")),
ReportContext::XQST0060, fromYYLTYPE((yyloc), parseInfo));
diff --git a/src/xmlpatterns/schema/qxsdschemaresolver.cpp b/src/xmlpatterns/schema/qxsdschemaresolver.cpp
index 29c9f5a..2549f5f 100644
--- a/src/xmlpatterns/schema/qxsdschemaresolver.cpp
+++ b/src/xmlpatterns/schema/qxsdschemaresolver.cpp
@@ -854,7 +854,7 @@ void XsdSchemaResolver::resolveComplexContentComplexTypes(const XsdComplexType::
group->setCompositor(XsdModelGroup::SequenceCompositor);
if (effectiveContent && effectiveContent->term()->isModelGroup() && XsdModelGroup::Ptr(effectiveContent->term())->compositor() == XsdModelGroup::AllCompositor) {
- m_context->error(QtXmlPatterns::tr("Content model of complex type %1 contains %2 element so it cannot be derived by extension from a non-empty type.")
+ m_context->error(QtXmlPatterns::tr("Content model of complex type %1 contains %2 element, so it cannot be derived by extension from a non-empty type.")
.arg(formatType(m_namePool, complexType)).arg(formatKeyword("all")), XsdSchemaContext::XSDError, sourceLocation(complexType));
return;
}
diff --git a/src/xmlpatterns/schema/qxsdtypechecker.cpp b/src/xmlpatterns/schema/qxsdtypechecker.cpp
index fb47448..e5709ae 100644
--- a/src/xmlpatterns/schema/qxsdtypechecker.cpp
+++ b/src/xmlpatterns/schema/qxsdtypechecker.cpp
@@ -57,6 +57,7 @@
#include "qxsdschemahelper_p.h"
#include "qxsdschemamerger_p.h"
#include "qxsdstatemachine_p.h"
+#include "qabstractfloat_p.h"
#include "qxsdschemadebugger_p.h"
@@ -697,7 +698,8 @@ bool XsdTypeChecker::checkConstrainingFacetsDouble(double value, const QString &
}
if (facets.contains(XsdFacet::Enumeration)) {
const XsdFacet::Ptr facet = facets.value(XsdFacet::Enumeration);
- const DerivedString<TypeString>::Ptr valueStr = DerivedString<TypeString>::fromLexical(m_namePool, QString::number(value));
+ const Numeric::Ptr valuePtr = Double::fromValue(value);
+ const DerivedString<TypeString>::Ptr valueStr = DerivedString<TypeString>::fromLexical(m_namePool, valuePtr->stringValue());
const AtomicValue::List multiValue = facet->multiValue();
bool found = false;
@@ -706,6 +708,13 @@ bool XsdTypeChecker::checkConstrainingFacetsDouble(double value, const QString &
found = true;
break;
}
+
+ // Handle case when both facet and value are NaN separately as equals for NaN returns always false.
+ const Numeric::Ptr facetValue = ValueFactory::fromLexical(multiValue.at(j)->as<DerivedString<TypeString> >()->stringValue(), BuiltinTypes::xsDouble, m_context, m_reflection);
+ if (facetValue->isNaN() && valuePtr->isNaN()) {
+ found = true;
+ break;
+ }
}
if (!found) {
diff --git a/src/xmlpatterns/schema/qxsdvalidatinginstancereader.cpp b/src/xmlpatterns/schema/qxsdvalidatinginstancereader.cpp
index 80c95c1..22d5d22 100644
--- a/src/xmlpatterns/schema/qxsdvalidatinginstancereader.cpp
+++ b/src/xmlpatterns/schema/qxsdvalidatinginstancereader.cpp
@@ -699,7 +699,7 @@ bool XsdValidatingInstanceReader::validateElementComplexType(const XsdElement::P
if (complexType->contentType()->variety() == XsdComplexType::ContentType::Mixed) {
if (declaration->valueConstraint() && declaration->valueConstraint()->variety() == XsdElement::ValueConstraint::Fixed) {
if (hasChildElement()) {
- error(QtXmlPatterns::tr("Element %1 cannot contain other elements, as it has a fixed content.").arg(formatKeyword(declaration->displayName(m_namePool))));
+ error(QtXmlPatterns::tr("Element %1 cannot contain other elements, as it has fixed content.").arg(formatKeyword(declaration->displayName(m_namePool))));
return false;
}
diff --git a/tests/auto/declarative/declarative.pro b/tests/auto/declarative/declarative.pro
index 72c32cb..08d59d3 100644
--- a/tests/auto/declarative/declarative.pro
+++ b/tests/auto/declarative/declarative.pro
@@ -39,6 +39,7 @@ contains(QT_CONFIG, private_tests) {
qdeclarativedebug \
qdeclarativedebugclient \
qdeclarativedebugservice \
+ qdeclarativedebugjs \
qdeclarativedom \
qdeclarativeecmascript \
qdeclarativeflickable \
diff --git a/tests/auto/declarative/qdeclarativedebug/qdeclarativedebug.pro b/tests/auto/declarative/qdeclarativedebug/qdeclarativedebug.pro
index 1214fcf..d488b53 100644
--- a/tests/auto/declarative/qdeclarativedebug/qdeclarativedebug.pro
+++ b/tests/auto/declarative/qdeclarativedebug/qdeclarativedebug.pro
@@ -6,5 +6,5 @@ HEADERS += ../shared/debugutil_p.h
SOURCES += tst_qdeclarativedebug.cpp \
../shared/debugutil.cpp
-CONFIG += parallel_test
+CONFIG += parallel_test declarative_debug
diff --git a/tests/auto/declarative/qdeclarativedebug/tst_qdeclarativedebug.cpp b/tests/auto/declarative/qdeclarativedebug/tst_qdeclarativedebug.cpp
index 9c20bd6..be9b402 100644
--- a/tests/auto/declarative/qdeclarativedebug/tst_qdeclarativedebug.cpp
+++ b/tests/auto/declarative/qdeclarativedebug/tst_qdeclarativedebug.cpp
@@ -52,14 +52,12 @@
#include <QtDeclarative/qdeclarativeproperty.h>
#include <private/qdeclarativebinding_p.h>
-#include <private/qdeclarativedebug_p.h>
#include <private/qdeclarativeenginedebug_p.h>
#include <private/qdeclarativedebugclient_p.h>
#include <private/qdeclarativedebugservice_p.h>
#include <private/qdeclarativerectangle_p.h>
#include <private/qdeclarativemetatype_p.h>
#include <private/qdeclarativeproperty_p.h>
-#include <private/qdeclarativedebughelper_p.h>
#include "../../../shared/util.h"
#include "../shared/debugutil_p.h"
@@ -296,9 +294,6 @@ void tst_QDeclarativeDebug::initTestCase()
qRegisterMetaType<QDeclarativeDebugWatch::State>();
qmlRegisterType<NonScriptProperty>("Test", 1, 0, "NonScriptPropertyElement");
- QTest::ignoreMessage(QtWarningMsg, "Qml debugging is enabled. Only use this in a safe environment!");
- QDeclarativeDebugHelper::enableDebugging();
-
QTest::ignoreMessage(QtWarningMsg, "QDeclarativeDebugServer: Waiting for connection on port 3768...");
m_engine = new QDeclarativeEngine(this);
diff --git a/tests/auto/declarative/qdeclarativedebugclient/qdeclarativedebugclient.pro b/tests/auto/declarative/qdeclarativedebugclient/qdeclarativedebugclient.pro
index a3afd99..8fa87d2 100644
--- a/tests/auto/declarative/qdeclarativedebugclient/qdeclarativedebugclient.pro
+++ b/tests/auto/declarative/qdeclarativedebugclient/qdeclarativedebugclient.pro
@@ -5,3 +5,5 @@ macx:CONFIG -= app_bundle
HEADERS += ../shared/debugutil_p.h
SOURCES += tst_qdeclarativedebugclient.cpp \
../shared/debugutil.cpp
+
+CONFIG += declarative_debug
diff --git a/tests/auto/declarative/qdeclarativedebugclient/tst_qdeclarativedebugclient.cpp b/tests/auto/declarative/qdeclarativedebugclient/tst_qdeclarativedebugclient.cpp
index d41cfa3..4846d67 100644
--- a/tests/auto/declarative/qdeclarativedebugclient/tst_qdeclarativedebugclient.cpp
+++ b/tests/auto/declarative/qdeclarativedebugclient/tst_qdeclarativedebugclient.cpp
@@ -47,11 +47,7 @@
#include <QtDeclarative/qdeclarativeengine.h>
-#include <private/qdeclarativedebug_p.h>
-#include <private/qdeclarativeenginedebug_p.h>
#include <private/qdeclarativedebugclient_p.h>
-#include <private/qdeclarativedebugservice_p.h>
-#include <private/qdeclarativedebughelper_p.h>
#include "../../../shared/util.h"
#include "../shared/debugutil_p.h"
@@ -73,9 +69,6 @@ private slots:
void tst_QDeclarativeDebugClient::initTestCase()
{
- QTest::ignoreMessage(QtWarningMsg, "Qml debugging is enabled. Only use this in a safe environment!");
- QDeclarativeDebugHelper::enableDebugging();
-
QTest::ignoreMessage(QtWarningMsg, "QDeclarativeDebugServer: Waiting for connection on port 13770...");
new QDeclarativeEngine(this);
diff --git a/tests/auto/declarative/qdeclarativedebugjs/app/app.pro b/tests/auto/declarative/qdeclarativedebugjs/app/app.pro
index 800c033..d1c0cdd 100644
--- a/tests/auto/declarative/qdeclarativedebugjs/app/app.pro
+++ b/tests/auto/declarative/qdeclarativedebugjs/app/app.pro
@@ -1,6 +1,7 @@
TEMPLATE = app
QT += declarative
+CONFIG += declarative_debug
CONFIG += console
CONFIG -= app_bundle
diff --git a/tests/auto/declarative/qdeclarativedebugjs/app/main.cpp b/tests/auto/declarative/qdeclarativedebugjs/app/main.cpp
index f5b830e..fe58502 100644
--- a/tests/auto/declarative/qdeclarativedebugjs/app/main.cpp
+++ b/tests/auto/declarative/qdeclarativedebugjs/app/main.cpp
@@ -44,13 +44,10 @@
#include <QDeclarativeComponent>
#include <QDeclarativeEngine>
#include <QStringList>
-#include <QtDeclarative/private/qdeclarativedebughelper_p.h>
#include <QtDeclarative/private/qdeclarativedebugservice_p.h>
int main(int argc, char *argv[])
{
- QDeclarativeDebugHelper::enableDebugging();
-
QApplication app(argc, argv);
const QUrl path = QUrl::fromLocalFile(app.arguments().last());
diff --git a/tests/auto/declarative/qdeclarativedebugjs/tst_qdeclarativedebugjs.cpp b/tests/auto/declarative/qdeclarativedebugjs/tst_qdeclarativedebugjs.cpp
index 1990c0d..bad7b8f 100644
--- a/tests/auto/declarative/qdeclarativedebugjs/tst_qdeclarativedebugjs.cpp
+++ b/tests/auto/declarative/qdeclarativedebugjs/tst_qdeclarativedebugjs.cpp
@@ -43,7 +43,6 @@
#include <QtDeclarative/QDeclarativeEngine>
#include <QtDeclarative/private/qdeclarativedebugclient_p.h>
#include <QtDeclarative/private/qdeclarativedebugservice_p.h>
-#include <QtDeclarative/private/qdeclarativedebug_p.h>
#include <QtDeclarative/private/qjsdebuggeragent_p.h>
#include <QtCore/QFileInfo>
#include <QtCore/QDir>
@@ -1431,8 +1430,10 @@ void tst_QDeclarativeDebugJS::testCoverageRun()
client.startCoverageRun();
client.startCoverageCompleted();
- QVERIFY(QDeclarativeDebugTest::waitForSignal(&client, SIGNAL(coverageScriptLoaded())));
- QVERIFY(QDeclarativeDebugTest::waitForSignal(&client, SIGNAL(coveragePosChanged())));
+
+ // The app might get "COVERAGE false" before anything is actually executed
+ //QVERIFY(QDeclarativeDebugTest::waitForSignal(&client, SIGNAL(coverageScriptLoaded())));
+ //QVERIFY(QDeclarativeDebugTest::waitForSignal(&client, SIGNAL(coveragePosChanged())));
//QVERIFY(QDeclarativeDebugTest::waitForSignal(&client, SIGNAL(coverageFuncEntered())));
//QVERIFY(QDeclarativeDebugTest::waitForSignal(&client, SIGNAL(coverageFuncExited())));
}
diff --git a/tests/auto/declarative/qdeclarativedebugservice/qdeclarativedebugservice.pro b/tests/auto/declarative/qdeclarativedebugservice/qdeclarativedebugservice.pro
index a62e148..ca5a398 100644
--- a/tests/auto/declarative/qdeclarativedebugservice/qdeclarativedebugservice.pro
+++ b/tests/auto/declarative/qdeclarativedebugservice/qdeclarativedebugservice.pro
@@ -6,5 +6,5 @@ HEADERS += ../shared/debugutil_p.h
SOURCES += tst_qdeclarativedebugservice.cpp \
../shared/debugutil.cpp
-CONFIG += parallel_test
+CONFIG += parallel_test declarative_debug
diff --git a/tests/auto/declarative/qdeclarativedebugservice/tst_qdeclarativedebugservice.cpp b/tests/auto/declarative/qdeclarativedebugservice/tst_qdeclarativedebugservice.cpp
index 3fa8bba..85d459b 100644
--- a/tests/auto/declarative/qdeclarativedebugservice/tst_qdeclarativedebugservice.cpp
+++ b/tests/auto/declarative/qdeclarativedebugservice/tst_qdeclarativedebugservice.cpp
@@ -46,10 +46,7 @@
#include <QThread>
#include <QtDeclarative/qdeclarativeengine.h>
-#include <private/qdeclarativedebughelper_p.h>
-#include <private/qdeclarativedebug_p.h>
-#include <private/qdeclarativeenginedebug_p.h>
#include <private/qdeclarativedebugclient_p.h>
#include <private/qdeclarativedebugservice_p.h>
@@ -76,9 +73,6 @@ private slots:
void tst_QDeclarativeDebugService::initTestCase()
{
- QTest::ignoreMessage(QtWarningMsg, "Qml debugging is enabled. Only use this in a safe environment!");
- QDeclarativeDebugHelper::enableDebugging();
-
QTest::ignoreMessage(QtWarningMsg, "QDeclarativeDebugServer: Waiting for connection on port 13769...");
new QDeclarativeEngine(this);
diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/tst_qdeclarativemoduleplugin.cpp b/tests/auto/declarative/qdeclarativemoduleplugin/tst_qdeclarativemoduleplugin.cpp
index 2cc2971..96bea68 100644
--- a/tests/auto/declarative/qdeclarativemoduleplugin/tst_qdeclarativemoduleplugin.cpp
+++ b/tests/auto/declarative/qdeclarativemoduleplugin/tst_qdeclarativemoduleplugin.cpp
@@ -43,6 +43,7 @@
#include <QtDeclarative/qdeclarativeengine.h>
#include <QtDeclarative/qdeclarativecomponent.h>
#include <QDebug>
+#include <QtCore/qlibraryinfo.h>
#include "../shared/testhttpserver.h"
#include "../../../shared/util.h"
@@ -70,6 +71,7 @@ private slots:
void remoteImportWithUnquotedUri();
void versionNotInstalled();
void versionNotInstalled_data();
+ void importPath();
};
#ifdef Q_OS_SYMBIAN
@@ -308,6 +310,29 @@ void tst_qdeclarativemoduleplugin::versionNotInstalled()
VERIFY_ERRORS(errorFile.toLatin1().constData());
}
+void tst_qdeclarativemoduleplugin::importPath()
+{
+#ifndef Q_OS_SYMBIAN
+ QSKIP("Import path order testing for Symbian only", SkipAll);
+#else
+ QDeclarativeEngine engine;
+ QStringList imports = engine.importPathList();
+ QString installImportsPath = QDir::cleanPath(QLibraryInfo::location(QLibraryInfo::ImportsPath));
+ QString driveOrder(QLatin1String("ZABCDEFGHIJKLMNOPQRSTUVWXY"));
+ int lastOrder = 30;
+ foreach(QString import, imports)
+ {
+ if (import.endsWith(installImportsPath))
+ {
+ int order = driveOrder.indexOf(import[0]);
+ QVERIFY(order < lastOrder);
+ lastOrder = order;
+ }
+ }
+ QVERIFY(lastOrder != 30);
+#endif
+}
+
QTEST_MAIN(tst_qdeclarativemoduleplugin)
#include "tst_qdeclarativemoduleplugin.moc"
diff --git a/tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp b/tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp
index 33f74a9..4d8bd0b 100644
--- a/tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp
+++ b/tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp
@@ -156,6 +156,7 @@ private slots:
void inputContextMouseHandler();
void inputMethodComposing();
void cursorRectangleSize();
+ void deselect();
private:
void simulateKey(QDeclarativeView *, int key, Qt::KeyboardModifiers modifiers = 0);
@@ -2699,6 +2700,120 @@ void tst_qdeclarativetextedit::cursorRectangleSize()
QCOMPARE(microFocusFromScene.size(), cursorRect.size());
QCOMPARE(microFocusFromApp.size(), cursorRect.size());
}
+
+void tst_qdeclarativetextedit::deselect()
+{
+ QDeclarativeView *canvas = createView(SRCDIR "/data/CursorRect.qml");
+ QVERIFY(canvas->rootObject() != 0);
+ canvas->show();
+ canvas->setFocus();
+ QApplication::setActiveWindow(canvas);
+ QTest::qWaitForWindowShown(canvas);
+
+ QDeclarativeTextEdit *textEdit = qobject_cast<QDeclarativeTextEdit *>(canvas->rootObject());
+ QVERIFY(textEdit != 0);
+
+ textEdit->setText("Select");
+
+ QSignalSpy selectionStartSpy(textEdit, SIGNAL(selectionStartChanged()));
+ QSignalSpy selectionEndSpy(textEdit, SIGNAL(selectionEndChanged()));
+ QSignalSpy selectionSpy(textEdit, SIGNAL(selectionChanged()));
+
+ textEdit->select(5, 6);
+
+ QCOMPARE(selectionStartSpy.count(), 1);
+ QCOMPARE(selectionEndSpy.count(), 1);
+ QCOMPARE(selectionSpy.count(), 1);
+ QCOMPARE(textEdit->selectionStart(), 5);
+ QCOMPARE(textEdit->selectionEnd(), 6);
+ QCOMPARE(textEdit->selectedText(), QLatin1String("t"));
+ QCOMPARE(textEdit->cursorPosition(), 6);
+
+ textEdit->deselect();
+
+ QCOMPARE(selectionStartSpy.count(), 2);
+ QCOMPARE(selectionEndSpy.count(), 1);
+ QCOMPARE(selectionSpy.count(), 2);
+ QCOMPARE(textEdit->selectionStart(), textEdit->cursorPosition());
+ QCOMPARE(textEdit->selectionEnd(), textEdit->cursorPosition());
+ QCOMPARE(textEdit->selectedText(), QLatin1String(""));
+ QCOMPARE(textEdit->cursorPosition(), 6);
+
+ textEdit->select(5, 6);
+
+ QCOMPARE(selectionStartSpy.count(), 3);
+ QCOMPARE(selectionEndSpy.count(), 1);
+ QCOMPARE(selectionSpy.count(), 3);
+ QCOMPARE(textEdit->selectionStart(), 5);
+ QCOMPARE(textEdit->selectionEnd(), 6);
+ QCOMPARE(textEdit->selectedText(), QLatin1String("t"));
+ QCOMPARE(textEdit->cursorPosition(), 6);
+
+ QKeyEvent leftArrowPress(QEvent::KeyPress, Qt::Key_Left, Qt::NoModifier);
+ QKeyEvent leftArrowRelese(QEvent::KeyRelease, Qt::Key_Left, Qt::NoModifier);
+ QApplication::sendEvent(canvas, &leftArrowPress);
+ QApplication::sendEvent(canvas, &leftArrowRelese);
+
+ QCOMPARE(selectionStartSpy.count(), 3);
+ QCOMPARE(selectionEndSpy.count(), 2);
+ QCOMPARE(selectionSpy.count(), 4);
+ QCOMPARE(textEdit->selectionStart(), textEdit->cursorPosition());
+ QCOMPARE(textEdit->selectionEnd(), textEdit->cursorPosition());
+ QCOMPARE(textEdit->selectedText(), QLatin1String(""));
+ QCOMPARE(textEdit->cursorPosition(), 5);
+
+ textEdit->select(5, 6);
+
+ QCOMPARE(selectionStartSpy.count(), 3);
+ QCOMPARE(selectionEndSpy.count(), 3);
+ QCOMPARE(selectionSpy.count(), 5);
+ QCOMPARE(textEdit->selectionStart(), 5);
+ QCOMPARE(textEdit->selectionEnd(), 6);
+ QCOMPARE(textEdit->selectedText(), QLatin1String("t"));
+ QCOMPARE(textEdit->cursorPosition(), 6);
+
+ QList<QInputMethodEvent::Attribute> attributes;
+ attributes << QInputMethodEvent::Attribute(QInputMethodEvent::Selection, 0, 0, QVariant());
+ QInputMethodEvent event(QLatin1String(""), attributes);
+ QApplication::sendEvent(canvas, &event);
+
+ QCOMPARE(selectionStartSpy.count(), 4);
+ QCOMPARE(selectionEndSpy.count(), 4);
+ QCOMPARE(selectionSpy.count(), 6);
+ QCOMPARE(textEdit->selectionStart(), textEdit->cursorPosition());
+ QCOMPARE(textEdit->selectionEnd(), textEdit->cursorPosition());
+ QCOMPARE(textEdit->selectedText(), QLatin1String(""));
+ QCOMPARE(textEdit->cursorPosition(), 0);
+
+ textEdit->setCursorPosition(1);
+
+ QCOMPARE(selectionStartSpy.count(), 5);
+ QCOMPARE(selectionEndSpy.count(), 5);
+ QCOMPARE(selectionSpy.count(), 6);
+
+ QKeyEvent leftArrowShiftPress(QEvent::KeyPress, Qt::Key_Left, Qt::ShiftModifier);
+ QKeyEvent leftArrowShiftRelese(QEvent::KeyRelease, Qt::Key_Left, Qt::ShiftModifier);
+ QApplication::sendEvent(canvas, &leftArrowShiftPress);
+ QApplication::sendEvent(canvas, &leftArrowShiftRelese);
+
+ QCOMPARE(selectionStartSpy.count(), 6);
+ QCOMPARE(selectionEndSpy.count(), 5);
+ QCOMPARE(selectionSpy.count(), 7);
+ QCOMPARE(textEdit->selectionStart(), 0);
+ QCOMPARE(textEdit->selectionEnd(), 1);
+ QCOMPARE(textEdit->selectedText(), QLatin1String("S"));
+ QCOMPARE(textEdit->cursorPosition(), 0);
+
+ QApplication::sendEvent(canvas, &event);
+
+ QCOMPARE(selectionStartSpy.count(), 6);
+ QCOMPARE(selectionEndSpy.count(), 6);
+ QCOMPARE(selectionSpy.count(), 8);
+ QCOMPARE(textEdit->selectionStart(), textEdit->cursorPosition());
+ QCOMPARE(textEdit->selectionEnd(), textEdit->cursorPosition());
+ QCOMPARE(textEdit->selectedText(), QLatin1String(""));
+ QCOMPARE(textEdit->cursorPosition(), 0);
+}
QTEST_MAIN(tst_qdeclarativetextedit)
#include "tst_qdeclarativetextedit.moc"
diff --git a/tests/auto/declarative/qdeclarativetextinput/tst_qdeclarativetextinput.cpp b/tests/auto/declarative/qdeclarativetextinput/tst_qdeclarativetextinput.cpp
index bb895bf..b077670 100644
--- a/tests/auto/declarative/qdeclarativetextinput/tst_qdeclarativetextinput.cpp
+++ b/tests/auto/declarative/qdeclarativetextinput/tst_qdeclarativetextinput.cpp
@@ -147,6 +147,7 @@ private slots:
void inputContextMouseHandler();
void inputMethodComposing();
void cursorRectangleSize();
+ void deselect();
private:
void simulateKey(QDeclarativeView *, int key);
@@ -2367,7 +2368,7 @@ void tst_qdeclarativetextinput::openInputPanelOnFocus()
QVERIFY(!view.testAttribute(Qt::WA_InputMethodEnabled));
// input method should not be enabled
- // if TextEdit is read only.
+ // if TextInput is read only.
input.setReadOnly(true);
ic.openInputPanelReceived = false;
input.setFocus(true);
@@ -2815,6 +2816,120 @@ void tst_qdeclarativetextinput::cursorRectangleSize()
QCOMPARE(microFocusFromApp.size(), cursorRect.size());
}
+void tst_qdeclarativetextinput::deselect()
+{
+ QDeclarativeView *canvas = createView(SRCDIR "/data/positionAt.qml");
+ QVERIFY(canvas->rootObject() != 0);
+ canvas->show();
+ canvas->setFocus();
+ QApplication::setActiveWindow(canvas);
+ QTest::qWaitForWindowShown(canvas);
+
+ QDeclarativeTextInput *textInput = qobject_cast<QDeclarativeTextInput *>(canvas->rootObject());
+ QVERIFY(textInput != 0);
+
+ textInput->setText("Select");
+
+ QSignalSpy selectionStartSpy(textInput, SIGNAL(selectionStartChanged()));
+ QSignalSpy selectionEndSpy(textInput, SIGNAL(selectionEndChanged()));
+ QSignalSpy selectedTextSpy(textInput, SIGNAL(selectedTextChanged()));
+
+ textInput->select(5, 6);
+
+ QCOMPARE(selectionStartSpy.count(), 1);
+ QCOMPARE(selectionEndSpy.count(), 0);
+ QCOMPARE(selectedTextSpy.count(), 1);
+ QCOMPARE(textInput->selectionStart(), 5);
+ QCOMPARE(textInput->selectionEnd(), 6);
+ QCOMPARE(textInput->selectedText(), QLatin1String("t"));
+ QCOMPARE(textInput->cursorPosition(), 6);
+
+ textInput->deselect();
+
+ QCOMPARE(selectionStartSpy.count(), 2);
+ QCOMPARE(selectionEndSpy.count(), 1);
+ QCOMPARE(selectedTextSpy.count(), 2);
+ QCOMPARE(textInput->selectionStart(), textInput->cursorPosition());
+ QCOMPARE(textInput->selectionEnd(), textInput->cursorPosition());
+ QCOMPARE(textInput->selectedText(), QLatin1String(""));
+ QCOMPARE(textInput->cursorPosition(), 6);
+
+ textInput->select(5, 6);
+
+ QCOMPARE(selectionStartSpy.count(), 3);
+ QCOMPARE(selectionEndSpy.count(), 1);
+ QCOMPARE(selectedTextSpy.count(), 3);
+ QCOMPARE(textInput->selectionStart(), 5);
+ QCOMPARE(textInput->selectionEnd(), 6);
+ QCOMPARE(textInput->selectedText(), QLatin1String("t"));
+ QCOMPARE(textInput->cursorPosition(), 6);
+
+ QKeyEvent leftArrowPress(QEvent::KeyPress, Qt::Key_Left, Qt::NoModifier);
+ QKeyEvent leftArrowRelese(QEvent::KeyRelease, Qt::Key_Left, Qt::NoModifier);
+ QApplication::sendEvent(canvas, &leftArrowPress);
+ QApplication::sendEvent(canvas, &leftArrowRelese);
+
+ QCOMPARE(selectionStartSpy.count(), 4);
+ QCOMPARE(selectionEndSpy.count(), 2);
+ QCOMPARE(selectedTextSpy.count(), 4);
+ QCOMPARE(textInput->selectionStart(), textInput->cursorPosition());
+ QCOMPARE(textInput->selectionEnd(), textInput->cursorPosition());
+ QCOMPARE(textInput->selectedText(), QLatin1String(""));
+ QCOMPARE(textInput->cursorPosition(), 5);
+
+ textInput->select(5, 6);
+
+ QCOMPARE(selectionStartSpy.count(), 4);
+ QCOMPARE(selectionEndSpy.count(), 3);
+ QCOMPARE(selectedTextSpy.count(), 5);
+ QCOMPARE(textInput->selectionStart(), 5);
+ QCOMPARE(textInput->selectionEnd(), 6);
+ QCOMPARE(textInput->selectedText(), QLatin1String("t"));
+ QCOMPARE(textInput->cursorPosition(), 6);
+
+ QList<QInputMethodEvent::Attribute> attributes;
+ attributes << QInputMethodEvent::Attribute(QInputMethodEvent::Selection, 0, 0, QVariant());
+ QInputMethodEvent event(QLatin1String(""), attributes);
+ QApplication::sendEvent(canvas, &event);
+
+ QCOMPARE(selectionStartSpy.count(), 5);
+ QCOMPARE(selectionEndSpy.count(), 4);
+ QCOMPARE(selectedTextSpy.count(), 6);
+ QCOMPARE(textInput->selectionStart(), textInput->cursorPosition());
+ QCOMPARE(textInput->selectionEnd(), textInput->cursorPosition());
+ QCOMPARE(textInput->selectedText(), QLatin1String(""));
+ QCOMPARE(textInput->cursorPosition(), 0);
+
+ textInput->setCursorPosition(1);
+
+ QCOMPARE(selectionStartSpy.count(), 6);
+ QCOMPARE(selectionEndSpy.count(), 5);
+ QCOMPARE(selectedTextSpy.count(), 6);
+
+ QKeyEvent leftArrowShiftPress(QEvent::KeyPress, Qt::Key_Left, Qt::ShiftModifier);
+ QKeyEvent leftArrowShiftRelese(QEvent::KeyRelease, Qt::Key_Left, Qt::ShiftModifier);
+ QApplication::sendEvent(canvas, &leftArrowShiftPress);
+ QApplication::sendEvent(canvas, &leftArrowShiftRelese);
+
+ QCOMPARE(selectionStartSpy.count(), 7);
+ QCOMPARE(selectionEndSpy.count(), 5);
+ QCOMPARE(selectedTextSpy.count(), 7);
+ QCOMPARE(textInput->selectionStart(), 0);
+ QCOMPARE(textInput->selectionEnd(), 1);
+ QCOMPARE(textInput->selectedText(), QLatin1String("S"));
+ QCOMPARE(textInput->cursorPosition(), 0);
+
+ QApplication::sendEvent(canvas, &event);
+
+ QCOMPARE(selectionStartSpy.count(), 8);
+ QCOMPARE(selectionEndSpy.count(), 6);
+ QCOMPARE(selectedTextSpy.count(), 8);
+ QCOMPARE(textInput->selectionStart(), textInput->cursorPosition());
+ QCOMPARE(textInput->selectionEnd(), textInput->cursorPosition());
+ QCOMPARE(textInput->selectedText(), QLatin1String(""));
+ QCOMPARE(textInput->cursorPosition(), 0);
+}
+
QTEST_MAIN(tst_qdeclarativetextinput)
#include "tst_qdeclarativetextinput.moc"
diff --git a/tests/auto/qabstractxmlnodemodel/qabstractxmlnodemodel.pro b/tests/auto/qabstractxmlnodemodel/qabstractxmlnodemodel.pro
index b8f509d..90a99c0 100644
--- a/tests/auto/qabstractxmlnodemodel/qabstractxmlnodemodel.pro
+++ b/tests/auto/qabstractxmlnodemodel/qabstractxmlnodemodel.pro
@@ -6,7 +6,7 @@ HEADERS += TestNodeModel.h LoadingModel.h
include (../xmlpatterns.pri)
-wince*: {
+wince*|symbian: {
addFiles.files = tree.xml
addFiles.path = .
diff --git a/tests/auto/qnetworkcookie/tst_qnetworkcookie.cpp b/tests/auto/qnetworkcookie/tst_qnetworkcookie.cpp
index a83f6dd..e4c88cd 100644
--- a/tests/auto/qnetworkcookie/tst_qnetworkcookie.cpp
+++ b/tests/auto/qnetworkcookie/tst_qnetworkcookie.cpp
@@ -181,6 +181,14 @@ void tst_QNetworkCookie::parseSingleCookie_data()
QTest::newRow("with-value-with-special4") << "a = \"\\\"\" " << cookie;
cookie.setValue("\"\\\"a, b; c\\\"\"");
QTest::newRow("with-value-with-special5") << "a = \"\\\"a, b; c\\\"\"" << cookie;
+ // RFC6265 states that cookie values shouldn't contain commas, but we still allow them
+ // since they are only reserved for future compatibility and other browsers do the same.
+ cookie.setValue(",");
+ QTest::newRow("with-value-with-special6") << "a = ," << cookie;
+ cookie.setValue(",b");
+ QTest::newRow("with-value-with-special7") << "a = ,b" << cookie;
+ cookie.setValue("b,");
+ QTest::newRow("with-value-with-special8") << "a = b," << cookie;
cookie.setValue("b c");
QTest::newRow("with-value-with-whitespace") << "a = b c" << cookie;
@@ -599,7 +607,6 @@ void tst_QNetworkCookie::parseSingleCookie()
//QEXPECT_FAIL("network2", "QDateTime parsing problem: the date is beyond year 8000", Abort);
QCOMPARE(result.count(), 1);
- QEXPECT_FAIL("network3", "Cookie value contains commas, violating the HTTP spec", Abort);
QCOMPARE(result.at(0), expectedCookie);
result = QNetworkCookie::parseCookies(result.at(0).toRawForm());
@@ -634,48 +641,17 @@ void tst_QNetworkCookie::parseMultipleCookies_data()
// reason: malformed NAME=VALUE pair
QTest::newRow("invalid-05") << "foo" << list;
QTest::newRow("invalid-06") << "=b" << list;
- QTest::newRow("invalid-09") << "foo,a=b" << list;
- QTest::newRow("invalid-11") << ";path=/" << list;
+ QTest::newRow("invalid-07") << ";path=/" << list;
// reason: malformed expiration date string
- QTest::newRow("invalid-12") << "a=b;expires=" << list;
- QTest::newRow("invalid-13") << "a=b;expires=foobar" << list;
- QTest::newRow("invalid-14") << "a=b;expires=foobar, abc" << list;
- QTest::newRow("invalid-15") << "a=b;expires=foobar, dd-mmm-yyyy hh:mm:ss GMT; path=/" << list;
- QTest::newRow("invalid-16") << "a=b;expires=foobar, 32-Caz-1999 24:01:60 GMT; path=/" << list;
-
- QNetworkCookie cookie;
- cookie.setName("a");
- list += cookie;
- cookie.setName("c");
- cookie.setValue("d");
- list += cookie;
- QTest::newRow("two-1") << "a=,c=d" << list;
- QTest::newRow("two-2") << "a=, c=d" << list;
- QTest::newRow("two-3") << "a= ,c=d" << list;
- QTest::newRow("two-4") << "a= , c=d" << list;
-
- list.clear();
- list += cookie;
- cookie.setName("a");
- cookie.setValue(QByteArray());
- list += cookie;
- QTest::newRow("two-5") << "c=d,a=" << list;
- QTest::newRow("two-6") << "c=d, a=" << list;
- QTest::newRow("two-7") << "c=d , a=" << list;
-
- cookie.setName("foo");
- cookie.setValue("bar");
- cookie.setPath("/");
- list += cookie;
- QTest::newRow("complex-1") << "c=d, a=, foo=bar; path=/" << list;
-
- cookie.setName("baz");
- cookie.setDomain(".qt.nokia.com");
- list.prepend(cookie);
- QTest::newRow("complex-2") << "baz=bar; path=/; domain=.qt.nokia.com, c=d,a=,foo=bar; path=/" << list;
+ QTest::newRow("invalid-08") << "a=b;expires=" << list;
+ QTest::newRow("invalid-09") << "a=b;expires=foobar" << list;
+ QTest::newRow("invalid-10") << "a=b;expires=foobar, abc" << list;
+ QTest::newRow("invalid-11") << "a=b;expires=foobar, dd-mmm-yyyy hh:mm:ss GMT; path=/" << list;
+ QTest::newRow("invalid-12") << "a=b;expires=foobar, 32-Caz-1999 24:01:60 GMT; path=/" << list;
// cookies obtained from the network:
+ QNetworkCookie cookie;
cookie = QNetworkCookie("id", "51706646077999719");
cookie.setDomain(".bluestreak.com");
cookie.setPath("/");
diff --git a/tests/auto/qnetworkreply/.gitattributes b/tests/auto/qnetworkreply/.gitattributes
index 80252cf..7fa30e3 100644
--- a/tests/auto/qnetworkreply/.gitattributes
+++ b/tests/auto/qnetworkreply/.gitattributes
@@ -1,3 +1,4 @@
rfc3252.txt -crlf
bigfile -crlf
resource -crlf
+index.html -crlf
diff --git a/tests/auto/qnetworkreply/index.html b/tests/auto/qnetworkreply/index.html
new file mode 100644
index 0000000..135db79
--- /dev/null
+++ b/tests/auto/qnetworkreply/index.html
@@ -0,0 +1,3 @@
+<h1>Welcome to qt-test-server</h1>
+<img src="gif/fluke.gif" alt="fluke">
+<p>This is a network test server. It serves as a cacheing ftp and http proxy, transparent http/socks5 proxy, imap, ftp and http server, plus more.</p>
diff --git a/tests/auto/qnetworkreply/tst_qnetworkreply.cpp b/tests/auto/qnetworkreply/tst_qnetworkreply.cpp
index 70287a9..3d1e35e 100644
--- a/tests/auto/qnetworkreply/tst_qnetworkreply.cpp
+++ b/tests/auto/qnetworkreply/tst_qnetworkreply.cpp
@@ -197,6 +197,8 @@ private Q_SLOTS:
void getFromHttp();
void getErrors_data();
void getErrors();
+ void headFromHttp_data();
+ void headFromHttp();
void putToFile_data();
void putToFile();
void putToFtp_data();
@@ -1610,6 +1612,65 @@ void tst_QNetworkReply::getFromHttp()
QCOMPARE(reply->readAll(), reference.readAll());
}
+void tst_QNetworkReply::headFromHttp_data()
+{
+ QTest::addColumn<qint64>("referenceSize");
+ QTest::addColumn<QUrl>("url");
+ QTest::addColumn<QString>("contentType");
+ QTest::addColumn<QNetworkProxy>("proxy");
+
+ qint64 rfcsize = QFileInfo(SRCDIR "/rfc3252.txt").size();
+ qint64 bigfilesize = QFileInfo(SRCDIR "/bigfile").size();
+ qint64 indexsize = QFileInfo(SRCDIR "/index.html").size();
+
+ //testing proxies, mainly for the 407 response from http proxy
+ for (int i = 0; i < proxies.count(); ++i) {
+ QTest::newRow("rfc" + proxies.at(i).tag) << rfcsize << QUrl("http://" + QtNetworkSettings::serverName() + "/qtest/rfc3252.txt") << "text/plain" << proxies.at(i).proxy;
+ QTest::newRow("bigfile" + proxies.at(i).tag) << bigfilesize << QUrl("http://" + QtNetworkSettings::serverName() + "/qtest/bigfile") << "text/plain" << proxies.at(i).proxy;
+ QTest::newRow("index" + proxies.at(i).tag) << indexsize << QUrl("http://" + QtNetworkSettings::serverName() + "/qtest/") << "text/html" << proxies.at(i).proxy;
+ QTest::newRow("with-authentication" + proxies.at(i).tag) << rfcsize << QUrl("http://" + QtNetworkSettings::serverName() + "/qtest/rfcs-auth/rfc3252.txt") << "text/plain" << proxies.at(i).proxy;
+ QTest::newRow("cgi" + proxies.at(i).tag) << (qint64)-1 << QUrl("http://qt-test-server/qtest/cgi-bin/httpcachetest_expires500.cgi") << "text/html" << proxies.at(i).proxy;
+ }
+}
+
+void tst_QNetworkReply::headFromHttp()
+{
+ QFETCH(qint64, referenceSize);
+ QFETCH(QUrl, url);
+ QFETCH(QString, contentType);
+ QFETCH(QNetworkProxy, proxy);
+
+ QNetworkRequest request(url);
+ QNetworkReplyPtr reply;
+
+ QElapsedTimer time;
+ time.start();
+
+ manager.setProxy(proxy);
+ connect(&manager, SIGNAL(authenticationRequired(QNetworkReply*,QAuthenticator*)),
+ SLOT(authenticationRequired(QNetworkReply*,QAuthenticator*)));
+ connect(&manager, SIGNAL(proxyAuthenticationRequired(QNetworkProxy,QAuthenticator*)),
+ SLOT(proxyAuthenticationRequired(QNetworkProxy,QAuthenticator*)));
+
+ RUN_REQUEST(runSimpleRequest(QNetworkAccessManager::HeadOperation, request, reply));
+
+ manager.disconnect(SIGNAL(authenticationRequired(QNetworkReply*,QAuthenticator*)),
+ this, SLOT(authenticationRequired(QNetworkReply*,QAuthenticator*)));
+ manager.disconnect(SIGNAL(proxyAuthenticationRequired(QNetworkProxy,QAuthenticator*)),
+ this, SLOT(proxyAuthenticationRequired(QNetworkProxy,QAuthenticator*)));
+
+ QVERIFY(time.elapsed() < 8000); //check authentication didn't wait for the server to timeout the http connection (15s on qt test server)
+
+ QCOMPARE(reply->url(), request.url());
+ QCOMPARE(reply->error(), QNetworkReply::NoError);
+ QCOMPARE(reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt(), 200);
+ // only compare when the header is set.
+ if (reply->header(QNetworkRequest::ContentLengthHeader).isValid() && referenceSize >= 0)
+ QCOMPARE(reply->header(QNetworkRequest::ContentLengthHeader).toLongLong(), referenceSize);
+ if (reply->header(QNetworkRequest::ContentTypeHeader).isValid())
+ QCOMPARE(reply->header(QNetworkRequest::ContentTypeHeader).toString(), contentType);
+}
+
void tst_QNetworkReply::getErrors_data()
{
QTest::addColumn<QString>("url");
diff --git a/tests/auto/qnetworkrequest/tst_qnetworkrequest.cpp b/tests/auto/qnetworkrequest/tst_qnetworkrequest.cpp
index 9052716..02d1e5a 100644
--- a/tests/auto/qnetworkrequest/tst_qnetworkrequest.cpp
+++ b/tests/auto/qnetworkrequest/tst_qnetworkrequest.cpp
@@ -414,7 +414,7 @@ void tst_QNetworkRequest::rawHeaderParsing_data()
QTest::newRow("SetCookie-3") << QNetworkRequest::SetCookieHeader
<< qVariantFromValue(QList<QNetworkCookie>() << cookie << cookie2)
<< true << "Set-Cookie"
- << "a=b; path=/, c=d";
+ << "a=b; path=/\nc=d";
}
void tst_QNetworkRequest::rawHeaderParsing()
diff --git a/tests/auto/qobjectrace/tst_qobjectrace.cpp b/tests/auto/qobjectrace/tst_qobjectrace.cpp
index 1f52aec..f9ec6ce 100644
--- a/tests/auto/qobjectrace/tst_qobjectrace.cpp
+++ b/tests/auto/qobjectrace/tst_qobjectrace.cpp
@@ -139,11 +139,6 @@ private slots:
void tst_QObjectRace::moveToThreadRace()
{
-#if defined(Q_OS_SYMBIAN)
- // ### FIXME: task 257411 - remove xfail once this is fixed
- QEXPECT_FAIL("", "Symbian event dispatcher can't handle this kind of race, see task: 257411", Abort);
- QVERIFY(false);
-#endif
RaceObject *object = new RaceObject;
enum { ThreadCount = 6 };
@@ -229,13 +224,6 @@ public:
void tst_QObjectRace::destroyRace()
{
-#if defined(Q_OS_SYMBIAN) && defined(Q_CC_NOKIAX86)
- // ### FIXME: task 257411 - remove xfail once this is fixed.
- // Oddly enough, this seems to work properly in HW, if given enough time and memory.
- QEXPECT_FAIL("", "Symbian event dispatcher can't handle this kind of race on emulator, see task: 257411", Abort);
- QVERIFY(false);
-#endif
-
enum { ThreadCount = 10, ObjectCountPerThread = 733,
ObjectCount = ThreadCount * ObjectCountPerThread };
diff --git a/tests/auto/qpluginloader/tst_qpluginloader.cpp b/tests/auto/qpluginloader/tst_qpluginloader.cpp
index d2d92a5..152d1f4 100644
--- a/tests/auto/qpluginloader/tst_qpluginloader.cpp
+++ b/tests/auto/qpluginloader/tst_qpluginloader.cpp
@@ -272,10 +272,10 @@ void tst_QPluginLoader::loadHints()
void tst_QPluginLoader::deleteinstanceOnUnload()
{
- for (int pass = 0; pass < 2; ++pass) {
+ for (int pass = 0; pass < 4; ++pass) {
QPluginLoader loader1;
loader1.setFileName( sys_qualifiedLibraryName("theplugin")); //a plugin
- if (pass == 0)
+ if (pass < 2)
loader1.load(); // not recommended, instance() should do the job.
PluginInterface *instance1 = qobject_cast<PluginInterface*>(loader1.instance());
QVERIFY(instance1);
@@ -283,21 +283,32 @@ void tst_QPluginLoader::deleteinstanceOnUnload()
QPluginLoader loader2;
loader2.setFileName( sys_qualifiedLibraryName("theplugin")); //a plugin
- if (pass == 0)
+ if (pass < 2)
loader2.load(); // not recommended, instance() should do the job.
PluginInterface *instance2 = qobject_cast<PluginInterface*>(loader2.instance());
QCOMPARE(instance2->pluginName(), QLatin1String("Plugin ok"));
QSignalSpy spy1(loader1.instance(), SIGNAL(destroyed()));
QSignalSpy spy2(loader2.instance(), SIGNAL(destroyed()));
- if (pass == 0) {
- QCOMPARE(loader2.unload(), false); // refcount not reached 0, not really unloaded
- QCOMPARE(spy1.count(), 0);
- QCOMPARE(spy2.count(), 0);
- }
+
+ // refcount not reached 0, not really unloaded
+ if (pass % 2)
+ QCOMPARE(loader1.unload(), false);
+ else
+ QCOMPARE(loader2.unload(), false);
+
+ QCOMPARE(spy1.count(), 0);
+ QCOMPARE(spy2.count(), 0);
+
QCOMPARE(instance1->pluginName(), QLatin1String("Plugin ok"));
QCOMPARE(instance2->pluginName(), QLatin1String("Plugin ok"));
- QVERIFY(loader1.unload()); // refcount reached 0, did really unload
+
+ // refcount reached 0, did really unload
+ if (pass % 2)
+ QVERIFY(loader2.unload());
+ else
+ QVERIFY(loader1.unload());
+
QCOMPARE(spy1.count(), 1);
QCOMPARE(spy2.count(), 1);
}
diff --git a/tests/auto/qstyle/tst_qstyle.cpp b/tests/auto/qstyle/tst_qstyle.cpp
index 79c3ba8..a6c7a86 100644
--- a/tests/auto/qstyle/tst_qstyle.cpp
+++ b/tests/auto/qstyle/tst_qstyle.cpp
@@ -213,10 +213,10 @@ void tst_QStyle::testStyleFactory()
#endif
#ifdef Q_WS_WIN
if (QSysInfo::WindowsVersion >= QSysInfo::WV_XP &&
- QSysInfo::WindowsVersion < QSysInfo::WV_NT_based)
+ (QSysInfo::WindowsVersion & QSysInfo::WV_NT_based))
QVERIFY(keys.contains("WindowsXP"));
if (QSysInfo::WindowsVersion >= QSysInfo::WV_VISTA &&
- QSysInfo::WindowsVersion < QSysInfo::WV_NT_based)
+ (QSysInfo::WindowsVersion & QSysInfo::WV_NT_based))
QVERIFY(keys.contains("WindowsVista"));
#endif
diff --git a/tests/auto/qtextbrowser/tst_qtextbrowser.cpp b/tests/auto/qtextbrowser/tst_qtextbrowser.cpp
index f36b335..4489daa 100644
--- a/tests/auto/qtextbrowser/tst_qtextbrowser.cpp
+++ b/tests/auto/qtextbrowser/tst_qtextbrowser.cpp
@@ -146,7 +146,7 @@ void tst_QTextBrowser::cleanup()
void tst_QTextBrowser::noReloadOnAnchorJump()
{
- QUrl url("anchor.html");
+ QUrl url("file:anchor.html");
browser->htmlLoadAttempts = 0;
browser->setSource(url);
@@ -162,7 +162,7 @@ void tst_QTextBrowser::noReloadOnAnchorJump()
void tst_QTextBrowser::bgColorOnSourceChange()
{
- browser->setSource(QUrl("pagewithbg.html"));
+ browser->setSource(QUrl("file:pagewithbg.html"));
QVERIFY(browser->document()->rootFrame()->frameFormat().hasProperty(QTextFormat::BackgroundBrush));
QVERIFY(browser->document()->rootFrame()->frameFormat().background().color() == Qt::blue);
@@ -179,7 +179,7 @@ void tst_QTextBrowser::forwardButton()
QVERIFY(browser->historyTitle(0).isEmpty());
QVERIFY(browser->historyTitle(1).isEmpty());
- browser->setSource(QUrl("pagewithbg.html"));
+ browser->setSource(QUrl("file:pagewithbg.html"));
QVERIFY(!forwardEmissions.isEmpty());
QVariant val = forwardEmissions.takeLast()[0];
@@ -192,7 +192,7 @@ void tst_QTextBrowser::forwardButton()
QVERIFY(val.toBool() == false);
QVERIFY(browser->historyTitle(-1).isEmpty());
- QCOMPARE(browser->historyUrl(0), QUrl("pagewithbg.html"));
+ QCOMPARE(browser->historyUrl(0), QUrl("file:pagewithbg.html"));
QCOMPARE(browser->documentTitle(), QString("Page With BG"));
QCOMPARE(browser->historyTitle(0), QString("Page With BG"));
QVERIFY(browser->historyTitle(1).isEmpty());
@@ -244,7 +244,7 @@ void tst_QTextBrowser::forwardButton()
void tst_QTextBrowser::viewportPositionInHistory()
{
- browser->setSource(QUrl("bigpage.html"));
+ browser->setSource(QUrl("file:bigpage.html"));
browser->scrollToAnchor("bottom");
QVERIFY(browser->verticalScrollBar()->value() > 0);
@@ -283,7 +283,7 @@ void tst_QTextBrowser::relativeLinks()
void tst_QTextBrowser::anchors()
{
- browser->setSource(QUrl("bigpage.html"));
+ browser->setSource(QUrl("file:bigpage.html"));
browser->setSource(QUrl("#bottom"));
QVERIFY(browser->verticalScrollBar()->value() > 0);
@@ -306,7 +306,7 @@ void tst_QTextBrowser::forwardBackwardAvailable()
QVERIFY(!browser->isBackwardAvailable());
QVERIFY(!browser->isForwardAvailable());
- browser->setSource(QUrl("anchor.html"));
+ browser->setSource(QUrl("file:anchor.html"));
QVERIFY(!browser->isBackwardAvailable());
QVERIFY(!browser->isForwardAvailable());
QCOMPARE(backwardSpy.count(), 1);
@@ -406,7 +406,7 @@ void tst_QTextBrowser::clearHistory()
backwardSpy.clear();
forwardSpy.clear();
- browser->setSource(QUrl("anchor.html"));
+ browser->setSource(QUrl("file:anchor.html"));
QVERIFY(!browser->isBackwardAvailable());
QVERIFY(!browser->isForwardAvailable());
QCOMPARE(backwardSpy.count(), 1);
@@ -447,7 +447,7 @@ void tst_QTextBrowser::clearHistory()
void tst_QTextBrowser::sourceInsideLoadResource()
{
- QUrl url("pagewithimage.html");
+ QUrl url("file:pagewithimage.html");
browser->setSource(url);
QCOMPARE(browser->lastResource.toString(), QUrl::fromLocalFile(QDir::current().filePath("foobar.png")).toString());
QEXPECT_FAIL("", "This is currently not supported", Continue);
@@ -532,7 +532,7 @@ void tst_QTextBrowser::adjacentAnchors()
void tst_QTextBrowser::loadResourceOnRelativeLocalFiles()
{
- browser->setSource(QUrl("subdir/index.html"));
+ browser->setSource(QUrl("file:subdir/index.html"));
QVERIFY(!browser->toPlainText().isEmpty());
QVariant v = browser->loadResource(QTextDocument::HtmlResource, QUrl("../anchor.html"));
QVERIFY(v.isValid());
@@ -543,7 +543,7 @@ void tst_QTextBrowser::loadResourceOnRelativeLocalFiles()
void tst_QTextBrowser::focusIndicator()
{
HackBrowser *browser = new HackBrowser;
- browser->setSource(QUrl("firstpage.html"));
+ browser->setSource(QUrl("file:firstpage.html"));
QVERIFY(!browser->textCursor().hasSelection());
browser->focusTheNextChild();
@@ -595,7 +595,7 @@ void tst_QTextBrowser::focusIndicator()
void tst_QTextBrowser::focusHistory()
{
HackBrowser *browser = new HackBrowser;
- browser->setSource(QUrl("firstpage.html"));
+ browser->setSource(QUrl("file:firstpage.html"));
QVERIFY(!browser->textCursor().hasSelection());
browser->focusTheNextChild();
diff --git a/tests/auto/qwidget/tst_qwidget.cpp b/tests/auto/qwidget/tst_qwidget.cpp
index ee06b53..a881583 100644
--- a/tests/auto/qwidget/tst_qwidget.cpp
+++ b/tests/auto/qwidget/tst_qwidget.cpp
@@ -397,6 +397,9 @@ private slots:
void minimizedWindowModeTransitions();
void normalWindowModeTransitions();
void focusSwitchClosesPopupMenu();
+#if !defined(Q_SYMBIAN_SEMITRANSPARENT_BG_SURFACE)
+ void opacityChangeCausesBackingStoreRecreation();
+#endif
#endif
void focusProxyAndInputMethods();
@@ -10334,7 +10337,47 @@ void tst_QWidget::focusSwitchClosesPopupMenu()
mainWindow.activateWindow();
QVERIFY(!CEikonEnv::Static()->AppUiFactory()->MenuBar()->IsDisplayed());
}
-#endif
+
+#if !defined(Q_SYMBIAN_SEMITRANSPARENT_BG_SURFACE)
+class OpacityChangeWidget : public QWidget
+{
+public:
+ OpacityChangeWidget() : m_paintEngineType(QPaintEngine::MaxUser) { }
+ void paintEvent(QPaintEvent *)
+ {
+ QPainter painter(this);
+ m_paintEngineType = painter.paintEngine()->type();
+ }
+ QPaintEngine::Type paintEngineType() const { return m_paintEngineType; }
+private:
+ QPaintEngine::Type m_paintEngineType;
+};
+
+void tst_QWidget::opacityChangeCausesBackingStoreRecreation()
+{
+ OpacityChangeWidget w;
+ w.show();
+ QTest::qWaitForWindowShown(&w);
+ const QPaintEngine::Type type = w.paintEngineType();
+ if (QPaintEngine::OpenGL != type && QPaintEngine::OpenVG != type) {
+ QSKIP("Test case is only valid when using opengl or openvg graphics system", SkipAll);
+ } else {
+ if (QApplicationPrivate::instance()->useTranslucentEGLSurfaces) {
+ QSKIP("Test case is only valid when EGL surface transparency is not supported", SkipAll);
+ } else {
+ // Making window transparent should force switch to raster graphics system
+ w.setAttribute(Qt::WA_TranslucentBackground, true);
+ w.repaint();
+ QCOMPARE(w.paintEngineType(), QPaintEngine::Raster);
+ // Making window opaque should cause switch back to previous graphics system
+ w.setAttribute(Qt::WA_TranslucentBackground, false);
+ w.repaint();
+ QCOMPARE(w.paintEngineType(), type);
+ }
+ }
+}
+#endif // !Q_SYMBIAN_SEMITRANSPARENT_BG_SURFACE
+#endif // Q_OS_SYMBIAN
class InputContextTester : public QInputContext
{
diff --git a/tests/auto/qxmlquery/tst_qxmlquery.cpp b/tests/auto/qxmlquery/tst_qxmlquery.cpp
index e443720..51bb88e 100644
--- a/tests/auto/qxmlquery/tst_qxmlquery.cpp
+++ b/tests/auto/qxmlquery/tst_qxmlquery.cpp
@@ -167,6 +167,7 @@ private Q_SLOTS:
void setFocusQString() const;
void setFocusQStringFailure() const;
void setFocusQStringSignature() const;
+ void setFocusQStringFailureAfterSucces() const;
void recompilationWithEvaluateToResultFailing() const;
void secondEvaluationWithEvaluateToResultFailing() const;
void recompilationWithEvaluateToReceiver() const;
@@ -1976,6 +1977,25 @@ void tst_QXmlQuery::setFocusQStringSignature() const
static_cast<bool>(query.setFocus(QString()));
}
+void tst_QXmlQuery::setFocusQStringFailureAfterSucces() const
+{
+ /* Test for QTBUG-18050. First call setFocus with a valid string,
+ * and then with an invalid string. evaluateTo should not crash. */
+ QXmlQuery query;
+ MessageSilencer silencer;
+ query.setMessageHandler(&silencer);
+
+ QVERIFY(query.setFocus(QLatin1String("<test>valid-input</test>")));
+ QVERIFY(!query.setFocus(QLatin1String("invalid-input")));
+
+ query.setQuery("/query");
+
+ QString output;
+ /* Last setFocus was with an invalid string, so evaluateTo should return
+ * false */
+ QVERIFY(!query.evaluateTo(&output));
+}
+
void tst_QXmlQuery::setFocusQIODeviceTriggerWarnings() const
{
/* A null pointer. */
diff --git a/tests/auto/xmlpatternsvalidator/files/schema-with-restrictions.xsd b/tests/auto/xmlpatternsvalidator/files/schema-with-restrictions.xsd
new file mode 100644
index 0000000..532efcb
--- /dev/null
+++ b/tests/auto/xmlpatternsvalidator/files/schema-with-restrictions.xsd
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:annotation>
+ <xsd:documentation xml:lang="en">
+ Test for QTBUG-21375: xmlpatternsvalidator does not allow for non-numeric literals in xsd:double attributes
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:element name="test1" type="TestType1" />
+ <xsd:element name="test2" type="TestType2" />
+ <xsd:element name="test3" type="TestType3" />
+
+ <xsd:complexType name="TestType1">
+ <xsd:attribute name="attribute1" type="DoubleWithRestrictions" default="INF" />
+ </xsd:complexType>
+
+ <xsd:complexType name="TestType2">
+ <xsd:attribute name="attribute2" type="DoubleWithRestrictions" default="-INF" />
+ </xsd:complexType>
+
+ <xsd:complexType name="TestType3">
+ <xsd:attribute name="attribute3" type="DoubleWithRestrictions" default="NaN" />
+ </xsd:complexType>
+
+ <xsd:simpleType name="DoubleWithRestrictions">
+ <xsd:union>
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:double">
+ <xsd:enumeration value="-INF" />
+ <xsd:enumeration value="INF" />
+ <xsd:enumeration value="NaN" />
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:union>
+ </xsd:simpleType>
+
+</xsd:schema>
diff --git a/tests/auto/xmlpatternsvalidator/tst_xmlpatternsvalidator.cpp b/tests/auto/xmlpatternsvalidator/tst_xmlpatternsvalidator.cpp
index 817ea1a..60c1fe8 100644
--- a/tests/auto/xmlpatternsvalidator/tst_xmlpatternsvalidator.cpp
+++ b/tests/auto/xmlpatternsvalidator/tst_xmlpatternsvalidator.cpp
@@ -222,6 +222,11 @@ void tst_XmlPatternsValidator::xsdSupport_data() const
<< (QStringList() << QLatin1String("files/dateTime-with-microseconds.xml")
<< QLatin1String("files/dateTime-with-microseconds.xsd"))
<< QString();
+
+ QTest::newRow("QTBUG-21375 A schema with a xs:double based simple type with non-numeric restrictions")
+ << 0
+ << (QStringList() << QLatin1String("files/schema-with-restrictions.xsd"))
+ << QString();
}
QTEST_MAIN(tst_XmlPatternsValidator)
diff --git a/tests/benchmarks/corelib/tools/qline/main.cpp b/tests/benchmarks/corelib/tools/qline/main.cpp
new file mode 100644
index 0000000..d7f93ba
--- /dev/null
+++ b/tests/benchmarks/corelib/tools/qline/main.cpp
@@ -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 test suite 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$
+**
+****************************************************************************/
+// This file contains benchmarks for QLineF functions.
+
+#include <QDebug>
+#include <qtest.h>
+#include <QLine>
+
+class tst_qline : public QObject
+{
+ Q_OBJECT
+private slots:
+ void fromPolar();
+ void intersect_data();
+ void intersect();
+ void length();
+ void setLength();
+ void angle();
+ void setAngle();
+ void angleTo();
+ void unitVector();
+ void normalVector();
+ void angle2();
+};
+
+void tst_qline::fromPolar()
+{
+ QBENCHMARK {
+ QLineF::fromPolar(10, 2);
+ }
+}
+
+void tst_qline::intersect_data()
+{
+ QTest::addColumn<QLineF>("l1");
+ QTest::addColumn<QLineF>("l2");
+ QTest::newRow("cross") << QLineF(-1,-1,1,1) << QLineF(-1,1,1,-1);
+ QTest::newRow("miss") << QLineF(1,1,2,2) << QLineF(1,11,2,12);
+}
+
+void tst_qline::intersect()
+{
+ QFETCH(QLineF, l1);
+ QFETCH(QLineF, l2);
+ QPointF intersection;
+ QBENCHMARK {
+ l1.intersect(l2, &intersection);
+ }
+}
+
+void tst_qline::length()
+{
+ QLineF line(1,2,3,4);
+ QBENCHMARK {
+ line.length();
+ }
+}
+
+void tst_qline::setLength()
+{
+ QLineF line(1,2,3,4);
+ QBENCHMARK {
+ line.setLength(5);
+ }
+}
+
+void tst_qline::angle()
+{
+ QLineF line(1,2,3,4);
+ QBENCHMARK {
+ line.angle();
+ }
+}
+
+void tst_qline::setAngle()
+{
+ QLineF line(1,2,3,4);
+ QBENCHMARK {
+ line.setAngle(1);
+ }
+}
+
+void tst_qline::angleTo()
+{
+ QLineF line1(1,2,3,4);
+ QLineF line2(8,7,6,5);
+ QBENCHMARK {
+ line1.angleTo(line2);
+ }
+}
+
+void tst_qline::unitVector()
+{
+ QLineF line(1,2,3,4);
+ QBENCHMARK {
+ line.unitVector();
+ }
+}
+
+void tst_qline::normalVector()
+{
+ QLineF line(1,2,3,4);
+ QBENCHMARK {
+ line.normalVector();
+ }
+}
+
+void tst_qline::angle2()
+{
+ QLineF line1(1,2,3,4);
+ QLineF line2(8,7,6,5);
+ QBENCHMARK {
+ line1.angle(line2);
+ }
+}
+
+QTEST_MAIN(tst_qline)
+
+#include "main.moc"
diff --git a/tests/benchmarks/corelib/tools/qline/qline.pro b/tests/benchmarks/corelib/tools/qline/qline.pro
new file mode 100644
index 0000000..ae6bf5e
--- /dev/null
+++ b/tests/benchmarks/corelib/tools/qline/qline.pro
@@ -0,0 +1,12 @@
+load(qttest_p4)
+TEMPLATE = app
+TARGET = tst_bench_qline
+DEPENDPATH += .
+INCLUDEPATH += .
+
+QT -= gui
+
+CONFIG += release
+
+# Input
+SOURCES += main.cpp
diff --git a/tests/benchmarks/corelib/tools/tools.pro b/tests/benchmarks/corelib/tools/tools.pro
index 44e8973..83a9411 100644
--- a/tests/benchmarks/corelib/tools/tools.pro
+++ b/tests/benchmarks/corelib/tools/tools.pro
@@ -3,6 +3,7 @@ SUBDIRS = \
containers-associative \
containers-sequential \
qbytearray \
+ qline \
qlist \
qrect \
qregexp \
diff --git a/tools/linguist/lupdate/main.cpp b/tools/linguist/lupdate/main.cpp
index ab88083..7337732 100644
--- a/tools/linguist/lupdate/main.cpp
+++ b/tools/linguist/lupdate/main.cpp
@@ -508,6 +508,9 @@ int main(int argc, char **argv)
|| arg == QLatin1String("-h")) {
printUsage();
return 0;
+ } else if (arg == QLatin1String("-list-languages")) {
+ printOut(getNumerusInfoString());
+ return 0;
} else if (arg == QLatin1String("-pluralonly")) {
options |= PluralOnly;
continue;
diff --git a/tools/linguist/shared/numerus.cpp b/tools/linguist/shared/numerus.cpp
index ac519b5..1ab300c 100644
--- a/tools/linguist/shared/numerus.cpp
+++ b/tools/linguist/shared/numerus.cpp
@@ -361,13 +361,6 @@ static const NumerusTableEntry numerusTable[] = {
static const int NumerusTableSize = sizeof(numerusTable) / sizeof(numerusTable[0]);
-// magic number for the file
-static const int MagicLength = 16;
-static const uchar magic[MagicLength] = {
- 0x3c, 0xb8, 0x64, 0x18, 0xca, 0xef, 0x9c, 0x95,
- 0xcd, 0x21, 0x1c, 0xbf, 0x60, 0xa1, 0xbd, 0xdd
-};
-
bool getNumerusInfo(QLocale::Language language, QLocale::Country country,
QByteArray *rules, QStringList *forms, const char **gettextRules)
{
@@ -401,4 +394,27 @@ bool getNumerusInfo(QLocale::Language language, QLocale::Country country,
return false;
}
+QString getNumerusInfoString()
+{
+ QStringList langs;
+
+ for (int i = 0; i < NumerusTableSize; ++i) {
+ const NumerusTableEntry &entry = numerusTable[i];
+ for (int j = 0; entry.languages[j] != EOL; ++j) {
+ QLocale loc(entry.languages[j], entry.countries ? entry.countries[j] : QLocale::AnyCountry);
+ QString lang = QLocale::languageToString(entry.languages[j]);
+ if (loc.language() == QLocale::C)
+ lang += QLatin1String(" (!!!)");
+ else if (entry.countries && entry.countries[j] != QLocale::AnyCountry)
+ lang += QLatin1String(" (") + QLocale::countryToString(loc.country()) + QLatin1Char(')');
+ else
+ lang += QLatin1String(" [") + QLocale::countryToString(loc.country()) + QLatin1Char(']');
+ langs << QString::fromLatin1("%1 %2 %3\n").arg(lang, -40).arg(loc.name(), -8)
+ .arg(QString::fromLatin1(entry.gettextRules));
+ }
+ }
+ langs.sort();
+ return langs.join(QString());
+}
+
QT_END_NAMESPACE
diff --git a/tools/linguist/shared/translator.h b/tools/linguist/shared/translator.h
index 3b7bd64..d0da527 100644
--- a/tools/linguist/shared/translator.h
+++ b/tools/linguist/shared/translator.h
@@ -254,6 +254,8 @@ private:
bool getNumerusInfo(QLocale::Language language, QLocale::Country country,
QByteArray *rules, QStringList *forms, const char **gettextRules);
+QString getNumerusInfoString();
+
bool saveQM(const Translator &translator, QIODevice &dev, ConversionData &cd);
/*
diff --git a/tools/porting/src/qt3headers0.resource b/tools/porting/src/qt3headers0.resource
index 8e24385..1a3e8a0 100644
--- a/tools/porting/src/qt3headers0.resource
+++ b/tools/porting/src/qt3headers0.resource
Binary files differ
diff --git a/tools/runonphone/codasignalhandler.cpp b/tools/runonphone/codasignalhandler.cpp
index 2de6fbc..1df7834 100644
--- a/tools/runonphone/codasignalhandler.cpp
+++ b/tools/runonphone/codasignalhandler.cpp
@@ -188,10 +188,15 @@ int CodaSignalHandler::run()
connect(this, SIGNAL(done()), this, SLOT(finished()));
d->codaDevice->sendSerialPing(false);
- if (d->timeout > 0)
- QTimer::singleShot(d->timeout, this, SLOT(timeout()));
+ QTimer timer;
+ if (d->timeout > 0) {
+ connect(&timer, SIGNAL(timeout()), this, SLOT(timeout()));
+ timer.setSingleShot(true);
+ timer.start(d->timeout);
+ }
d->eventLoop = new QEventLoop();
d->eventLoop->exec();
+ timer.stop();
int result = d->result;
reportMessage(tr("Done."));
@@ -199,7 +204,6 @@ int CodaSignalHandler::run()
disconnect(d->codaDevice.data(), 0, this, 0);
SymbianUtils::SymbianDeviceManager::instance()->releaseCodaDevice(d->codaDevice);
- QCoreApplication::quit();
return result;
}
diff --git a/tools/runonphone/main.cpp b/tools/runonphone/main.cpp
index 39fa983..6dd53fc 100644
--- a/tools/runonphone/main.cpp
+++ b/tools/runonphone/main.cpp
@@ -70,7 +70,8 @@ void printUsage(QTextStream& outstream, QString exeName)
<< "-T, --tempfile <remote file> specify temporary sis file name" << endl
<< "--nocrashlog Don't capture call stack if test crashes" << endl
<< "--crashlogpath <dir> Path to save crash logs (default=working dir)" << endl
- << "--coda Use CODA instead of TRK (default agent)" << endl
+ << "--coda Use CODA instead of detecting the debug agent" << endl
+ << "--trk Use TRK instead of detecting the debug agent" << endl
<< endl
<< "USB COM ports can usually be autodetected, use -p or -f to force a specific port." << endl
<< "TRK is the default debugging agent, use --coda option when using CODA instead of TRK." << endl
@@ -99,7 +100,7 @@ int main(int argc, char *argv[])
int loglevel=1;
int timeout=0;
bool crashlog = true;
- bool coda = false;
+ enum {AgentUnknown, AgentCoda, AgentTRK} debugAgent = AgentUnknown;
QString crashlogpath;
QListIterator<QString> it(args);
it.next(); //skip name of program
@@ -154,7 +155,9 @@ int main(int argc, char *argv[])
}
}
else if (arg == "--coda")
- coda = true;
+ debugAgent = AgentCoda;
+ else if (arg == "--trk")
+ debugAgent = AgentTRK;
else if (arg == "--tempfile" || arg == "-T") {
CHECK_PARAMETER_EXISTS
dstName = it.next();
@@ -225,7 +228,24 @@ int main(int argc, char *argv[])
QFileInfo info(exeFile);
QFileInfo uploadInfo(uploadLocalFile);
- if (coda) {
+ if (debugAgent == AgentUnknown) {
+ outstream << "detecting debug agent..." << endl;
+ CodaSignalHandler codaDetector;
+ //auto detect agent
+ codaDetector.setSerialPortName(serialPortName);
+ codaDetector.setLogLevel(loglevel);
+ codaDetector.setActionType(ActionPingOnly);
+ codaDetector.setTimeout(1000);
+ if (!codaDetector.run()) {
+ debugAgent = AgentCoda;
+ outstream << " - Coda is found" << endl;
+ } else {
+ debugAgent = AgentTRK;
+ outstream << " - Coda is not found, defaulting to TRK" << endl;
+ }
+ }
+
+ if (debugAgent == AgentCoda) {
codaHandler.setSerialPortName(serialPortName);
codaHandler.setLogLevel(loglevel);
@@ -257,7 +277,8 @@ int main(int argc, char *argv[])
return codaHandler.run();
} else {
- launcher.reset(new trk::Launcher(trk::Launcher::ActionPingOnly));
+ launcher.reset(new trk::Launcher(trk::Launcher::ActionPingOnly,
+ SymbianUtils::SymbianDeviceManager::instance()->acquireDevice(serialPortName)));
QStringList srcNames, dstNames;
if (!sisFile.isEmpty()) {
launcher->addStartupActions(trk::Launcher::ActionCopyInstall);
diff --git a/tools/runonphone/symbianutils/launcher.cpp b/tools/runonphone/symbianutils/launcher.cpp
index ff67881..2909696 100644
--- a/tools/runonphone/symbianutils/launcher.cpp
+++ b/tools/runonphone/symbianutils/launcher.cpp
@@ -440,7 +440,7 @@ void Launcher::handleResult(const TrkResult &result)
quint64 timestamp = extractInt64(result.data) & 0x0FFFFFFFFFFFFFFFULL;
quint64 secs = timestamp / 1000000000;
quint64 ns = timestamp % 1000000000;
- msg = QString("[%1.%2] %3").arg(secs).arg(ns).arg(QString(result.data.mid(8)));
+ msg = QString("[%1.%2] %3").arg(secs).arg(ns,9,10,QLatin1Char('0')).arg(QString(result.data.mid(8)));
logMessage("TEXT TRACE: " + msg);
}
} else {
diff --git a/tools/runonphone/symbianutils/symbiandevicemanager.cpp b/tools/runonphone/symbianutils/symbiandevicemanager.cpp
index e8d0b5e..0b7f581 100644
--- a/tools/runonphone/symbianutils/symbiandevicemanager.cpp
+++ b/tools/runonphone/symbianutils/symbiandevicemanager.cpp
@@ -183,6 +183,9 @@ SymbianDevice::TrkDevicePtr SymbianDevice::acquireDevice()
<< "acquired: " << m_data->deviceAcquired << " open: " << isOpen();
if (isNull() || m_data->deviceAcquired)
return TrkDevicePtr();
+ //if port was opened for coda (but is not acquired) then close it first.
+ if (m_data->codaDevice)
+ m_data->codaDevice->device()->close();
if (m_data->device.isNull()) {
m_data->device = TrkDevicePtr(new trk::TrkDevice);
m_data->device->setPort(m_data->portName);
diff --git a/tools/runonphone/texttracehandler.cpp b/tools/runonphone/texttracehandler.cpp
index fff02e9..a121c08 100644
--- a/tools/runonphone/texttracehandler.cpp
+++ b/tools/runonphone/texttracehandler.cpp
@@ -85,5 +85,5 @@ void TextTraceHandler::dataAvailable()
secs = timestamp / 1000000000;
ns = timestamp % 1000000000;
}
- d->out << QString("[%1.%2] %3").arg(secs).arg(ns).arg(QString(result.mid(8))) << endl;
+ d->out << QString("[%1.%2] %3").arg(secs).arg(ns,9,10,QLatin1Char('0')).arg(QString(result.mid(8))) << endl;
}
diff --git a/translations/assistant_ko.ts b/translations/assistant_ko.ts
index 1dbdf4f..c9d51cd 100644
--- a/translations/assistant_ko.ts
+++ b/translations/assistant_ko.ts
@@ -259,6 +259,10 @@ Reason:
<translation>주소</translation>
</message>
<message>
+ <source>Toolbar Menu</source>
+ <translation>도구 모음 메뉴</translation>
+ </message>
+ <message>
<source>Bookmarks Menu</source>
<translation>책갈피 메뉴</translation>
</message>
@@ -286,11 +290,11 @@ Reason:
<name>CentralWidget</name>
<message>
<source>Add new page</source>
- <translation>새 쪽 추가</translation>
+ <translation type="obsolete">새 쪽 추가</translation>
</message>
<message>
<source>Close current page</source>
- <translation>현재 쪽 닫기</translation>
+ <translation type="obsolete">현재 쪽 닫기</translation>
</message>
<message>
<source>Print Document</source>
@@ -298,27 +302,27 @@ Reason:
</message>
<message>
<source>unknown</source>
- <translation>알 수 없음</translation>
+ <translation type="obsolete">알 수 없음</translation>
</message>
<message>
<source>Add New Page</source>
- <translation>새 쪽 추가</translation>
+ <translation type="obsolete">새 쪽 추가</translation>
</message>
<message>
<source>Close This Page</source>
- <translation>이 쪽 닫기</translation>
+ <translation type="obsolete">이 쪽 닫기</translation>
</message>
<message>
<source>Close Other Pages</source>
- <translation>다른 쪽 닫기</translation>
+ <translation type="obsolete">다른 쪽 닫기</translation>
</message>
<message>
<source>Add Bookmark for this Page...</source>
- <translation>이 쪽을 책갈피에 추가...</translation>
+ <translation type="obsolete">이 쪽을 책갈피에 추가...</translation>
</message>
<message>
<source>Search</source>
- <translation>찾기</translation>
+ <translation type="obsolete">찾기</translation>
</message>
</context>
<context>
@@ -657,6 +661,49 @@ Reason:
</message>
</context>
<context>
+ <name>GlobalActions</name>
+ <message>
+ <source>&amp;Back</source>
+ <translation>뒤로(&amp;B)</translation>
+ </message>
+ <message>
+ <source>&amp;Forward</source>
+ <translation>앞으로(&amp;F)</translation>
+ </message>
+ <message>
+ <source>&amp;Home</source>
+ <translation>홈 페이지(&amp;H)</translation>
+ </message>
+ <message>
+ <source>ALT+Home</source>
+ <translation>ALT+Home</translation>
+ </message>
+ <message>
+ <source>Zoom &amp;in</source>
+ <translation>확대(&amp;I)</translation>
+ </message>
+ <message>
+ <source>Zoom &amp;out</source>
+ <translation>축소(&amp;O)</translation>
+ </message>
+ <message>
+ <source>&amp;Copy selected Text</source>
+ <translation>선택한 텍스트 복사(&amp;C)</translation>
+ </message>
+ <message>
+ <source>&amp;Print...</source>
+ <translation>인쇄(&amp;P)...</translation>
+ </message>
+ <message>
+ <source>&amp;Find in Text...</source>
+ <translation>텍스트에서 찾기(&amp;F)...</translation>
+ </message>
+ <message>
+ <source>&amp;Find</source>
+ <translation>찾기(&amp;F)</translation>
+ </message>
+</context>
+<context>
<name>HelpEngineWrapper</name>
<message>
<source>Unfiltered</source>
@@ -681,16 +728,32 @@ Reason:
<translation>&lt;title&gt;404 오류...&lt;/title&gt;&lt;div align=&quot;center&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;h1&gt;페이지를 찾을 수 없음&lt;/h1&gt;&lt;br&gt;&lt;h3&gt;&apos;%1&apos;&lt;/h3&gt;&lt;/div&gt;</translation>
</message>
<message>
+ <source>Open Link</source>
+ <translation>링크 열기</translation>
+ </message>
+ <message>
<source>Copy &amp;Link Location</source>
<translation>링크 주소 복사(&amp;L)</translation>
</message>
<message>
+ <source>Copy</source>
+ <translation>복사</translation>
+ </message>
+ <message>
+ <source>Reload</source>
+ <translation>새로 고침</translation>
+ </message>
+ <message>
<source>Open Link in New Tab Ctrl+LMB</source>
<translation>새 탭으로 링크 열기 Ctrl+LMB</translation>
</message>
<message>
<source>Open Link in New Tab</source>
- <translation>새 탭으로 링크 열기</translation>
+ <translation type="obsolete">새 탭으로 링크 열기</translation>
+ </message>
+ <message>
+ <source>Open Link in New Page</source>
+ <translation>새 쪽으로 링크 열기</translation>
</message>
</context>
<context>
@@ -881,10 +944,18 @@ Reason:
<translation>책갈피</translation>
</message>
<message>
+ <source>Open Pages</source>
+ <translation>쪽 열기</translation>
+ </message>
+ <message>
<source>Qt Assistant</source>
<translation>Qt Assistant</translation>
</message>
<message>
+ <source>Bookmark Toolbar</source>
+ <translation>책갈피 도구 모음</translation>
+ </message>
+ <message>
<source>Looking for Qt Documentation...</source>
<translation>Qt 문서 찾는 중...</translation>
</message>
@@ -906,7 +977,7 @@ Reason:
</message>
<message>
<source>&amp;Print...</source>
- <translation>인쇄(&amp;P)...</translation>
+ <translation type="obsolete">인쇄(&amp;P)...</translation>
</message>
<message>
<source>&amp;Close Tab</source>
@@ -926,15 +997,15 @@ Reason:
</message>
<message>
<source>&amp;Copy selected Text</source>
- <translation>선택한 텍스트 복사(&amp;C)</translation>
+ <translation type="obsolete">선택한 텍스트 복사(&amp;C)</translation>
</message>
<message>
<source>&amp;Find in Text...</source>
- <translation>텍스트에서 찾기(&amp;F)...</translation>
+ <translation type="obsolete">텍스트에서 찾기(&amp;F)...</translation>
</message>
<message>
<source>&amp;Find</source>
- <translation>찾기(&amp;F)</translation>
+ <translation type="obsolete">찾기(&amp;F)</translation>
</message>
<message>
<source>Find &amp;Next</source>
@@ -954,11 +1025,11 @@ Reason:
</message>
<message>
<source>Zoom &amp;in</source>
- <translation>확대(&amp;I)</translation>
+ <translation type="obsolete">확대(&amp;I)</translation>
</message>
<message>
<source>Zoom &amp;out</source>
- <translation>축소(&amp;O)</translation>
+ <translation type="obsolete">축소(&amp;O)</translation>
</message>
<message>
<source>Normal &amp;Size</source>
@@ -985,28 +1056,36 @@ Reason:
<translation>찾기</translation>
</message>
<message>
+ <source>E&amp;xit</source>
+ <translation>끝내기(&amp;X)</translation>
+ </message>
+ <message>
<source>ALT+S</source>
<translation>ALT+S</translation>
</message>
<message>
+ <source>ALT+P</source>
+ <translation>ALT+P</translation>
+ </message>
+ <message>
<source>&amp;Go</source>
<translation>이동(&amp;G)</translation>
</message>
<message>
<source>&amp;Home</source>
- <translation>홈 페이지(&amp;H)</translation>
+ <translation type="obsolete">홈 페이지(&amp;H)</translation>
</message>
<message>
<source>ALT+Home</source>
- <translation>ALT+Home</translation>
+ <translation type="obsolete">ALT+Home</translation>
</message>
<message>
<source>&amp;Back</source>
- <translation>뒤로(&amp;B)</translation>
+ <translation type="obsolete">뒤로(&amp;B)</translation>
</message>
<message>
<source>&amp;Forward</source>
- <translation>앞으로(&amp;F)</translation>
+ <translation type="obsolete">앞으로(&amp;F)</translation>
</message>
<message>
<source>Sync with Table of Contents</source>
@@ -1089,8 +1168,12 @@ Reason:
<translation>연결된 내용을 찾을 수 없습니다.</translation>
</message>
<message>
+ <source>&lt;center&gt;&lt;h3&gt;%1&lt;/h3&gt;&lt;p&gt;Version %2&lt;/p&gt;&lt;/center&gt;&lt;p&gt;Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;</source>
+ <translation>&lt;center&gt;&lt;h3&gt;%1&lt;/h3&gt;&lt;p&gt;버전 %2&lt;/p&gt;&lt;/center&gt;&lt;p&gt;저작권자 (C) 2011 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;</translation>
+ </message>
+ <message>
<source>&lt;center&gt;&lt;h3&gt;%1&lt;/h3&gt;&lt;p&gt;Version %2&lt;/p&gt;&lt;/center&gt;&lt;p&gt;Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;</source>
- <translation>&lt;center&gt;&lt;h3&gt;%1&lt;/h3&gt;&lt;p&gt;버전 %2&lt;/p&gt;&lt;/center&gt;&lt;p&gt;저작권자 (C) 2010 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;</translation>
+ <translation type="obsolete">&lt;center&gt;&lt;h3&gt;%1&lt;/h3&gt;&lt;p&gt;버전 %2&lt;/p&gt;&lt;/center&gt;&lt;p&gt;저작권자 (C) 2010 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;</translation>
</message>
<message>
<source>About %1</source>
@@ -1106,6 +1189,17 @@ Reason:
</message>
</context>
<context>
+ <name>OpenPagesWidget</name>
+ <message>
+ <source>Close %1</source>
+ <translation>%1 닫기</translation>
+ </message>
+ <message>
+ <source>Close All Except %1</source>
+ <translation>%1 이외 모두 닫기</translation>
+ </message>
+</context>
+<context>
<name>OutputPage</name>
<message>
<source>Form</source>
@@ -1324,6 +1418,14 @@ Do you want to remove it?</source>
<source>Restore to default</source>
<translation>기본값으로 복원</translation>
</message>
+ <message>
+ <source>Appearance</source>
+ <translation>모양</translation>
+ </message>
+ <message>
+ <source>Show tabs for each individual page</source>
+ <translation>각각 쪽마다 탭 보이기</translation>
+ </message>
</context>
<context>
<name>QCollectionGenerator</name>
@@ -1526,6 +1628,29 @@ qhelpgenerator &lt;help-project-file&gt; [옵션]
</message>
</context>
<context>
+ <name>TabBar</name>
+ <message>
+ <source>(Untitled)</source>
+ <translation>(제목 없음)</translation>
+ </message>
+ <message>
+ <source>New &amp;Tab</source>
+ <translation>새 탭(&amp;T)</translation>
+ </message>
+ <message>
+ <source>&amp;Close Tab</source>
+ <translation>탭 닫기(&amp;C)</translation>
+ </message>
+ <message>
+ <source>Close Other Tabs</source>
+ <translation>다른 탭 닫기</translation>
+ </message>
+ <message>
+ <source>Add Bookmark for this Page...</source>
+ <translation>이 쪽을 책갈피에 추가...</translation>
+ </message>
+</context>
+<context>
<name>TopicChooser</name>
<message>
<source>Choose Topic</source>
diff --git a/translations/assistant_pl.ts b/translations/assistant_pl.ts
index 87524a4..a173895 100644
--- a/translations/assistant_pl.ts
+++ b/translations/assistant_pl.ts
@@ -262,6 +262,10 @@ Powód:
<translation>Adres</translation>
</message>
<message>
+ <source>Toolbar Menu</source>
+ <translation>Menu paska narzędzi</translation>
+ </message>
+ <message>
<source>Bookmarks Menu</source>
<translation>Menu zakładek</translation>
</message>
@@ -289,11 +293,11 @@ Powód:
<name>CentralWidget</name>
<message>
<source>Add new page</source>
- <translation>Dodaj nową stronę</translation>
+ <translation type="obsolete">Dodaj nową stronę</translation>
</message>
<message>
<source>Close current page</source>
- <translation>Zamknij bieżącą stronę</translation>
+ <translation type="obsolete">Zamknij bieżącą stronę</translation>
</message>
<message>
<source>Print Document</source>
@@ -301,27 +305,27 @@ Powód:
</message>
<message>
<source>unknown</source>
- <translation>nieznany</translation>
+ <translation type="obsolete">nieznany</translation>
</message>
<message>
<source>Add New Page</source>
- <translation>Dodaj nową stronę</translation>
+ <translation type="obsolete">Dodaj nową stronę</translation>
</message>
<message>
<source>Close This Page</source>
- <translation>Zamknij tą stronę</translation>
+ <translation type="obsolete">Zamknij tą stronę</translation>
</message>
<message>
<source>Close Other Pages</source>
- <translation>Zamknij inne strony</translation>
+ <translation type="obsolete">Zamknij inne strony</translation>
</message>
<message>
<source>Add Bookmark for this Page...</source>
- <translation>Dodaj zakładkę dla tej strony...</translation>
+ <translation type="obsolete">Dodaj zakładkę dla tej strony...</translation>
</message>
<message>
<source>Search</source>
- <translation>Wyszukaj</translation>
+ <translation type="obsolete">Wyszukaj</translation>
</message>
</context>
<context>
@@ -661,6 +665,49 @@ Powód:
</message>
</context>
<context>
+ <name>GlobalActions</name>
+ <message>
+ <source>&amp;Back</source>
+ <translation>&amp;Wstecz</translation>
+ </message>
+ <message>
+ <source>&amp;Forward</source>
+ <translation>W &amp;przód</translation>
+ </message>
+ <message>
+ <source>&amp;Home</source>
+ <translation>Strona &amp;startowa</translation>
+ </message>
+ <message>
+ <source>ALT+Home</source>
+ <translation>ALT+Home</translation>
+ </message>
+ <message>
+ <source>Zoom &amp;in</source>
+ <translation>Po&amp;większ</translation>
+ </message>
+ <message>
+ <source>Zoom &amp;out</source>
+ <translation>Po&amp;mniejsz</translation>
+ </message>
+ <message>
+ <source>&amp;Copy selected Text</source>
+ <translation>S&amp;kopiuj zaznaczony tekst</translation>
+ </message>
+ <message>
+ <source>&amp;Print...</source>
+ <translation>&amp;Drukuj...</translation>
+ </message>
+ <message>
+ <source>&amp;Find in Text...</source>
+ <translation>Znajdź w &amp;tekście...</translation>
+ </message>
+ <message>
+ <source>&amp;Find</source>
+ <translation>&amp;Znajdź</translation>
+ </message>
+</context>
+<context>
<name>HelpEngineWrapper</name>
<message>
<source>Unfiltered</source>
@@ -685,16 +732,32 @@ Powód:
<translation>&lt;title&gt;Błąd 404...&lt;/title&gt;&lt;div align=&quot;center&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;h1&gt;Strona nie może być znaleziona&lt;/h1&gt;&lt;br&gt;&lt;h3&gt;&apos;%1&apos;&lt;/h3&gt;&lt;/div&gt;</translation>
</message>
<message>
+ <source>Open Link</source>
+ <translation>Otwórz odsyłacz</translation>
+ </message>
+ <message>
<source>Copy &amp;Link Location</source>
<translation>Skopiuj &amp;odsyłacz</translation>
</message>
<message>
+ <source>Copy</source>
+ <translation>Skopiuj</translation>
+ </message>
+ <message>
+ <source>Reload</source>
+ <translation>Przeładuj</translation>
+ </message>
+ <message>
<source>Open Link in New Tab Ctrl+LMB</source>
<translation>Otwórz odsyłacz w nowej karcie Ctrl+LMB</translation>
</message>
<message>
<source>Open Link in New Tab</source>
- <translation>Otwórz odsyłacz w nowej karcie</translation>
+ <translation type="obsolete">Otwórz odsyłacz w nowej karcie</translation>
+ </message>
+ <message>
+ <source>Open Link in New Page</source>
+ <translation>Otwórz odsyłacz na nowej stronie</translation>
</message>
</context>
<context>
@@ -902,7 +965,7 @@ Powód:
</message>
<message>
<source>&amp;Print...</source>
- <translation>Wy&amp;drukuj...</translation>
+ <translation type="obsolete">Wy&amp;drukuj...</translation>
</message>
<message>
<source>New &amp;Tab</source>
@@ -922,15 +985,15 @@ Powód:
</message>
<message>
<source>&amp;Copy selected Text</source>
- <translation>S&amp;kopiuj zaznaczony tekst</translation>
+ <translation type="obsolete">S&amp;kopiuj zaznaczony tekst</translation>
</message>
<message>
<source>&amp;Find in Text...</source>
- <translation>Znajdź w &amp;tekście...</translation>
+ <translation type="obsolete">Znajdź w &amp;tekście...</translation>
</message>
<message>
<source>&amp;Find</source>
- <translation>&amp;Znajdź</translation>
+ <translation type="obsolete">&amp;Znajdź</translation>
</message>
<message>
<source>Find &amp;Next</source>
@@ -946,11 +1009,11 @@ Powód:
</message>
<message>
<source>Zoom &amp;in</source>
- <translation>Po&amp;większ</translation>
+ <translation type="obsolete">Po&amp;większ</translation>
</message>
<message>
<source>Zoom &amp;out</source>
- <translation>Po&amp;mniejsz</translation>
+ <translation type="obsolete">Po&amp;mniejsz</translation>
</message>
<message>
<source>Normal &amp;Size</source>
@@ -974,15 +1037,15 @@ Powód:
</message>
<message>
<source>&amp;Home</source>
- <translation>Strona &amp;startowa</translation>
+ <translation type="obsolete">Strona &amp;startowa</translation>
</message>
<message>
<source>&amp;Back</source>
- <translation>&amp;Wstecz</translation>
+ <translation type="obsolete">&amp;Wstecz</translation>
</message>
<message>
<source>&amp;Forward</source>
- <translation>W &amp;przód</translation>
+ <translation type="obsolete">W &amp;przód</translation>
</message>
<message>
<source>Sync with Table of Contents</source>
@@ -1021,6 +1084,22 @@ Powód:
<translation>Informacje o programie...</translation>
</message>
<message>
+ <source>Open Pages</source>
+ <translation>Otwarte strony</translation>
+ </message>
+ <message>
+ <source>Bookmark Toolbar</source>
+ <translation>Pasek z zakładkami</translation>
+ </message>
+ <message>
+ <source>E&amp;xit</source>
+ <translation>Za&amp;kończ</translation>
+ </message>
+ <message>
+ <source>ALT+P</source>
+ <translation>ALT+P</translation>
+ </message>
+ <message>
<source>Navigation Toolbar</source>
<translation>Pasek do nawigacji</translation>
</message>
@@ -1094,7 +1173,7 @@ Powód:
</message>
<message>
<source>ALT+Home</source>
- <translation>ALT+Home</translation>
+ <translation type="obsolete">ALT+Home</translation>
</message>
<message>
<source>&amp;Bookmarks</source>
@@ -1110,6 +1189,17 @@ Powód:
</message>
</context>
<context>
+ <name>OpenPagesWidget</name>
+ <message>
+ <source>Close %1</source>
+ <translation>Zamknij %1</translation>
+ </message>
+ <message>
+ <source>Close All Except %1</source>
+ <translation>Zamknij wszystko z wyjątkiem %1</translation>
+ </message>
+</context>
+<context>
<name>OutputPage</name>
<message>
<source>Form</source>
@@ -1328,6 +1418,14 @@ Czy chcesz go usunąć?</translation>
<source>Blank Page</source>
<translation>Pusta strona</translation>
</message>
+ <message>
+ <source>Appearance</source>
+ <translation>Wygląd</translation>
+ </message>
+ <message>
+ <source>Show tabs for each individual page</source>
+ <translation>Pokazuj karty dla każdej otwartej strony</translation>
+ </message>
</context>
<context>
<name>QCollectionGenerator</name>
@@ -1527,6 +1625,29 @@ qhelpgenerator &lt;plik-projektu-pomocy&gt; [opcje]
</message>
</context>
<context>
+ <name>TabBar</name>
+ <message>
+ <source>(Untitled)</source>
+ <translation>(Nienazwany)</translation>
+ </message>
+ <message>
+ <source>New &amp;Tab</source>
+ <translation>Nowa kar&amp;ta</translation>
+ </message>
+ <message>
+ <source>&amp;Close Tab</source>
+ <translation>&amp;Zamknij kartę</translation>
+ </message>
+ <message>
+ <source>Close Other Tabs</source>
+ <translation>Zamknij pozostałe karty</translation>
+ </message>
+ <message>
+ <source>Add Bookmark for this Page...</source>
+ <translation>Dodaj zakładkę dla tej strony...</translation>
+ </message>
+</context>
+<context>
<name>TopicChooser</name>
<message>
<source>Choose a topic for &lt;b&gt;%1&lt;/b&gt;:</source>
diff --git a/translations/assistant_uk.ts b/translations/assistant_uk.ts
index 73f5df5..d3bd284 100644
--- a/translations/assistant_uk.ts
+++ b/translations/assistant_uk.ts
@@ -259,6 +259,10 @@ Reason:
<translation>Адреса</translation>
</message>
<message>
+ <source>Toolbar Menu</source>
+ <translation>Панель закладок</translation>
+ </message>
+ <message>
<source>Bookmarks Menu</source>
<translation>Меню закладок</translation>
</message>
@@ -285,41 +289,9 @@ Reason:
<context>
<name>CentralWidget</name>
<message>
- <source>Add new page</source>
- <translation>Додати нову сторінку</translation>
- </message>
- <message>
- <source>Close current page</source>
- <translation>Закрити поточну сторінку</translation>
- </message>
- <message>
<source>Print Document</source>
<translation>Друкувати документ</translation>
</message>
- <message>
- <source>unknown</source>
- <translation>невідомо</translation>
- </message>
- <message>
- <source>Add New Page</source>
- <translation>Додати нову сторінку</translation>
- </message>
- <message>
- <source>Close This Page</source>
- <translation>Закрити цю сторінку</translation>
- </message>
- <message>
- <source>Close Other Pages</source>
- <translation>Закрити інші сторінки</translation>
- </message>
- <message>
- <source>Add Bookmark for this Page...</source>
- <translation>Додати закладку для цієї сторінки...</translation>
- </message>
- <message>
- <source>Search</source>
- <translation>Пошук</translation>
- </message>
</context>
<context>
<name>CmdLineParser</name>
@@ -651,6 +623,49 @@ Reason:
</message>
</context>
<context>
+ <name>GlobalActions</name>
+ <message>
+ <source>&amp;Back</source>
+ <translation>&amp;Назад</translation>
+ </message>
+ <message>
+ <source>&amp;Forward</source>
+ <translation>&amp;Вперед</translation>
+ </message>
+ <message>
+ <source>&amp;Home</source>
+ <translation>&amp;Домівка</translation>
+ </message>
+ <message>
+ <source>ALT+Home</source>
+ <translation></translation>
+ </message>
+ <message>
+ <source>Zoom &amp;in</source>
+ <translation>З&amp;більшити</translation>
+ </message>
+ <message>
+ <source>Zoom &amp;out</source>
+ <translation>З&amp;меншити</translation>
+ </message>
+ <message>
+ <source>&amp;Copy selected Text</source>
+ <translation>&amp;Копіювати виділений текст</translation>
+ </message>
+ <message>
+ <source>&amp;Print...</source>
+ <translation>&amp;Друк...</translation>
+ </message>
+ <message>
+ <source>&amp;Find in Text...</source>
+ <translation>Пошук в &amp;тексті...</translation>
+ </message>
+ <message>
+ <source>&amp;Find</source>
+ <translation>По&amp;шук</translation>
+ </message>
+</context>
+<context>
<name>HelpEngineWrapper</name>
<message>
<source>Unfiltered</source>
@@ -675,16 +690,28 @@ Reason:
<translation>&lt;title&gt;Помилка 404...&lt;/title&gt;&lt;div align=&quot;center&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;h1&gt;Не вдалось знайти сторінку&lt;/h1&gt;&lt;br&gt;&lt;h3&gt;&apos;%1&apos;&lt;/h3&gt;&lt;/div&gt;</translation>
</message>
<message>
+ <source>Open Link</source>
+ <translation>Відкрити посилання</translation>
+ </message>
+ <message>
<source>Copy &amp;Link Location</source>
<translation>Копіювати &amp;адресу посилання</translation>
</message>
<message>
+ <source>Copy</source>
+ <translation>Копіювати</translation>
+ </message>
+ <message>
+ <source>Reload</source>
+ <translation>Перезавантажити</translation>
+ </message>
+ <message>
<source>Open Link in New Tab Ctrl+LMB</source>
<translation>Відкрити посилання в новій вкладці Ctrl+LMB</translation>
</message>
<message>
- <source>Open Link in New Tab</source>
- <translation>Відкрити посилання в новій вкладці</translation>
+ <source>Open Link in New Page</source>
+ <translation>Відкрити посилання в новій сторінці</translation>
</message>
</context>
<context>
@@ -875,10 +902,18 @@ Reason:
<translation>Закладки</translation>
</message>
<message>
+ <source>Open Pages</source>
+ <translation>Відкрити сторінки</translation>
+ </message>
+ <message>
<source>Qt Assistant</source>
<translation>Qt Assistant</translation>
</message>
<message>
+ <source>Bookmark Toolbar</source>
+ <translation>Панель закладок</translation>
+ </message>
+ <message>
<source>Looking for Qt Documentation...</source>
<translation>Пошук документації Qt...</translation>
</message>
@@ -899,10 +934,6 @@ Reason:
<translation>Попередній перегляд...</translation>
</message>
<message>
- <source>&amp;Print...</source>
- <translation>&amp;Друк...</translation>
- </message>
- <message>
<source>&amp;Close Tab</source>
<translation>&amp;Закрити вкладку</translation>
</message>
@@ -919,18 +950,6 @@ Reason:
<translation>&amp;Правка</translation>
</message>
<message>
- <source>&amp;Copy selected Text</source>
- <translation>&amp;Копіювати виділений текст</translation>
- </message>
- <message>
- <source>&amp;Find in Text...</source>
- <translation>Пошук в &amp;тексті...</translation>
- </message>
- <message>
- <source>&amp;Find</source>
- <translation>По&amp;шук</translation>
- </message>
- <message>
<source>Find &amp;Next</source>
<translation>Знайти &amp;наступне</translation>
</message>
@@ -947,14 +966,6 @@ Reason:
<translation>&amp;Вид</translation>
</message>
<message>
- <source>Zoom &amp;in</source>
- <translation>З&amp;більшити</translation>
- </message>
- <message>
- <source>Zoom &amp;out</source>
- <translation>З&amp;меншити</translation>
- </message>
- <message>
<source>Normal &amp;Size</source>
<translation>&amp;Нормальний розмір</translation>
</message>
@@ -979,28 +990,20 @@ Reason:
<translation>Пошук</translation>
</message>
<message>
- <source>ALT+S</source>
- <translation></translation>
- </message>
- <message>
- <source>&amp;Go</source>
- <translation>П&amp;ерейти</translation>
- </message>
- <message>
- <source>&amp;Home</source>
- <translation>&amp;Домівка</translation>
+ <source>E&amp;xit</source>
+ <translation>Ви&amp;йти</translation>
</message>
<message>
- <source>ALT+Home</source>
+ <source>ALT+S</source>
<translation></translation>
</message>
<message>
- <source>&amp;Back</source>
- <translation>&amp;Назад</translation>
+ <source>ALT+P</source>
+ <translation></translation>
</message>
<message>
- <source>&amp;Forward</source>
- <translation>&amp;Вперед</translation>
+ <source>&amp;Go</source>
+ <translation>П&amp;ерейти</translation>
</message>
<message>
<source>Sync with Table of Contents</source>
@@ -1100,6 +1103,17 @@ Reason:
</message>
</context>
<context>
+ <name>OpenPagesWidget</name>
+ <message>
+ <source>Close %1</source>
+ <translation>Закрити %1</translation>
+ </message>
+ <message>
+ <source>Close All Except %1</source>
+ <translation>Закрити все, крім %1</translation>
+ </message>
+</context>
+<context>
<name>OutputPage</name>
<message>
<source>Form</source>
@@ -1318,6 +1332,14 @@ Do you want to remove it?</source>
<source>Restore to default</source>
<translation>Відновити типово</translation>
</message>
+ <message>
+ <source>Appearance</source>
+ <translation>Зовнішій вигляд</translation>
+ </message>
+ <message>
+ <source>Show tabs for each individual page</source>
+ <translation>Показувати вкладки для кожної окремої сторінки</translation>
+ </message>
</context>
<context>
<name>QCollectionGenerator</name>
@@ -1519,6 +1541,29 @@ qhelpgenerator &lt;файл-проекту-довідки&gt; [опції]
</message>
</context>
<context>
+ <name>TabBar</name>
+ <message>
+ <source>(Untitled)</source>
+ <translation>(Без назви)</translation>
+ </message>
+ <message>
+ <source>New &amp;Tab</source>
+ <translation>&amp;Нова вкладка</translation>
+ </message>
+ <message>
+ <source>&amp;Close Tab</source>
+ <translation>&amp;Закрити вкладку</translation>
+ </message>
+ <message>
+ <source>Close Other Tabs</source>
+ <translation>Закрити інші вкладки</translation>
+ </message>
+ <message>
+ <source>Add Bookmark for this Page...</source>
+ <translation>Додати закладку для цієї сторінки...</translation>
+ </message>
+</context>
+<context>
<name>TopicChooser</name>
<message>
<source>Choose Topic</source>
diff --git a/translations/designer_ko.ts b/translations/designer_ko.ts
index b14273f..9c2f6a8 100644
--- a/translations/designer_ko.ts
+++ b/translations/designer_ko.ts
@@ -410,7 +410,7 @@
</message>
<message>
<source>page</source>
- <translation>쪽</translation>
+ <translation type="obsolete">쪽</translation>
</message>
<message>
<source>Insert Subwindow</source>
@@ -418,7 +418,7 @@
</message>
<message>
<source>subwindow</source>
- <translation>subwindow</translation>
+ <translation type="obsolete">subwindow</translation>
</message>
<message>
<source>Subwindow</source>
@@ -461,6 +461,10 @@
<translation>&apos;%1&apos;의 레이아웃을 %2에서 %3(으)로 변경</translation>
</message>
<message>
+ <source>Change layout alignment</source>
+ <translation>레이아웃 정렬 변경</translation>
+ </message>
+ <message>
<source>Set action text</source>
<translation>동작 텍스트 설정</translation>
</message>
@@ -1813,7 +1817,11 @@ Container pages should only be added by specifying them in XML returned by the d
</message>
<message>
<source>Edit</source>
- <translation>편집</translation>
+ <translation type="obsolete">편집</translation>
+ </message>
+ <message>
+ <source>&amp;Edit</source>
+ <translation>편집(&amp;E)</translation>
</message>
<message>
<source>F&amp;orm</source>
@@ -3248,8 +3256,12 @@ Do you want overwrite the template?</source>
<translation>&lt;br/&gt;Qt Designer는 Qt 프로그램의 그래픽 사용자 인터페이스 디자이너입니다.&lt;br/&gt;</translation>
</message>
<message>
+ <source>%1&lt;br/&gt;Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).</source>
+ <translation>%1&lt;br/&gt;저작권자 (C) 2011 Nokia Corporation and/or its subsidiary(-ies).</translation>
+ </message>
+ <message>
<source>%1&lt;br/&gt;Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).</source>
- <translation>%1&lt;br/&gt;저작권자 (C) 2010 Nokia Corporation and/or its subsidiary(-ies).</translation>
+ <translation type="obsolete">%1&lt;br/&gt;저작권자 (C) 2010 Nokia Corporation and/or its subsidiary(-ies).</translation>
</message>
</context>
<context>
@@ -3725,6 +3737,10 @@ Do you want overwrite the template?</source>
<translation>상속됨</translation>
</message>
<message>
+ <source>[Theme] %1</source>
+ <translation>[테마] %1</translation>
+ </message>
+ <message>
<source>Horizontal</source>
<translation>수평</translation>
</message>
@@ -3733,6 +3749,10 @@ Do you want overwrite the template?</source>
<translation>수직</translation>
</message>
<message>
+ <source>Theme</source>
+ <translation>테마</translation>
+ </message>
+ <message>
<source>Normal Off</source>
<translation>일반 꺼짐</translation>
</message>
@@ -4317,6 +4337,17 @@ Do you want overwrite the template?</source>
</message>
</context>
<context>
+ <name>qdesigner_internal::IconThemeDialog</name>
+ <message>
+ <source>Set Icon From Theme</source>
+ <translation>테마에서 아이콘 선택하기</translation>
+ </message>
+ <message>
+ <source>Input icon name from the current theme:</source>
+ <translation>현재 테마의 아이콘 이름을 입력하십시오:</translation>
+ </message>
+</context>
+<context>
<name>qdesigner_internal::ItemListEditor</name>
<message>
<source>Items List</source>
@@ -4467,20 +4498,36 @@ Do you want overwrite the template?</source>
</message>
<message>
<source>Shortcut:</source>
- <translation>단축키:</translation>
+ <translation type="obsolete">단축키:</translation>
</message>
<message>
<source>Checkable:</source>
- <translation>선택 가능:</translation>
+ <translation type="obsolete">선택 가능:</translation>
</message>
<message>
<source>ToolTip:</source>
- <translation>풍선 도움말:</translation>
+ <translation type="obsolete">풍선 도움말:</translation>
</message>
<message>
<source>...</source>
<translation>...</translation>
</message>
+ <message>
+ <source>T&amp;oolTip:</source>
+ <translation>풍선 도움말:</translation>
+ </message>
+ <message>
+ <source>Icon th&amp;eme:</source>
+ <translation>아이콘 테마(&amp;E):</translation>
+ </message>
+ <message>
+ <source>&amp;Checkable:</source>
+ <translation>선택 가능(&amp;C):</translation>
+ </message>
+ <message>
+ <source>&amp;Shortcut:</source>
+ <translation>단축키(&amp;S):</translation>
+ </message>
</context>
<context>
<name>qdesigner_internal::NewDynamicPropertyDialog</name>
@@ -4730,6 +4777,10 @@ Please select another name.</source>
<translation>파일 선택...</translation>
</message>
<message>
+ <source>Set Icon From Theme...</source>
+ <translation>테마에서 아이콘 선택...</translation>
+ </message>
+ <message>
<source>Copy Path</source>
<translation>경로 복사</translation>
</message>
@@ -4741,6 +4792,10 @@ Please select another name.</source>
<source>...</source>
<translation>...</translation>
</message>
+ <message>
+ <source>[Theme] %1</source>
+ <translation>[테마] %1</translation>
+ </message>
</context>
<context>
<name>qdesigner_internal::PlainTextEditorDialog</name>
@@ -5064,6 +5119,42 @@ Class: %2</source>
<context>
<name>qdesigner_internal::QDesignerTaskMenu</name>
<message>
+ <source>Layout Alignment</source>
+ <translation>레이아웃 정렬</translation>
+ </message>
+ <message>
+ <source>No Horizontal Alignment</source>
+ <translation>수평 정렬 없음</translation>
+ </message>
+ <message>
+ <source>Left</source>
+ <translation>왼쪽</translation>
+ </message>
+ <message>
+ <source>Center Horizontally</source>
+ <translation>수평 가운데</translation>
+ </message>
+ <message>
+ <source>Right</source>
+ <translation>오른쪽</translation>
+ </message>
+ <message>
+ <source>No Vertical Alignment</source>
+ <translation>수직 정렬 없음</translation>
+ </message>
+ <message>
+ <source>Top</source>
+ <translation>위</translation>
+ </message>
+ <message>
+ <source>Center Vertically</source>
+ <translation>수직 가운데</translation>
+ </message>
+ <message>
+ <source>Bottom</source>
+ <translation>아래</translation>
+ </message>
+ <message>
<source>Change objectName...</source>
<translation>objectName 바꾸기...</translation>
</message>
@@ -5329,6 +5420,10 @@ Class: %2</source>
<source>Insert &amp;Image</source>
<translation>그림 삽입(&amp;I)</translation>
</message>
+ <message>
+ <source>Simplify Rich Text</source>
+ <translation>서식있는 텍스트 단순화</translation>
+ </message>
</context>
<context>
<name>qdesigner_internal::ScriptDialog</name>
diff --git a/translations/designer_pl.ts b/translations/designer_pl.ts
index c2b5eba..05b5a78 100644
--- a/translations/designer_pl.ts
+++ b/translations/designer_pl.ts
@@ -364,7 +364,7 @@
</message>
<message>
<source>page</source>
- <translation>strona</translation>
+ <translation type="obsolete">strona</translation>
</message>
<message>
<source>Insert Page</source>
@@ -476,7 +476,7 @@
</message>
<message>
<source>subwindow</source>
- <translation>podokno</translation>
+ <translation type="obsolete">podokno</translation>
</message>
<message>
<source>Subwindow</source>
@@ -530,6 +530,10 @@
<translation>Zmień rozmieszczenie widżetu &apos;%1&apos; z %2 na %3</translation>
</message>
<message>
+ <source>Change layout alignment</source>
+ <translation>Zmień wyrównanie w rozmieszczeniu</translation>
+ </message>
+ <message>
<source>Change script</source>
<translation>Zmień skrypt</translation>
</message>
@@ -876,8 +880,6 @@
<source>Invalid stretch value for &apos;%1&apos;: &apos;%2&apos;</source>
<extracomment>Parsing layout stretch values
----------
-Parsing layout stretch values
-----------
Parsing layout stretch values</extracomment>
<translation>Niepoprawna wartość rozciągniecia dla &apos;%1&apos;: &apos;%2&apos;</translation>
</message>
@@ -885,8 +887,6 @@ Parsing layout stretch values</extracomment>
<source>Invalid minimum size for &apos;%1&apos;: &apos;%2&apos;</source>
<extracomment>Parsing grid layout minimum size values
----------
-Parsing grid layout minimum size values
-----------
Parsing grid layout minimum size values</extracomment>
<translation>Niepoprawna wartość minimalna dla &apos;%1&apos;: &apos;%2&apos;</translation>
</message>
@@ -1820,6 +1820,10 @@ Strony pojemników powinny być dodawane jedynie poprzez wyspecyfikowanie ich w
<translation>&amp;Plik</translation>
</message>
<message>
+ <source>&amp;Edit</source>
+ <translation>&amp;Edycja</translation>
+ </message>
+ <message>
<source>F&amp;orm</source>
<translation>&amp;Formularz</translation>
</message>
@@ -1857,7 +1861,7 @@ Strony pojemników powinny być dodawane jedynie poprzez wyspecyfikowanie ich w
</message>
<message>
<source>Edit</source>
- <translation>Edycja</translation>
+ <translation type="obsolete">Edycja</translation>
</message>
<message>
<source>Toolbars</source>
@@ -1902,8 +1906,6 @@ Strony pojemników powinny być dodawane jedynie poprzez wyspecyfikowanie ich w
<source>An empty class name was passed on to %1 (object name: &apos;%2&apos;).</source>
<extracomment>Empty class name passed to widget factory method
----------
-Empty class name passed to widget factory method
-----------
Empty class name passed to widget factory method</extracomment>
<translation>Pusta nazwa klasy została przekazana do %1 (nazwa obiektu: &apos;%2&apos;).</translation>
</message>
@@ -3741,6 +3743,10 @@ Czy chcesz nadpisać szablon?</translation>
<translation>Odziedziczony</translation>
</message>
<message>
+ <source>[Theme] %1</source>
+ <translation>[Motyw] %1</translation>
+ </message>
+ <message>
<source>Horizontal</source>
<translation>Poziomo</translation>
</message>
@@ -3749,6 +3755,10 @@ Czy chcesz nadpisać szablon?</translation>
<translation>Pionowo</translation>
</message>
<message>
+ <source>Theme</source>
+ <translation>Motyw</translation>
+ </message>
+ <message>
<source>Normal Off</source>
<translation>Normalny wyciśnięty</translation>
</message>
@@ -4337,6 +4347,17 @@ Czy chcesz nadpisać szablon?</translation>
</message>
</context>
<context>
+ <name>qdesigner_internal::IconThemeDialog</name>
+ <message>
+ <source>Set Icon From Theme</source>
+ <translation>Ustaw ikonę dla motywu</translation>
+ </message>
+ <message>
+ <source>Input icon name from the current theme:</source>
+ <translation>Podaj nazwę ikony z bieżącego motywu:</translation>
+ </message>
+</context>
+<context>
<name>qdesigner_internal::ItemListEditor</name>
<message>
<source>Properties &amp;&lt;&lt;</source>
@@ -4483,15 +4504,15 @@ Czy chcesz nadpisać szablon?</translation>
</message>
<message>
<source>Shortcut:</source>
- <translation>Skrót:</translation>
+ <translation type="obsolete">Skrót:</translation>
</message>
<message>
<source>Checkable:</source>
- <translation>Przełączalny:</translation>
+ <translation type="obsolete">Przełączalny:</translation>
</message>
<message>
<source>ToolTip:</source>
- <translation>Podpowiedź:</translation>
+ <translation type="obsolete">Podpowiedź:</translation>
</message>
<message>
<source>...</source>
@@ -4501,6 +4522,22 @@ Czy chcesz nadpisać szablon?</translation>
<source>Object &amp;name:</source>
<translation>&amp;Nazwa obiektu:</translation>
</message>
+ <message>
+ <source>T&amp;oolTip:</source>
+ <translation>&amp;Podpowiedź:</translation>
+ </message>
+ <message>
+ <source>Icon th&amp;eme:</source>
+ <translation>Ikonka z &amp;motywu:</translation>
+ </message>
+ <message>
+ <source>&amp;Checkable:</source>
+ <translation>P&amp;rzełączalna:</translation>
+ </message>
+ <message>
+ <source>&amp;Shortcut:</source>
+ <translation>&amp;Skrót:</translation>
+ </message>
</context>
<context>
<name>qdesigner_internal::NewDynamicPropertyDialog</name>
@@ -4758,9 +4795,17 @@ Wybierz inną nazwę.</translation>
<translation>Wybierz plik...</translation>
</message>
<message>
+ <source>Set Icon From Theme...</source>
+ <translation>Ustaw ikonkę z motywu...</translation>
+ </message>
+ <message>
<source>...</source>
<translation>...</translation>
</message>
+ <message>
+ <source>[Theme] %1</source>
+ <translation>[Motyw] %1</translation>
+ </message>
</context>
<context>
<name>qdesigner_internal::PlainTextEditorDialog</name>
@@ -5136,6 +5181,42 @@ Klasa: %2</translation>
<translation>Zmień sygnały/sloty...</translation>
</message>
<message>
+ <source>Layout Alignment</source>
+ <translation>Wyrównanie w rozmieszczeniu</translation>
+ </message>
+ <message>
+ <source>No Horizontal Alignment</source>
+ <translation>Brak poziomego wyrównania</translation>
+ </message>
+ <message>
+ <source>Left</source>
+ <translation>Do lewej</translation>
+ </message>
+ <message>
+ <source>Center Horizontally</source>
+ <translation>Wyśrodkuj w poziomie</translation>
+ </message>
+ <message>
+ <source>Right</source>
+ <translation>Do prawej</translation>
+ </message>
+ <message>
+ <source>No Vertical Alignment</source>
+ <translation>Brak pionowego wyrównania</translation>
+ </message>
+ <message>
+ <source>Top</source>
+ <translation>Do góry</translation>
+ </message>
+ <message>
+ <source>Center Vertically</source>
+ <translation>Wyśrodkuj w pionie</translation>
+ </message>
+ <message>
+ <source>Bottom</source>
+ <translation>Do dołu</translation>
+ </message>
+ <message>
<source>Go to slot...</source>
<translation>Przejdź do slotu...</translation>
</message>
@@ -5351,6 +5432,10 @@ Klasa: %2</translation>
<source>Insert &amp;Image</source>
<translation>Wstaw &amp;obrazek</translation>
</message>
+ <message>
+ <source>Simplify Rich Text</source>
+ <translation>Uprość tekst sformatowany</translation>
+ </message>
</context>
<context>
<name>qdesigner_internal::ScriptDialog</name>
diff --git a/translations/designer_ru.ts b/translations/designer_ru.ts
index 471a366..fdaeda3 100644
--- a/translations/designer_ru.ts
+++ b/translations/designer_ru.ts
@@ -872,8 +872,6 @@
<source>Invalid stretch value for &apos;%1&apos;: &apos;%2&apos;</source>
<extracomment>Parsing layout stretch values
----------
-Parsing layout stretch values
-----------
Parsing layout stretch values</extracomment>
<translation>Некорректный коэффициент растяжения для &apos;%1&apos;: &apos;%2&apos;</translation>
</message>
@@ -881,8 +879,6 @@ Parsing layout stretch values</extracomment>
<source>Invalid minimum size for &apos;%1&apos;: &apos;%2&apos;</source>
<extracomment>Parsing grid layout minimum size values
----------
-Parsing grid layout minimum size values
-----------
Parsing grid layout minimum size values</extracomment>
<translation>Некорректный минимальный размер для &apos;%1&apos;: &apos;%2&apos;</translation>
</message>
@@ -1899,8 +1895,6 @@ Container pages should only be added by specifying them in XML returned by the d
<source>An empty class name was passed on to %1 (object name: &apos;%2&apos;).</source>
<extracomment>Empty class name passed to widget factory method
----------
-Empty class name passed to widget factory method
-----------
Empty class name passed to widget factory method</extracomment>
<translation>Методу %1 (объекта &apos;%2&apos;) было передано пустое имя класса.</translation>
</message>
diff --git a/translations/designer_uk.ts b/translations/designer_uk.ts
index 7d1065c..4f45ff7 100644
--- a/translations/designer_uk.ts
+++ b/translations/designer_uk.ts
@@ -409,18 +409,10 @@
<translation>Видалити підвікно</translation>
</message>
<message>
- <source>page</source>
- <translation>сторінка</translation>
- </message>
- <message>
<source>Insert Subwindow</source>
<translation>Вставити підвікно</translation>
</message>
<message>
- <source>subwindow</source>
- <translation>підвікно</translation>
- </message>
- <message>
<source>Subwindow</source>
<translation>Підвікно</translation>
</message>
@@ -461,6 +453,10 @@
<translation>Змінити розташування &apos;%1&apos; з %2 на %3</translation>
</message>
<message>
+ <source>Change layout alignment</source>
+ <translation>Змінити вирівнювання розташування</translation>
+ </message>
+ <message>
<source>Set action text</source>
<translation>Встановити текст дії</translation>
</message>
@@ -876,8 +872,6 @@
<source>Invalid stretch value for &apos;%1&apos;: &apos;%2&apos;</source>
<extracomment>Parsing layout stretch values
----------
-Parsing layout stretch values
-----------
Parsing layout stretch values</extracomment>
<translation>Неправильне значення розтягування для &apos;%1&apos;: &apos;%2&apos;</translation>
</message>
@@ -885,8 +879,6 @@ Parsing layout stretch values</extracomment>
<source>Invalid minimum size for &apos;%1&apos;: &apos;%2&apos;</source>
<extracomment>Parsing grid layout minimum size values
----------
-Parsing grid layout minimum size values
-----------
Parsing grid layout minimum size values</extracomment>
<translation>Неправильне значення мінімального розміру для &apos;%1&apos;: &apos;%2&apos;</translation>
</message>
@@ -1820,8 +1812,8 @@ Container pages should only be added by specifying them in XML returned by the d
<translation>&amp;Файл</translation>
</message>
<message>
- <source>Edit</source>
- <translation>Правка</translation>
+ <source>&amp;Edit</source>
+ <translation>&amp;Правка</translation>
</message>
<message>
<source>F&amp;orm</source>
@@ -1902,8 +1894,6 @@ Container pages should only be added by specifying them in XML returned by the d
<source>An empty class name was passed on to %1 (object name: &apos;%2&apos;).</source>
<extracomment>Empty class name passed to widget factory method
----------
-Empty class name passed to widget factory method
-----------
Empty class name passed to widget factory method</extracomment>
<translation>До %1 було передане пусте ім&apos;я класу (ім&apos;я об&apos;єкта: &apos;%2&apos;).</translation>
</message>
@@ -3741,6 +3731,10 @@ Do you want overwrite the template?</source>
<translation>Успадкована</translation>
</message>
<message>
+ <source>[Theme] %1</source>
+ <translation>[Тема] %1</translation>
+ </message>
+ <message>
<source>Horizontal</source>
<translation>Горизонтальне</translation>
</message>
@@ -3749,6 +3743,10 @@ Do you want overwrite the template?</source>
<translation>Вертикальне</translation>
</message>
<message>
+ <source>Theme</source>
+ <translation>Тема</translation>
+ </message>
+ <message>
<source>Normal Off</source>
<translation>Нормальний, вимк</translation>
</message>
@@ -4337,6 +4335,17 @@ Do you want overwrite the template?</source>
</message>
</context>
<context>
+ <name>qdesigner_internal::IconThemeDialog</name>
+ <message>
+ <source>Set Icon From Theme</source>
+ <translation>Встановити піктограму з теми</translation>
+ </message>
+ <message>
+ <source>Input icon name from the current theme:</source>
+ <translation>Введіть назву піктограми з поточної теми:</translation>
+ </message>
+</context>
+<context>
<name>qdesigner_internal::ItemListEditor</name>
<message>
<source>Items List</source>
@@ -4486,20 +4495,24 @@ Do you want overwrite the template?</source>
<translation>&amp;Значок:</translation>
</message>
<message>
- <source>Shortcut:</source>
- <translation>Поєднання клавіш:</translation>
+ <source>...</source>
+ <translation>...</translation>
</message>
<message>
- <source>Checkable:</source>
- <translation>Прапорець:</translation>
+ <source>T&amp;oolTip:</source>
+ <translation>Спливаюча &amp;підказка:</translation>
</message>
<message>
- <source>ToolTip:</source>
- <translation>Спливаюча підказка:</translation>
+ <source>Icon th&amp;eme:</source>
+ <translation>Те&amp;ма значків:</translation>
</message>
<message>
- <source>...</source>
- <translation>...</translation>
+ <source>&amp;Checkable:</source>
+ <translation>П&amp;рапорець:</translation>
+ </message>
+ <message>
+ <source>&amp;Shortcut:</source>
+ <translation>Поєднання клаві&amp;ш:</translation>
</message>
</context>
<context>
@@ -4750,6 +4763,10 @@ Please select another name.</source>
<translation>Оберіть файл...</translation>
</message>
<message>
+ <source>Set Icon From Theme...</source>
+ <translation>Встановити піктограму з теми...</translation>
+ </message>
+ <message>
<source>Copy Path</source>
<translation>Копіювати шлях</translation>
</message>
@@ -4761,6 +4778,10 @@ Please select another name.</source>
<source>...</source>
<translation>...</translation>
</message>
+ <message>
+ <source>[Theme] %1</source>
+ <translation>[Тема] %1</translation>
+ </message>
</context>
<context>
<name>qdesigner_internal::PlainTextEditorDialog</name>
@@ -5084,6 +5105,42 @@ Class: %2</source>
<context>
<name>qdesigner_internal::QDesignerTaskMenu</name>
<message>
+ <source>Layout Alignment</source>
+ <translation>Вирівнювання розташування</translation>
+ </message>
+ <message>
+ <source>No Horizontal Alignment</source>
+ <translation>Без горизонтального вирівнювання</translation>
+ </message>
+ <message>
+ <source>Left</source>
+ <translation>Вліво</translation>
+ </message>
+ <message>
+ <source>Center Horizontally</source>
+ <translation>Центрувати горизонтально</translation>
+ </message>
+ <message>
+ <source>Right</source>
+ <translation>Вправо</translation>
+ </message>
+ <message>
+ <source>No Vertical Alignment</source>
+ <translation>Без вертикального вирівнювання</translation>
+ </message>
+ <message>
+ <source>Top</source>
+ <translation>Догори</translation>
+ </message>
+ <message>
+ <source>Center Vertically</source>
+ <translation>Центрувати вертикально</translation>
+ </message>
+ <message>
+ <source>Bottom</source>
+ <translation>Донизу</translation>
+ </message>
+ <message>
<source>Change objectName...</source>
<translation>Змінити objectName...</translation>
</message>
@@ -5351,6 +5408,10 @@ Class: %2</source>
<source>Insert &amp;Image</source>
<translation>Вставити &amp;зображення</translation>
</message>
+ <message>
+ <source>Simplify Rich Text</source>
+ <translation>Спростити форматований текст</translation>
+ </message>
</context>
<context>
<name>qdesigner_internal::ScriptDialog</name>
diff --git a/translations/linguist_ko.ts b/translations/linguist_ko.ts
index 7545dbc..ed740b0 100644
--- a/translations/linguist_ko.ts
+++ b/translations/linguist_ko.ts
@@ -84,6 +84,10 @@
<context>
<name>DataModel</name>
<message>
+ <source>The translation file &apos;%1&apos; will not be loaded because it is empty.</source>
+ <translation>번역 파일 &apos;%1&apos;이(가) 비어 있으므로 불러올 수 없습니다.</translation>
+ </message>
+ <message>
<source>&lt;qt&gt;Duplicate messages found in &apos;%1&apos;:</source>
<translation>&lt;qt&gt;&apos;%1&apos;에 중복된 메시지가 있음:</translation>
</message>
@@ -1109,7 +1113,11 @@ Java, JavaScript/QtScript 원본 코드에서 번역 가능한 문자열을 추
</message>
<message>
<source>Illegal escape squence</source>
- <translation>잘못된 탈출 문자</translation>
+ <translation type="obsolete">잘못된 탈출 문자</translation>
+ </message>
+ <message>
+ <source>Illegal escape sequence</source>
+ <translation>잘못된 탈출 시퀀스</translation>
</message>
<message>
<source>Illegal unicode escape sequence</source>
@@ -1942,8 +1950,12 @@ All files (*)</source>
<translation>버전 %1</translation>
</message>
<message>
+ <source>&lt;center&gt;&lt;img src=&quot;:/images/splash.png&quot;/&gt;&lt;/img&gt;&lt;p&gt;%1&lt;/p&gt;&lt;/center&gt;&lt;p&gt;Qt Linguist is a tool for adding translations to Qt applications.&lt;/p&gt;&lt;p&gt;Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).</source>
+ <translation>&lt;center&gt;&lt;img src=&quot;:/images/splash.png&quot;/&gt;&lt;/img&gt;&lt;p&gt;%1&lt;/p&gt;&lt;/center&gt;&lt;p&gt;Qt Linguist는 Qt 프로그램을 번역하는 도구입니다.&lt;/p&gt;&lt;p&gt;저작권자 (C) 2011 Nokia Corporation and/or its subsidiary(-ies).</translation>
+ </message>
+ <message>
<source>&lt;center&gt;&lt;img src=&quot;:/images/splash.png&quot;/&gt;&lt;/img&gt;&lt;p&gt;%1&lt;/p&gt;&lt;/center&gt;&lt;p&gt;Qt Linguist is a tool for adding translations to Qt applications.&lt;/p&gt;&lt;p&gt;Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).</source>
- <translation>&lt;center&gt;&lt;img src=&quot;:/images/splash.png&quot;/&gt;&lt;/img&gt;&lt;p&gt;%1&lt;/p&gt;&lt;/center&gt;&lt;p&gt;Qt Linguist는 Qt 프로그램을 번역하는 도구입니다.&lt;/p&gt;&lt;p&gt;저작권자 (C) 2010 Nokia Corporation and/or its subsidiary(-ies).</translation>
+ <translation type="obsolete">&lt;center&gt;&lt;img src=&quot;:/images/splash.png&quot;/&gt;&lt;/img&gt;&lt;p&gt;%1&lt;/p&gt;&lt;/center&gt;&lt;p&gt;Qt Linguist는 Qt 프로그램을 번역하는 도구입니다.&lt;/p&gt;&lt;p&gt;저작권자 (C) 2010 Nokia Corporation and/or its subsidiary(-ies).</translation>
</message>
<message>
<source>Do you want to save the modified files?</source>
diff --git a/translations/qt_ja.ts b/translations/qt_ja.ts
index 05ed9d4..7a6985b 100644
--- a/translations/qt_ja.ts
+++ b/translations/qt_ja.ts
@@ -407,7 +407,7 @@ libgstreamer-plugins-base はインストールされていますか。</transla
</message>
<message>
<source>Reflections delay (ms)</source>
- <extracomment>ReflectionsDelay: Amount of delay between the arrival the direct path from the source and the arrival of the first reflection.</extracomment>
+ <extracomment>ReflectionsDelay: Amount of delay between the arrival of the direct path from the source and the arrival of the first reflection.</extracomment>
<translation>反射遅延 (ms)</translation>
</message>
<message>
@@ -422,7 +422,7 @@ libgstreamer-plugins-base はインストールされていますか。</transla
</message>
<message>
<source>Reverb level (mB)</source>
- <extracomment>ReverbLevel Amplitude of reverberations. This value is corrected by the RoomLevel to give the final reverberation amplitude.</extracomment>
+ <extracomment>ReverbLevel: Amplitude of reverberations. This value is corrected by the RoomLevel to give the final reverberation amplitude.</extracomment>
<translation>リバーブ レベル (mB)</translation>
</message>
<message>
@@ -480,8 +480,12 @@ libgstreamer-plugins-base はインストールされていますか。</transla
<translation>音量: %1%</translation>
</message>
<message>
+ <source>Use this slider to adjust the volume. The leftmost position is 0%. The rightmost is %1%</source>
+ <translation>スライダを用いて音量を調整してください。左端が0%です。右端が%1%になります</translation>
+ </message>
+ <message>
<source>Use this slider to adjust the volume. The leftmost position is 0%, the rightmost is %1%</source>
- <translation>スライダを用いて音量を指定してください。左端が0%、右端が%1%になります</translation>
+ <translation type="obsolete">スライダを用いて音量を指定してください。左端が0%、右端が%1%になります</translation>
</message>
<message>
<source>Muted</source>
@@ -3724,6 +3728,10 @@ Do you want to delete it anyway?</source>
<source>Actions</source>
<translation>アクション</translation>
</message>
+ <message>
+ <source>Corner Toolbar</source>
+ <translation>コーナーツールバー</translation>
+ </message>
</context>
<context>
<name>QMessageBox</name>
@@ -6481,6 +6489,10 @@ Please choose a different file name.</source>
<name>QSoftKeyManager</name>
<message>
<source>Ok</source>
+ <translation type="obsolete">OK</translation>
+ </message>
+ <message>
+ <source>OK</source>
<translation>OK</translation>
</message>
<message>
@@ -6725,6 +6737,72 @@ Please choose a different file name.</source>
</message>
</context>
<context>
+ <name>QSymSQLDriver</name>
+ <message>
+ <source>Invalid option: </source>
+ <translation>無効なオプション: </translation>
+ </message>
+ <message>
+ <source>Error opening database</source>
+ <translation>データベースのオープン時にエラーが発生しました</translation>
+ </message>
+ <message>
+ <source>POLICY_DB_DEFAULT must be defined before any other POLICY definitions can be used</source>
+ <translation>POLICY_DB_DEFAULT は他の POLICY 定義の利用前に定義されなければなりません</translation>
+ </message>
+ <message>
+ <source>Unable to begin transaction</source>
+ <translation>トランザクションを開始できません</translation>
+ </message>
+ <message>
+ <source>Unable to commit transaction</source>
+ <translation>トランザクションをコミットできません</translation>
+ </message>
+ <message>
+ <source>Unable to rollback transaction</source>
+ <translation>トランザクションをロールバックできません</translation>
+ </message>
+</context>
+<context>
+ <name>QSymSQLResult</name>
+ <message>
+ <source>Error retrieving column count</source>
+ <translation>カラム数の取得時にエラーが発生しました</translation>
+ </message>
+ <message>
+ <source>Error retrieving column name</source>
+ <translation>カラム名の取得時にエラーが発生しました</translation>
+ </message>
+ <message>
+ <source>Error retrieving column type</source>
+ <translation>カラムの型の取得時にエラーが発生しました</translation>
+ </message>
+ <message>
+ <source>Unable to fetch row</source>
+ <translation>レコードをフェッチできません</translation>
+ </message>
+ <message>
+ <source>Unable to execute statement</source>
+ <translation>ステートメントを実行できません</translation>
+ </message>
+ <message>
+ <source>Statement is not prepared</source>
+ <translation>ステートメントがプリペアではありません</translation>
+ </message>
+ <message>
+ <source>Unable to reset statement</source>
+ <translation>ステートメントをリセットできません</translation>
+ </message>
+ <message>
+ <source>Unable to bind parameters</source>
+ <translation>パラメータをバインドできません</translation>
+ </message>
+ <message>
+ <source>Parameter count mismatch</source>
+ <translation>パラメータの数が合っていません</translation>
+ </message>
+</context>
+<context>
<name>QSymbianSocketEngine</name>
<message>
<source>Unable to initialize non-blocking socket</source>
@@ -7051,6 +7129,10 @@ Please choose a different file name.</source>
<translation>リクエストはキャンセルされました</translation>
</message>
<message>
+ <source>Request canceled</source>
+ <translation>リクエストはキャンセルされました</translation>
+ </message>
+ <message>
<source>Request blocked</source>
<translation>リクエストはブロックされました</translation>
</message>
@@ -8298,7 +8380,7 @@ Please choose a different file name.</source>
<name>QmlJSDebugger::ToolBox</name>
<message>
<source>Qt Quick Toolbox</source>
- <translation>Qt Quick ツールボックス</translation>
+ <translation type="obsolete">Qt Quick ツールボックス</translation>
</message>
</context>
<context>
@@ -8776,7 +8858,11 @@ Please choose a different file name.</source>
</message>
<message>
<source>The namespace for a user defined function cannot be empty (try the predefined prefix %1 which exists for cases like this)</source>
- <translation>ユーザ定義の関数の名前空間は、空であってはなりません。(すでに定義されているプレフィックス &apos;%1&apos; が使用できます)</translation>
+ <translation type="obsolete">ユーザ定義の関数の名前空間は、空であってはなりません。(すでに定義されているプレフィックス &apos;%1&apos; が使用できます)</translation>
+ </message>
+ <message>
+ <source>The namespace for a user defined function cannot be empty (try the predefined prefix %1, which exists for cases like this)</source>
+ <translation>ユーザ定義の関数の名前空間は、空であってはなりません。(今回の場合、すでに定義されているプレフィックス &apos;%1&apos; が使用できます)</translation>
</message>
<message>
<source>The namespace %1 is reserved; therefore user defined functions may not use it. Try the predefined prefix %2, which exists for these cases.</source>
@@ -9620,6 +9706,10 @@ Please choose a different file name.</source>
</message>
<message>
<source>Content model of complex type %1 contains %2 element so it cannot be derived by extension from a non-empty type.</source>
+ <translation type="obsolete">複合型 %1 のコンテンツモデルは %2 要素を含んでいますが非 empty 型を派生した拡張にする事はできません。</translation>
+ </message>
+ <message>
+ <source>Content model of complex type %1 contains %2 element, so it cannot be derived by extension from a non-empty type.</source>
<translation>複合型 %1 のコンテンツモデルは %2 要素を含んでいますが非 empty 型を派生した拡張にする事はできません。</translation>
</message>
<message>
@@ -10027,10 +10117,14 @@ Please choose a different file name.</source>
<translation>要素 %1 はテキストを含む事を許可されていません。</translation>
</message>
<message>
- <source>Element %1 cannot contain other elements, as it has a fixed content.</source>
+ <source>Element %1 cannot contain other elements, as it has fixed content.</source>
<translation>要素 %1 は固定値を持った他の要素を含む事はできません。</translation>
</message>
<message>
+ <source>Element %1 cannot contain other elements, as it has a fixed content.</source>
+ <translation type="obsolete">要素 %1 は固定値を持った他の要素を含む事はできません。</translation>
+ </message>
+ <message>
<source>Element %1 is missing required attribute %2.</source>
<translation>要素 %1 に要求された属性 %2 がありません。</translation>
</message>
diff --git a/translations/qt_ko.ts b/translations/qt_ko.ts
index c7ab8e3..c391fa2 100644
--- a/translations/qt_ko.ts
+++ b/translations/qt_ko.ts
@@ -9,9 +9,24 @@
</message>
</context>
<context>
+ <name>Debugger::JSAgentWatchData</name>
+ <message>
+ <source>[Array of length %1]</source>
+ <translation>[길이가 %1인 배열]</translation>
+ </message>
+ <message>
+ <source>&lt;undefined&gt;</source>
+ <translation>&lt;정의되지 않음&gt;</translation>
+ </message>
+</context>
+<context>
<name>FakeReply</name>
<message>
<source>Fake error !</source>
+ <translation type="obsolete">가짜 오류!</translation>
+ </message>
+ <message>
+ <source>Fake error!</source>
<translation>가짜 오류!</translation>
</message>
<message>
@@ -421,7 +436,7 @@ libgstreamer-plugins-base 패키지의 설치 상태를 확인해 보십시오.<
</message>
<message>
<source>Reflections delay (ms)</source>
- <extracomment>ReflectionsDelay: Amount of delay between the arrival the direct path from the source and the arrival of the first reflection.</extracomment>
+ <extracomment>ReflectionsDelay: Amount of delay between the arrival of the direct path from the source and the arrival of the first reflection.</extracomment>
<translation>반사 지연 시간 (ms)</translation>
</message>
<message>
@@ -436,7 +451,7 @@ libgstreamer-plugins-base 패키지의 설치 상태를 확인해 보십시오.<
</message>
<message>
<source>Reverb level (mB)</source>
- <extracomment>ReverbLevel Amplitude of reverberations. This value is corrected by the RoomLevel to give the final reverberation amplitude.</extracomment>
+ <extracomment>ReverbLevel: Amplitude of reverberations. This value is corrected by the RoomLevel to give the final reverberation amplitude.</extracomment>
<translation>리버브 레벨 (mB)</translation>
</message>
<message>
@@ -468,6 +483,10 @@ libgstreamer-plugins-base 패키지의 설치 상태를 확인해 보십시오.<
<source>Error opening source: media type could not be determined</source>
<translation>원본 열기 오류: 미디어 형식을 결정할 수 없음</translation>
</message>
+ <message>
+ <source>Failed to set requested IAP</source>
+ <translation>요청한 IAP를 설정할 수 없음</translation>
+ </message>
</context>
<context>
<name>Phonon::MMF::StereoWidening</name>
@@ -490,10 +509,14 @@ libgstreamer-plugins-base 패키지의 설치 상태를 확인해 보십시오.<
<translation>음량: %1%</translation>
</message>
<message>
- <source>Use this slider to adjust the volume. The leftmost position is 0%, the rightmost is %1%</source>
+ <source>Use this slider to adjust the volume. The leftmost position is 0%. The rightmost is %1%</source>
<translation>이 슬라이더를 사용하여 음량을 조정하십시오. 맨 왼쪽은 0%, 맨 오른쪽은 %1%입니다</translation>
</message>
<message>
+ <source>Use this slider to adjust the volume. The leftmost position is 0%, the rightmost is %1%</source>
+ <translation type="obsolete">이 슬라이더를 사용하여 음량을 조정하십시오. 맨 왼쪽은 0%, 맨 오른쪽은 %1%입니다</translation>
+ </message>
+ <message>
<source>Muted</source>
<translation>음소거</translation>
</message>
@@ -1082,6 +1105,14 @@ to
<context>
<name>QAccessibleButton</name>
<message>
+ <source>Uncheck</source>
+ <translation>선택 해제</translation>
+ </message>
+ <message>
+ <source>Check</source>
+ <translation>선택</translation>
+ </message>
+ <message>
<source>Press</source>
<translation>누름</translation>
</message>
@@ -1228,6 +1259,11 @@ to
<translation>%1: 자원 부족</translation>
</message>
<message>
+ <source>%1: permission denied</source>
+ <comment>QSystemSemaphore</comment>
+ <translation>%1: 권한이 거부됨</translation>
+ </message>
+ <message>
<source>%1: unknown error %2</source>
<comment>QSystemSemaphore</comment>
<translation>%1: 알 수 없는 오류 %2</translation>
@@ -1394,6 +1430,13 @@ to
</message>
</context>
<context>
+ <name>QDeclarativeApplication</name>
+ <message>
+ <source>Application is an abstract class</source>
+ <translation>Application은 추상 클래스임</translation>
+ </message>
+</context>
+<context>
<name>QDeclarativeBehavior</name>
<message>
<source>Cannot change the animation assigned to a Behavior.</source>
@@ -1521,6 +1564,14 @@ to
<translation>비어 있는 컴포넌트 정의를 만들 수 없음</translation>
</message>
<message>
+ <source>&quot;%1.%2&quot; is not available in %3 %4.%5.</source>
+ <translation>&quot;%1.%2&quot;은(는) %3 %4.%5에서 사용할 수 없습니다.</translation>
+ </message>
+ <message>
+ <source>&quot;%1.%2&quot; is not available due to component versioning.</source>
+ <translation>&quot;%1.%2&quot;은(는) 구성 요소 버전 때문에 사용할 수 없습니다.</translation>
+ </message>
+ <message>
<source>Incorrectly specified signal assignment</source>
<translation>잘못 지정된 시그널 할당</translation>
</message>
@@ -1731,6 +1782,10 @@ to
<source>Invalid empty URL</source>
<translation>잘못된 빈 URL</translation>
</message>
+ <message>
+ <source>createObject: value is not an object</source>
+ <translation>createObject: 값이 객체가 아님</translation>
+ </message>
</context>
<context>
<name>QDeclarativeConnections</name>
@@ -1871,6 +1926,17 @@ to
</message>
</context>
<context>
+ <name>QDeclarativeLayoutMirroringAttached</name>
+ <message>
+ <source>LayoutDirection attached property only works with Items</source>
+ <translation>연결된 속성 LayoutDirection은 Item에서만 동작함</translation>
+ </message>
+ <message>
+ <source>LayoutMirroring is only available via attached properties</source>
+ <translation>LayoutMirroring은 연결된 속성으로만 사용할 수 있음</translation>
+ </message>
+</context>
+<context>
<name>QDeclarativeListModel</name>
<message>
<source>remove: index %1 out of range</source>
@@ -1970,6 +2036,10 @@ to
</message>
<message>
<source>Illegal escape squence</source>
+ <translation type="obsolete">잘못된 탈출 시퀀스</translation>
+ </message>
+ <message>
+ <source>Illegal escape sequence</source>
<translation>잘못된 탈출 시퀀스</translation>
</message>
<message>
@@ -2435,6 +2505,10 @@ to
<source>Cannot create %1 for output</source>
<translation>%1에 쓰기 위하여 열 수 없음</translation>
</message>
+ <message>
+ <source>No file engine available or engine does not support UnMapExtension</source>
+ <translation>파일 엔진을 사용할 수 없거나 파일 엔진이 UnMapExtension을 지원하지 않음</translation>
+ </message>
</context>
<context>
<name>QFileDialog</name>
@@ -3422,6 +3496,18 @@ Do you want to delete it anyway?</source>
<source>Cannot resolve symbol &quot;%1&quot; in %2: %3</source>
<translation>%2의 심볼 &quot;%1&quot;을(를) 불러올 수 없음: %3</translation>
</message>
+ <message>
+ <source>&apos;%1&apos; is not an ELF object (%2)</source>
+ <translation>&apos;%1&apos;은(는) ELF 객체가 아님 (%2)</translation>
+ </message>
+ <message>
+ <source>&apos;%1&apos; is not an ELF object</source>
+ <translation>&apos;%1&apos;은(는) ELF 객체가 아님</translation>
+ </message>
+ <message>
+ <source>&apos;%1&apos; is an invalid ELF object (%2)</source>
+ <translation>&apos;%1&apos;은(는) 잘못된 ELF 객체임 (%2)</translation>
+ </message>
</context>
<context>
<name>QLineEdit</name>
@@ -3519,6 +3605,10 @@ Do you want to delete it anyway?</source>
<source>%1: Unknown error %2</source>
<translation>%1: 알 수 없는 오류 %2</translation>
</message>
+ <message>
+ <source>%1: Access denied</source>
+ <translation>%1: 접근이 거부됨</translation>
+ </message>
</context>
<context>
<name>QMYSQLDriver</name>
@@ -3693,6 +3783,10 @@ Do you want to delete it anyway?</source>
<source>Actions</source>
<translation>동작</translation>
</message>
+ <message>
+ <source>Corner Toolbar</source>
+ <translation>모서리 도구 모음</translation>
+ </message>
</context>
<context>
<name>QMessageBox</name>
@@ -3717,8 +3811,12 @@ Do you want to delete it anyway?</source>
<translation>&lt;h3&gt;Qt 정보&lt;/h3&gt;&lt;p&gt;이 프로그램은 Qt 버전 %1을(를) 사용합니다.&lt;/p&gt;</translation>
</message>
<message>
+ <source>&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.&lt;/p&gt;&lt;p&gt;Qt is available under three different licensing options designed to accommodate the needs of our various users.&lt;/p&gt;&lt;p&gt;Qt licensed under our commercial license agreement is appropriate for development of proprietary/commercial software where you do not want to share any source code with third parties or otherwise cannot comply with the terms of the GNU LGPL version 2.1 or GNU GPL version 3.0.&lt;/p&gt;&lt;p&gt;Qt licensed under the GNU LGPL version 2.1 is appropriate for the development of Qt applications (proprietary or open source) provided you can comply with the terms and conditions of the GNU LGPL version 2.1.&lt;/p&gt;&lt;p&gt;Qt licensed under the GNU General Public License version 3.0 is appropriate for the development of Qt applications where you wish to use such applications in combination with software subject to the terms of the GNU GPL version 3.0 or where you are otherwise willing to comply with the terms of the GNU GPL version 3.0.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;http://qt.nokia.com/products/licensing&quot;&gt;qt.nokia.com/products/licensing&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;&lt;p&gt;Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;&lt;p&gt;Qt is a Nokia product. See &lt;a href=&quot;http://qt.nokia.com/&quot;&gt;qt.nokia.com&lt;/a&gt; for more information.&lt;/p&gt;</source>
+ <translation>&lt;p&gt;Qt는 크로스 플랫폼 프로그램 개발을 위한 C++ 툴킷입니다.&lt;/p&gt;&lt;p&gt;Qt는 MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, 리눅스, 여러 상용 유닉스 간 소스 호환성을 제공합니다. Qt는 Qt for Embedded Linux, Qt for Windows CE와 같은 임베디드 장치도 지원합니다.&lt;/p&gt;&lt;p&gt;Qt는 여러 사용자의 조건에 맞는 세 가지 조건으로 라이선스됩니다.&lt;/p&gt;&lt;p&gt;Qt의 상용 라이선스는 제 3자와 코드를 공유할 수 없거나, GNU LGPL 2.1, GNU GPL 3.0의 조건을 따를 수 없는 독점/상용 소프트웨어 개발에 사용할 수 있습니다.&lt;/p&gt;&lt;p&gt;Qt의 GNU LGPL 2.1 라이선스는 GNU LGPL 2.1의 조건을 따르는 독점 및 오픈소스 Qt 프로그램을 개발할 수 있습니다.&lt;/p&gt;&lt;p&gt;Qt의 GNU GPL 3.0 라이선스는 GNU GPL 3.0의 조건을 적용받거나 GNU GPL 3.0으로 라이선싱할 Qt 프로그램을 개발할 수 있습니다.&lt;/p&gt;&lt;p&gt;Qt 라이선싱 조건을 알아 보려면 &lt;a href=&quot;http://qt.nokia.con/products/licensing&quot;&gt;qt.nokia.com/products/licensing&lt;/a&gt; 페이지를 참고하십시오.&lt;/p&gt;&lt;p&gt;Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;&lt;p&gt;Qt는 노키아의 제품입니다. 더 많은 정보를 보려면 &lt;a href=&quot;http://qt.nokia.com&quot;&gt;qt.nokia.com&lt;/a&gt;을 참조하십시오.&lt;/p&gt;</translation>
+ </message>
+ <message>
<source>&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.&lt;/p&gt;&lt;p&gt;Qt is available under three different licensing options designed to accommodate the needs of our various users.&lt;/p&gt;&lt;p&gt;Qt licensed under our commercial license agreement is appropriate for development of proprietary/commercial software where you do not want to share any source code with third parties or otherwise cannot comply with the terms of the GNU LGPL version 2.1 or GNU GPL version 3.0.&lt;/p&gt;&lt;p&gt;Qt licensed under the GNU LGPL version 2.1 is appropriate for the development of Qt applications (proprietary or open source) provided you can comply with the terms and conditions of the GNU LGPL version 2.1.&lt;/p&gt;&lt;p&gt;Qt licensed under the GNU General Public License version 3.0 is appropriate for the development of Qt applications where you wish to use such applications in combination with software subject to the terms of the GNU GPL version 3.0 or where you are otherwise willing to comply with the terms of the GNU GPL version 3.0.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;http://qt.nokia.com/products/licensing&quot;&gt;qt.nokia.com/products/licensing&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;&lt;p&gt;Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;&lt;p&gt;Qt is a Nokia product. See &lt;a href=&quot;http://qt.nokia.com/&quot;&gt;qt.nokia.com&lt;/a&gt; for more information.&lt;/p&gt;</source>
- <translation>&lt;p&gt;Qt는 크로스 플랫폼 프로그램 개발을 위한 C++ 툴킷입니다.&lt;/p&gt;&lt;p&gt;Qt는 마이크로소프트&amp;nbsp;윈도, Mac&amp;nbsp;OS&amp;nbsp;X, 리눅스, 여러 상용 유닉스 간 소스 호환성을 제공합니다. Qt는 Qt for Embedded Linux, Qt for Windows CE와 같은 임베디드 장치도 지원합니다.&lt;/p&gt;&lt;p&gt;Qt는 여러 사용자의 조건에 맞는 세 가지 조건으로 라이선스됩니다.&lt;/p&gt;&lt;p&gt;Qt의 상용 라이선스는 제 3자와 코드를 공유할 수 없거나, GNU LGPL 2.1, GNU GPL 3.0의 조건을 따를 수 없는 독점/상용 소프트웨어 개발에 사용할 수 있습니다.&lt;/p&gt;&lt;p&gt;Qt의 GNU LGPL 2.1 라이선스는 GNU LGPL 2.1의 조건을 따르는 독점 및 오픈소스 Qt 프로그램을 개발할 수 있습니다.&lt;/p&gt;&lt;p&gt;Qt의 GNU GPL 3.0 라이선스는 GNU GPL 3.0의 조건을 적용받거나 GNU GPL 3.0으로 라이선싱할 Qt 프로그램을 개발할 수 있습니다.&lt;/p&gt;&lt;p&gt;Qt 라이선싱 조건을 알아 보려면 &lt;a href=&quot;http://qt.nokia.con/products/licensing&quot;&gt;qt.nokia.com/products/licensing&lt;/a&gt; 페이지를 참고하십시오.&lt;/p&gt;&lt;p&gt;Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;&lt;p&gt;Qt는 노키아의 제품입니다. 더 많은 정보를 보려면 &lt;a href=&quot;http://qt.nokia.com&quot;&gt;qt.nokia.com&lt;/a&gt;을 참조하십시오.&lt;/p&gt;</translation>
+ <translation type="obsolete">&lt;p&gt;Qt는 크로스 플랫폼 프로그램 개발을 위한 C++ 툴킷입니다.&lt;/p&gt;&lt;p&gt;Qt는 마이크로소프트&amp;nbsp;윈도, Mac&amp;nbsp;OS&amp;nbsp;X, 리눅스, 여러 상용 유닉스 간 소스 호환성을 제공합니다. Qt는 Qt for Embedded Linux, Qt for Windows CE와 같은 임베디드 장치도 지원합니다.&lt;/p&gt;&lt;p&gt;Qt는 여러 사용자의 조건에 맞는 세 가지 조건으로 라이선스됩니다.&lt;/p&gt;&lt;p&gt;Qt의 상용 라이선스는 제 3자와 코드를 공유할 수 없거나, GNU LGPL 2.1, GNU GPL 3.0의 조건을 따를 수 없는 독점/상용 소프트웨어 개발에 사용할 수 있습니다.&lt;/p&gt;&lt;p&gt;Qt의 GNU LGPL 2.1 라이선스는 GNU LGPL 2.1의 조건을 따르는 독점 및 오픈소스 Qt 프로그램을 개발할 수 있습니다.&lt;/p&gt;&lt;p&gt;Qt의 GNU GPL 3.0 라이선스는 GNU GPL 3.0의 조건을 적용받거나 GNU GPL 3.0으로 라이선싱할 Qt 프로그램을 개발할 수 있습니다.&lt;/p&gt;&lt;p&gt;Qt 라이선싱 조건을 알아 보려면 &lt;a href=&quot;http://qt.nokia.con/products/licensing&quot;&gt;qt.nokia.com/products/licensing&lt;/a&gt; 페이지를 참고하십시오.&lt;/p&gt;&lt;p&gt;Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;&lt;p&gt;Qt는 노키아의 제품입니다. 더 많은 정보를 보려면 &lt;a href=&quot;http://qt.nokia.com&quot;&gt;qt.nokia.com&lt;/a&gt;을 참조하십시오.&lt;/p&gt;</translation>
</message>
<message>
<source>About Qt</source>
@@ -3861,7 +3959,7 @@ Do you want to delete it anyway?</source>
<name>QNetworkAccessDataBackend</name>
<message>
<source>Operation not supported on %1</source>
- <translation>%1에는 작업이 지원되지 않음</translation>
+ <translation type="obsolete">%1에는 작업이 지원되지 않음</translation>
</message>
<message>
<source>Invalid URI: %1</source>
@@ -3958,6 +4056,10 @@ Do you want to delete it anyway?</source>
<translation>네트워크 세션 오류.</translation>
</message>
<message>
+ <source>backend start error.</source>
+ <translation>백엔드 시작 오류.</translation>
+ </message>
+ <message>
<source>Temporary network failure.</source>
<translation>일시적인 네트워크 실패.</translation>
</message>
@@ -4150,6 +4252,10 @@ Do you want to delete it anyway?</source>
<source>invalid query: &quot;%1&quot;</source>
<translation>잘못된 쿼리: &quot;%1&quot;</translation>
</message>
+ <message>
+ <source>Host not found</source>
+ <translation>호스트를 찾을 수 없음</translation>
+ </message>
</context>
<context>
<name>QPPDOptionsModel</name>
@@ -5460,7 +5566,7 @@ Do you want to overwrite it?</source>
</message>
<message>
<source>%1: key error</source>
- <translation>%1: 키 오류</translation>
+ <translation type="obsolete">%1: 키 오류</translation>
</message>
<message>
<source>%1: unable to make key</source>
@@ -5503,6 +5609,10 @@ Do you want to overwrite it?</source>
<translation>%1: 시스템에서 크게를 제한함</translation>
</message>
<message>
+ <source>%1: bad name</source>
+ <translation>%1: 잘못된 이름</translation>
+ </message>
+ <message>
<source>%1: not attached</source>
<translation>%1: 연결되지 않음</translation>
</message>
@@ -6328,11 +6438,11 @@ Do you want to overwrite it?</source>
</message>
<message>
<source>Touroku</source>
- <translation type="unfinished"></translation>
+ <translation>단어 등록</translation>
</message>
<message>
<source>Massyo</source>
- <translation type="unfinished"></translation>
+ <translation>단어 지움</translation>
</message>
<message>
<source>Kana Lock</source>
@@ -6344,11 +6454,11 @@ Do you want to overwrite it?</source>
</message>
<message>
<source>Eisu Shift</source>
- <translation type="unfinished"></translation>
+ <translation>한자 Shift</translation>
</message>
<message>
<source>Eisu toggle</source>
- <translation type="unfinished"></translation>
+ <translation>한자 반전</translation>
</message>
<message>
<source>Code input</source>
@@ -6517,6 +6627,10 @@ Do you want to overwrite it?</source>
<name>QSoftKeyManager</name>
<message>
<source>Ok</source>
+ <translation type="obsolete">확인</translation>
+ </message>
+ <message>
+ <source>OK</source>
<translation>확인</translation>
</message>
<message>
@@ -6685,6 +6799,10 @@ Do you want to overwrite it?</source>
<translation>호스트 이름이 이 인증서에서 지정한 유효한 호스트 중 아무 것도 일치하지 않음</translation>
</message>
<message>
+ <source>The peer certificate is blacklisted</source>
+ <translation>동료 인증서가 블랙리스트에 포함됨</translation>
+ </message>
+ <message>
<source>Unknown error</source>
<translation>알 수 없는 오류</translation>
</message>
@@ -6757,6 +6875,187 @@ Do you want to overwrite it?</source>
</message>
</context>
<context>
+ <name>QSymSQLDriver</name>
+ <message>
+ <source>Invalid option: </source>
+ <translation>잘못된 옵션:</translation>
+ </message>
+ <message>
+ <source>Error opening database</source>
+ <translation>데이터베이스를 여는 중 오류 발생</translation>
+ </message>
+ <message>
+ <source>POLICY_DB_DEFAULT must be defined before any other POLICY definitions can be used</source>
+ <translation>다른 POLICY 선언을 사용하기 전에 POLICY_DB_DEFAULT가 정의되어야 함</translation>
+ </message>
+ <message>
+ <source>Unable to begin transaction</source>
+ <translation>트랜잭션을 시작할 수 없음</translation>
+ </message>
+ <message>
+ <source>Unable to commit transaction</source>
+ <translation>트랜잭션을 커밋할 수 없음</translation>
+ </message>
+ <message>
+ <source>Unable to rollback transaction</source>
+ <translation>트랜잭션을 되돌릴 수 없음</translation>
+ </message>
+</context>
+<context>
+ <name>QSymSQLResult</name>
+ <message>
+ <source>Error retrieving column count</source>
+ <translation>행 개수를 가져올 수 없음</translation>
+ </message>
+ <message>
+ <source>Error retrieving column name</source>
+ <translation>행 이름을 가져올 수 없음</translation>
+ </message>
+ <message>
+ <source>Error retrieving column type</source>
+ <translation>행 종류를 가져올 수 없음</translation>
+ </message>
+ <message>
+ <source>Unable to fetch row</source>
+ <translation>열을 가져올 수 없음</translation>
+ </message>
+ <message>
+ <source>Unable to execute statement</source>
+ <translation>구문을 실행할 수 없음</translation>
+ </message>
+ <message>
+ <source>Statement is not prepared</source>
+ <translation>구문이 준비되지 않았음</translation>
+ </message>
+ <message>
+ <source>Unable to reset statement</source>
+ <translation>구문을 초기화할 수 없음</translation>
+ </message>
+ <message>
+ <source>Unable to bind parameters</source>
+ <translation>인자를 바인딩할 수 없음</translation>
+ </message>
+ <message>
+ <source>Parameter count mismatch</source>
+ <translation>인자 수가 일치하지 않음</translation>
+ </message>
+</context>
+<context>
+ <name>QSymbianSocketEngine</name>
+ <message>
+ <source>Unable to initialize non-blocking socket</source>
+ <translation>논블러킹 소켓을 초기화할 수 없음</translation>
+ </message>
+ <message>
+ <source>Unable to initialize broadcast socket</source>
+ <translation>브로드캐스트 소켓을 초기화할 수 없음</translation>
+ </message>
+ <message>
+ <source>Attempt to use IPv6 socket on a platform with no IPv6 support</source>
+ <translation>IPv6을 지원하지 않는 플랫폼에서 IPv6 소켓을 사용하려고 시도함</translation>
+ </message>
+ <message>
+ <source>The remote host closed the connection</source>
+ <translation>원격 호스트에서 연결을 닫음</translation>
+ </message>
+ <message>
+ <source>Network operation timed out</source>
+ <translation>네트워크 작업 시간 초과</translation>
+ </message>
+ <message>
+ <source>Out of resources</source>
+ <translation>자원 부족</translation>
+ </message>
+ <message>
+ <source>Unsupported socket operation</source>
+ <translation>지원하지 않는 소켓 작업</translation>
+ </message>
+ <message>
+ <source>Protocol type not supported</source>
+ <translation>지원하지 않는 프로토콜 형식</translation>
+ </message>
+ <message>
+ <source>Invalid socket descriptor</source>
+ <translation>잘못된 소켓 설명자</translation>
+ </message>
+ <message>
+ <source>Host unreachable</source>
+ <translation>호스트에 접근할 수 없음</translation>
+ </message>
+ <message>
+ <source>Network unreachable</source>
+ <translation>네트워크에 접근할 수 없음</translation>
+ </message>
+ <message>
+ <source>Permission denied</source>
+ <translation>권한이 거부됨</translation>
+ </message>
+ <message>
+ <source>Connection timed out</source>
+ <translation>연결 시간 초과됨</translation>
+ </message>
+ <message>
+ <source>Connection refused</source>
+ <translation>연결이 거부됨</translation>
+ </message>
+ <message>
+ <source>The bound address is already in use</source>
+ <translation>지정한 주소가 이미 사용 중</translation>
+ </message>
+ <message>
+ <source>The address is not available</source>
+ <translation>주소를 사용할 수 없음</translation>
+ </message>
+ <message>
+ <source>The address is protected</source>
+ <translation>주소가 보호되어 있음</translation>
+ </message>
+ <message>
+ <source>Datagram was too large to send</source>
+ <translation>한 번에 보낼 데이터그램이 너무 큼</translation>
+ </message>
+ <message>
+ <source>Unable to send a message</source>
+ <translation>메시지를 보낼 수 없음</translation>
+ </message>
+ <message>
+ <source>Unable to receive a message</source>
+ <translation>메시지를 받을 수 없음</translation>
+ </message>
+ <message>
+ <source>Unable to write</source>
+ <translation>쓸 수 없음</translation>
+ </message>
+ <message>
+ <source>Network error</source>
+ <translation>네트워크 오류</translation>
+ </message>
+ <message>
+ <source>Another socket is already listening on the same port</source>
+ <translation>다른 소켓이 지정한 포트에서 듣고 있음</translation>
+ </message>
+ <message>
+ <source>Operation on non-socket</source>
+ <translation>비 소켓에서 작업 실행됨</translation>
+ </message>
+ <message>
+ <source>The proxy type is invalid for this operation</source>
+ <translation>이 작업에 사용할 프록시 형식이 잘못됨</translation>
+ </message>
+ <message>
+ <source>The address is invalid for this operation</source>
+ <translation>이 작업에 사용할 주소가 잘못됨</translation>
+ </message>
+ <message>
+ <source>The specified network session is not opened</source>
+ <translation>지정한 네트워크 세션이 열려 있지 않음</translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation>알 수 없는 오류</translation>
+ </message>
+</context>
+<context>
<name>QSystemSemaphore</name>
<message>
<source>%1: permission denied</source>
@@ -6800,6 +7099,10 @@ Do you want to overwrite it?</source>
<translation>%1: 자원 부족</translation>
</message>
<message>
+ <source>%1: name error</source>
+ <translation>%1: 이름 오류</translation>
+ </message>
+ <message>
<source>%1: unknown error %2</source>
<translation>%1: 알 수 없는 오류 %2</translation>
</message>
@@ -6890,10 +7193,28 @@ Do you want to overwrite it?</source>
<name>QUndoGroup</name>
<message>
<source>Undo</source>
+ <translation type="obsolete">실행 취소</translation>
+ </message>
+ <message>
+ <source>Redo</source>
+ <translation type="obsolete">다시 실행</translation>
+ </message>
+ <message>
+ <source>Undo %1</source>
+ <translation>%1 실행 취소</translation>
+ </message>
+ <message>
+ <source>Undo</source>
+ <comment>Default text for undo action</comment>
<translation>실행 취소</translation>
</message>
<message>
+ <source>Redo %1</source>
+ <translation>%1 다시 실행</translation>
+ </message>
+ <message>
<source>Redo</source>
+ <comment>Default text for redo action</comment>
<translation>다시 실행</translation>
</message>
</context>
@@ -6908,10 +7229,28 @@ Do you want to overwrite it?</source>
<name>QUndoStack</name>
<message>
<source>Undo</source>
+ <translation type="obsolete">실행 취소</translation>
+ </message>
+ <message>
+ <source>Redo</source>
+ <translation type="obsolete">다시 실행</translation>
+ </message>
+ <message>
+ <source>Undo %1</source>
+ <translation>%1 실행 취소</translation>
+ </message>
+ <message>
+ <source>Undo</source>
+ <comment>Default text for undo action</comment>
<translation>실행 취소</translation>
</message>
<message>
+ <source>Redo %1</source>
+ <translation>%1 다시 실행</translation>
+ </message>
+ <message>
<source>Redo</source>
+ <comment>Default text for redo action</comment>
<translation>다시 실행</translation>
</message>
</context>
@@ -6969,6 +7308,10 @@ Do you want to overwrite it?</source>
<translation>요청 취소됨</translation>
</message>
<message>
+ <source>Request canceled</source>
+ <translation>요청 취소됨</translation>
+ </message>
+ <message>
<source>Request blocked</source>
<translation>요청 거부됨</translation>
</message>
@@ -6988,6 +7331,10 @@ Do you want to overwrite it?</source>
<source>File does not exist</source>
<translation>파일이 존재하지 않음</translation>
</message>
+ <message>
+ <source>Loading is handled by the media engine</source>
+ <translation>미디어 엔진에서 불러오기 작업이 처리됨</translation>
+ </message>
</context>
<context>
<name>QWebPage</name>
@@ -6997,7 +7344,7 @@ Do you want to overwrite it?</source>
</message>
<message>
<source>Bad HTTP request</source>
- <translation>잘못된 HTTP 요청</translation>
+ <translation type="obsolete">잘못된 HTTP 요청</translation>
</message>
<message numerus="yes">
<source>%n file(s)</source>
@@ -7294,11 +7641,76 @@ Do you want to overwrite it?</source>
<translation>초기화</translation>
</message>
<message>
+ <source>Details</source>
+ <comment>text to display in &lt;details&gt; tag when it has no &lt;summary&gt; child</comment>
+ <translation>자세히</translation>
+ </message>
+ <message>
+ <source>Copy Image Address</source>
+ <comment>Copy Image Address menu item</comment>
+ <translation>그림 주소 복사</translation>
+ </message>
+ <message>
+ <source>Open Video</source>
+ <comment>Open Video in New Window</comment>
+ <translation>비디오 열기</translation>
+ </message>
+ <message>
+ <source>Open Audio</source>
+ <comment>Open Audio in New Window</comment>
+ <translation>오디오 열기</translation>
+ </message>
+ <message>
+ <source>Copy Video</source>
+ <comment>Copy Video Link Location</comment>
+ <translation>비디오 복사</translation>
+ </message>
+ <message>
+ <source>Copy Audio</source>
+ <comment>Copy Audio Link Location</comment>
+ <translation>오디오 복사</translation>
+ </message>
+ <message>
+ <source>Toggle Controls</source>
+ <comment>Toggle Media Controls</comment>
+ <translation>컨트롤 보이기/숨기기</translation>
+ </message>
+ <message>
+ <source>Toggle Loop</source>
+ <comment>Toggle Media Loop Playback</comment>
+ <translation>반복/반복 해제</translation>
+ </message>
+ <message>
+ <source>Enter Fullscreen</source>
+ <comment>Switch Video to Fullscreen</comment>
+ <translation>전체 화면</translation>
+ </message>
+ <message>
+ <source>Play</source>
+ <comment>Play</comment>
+ <translation>재생</translation>
+ </message>
+ <message>
+ <source>Pause</source>
+ <comment>Pause</comment>
+ <translation>일시 정지</translation>
+ </message>
+ <message>
+ <source>Mute</source>
+ <comment>Mute</comment>
+ <translation>음소거</translation>
+ </message>
+ <message>
<source>Stop</source>
<comment>Stop context menu item</comment>
<translation>정지</translation>
</message>
<message>
+ <source>Select All</source>
+ <comment>Select All context menu item</comment>
+ <translation>모두 선택</translation>
+ </message>
+ <message>
<source>Ignore</source>
<comment>Ignore Spelling context menu item</comment>
<translation>무시</translation>
@@ -7610,7 +8022,7 @@ Do you want to overwrite it?</source>
</message>
<message>
<source>Select all</source>
- <translation>모두 선택</translation>
+ <translation type="obsolete">모두 선택</translation>
</message>
<message>
<source>Select to the next character</source>
@@ -8111,6 +8523,94 @@ Do you want to overwrite it?</source>
</message>
</context>
<context>
+ <name>QmlJSDebugger::LiveSelectionTool</name>
+ <message>
+ <source>Items</source>
+ <translation>항목</translation>
+ </message>
+</context>
+<context>
+ <name>QmlJSDebugger::QmlToolBar</name>
+ <message>
+ <source>Inspector Mode</source>
+ <translation>들여다보기 모드</translation>
+ </message>
+ <message>
+ <source>Play/Pause Animations</source>
+ <translation>애니메이션 재생/일시 정지</translation>
+ </message>
+ <message>
+ <source>Select</source>
+ <translation>선택</translation>
+ </message>
+ <message>
+ <source>Select (Marquee)</source>
+ <translation>선택 (Marquee)</translation>
+ </message>
+ <message>
+ <source>Zoom</source>
+ <translation>확대/축소</translation>
+ </message>
+ <message>
+ <source>Color Picker</source>
+ <translation>색상 선택기</translation>
+ </message>
+ <message>
+ <source>Apply Changes to QML Viewer</source>
+ <translation>QML 뷰어에 변경 사항 적용하기</translation>
+ </message>
+ <message>
+ <source>Apply Changes to Document</source>
+ <translation>문서에 변경 사항 적용하기</translation>
+ </message>
+ <message>
+ <source>Tools</source>
+ <translation>도구</translation>
+ </message>
+ <message>
+ <source>1x</source>
+ <translation>1x</translation>
+ </message>
+ <message>
+ <source>0.5x</source>
+ <translation>0.5x</translation>
+ </message>
+ <message>
+ <source>0.25x</source>
+ <translation>0.25x</translation>
+ </message>
+ <message>
+ <source>0.125x</source>
+ <translation>0.125x</translation>
+ </message>
+ <message>
+ <source>0.1x</source>
+ <translation>0.1x</translation>
+ </message>
+</context>
+<context>
+ <name>QmlJSDebugger::ToolBarColorBox</name>
+ <message>
+ <source>Copy Color</source>
+ <translation>색 복사</translation>
+ </message>
+</context>
+<context>
+ <name>QmlJSDebugger::ZoomTool</name>
+ <message>
+ <source>Zoom to &amp;100%</source>
+ <translation>원본 크기(&amp;1)</translation>
+ </message>
+ <message>
+ <source>Zoom In</source>
+ <translation>확대</translation>
+ </message>
+ <message>
+ <source>Zoom Out</source>
+ <translation>축소</translation>
+ </message>
+</context>
+<context>
<name>QtXmlPatterns</name>
<message>
<source>%1 is an unsupported encoding.</source>
@@ -8570,6 +9070,10 @@ Do you want to overwrite it?</source>
</message>
<message>
<source>The namespace for a user defined function cannot be empty (try the predefined prefix %1 which exists for cases like this)</source>
+ <translation type="obsolete">사용자 정의 함수의 네임스페이스는 비어 있을 수 없습니다. (이러한 경우에 사용할 수 있는 미리 정의된 접두사 %1을(를) 사용하십시오)</translation>
+ </message>
+ <message>
+ <source>The namespace for a user defined function cannot be empty (try the predefined prefix %1, which exists for cases like this)</source>
<translation>사용자 정의 함수의 네임스페이스는 비어 있을 수 없습니다. (이러한 경우에 사용할 수 있는 미리 정의된 접두사 %1을(를) 사용하십시오)</translation>
</message>
<message>
@@ -9419,6 +9923,10 @@ Do you want to overwrite it?</source>
</message>
<message>
<source>Content model of complex type %1 contains %2 element so it cannot be derived by extension from a non-empty type.</source>
+ <translation type="obsolete">복합 형식 %1의 내용 모델은 %2 원소를 포함하므로 비어 있지 않은 형식의 확장으로 파생될 수 없습니다.</translation>
+ </message>
+ <message>
+ <source>Content model of complex type %1 contains %2 element, so it cannot be derived by extension from a non-empty type.</source>
<translation>복합 형식 %1의 내용 모델은 %2 원소를 포함하므로 비어 있지 않은 형식의 확장으로 파생될 수 없습니다.</translation>
</message>
<message>
@@ -9826,8 +10334,12 @@ Do you want to overwrite it?</source>
<translation>원소 %1에 허용되지 않은 텍스트 내용이 포함되어 있습니다.</translation>
</message>
<message>
+ <source>Element %1 cannot contain other elements, as it has fixed content.</source>
+ <translation>원소 %1은(는) 고정된 내용을 가지고 있으므로 다른 원소를 포함할 수 없습니다.</translation>
+ </message>
+ <message>
<source>Element %1 cannot contain other elements, as it has a fixed content.</source>
- <translation>원소 %1의 내용은 고정되어 있으므로 다른 원소를 포함할 수 없습니다.</translation>
+ <translation type="obsolete">원소 %1의 내용은 고정되어 있으므로 다른 원소를 포함할 수 없습니다.</translation>
</message>
<message>
<source>Element %1 is missing required attribute %2.</source>
diff --git a/translations/qt_pl.ts b/translations/qt_pl.ts
index 0c9c01e..c1a7a03 100644
--- a/translations/qt_pl.ts
+++ b/translations/qt_pl.ts
@@ -9,9 +9,24 @@
</message>
</context>
<context>
+ <name>Debugger::JSAgentWatchData</name>
+ <message>
+ <source>[Array of length %1]</source>
+ <translation>[Tablica o długości %1]</translation>
+ </message>
+ <message>
+ <source>&lt;undefined&gt;</source>
+ <translation>&lt;niezdefiniowanej&gt;</translation>
+ </message>
+</context>
+<context>
<name>FakeReply</name>
<message>
<source>Fake error !</source>
+ <translation type="obsolete">Fałszywy błąd!</translation>
+ </message>
+ <message>
+ <source>Fake error!</source>
<translation>Fałszywy błąd!</translation>
</message>
<message>
@@ -397,7 +412,7 @@ zainstalowałeś libgstreamer-plugins-base.</translation>
</message>
<message>
<source>Reflections delay (ms)</source>
- <extracomment>ReflectionsDelay: Amount of delay between the arrival the direct path from the source and the arrival of the first reflection.</extracomment>
+ <extracomment>ReflectionsDelay: Amount of delay between the arrival of the direct path from the source and the arrival of the first reflection.</extracomment>
<translation>Opóźnienie odbić (ms)</translation>
</message>
<message>
@@ -412,7 +427,7 @@ zainstalowałeś libgstreamer-plugins-base.</translation>
</message>
<message>
<source>Reverb level (mB)</source>
- <extracomment>ReverbLevel Amplitude of reverberations. This value is corrected by the RoomLevel to give the final reverberation amplitude.</extracomment>
+ <extracomment>ReverbLevel: Amplitude of reverberations. This value is corrected by the RoomLevel to give the final reverberation amplitude.</extracomment>
<translation>Poziom pogłosu (mB)</translation>
</message>
<message>
@@ -470,8 +485,12 @@ zainstalowałeś libgstreamer-plugins-base.</translation>
<translation>Głośność: %1%</translation>
</message>
<message>
+ <source>Use this slider to adjust the volume. The leftmost position is 0%. The rightmost is %1%</source>
+ <translation>Użyj tego suwaka aby zmienić głośność. Skrajnie lewa pozycja to 0%. Skrajnie prawa to %1%</translation>
+ </message>
+ <message>
<source>Use this slider to adjust the volume. The leftmost position is 0%, the rightmost is %1%</source>
- <translation>Użyj tego suwaka aby zmienić głośność. Skrajnie lewa pozycja to 0%, skrajnie prawa to %1%</translation>
+ <translation type="obsolete">Użyj tego suwaka aby zmienić głośność. Skrajnie lewa pozycja to 0%, skrajnie prawa to %1%</translation>
</message>
<message>
<source>Muted</source>
@@ -1062,6 +1081,14 @@ na
<context>
<name>QAccessibleButton</name>
<message>
+ <source>Uncheck</source>
+ <translation>Odznacz</translation>
+ </message>
+ <message>
+ <source>Check</source>
+ <translation>Zaznacz</translation>
+ </message>
+ <message>
<source>Press</source>
<translation>Wciśnij</translation>
</message>
@@ -2365,7 +2392,7 @@ na
</message>
<message>
<source>Reset</source>
- <translation>Resetuj</translation>
+ <translation>Zresetuj</translation>
</message>
<message>
<source>Restore Defaults</source>
@@ -2500,6 +2527,10 @@ na
<source>Cannot create %1 for output</source>
<translation>Nie można utworzyć pliku wyjściowego %1</translation>
</message>
+ <message>
+ <source>No file engine available or engine does not support UnMapExtension</source>
+ <translation>Brak dostępnego silnika lub silnik nie obsługuje UnMapExtension</translation>
+ </message>
</context>
<context>
<name>QFileDialog</name>
@@ -3471,6 +3502,18 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<source>Cannot resolve symbol &quot;%1&quot; in %2: %3</source>
<translation>Nie można zidentyfikować symbolu &quot;%1&quot; w %2: %3</translation>
</message>
+ <message>
+ <source>&apos;%1&apos; is not an ELF object (%2)</source>
+ <translation>&quot;%1&quot; nie jest obiektem ELF (%2)</translation>
+ </message>
+ <message>
+ <source>&apos;%1&apos; is not an ELF object</source>
+ <translation>&quot;%1&quot; nie jest obiektem ELF</translation>
+ </message>
+ <message>
+ <source>&apos;%1&apos; is an invalid ELF object (%2)</source>
+ <translation>&quot;%1&quot; jest niepoprawnym obiektem ELF (%2)</translation>
+ </message>
</context>
<context>
<name>QLineEdit</name>
@@ -3568,6 +3611,10 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<source>%1: Unknown error %2</source>
<translation>%1: Nieznany błąd %2</translation>
</message>
+ <message>
+ <source>%1: Access denied</source>
+ <translation>%1: Odmowa dostępu</translation>
+ </message>
</context>
<context>
<name>QMYSQLDriver</name>
@@ -3577,7 +3624,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
</message>
<message>
<source>Unable to commit transaction</source>
- <translation>Nie można potwierdzić transakcji</translation>
+ <translation>Nie można dokonać transakcji</translation>
</message>
<message>
<source>Unable to connect</source>
@@ -3620,7 +3667,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
</message>
<message>
<source>Unable to reset statement</source>
- <translation>Nie można skasować polecenia</translation>
+ <translation>Nie można zresetować polecenia</translation>
</message>
<message>
<source>Unable to store result</source>
@@ -3742,6 +3789,10 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<source>Actions</source>
<translation>Akcje</translation>
</message>
+ <message>
+ <source>Corner Toolbar</source>
+ <translation>Narożny pasek narzędzi</translation>
+ </message>
</context>
<context>
<name>QMessageBox</name>
@@ -3910,7 +3961,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<name>QNetworkAccessDataBackend</name>
<message>
<source>Operation not supported on %1</source>
- <translation>Operacja nieobsługiwana na %1</translation>
+ <translation type="obsolete">Operacja nieobsługiwana na %1</translation>
</message>
<message>
<source>Invalid URI: %1</source>
@@ -4007,6 +4058,10 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<translation>Błąd sesji sieciowej.</translation>
</message>
<message>
+ <source>backend start error.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<source>Temporary network failure.</source>
<translation>Chwilowy błąd w sieci.</translation>
</message>
@@ -4123,7 +4178,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<name>QODBCDriver</name>
<message>
<source>Unable to commit transaction</source>
- <translation>Nie można potwierdzić transakcji</translation>
+ <translation>Nie można dokonać transakcji</translation>
</message>
<message>
<source>Unable to connect</source>
@@ -4199,6 +4254,10 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<source>invalid query: &quot;%1&quot;</source>
<translation>Niepoprawne zapytanie: &quot;%1&quot;</translation>
</message>
+ <message>
+ <source>Host not found</source>
+ <translation>Host nie znaleziony</translation>
+ </message>
</context>
<context>
<name>QPPDOptionsModel</name>
@@ -4219,7 +4278,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
</message>
<message>
<source>Could not commit transaction</source>
- <translation>Nie można potwierdzić transakcji</translation>
+ <translation>Nie można dokonać transakcji</translation>
</message>
<message>
<source>Could not rollback transaction</source>
@@ -5092,7 +5151,7 @@ Proszę wybrać inną nazwę pliku.</translation>
</message>
<message>
<source>Unable to reset statement</source>
- <translation>Nie można skasować polecenia</translation>
+ <translation>Nie można zresetować polecenia</translation>
</message>
<message>
<source>No query</source>
@@ -5500,6 +5559,10 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>%1: ograniczenia rozmiarów narzucone przez system</translation>
</message>
<message>
+ <source>%1: bad name</source>
+ <translation>%1: zła nazwa</translation>
+ </message>
+ <message>
<source>%1: not attached</source>
<translation>%1: niedołączony</translation>
</message>
@@ -5509,7 +5572,7 @@ Proszę wybrać inną nazwę pliku.</translation>
</message>
<message>
<source>%1: key error</source>
- <translation>%1: błąd klucza</translation>
+ <translation type="obsolete">%1: błąd klucza</translation>
</message>
<message>
<source>%1: size query failed</source>
@@ -6491,6 +6554,10 @@ Proszę wybrać inną nazwę pliku.</translation>
<name>QSoftKeyManager</name>
<message>
<source>Ok</source>
+ <translation type="obsolete">OK</translation>
+ </message>
+ <message>
+ <source>OK</source>
<translation>OK</translation>
</message>
<message>
@@ -6735,6 +6802,187 @@ Proszę wybrać inną nazwę pliku.</translation>
</message>
</context>
<context>
+ <name>QSymSQLDriver</name>
+ <message>
+ <source>Invalid option: </source>
+ <translation>Niepoprawna opcja: </translation>
+ </message>
+ <message>
+ <source>Error opening database</source>
+ <translation>Błąd otwierania bazy danych</translation>
+ </message>
+ <message>
+ <source>POLICY_DB_DEFAULT must be defined before any other POLICY definitions can be used</source>
+ <translation>POLICY_DB_DEFAULT musi być zdefiniowane przed użyciem definicji POLICY</translation>
+ </message>
+ <message>
+ <source>Unable to begin transaction</source>
+ <translation>Nie można rozpocząć transakcji</translation>
+ </message>
+ <message>
+ <source>Unable to commit transaction</source>
+ <translation>Nie można dokonać transakcji</translation>
+ </message>
+ <message>
+ <source>Unable to rollback transaction</source>
+ <translation>Nie można wycofać transakcji</translation>
+ </message>
+</context>
+<context>
+ <name>QSymSQLResult</name>
+ <message>
+ <source>Error retrieving column count</source>
+ <translation>Błąd pobierania liczby kolumn</translation>
+ </message>
+ <message>
+ <source>Error retrieving column name</source>
+ <translation>Błąd pobierania nazwy kolumny</translation>
+ </message>
+ <message>
+ <source>Error retrieving column type</source>
+ <translation>Błąd pobierania typu kolumny</translation>
+ </message>
+ <message>
+ <source>Unable to fetch row</source>
+ <translation>Nie można pobrać wiersza danych</translation>
+ </message>
+ <message>
+ <source>Unable to execute statement</source>
+ <translation>Nie można wykonać polecenia</translation>
+ </message>
+ <message>
+ <source>Statement is not prepared</source>
+ <translation>Polecenie nie jest przygotowane</translation>
+ </message>
+ <message>
+ <source>Unable to reset statement</source>
+ <translation>Nie można zresetować polecenia</translation>
+ </message>
+ <message>
+ <source>Unable to bind parameters</source>
+ <translation>Nie można powiązać parametrów</translation>
+ </message>
+ <message>
+ <source>Parameter count mismatch</source>
+ <translation>Niezgodna liczba parametrów</translation>
+ </message>
+</context>
+<context>
+ <name>QSymbianSocketEngine</name>
+ <message>
+ <source>Unable to initialize non-blocking socket</source>
+ <translation>Nie można zainicjalizować gniazda w trybie nieblokującym</translation>
+ </message>
+ <message>
+ <source>Unable to initialize broadcast socket</source>
+ <translation>Nie można zainicjalizować gniazda rozsyłającego</translation>
+ </message>
+ <message>
+ <source>Attempt to use IPv6 socket on a platform with no IPv6 support</source>
+ <translation>Próba użycia IPv6 na platformie bez obsługi IPv6</translation>
+ </message>
+ <message>
+ <source>The remote host closed the connection</source>
+ <translation>Zdalny host zakończył połączenie</translation>
+ </message>
+ <message>
+ <source>Network operation timed out</source>
+ <translation>Przekroczony czas operacji sieciowej</translation>
+ </message>
+ <message>
+ <source>Out of resources</source>
+ <translation>Zasoby wyczerpane</translation>
+ </message>
+ <message>
+ <source>Unsupported socket operation</source>
+ <translation>Nieobsługiwana operacja gniazda</translation>
+ </message>
+ <message>
+ <source>Protocol type not supported</source>
+ <translation>Nieobsługiwany typ protokołu</translation>
+ </message>
+ <message>
+ <source>Invalid socket descriptor</source>
+ <translation>Niepoprawny opis gniazda</translation>
+ </message>
+ <message>
+ <source>Host unreachable</source>
+ <translation>Host niedostępny</translation>
+ </message>
+ <message>
+ <source>Network unreachable</source>
+ <translation>Sieć niedostępna</translation>
+ </message>
+ <message>
+ <source>Permission denied</source>
+ <translation>Brak uprawnień</translation>
+ </message>
+ <message>
+ <source>Connection timed out</source>
+ <translation>Przekroczony czas połączenia</translation>
+ </message>
+ <message>
+ <source>Connection refused</source>
+ <translation>Połączenie odrzucone</translation>
+ </message>
+ <message>
+ <source>The bound address is already in use</source>
+ <translation>Adres jest aktualnie w użyciu</translation>
+ </message>
+ <message>
+ <source>The address is not available</source>
+ <translation>Adres nie jest dostępny</translation>
+ </message>
+ <message>
+ <source>The address is protected</source>
+ <translation>Adres jest zabezpieczony</translation>
+ </message>
+ <message>
+ <source>Datagram was too large to send</source>
+ <translation>Datagram za długi do wysłania</translation>
+ </message>
+ <message>
+ <source>Unable to send a message</source>
+ <translation>Nie można wysłać wiadomości</translation>
+ </message>
+ <message>
+ <source>Unable to receive a message</source>
+ <translation>Nie można odebrać wiadomości</translation>
+ </message>
+ <message>
+ <source>Unable to write</source>
+ <translation>Nie można zapisać</translation>
+ </message>
+ <message>
+ <source>Network error</source>
+ <translation>Błąd sieci</translation>
+ </message>
+ <message>
+ <source>Another socket is already listening on the same port</source>
+ <translation>Inne gniazdo nasłuchuje już na tym porcie</translation>
+ </message>
+ <message>
+ <source>Operation on non-socket</source>
+ <translation>Operacja na nieprawidłowym gnieździe</translation>
+ </message>
+ <message>
+ <source>The proxy type is invalid for this operation</source>
+ <translation>Typ pośrednika nie jest poprawny dla tej operacji</translation>
+ </message>
+ <message>
+ <source>The address is invalid for this operation</source>
+ <translation>Niepoprawny adres dla tej operacji</translation>
+ </message>
+ <message>
+ <source>The specified network session is not opened</source>
+ <translation>Podana sesja sieciowa nie jest otwarta</translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation>Nieznany błąd</translation>
+ </message>
+</context>
+<context>
<name>QSystemSemaphore</name>
<message>
<source>%1: out of resources</source>
@@ -6753,6 +7001,10 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>%1: nie istnieje</translation>
</message>
<message>
+ <source>%1: name error</source>
+ <translation>%1: błąd nazwy</translation>
+ </message>
+ <message>
<source>%1: unknown error %2</source>
<translation>%1: nieznany błąd %2</translation>
</message>
@@ -6843,12 +7095,30 @@ Proszę wybrać inną nazwę pliku.</translation>
<name>QUndoGroup</name>
<message>
<source>Redo</source>
- <translation>Przywróć</translation>
+ <translation type="obsolete">Przywróć</translation>
</message>
<message>
<source>Undo</source>
+ <translation type="obsolete">Cofnij</translation>
+ </message>
+ <message>
+ <source>Undo %1</source>
+ <translation>Cofnij %1</translation>
+ </message>
+ <message>
+ <source>Undo</source>
+ <comment>Default text for undo action</comment>
<translation>Cofnij</translation>
</message>
+ <message>
+ <source>Redo %1</source>
+ <translation>Przywróć %1</translation>
+ </message>
+ <message>
+ <source>Redo</source>
+ <comment>Default text for redo action</comment>
+ <translation>Przywróć</translation>
+ </message>
</context>
<context>
<name>QUndoModel</name>
@@ -6861,12 +7131,30 @@ Proszę wybrać inną nazwę pliku.</translation>
<name>QUndoStack</name>
<message>
<source>Redo</source>
- <translation>Przywróć</translation>
+ <translation type="obsolete">Przywróć</translation>
</message>
<message>
<source>Undo</source>
+ <translation type="obsolete">Cofnij</translation>
+ </message>
+ <message>
+ <source>Undo %1</source>
+ <translation>Cofnij %1</translation>
+ </message>
+ <message>
+ <source>Undo</source>
+ <comment>Default text for undo action</comment>
<translation>Cofnij</translation>
</message>
+ <message>
+ <source>Redo %1</source>
+ <translation>Przywróć %1</translation>
+ </message>
+ <message>
+ <source>Redo</source>
+ <comment>Default text for redo action</comment>
+ <translation>Przywróć</translation>
+ </message>
</context>
<context>
<name>QUnicodeControlCharacterMenu</name>
@@ -6922,6 +7210,10 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>Prośba anulowana</translation>
</message>
<message>
+ <source>Request canceled</source>
+ <translation>Prośba anulowana</translation>
+ </message>
+ <message>
<source>Request blocked</source>
<translation>Prośba zablokowana</translation>
</message>
@@ -6941,6 +7233,10 @@ Proszę wybrać inną nazwę pliku.</translation>
<source>File does not exist</source>
<translation>Plik nie istnieje</translation>
</message>
+ <message>
+ <source>Loading is handled by the media engine</source>
+ <translation>Ładowanie jest obsługiwane przez silnik mediów</translation>
+ </message>
</context>
<context>
<name>QWebPage</name>
@@ -6957,7 +7253,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<message>
<source>Reset</source>
<comment>default label for Reset buttons in forms on web pages</comment>
- <translation>Wyczyść</translation>
+ <translation>Zresetuj</translation>
</message>
<message>
<source>Choose File</source>
@@ -6970,6 +7266,11 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>Nie zaznaczono pliku</translation>
</message>
<message>
+ <source>Details</source>
+ <comment>text to display in &lt;details&gt; tag when it has no &lt;summary&gt; child</comment>
+ <translation>Szczegóły</translation>
+ </message>
+ <message>
<source>Open in New Window</source>
<comment>Open in New Window context menu item</comment>
<translation>Otwórz w nowym oknie</translation>
@@ -7000,6 +7301,61 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>Skopiuj obrazek</translation>
</message>
<message>
+ <source>Copy Image Address</source>
+ <comment>Copy Image Address menu item</comment>
+ <translation>Skopiuj adres obrazka</translation>
+ </message>
+ <message>
+ <source>Open Video</source>
+ <comment>Open Video in New Window</comment>
+ <translation>Otwórz wideo</translation>
+ </message>
+ <message>
+ <source>Open Audio</source>
+ <comment>Open Audio in New Window</comment>
+ <translation>Otwórz dźwięk</translation>
+ </message>
+ <message>
+ <source>Copy Video</source>
+ <comment>Copy Video Link Location</comment>
+ <translation>Skopiuj wideo</translation>
+ </message>
+ <message>
+ <source>Copy Audio</source>
+ <comment>Copy Audio Link Location</comment>
+ <translation>Skopiuj dźwięk</translation>
+ </message>
+ <message>
+ <source>Toggle Controls</source>
+ <comment>Toggle Media Controls</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Toggle Loop</source>
+ <comment>Toggle Media Loop Playback</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Enter Fullscreen</source>
+ <comment>Switch Video to Fullscreen</comment>
+ <translation>Pełny ekran</translation>
+ </message>
+ <message>
+ <source>Play</source>
+ <comment>Play</comment>
+ <translation>Odtwórz</translation>
+ </message>
+ <message>
+ <source>Pause</source>
+ <comment>Pause</comment>
+ <translation>Pauza</translation>
+ </message>
+ <message>
+ <source>Mute</source>
+ <comment>Mute</comment>
+ <translation>Wycisz</translation>
+ </message>
+ <message>
<source>Open Frame</source>
<comment>Open Frame in New Window context menu item</comment>
<translation>Otwórz ramkę</translation>
@@ -7040,6 +7396,11 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>Wklej</translation>
</message>
<message>
+ <source>Select All</source>
+ <comment>Select All context menu item</comment>
+ <translation>Zaznacz wszystko</translation>
+ </message>
+ <message>
<source>No Guesses Found</source>
<comment>No Guesses Found context menu item</comment>
<translation>Nie odnaleziono podpowiedzi</translation>
@@ -7379,7 +7740,7 @@ Proszę wybrać inną nazwę pliku.</translation>
</message>
<message>
<source>Bad HTTP request</source>
- <translation>Niepoprawna komenda HTTP</translation>
+ <translation type="obsolete">Niepoprawna komenda HTTP</translation>
</message>
<message>
<source>This is a searchable index. Enter search keywords: </source>
@@ -7532,7 +7893,7 @@ Proszę wybrać inną nazwę pliku.</translation>
</message>
<message>
<source>Select all</source>
- <translation>Zaznacz wszystko</translation>
+ <translation type="obsolete">Zaznacz wszystko</translation>
</message>
<message>
<source>Select to the next character</source>
@@ -8029,6 +8390,94 @@ Proszę wybrać inną nazwę pliku.</translation>
</message>
</context>
<context>
+ <name>QmlJSDebugger::LiveSelectionTool</name>
+ <message>
+ <source>Items</source>
+ <translation>Elementy</translation>
+ </message>
+</context>
+<context>
+ <name>QmlJSDebugger::QmlToolBar</name>
+ <message>
+ <source>Inspector Mode</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Play/Pause Animations</source>
+ <translation>Odtwórz / wstrzymaj animacje</translation>
+ </message>
+ <message>
+ <source>Select</source>
+ <translation>Wybierz</translation>
+ </message>
+ <message>
+ <source>Select (Marquee)</source>
+ <translation>Wybierz (Marquee)</translation>
+ </message>
+ <message>
+ <source>Zoom</source>
+ <translation>Powiększ</translation>
+ </message>
+ <message>
+ <source>Color Picker</source>
+ <translation>Wybieracz kolorów</translation>
+ </message>
+ <message>
+ <source>Apply Changes to QML Viewer</source>
+ <translation>Zastosuj zmiany do QML Viewera</translation>
+ </message>
+ <message>
+ <source>Apply Changes to Document</source>
+ <translation>Zastosuj zmiany do dokumentu</translation>
+ </message>
+ <message>
+ <source>Tools</source>
+ <translation>Narzędzia</translation>
+ </message>
+ <message>
+ <source>1x</source>
+ <translation>1x</translation>
+ </message>
+ <message>
+ <source>0.5x</source>
+ <translation>0.5x</translation>
+ </message>
+ <message>
+ <source>0.25x</source>
+ <translation>0.25x</translation>
+ </message>
+ <message>
+ <source>0.125x</source>
+ <translation>0.125x</translation>
+ </message>
+ <message>
+ <source>0.1x</source>
+ <translation>0.1x</translation>
+ </message>
+</context>
+<context>
+ <name>QmlJSDebugger::ToolBarColorBox</name>
+ <message>
+ <source>Copy Color</source>
+ <translation>Skopiuj kolor</translation>
+ </message>
+</context>
+<context>
+ <name>QmlJSDebugger::ZoomTool</name>
+ <message>
+ <source>Zoom to &amp;100%</source>
+ <translation>Powiększ do &amp;100%</translation>
+ </message>
+ <message>
+ <source>Zoom In</source>
+ <translation>Powiększ</translation>
+ </message>
+ <message>
+ <source>Zoom Out</source>
+ <translation>Pomniejsz</translation>
+ </message>
+</context>
+<context>
<name>QtXmlPatterns</name>
<message>
<source>Network timeout.</source>
@@ -8351,6 +8800,10 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>Cecha &quot;Import modułu&quot; nie jest obsługiwana</translation>
</message>
<message>
+ <source>The namespace for a user defined function cannot be empty (try the predefined prefix %1, which exists for cases like this)</source>
+ <translation>Przestrzeń nazw dla funkcji zdefiniowanej przez użytkownika nie może być pusta (spróbuj predefiniowany przedrostek %1, który stworzono specjalnie do takich sytuacji)</translation>
+ </message>
+ <message>
<source>The namespace %1 is reserved; therefore user defined functions may not use it. Try the predefined prefix %2, which exists for these cases.</source>
<translation>Przestrzeń nazw %1 jest zarezerwowana, dlatego funkcje zdefiniowane przez użytkownika nie mogą jej użyć. Spróbuj predefiniowany przedrostek %2, który istnieje w takich przypadkach.</translation>
</message>
@@ -8428,7 +8881,7 @@ Proszę wybrać inną nazwę pliku.</translation>
</message>
<message>
<source>The namespace for a user defined function cannot be empty (try the predefined prefix %1 which exists for cases like this)</source>
- <translation>Przestrzeń nazw dla funkcji zdefiniowanej przez użytkownika nie może być pusta (spróbuj predefiniowany przedrostek %1, który stworzono specjalnie do takich sytuacji)</translation>
+ <translation type="obsolete">Przestrzeń nazw dla funkcji zdefiniowanej przez użytkownika nie może być pusta (spróbuj predefiniowany przedrostek %1, który stworzono specjalnie do takich sytuacji)</translation>
</message>
<message>
<source>An argument with name %1 has already been declared. Every argument name must be unique.</source>
@@ -9168,7 +9621,11 @@ Proszę wybrać inną nazwę pliku.</translation>
</message>
<message>
<source>Content model of complex type %1 contains %2 element so it cannot be derived by extension from a non-empty type.</source>
- <translation>Model zawartości typu złożonego %1 posiada element %2 więc nie może być on wywiedziony poprzez rozszerzenie niepustego typu.</translation>
+ <translation type="obsolete">Model zawartości typu złożonego %1 posiada element %2 więc nie może być on wywiedziony poprzez rozszerzenie niepustego typu.</translation>
+ </message>
+ <message>
+ <source>Content model of complex type %1 contains %2 element, so it cannot be derived by extension from a non-empty type.</source>
+ <translation>Model zawartości typu złożonego %1, posiada element %2, więc nie może być on wywiedziony poprzez rozszerzenie niepustego typu.</translation>
</message>
<message>
<source>Complex type %1 cannot be derived by extension from %2 as the latter contains %3 element in its content model.</source>
@@ -9757,7 +10214,7 @@ Proszę wybrać inną nazwę pliku.</translation>
</message>
<message>
<source>Element %1 cannot contain other elements, as it has a fixed content.</source>
- <translation>Element %1 nie może zawierać innych elementów ponieważ posiada on stałą zawartość.</translation>
+ <translation type="obsolete">Element %1 nie może zawierać innych elementów ponieważ posiada on stałą zawartość.</translation>
</message>
<message>
<source>Specified type %1 is not validly substitutable with element type %2.</source>
@@ -9792,6 +10249,10 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>Element %1 zawiera niedozwolony text.</translation>
</message>
<message>
+ <source>Element %1 cannot contain other elements, as it has fixed content.</source>
+ <translation>Element %1 nie może zawierać innych elementów, ponieważ posiada on stałą zawartość.</translation>
+ </message>
+ <message>
<source>Element %1 is missing required attribute %2.</source>
<translation>Brak wymaganego atrybutu %2 w elemencie %1.</translation>
</message>
diff --git a/translations/qt_ru.ts b/translations/qt_ru.ts
index 19c0544..348b1ce 100644
--- a/translations/qt_ru.ts
+++ b/translations/qt_ru.ts
@@ -408,7 +408,7 @@ have libgstreamer-plugins-base installed.</source>
</message>
<message>
<source>Reflections delay (ms)</source>
- <extracomment>ReflectionsDelay: Amount of delay between the arrival the direct path from the source and the arrival of the first reflection.</extracomment>
+ <extracomment>ReflectionsDelay: Amount of delay between the arrival of the direct path from the source and the arrival of the first reflection.</extracomment>
<translation>Затухание отражений (мс)</translation>
</message>
<message>
@@ -423,7 +423,7 @@ have libgstreamer-plugins-base installed.</source>
</message>
<message>
<source>Reverb level (mB)</source>
- <extracomment>ReverbLevel Amplitude of reverberations. This value is corrected by the RoomLevel to give the final reverberation amplitude.</extracomment>
+ <extracomment>ReverbLevel: Amplitude of reverberations. This value is corrected by the RoomLevel to give the final reverberation amplitude.</extracomment>
<translation>Уровень эха (мБар)</translation>
</message>
<message>
@@ -481,7 +481,7 @@ have libgstreamer-plugins-base installed.</source>
<translation>Громкость: %1%</translation>
</message>
<message>
- <source>Use this slider to adjust the volume. The leftmost position is 0%, the rightmost is %1%</source>
+ <source>Use this slider to adjust the volume. The leftmost position is 0%. The rightmost is %1%</source>
<translation>Используйте данный регулятор для настройки громкости. Крайнее левое положение соответствует 0%, крайнее правое - %1%</translation>
</message>
<message>
@@ -1264,7 +1264,7 @@ to
</message>
<message>
<source>Unable to rollback transaction</source>
- <translation>Невозможно отозвать транзакцию</translation>
+ <translation>Невозможно откатить транзакцию</translation>
</message>
<message>
<source>Unable to set autocommit</source>
@@ -3262,7 +3262,7 @@ Please verify the correct directory name was given.</source>
</message>
<message>
<source>Unable to rollback transaction</source>
- <translation>Невозможно отозвать транзакцию</translation>
+ <translation>Невозможно откатить транзакцию</translation>
</message>
</context>
<context>
@@ -3569,7 +3569,7 @@ Please verify the correct directory name was given.</source>
</message>
<message>
<source>Unable to rollback transaction</source>
- <translation>Невозможно отозвать транзакцию</translation>
+ <translation>Невозможно откатить транзакцию</translation>
</message>
</context>
<context>
@@ -3722,6 +3722,10 @@ Please verify the correct directory name was given.</source>
<source>Actions</source>
<translation>Действия</translation>
</message>
+ <message>
+ <source>Corner Toolbar</source>
+ <translation>Угловая панель</translation>
+ </message>
</context>
<context>
<name>QMessageBox</name>
@@ -4062,7 +4066,7 @@ Please verify the correct directory name was given.</source>
</message>
<message>
<source>Unable to rollback transaction</source>
- <translation>Невозможно отозвать транзакцию</translation>
+ <translation>Невозможно откатить транзакцию</translation>
</message>
</context>
<context>
@@ -4116,7 +4120,7 @@ Please verify the correct directory name was given.</source>
</message>
<message>
<source>Unable to rollback transaction</source>
- <translation>Невозможно отозвать транзакцию</translation>
+ <translation>Невозможно откатить транзакцию</translation>
</message>
<message>
<source>Unable to enable autocommit</source>
@@ -4212,7 +4216,7 @@ Please verify the correct directory name was given.</source>
</message>
<message>
<source>Could not rollback transaction</source>
- <translation>Не удалось отозвать транзакцию</translation>
+ <translation>Не удалось откатить транзакцию</translation>
</message>
<message>
<source>Unable to subscribe</source>
@@ -5020,7 +5024,7 @@ Please choose a different file name.</source>
</message>
<message>
<source>Unable to rollback transaction</source>
- <translation>Невозможно отозвать транзакцию</translation>
+ <translation>Невозможно откатить транзакцию</translation>
</message>
</context>
<context>
@@ -5054,7 +5058,7 @@ Please choose a different file name.</source>
</message>
<message>
<source>Unable to rollback transaction</source>
- <translation>Невозможно отозвать транзакцию</translation>
+ <translation>Невозможно откатить транзакцию</translation>
</message>
</context>
<context>
@@ -5510,15 +5514,15 @@ Please choose a different file name.</source>
<message>
<source>Space</source>
<extracomment>This and all following &quot;incomprehensible&quot; strings in QShortcut context are key names. Please use the localized names appearing on actual keyboards or whatever is commonly used.</extracomment>
- <translation type="unfinished">Пробел</translation>
+ <translation>Пробел</translation>
</message>
<message>
<source>Esc</source>
- <translation type="unfinished">Esc</translation>
+ <translation>Esc</translation>
</message>
<message>
<source>Tab</source>
- <translation type="unfinished">Tab</translation>
+ <translation>Tab</translation>
</message>
<message>
<source>Backtab</source>
@@ -5538,67 +5542,67 @@ Please choose a different file name.</source>
</message>
<message>
<source>Ins</source>
- <translation type="unfinished">Ins</translation>
+ <translation>Ins</translation>
</message>
<message>
<source>Del</source>
- <translation type="unfinished">Del</translation>
+ <translation>Del</translation>
</message>
<message>
<source>Pause</source>
- <translation type="unfinished">Pause</translation>
+ <translation>Pause</translation>
</message>
<message>
<source>Print</source>
- <translation type="unfinished">Print</translation>
+ <translation>Print</translation>
</message>
<message>
<source>SysReq</source>
- <translation type="unfinished">SysReq</translation>
+ <translation>SysReq</translation>
</message>
<message>
<source>Home</source>
- <translation type="unfinished">Home</translation>
+ <translation>Home</translation>
</message>
<message>
<source>End</source>
- <translation type="unfinished">End</translation>
+ <translation>End</translation>
</message>
<message>
<source>Left</source>
- <translation type="unfinished">Влево</translation>
+ <translation>Влево</translation>
</message>
<message>
<source>Up</source>
- <translation type="unfinished">Вверх</translation>
+ <translation>Вверх</translation>
</message>
<message>
<source>Right</source>
- <translation type="unfinished">Вправо</translation>
+ <translation>Вправо</translation>
</message>
<message>
<source>Down</source>
- <translation type="unfinished">Вниз</translation>
+ <translation>Вниз</translation>
</message>
<message>
<source>PgUp</source>
- <translation type="unfinished">PgUp</translation>
+ <translation>PgUp</translation>
</message>
<message>
<source>PgDown</source>
- <translation type="unfinished">PgDown</translation>
+ <translation>PgDown</translation>
</message>
<message>
<source>CapsLock</source>
- <translation type="unfinished">CapsLock</translation>
+ <translation>CapsLock</translation>
</message>
<message>
<source>NumLock</source>
- <translation type="unfinished">NumLock</translation>
+ <translation>NumLock</translation>
</message>
<message>
<source>ScrollLock</source>
- <translation type="unfinished">ScrollLock</translation>
+ <translation>ScrollLock</translation>
</message>
<message>
<source>Menu</source>
@@ -5626,15 +5630,15 @@ Please choose a different file name.</source>
</message>
<message>
<source>Volume Down</source>
- <translation type="unfinished">Тише</translation>
+ <translation>Тише</translation>
</message>
<message>
<source>Volume Mute</source>
- <translation type="unfinished">Выключить звук</translation>
+ <translation>Выключить звук</translation>
</message>
<message>
<source>Volume Up</source>
- <translation type="unfinished">Громче</translation>
+ <translation>Громче</translation>
</message>
<message>
<source>Bass Boost</source>
@@ -5696,7 +5700,7 @@ Please choose a different file name.</source>
</message>
<message>
<source>Standby</source>
- <translation type="unfinished">Режим ожидания</translation>
+ <translation>Режим ожидания</translation>
</message>
<message>
<source>Open URL</source>
@@ -5776,31 +5780,31 @@ Please choose a different file name.</source>
</message>
<message>
<source>Monitor Brightness Up</source>
- <translation type="unfinished">Увеличить яркость монитора</translation>
+ <translation>Увеличить яркость монитора</translation>
</message>
<message>
<source>Monitor Brightness Down</source>
- <translation type="unfinished">Уменьшить яркость монитора</translation>
+ <translation>Уменьшить яркость монитора</translation>
</message>
<message>
<source>Keyboard Light On/Off</source>
- <translation type="unfinished">Вкл./Откл. подсветку клавиатуры</translation>
+ <translation>Вкл./Откл. подсветку клавиатуры</translation>
</message>
<message>
<source>Keyboard Brightness Up</source>
- <translation type="unfinished">Увеличить яркость подсветки клавиатуры</translation>
+ <translation>Увеличить яркость подсветки клавиатуры</translation>
</message>
<message>
<source>Keyboard Brightness Down</source>
- <translation type="unfinished">Уменьшить яркость подсветки клавиатуры</translation>
+ <translation>Уменьшить яркость подсветки клавиатуры</translation>
</message>
<message>
<source>Power Off</source>
- <translation type="unfinished">Отключение питания</translation>
+ <translation>Отключение питания</translation>
</message>
<message>
<source>Wake Up</source>
- <translation type="unfinished">Пробуждение</translation>
+ <translation>Пробуждение</translation>
</message>
<message>
<source>Eject</source>
@@ -5856,7 +5860,7 @@ Please choose a different file name.</source>
</message>
<message>
<source>Back Forward</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Назад/вперёд</translation>
</message>
<message>
<source>Application Left</source>
@@ -5900,7 +5904,7 @@ Please choose a different file name.</source>
</message>
<message>
<source>Display</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Отобразить</translation>
</message>
<message>
<source>DOS</source>
@@ -6355,7 +6359,7 @@ Please choose a different file name.</source>
<message>
<source>Hangup</source>
<extracomment>Button to end a call (note: a separate button is used to start the call)</extracomment>
- <translation type="unfinished">Положить трубку</translation>
+ <translation type="unfinished">Отбой</translation>
</message>
<message>
<source>Flip</source>
@@ -6363,23 +6367,23 @@ Please choose a different file name.</source>
</message>
<message>
<source>Ctrl</source>
- <translation></translation>
+ <translation>Ctrl</translation>
</message>
<message>
<source>Shift</source>
- <translation></translation>
+ <translation>Shift</translation>
</message>
<message>
<source>Alt</source>
- <translation></translation>
+ <translation>Alt</translation>
</message>
<message>
<source>Meta</source>
- <translation></translation>
+ <translation>Meta</translation>
</message>
<message>
<source>+</source>
- <translation></translation>
+ <translation>+</translation>
</message>
<message>
<source>F%1</source>
@@ -6475,8 +6479,8 @@ Please choose a different file name.</source>
<context>
<name>QSoftKeyManager</name>
<message>
- <source>Ok</source>
- <translation>ОК</translation>
+ <source>OK</source>
+ <translation>OK</translation>
</message>
<message>
<source>Select</source>
@@ -6720,6 +6724,72 @@ Please choose a different file name.</source>
</message>
</context>
<context>
+ <name>QSymSQLDriver</name>
+ <message>
+ <source>Invalid option: </source>
+ <translation>Неверный параметр: </translation>
+ </message>
+ <message>
+ <source>Error opening database</source>
+ <translation>Ошибка открытия базы данных</translation>
+ </message>
+ <message>
+ <source>POLICY_DB_DEFAULT must be defined before any other POLICY definitions can be used</source>
+ <translation>POLICY_DB_DEFAULT должна быть задана до начала использования других определений POLICY</translation>
+ </message>
+ <message>
+ <source>Unable to begin transaction</source>
+ <translation>Невозможно начать транзакцию</translation>
+ </message>
+ <message>
+ <source>Unable to commit transaction</source>
+ <translation>Невозможно завершить транзакцию</translation>
+ </message>
+ <message>
+ <source>Unable to rollback transaction</source>
+ <translation>Невозможно откатить транзакцию</translation>
+ </message>
+</context>
+<context>
+ <name>QSymSQLResult</name>
+ <message>
+ <source>Error retrieving column count</source>
+ <translation>Ошибка получения количества колонок</translation>
+ </message>
+ <message>
+ <source>Error retrieving column name</source>
+ <translation>Ошибка получения названия колонки</translation>
+ </message>
+ <message>
+ <source>Error retrieving column type</source>
+ <translation>Ошибка получения типа колонки</translation>
+ </message>
+ <message>
+ <source>Unable to fetch row</source>
+ <translation>Невозможно получить строку</translation>
+ </message>
+ <message>
+ <source>Unable to execute statement</source>
+ <translation>Невозможно выполнить выражение</translation>
+ </message>
+ <message>
+ <source>Statement is not prepared</source>
+ <translation>Выражение не подготовлено</translation>
+ </message>
+ <message>
+ <source>Unable to reset statement</source>
+ <translation>Невозможно сбросить выражение</translation>
+ </message>
+ <message>
+ <source>Unable to bind parameters</source>
+ <translation>Невозможно привязать параметр</translation>
+ </message>
+ <message>
+ <source>Parameter count mismatch</source>
+ <translation>Количество параметров не совпадает</translation>
+ </message>
+</context>
+<context>
<name>QSymbianSocketEngine</name>
<message>
<source>Unable to initialize non-blocking socket</source>
@@ -7046,6 +7116,10 @@ Please choose a different file name.</source>
<translation>Запрос отменён</translation>
</message>
<message>
+ <source>Request canceled</source>
+ <translation>Запрос отменён</translation>
+ </message>
+ <message>
<source>Request blocked</source>
<translation>Запрос блокирован</translation>
</message>
@@ -7409,12 +7483,12 @@ Please choose a different file name.</source>
<message>
<source>Toggle Controls</source>
<comment>Toggle Media Controls</comment>
- <translation type="unfinished">Вкл/выкл управление</translation>
+ <translation>Вкл/выкл управление</translation>
</message>
<message>
<source>Toggle Loop</source>
<comment>Toggle Media Loop Playback</comment>
- <translation type="unfinished">Вкл/выкл зацикленность</translation>
+ <translation>Вкл/выкл зацикленность</translation>
</message>
<message>
<source>Enter Fullscreen</source>
@@ -8289,13 +8363,6 @@ Please choose a different file name.</source>
</message>
</context>
<context>
- <name>QmlJSDebugger::ToolBox</name>
- <message>
- <source>Qt Quick Toolbox</source>
- <translation>Инструментарий Qt Quick</translation>
- </message>
-</context>
-<context>
<name>QmlJSDebugger::ZoomTool</name>
<message>
<source>Zoom to &amp;100%</source>
@@ -8729,6 +8796,10 @@ Please choose a different file name.</source>
<translation>Функция стилей должна иметь имя с префиксом.</translation>
</message>
<message>
+ <source>The namespace for a user defined function cannot be empty (try the predefined prefix %1, which exists for cases like this)</source>
+ <translation>Пространство имён для функции пользователя не может быть пустым (попробуйте предопределённый префикс %1, созданный для подобных случаев)</translation>
+ </message>
+ <message>
<source>The namespace %1 is reserved; therefore user defined functions may not use it. Try the predefined prefix %2, which exists for these cases.</source>
<translation>Пространтсво имён %1 зарезервировано, поэтому пользовательские функции не могут его использовать. Попробуйте предопределённый префикс %2, который существует для подобных ситуаций.</translation>
</message>
@@ -8885,10 +8956,6 @@ Please choose a different file name.</source>
<translation>Корневой узел второго аргумента функции %1 должен быть документом. %2 не является документом.</translation>
</message>
<message>
- <source>The namespace for a user defined function cannot be empty (try the predefined prefix %1 which exists for cases like this)</source>
- <translation>Пространство имён для пользовательских функций не может быть пустым (попробуйте предопределённый префикс %1, который существует для подобных ситуаций)</translation>
- </message>
- <message>
<source>A default namespace declaration must occur before function, variable, and option declarations.</source>
<translation>Объявление пространство имён по умолчанию должно быть до объявления функций, переменных и опций.</translation>
</message>
@@ -9449,7 +9516,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <source>Content model of complex type %1 contains %2 element so it cannot be derived by extension from a non-empty type.</source>
+ <source>Content model of complex type %1 contains %2 element, so it cannot be derived by extension from a non-empty type.</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -10037,10 +10104,6 @@ Please choose a different file name.</source>
<translation>Для обнуляемых элементов недопустимо ограничение фиксированным значением.</translation>
</message>
<message>
- <source>Element %1 cannot contain other elements, as it has a fixed content.</source>
- <translation type="unfinished">Элемент %1 не может содержать другие элементы, т.к. имеет статическое содержимое.</translation>
- </message>
- <message>
<source>Specified type %1 is not validly substitutable with element type %2.</source>
<translation>Указанный тип %1 не может быть корректно замещён элементом типа %2.</translation>
</message>
@@ -10073,6 +10136,10 @@ Please choose a different file name.</source>
<translation>Элемент %1 содержит недопустимое текстовое содержимое.</translation>
</message>
<message>
+ <source>Element %1 cannot contain other elements, as it has fixed content.</source>
+ <translation>Элемент %1 не может содержать другие элементы, так как у него фиксированное содержимое.</translation>
+ </message>
+ <message>
<source>Element %1 is missing required attribute %2.</source>
<translation>У элемента %1 отсутствует необходимый атрибут %2.</translation>
</message>
@@ -10110,11 +10177,11 @@ Please choose a different file name.</source>
</message>
<message>
<source>Key constraint %1 contains absent fields.</source>
- <translation type="unfinished">Ограничение на ключ %1 содержит недостающие поля.</translation>
+ <translation>Ограничение на ключ %1 содержит недостающие поля.</translation>
</message>
<message>
<source>Key constraint %1 contains references nillable element %2.</source>
- <translation type="unfinished"></translation>
+ <translation>Ограничение на ключ %1 содержит ссылки на обнуляемый элемент %2.</translation>
</message>
<message>
<source>No referenced value found for key reference %1.</source>
@@ -10134,7 +10201,7 @@ Please choose a different file name.</source>
</message>
<message>
<source>&apos;%1&apos; attribute contains invalid QName content: %2.</source>
- <translation type="unfinished">Атрибут `%1` имеет некорректное содержимое QName: %2.</translation>
+ <translation>Атрибут «%1» имеет некорректное содержимое QName: %2.</translation>
</message>
</context>
</TS>
diff --git a/translations/qt_uk.ts b/translations/qt_uk.ts
index c3cfec0..44f6d69 100644
--- a/translations/qt_uk.ts
+++ b/translations/qt_uk.ts
@@ -9,10 +9,21 @@
</message>
</context>
<context>
+ <name>Debugger::JSAgentWatchData</name>
+ <message>
+ <source>[Array of length %1]</source>
+ <translation>[Масив довжини %1]</translation>
+ </message>
+ <message>
+ <source>&lt;undefined&gt;</source>
+ <translation>&lt;не визначено&gt;</translation>
+ </message>
+</context>
+<context>
<name>FakeReply</name>
<message>
- <source>Fake error !</source>
- <translation>Несправжня помилка !</translation>
+ <source>Fake error!</source>
+ <translation>Несправжня помилка!</translation>
</message>
<message>
<source>Invalid URL</source>
@@ -397,7 +408,7 @@ have libgstreamer-plugins-base installed.</source>
</message>
<message>
<source>Reflections delay (ms)</source>
- <extracomment>ReflectionsDelay: Amount of delay between the arrival the direct path from the source and the arrival of the first reflection.</extracomment>
+ <extracomment>ReflectionsDelay: Amount of delay between the arrival of the direct path from the source and the arrival of the first reflection.</extracomment>
<translation>Затримка відбиття (мс)</translation>
</message>
<message>
@@ -412,7 +423,7 @@ have libgstreamer-plugins-base installed.</source>
</message>
<message>
<source>Reverb level (mB)</source>
- <extracomment>ReverbLevel Amplitude of reverberations. This value is corrected by the RoomLevel to give the final reverberation amplitude.</extracomment>
+ <extracomment>ReverbLevel: Amplitude of reverberations. This value is corrected by the RoomLevel to give the final reverberation amplitude.</extracomment>
<translation>Рівень луни (мБ)</translation>
</message>
<message>
@@ -470,7 +481,7 @@ have libgstreamer-plugins-base installed.</source>
<translation>Гучність: %1%</translation>
</message>
<message>
- <source>Use this slider to adjust the volume. The leftmost position is 0%, the rightmost is %1%</source>
+ <source>Use this slider to adjust the volume. The leftmost position is 0%. The rightmost is %1%</source>
<translation>Використовуйте цей повзунок для регулювання гучності. Крайня ліва позиція - 0%, крайня права - %1%</translation>
</message>
<message>
@@ -1062,6 +1073,14 @@ to
<context>
<name>QAccessibleButton</name>
<message>
+ <source>Uncheck</source>
+ <translation>Зняти відмітку</translation>
+ </message>
+ <message>
+ <source>Check</source>
+ <translation>Відмітити</translation>
+ </message>
+ <message>
<source>Press</source>
<translation>Натисніть</translation>
</message>
@@ -2450,6 +2469,10 @@ to
<source>Cannot create %1 for output</source>
<translation>Неможливо створити %1 для виводу</translation>
</message>
+ <message>
+ <source>No file engine available or engine does not support UnMapExtension</source>
+ <translation>Жодний файловий рушій не є доступним або підтримує UnMapExtension</translation>
+ </message>
</context>
<context>
<name>QFileDialog</name>
@@ -3411,6 +3434,18 @@ Do you want to delete it anyway?</source>
<source>Cannot resolve symbol &quot;%1&quot; in %2: %3</source>
<translation>Неможливо розв’язати символ &quot;%1&quot; в %2: %3</translation>
</message>
+ <message>
+ <source>&apos;%1&apos; is not an ELF object (%2)</source>
+ <translation>&apos;%1&apos; не є об&apos;єктом ELF (%2)</translation>
+ </message>
+ <message>
+ <source>&apos;%1&apos; is not an ELF object</source>
+ <translation>&apos;%1&apos; не є об&apos;єктом ELF</translation>
+ </message>
+ <message>
+ <source>&apos;%1&apos; is an invalid ELF object (%2)</source>
+ <translation>&apos;%1&apos; є неправильним об&apos;єктом ELF (%2)</translation>
+ </message>
</context>
<context>
<name>QLineEdit</name>
@@ -3508,6 +3543,10 @@ Do you want to delete it anyway?</source>
<source>%1: Unknown error %2</source>
<translation>%1: Невідома помилка %2</translation>
</message>
+ <message>
+ <source>%1: Access denied</source>
+ <translation>%1: Доступ заборонено</translation>
+ </message>
</context>
<context>
<name>QMYSQLDriver</name>
@@ -3682,6 +3721,10 @@ Do you want to delete it anyway?</source>
<source>Actions</source>
<translation>Дії</translation>
</message>
+ <message>
+ <source>Corner Toolbar</source>
+ <translation>Кутова панель</translation>
+ </message>
</context>
<context>
<name>QMessageBox</name>
@@ -3849,10 +3892,6 @@ Do you want to delete it anyway?</source>
<context>
<name>QNetworkAccessDataBackend</name>
<message>
- <source>Operation not supported on %1</source>
- <translation>Непідтримувана для %1 операція</translation>
- </message>
- <message>
<source>Invalid URI: %1</source>
<translation>Неправильний URI: %1</translation>
</message>
@@ -3947,6 +3986,10 @@ Do you want to delete it anyway?</source>
<translation>Помилка мережевої сесії.</translation>
</message>
<message>
+ <source>backend start error.</source>
+ <translation>помилка запуску драйвера.</translation>
+ </message>
+ <message>
<source>Temporary network failure.</source>
<translation>Тимчасовий збій мережі.</translation>
</message>
@@ -4139,6 +4182,10 @@ Do you want to delete it anyway?</source>
<source>invalid query: &quot;%1&quot;</source>
<translation>неправильний запит &quot;%1&quot;</translation>
</message>
+ <message>
+ <source>Host not found</source>
+ <translation>Вузол не знайдено</translation>
+ </message>
</context>
<context>
<name>QPPDOptionsModel</name>
@@ -5424,10 +5471,6 @@ Do you want to overwrite it?</source>
<translation>%1: невідома помилка %2</translation>
</message>
<message>
- <source>%1: key error</source>
- <translation>%1: помилка ключа</translation>
- </message>
- <message>
<source>%1: unable to make key</source>
<translation>%1: неможливо створити ключ</translation>
</message>
@@ -5452,6 +5495,10 @@ Do you want to overwrite it?</source>
<translation>%1: обмеження розміру встановлені системою</translation>
</message>
<message>
+ <source>%1: bad name</source>
+ <translation>%1: пагане ім&apos;я</translation>
+ </message>
+ <message>
<source>%1: not attached</source>
<translation>%1: не прикріплено</translation>
</message>
@@ -6430,8 +6477,8 @@ Do you want to overwrite it?</source>
<context>
<name>QSoftKeyManager</name>
<message>
- <source>Ok</source>
- <translation>Ok</translation>
+ <source>OK</source>
+ <translation>OK</translation>
</message>
<message>
<source>Select</source>
@@ -6675,6 +6722,187 @@ Do you want to overwrite it?</source>
</message>
</context>
<context>
+ <name>QSymSQLDriver</name>
+ <message>
+ <source>Invalid option: </source>
+ <translation>Неправильна опція: </translation>
+ </message>
+ <message>
+ <source>Error opening database</source>
+ <translation>Помилка відкриття бази даних</translation>
+ </message>
+ <message>
+ <source>POLICY_DB_DEFAULT must be defined before any other POLICY definitions can be used</source>
+ <translation>POLICY_DB_DEFAULT повинна бути визначена до того, як будь-які інші визначення POLICY можуть бути використані</translation>
+ </message>
+ <message>
+ <source>Unable to begin transaction</source>
+ <translation>Неможливо почати транзакцію</translation>
+ </message>
+ <message>
+ <source>Unable to commit transaction</source>
+ <translation>Неможливо завершити транзакцію</translation>
+ </message>
+ <message>
+ <source>Unable to rollback transaction</source>
+ <translation>Неможливо відкотити транзакцію</translation>
+ </message>
+</context>
+<context>
+ <name>QSymSQLResult</name>
+ <message>
+ <source>Error retrieving column count</source>
+ <translation>Помилка отримання кількості стовпців</translation>
+ </message>
+ <message>
+ <source>Error retrieving column name</source>
+ <translation>Помилка отримання назви стовпця</translation>
+ </message>
+ <message>
+ <source>Error retrieving column type</source>
+ <translation>Помилка отримання типу стовпця</translation>
+ </message>
+ <message>
+ <source>Unable to fetch row</source>
+ <translation>Неможливо отримати рядок</translation>
+ </message>
+ <message>
+ <source>Unable to execute statement</source>
+ <translation>Неможливо виконати вираз</translation>
+ </message>
+ <message>
+ <source>Statement is not prepared</source>
+ <translation>Вираз не підготовлено</translation>
+ </message>
+ <message>
+ <source>Unable to reset statement</source>
+ <translation>Неможливо скинути вираз</translation>
+ </message>
+ <message>
+ <source>Unable to bind parameters</source>
+ <translation>Неможливо прив&apos;язати параметри</translation>
+ </message>
+ <message>
+ <source>Parameter count mismatch</source>
+ <translation>Кількість параметрів не збігається</translation>
+ </message>
+</context>
+<context>
+ <name>QSymbianSocketEngine</name>
+ <message>
+ <source>Unable to initialize non-blocking socket</source>
+ <translation>Неможливо ініціалізувати неблокувальний сокет</translation>
+ </message>
+ <message>
+ <source>Unable to initialize broadcast socket</source>
+ <translation>Неможливо ініціалізувати широкомовний сокет</translation>
+ </message>
+ <message>
+ <source>Attempt to use IPv6 socket on a platform with no IPv6 support</source>
+ <translation>Спроба використати сокет IPv6 на платформі без підтримки IPv6</translation>
+ </message>
+ <message>
+ <source>The remote host closed the connection</source>
+ <translation>Віддалений вузол закрив з’єднання</translation>
+ </message>
+ <message>
+ <source>Network operation timed out</source>
+ <translation>Час на мережеву операцію вичерпано</translation>
+ </message>
+ <message>
+ <source>Out of resources</source>
+ <translation>Недостатньо ресурсів</translation>
+ </message>
+ <message>
+ <source>Unsupported socket operation</source>
+ <translation>Непідтримувана для сокета операція</translation>
+ </message>
+ <message>
+ <source>Protocol type not supported</source>
+ <translation>Тип протоколу не підтримується</translation>
+ </message>
+ <message>
+ <source>Invalid socket descriptor</source>
+ <translation>Неправильний дескриптор сокета</translation>
+ </message>
+ <message>
+ <source>Host unreachable</source>
+ <translation>Вузол недоступний</translation>
+ </message>
+ <message>
+ <source>Network unreachable</source>
+ <translation>Мережа недоступна</translation>
+ </message>
+ <message>
+ <source>Permission denied</source>
+ <translation>Доступ заборонено</translation>
+ </message>
+ <message>
+ <source>Connection timed out</source>
+ <translation>Час на з’єднання вичерпано</translation>
+ </message>
+ <message>
+ <source>Connection refused</source>
+ <translation>У з&apos;єднанні відмовлено</translation>
+ </message>
+ <message>
+ <source>The bound address is already in use</source>
+ <translation>Адреса вже використовується</translation>
+ </message>
+ <message>
+ <source>The address is not available</source>
+ <translation>Адреса не доступна</translation>
+ </message>
+ <message>
+ <source>The address is protected</source>
+ <translation>Адреса захищена</translation>
+ </message>
+ <message>
+ <source>Datagram was too large to send</source>
+ <translation>Датаграма завелика, щоб надіслати</translation>
+ </message>
+ <message>
+ <source>Unable to send a message</source>
+ <translation>Неможливо надіслати повідомлення</translation>
+ </message>
+ <message>
+ <source>Unable to receive a message</source>
+ <translation>Неможливо отримати повідомлення</translation>
+ </message>
+ <message>
+ <source>Unable to write</source>
+ <translation>Неможливо записати</translation>
+ </message>
+ <message>
+ <source>Network error</source>
+ <translation>Помилка мережі</translation>
+ </message>
+ <message>
+ <source>Another socket is already listening on the same port</source>
+ <translation>Інший сокет вже слухає цей самий порт</translation>
+ </message>
+ <message>
+ <source>Operation on non-socket</source>
+ <translation>Операція з не-сокетом</translation>
+ </message>
+ <message>
+ <source>The proxy type is invalid for this operation</source>
+ <translation>Неправильний тип проксі-серверу для цієї операції</translation>
+ </message>
+ <message>
+ <source>The address is invalid for this operation</source>
+ <translation>Неправильна адреса для цієї операції</translation>
+ </message>
+ <message>
+ <source>The specified network session is not opened</source>
+ <translation>Вказаний мережевий сеанс не відкрито</translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation>Невідома помилка</translation>
+ </message>
+</context>
+<context>
<name>QSystemSemaphore</name>
<message>
<source>%1: permission denied</source>
@@ -6693,6 +6921,10 @@ Do you want to overwrite it?</source>
<translation>%1: недостатньо ресурсів</translation>
</message>
<message>
+ <source>%1: name error</source>
+ <translation>%1: помилка імені</translation>
+ </message>
+ <message>
<source>%1: unknown error %2</source>
<translation>%1: невідома помилка %2</translation>
</message>
@@ -6782,11 +7014,21 @@ Do you want to overwrite it?</source>
<context>
<name>QUndoGroup</name>
<message>
+ <source>Undo %1</source>
+ <translation>Повернути %1</translation>
+ </message>
+ <message>
<source>Undo</source>
+ <comment>Default text for undo action</comment>
<translation>Повернути</translation>
</message>
<message>
+ <source>Redo %1</source>
+ <translation>Повторити %1</translation>
+ </message>
+ <message>
<source>Redo</source>
+ <comment>Default text for redo action</comment>
<translation>Повторити</translation>
</message>
</context>
@@ -6800,11 +7042,21 @@ Do you want to overwrite it?</source>
<context>
<name>QUndoStack</name>
<message>
+ <source>Undo %1</source>
+ <translation>Повернути %1</translation>
+ </message>
+ <message>
<source>Undo</source>
+ <comment>Default text for undo action</comment>
<translation>Повернути</translation>
</message>
<message>
+ <source>Redo %1</source>
+ <translation>Повторити %1</translation>
+ </message>
+ <message>
<source>Redo</source>
+ <comment>Default text for redo action</comment>
<translation>Повторити</translation>
</message>
</context>
@@ -6862,6 +7114,10 @@ Do you want to overwrite it?</source>
<translation>Запит скасовано</translation>
</message>
<message>
+ <source>Request canceled</source>
+ <translation>Запит скасовано</translation>
+ </message>
+ <message>
<source>Request blocked</source>
<translation>Запит блоковано</translation>
</message>
@@ -6881,6 +7137,10 @@ Do you want to overwrite it?</source>
<source>File does not exist</source>
<translation>Файл не існує</translation>
</message>
+ <message>
+ <source>Loading is handled by the media engine</source>
+ <translation>Звантаження оброблене рушієм мультимедіа</translation>
+ </message>
</context>
<context>
<name>QWebPage</name>
@@ -6888,10 +7148,6 @@ Do you want to overwrite it?</source>
<source>Redirection limit reached</source>
<translation>Ліміт перенаправлень вичерпано</translation>
</message>
- <message>
- <source>Bad HTTP request</source>
- <translation>Поганий запит HTTP</translation>
- </message>
<message numerus="yes">
<source>%n file(s)</source>
<comment>number of chosen file</comment>
@@ -6932,6 +7188,11 @@ Do you want to overwrite it?</source>
<translation>Файл не обрано</translation>
</message>
<message>
+ <source>Details</source>
+ <comment>text to display in &lt;details&gt; tag when it has no &lt;summary&gt; child</comment>
+ <translation>Деталі</translation>
+ </message>
+ <message>
<source>Open in New Window</source>
<comment>Open in New Window context menu item</comment>
<translation>Відкрити в новому вікні</translation>
@@ -6962,6 +7223,61 @@ Do you want to overwrite it?</source>
<translation>Копіювати зображення</translation>
</message>
<message>
+ <source>Copy Image Address</source>
+ <comment>Copy Image Address menu item</comment>
+ <translation>Скопіювати адресу зображення</translation>
+ </message>
+ <message>
+ <source>Open Video</source>
+ <comment>Open Video in New Window</comment>
+ <translation>Відкрити відео</translation>
+ </message>
+ <message>
+ <source>Open Audio</source>
+ <comment>Open Audio in New Window</comment>
+ <translation>Відкрити аудіо</translation>
+ </message>
+ <message>
+ <source>Copy Video</source>
+ <comment>Copy Video Link Location</comment>
+ <translation>Копіювати відео</translation>
+ </message>
+ <message>
+ <source>Copy Audio</source>
+ <comment>Copy Audio Link Location</comment>
+ <translation>Копіювати аудіо</translation>
+ </message>
+ <message>
+ <source>Toggle Controls</source>
+ <comment>Toggle Media Controls</comment>
+ <translation>Увімкнути/викнути управління</translation>
+ </message>
+ <message>
+ <source>Toggle Loop</source>
+ <comment>Toggle Media Loop Playback</comment>
+ <translation>Увімкнути/викнути програвання по колу</translation>
+ </message>
+ <message>
+ <source>Enter Fullscreen</source>
+ <comment>Switch Video to Fullscreen</comment>
+ <translation>На повний екран</translation>
+ </message>
+ <message>
+ <source>Play</source>
+ <comment>Play</comment>
+ <translation>Грати</translation>
+ </message>
+ <message>
+ <source>Pause</source>
+ <comment>Pause</comment>
+ <translation>Пауза</translation>
+ </message>
+ <message>
+ <source>Mute</source>
+ <comment>Mute</comment>
+ <translation>Без звуку</translation>
+ </message>
+ <message>
<source>Open Frame</source>
<comment>Open Frame in New Window context menu item</comment>
<translation>Відкрити фрейм</translation>
@@ -7002,6 +7318,11 @@ Do you want to overwrite it?</source>
<translation>Вставити</translation>
</message>
<message>
+ <source>Select All</source>
+ <comment>Select All context menu item</comment>
+ <translation>Виділити все</translation>
+ </message>
+ <message>
<source>No Guesses Found</source>
<comment>No Guesses Found context menu item</comment>
<translation>Підказок не знайдено</translation>
@@ -7467,10 +7788,6 @@ Do you want to overwrite it?</source>
<translation>Пересунути курсор в кінець документа</translation>
</message>
<message>
- <source>Select all</source>
- <translation>Виділити все</translation>
- </message>
- <message>
<source>Select to the next character</source>
<translation>Виділити до наступного символу</translation>
</message>
@@ -7969,6 +8286,94 @@ Do you want to overwrite it?</source>
</message>
</context>
<context>
+ <name>QmlJSDebugger::LiveSelectionTool</name>
+ <message>
+ <source>Items</source>
+ <translation>Елементи</translation>
+ </message>
+</context>
+<context>
+ <name>QmlJSDebugger::QmlToolBar</name>
+ <message>
+ <source>Inspector Mode</source>
+ <translation>Режим інспектора</translation>
+ </message>
+ <message>
+ <source>Play/Pause Animations</source>
+ <translation>Грати/зупинити анімації</translation>
+ </message>
+ <message>
+ <source>Select</source>
+ <translation>Обрати</translation>
+ </message>
+ <message>
+ <source>Select (Marquee)</source>
+ <translation>Обрати (Marquee)</translation>
+ </message>
+ <message>
+ <source>Zoom</source>
+ <translation>Масштабувати</translation>
+ </message>
+ <message>
+ <source>Color Picker</source>
+ <translation>Вибір кольору</translation>
+ </message>
+ <message>
+ <source>Apply Changes to QML Viewer</source>
+ <translation>Застосувати зміни до переглядача QML</translation>
+ </message>
+ <message>
+ <source>Apply Changes to Document</source>
+ <translation>Застосувати зміни до документа</translation>
+ </message>
+ <message>
+ <source>Tools</source>
+ <translation>Інструменти</translation>
+ </message>
+ <message>
+ <source>1x</source>
+ <translation></translation>
+ </message>
+ <message>
+ <source>0.5x</source>
+ <translation></translation>
+ </message>
+ <message>
+ <source>0.25x</source>
+ <translation></translation>
+ </message>
+ <message>
+ <source>0.125x</source>
+ <translation></translation>
+ </message>
+ <message>
+ <source>0.1x</source>
+ <translation></translation>
+ </message>
+</context>
+<context>
+ <name>QmlJSDebugger::ToolBarColorBox</name>
+ <message>
+ <source>Copy Color</source>
+ <translation>Копіювати колір</translation>
+ </message>
+</context>
+<context>
+ <name>QmlJSDebugger::ZoomTool</name>
+ <message>
+ <source>Zoom to &amp;100%</source>
+ <translation>Масштабувати до &amp;100%</translation>
+ </message>
+ <message>
+ <source>Zoom In</source>
+ <translation>Збільшити</translation>
+ </message>
+ <message>
+ <source>Zoom Out</source>
+ <translation>Зменшити</translation>
+ </message>
+</context>
+<context>
<name>QtXmlPatterns</name>
<message>
<source>%1 is an unsupported encoding.</source>
@@ -8431,7 +8836,7 @@ Do you want to overwrite it?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <source>The namespace for a user defined function cannot be empty (try the predefined prefix %1 which exists for cases like this)</source>
+ <source>The namespace for a user defined function cannot be empty (try the predefined prefix %1, which exists for cases like this)</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -9275,7 +9680,7 @@ Do you want to overwrite it?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <source>Content model of complex type %1 contains %2 element so it cannot be derived by extension from a non-empty type.</source>
+ <source>Content model of complex type %1 contains %2 element, so it cannot be derived by extension from a non-empty type.</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -9683,7 +10088,7 @@ Do you want to overwrite it?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <source>Element %1 cannot contain other elements, as it has a fixed content.</source>
+ <source>Element %1 cannot contain other elements, as it has fixed content.</source>
<translation type="unfinished"></translation>
</message>
<message>
diff --git a/translations/qtconfig_ko.ts b/translations/qtconfig_ko.ts
index 9708a22..fc139ed 100644
--- a/translations/qtconfig_ko.ts
+++ b/translations/qtconfig_ko.ts
@@ -36,6 +36,10 @@
<translation>On The Spot</translation>
</message>
<message>
+ <source>Unknown</source>
+ <translation>알 수 없음</translation>
+ </message>
+ <message>
<source>Auto (default)</source>
<translation>자동 (기본값)</translation>
</message>
@@ -92,6 +96,14 @@
<translation>변경 사항 저장하는 중...</translation>
</message>
<message>
+ <source>Saved changes.</source>
+ <translation>변경 사항을 저장하였습니다.</translation>
+ </message>
+ <message>
+ <source>&lt;h3&gt;%1&lt;/h3&gt;&lt;br/&gt;Version %2&lt;br/&gt;&lt;br/&gt;Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).</source>
+ <translation>&lt;h3&gt;%1&lt;/h3&gt;&lt;br/&gt;버전 %2&lt;br/&gt;&lt;br/&gt;저작권자 (C) 2011 Nokia Corporation and/or its subsidiary(-ies).</translation>
+ </message>
+ <message>
<source>Over The Spot</source>
<translation>Over The Spot</translation>
</message>
@@ -109,7 +121,7 @@
</message>
<message>
<source>&lt;h3&gt;%1&lt;/h3&gt;&lt;br/&gt;Version %2&lt;br/&gt;&lt;br/&gt;Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).</source>
- <translation>&lt;h3&gt;%1&lt;/h3&gt;&lt;br/&gt;버전 %2&lt;br/&gt;&lt;br/&gt;저작권자 (C) 2010 Nokia Corporation and/or its subsidiary(-ies).</translation>
+ <translation type="obsolete">&lt;h3&gt;%1&lt;/h3&gt;&lt;br/&gt;버전 %2&lt;br/&gt;&lt;br/&gt;저작권자 (C) 2010 Nokia Corporation and/or its subsidiary(-ies).</translation>
</message>
<message>
<source>Qt Configuration</source>
@@ -125,22 +137,15 @@
</message>
<message>
<source>&amp;Yes</source>
- <translation>예(&amp;Y)</translation>
+ <translation type="obsolete">예(&amp;Y)</translation>
</message>
<message>
<source>&amp;No</source>
- <translation>아니오(&amp;N)</translation>
+ <translation type="obsolete">아니오(&amp;N)</translation>
</message>
<message>
<source>&amp;Cancel</source>
- <translation>취소(&amp;C)</translation>
- </message>
-</context>
-<context>
- <name>MainWindowBase</name>
- <message>
- <source>Qt Configuration</source>
- <translation>Qt 설정</translation>
+ <translation type="obsolete">취소(&amp;C)</translation>
</message>
<message>
<source>Appearance</source>
@@ -179,8 +184,8 @@
<translation>팔레트 생성</translation>
</message>
<message>
- <source>&amp;3-D Effects:</source>
- <translation>3차원 효과(&amp;3):</translation>
+ <source>&amp;Button Background:</source>
+ <translation>단추 배경(&amp;B):</translation>
</message>
<message>
<source>Window Back&amp;ground:</source>
@@ -351,64 +356,407 @@
<translation>XIM 입력 방식:</translation>
</message>
<message>
+ <source>Default Input Method:</source>
+ <translation>기본 입력기:</translation>
+ </message>
+ <message>
+ <source>Printer</source>
+ <translation>프린터</translation>
+ </message>
+ <message>
+ <source>Enable Font embedding</source>
+ <translation>글꼴 임베딩 사용하기</translation>
+ </message>
+ <message>
+ <source>Font Paths</source>
+ <translation>글꼴 경로</translation>
+ </message>
+ <message>
+ <source>Browse...</source>
+ <translation>찾아보기...</translation>
+ </message>
+ <message>
+ <source>Press the &lt;b&gt;Browse&lt;/b&gt; button or enter a directory and press Enter to add them to the list.</source>
+ <translation>&lt;b&gt;찾아보기&lt;/b&gt; 단추를 누르거나 디렉터리를 입력하고 Enter 키를 눌러서 목록에 추가할 수 있습니다.</translation>
+ </message>
+ <message>
+ <source>Phonon</source>
+ <translation>Phonon</translation>
+ </message>
+ <message>
+ <source>About Phonon</source>
+ <translation>Phonon 정보</translation>
+ </message>
+ <message>
+ <source>Current Version:</source>
+ <translation>현재 버전:</translation>
+ </message>
+ <message>
+ <source>Not available</source>
+ <translation>사용할 수 없음</translation>
+ </message>
+ <message>
+ <source>Website:</source>
+ <translation>웹 사이트:</translation>
+ </message>
+ <message>
+ <source>&lt;a href=&quot;http://phonon.kde.org&quot;&gt;http://phonon.kde.org/&lt;/a&gt;</source>
+ <translation>&lt;a href=&quot;http://phonon.kde.org&quot;&gt;http://phonon.kde.org/&lt;/a&gt;</translation>
+ </message>
+ <message>
+ <source>About GStreamer</source>
+ <translation>GStreamer 정보</translation>
+ </message>
+ <message>
+ <source>&lt;a href=&quot;http://gstreamer.freedesktop.org/&quot;&gt;http://gstreamer.freedesktop.org/&lt;/a&gt;</source>
+ <translation>&lt;a href=&quot;http://gstreamer.freedesktop.org/&quot;&gt;http://gstreamer.freedesktop.org/&lt;/a&gt;</translation>
+ </message>
+ <message>
+ <source>GStreamer backend settings</source>
+ <translation>GStreamer 백엔드 설정</translation>
+ </message>
+ <message>
+ <source>Preferred audio sink:</source>
+ <translation>선호하는 오디오 싱크:</translation>
+ </message>
+ <message>
+ <source>Preferred render method:</source>
+ <translation>선호하는 렌더링 방법:</translation>
+ </message>
+ <message>
+ <source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-style:italic;&quot;&gt;Note: changes to these settings may prevent applications from starting up correctly.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-style:italic;&quot;&gt;메모: 이 설정을 변경하면 프로그램이 시작되지 않을 수도 있습니다.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <source>&amp;File</source>
+ <translation>파일(&amp;F)</translation>
+ </message>
+ <message>
+ <source>&amp;Help</source>
+ <translation>도움말(&amp;H)</translation>
+ </message>
+ <message>
+ <source>&amp;Save</source>
+ <translation>저장(&amp;S)</translation>
+ </message>
+ <message>
+ <source>Save</source>
+ <translation>저장</translation>
+ </message>
+ <message>
+ <source>Ctrl+S</source>
+ <translation>Ctrl+S</translation>
+ </message>
+ <message>
+ <source>E&amp;xit</source>
+ <translation>끝내기(&amp;X)</translation>
+ </message>
+ <message>
+ <source>Exit</source>
+ <translation>끝내기</translation>
+ </message>
+ <message>
+ <source>Ctrl+Q</source>
+ <translation>Ctrl+Q</translation>
+ </message>
+ <message>
+ <source>&amp;About</source>
+ <translation>정보(&amp;A)</translation>
+ </message>
+ <message>
+ <source>About</source>
+ <translation>정보</translation>
+ </message>
+ <message>
+ <source>About &amp;Qt</source>
+ <translation>Qt 정보(&amp;Q)</translation>
+ </message>
+ <message>
+ <source>About Qt</source>
+ <translation>Qt 정보</translation>
+ </message>
+</context>
+<context>
+ <name>MainWindowBase</name>
+ <message>
+ <source>Qt Configuration</source>
+ <translation type="obsolete">Qt 설정</translation>
+ </message>
+ <message>
+ <source>Appearance</source>
+ <translation type="obsolete">모양</translation>
+ </message>
+ <message>
+ <source>GUI Style</source>
+ <translation type="obsolete">GUI 스타일</translation>
+ </message>
+ <message>
+ <source>Select GUI &amp;Style:</source>
+ <translation type="obsolete">GUI 스타일 선택(&amp;S):</translation>
+ </message>
+ <message>
+ <source>Preview</source>
+ <translation type="obsolete">미리 보기</translation>
+ </message>
+ <message>
+ <source>Select &amp;Palette:</source>
+ <translation type="obsolete">팔레트 선택(&amp;P):</translation>
+ </message>
+ <message>
+ <source>Active Palette</source>
+ <translation type="obsolete">활성 팔레트</translation>
+ </message>
+ <message>
+ <source>Inactive Palette</source>
+ <translation type="obsolete">비활성 팔레트</translation>
+ </message>
+ <message>
+ <source>Disabled Palette</source>
+ <translation type="obsolete">사용 불가 팔레트</translation>
+ </message>
+ <message>
+ <source>Build Palette</source>
+ <translation type="obsolete">팔레트 생성</translation>
+ </message>
+ <message>
+ <source>&amp;3-D Effects:</source>
+ <translation type="obsolete">3차원 효과(&amp;3):</translation>
+ </message>
+ <message>
+ <source>Window Back&amp;ground:</source>
+ <translation type="obsolete">창 배경(&amp;G):</translation>
+ </message>
+ <message>
+ <source>&amp;Tune Palette...</source>
+ <translation type="obsolete">팔레트 조정(&amp;T)...</translation>
+ </message>
+ <message>
+ <source>Please use the KDE Control Center to set the palette.</source>
+ <translation type="obsolete">KDE 제어판에서 팔레트를 조정하십시오.</translation>
+ </message>
+ <message>
+ <source>Fonts</source>
+ <translation type="obsolete">글꼴</translation>
+ </message>
+ <message>
+ <source>Default Font</source>
+ <translation type="obsolete">기본 글꼴</translation>
+ </message>
+ <message>
+ <source>&amp;Style:</source>
+ <translation type="obsolete">스타일(&amp;S):</translation>
+ </message>
+ <message>
+ <source>&amp;Point Size:</source>
+ <translation type="obsolete">포인트 크기(&amp;P):</translation>
+ </message>
+ <message>
+ <source>F&amp;amily:</source>
+ <translation type="obsolete">종류(&amp;A):</translation>
+ </message>
+ <message>
+ <source>Sample Text</source>
+ <translation type="obsolete">견본 텍스트</translation>
+ </message>
+ <message>
+ <source>Font Substitution</source>
+ <translation type="obsolete">글꼴 대체</translation>
+ </message>
+ <message>
+ <source>S&amp;elect or Enter a Family:</source>
+ <translation type="obsolete">글꼴을 선택하거나 입력하십시오(&amp;E):</translation>
+ </message>
+ <message>
+ <source>Current Substitutions:</source>
+ <translation type="obsolete">현재 대체 목록:</translation>
+ </message>
+ <message>
+ <source>Up</source>
+ <translation type="obsolete">위로</translation>
+ </message>
+ <message>
+ <source>Down</source>
+ <translation type="obsolete">아래로</translation>
+ </message>
+ <message>
+ <source>Remove</source>
+ <translation type="obsolete">삭제</translation>
+ </message>
+ <message>
+ <source>Select s&amp;ubstitute Family:</source>
+ <translation type="obsolete">대체할 글꼴을 선택하십시오(&amp;U):</translation>
+ </message>
+ <message>
+ <source>Add</source>
+ <translation type="obsolete">추가</translation>
+ </message>
+ <message>
+ <source>Interface</source>
+ <translation type="obsolete">인터페이스</translation>
+ </message>
+ <message>
+ <source>Feel Settings</source>
+ <translation type="obsolete">모양 설정</translation>
+ </message>
+ <message>
+ <source> ms</source>
+ <translation type="obsolete"> ms</translation>
+ </message>
+ <message>
+ <source>&amp;Double Click Interval:</source>
+ <translation type="obsolete">두 번 누름 간격(&amp;D):</translation>
+ </message>
+ <message>
+ <source>No blinking</source>
+ <translation type="obsolete">깜빡임 없음</translation>
+ </message>
+ <message>
+ <source>&amp;Cursor Flash Time:</source>
+ <translation type="obsolete">커서 깜빡임 시간(&amp;C):</translation>
+ </message>
+ <message>
+ <source> lines</source>
+ <translation type="obsolete"> 줄</translation>
+ </message>
+ <message>
+ <source>Wheel &amp;Scroll Lines:</source>
+ <translation type="obsolete">휠 스크롤 줄 수(&amp;S):</translation>
+ </message>
+ <message>
+ <source>Resolve symlinks in URLs</source>
+ <translation type="obsolete">URL의 심볼릭 링크 따라가기</translation>
+ </message>
+ <message>
+ <source>GUI Effects</source>
+ <translation type="obsolete">GUI 효과</translation>
+ </message>
+ <message>
+ <source>&amp;Enable</source>
+ <translation type="obsolete">활성화(&amp;E)</translation>
+ </message>
+ <message>
+ <source>Alt+E</source>
+ <translation type="obsolete">Alt+E</translation>
+ </message>
+ <message>
+ <source>&amp;Menu Effect:</source>
+ <translation type="obsolete">메뉴 효과(&amp;M):</translation>
+ </message>
+ <message>
+ <source>C&amp;omboBox Effect:</source>
+ <translation type="obsolete">콤보 상자 효과(&amp;O):</translation>
+ </message>
+ <message>
+ <source>&amp;ToolTip Effect:</source>
+ <translation type="obsolete">풍선 도움말 효과(&amp;T):</translation>
+ </message>
+ <message>
+ <source>Tool&amp;Box Effect:</source>
+ <translation type="obsolete">도구 상자 효과(&amp;B):</translation>
+ </message>
+ <message>
+ <source>Disable</source>
+ <translation type="obsolete">사용 안함</translation>
+ </message>
+ <message>
+ <source>Animate</source>
+ <translation type="obsolete">애니메이션</translation>
+ </message>
+ <message>
+ <source>Fade</source>
+ <translation type="obsolete">페이드</translation>
+ </message>
+ <message>
+ <source>Global Strut</source>
+ <translation type="obsolete">크기 제한</translation>
+ </message>
+ <message>
+ <source>Minimum &amp;Width:</source>
+ <translation type="obsolete">최소 폭(&amp;W):</translation>
+ </message>
+ <message>
+ <source>Minimum Hei&amp;ght:</source>
+ <translation type="obsolete">최소 높이(&amp;G):</translation>
+ </message>
+ <message>
+ <source> pixels</source>
+ <translation type="obsolete"> 픽셀</translation>
+ </message>
+ <message>
+ <source>Enhanced support for languages written right-to-left</source>
+ <translation type="obsolete">오른쪽에서 왼쪽으로 쓰는 언어 지원 향상</translation>
+ </message>
+ <message>
+ <source>XIM Input Style:</source>
+ <translation type="obsolete">XIM 입력 방식:</translation>
+ </message>
+ <message>
<source>On The Spot</source>
- <translation>On The Spot</translation>
+ <translation type="obsolete">On The Spot</translation>
</message>
<message>
<source>Over The Spot</source>
- <translation>Over The Spot</translation>
+ <translation type="obsolete">Over The Spot</translation>
</message>
<message>
<source>Off The Spot</source>
- <translation>Off The Spot</translation>
+ <translation type="obsolete">Off The Spot</translation>
</message>
<message>
<source>Root</source>
- <translation>루트</translation>
+ <translation type="obsolete">루트</translation>
</message>
<message>
<source>Default Input Method:</source>
- <translation>기본 입력기:</translation>
+ <translation type="obsolete">기본 입력기:</translation>
</message>
<message>
<source>Printer</source>
- <translation>프린터</translation>
+ <translation type="obsolete">프린터</translation>
</message>
<message>
<source>Enable Font embedding</source>
- <translation>글꼴 임베딩 사용하기</translation>
+ <translation type="obsolete">글꼴 임베딩 사용하기</translation>
</message>
<message>
<source>Font Paths</source>
- <translation>글꼴 경로</translation>
+ <translation type="obsolete">글꼴 경로</translation>
</message>
<message>
<source>Browse...</source>
- <translation>찾아보기...</translation>
+ <translation type="obsolete">찾아보기...</translation>
</message>
<message>
<source>Press the &lt;b&gt;Browse&lt;/b&gt; button or enter a directory and press Enter to add them to the list.</source>
- <translation>&lt;b&gt;찾아보기&lt;/b&gt; 단추를 누르거나 디렉터리를 입력하고 Enter 키를 눌러서 목록에 추가할 수 있습니다.</translation>
+ <translation type="obsolete">&lt;b&gt;찾아보기&lt;/b&gt; 단추를 누르거나 디렉터리를 입력하고 Enter 키를 눌러서 목록에 추가할 수 있습니다.</translation>
</message>
<message>
<source>Phonon</source>
- <translation>Phonon</translation>
+ <translation type="obsolete">Phonon</translation>
</message>
<message>
<source>About Phonon</source>
- <translation>Phonon 정보</translation>
+ <translation type="obsolete">Phonon 정보</translation>
</message>
<message>
<source>Current Version:</source>
- <translation>현재 버전:</translation>
+ <translation type="obsolete">현재 버전:</translation>
</message>
<message>
<source>Not available</source>
- <translation>사용할 수 없음</translation>
+ <translation type="obsolete">사용할 수 없음</translation>
</message>
<message>
<source>Website:</source>
- <translation>웹 사이트:</translation>
+ <translation type="obsolete">웹 사이트:</translation>
</message>
<message>
<source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
@@ -416,7 +764,7 @@
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;http://phonon.kde.org&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://phonon.kde.org&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+ <translation type="obsolete">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
@@ -424,7 +772,7 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<source>About GStreamer</source>
- <translation>GStreamer 정보</translation>
+ <translation type="obsolete">GStreamer 정보</translation>
</message>
<message>
<source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
@@ -432,7 +780,7 @@ p, li { white-space: pre-wrap; }
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;http://gstreamer.freedesktop.org/&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gstreamer.freedesktop.org/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+ <translation type="obsolete">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
@@ -440,15 +788,15 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<source>GStreamer backend settings</source>
- <translation>GStreamer 백엔드 설정</translation>
+ <translation type="obsolete">GStreamer 백엔드 설정</translation>
</message>
<message>
<source>Preferred audio sink:</source>
- <translation>선호하는 오디오 싱크:</translation>
+ <translation type="obsolete">선호하는 오디오 싱크:</translation>
</message>
<message>
<source>Preferred render method:</source>
- <translation>선호하는 렌더링 방법:</translation>
+ <translation type="obsolete">선호하는 렌더링 방법:</translation>
</message>
<message>
<source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
@@ -456,7 +804,7 @@ p, li { white-space: pre-wrap; }
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-style:italic;&quot;&gt;Note: changes to these settings may prevent applications from starting up correctly.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+ <translation type="obsolete">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
@@ -464,60 +812,56 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<source>&amp;File</source>
- <translation>파일(&amp;F)</translation>
+ <translation type="obsolete">파일(&amp;F)</translation>
</message>
<message>
<source>&amp;Help</source>
- <translation>도움말(&amp;H)</translation>
+ <translation type="obsolete">도움말(&amp;H)</translation>
</message>
<message>
<source>&amp;Save</source>
- <translation>저장(&amp;S)</translation>
+ <translation type="obsolete">저장(&amp;S)</translation>
</message>
<message>
<source>Save</source>
- <translation>저장</translation>
+ <translation type="obsolete">저장</translation>
</message>
<message>
<source>Ctrl+S</source>
- <translation>Ctrl+S</translation>
+ <translation type="obsolete">Ctrl+S</translation>
</message>
<message>
<source>E&amp;xit</source>
- <translation>끝내기(&amp;X)</translation>
+ <translation type="obsolete">끝내기(&amp;X)</translation>
</message>
<message>
<source>Exit</source>
- <translation>끝내기</translation>
+ <translation type="obsolete">끝내기</translation>
</message>
<message>
<source>&amp;About</source>
- <translation>정보(&amp;A)</translation>
+ <translation type="obsolete">정보(&amp;A)</translation>
</message>
<message>
<source>About</source>
- <translation>정보</translation>
+ <translation type="obsolete">정보</translation>
</message>
<message>
<source>About &amp;Qt</source>
- <translation>Qt 정보(&amp;Q)</translation>
+ <translation type="obsolete">Qt 정보(&amp;Q)</translation>
</message>
<message>
<source>About Qt</source>
- <translation>Qt 정보</translation>
+ <translation type="obsolete">Qt 정보</translation>
</message>
</context>
<context>
- <name>PaletteEditorAdvancedBase</name>
+ <name>PaletteEditorAdvanced</name>
<message>
<source>Tune Palette</source>
<translation>팔레트 조정</translation>
</message>
<message>
- <source>&lt;b&gt;Edit Palette&lt;/b&gt;&lt;p&gt;Change the palette of the current widget or form.&lt;/p&gt;&lt;p&gt;Use a generated palette or select colors for each color group and each color role.&lt;/p&gt;&lt;p&gt;The palette can be tested with different widget layouts in the preview section.&lt;/p&gt;</source>
- <translation>&lt;b&gt;팔레트 조정&lt;/b&gt;&lt;p&gt;현재 위젯이나 폼의 팔레트를 변경합니다.&lt;/p&gt;&lt;p&gt;생성된 팔레트를 사용하거나, 각각 색상 그룹과 역할의 색을 선택하십시오.&lt;/p&gt;&lt;p&gt;미리 보기 섹션의 여러 위젯 레이아웃으로 팔레트를 테스트할 수 있습니다.&lt;/p&gt;</translation>
- </message>
- <message>
<source>Select &amp;Palette:</source>
<translation>팔레트 선택(&amp;P):</translation>
</message>
@@ -566,26 +910,38 @@ p, li { white-space: pre-wrap; }
<translation>창 텍스트</translation>
</message>
<message>
- <source>Button</source>
- <translation>단추</translation>
- </message>
- <message>
<source>Base</source>
<translation>기본</translation>
</message>
<message>
+ <source>AlternateBase</source>
+ <translation>대체 텍스트</translation>
+ </message>
+ <message>
+ <source>ToolTipBase</source>
+ <translation>풍선 도움말 기본</translation>
+ </message>
+ <message>
+ <source>ToolTipText</source>
+ <translation>풍선 도움말 텍스트</translation>
+ </message>
+ <message>
<source>Text</source>
<translation>텍스트</translation>
</message>
<message>
- <source>BrightText</source>
- <translation>밝은 텍스트</translation>
+ <source>Button</source>
+ <translation>단추</translation>
</message>
<message>
<source>ButtonText</source>
<translation>단추 텍스트</translation>
</message>
<message>
+ <source>BrightText</source>
+ <translation>밝은 텍스트</translation>
+ </message>
+ <message>
<source>Highlight</source>
<translation>강조</translation>
</message>
@@ -594,26 +950,22 @@ p, li { white-space: pre-wrap; }
<translation>강조된 텍스트</translation>
</message>
<message>
- <source>&amp;Select Color:</source>
- <translation>색 선택(&amp;S):</translation>
+ <source>Link</source>
+ <translation>링크</translation>
</message>
<message>
- <source>Choose a color</source>
- <translation>색 선택</translation>
+ <source>LinkVisited</source>
+ <translation>방문한 링크</translation>
</message>
<message>
- <source>Choose a color for the selected central color role.</source>
- <translation>중심 색상 역할에 사용할 색상을 선택하십시오.</translation>
+ <source>&amp;Select Color:</source>
+ <translation>색 선택(&amp;S):</translation>
</message>
<message>
<source>3-D shadow &amp;effects</source>
<translation>3차원 그림자 효과(&amp;E)</translation>
</message>
<message>
- <source>Build &amp;from button color</source>
- <translation>단추 색상에서 생성(&amp;F)</translation>
- </message>
- <message>
<source>Generate shadings</source>
<translation>그림자 생성</translation>
</message>
@@ -622,6 +974,10 @@ p, li { white-space: pre-wrap; }
<translation>3차원 효과 색상을 단추 색상에서 생성하려면 누르십시오.</translation>
</message>
<message>
+ <source>Build &amp;from button color</source>
+ <translation>단추 색상에서 생성(&amp;F)</translation>
+ </message>
+ <message>
<source>Choose 3D-effect color role</source>
<translation>3차원 효과 색상 역할 선택</translation>
</message>
@@ -654,24 +1010,183 @@ p, li { white-space: pre-wrap; }
<translation>색 선택(&amp;L):</translation>
</message>
<message>
+ <source>Choose a color</source>
+ <translation>색 선택</translation>
+ </message>
+ <message>
+ <source>Choose a color for the selected central color role.</source>
+ <translation>중심 색상 역할에 사용할 색상을 선택하십시오.</translation>
+ </message>
+ <message>
<source>Choose a color for the selected effect color role.</source>
<translation>선택한 효과 색상 역할에 사용할 색을 선택하십시오.</translation>
</message>
+</context>
+<context>
+ <name>PaletteEditorAdvancedBase</name>
+ <message>
+ <source>Tune Palette</source>
+ <translation type="obsolete">팔레트 조정</translation>
+ </message>
+ <message>
+ <source>&lt;b&gt;Edit Palette&lt;/b&gt;&lt;p&gt;Change the palette of the current widget or form.&lt;/p&gt;&lt;p&gt;Use a generated palette or select colors for each color group and each color role.&lt;/p&gt;&lt;p&gt;The palette can be tested with different widget layouts in the preview section.&lt;/p&gt;</source>
+ <translation type="obsolete">&lt;b&gt;팔레트 조정&lt;/b&gt;&lt;p&gt;현재 위젯이나 폼의 팔레트를 변경합니다.&lt;/p&gt;&lt;p&gt;생성된 팔레트를 사용하거나, 각각 색상 그룹과 역할의 색을 선택하십시오.&lt;/p&gt;&lt;p&gt;미리 보기 섹션의 여러 위젯 레이아웃으로 팔레트를 테스트할 수 있습니다.&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>Select &amp;Palette:</source>
+ <translation type="obsolete">팔레트 선택(&amp;P):</translation>
+ </message>
+ <message>
+ <source>Active Palette</source>
+ <translation type="obsolete">활성 팔레트</translation>
+ </message>
+ <message>
+ <source>Inactive Palette</source>
+ <translation type="obsolete">비활성 팔레트</translation>
+ </message>
+ <message>
+ <source>Disabled Palette</source>
+ <translation type="obsolete">사용 불가 팔레트</translation>
+ </message>
+ <message>
+ <source>Auto</source>
+ <translation type="obsolete">자동</translation>
+ </message>
+ <message>
+ <source>Build inactive palette from active</source>
+ <translation type="obsolete">활성 팔레트에서 비활성 팔레트 생성</translation>
+ </message>
+ <message>
+ <source>Build disabled palette from active</source>
+ <translation type="obsolete">활성 팔레트에서 사용 불가 팔레트 생성</translation>
+ </message>
+ <message>
+ <source>Central color &amp;roles</source>
+ <translation type="obsolete">중심 색상 역할(&amp;R)</translation>
+ </message>
+ <message>
+ <source>Choose central color role</source>
+ <translation type="obsolete">중심 색상 역할 선택</translation>
+ </message>
+ <message>
+ <source>&lt;b&gt;Select a color role.&lt;/b&gt;&lt;p&gt;Available central roles are: &lt;ul&gt; &lt;li&gt;Window - general background color.&lt;/li&gt; &lt;li&gt;WindowText - general foreground color. &lt;/li&gt; &lt;li&gt;Base - used as background color for e.g. text entry widgets, usually white or another light color. &lt;/li&gt; &lt;li&gt;Text - the foreground color used with Base. Usually this is the same as WindowText, in what case it must provide good contrast both with Window and Base. &lt;/li&gt; &lt;li&gt;Button - general button background color, where buttons need a background different from Window, as in the Macintosh style. &lt;/li&gt; &lt;li&gt;ButtonText - a foreground color used with the Button color. &lt;/li&gt; &lt;li&gt;Highlight - a color to indicate a selected or highlighted item. &lt;/li&gt; &lt;li&gt;HighlightedText - a text color that contrasts to Highlight. &lt;/li&gt; &lt;li&gt;BrightText - a text color that is very different from WindowText and contrasts well with e.g. black. &lt;/li&gt; &lt;/ul&gt; &lt;/p&gt;</source>
+ <translation type="obsolete">&lt;b&gt;색상 역할을 선택하십시오.&lt;/b&gt;&lt;p&gt;사용 가능한 색상 역할 목록: &lt;ul&gt; &lt;li&gt;창 - 일반적인 배경색.&lt;/li&gt; &lt;li&gt;창 텍스트 - 일반적인 전경색. &lt;/li&gt; &lt;li&gt;기본 - 텍스트 입력 위젯과 같은 곳의 배경색. 일반적으로 흰색 또는 밝은 색입니다.&lt;/li&gt; &lt;li&gt;텍스트 - &apos;기본&apos;과 같이 사용되는 전경색입니다. 대개 창 텍스트와 같은 색을 사용합니다.&lt;/li&gt; &lt;li&gt;단추 - 일반적인 단추 배경색. 매킨토시 스타일과 같이 단추와 창의 배경색이 다른 곳에서 사용합니다.&lt;/li&gt; &lt;li&gt;단추 텍스트 - 단추 색과 같이 사용되는 전경색.&lt;/li&gt; &lt;li&gt;강조 - 선택하거나 강조된 항목을 나타내는 색.&lt;/li&gt; &lt;li&gt;강조 텍스트 - &apos;강조&apos;와 같이 사용되는 텍스트 색.&lt;/li&gt; &lt;li&gt;밝은 텍스트 - 창 텍스트와 대조되는 텍스트 색. 예를 들어 검정색입니다.&lt;/li&gt; &lt;/ul&gt; &lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>Window</source>
+ <translation type="obsolete">창</translation>
+ </message>
+ <message>
+ <source>WindowText</source>
+ <translation type="obsolete">창 텍스트</translation>
+ </message>
+ <message>
+ <source>Button</source>
+ <translation type="obsolete">단추</translation>
+ </message>
+ <message>
+ <source>Base</source>
+ <translation type="obsolete">기본</translation>
+ </message>
+ <message>
+ <source>Text</source>
+ <translation type="obsolete">텍스트</translation>
+ </message>
+ <message>
+ <source>BrightText</source>
+ <translation type="obsolete">밝은 텍스트</translation>
+ </message>
+ <message>
+ <source>ButtonText</source>
+ <translation type="obsolete">단추 텍스트</translation>
+ </message>
+ <message>
+ <source>Highlight</source>
+ <translation type="obsolete">강조</translation>
+ </message>
+ <message>
+ <source>HighlightedText</source>
+ <translation type="obsolete">강조된 텍스트</translation>
+ </message>
+ <message>
+ <source>&amp;Select Color:</source>
+ <translation type="obsolete">색 선택(&amp;S):</translation>
+ </message>
+ <message>
+ <source>Choose a color</source>
+ <translation type="obsolete">색 선택</translation>
+ </message>
+ <message>
+ <source>Choose a color for the selected central color role.</source>
+ <translation type="obsolete">중심 색상 역할에 사용할 색상을 선택하십시오.</translation>
+ </message>
+ <message>
+ <source>3-D shadow &amp;effects</source>
+ <translation type="obsolete">3차원 그림자 효과(&amp;E)</translation>
+ </message>
+ <message>
+ <source>Build &amp;from button color</source>
+ <translation type="obsolete">단추 색상에서 생성(&amp;F)</translation>
+ </message>
+ <message>
+ <source>Generate shadings</source>
+ <translation type="obsolete">그림자 생성</translation>
+ </message>
+ <message>
+ <source>Check to let 3D-effect colors be calculated from button-color.</source>
+ <translation type="obsolete">3차원 효과 색상을 단추 색상에서 생성하려면 누르십시오.</translation>
+ </message>
+ <message>
+ <source>Choose 3D-effect color role</source>
+ <translation type="obsolete">3차원 효과 색상 역할 선택</translation>
+ </message>
+ <message>
+ <source>&lt;b&gt;Select a color role.&lt;/b&gt;&lt;p&gt;Available effect roles are: &lt;ul&gt; &lt;li&gt;Light - lighter than Button color. &lt;/li&gt; &lt;li&gt;Midlight - between Button and Light. &lt;/li&gt; &lt;li&gt;Mid - between Button and Dark. &lt;/li&gt; &lt;li&gt;Dark - darker than Button. &lt;/li&gt; &lt;li&gt;Shadow - a very dark color. &lt;/li&gt; &lt;/ul&gt;</source>
+ <translation type="obsolete">&lt;b&gt;색상 역할을 선택하십시오.&lt;/b&gt;&lt;p&gt;사용 가능한 색상 역할 목록: &lt;ul&gt; &lt;li&gt;밝음 - 단추 색보다 밝음. &lt;/li&gt; &lt;li&gt;약간 밝음 - &apos;밝음&apos;과 &apos;단추 색&apos;의 중간.&lt;/li&gt; &lt;li&gt;중간 - &apos;단추 색&apos;과 &apos;어두움&apos;의 중간.&lt;/li&gt; &lt;li&gt;어두움 - 단추 색보다 어두움.&lt;/li&gt; &lt;li&gt;그림자 - 매우 어두운 색.&lt;/li&gt; &lt;/ul&gt;</translation>
+ </message>
+ <message>
+ <source>Light</source>
+ <translation type="obsolete">밝음</translation>
+ </message>
+ <message>
+ <source>Midlight</source>
+ <translation type="obsolete">약간 밝음</translation>
+ </message>
+ <message>
+ <source>Mid</source>
+ <translation type="obsolete">중간</translation>
+ </message>
+ <message>
+ <source>Dark</source>
+ <translation type="obsolete">어두움</translation>
+ </message>
+ <message>
+ <source>Shadow</source>
+ <translation type="obsolete">그림자</translation>
+ </message>
+ <message>
+ <source>Select Co&amp;lor:</source>
+ <translation type="obsolete">색 선택(&amp;L):</translation>
+ </message>
+ <message>
+ <source>Choose a color for the selected effect color role.</source>
+ <translation type="obsolete">선택한 효과 색상 역할에 사용할 색을 선택하십시오.</translation>
+ </message>
<message>
<source>OK</source>
- <translation>확인</translation>
+ <translation type="obsolete">확인</translation>
</message>
<message>
<source>Close dialog and apply all changes.</source>
- <translation>대화 상자를 닫고 변경 사항을 적용합니다.</translation>
+ <translation type="obsolete">대화 상자를 닫고 변경 사항을 적용합니다.</translation>
</message>
<message>
<source>Cancel</source>
- <translation>취소</translation>
+ <translation type="obsolete">취소</translation>
</message>
<message>
<source>Close dialog and discard all changes.</source>
- <translation>대화 상자를 닫고 변경 사항을 적용하지 않습니다.</translation>
+ <translation type="obsolete">대화 상자를 닫고 변경 사항을 적용하지 않습니다.</translation>
</message>
</context>
<context>
@@ -682,14 +1197,14 @@ p, li { white-space: pre-wrap; }
</message>
</context>
<context>
- <name>PreviewWidgetBase</name>
+ <name>PreviewWidget</name>
<message>
<source>Preview Window</source>
<translation>미리 보기 창</translation>
</message>
<message>
- <source>ButtonGroup</source>
- <translation>단추 그룹</translation>
+ <source>GroupBox</source>
+ <translation>그룹 상자</translation>
</message>
<message>
<source>RadioButton1</source>
@@ -704,8 +1219,8 @@ p, li { white-space: pre-wrap; }
<translation>라디오 단추 3</translation>
</message>
<message>
- <source>ButtonGroup2</source>
- <translation>단추 그룹 2</translation>
+ <source>GroupBox2</source>
+ <translation>그룹 상자 2</translation>
</message>
<message>
<source>CheckBox1</source>
@@ -728,13 +1243,66 @@ p, li { white-space: pre-wrap; }
<translation>누름 단추</translation>
</message>
<message>
+ <source>&lt;p&gt;&lt;a href=&quot;http://qt.nokia.com&quot;&gt;http://qt.nokia.com&lt;/a&gt;&lt;/p&gt;
+&lt;p&gt;&lt;a href=&quot;http://www.kde.org&quot;&gt;http://www.kde.org&lt;/a&gt;&lt;/p&gt;</source>
+ <translation>&lt;p&gt;&lt;a href=&quot;http://qt.nokia.com&quot;&gt;http://qt.nokia.com&lt;/a&gt;&lt;/p&gt;
+&lt;p&gt;&lt;a href=&quot;http://www.kde.org&quot;&gt;http://www.kde.org&lt;/a&gt;&lt;/p&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>PreviewWidgetBase</name>
+ <message>
+ <source>Preview Window</source>
+ <translation type="obsolete">미리 보기 창</translation>
+ </message>
+ <message>
+ <source>ButtonGroup</source>
+ <translation type="obsolete">단추 그룹</translation>
+ </message>
+ <message>
+ <source>RadioButton1</source>
+ <translation type="obsolete">라디오 단추 1</translation>
+ </message>
+ <message>
+ <source>RadioButton2</source>
+ <translation type="obsolete">라디오 단추 2</translation>
+ </message>
+ <message>
+ <source>RadioButton3</source>
+ <translation type="obsolete">라디오 단추 3</translation>
+ </message>
+ <message>
+ <source>ButtonGroup2</source>
+ <translation type="obsolete">단추 그룹 2</translation>
+ </message>
+ <message>
+ <source>CheckBox1</source>
+ <translation type="obsolete">체크 상자 1</translation>
+ </message>
+ <message>
+ <source>CheckBox2</source>
+ <translation type="obsolete">체크 상자 2</translation>
+ </message>
+ <message>
+ <source>LineEdit</source>
+ <translation type="obsolete">라인 편집기</translation>
+ </message>
+ <message>
+ <source>ComboBox</source>
+ <translation type="obsolete">콤보 상자</translation>
+ </message>
+ <message>
+ <source>PushButton</source>
+ <translation type="obsolete">누름 단추</translation>
+ </message>
+ <message>
<source>&lt;p&gt;
&lt;a href=&quot;http://qt.nokia.com&quot;&gt;http://qt.nokia.com&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href=&quot;http://www.kde.org&quot;&gt;http://www.kde.org&lt;/a&gt;
&lt;/p&gt;</source>
- <translation>&lt;p&gt;
+ <translation type="obsolete">&lt;p&gt;
&lt;a href=&quot;http://qt.nokia.com&quot;&gt;http://qt.nokia.com&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
diff --git a/translations/qtconfig_pl.ts b/translations/qtconfig_pl.ts
index b2a0c52..dda344f 100644
--- a/translations/qtconfig_pl.ts
+++ b/translations/qtconfig_pl.ts
@@ -52,6 +52,10 @@
<translation>Użyj prostego oprogramowania renderującego</translation>
</message>
<message>
+ <source>Saved changes.</source>
+ <translation>Zachowano zmiany.</translation>
+ </message>
+ <message>
<source>Over The Spot</source>
<translation>Nad oknem dokumentu (Over-The-Spot)</translation>
</message>
@@ -85,15 +89,15 @@
</message>
<message>
<source>&amp;Yes</source>
- <translation>&amp;Tak</translation>
+ <translation type="obsolete">&amp;Tak</translation>
</message>
<message>
<source>&amp;No</source>
- <translation>&amp;Nie</translation>
+ <translation type="obsolete">&amp;Nie</translation>
</message>
<message>
<source>&amp;Cancel</source>
- <translation>&amp;Anuluj</translation>
+ <translation type="obsolete">&amp;Anuluj</translation>
</message>
<message>
<source>No changes to be saved.</source>
@@ -128,6 +132,10 @@
<translation>Wybierz styl i paletę na podstawie ustawień Twojego pulpitu.</translation>
</message>
<message>
+ <source>Unknown</source>
+ <translation>Nieznany</translation>
+ </message>
+ <message>
<source>Use OpenGL if available</source>
<translation>Użyj OpenGL jeśli jest dostępny</translation>
</message>
@@ -135,13 +143,6 @@
<source>Saving changes...</source>
<translation>Zapisywanie zmian...</translation>
</message>
-</context>
-<context>
- <name>MainWindowBase</name>
- <message>
- <source>Qt Configuration</source>
- <translation>Konfiguracja Qt</translation>
- </message>
<message>
<source>Appearance</source>
<translation>Wygląd</translation>
@@ -155,44 +156,44 @@
<translation>Wybierz &amp;styl GUI:</translation>
</message>
<message>
- <source>Build Palette</source>
- <translation>Wersje palety</translation>
+ <source>Preview</source>
+ <translation>Podgląd</translation>
</message>
<message>
- <source>&amp;3-D Effects:</source>
- <translation>&amp;Efekty 3-D:</translation>
+ <source>Select &amp;Palette:</source>
+ <translation>Wybierz &amp;paletę:</translation>
</message>
<message>
- <source>Window Back&amp;ground:</source>
- <translation>&amp;Tło okna:</translation>
+ <source>Active Palette</source>
+ <translation>Paleta &quot;aktywna&quot;</translation>
</message>
<message>
- <source>&amp;Tune Palette...</source>
- <translation>&amp;Ustaw paletę...</translation>
+ <source>Inactive Palette</source>
+ <translation>Paleta &quot;nieaktywna&quot;</translation>
</message>
<message>
- <source>Please use the KDE Control Center to set the palette.</source>
- <translation>Użyj Centrum Kontroli KDE aby zmienić paletę.</translation>
+ <source>Disabled Palette</source>
+ <translation>Paleta &quot;zablokowana&quot;</translation>
</message>
<message>
- <source>Preview</source>
- <translation>Podgląd</translation>
+ <source>Build Palette</source>
+ <translation>Wersje palety</translation>
</message>
<message>
- <source>Select &amp;Palette:</source>
- <translation>Wybierz &amp;paletę:</translation>
+ <source>&amp;Button Background:</source>
+ <translation>Tło &amp;przycisku:</translation>
</message>
<message>
- <source>Active Palette</source>
- <translation>Aktywna paleta</translation>
+ <source>Window Back&amp;ground:</source>
+ <translation>Tło &amp;okna:</translation>
</message>
<message>
- <source>Inactive Palette</source>
- <translation>Nieaktywna paleta</translation>
+ <source>&amp;Tune Palette...</source>
+ <translation>&amp;Modyfikuj paletę...</translation>
</message>
<message>
- <source>Disabled Palette</source>
- <translation>Paleta &quot;zablokowane&quot;</translation>
+ <source>Please use the KDE Control Center to set the palette.</source>
+ <translation>Użyj Centrum Kontroli KDE aby zmienić paletę.</translation>
</message>
<message>
<source>Fonts</source>
@@ -220,7 +221,7 @@
</message>
<message>
<source>Font Substitution</source>
- <translation>Zamiana czcionki</translation>
+ <translation>Czcionki zastępcze</translation>
</message>
<message>
<source>S&amp;elect or Enter a Family:</source>
@@ -228,7 +229,7 @@
</message>
<message>
<source>Current Substitutions:</source>
- <translation>Bieżące zamiany:</translation>
+ <translation>Bieżące zastępstwa:</translation>
</message>
<message>
<source>Up</source>
@@ -244,7 +245,7 @@
</message>
<message>
<source>Select s&amp;ubstitute Family:</source>
- <translation>Wybierz &amp;nazwę czcionki do zamiany na:</translation>
+ <translation>Wybierz &amp;nazwę czcionki zastępczej:</translation>
</message>
<message>
<source>Add</source>
@@ -264,7 +265,7 @@
</message>
<message>
<source>&amp;Double Click Interval:</source>
- <translation>&amp;Odstęp pomiędzy dwukrotnym kliknięciem:</translation>
+ <translation>Odstęp pomiędzy &amp;dwukrotnym kliknięciem:</translation>
</message>
<message>
<source>No blinking</source>
@@ -272,15 +273,15 @@
</message>
<message>
<source>&amp;Cursor Flash Time:</source>
- <translation>&amp;Czas zmiany kursora:</translation>
+ <translation>Okres &amp;migotania kursora:</translation>
</message>
<message>
<source> lines</source>
- <translation> linie</translation>
+ <translation> </translation>
</message>
<message>
<source>Wheel &amp;Scroll Lines:</source>
- <translation>Obrócenie kółkiem powoduje &amp;przesunięcie o tyle linii:</translation>
+ <translation>Ilość &amp;przewiniętych linii po obrocie kółkiem:</translation>
</message>
<message>
<source>Resolve symlinks in URLs</source>
@@ -308,7 +309,7 @@
</message>
<message>
<source>&amp;ToolTip Effect:</source>
- <translation>Efekt &amp;chmurki:</translation>
+ <translation>Efekty &amp;podpowiedzi:</translation>
</message>
<message>
<source>Tool&amp;Box Effect:</source>
@@ -316,15 +317,15 @@
</message>
<message>
<source>Disable</source>
- <translation>Wyłącz</translation>
+ <translation>Wyłączone</translation>
</message>
<message>
<source>Animate</source>
- <translation>Animacja</translation>
+ <translation>Animowane</translation>
</message>
<message>
<source>Fade</source>
- <translation>Wyłanianie</translation>
+ <translation>Blaknące</translation>
</message>
<message>
<source>Global Strut</source>
@@ -348,67 +349,410 @@
</message>
<message>
<source>XIM Input Style:</source>
- <translation>Rodzaje wprowadzania znaków (XIM):</translation>
+ <translation>Style wprowadzania znaków (XIM):</translation>
+ </message>
+ <message>
+ <source>Default Input Method:</source>
+ <translation>Domyślna metoda wprowadzania:</translation>
+ </message>
+ <message>
+ <source>Printer</source>
+ <translation>Drukarka</translation>
+ </message>
+ <message>
+ <source>Enable Font embedding</source>
+ <translation>Włącz osadzanie czcionek</translation>
+ </message>
+ <message>
+ <source>Font Paths</source>
+ <translation>Ścieżki do czcionek</translation>
+ </message>
+ <message>
+ <source>Browse...</source>
+ <translation>Przeglądaj...</translation>
+ </message>
+ <message>
+ <source>Press the &lt;b&gt;Browse&lt;/b&gt; button or enter a directory and press Enter to add them to the list.</source>
+ <translation>Naciśnij przycisk &lt;b&gt;Przeglądaj&lt;/b&gt; lub wpisz nazwę katalogu i naciśnij Enter aby dodać do listy.</translation>
+ </message>
+ <message>
+ <source>Phonon</source>
+ <translation>Phonon</translation>
+ </message>
+ <message>
+ <source>About Phonon</source>
+ <translation>Informacje o Phonon</translation>
+ </message>
+ <message>
+ <source>Current Version:</source>
+ <translation>Bieżąca wersja:</translation>
+ </message>
+ <message>
+ <source>Not available</source>
+ <translation>Nie dostępna</translation>
+ </message>
+ <message>
+ <source>Website:</source>
+ <translation>Witryna:</translation>
+ </message>
+ <message>
+ <source>&lt;a href=&quot;http://phonon.kde.org&quot;&gt;http://phonon.kde.org/&lt;/a&gt;</source>
+ <translation>&lt;a href=&quot;http://phonon.kde.org&quot;&gt;http://phonon.kde.org/&lt;/a&gt;</translation>
+ </message>
+ <message>
+ <source>About GStreamer</source>
+ <translation>Informacje o GStreamer</translation>
+ </message>
+ <message>
+ <source>&lt;a href=&quot;http://gstreamer.freedesktop.org/&quot;&gt;http://gstreamer.freedesktop.org/&lt;/a&gt;</source>
+ <translation>&lt;a href=&quot;http://gstreamer.freedesktop.org/&quot;&gt;http://gstreamer.freedesktop.org/&lt;/a&gt;</translation>
+ </message>
+ <message>
+ <source>GStreamer backend settings</source>
+ <translation>Ustawienia końcówki GStreamer</translation>
+ </message>
+ <message>
+ <source>Preferred audio sink:</source>
+ <translation>Preferowane ujście dźwiękowe:</translation>
+ </message>
+ <message>
+ <source>Preferred render method:</source>
+ <translation>Preferowana metoda renderowania:</translation>
+ </message>
+ <message>
+ <source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-style:italic;&quot;&gt;Note: changes to these settings may prevent applications from starting up correctly.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-style:italic;&quot;&gt;Zwróć uwagę, że zmiany tych ustawień mogą spowodować nieprawidłowe działanie aplikacji&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <source>&amp;File</source>
+ <translation>&amp;Plik</translation>
+ </message>
+ <message>
+ <source>&amp;Help</source>
+ <translation>&amp;Pomoc</translation>
+ </message>
+ <message>
+ <source>&amp;Save</source>
+ <translation>&amp;Zachowaj</translation>
+ </message>
+ <message>
+ <source>Save</source>
+ <translation>Zachowaj</translation>
+ </message>
+ <message>
+ <source>Ctrl+S</source>
+ <translation>Ctrl+S</translation>
+ </message>
+ <message>
+ <source>E&amp;xit</source>
+ <translation>Za&amp;kończ</translation>
+ </message>
+ <message>
+ <source>Exit</source>
+ <translation>Zakończ</translation>
+ </message>
+ <message>
+ <source>Ctrl+Q</source>
+ <translation>Ctrl+Q</translation>
+ </message>
+ <message>
+ <source>&amp;About</source>
+ <translation>&amp;Informacje o</translation>
+ </message>
+ <message>
+ <source>About</source>
+ <translation>Informacje o</translation>
+ </message>
+ <message>
+ <source>About &amp;Qt</source>
+ <translation>Informacje o &amp;Qt</translation>
+ </message>
+ <message>
+ <source>About Qt</source>
+ <translation>Informacje o Qt</translation>
+ </message>
+</context>
+<context>
+ <name>MainWindowBase</name>
+ <message>
+ <source>Qt Configuration</source>
+ <translation type="obsolete">Konfiguracja Qt</translation>
+ </message>
+ <message>
+ <source>Appearance</source>
+ <translation type="obsolete">Wygląd</translation>
+ </message>
+ <message>
+ <source>GUI Style</source>
+ <translation type="obsolete">Styl GUI</translation>
+ </message>
+ <message>
+ <source>Select GUI &amp;Style:</source>
+ <translation type="obsolete">Wybierz &amp;styl GUI:</translation>
+ </message>
+ <message>
+ <source>Build Palette</source>
+ <translation type="obsolete">Wersje palety</translation>
+ </message>
+ <message>
+ <source>&amp;3-D Effects:</source>
+ <translation type="obsolete">&amp;Efekty 3-D:</translation>
+ </message>
+ <message>
+ <source>Window Back&amp;ground:</source>
+ <translation type="obsolete">&amp;Tło okna:</translation>
+ </message>
+ <message>
+ <source>&amp;Tune Palette...</source>
+ <translation type="obsolete">&amp;Ustaw paletę...</translation>
+ </message>
+ <message>
+ <source>Please use the KDE Control Center to set the palette.</source>
+ <translation type="obsolete">Użyj Centrum Kontroli KDE aby zmienić paletę.</translation>
+ </message>
+ <message>
+ <source>Preview</source>
+ <translation type="obsolete">Podgląd</translation>
+ </message>
+ <message>
+ <source>Select &amp;Palette:</source>
+ <translation type="obsolete">Wybierz &amp;paletę:</translation>
+ </message>
+ <message>
+ <source>Active Palette</source>
+ <translation type="obsolete">Aktywna paleta</translation>
+ </message>
+ <message>
+ <source>Inactive Palette</source>
+ <translation type="obsolete">Nieaktywna paleta</translation>
+ </message>
+ <message>
+ <source>Disabled Palette</source>
+ <translation type="obsolete">Paleta &quot;zablokowane&quot;</translation>
+ </message>
+ <message>
+ <source>Fonts</source>
+ <translation type="obsolete">Czcionki</translation>
+ </message>
+ <message>
+ <source>Default Font</source>
+ <translation type="obsolete">Domyślna czcionka</translation>
+ </message>
+ <message>
+ <source>&amp;Style:</source>
+ <translation type="obsolete">&amp;Styl:</translation>
+ </message>
+ <message>
+ <source>&amp;Point Size:</source>
+ <translation type="obsolete">&amp;Rozmiar czcionki:</translation>
+ </message>
+ <message>
+ <source>F&amp;amily:</source>
+ <translation type="obsolete">&amp;Nazwa czcionki:</translation>
+ </message>
+ <message>
+ <source>Sample Text</source>
+ <translation type="obsolete">Przykładowy tekst</translation>
+ </message>
+ <message>
+ <source>Font Substitution</source>
+ <translation type="obsolete">Zamiana czcionki</translation>
+ </message>
+ <message>
+ <source>S&amp;elect or Enter a Family:</source>
+ <translation type="obsolete">&amp;Wybierz lub wpisz nazwę czcionki:</translation>
+ </message>
+ <message>
+ <source>Current Substitutions:</source>
+ <translation type="obsolete">Bieżące zamiany:</translation>
+ </message>
+ <message>
+ <source>Up</source>
+ <translation type="obsolete">W górę</translation>
+ </message>
+ <message>
+ <source>Down</source>
+ <translation type="obsolete">W dół</translation>
+ </message>
+ <message>
+ <source>Remove</source>
+ <translation type="obsolete">Usuń</translation>
+ </message>
+ <message>
+ <source>Select s&amp;ubstitute Family:</source>
+ <translation type="obsolete">Wybierz &amp;nazwę czcionki do zamiany na:</translation>
+ </message>
+ <message>
+ <source>Add</source>
+ <translation type="obsolete">Dodaj</translation>
+ </message>
+ <message>
+ <source>Interface</source>
+ <translation type="obsolete">Interfejs</translation>
+ </message>
+ <message>
+ <source>Feel Settings</source>
+ <translation type="obsolete">Ustawienia działania</translation>
+ </message>
+ <message>
+ <source> ms</source>
+ <translation type="obsolete"> ms</translation>
+ </message>
+ <message>
+ <source>&amp;Double Click Interval:</source>
+ <translation type="obsolete">&amp;Odstęp pomiędzy dwukrotnym kliknięciem:</translation>
+ </message>
+ <message>
+ <source>No blinking</source>
+ <translation type="obsolete">Brak migotania</translation>
+ </message>
+ <message>
+ <source>&amp;Cursor Flash Time:</source>
+ <translation type="obsolete">&amp;Czas zmiany kursora:</translation>
+ </message>
+ <message>
+ <source> lines</source>
+ <translation type="obsolete"> linie</translation>
+ </message>
+ <message>
+ <source>Wheel &amp;Scroll Lines:</source>
+ <translation type="obsolete">Obrócenie kółkiem powoduje &amp;przesunięcie o tyle linii:</translation>
+ </message>
+ <message>
+ <source>Resolve symlinks in URLs</source>
+ <translation type="obsolete">Rozwiązuj dowiązania symboliczne w adresach URL</translation>
+ </message>
+ <message>
+ <source>GUI Effects</source>
+ <translation type="obsolete">Efekty GUI</translation>
+ </message>
+ <message>
+ <source>&amp;Enable</source>
+ <translation type="obsolete">&amp;Włącz</translation>
+ </message>
+ <message>
+ <source>Alt+E</source>
+ <translation type="obsolete">Alt+E</translation>
+ </message>
+ <message>
+ <source>&amp;Menu Effect:</source>
+ <translation type="obsolete">Efekty &amp;menu:</translation>
+ </message>
+ <message>
+ <source>C&amp;omboBox Effect:</source>
+ <translation type="obsolete">Efekty c&amp;ombobox&apos;a:</translation>
+ </message>
+ <message>
+ <source>&amp;ToolTip Effect:</source>
+ <translation type="obsolete">Efekt &amp;chmurki:</translation>
+ </message>
+ <message>
+ <source>Tool&amp;Box Effect:</source>
+ <translation type="obsolete">Efekty &amp;paska narzędzi:</translation>
+ </message>
+ <message>
+ <source>Disable</source>
+ <translation type="obsolete">Wyłącz</translation>
+ </message>
+ <message>
+ <source>Animate</source>
+ <translation type="obsolete">Animacja</translation>
+ </message>
+ <message>
+ <source>Fade</source>
+ <translation type="obsolete">Wyłanianie</translation>
+ </message>
+ <message>
+ <source>Global Strut</source>
+ <translation type="obsolete">Minimalny rozmiar widżetów</translation>
+ </message>
+ <message>
+ <source>Minimum &amp;Width:</source>
+ <translation type="obsolete">Minimalna &amp;szerokość:</translation>
+ </message>
+ <message>
+ <source>Minimum Hei&amp;ght:</source>
+ <translation type="obsolete">Minimalna &amp;wysokość:</translation>
+ </message>
+ <message>
+ <source> pixels</source>
+ <translation type="obsolete"> pikseli</translation>
+ </message>
+ <message>
+ <source>Enhanced support for languages written right-to-left</source>
+ <translation type="obsolete">Rozszerzona obsługa dla języków pisanych od prawej do lewej</translation>
+ </message>
+ <message>
+ <source>XIM Input Style:</source>
+ <translation type="obsolete">Rodzaje wprowadzania znaków (XIM):</translation>
</message>
<message>
<source>On The Spot</source>
- <translation>W oknie dokumentu (On-The-Spot)</translation>
+ <translation type="obsolete">W oknie dokumentu (On-The-Spot)</translation>
</message>
<message>
<source>Over The Spot</source>
- <translation>Nad oknem dokumentu (Over-The-Spot)</translation>
+ <translation type="obsolete">Nad oknem dokumentu (Over-The-Spot)</translation>
</message>
<message>
<source>Off The Spot</source>
- <translation>Na pasku stanu (Off-The-Spot)</translation>
+ <translation type="obsolete">Na pasku stanu (Off-The-Spot)</translation>
</message>
<message>
<source>Root</source>
- <translation>W dodatkowym oknie (Root)</translation>
+ <translation type="obsolete">W dodatkowym oknie (Root)</translation>
</message>
<message>
<source>Default Input Method:</source>
- <translation>Domyślna metoda wprowadzania:</translation>
+ <translation type="obsolete">Domyślna metoda wprowadzania:</translation>
</message>
<message>
<source>Printer</source>
- <translation>Drukarka</translation>
+ <translation type="obsolete">Drukarka</translation>
</message>
<message>
<source>Enable Font embedding</source>
- <translation>Włącz czcionki wbudowane</translation>
+ <translation type="obsolete">Włącz czcionki wbudowane</translation>
</message>
<message>
<source>Font Paths</source>
- <translation>Ścieżki czcionek</translation>
+ <translation type="obsolete">Ścieżki czcionek</translation>
</message>
<message>
<source>Browse...</source>
- <translation>Przeglądaj...</translation>
+ <translation type="obsolete">Przeglądaj...</translation>
</message>
<message>
<source>Press the &lt;b&gt;Browse&lt;/b&gt; button or enter a directory and press Enter to add them to the list.</source>
- <translation>Naciśnij przycisk &lt;b&gt;Przeglądaj&lt;/b&gt; lub wpisz nazwę katalogu i naciśnij Enter aby dodać do listy.</translation>
+ <translation type="obsolete">Naciśnij przycisk &lt;b&gt;Przeglądaj&lt;/b&gt; lub wpisz nazwę katalogu i naciśnij Enter aby dodać do listy.</translation>
</message>
<message>
<source>Phonon</source>
- <translation>Phonon</translation>
+ <translation type="obsolete">Phonon</translation>
</message>
<message>
<source>About Phonon</source>
- <translation>Informacje o Phonon</translation>
+ <translation type="obsolete">Informacje o Phonon</translation>
</message>
<message>
<source>Current Version:</source>
- <translation>Bieżąca wersja:</translation>
+ <translation type="obsolete">Bieżąca wersja:</translation>
</message>
<message>
<source>Not available</source>
- <translation>Nie dostępne</translation>
+ <translation type="obsolete">Nie dostępne</translation>
</message>
<message>
<source>Website:</source>
- <translation>Witryna:</translation>
+ <translation type="obsolete">Witryna:</translation>
</message>
<message>
<source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
@@ -416,7 +760,7 @@
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;http://phonon.kde.org&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://phonon.kde.org&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+ <translation type="obsolete">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
@@ -424,7 +768,7 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<source>About GStreamer</source>
- <translation>Informacje o GStreamer</translation>
+ <translation type="obsolete">Informacje o GStreamer</translation>
</message>
<message>
<source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
@@ -432,7 +776,7 @@ p, li { white-space: pre-wrap; }
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;http://gstreamer.freedesktop.org/&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gstreamer.freedesktop.org/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+ <translation type="obsolete">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
@@ -440,15 +784,15 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<source>GStreamer backend settings</source>
- <translation>Ustawienia końcówki GStreamer</translation>
+ <translation type="obsolete">Ustawienia końcówki GStreamer</translation>
</message>
<message>
<source>Preferred audio sink:</source>
- <translation>Preferowane ujście dźwiękowe:</translation>
+ <translation type="obsolete">Preferowane ujście dźwiękowe:</translation>
</message>
<message>
<source>Preferred render method:</source>
- <translation>Preferowana metoda renderowania:</translation>
+ <translation type="obsolete">Preferowana metoda renderowania:</translation>
</message>
<message>
<source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
@@ -456,7 +800,7 @@ p, li { white-space: pre-wrap; }
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-style:italic;&quot;&gt;Note: changes to these settings may prevent applications from starting up correctly.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+ <translation type="obsolete">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
@@ -464,86 +808,82 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<source>&amp;File</source>
- <translation>&amp;Plik</translation>
+ <translation type="obsolete">&amp;Plik</translation>
</message>
<message>
<source>&amp;Help</source>
- <translation>&amp;Pomoc</translation>
+ <translation type="obsolete">&amp;Pomoc</translation>
</message>
<message>
<source>&amp;Save</source>
- <translation>&amp;Zapisz</translation>
+ <translation type="obsolete">&amp;Zapisz</translation>
</message>
<message>
<source>Save</source>
- <translation>Zapisz</translation>
+ <translation type="obsolete">Zapisz</translation>
</message>
<message>
<source>Ctrl+S</source>
- <translation>Ctrl+S</translation>
+ <translation type="obsolete">Ctrl+S</translation>
</message>
<message>
<source>E&amp;xit</source>
- <translation>&amp;Zakończ</translation>
+ <translation type="obsolete">&amp;Zakończ</translation>
</message>
<message>
<source>Exit</source>
- <translation>Zakończ</translation>
+ <translation type="obsolete">Zakończ</translation>
</message>
<message>
<source>&amp;About</source>
- <translation>&amp;Informacje o</translation>
+ <translation type="obsolete">&amp;Informacje o</translation>
</message>
<message>
<source>About</source>
- <translation>Informacje o</translation>
+ <translation type="obsolete">Informacje o</translation>
</message>
<message>
<source>About &amp;Qt</source>
- <translation>Informacje o &amp;Qt</translation>
+ <translation type="obsolete">Informacje o &amp;Qt</translation>
</message>
<message>
<source>About Qt</source>
- <translation>Informacje o Qt</translation>
+ <translation type="obsolete">Informacje o Qt</translation>
</message>
</context>
<context>
- <name>PaletteEditorAdvancedBase</name>
+ <name>PaletteEditorAdvanced</name>
<message>
<source>Tune Palette</source>
<translation>Ustaw paletę</translation>
</message>
<message>
- <source>&lt;b&gt;Edit Palette&lt;/b&gt;&lt;p&gt;Change the palette of the current widget or form.&lt;/p&gt;&lt;p&gt;Use a generated palette or select colors for each color group and each color role.&lt;/p&gt;&lt;p&gt;The palette can be tested with different widget layouts in the preview section.&lt;/p&gt;</source>
- <translation>&lt;b&gt;Edycja palety&lt;/b&gt;&lt;p&gt;Zmień paletę bieżącego widżetu lub formularza.&lt;/p&gt;&lt;p&gt;Użyj wygenerowanej palety lub wybierz kolory dla każdej grupy i roli koloru.&lt;/p&gt;&lt;p&gt;Paleta może być przetestowana z różnymi rozmieszczeniami widżetów w sekcji podglądu.&lt;/p&gt;</translation>
- </message>
- <message>
<source>Select &amp;Palette:</source>
<translation>Wybierz &amp;paletę:</translation>
</message>
<message>
<source>Active Palette</source>
- <translation>Paleta &quot;aktywne&quot;</translation>
+ <translation>Paleta &quot;aktywna&quot;</translation>
</message>
<message>
<source>Inactive Palette</source>
- <translation>Paleta &quot;nieaktywne&quot;</translation>
+ <translation>Paleta &quot;nieaktywna&quot;</translation>
</message>
<message>
<source>Disabled Palette</source>
- <translation>Paleta &quot;zablokowane&quot;</translation>
+ <translation>Paleta &quot;zablokowana&quot;</translation>
</message>
<message>
<source>Auto</source>
- <translation>Automatycznie</translation>
+ <translation>Automatyczne tworzenie</translation>
</message>
<message>
<source>Build inactive palette from active</source>
- <translation>Twórz paletę &quot;nieaktywne&quot; z &quot;aktywne&quot;</translation>
+ <translation>Twórz paletę &quot;nieaktywną&quot; na podstawie palety &quot;aktywnej&quot;</translation>
</message>
<message>
<source>Build disabled palette from active</source>
- <translation>Twórz paletę &quot;zablokowane&quot; z &quot;aktywne&quot;</translation>
+ <translation>Twórz paletę &quot;zablokowaną&quot; na podstawie palety &quot;aktywnej&quot;</translation>
</message>
<message>
<source>Central color &amp;roles</source>
@@ -555,7 +895,7 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<source>&lt;b&gt;Select a color role.&lt;/b&gt;&lt;p&gt;Available central roles are: &lt;ul&gt; &lt;li&gt;Window - general background color.&lt;/li&gt; &lt;li&gt;WindowText - general foreground color. &lt;/li&gt; &lt;li&gt;Base - used as background color for e.g. text entry widgets, usually white or another light color. &lt;/li&gt; &lt;li&gt;Text - the foreground color used with Base. Usually this is the same as WindowText, in what case it must provide good contrast both with Window and Base. &lt;/li&gt; &lt;li&gt;Button - general button background color, where buttons need a background different from Window, as in the Macintosh style. &lt;/li&gt; &lt;li&gt;ButtonText - a foreground color used with the Button color. &lt;/li&gt; &lt;li&gt;Highlight - a color to indicate a selected or highlighted item. &lt;/li&gt; &lt;li&gt;HighlightedText - a text color that contrasts to Highlight. &lt;/li&gt; &lt;li&gt;BrightText - a text color that is very different from WindowText and contrasts well with e.g. black. &lt;/li&gt; &lt;/ul&gt; &lt;/p&gt;</source>
- <translation>&lt;b&gt;Wybierz rolę koloru.&lt;/b&gt;&lt;p&gt;Dostępne role główne: &lt;ul&gt; &lt;li&gt;Okno - główny kolor tła.&lt;/li&gt; &lt;li&gt;Tekst Okna - główny kolor pierwszoplanowy. &lt;/li&gt; &lt;li&gt;Bazowy - używany jako kolor tła dla np. widżetów wejściowych, zwykle biały lub inny jasny kolor. &lt;/li&gt; &lt;li&gt;Tekst - kolor pierwszoplanowy używany z Bazowym. Zwykle jest on taki sam jak Tekst Okna i wtedy powinien dobrze kontrastować jednocześnie z Oknem i Bazowym &lt;/li&gt; &lt;li&gt;Przycisk - główny kolor tła przycisku, gdy przyciski potrzebują innego tła niż Okno, jak np. w stylu Macintosh. &lt;/li&gt; &lt;li&gt;Tekst Przycisku - kolor pierwszoplanowy używany z Przyciskiem. &lt;/li&gt; &lt;li&gt;Podświetlony - kolor użyty w zaznaczonych lub podświetlonych elementach. &lt;/li&gt; &lt;li&gt;Podświetlony Tekst - kolor tekstu który kontrastuje z Podświetlonym. &lt;/li&gt; &lt;li&gt;Jasny Tekst - kolor teksty który znacznie różni się od Tekstu Okna i dobrze kontrastuje z np. czarnym. &lt;/li&gt; &lt;/ul&gt; &lt;/p&gt;</translation>
+ <translation>&lt;b&gt;Wybierz rolę koloru.&lt;/b&gt;&lt;p&gt;Dostępne role główne: &lt;ul&gt; &lt;li&gt;Okno - główny kolor tła.&lt;/li&gt; &lt;li&gt;Tekst Okna - główny kolor pierwszoplanowy. &lt;/li&gt; &lt;li&gt;Bazowy - używany jako kolor tła dla np. widżetów wejściowych, zwykle biały lub inny jasny kolor. &lt;/li&gt; &lt;li&gt;Tekst - kolor pierwszoplanowy używany z Bazowym. Zwykle jest on taki sam jak Tekst Okna i wtedy powinien dobrze kontrastować jednocześnie z Oknem i Bazowym &lt;/li&gt; &lt;li&gt;Przycisk - główny kolor tła przycisku, gdy przyciski potrzebują innego tła niż Okno, jak np. w stylu Macintosh. &lt;/li&gt; &lt;li&gt;Tekst Przycisku - kolor pierwszoplanowy używany z Przyciskiem. &lt;/li&gt; &lt;li&gt;Wyróżnienie - kolor użyty w zaznaczonych lub podświetlonych elementach. &lt;/li&gt; &lt;li&gt;Wyróżniony Tekst - kolor tekstu który kontrastuje z Podświetlonym. &lt;/li&gt; &lt;li&gt;Jasny Tekst - kolor teksty który znacznie różni się od Tekstu Okna i dobrze kontrastuje z np. czarnym. &lt;/li&gt; &lt;/ul&gt; &lt;/p&gt;</translation>
</message>
<message>
<source>Window</source>
@@ -566,24 +906,36 @@ p, li { white-space: pre-wrap; }
<translation>Tekst Okna</translation>
</message>
<message>
- <source>Button</source>
- <translation>Przycisk</translation>
+ <source>Base</source>
+ <translation>Bazowy</translation>
</message>
<message>
- <source>Base</source>
- <translation>Podstawa</translation>
+ <source>AlternateBase</source>
+ <translation>Bazowy Alternatywny</translation>
+ </message>
+ <message>
+ <source>ToolTipBase</source>
+ <translation>Bazowy dla podpowiedzi</translation>
+ </message>
+ <message>
+ <source>ToolTipText</source>
+ <translation>Tekst podpowiedzi</translation>
</message>
<message>
<source>Text</source>
<translation>Tekst</translation>
</message>
<message>
- <source>BrightText</source>
- <translation>Jasny tekst</translation>
+ <source>Button</source>
+ <translation>Przycisk</translation>
</message>
<message>
<source>ButtonText</source>
- <translation>Tekst przycisku</translation>
+ <translation>Tekst Przycisku</translation>
+ </message>
+ <message>
+ <source>BrightText</source>
+ <translation>Jasny Tekst</translation>
</message>
<message>
<source>Highlight</source>
@@ -591,27 +943,23 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<source>HighlightedText</source>
- <translation>Tekst wyróżniony</translation>
+ <translation>Wyróżniony tekst</translation>
</message>
<message>
- <source>&amp;Select Color:</source>
- <translation>&amp;Wybierz kolor:</translation>
+ <source>Link</source>
+ <translation>Odsyłacz</translation>
</message>
<message>
- <source>Choose a color</source>
- <translation>Wybierz kolor</translation>
+ <source>LinkVisited</source>
+ <translation>Zwiedzony Odsyłacz</translation>
</message>
<message>
- <source>Choose a color for the selected central color role.</source>
- <translation>Wybierz kolor dla zaznaczonej głównej roli koloru.</translation>
+ <source>&amp;Select Color:</source>
+ <translation>&amp;Wybierz kolor:</translation>
</message>
<message>
<source>3-D shadow &amp;effects</source>
- <translation>&amp;Efekty cień 3-D </translation>
- </message>
- <message>
- <source>Build &amp;from button color</source>
- <translation>&amp;Zbuduj w oparciu o kolor przycisku</translation>
+ <translation>&amp;Efekty cienia 3-D </translation>
</message>
<message>
<source>Generate shadings</source>
@@ -619,7 +967,11 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<source>Check to let 3D-effect colors be calculated from button-color.</source>
- <translation>Zaznacz aby kolory efektów trójwymiarowych były obliczone na podstawie koloru przycisku.</translation>
+ <translation>Zaznacz, aby kolory efektów trójwymiarowych były obliczone na podstawie koloru przycisku.</translation>
+ </message>
+ <message>
+ <source>Build &amp;from button color</source>
+ <translation>&amp;Zbuduj w oparciu o kolor przycisku</translation>
</message>
<message>
<source>Choose 3D-effect color role</source>
@@ -654,24 +1006,183 @@ p, li { white-space: pre-wrap; }
<translation>Wybierz &amp;kolor:</translation>
</message>
<message>
+ <source>Choose a color</source>
+ <translation>Wybierz kolor</translation>
+ </message>
+ <message>
+ <source>Choose a color for the selected central color role.</source>
+ <translation>Wybierz kolor dla zaznaczonej głównej roli koloru.</translation>
+ </message>
+ <message>
<source>Choose a color for the selected effect color role.</source>
<translation>Wybierz kolor dla zaznaczonej roli koloru dla efektu.</translation>
</message>
+</context>
+<context>
+ <name>PaletteEditorAdvancedBase</name>
+ <message>
+ <source>Tune Palette</source>
+ <translation type="obsolete">Ustaw paletę</translation>
+ </message>
+ <message>
+ <source>&lt;b&gt;Edit Palette&lt;/b&gt;&lt;p&gt;Change the palette of the current widget or form.&lt;/p&gt;&lt;p&gt;Use a generated palette or select colors for each color group and each color role.&lt;/p&gt;&lt;p&gt;The palette can be tested with different widget layouts in the preview section.&lt;/p&gt;</source>
+ <translation type="obsolete">&lt;b&gt;Edycja palety&lt;/b&gt;&lt;p&gt;Zmień paletę bieżącego widżetu lub formularza.&lt;/p&gt;&lt;p&gt;Użyj wygenerowanej palety lub wybierz kolory dla każdej grupy i roli koloru.&lt;/p&gt;&lt;p&gt;Paleta może być przetestowana z różnymi rozmieszczeniami widżetów w sekcji podglądu.&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>Select &amp;Palette:</source>
+ <translation type="obsolete">Wybierz &amp;paletę:</translation>
+ </message>
+ <message>
+ <source>Active Palette</source>
+ <translation type="obsolete">Paleta &quot;aktywne&quot;</translation>
+ </message>
+ <message>
+ <source>Inactive Palette</source>
+ <translation type="obsolete">Paleta &quot;nieaktywne&quot;</translation>
+ </message>
+ <message>
+ <source>Disabled Palette</source>
+ <translation type="obsolete">Paleta &quot;zablokowane&quot;</translation>
+ </message>
+ <message>
+ <source>Auto</source>
+ <translation type="obsolete">Automatycznie</translation>
+ </message>
+ <message>
+ <source>Build inactive palette from active</source>
+ <translation type="obsolete">Twórz paletę &quot;nieaktywne&quot; z &quot;aktywne&quot;</translation>
+ </message>
+ <message>
+ <source>Build disabled palette from active</source>
+ <translation type="obsolete">Twórz paletę &quot;zablokowane&quot; z &quot;aktywne&quot;</translation>
+ </message>
+ <message>
+ <source>Central color &amp;roles</source>
+ <translation type="obsolete">Główne &amp;role koloru</translation>
+ </message>
+ <message>
+ <source>Choose central color role</source>
+ <translation type="obsolete">Wybierz główną rolę koloru</translation>
+ </message>
+ <message>
+ <source>&lt;b&gt;Select a color role.&lt;/b&gt;&lt;p&gt;Available central roles are: &lt;ul&gt; &lt;li&gt;Window - general background color.&lt;/li&gt; &lt;li&gt;WindowText - general foreground color. &lt;/li&gt; &lt;li&gt;Base - used as background color for e.g. text entry widgets, usually white or another light color. &lt;/li&gt; &lt;li&gt;Text - the foreground color used with Base. Usually this is the same as WindowText, in what case it must provide good contrast both with Window and Base. &lt;/li&gt; &lt;li&gt;Button - general button background color, where buttons need a background different from Window, as in the Macintosh style. &lt;/li&gt; &lt;li&gt;ButtonText - a foreground color used with the Button color. &lt;/li&gt; &lt;li&gt;Highlight - a color to indicate a selected or highlighted item. &lt;/li&gt; &lt;li&gt;HighlightedText - a text color that contrasts to Highlight. &lt;/li&gt; &lt;li&gt;BrightText - a text color that is very different from WindowText and contrasts well with e.g. black. &lt;/li&gt; &lt;/ul&gt; &lt;/p&gt;</source>
+ <translation type="obsolete">&lt;b&gt;Wybierz rolę koloru.&lt;/b&gt;&lt;p&gt;Dostępne role główne: &lt;ul&gt; &lt;li&gt;Okno - główny kolor tła.&lt;/li&gt; &lt;li&gt;Tekst Okna - główny kolor pierwszoplanowy. &lt;/li&gt; &lt;li&gt;Bazowy - używany jako kolor tła dla np. widżetów wejściowych, zwykle biały lub inny jasny kolor. &lt;/li&gt; &lt;li&gt;Tekst - kolor pierwszoplanowy używany z Bazowym. Zwykle jest on taki sam jak Tekst Okna i wtedy powinien dobrze kontrastować jednocześnie z Oknem i Bazowym &lt;/li&gt; &lt;li&gt;Przycisk - główny kolor tła przycisku, gdy przyciski potrzebują innego tła niż Okno, jak np. w stylu Macintosh. &lt;/li&gt; &lt;li&gt;Tekst Przycisku - kolor pierwszoplanowy używany z Przyciskiem. &lt;/li&gt; &lt;li&gt;Podświetlony - kolor użyty w zaznaczonych lub podświetlonych elementach. &lt;/li&gt; &lt;li&gt;Podświetlony Tekst - kolor tekstu który kontrastuje z Podświetlonym. &lt;/li&gt; &lt;li&gt;Jasny Tekst - kolor teksty który znacznie różni się od Tekstu Okna i dobrze kontrastuje z np. czarnym. &lt;/li&gt; &lt;/ul&gt; &lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>Window</source>
+ <translation type="obsolete">Okno</translation>
+ </message>
+ <message>
+ <source>WindowText</source>
+ <translation type="obsolete">Tekst Okna</translation>
+ </message>
+ <message>
+ <source>Button</source>
+ <translation type="obsolete">Przycisk</translation>
+ </message>
+ <message>
+ <source>Base</source>
+ <translation type="obsolete">Podstawa</translation>
+ </message>
+ <message>
+ <source>Text</source>
+ <translation type="obsolete">Tekst</translation>
+ </message>
+ <message>
+ <source>BrightText</source>
+ <translation type="obsolete">Jasny tekst</translation>
+ </message>
+ <message>
+ <source>ButtonText</source>
+ <translation type="obsolete">Tekst przycisku</translation>
+ </message>
+ <message>
+ <source>Highlight</source>
+ <translation type="obsolete">Wyróżnienie</translation>
+ </message>
+ <message>
+ <source>HighlightedText</source>
+ <translation type="obsolete">Tekst wyróżniony</translation>
+ </message>
+ <message>
+ <source>&amp;Select Color:</source>
+ <translation type="obsolete">&amp;Wybierz kolor:</translation>
+ </message>
+ <message>
+ <source>Choose a color</source>
+ <translation type="obsolete">Wybierz kolor</translation>
+ </message>
+ <message>
+ <source>Choose a color for the selected central color role.</source>
+ <translation type="obsolete">Wybierz kolor dla zaznaczonej głównej roli koloru.</translation>
+ </message>
+ <message>
+ <source>3-D shadow &amp;effects</source>
+ <translation type="obsolete">&amp;Efekty cień 3-D </translation>
+ </message>
+ <message>
+ <source>Build &amp;from button color</source>
+ <translation type="obsolete">&amp;Zbuduj w oparciu o kolor przycisku</translation>
+ </message>
+ <message>
+ <source>Generate shadings</source>
+ <translation type="obsolete">Wygeneruj cienie</translation>
+ </message>
+ <message>
+ <source>Check to let 3D-effect colors be calculated from button-color.</source>
+ <translation type="obsolete">Zaznacz aby kolory efektów trójwymiarowych były obliczone na podstawie koloru przycisku.</translation>
+ </message>
+ <message>
+ <source>Choose 3D-effect color role</source>
+ <translation type="obsolete">Wybierz rolę koloru efektu trójwymiarowego</translation>
+ </message>
+ <message>
+ <source>&lt;b&gt;Select a color role.&lt;/b&gt;&lt;p&gt;Available effect roles are: &lt;ul&gt; &lt;li&gt;Light - lighter than Button color. &lt;/li&gt; &lt;li&gt;Midlight - between Button and Light. &lt;/li&gt; &lt;li&gt;Mid - between Button and Dark. &lt;/li&gt; &lt;li&gt;Dark - darker than Button. &lt;/li&gt; &lt;li&gt;Shadow - a very dark color. &lt;/li&gt; &lt;/ul&gt;</source>
+ <translation type="obsolete">&lt;b&gt;Wybierz rolę koloru.&lt;/b&gt;&lt;p&gt;Dostępne role kolorów: &lt;ul&gt; &lt;li&gt;Jasny - jaśniejszy od koloru Przycisku. &lt;/li&gt; &lt;li&gt;Średnio Jasny - pomiędzy kolorem Przycisku i Jasnym. &lt;/li&gt; &lt;li&gt;Średni - pomiędzy kolorem Przycisku i Ciemnym. &lt;/li&gt; &lt;li&gt;Ciemny - ciemniejszy od koloru Przycisku. &lt;/li&gt; &lt;li&gt;Cień - bardzo ciemny kolor. &lt;/li&gt; &lt;/ul&gt;</translation>
+ </message>
+ <message>
+ <source>Light</source>
+ <translation type="obsolete">Jasny</translation>
+ </message>
+ <message>
+ <source>Midlight</source>
+ <translation type="obsolete">Średnio jasny</translation>
+ </message>
+ <message>
+ <source>Mid</source>
+ <translation type="obsolete">Średni</translation>
+ </message>
+ <message>
+ <source>Dark</source>
+ <translation type="obsolete">Ciemny</translation>
+ </message>
+ <message>
+ <source>Shadow</source>
+ <translation type="obsolete">Cień</translation>
+ </message>
+ <message>
+ <source>Select Co&amp;lor:</source>
+ <translation type="obsolete">Wybierz &amp;kolor:</translation>
+ </message>
+ <message>
+ <source>Choose a color for the selected effect color role.</source>
+ <translation type="obsolete">Wybierz kolor dla zaznaczonej roli koloru dla efektu.</translation>
+ </message>
<message>
<source>OK</source>
- <translation>OK</translation>
+ <translation type="obsolete">OK</translation>
</message>
<message>
<source>Close dialog and apply all changes.</source>
- <translation>Zamknij okno i zastosuj wszystkie zmiany.</translation>
+ <translation type="obsolete">Zamknij okno i zastosuj wszystkie zmiany.</translation>
</message>
<message>
<source>Cancel</source>
- <translation>Anuluj</translation>
+ <translation type="obsolete">Anuluj</translation>
</message>
<message>
<source>Close dialog and discard all changes.</source>
- <translation>Zamknij okno i anuluj wszystkie zmiany.</translation>
+ <translation type="obsolete">Zamknij okno i anuluj wszystkie zmiany.</translation>
</message>
</context>
<context>
@@ -682,14 +1193,14 @@ p, li { white-space: pre-wrap; }
</message>
</context>
<context>
- <name>PreviewWidgetBase</name>
+ <name>PreviewWidget</name>
<message>
<source>Preview Window</source>
<translation>Okno podglądu</translation>
</message>
<message>
- <source>ButtonGroup</source>
- <translation>ButtonGroup</translation>
+ <source>GroupBox</source>
+ <translation>GroupBox</translation>
</message>
<message>
<source>RadioButton1</source>
@@ -704,8 +1215,8 @@ p, li { white-space: pre-wrap; }
<translation>RadioButton3</translation>
</message>
<message>
- <source>ButtonGroup2</source>
- <translation>ButtonGroup2</translation>
+ <source>GroupBox2</source>
+ <translation>GroupBox2</translation>
</message>
<message>
<source>CheckBox1</source>
@@ -728,13 +1239,66 @@ p, li { white-space: pre-wrap; }
<translation>PushButton</translation>
</message>
<message>
+ <source>&lt;p&gt;&lt;a href=&quot;http://qt.nokia.com&quot;&gt;http://qt.nokia.com&lt;/a&gt;&lt;/p&gt;
+&lt;p&gt;&lt;a href=&quot;http://www.kde.org&quot;&gt;http://www.kde.org&lt;/a&gt;&lt;/p&gt;</source>
+ <translation>&lt;p&gt;&lt;a href=&quot;http://qt.nokia.com&quot;&gt;http://qt.nokia.com&lt;/a&gt;&lt;/p&gt;
+&lt;p&gt;&lt;a href=&quot;http://www.kde.org&quot;&gt;http://www.kde.org&lt;/a&gt;&lt;/p&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>PreviewWidgetBase</name>
+ <message>
+ <source>Preview Window</source>
+ <translation type="obsolete">Okno podglądu</translation>
+ </message>
+ <message>
+ <source>ButtonGroup</source>
+ <translation type="obsolete">ButtonGroup</translation>
+ </message>
+ <message>
+ <source>RadioButton1</source>
+ <translation type="obsolete">RadioButton1</translation>
+ </message>
+ <message>
+ <source>RadioButton2</source>
+ <translation type="obsolete">RadioButton2</translation>
+ </message>
+ <message>
+ <source>RadioButton3</source>
+ <translation type="obsolete">RadioButton3</translation>
+ </message>
+ <message>
+ <source>ButtonGroup2</source>
+ <translation type="obsolete">ButtonGroup2</translation>
+ </message>
+ <message>
+ <source>CheckBox1</source>
+ <translation type="obsolete">CheckBox1</translation>
+ </message>
+ <message>
+ <source>CheckBox2</source>
+ <translation type="obsolete">CheckBox2</translation>
+ </message>
+ <message>
+ <source>LineEdit</source>
+ <translation type="obsolete">LineEdit</translation>
+ </message>
+ <message>
+ <source>ComboBox</source>
+ <translation type="obsolete">ComboBox</translation>
+ </message>
+ <message>
+ <source>PushButton</source>
+ <translation type="obsolete">PushButton</translation>
+ </message>
+ <message>
<source>&lt;p&gt;
&lt;a href=&quot;http://qt.nokia.com&quot;&gt;http://qt.nokia.com&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href=&quot;http://www.kde.org&quot;&gt;http://www.kde.org&lt;/a&gt;
&lt;/p&gt;</source>
- <translation>&lt;p&gt;
+ <translation type="obsolete">&lt;p&gt;
&lt;a href=&quot;http://qt.nokia.com&quot;&gt;http://qt.nokia.com&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
diff --git a/translations/qtconfig_ru.ts b/translations/qtconfig_ru.ts
index a200ac1..c5ddbb0 100644
--- a/translations/qtconfig_ru.ts
+++ b/translations/qtconfig_ru.ts
@@ -33,7 +33,7 @@
</message>
<message>
<source>On The Spot</source>
- <translation type="unfinished"></translation>
+ <translation>В тексте</translation>
</message>
<message>
<source>Unknown</source>
@@ -101,15 +101,15 @@
</message>
<message>
<source>Over The Spot</source>
- <translation type="unfinished"></translation>
+ <translation>Поверх текста</translation>
</message>
<message>
<source>Off The Spot</source>
- <translation type="unfinished"></translation>
+ <translation>Вне текста</translation>
</message>
<message>
<source>Root</source>
- <translation type="unfinished"></translation>
+ <translation>Общий</translation>
</message>
<message>
<source>Select a Directory</source>
diff --git a/translations/qtconfig_uk.ts b/translations/qtconfig_uk.ts
index 24a9b7d..6cdae56 100644
--- a/translations/qtconfig_uk.ts
+++ b/translations/qtconfig_uk.ts
@@ -36,6 +36,10 @@
<translation>У вікні документу</translation>
</message>
<message>
+ <source>Unknown</source>
+ <translation>Невідомий</translation>
+ </message>
+ <message>
<source>Auto (default)</source>
<translation>Автоматично (типово)</translation>
</message>
@@ -92,6 +96,10 @@
<translation>Збереження змін...</translation>
</message>
<message>
+ <source>Saved changes.</source>
+ <translation>Зміни збережено.</translation>
+ </message>
+ <message>
<source>Over The Spot</source>
<translation>Над вікном документу</translation>
</message>
@@ -124,25 +132,6 @@
<translation>Зберегти зміни до налаштувань?</translation>
</message>
<message>
- <source>&amp;Yes</source>
- <translation>&amp;Так</translation>
- </message>
- <message>
- <source>&amp;No</source>
- <translation>&amp;Ні</translation>
- </message>
- <message>
- <source>&amp;Cancel</source>
- <translation>&amp;Скасувати</translation>
- </message>
-</context>
-<context>
- <name>MainWindowBase</name>
- <message>
- <source>Qt Configuration</source>
- <translation>Налаштування Qt</translation>
- </message>
- <message>
<source>Appearance</source>
<translation>Вигляд</translation>
</message>
@@ -179,8 +168,8 @@
<translation>Створити палітру</translation>
</message>
<message>
- <source>&amp;3-D Effects:</source>
- <translation>&amp;3-D ефекти:</translation>
+ <source>&amp;Button Background:</source>
+ <translation>Фон &amp;кнопки:</translation>
</message>
<message>
<source>Window Back&amp;ground:</source>
@@ -351,22 +340,6 @@
<translation>Стиль введення XIM:</translation>
</message>
<message>
- <source>On The Spot</source>
- <translation>У вікні документу</translation>
- </message>
- <message>
- <source>Over The Spot</source>
- <translation>Над вікном документу</translation>
- </message>
- <message>
- <source>Off The Spot</source>
- <translation>В рядку стану</translation>
- </message>
- <message>
- <source>Root</source>
- <translation>В додатковому вікні</translation>
- </message>
- <message>
<source>Default Input Method:</source>
<translation>Типовий метод введення:</translation>
</message>
@@ -411,11 +384,7 @@
<translation>Веб-сайт:</translation>
</message>
<message>
- <source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
-&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;http://phonon.kde.org&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://phonon.kde.org&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <source>&lt;a href=&quot;http://phonon.kde.org&quot;&gt;http://phonon.kde.org/&lt;/a&gt;</source>
<translation></translation>
</message>
<message>
@@ -423,11 +392,7 @@ p, li { white-space: pre-wrap; }
<translation>Про GStreamer</translation>
</message>
<message>
- <source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
-&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;http://gstreamer.freedesktop.org/&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gstreamer.freedesktop.org/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <source>&lt;a href=&quot;http://gstreamer.freedesktop.org/&quot;&gt;http://gstreamer.freedesktop.org/&lt;/a&gt;</source>
<translation></translation>
</message>
<message>
@@ -472,7 +437,7 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<source>Ctrl+S</source>
- <translation>Ctrl+S</translation>
+ <translation></translation>
</message>
<message>
<source>E&amp;xit</source>
@@ -483,6 +448,10 @@ p, li { white-space: pre-wrap; }
<translation>Вийти</translation>
</message>
<message>
+ <source>Ctrl+Q</source>
+ <translation></translation>
+ </message>
+ <message>
<source>&amp;About</source>
<translation>&amp;Про</translation>
</message>
@@ -500,16 +469,12 @@ p, li { white-space: pre-wrap; }
</message>
</context>
<context>
- <name>PaletteEditorAdvancedBase</name>
+ <name>PaletteEditorAdvanced</name>
<message>
<source>Tune Palette</source>
<translation>Налаштувати палітру</translation>
</message>
<message>
- <source>&lt;b&gt;Edit Palette&lt;/b&gt;&lt;p&gt;Change the palette of the current widget or form.&lt;/p&gt;&lt;p&gt;Use a generated palette or select colors for each color group and each color role.&lt;/p&gt;&lt;p&gt;The palette can be tested with different widget layouts in the preview section.&lt;/p&gt;</source>
- <translation>&lt;b&gt;Редагування палітри&lt;/b&gt;&lt;p&gt;Змінити палітру поточного віджета чи форми.&lt;/p&gt;&lt;p&gt;Використовуйте згенеровану палітру чи оберіть кольори для кожної групи кольорів та кожної кольорової ролі.&lt;/p&gt;&lt;p&gt;Палітру можна протестувати з різними розміщеннями віджетів в секції попереднього перегляду.&lt;/p&gt;</translation>
- </message>
- <message>
<source>Select &amp;Palette:</source>
<translation>Виберіть &amp;палітру:</translation>
</message>
@@ -558,26 +523,38 @@ p, li { white-space: pre-wrap; }
<translation>Текст вікна</translation>
</message>
<message>
- <source>Button</source>
- <translation>Кнопка</translation>
- </message>
- <message>
<source>Base</source>
<translation>Базовий</translation>
</message>
<message>
+ <source>AlternateBase</source>
+ <translation>Альтернативний базовий</translation>
+ </message>
+ <message>
+ <source>ToolTipBase</source>
+ <translation>Базовий спливаючої підказки</translation>
+ </message>
+ <message>
+ <source>ToolTipText</source>
+ <translation>Текст спливаючої підказки</translation>
+ </message>
+ <message>
<source>Text</source>
<translation>Текст</translation>
</message>
<message>
- <source>BrightText</source>
- <translation>Яскравий текст</translation>
+ <source>Button</source>
+ <translation>Кнопка</translation>
</message>
<message>
<source>ButtonText</source>
<translation>Текст кнопки</translation>
</message>
<message>
+ <source>BrightText</source>
+ <translation>Яскравий текст</translation>
+ </message>
+ <message>
<source>Highlight</source>
<translation>Підсвічений</translation>
</message>
@@ -586,26 +563,22 @@ p, li { white-space: pre-wrap; }
<translation>Підсвічений текст</translation>
</message>
<message>
- <source>&amp;Select Color:</source>
- <translation>&amp;Оберіть колір:</translation>
+ <source>Link</source>
+ <translation>Посилання</translation>
</message>
<message>
- <source>Choose a color</source>
- <translation>Оберіть колір</translation>
+ <source>LinkVisited</source>
+ <translation>Відвідане посилання</translation>
</message>
<message>
- <source>Choose a color for the selected central color role.</source>
- <translation>Виберіть колір для вказаної головної кольорової ролі.</translation>
+ <source>&amp;Select Color:</source>
+ <translation>&amp;Оберіть колір:</translation>
</message>
<message>
<source>3-D shadow &amp;effects</source>
<translation>3-D &amp;ефекти тіні</translation>
</message>
<message>
- <source>Build &amp;from button color</source>
- <translation>Будувати &amp;з кольору кнопки</translation>
- </message>
- <message>
<source>Generate shadings</source>
<translation>Генерувати тіні</translation>
</message>
@@ -614,6 +587,10 @@ p, li { white-space: pre-wrap; }
<translation>Увімкніть, щоб кольори 3D-ефектів розраховувались з кольору кнопки.</translation>
</message>
<message>
+ <source>Build &amp;from button color</source>
+ <translation>Будувати &amp;з кольору кнопки</translation>
+ </message>
+ <message>
<source>Choose 3D-effect color role</source>
<translation>Оберіть роль для 3D-ефектів</translation>
</message>
@@ -646,24 +623,16 @@ p, li { white-space: pre-wrap; }
<translation>Оберіть &amp;колір:</translation>
</message>
<message>
- <source>Choose a color for the selected effect color role.</source>
- <translation>Оберіть колір для вказаної кольорової ролі ефектів.</translation>
- </message>
- <message>
- <source>OK</source>
- <translation>OK</translation>
- </message>
- <message>
- <source>Close dialog and apply all changes.</source>
- <translation>Закрити діалог та застосувати усі зміни.</translation>
+ <source>Choose a color</source>
+ <translation>Оберіть колір</translation>
</message>
<message>
- <source>Cancel</source>
- <translation>Скасувати</translation>
+ <source>Choose a color for the selected central color role.</source>
+ <translation>Виберіть колір для вказаної головної кольорової ролі.</translation>
</message>
<message>
- <source>Close dialog and discard all changes.</source>
- <translation>Закрити діалог та відкинути усі зміни.</translation>
+ <source>Choose a color for the selected effect color role.</source>
+ <translation>Оберіть колір для вказаної кольорової ролі ефектів.</translation>
</message>
</context>
<context>
@@ -674,14 +643,14 @@ p, li { white-space: pre-wrap; }
</message>
</context>
<context>
- <name>PreviewWidgetBase</name>
+ <name>PreviewWidget</name>
<message>
<source>Preview Window</source>
<translation>Вікно попереднього перегляду</translation>
</message>
<message>
- <source>ButtonGroup</source>
- <translation>Група кнопок</translation>
+ <source>GroupBox</source>
+ <translation>Контейнер</translation>
</message>
<message>
<source>RadioButton1</source>
@@ -696,8 +665,8 @@ p, li { white-space: pre-wrap; }
<translation>Перемикач 3</translation>
</message>
<message>
- <source>ButtonGroup2</source>
- <translation>Група кнопок 2</translation>
+ <source>GroupBox2</source>
+ <translation>Контейнер 2</translation>
</message>
<message>
<source>CheckBox1</source>
@@ -720,18 +689,9 @@ p, li { white-space: pre-wrap; }
<translation>Кнопка</translation>
</message>
<message>
- <source>&lt;p&gt;
-&lt;a href=&quot;http://qt.nokia.com&quot;&gt;http://qt.nokia.com&lt;/a&gt;
-&lt;/p&gt;
-&lt;p&gt;
-&lt;a href=&quot;http://www.kde.org&quot;&gt;http://www.kde.org&lt;/a&gt;
-&lt;/p&gt;</source>
- <translation>&lt;p&gt;
-&lt;a href=&quot;http://qt.nokia.com&quot;&gt;http://qt.nokia.com&lt;/a&gt;
-&lt;/p&gt;
-&lt;p&gt;
-&lt;a href=&quot;http://www.kde.org&quot;&gt;http://www.kde.org&lt;/a&gt;
-&lt;/p&gt;</translation>
+ <source>&lt;p&gt;&lt;a href=&quot;http://qt.nokia.com&quot;&gt;http://qt.nokia.com&lt;/a&gt;&lt;/p&gt;
+&lt;p&gt;&lt;a href=&quot;http://www.kde.org&quot;&gt;http://www.kde.org&lt;/a&gt;&lt;/p&gt;</source>
+ <translation></translation>
</message>
</context>
</TS>
diff --git a/translations/qvfb_pl.ts b/translations/qvfb_pl.ts
index 7c18a5b..0d2db1d 100644
--- a/translations/qvfb_pl.ts
+++ b/translations/qvfb_pl.ts
@@ -262,11 +262,11 @@
<name>QVFb</name>
<message>
<source>&amp;File</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;Plik</translation>
</message>
<message>
<source>&amp;Configure...</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;Konfiguruj...</translation>
</message>
<message>
<source>&amp;Save image...</source>
@@ -274,19 +274,19 @@
</message>
<message>
<source>&amp;Animation...</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;Animacja...</translation>
</message>
<message>
<source>&amp;Quit</source>
- <translation type="unfinished"></translation>
+ <translation>Za&amp;kończ</translation>
</message>
<message>
<source>&amp;View</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;Widok</translation>
</message>
<message>
<source>Show &amp;Cursor</source>
- <translation type="unfinished"></translation>
+ <translation>Pokaż ku&amp;rsor</translation>
</message>
<message>
<source>&amp;Refresh Rate...</source>
@@ -294,55 +294,55 @@
</message>
<message>
<source>&amp;No rotation</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;Brak rotacji</translation>
</message>
<message>
<source>&amp;90° rotation</source>
- <translation type="unfinished"></translation>
+ <translation>Rotacja &amp;90°</translation>
</message>
<message>
<source>1&amp;80° rotation</source>
- <translation type="unfinished"></translation>
+ <translation>Rotacja 1&amp;80°</translation>
</message>
<message>
<source>2&amp;70° rotation</source>
- <translation type="unfinished"></translation>
+ <translation>Rotacja 2&amp;70°</translation>
</message>
<message>
<source>Zoom scale &amp;0.5</source>
- <translation type="unfinished"></translation>
+ <translation>Powiększenie &amp;0.5</translation>
</message>
<message>
<source>Zoom scale 0.7&amp;5</source>
- <translation type="unfinished"></translation>
+ <translation>Powiększenie 0.7&amp;5</translation>
</message>
<message>
<source>Zoom scale &amp;1</source>
- <translation type="unfinished"></translation>
+ <translation>Powiększenie &amp;1</translation>
</message>
<message>
<source>Zoom scale &amp;2</source>
- <translation type="unfinished"></translation>
+ <translation>Powiększenie &amp;2</translation>
</message>
<message>
<source>Zoom scale &amp;3</source>
- <translation type="unfinished"></translation>
+ <translation>Powiększenie &amp;3</translation>
</message>
<message>
<source>Zoom scale &amp;4</source>
- <translation type="unfinished"></translation>
+ <translation>Powiększenie &amp;4</translation>
</message>
<message>
<source>Zoom &amp;scale...</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;Powiększenie...</translation>
</message>
<message>
<source>&amp;Help</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;Pomoc</translation>
</message>
<message>
<source>&amp;About...</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;Informacje o...</translation>
</message>
<message>
<source>Save Main Screen image</source>
@@ -397,19 +397,19 @@
<name>QVFbRateDialog</name>
<message>
<source>Target frame rate:</source>
- <translation type="unfinished"></translation>
+ <translation>Docelowa częstotliwość:</translation>
</message>
<message>
<source>%1fps</source>
- <translation type="unfinished"></translation>
+ <translation>%1fps</translation>
</message>
<message>
<source>OK</source>
- <translation type="unfinished"></translation>
+ <translation>OK</translation>
</message>
<message>
<source>Cancel</source>
- <translation type="unfinished"></translation>
+ <translation>Anuluj</translation>
</message>
</context>
</TS>