summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Smith <msmith@trolltech.com>2009-11-19 14:35:34 (GMT)
committerMartin Smith <msmith@trolltech.com>2009-11-19 14:35:34 (GMT)
commitfb0ab6fbb9cf01fa4012fe67275ed4a4f3e2b71b (patch)
treec236e338f29c3e12ffdbeafcaed083b29a1f48b9
parent51b3c2e652578f5577c07c22e177699d345c1dd7 (diff)
parentfbbdf8698fb0444d5170b7d0a14e870ea789398f (diff)
downloadQt-fb0ab6fbb9cf01fa4012fe67275ed4a4f3e2b71b.zip
Qt-fb0ab6fbb9cf01fa4012fe67275ed4a4f3e2b71b.tar.gz
Qt-fb0ab6fbb9cf01fa4012fe67275ed4a4f3e2b71b.tar.bz2
Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/oslo-staging-1 into 4.6
-rwxr-xr-xconfigure116
-rwxr-xr-xconfigure.exebin1174528 -> 1175040 bytes
-rw-r--r--demos/affine/xform.cpp4
-rw-r--r--demos/boxes/scene.cpp8
-rw-r--r--demos/browser/bookmarks.cpp38
-rw-r--r--demos/browser/browsermainwindow.cpp62
-rw-r--r--demos/browser/cookiejar.cpp4
-rw-r--r--demos/browser/downloadmanager.cpp4
-rw-r--r--demos/browser/history.cpp78
-rw-r--r--demos/browser/networkaccessmanager.cpp14
-rw-r--r--demos/browser/searchlineedit.cpp4
-rw-r--r--demos/browser/tabwidget.cpp48
-rw-r--r--demos/browser/urllineedit.cpp8
-rw-r--r--demos/browser/webview.cpp16
-rw-r--r--demos/demos.pro2
-rw-r--r--demos/embedded/desktopservices/contenttab.cpp4
-rw-r--r--demos/embedded/fluidlauncher/config_s60/config.xml1
-rw-r--r--demos/embedded/fluidlauncher/demoapplication.cpp4
-rw-r--r--demos/embedded/fluidlauncher/fluidlauncher.pro3
-rw-r--r--demos/embedded/fluidlauncher/screenshots/drilldown_s60.pngbin47687 -> 0 bytes
-rw-r--r--demos/embeddeddialogs/embeddeddialog.cpp4
-rw-r--r--demos/gradients/gradients.cpp6
-rw-r--r--demos/qmediaplayer/mediaplayer.cpp31
-rw-r--r--demos/qmediaplayer/mediaplayer.h2
-rw-r--r--demos/qtdemo/itemcircleanimation.cpp1
-rw-r--r--demos/shared/hoverpoints.cpp2
-rw-r--r--demos/spreadsheet/spreadsheet.cpp8
-rw-r--r--demos/sub-attaq/bomb.cpp2
-rw-r--r--demos/sub-attaq/torpedo.cpp2
-rw-r--r--demos/textedit/textedit.cpp16
-rw-r--r--dist/changes-4.6.0228
-rw-r--r--doc/src/examples/fancybrowser.qdoc4
-rw-r--r--doc/src/getting-started/examples.qdoc2
-rw-r--r--doc/src/getting-started/known-issues.qdoc28
-rw-r--r--doc/src/howtos/HWacceleration.qdoc100
-rw-r--r--doc/src/modules.qdoc35
-rw-r--r--doc/src/platforms/emb-HwAcc-LinuxEmbedded.qdoc62
-rw-r--r--doc/src/platforms/emb-HwAcc-WinCE.qdoc1
-rw-r--r--doc/src/platforms/emb-hardwareacceleration.qdocinc269
-rw-r--r--doc/src/platforms/platform-notes.qdoc103
-rw-r--r--doc/src/platforms/supported-platforms.qdoc19
-rw-r--r--doc/src/platforms/symbian-support.qdoc135
-rw-r--r--doc/src/scripting/scripting.qdoc12
-rw-r--r--doc/src/snippets/code/src_gui_painting_qregion_unix.cpp6
-rw-r--r--examples/activeqt/qutlook/addressview.cpp2
-rw-r--r--examples/activeqt/simple/main.cpp4
-rw-r--r--examples/assistant/simpletextviewer/findfiledialog.cpp8
-rw-r--r--examples/designer/containerextension/multipagewidgetplugin.cpp4
-rw-r--r--examples/dialogs/configdialog/configdialog.cpp4
-rw-r--r--examples/dialogs/findfiles/window.cpp6
-rw-r--r--examples/draganddrop/delayedencoding/sourcewidget.cpp4
-rw-r--r--examples/draganddrop/dropsite/dropsitewindow.cpp4
-rw-r--r--examples/effects/blurpicker/blurpicker.h2
-rw-r--r--examples/effects/customshader/blureffect.cpp69
-rw-r--r--examples/effects/customshader/blureffect.h67
-rw-r--r--examples/effects/customshader/blurpicker.cpp144
-rw-r--r--examples/effects/customshader/blurpicker.h74
-rw-r--r--examples/effects/customshader/blurpicker.qrc14
-rw-r--r--examples/effects/customshader/customshader.pro10
-rw-r--r--examples/effects/customshader/customshadereffect.cpp70
-rw-r--r--examples/effects/customshader/customshadereffect.h64
-rw-r--r--examples/effects/customshader/images/README.txt5
-rw-r--r--examples/effects/customshader/images/accessories-calculator.pngbin3760 -> 0 bytes
-rw-r--r--examples/effects/customshader/images/accessories-text-editor.pngbin4746 -> 0 bytes
-rw-r--r--examples/effects/customshader/images/background.jpgbin16259 -> 0 bytes
-rw-r--r--examples/effects/customshader/images/help-browser.pngbin5392 -> 0 bytes
-rw-r--r--examples/effects/customshader/images/internet-group-chat.pngbin2809 -> 0 bytes
-rw-r--r--examples/effects/customshader/images/internet-mail.pngbin3899 -> 0 bytes
-rw-r--r--examples/effects/customshader/images/internet-web-browser.pngbin6376 -> 0 bytes
-rw-r--r--examples/effects/customshader/images/office-calendar.pngbin4010 -> 0 bytes
-rw-r--r--examples/effects/customshader/images/system-users.pngbin5353 -> 0 bytes
-rw-r--r--examples/effects/customshader/main.cpp55
-rw-r--r--examples/graphicsview/diagramscene/diagramscene.cpp8
-rw-r--r--examples/graphicsview/diagramscene/mainwindow.cpp28
-rw-r--r--examples/graphicsview/portedasteroids/toplevel.cpp8
-rw-r--r--examples/help/contextsensitivehelp/doc/source.html6
-rw-r--r--examples/help/contextsensitivehelp/doc/wateringmachine.qchbin27648 -> 25600 bytes
-rw-r--r--examples/help/contextsensitivehelp/doc/wateringmachine.qhcbin10240 -> 8192 bytes
-rw-r--r--examples/help/contextsensitivehelp/doc/wateringmachine.qhp46
-rw-r--r--examples/help/contextsensitivehelp/wateringconfigdialog.cpp4
-rw-r--r--examples/help/contextsensitivehelp/wateringconfigdialog.ui2
-rw-r--r--examples/help/remotecontrol/remotecontrol.cpp2
-rw-r--r--examples/help/simpletextviewer/findfiledialog.cpp8
-rw-r--r--examples/ipc/localfortuneclient/client.cpp2
-rw-r--r--examples/itemviews/addressbook/addresswidget.cpp8
-rw-r--r--examples/itemviews/addressbook/mainwindow.cpp4
-rw-r--r--examples/itemviews/basicsortfiltermodel/window.cpp2
-rw-r--r--examples/itemviews/customsortfiltermodel/window.cpp6
-rw-r--r--examples/itemviews/fetchmore/window.cpp6
-rw-r--r--examples/itemviews/frozencolumn/freezetablewidget.cpp8
-rw-r--r--examples/mainwindows/dockwidgets/mainwindow.cpp8
-rw-r--r--examples/mainwindows/mdi/mainwindow.cpp6
-rw-r--r--examples/network/blockingfortuneclient/blockingclient.cpp12
-rw-r--r--examples/network/fortuneclient/client.cpp4
-rw-r--r--examples/network/googlesuggest/googlesuggest.cpp2
-rw-r--r--examples/network/http/httpwindow.cpp22
-rw-r--r--examples/network/network-chat/chatdialog.cpp12
-rw-r--r--examples/network/network-chat/client.cpp12
-rw-r--r--examples/network/qftp/ftpwindow.cpp18
-rw-r--r--examples/network/torrent/addtorrentdialog.cpp4
-rw-r--r--examples/network/torrent/mainwindow.cpp4
-rw-r--r--examples/network/torrent/torrentclient.cpp24
-rw-r--r--examples/network/torrent/torrentserver.cpp4
-rw-r--r--examples/painting/fontsampler/mainwindow.cpp12
-rw-r--r--examples/painting/svgviewer/mainwindow.cpp4
-rw-r--r--examples/phonon/qmusicplayer/mainwindow.cpp14
-rw-r--r--examples/qtconcurrent/progressdialog/main.cpp2
-rw-r--r--examples/script/context2d/window.cpp2
-rw-r--r--examples/sql/drilldown/informationwindow.cpp26
-rw-r--r--examples/sql/drilldown/view.cpp8
-rw-r--r--examples/sql/masterdetail/mainwindow.cpp8
-rw-r--r--examples/threads/mandelbrot/mandelbrotwidget.cpp4
-rw-r--r--examples/tools/customcompleter/textedit.cpp4
-rw-r--r--examples/tools/inputpanel/myinputpanel.cpp8
-rw-r--r--examples/tools/regexp/regexpdialog.cpp4
-rw-r--r--examples/tools/settingseditor/settingstree.cpp8
-rw-r--r--examples/tools/treemodelcompleter/mainwindow.cpp12
-rw-r--r--examples/tools/undoframework/mainwindow.cpp4
-rw-r--r--examples/webkit/fancybrowser/mainwindow.cpp10
-rw-r--r--examples/webkit/fancybrowser/mainwindow.h3
-rw-r--r--examples/widgets/calendarwidget/window.cpp16
-rw-r--r--examples/widgets/charactermap/mainwindow.cpp24
-rw-r--r--examples/widgets/codeeditor/codeeditor.cpp2
-rw-r--r--examples/widgets/icons/mainwindow.cpp2
-rw-r--r--examples/widgets/spinboxes/window.cpp4
-rw-r--r--examples/widgets/styles/widgetgallery.cpp4
-rw-r--r--examples/widgets/tablet/mainwindow.cpp12
-rw-r--r--examples/xml/dombookmarks/xbeltree.cpp8
-rw-r--r--examples/xml/rsslisting/rsslisting.cpp10
-rw-r--r--projects.pro7
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp10
-rw-r--r--src/3rdparty/harfbuzz/tests/shaping/main.cpp34
-rw-r--r--src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri2
-rw-r--r--src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pro69
-rw-r--r--src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h10
-rw-r--r--src/3rdparty/phonon/ds9/backend.cpp9
-rw-r--r--src/3rdparty/phonon/ds9/backend.h2
-rw-r--r--src/3rdparty/phonon/ds9/backendnode.cpp19
-rw-r--r--src/3rdparty/phonon/ds9/mediaobject.cpp18
-rw-r--r--src/3rdparty/phonon/gstreamer/mediaobject.cpp4
-rw-r--r--src/3rdparty/phonon/mmf/abstractmediaplayer.cpp6
-rw-r--r--src/3rdparty/phonon/mmf/abstractmediaplayer.h2
-rw-r--r--src/3rdparty/phonon/mmf/abstractplayer.cpp7
-rw-r--r--src/3rdparty/phonon/mmf/abstractplayer.h4
-rw-r--r--src/3rdparty/phonon/mmf/audiooutput.cpp20
-rw-r--r--src/3rdparty/phonon/mmf/audiooutput.h8
-rw-r--r--src/3rdparty/phonon/mmf/backend.cpp4
-rw-r--r--src/3rdparty/phonon/mmf/mediaobject.cpp9
-rw-r--r--src/3rdparty/phonon/mmf/mediaobject.h8
-rw-r--r--src/3rdparty/phonon/mmf/mmf_videoplayer.cpp335
-rw-r--r--src/3rdparty/phonon/mmf/mmf_videoplayer.h28
-rw-r--r--src/3rdparty/phonon/mmf/mmfphonondebug/objectdump_stub.cpp40
-rw-r--r--src/3rdparty/phonon/mmf/objectdump.cpp (renamed from src/3rdparty/phonon/mmf/mmfphonondebug/objectdump.cpp)4
-rw-r--r--src/3rdparty/phonon/mmf/objectdump.h (renamed from src/3rdparty/phonon/mmf/mmfphonondebug/objectdump.h)0
-rw-r--r--src/3rdparty/phonon/mmf/objectdump_global.h (renamed from src/3rdparty/phonon/mmf/mmfphonondebug/objectdump_global.h)0
-rw-r--r--src/3rdparty/phonon/mmf/objectdump_symbian.cpp (renamed from src/3rdparty/phonon/mmf/mmfphonondebug/objectdump_symbian.cpp)56
-rw-r--r--src/3rdparty/phonon/mmf/objectdump_symbian.h (renamed from src/3rdparty/phonon/mmf/mmfphonondebug/objectdump_symbian.h)0
-rw-r--r--src/3rdparty/phonon/mmf/objecttree.cpp (renamed from src/3rdparty/phonon/mmf/mmfphonondebug/objecttree.cpp)4
-rw-r--r--src/3rdparty/phonon/mmf/objecttree.h (renamed from src/3rdparty/phonon/mmf/mmfphonondebug/objecttree.h)0
-rw-r--r--src/3rdparty/phonon/mmf/videooutput.cpp135
-rw-r--r--src/3rdparty/phonon/mmf/videooutput.h39
-rw-r--r--src/3rdparty/phonon/mmf/videooutputobserver.h44
-rw-r--r--src/3rdparty/phonon/mmf/videowidget.cpp25
-rw-r--r--src/3rdparty/phonon/mmf/videowidget.h7
-rw-r--r--src/3rdparty/phonon/mmf/volumeobserver.h44
-rw-r--r--src/3rdparty/phonon/phonon/factory.cpp2
-rw-r--r--src/3rdparty/phonon/phonon/mediaobject.cpp12
-rw-r--r--src/3rdparty/phonon/phonon/seekslider.cpp4
-rw-r--r--src/3rdparty/phonon/waveout/mediaobject.cpp4
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/ChangeLog12
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri2
-rw-r--r--src/3rdparty/webkit/VERSION2
-rw-r--r--src/3rdparty/webkit/WebCore/ChangeLog15
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/FontFallbackListQt.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/MediaPlayerPrivatePhonon.cpp8
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.cpp16
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp16
-rw-r--r--src/3rdparty/webkit/WebKit/qt/ChangeLog29
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp4
-rw-r--r--src/3rdparty/webkit/WebKit/qt/docs/qtwebkit.qdoc7
-rw-r--r--src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/qtwebkit_qwebinspector_snippet.cpp2
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp2
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp4
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp11
-rw-r--r--src/corelib/global/global.pri2
-rw-r--r--src/corelib/global/qfeatures.h70
-rw-r--r--src/corelib/global/qfeatures.txt2
-rw-r--r--src/corelib/global/qglobal.h2
-rw-r--r--src/corelib/global/qlibraryinfo.cpp12
-rw-r--r--src/corelib/io/qdatastream.cpp2
-rw-r--r--src/corelib/io/qdatastream.h2
-rw-r--r--src/corelib/io/qdatastream_p.h2
-rw-r--r--src/corelib/io/qfilesystemwatcher_win.cpp8
-rw-r--r--src/corelib/io/qiodevice.cpp3
-rw-r--r--src/corelib/kernel/qsharedmemory_unix.cpp2
-rw-r--r--src/corelib/kernel/qtcore_eval.cpp26
-rw-r--r--src/corelib/statemachine/qstatemachine.h4
-rw-r--r--src/corelib/tools/qbytearray.cpp4
-rw-r--r--src/corelib/tools/qbytearray.h2
-rw-r--r--src/corelib/tools/qstring.cpp2
-rw-r--r--src/corelib/tools/qstring.h2
-rw-r--r--src/dbus/qdbusconnection.cpp3
-rw-r--r--src/dbus/qdbusconnection_p.h1
-rw-r--r--src/dbus/qdbusconnectioninterface.cpp5
-rw-r--r--src/dbus/qdbusintegrator.cpp19
-rw-r--r--src/dbus/qdbusserver.cpp4
-rw-r--r--src/gui/dialogs/qcolordialog.cpp8
-rw-r--r--src/gui/dialogs/qfiledialog.cpp46
-rw-r--r--src/gui/dialogs/qfiledialog_win.cpp2
-rw-r--r--src/gui/dialogs/qfileinfogatherer.cpp4
-rw-r--r--src/gui/dialogs/qfilesystemmodel.cpp12
-rw-r--r--src/gui/dialogs/qfontdialog.cpp4
-rw-r--r--src/gui/dialogs/qinputdialog.cpp20
-rw-r--r--src/gui/dialogs/qprintdialog_qws.cpp8
-rw-r--r--src/gui/dialogs/qprintpreviewdialog.cpp2
-rw-r--r--src/gui/dialogs/qsidebar.cpp28
-rw-r--r--src/gui/dialogs/qwizard.cpp8
-rw-r--r--src/gui/graphicsview/qgraphicsscene.cpp17
-rw-r--r--src/gui/graphicsview/qgraphicssceneindex.cpp4
-rw-r--r--src/gui/graphicsview/qgraphicsview.cpp2
-rw-r--r--src/gui/image/qpixmap_mac.cpp7
-rw-r--r--src/gui/image/qpixmap_mac_p.h1
-rw-r--r--src/gui/image/qpixmap_x11.cpp5
-rw-r--r--src/gui/itemviews/qcolumnview.cpp24
-rw-r--r--src/gui/itemviews/qheaderview.cpp7
-rw-r--r--src/gui/itemviews/qlistview.cpp26
-rw-r--r--src/gui/itemviews/qtreeview.cpp4
-rw-r--r--src/gui/kernel/kernel.pri3
-rw-r--r--src/gui/kernel/qapplication.cpp76
-rw-r--r--src/gui/kernel/qapplication_p.h2
-rw-r--r--src/gui/kernel/qapplication_s60.cpp20
-rw-r--r--src/gui/kernel/qevent.h3
-rw-r--r--src/gui/kernel/qeventdispatcher_s60.cpp2
-rw-r--r--src/gui/kernel/qformlayout.cpp9
-rw-r--r--src/gui/kernel/qkeysequence.cpp2
-rw-r--r--src/gui/kernel/qmultitouch_mac.mm1
-rw-r--r--src/gui/kernel/qsoftkeymanager.cpp4
-rw-r--r--src/gui/kernel/qt_s60_p.h1
-rw-r--r--src/gui/kernel/qwidget.cpp3
-rw-r--r--src/gui/kernel/qwidgetaction.cpp4
-rw-r--r--src/gui/painting/qblendfunctions.cpp7
-rw-r--r--src/gui/painting/qpaintbuffer.cpp2
-rw-r--r--src/gui/painting/qpdf.cpp6
-rw-r--r--src/gui/painting/qtextureglyphcache.cpp2
-rw-r--r--src/gui/styles/qcleanlooksstyle.cpp1
-rw-r--r--src/gui/styles/qgtkstyle.cpp36
-rw-r--r--src/gui/styles/qgtkstyle_p.cpp62
-rw-r--r--src/gui/styles/qgtkstyle_p.h19
-rw-r--r--src/gui/styles/qs60style.cpp78
-rw-r--r--src/gui/styles/qs60style_p.h4
-rw-r--r--src/gui/styles/qstylesheetstyle.cpp8
-rw-r--r--src/gui/styles/qwindowsstyle.cpp2
-rw-r--r--src/gui/text/qfontmetrics.cpp22
-rw-r--r--src/gui/text/qtextdocument_p.cpp4
-rw-r--r--src/gui/widgets/qlineedit.cpp53
-rw-r--r--src/gui/widgets/qlineedit_p.cpp18
-rw-r--r--src/gui/widgets/qmdiarea.cpp4
-rw-r--r--src/gui/widgets/qmdisubwindow.cpp4
-rw-r--r--src/gui/widgets/qmenu.cpp25
-rw-r--r--src/gui/widgets/qmenu_p.h3
-rw-r--r--src/gui/widgets/qmenubar.cpp2
-rw-r--r--src/gui/widgets/qplaintextedit.cpp3
-rw-r--r--src/gui/widgets/qtabwidget.cpp4
-rw-r--r--src/gui/widgets/qtextedit.cpp7
-rw-r--r--src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp48
-rw-r--r--src/multimedia/audio/qaudioinput.cpp1
-rw-r--r--src/multimedia/audio/qaudioinput_alsa_p.cpp25
-rw-r--r--src/multimedia/audio/qaudiooutput_alsa_p.cpp21
-rw-r--r--src/network/access/qhttp.cpp8
-rw-r--r--src/network/access/qhttpnetworkconnectionchannel.cpp10
-rw-r--r--src/network/socket/qnativesocketengine.cpp40
-rw-r--r--src/network/socket/qnativesocketengine_win.cpp34
-rw-r--r--src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp4
-rw-r--r--src/opengl/qgl.cpp58
-rw-r--r--src/opengl/qgl_p.h3
-rw-r--r--src/opengl/qgl_x11.cpp27
-rw-r--r--src/opengl/qglpixelbuffer_egl.cpp65
-rw-r--r--src/opengl/qpaintengine_opengl.cpp20
-rw-r--r--src/opengl/qwindowsurface_gl.cpp2
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp4
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp2
-rw-r--r--src/plugins/phonon/mmf/mmf.pro101
-rw-r--r--src/plugins/phonon/mmf/mmfphonondebug/mmfphonondebug.pro31
-rw-r--r--src/plugins/phonon/mmf/plugin/plugin.pro91
-rw-r--r--src/plugins/phonon/phonon.pro4
-rw-r--r--src/qbase.pri2
-rw-r--r--src/qt3support/dialogs/q3filedialog.cpp5
-rw-r--r--src/qt3support/dialogs/q3filedialog.h4
-rw-r--r--src/qt3support/dialogs/q3filedialog_mac.cpp23
-rw-r--r--src/script/api/qscriptengine.cpp8
-rw-r--r--src/scripttools/debugging/qscriptdebuggercodefinderwidget.cpp2
-rw-r--r--src/scripttools/debugging/qscriptedit.cpp4
-rw-r--r--src/tools/bootstrap/bootstrap.pri2
-rw-r--r--src/tools/bootstrap/bootstrap.pro9
-rw-r--r--src/tools/rcc/rcc.cpp40
-rw-r--r--src/tools/uic/cpp/cppwriteinitialization.cpp15
-rw-r--r--src/tools/uic/customwidgetsinfo.cpp8
-rw-r--r--src/tools/uic/customwidgetsinfo.h2
-rw-r--r--src/tools/uic/uic.cpp5
-rw-r--r--src/tools/uic/uic.h1
-rw-r--r--src/tools/uic3/uic.cpp5
-rw-r--r--src/tools/uic3/uic.h1
-rw-r--r--tests/auto/auto.pro62
-rw-r--r--tests/auto/collections/tst_collections.cpp2
-rw-r--r--tests/auto/guiapplauncher/README.txt14
-rw-r--r--tests/auto/guiapplauncher/guiapplauncher.pro20
-rw-r--r--tests/auto/guiapplauncher/test.ts973
-rw-r--r--tests/auto/guiapplauncher/test.ui66
-rw-r--r--tests/auto/guiapplauncher/tst_guiapplauncher.cpp526
-rw-r--r--tests/auto/guiapplauncher/windowmanager.cpp508
-rw-r--r--tests/auto/guiapplauncher/windowmanager.h (renamed from tests/auto/qsysinfo/tst_qsysinfo.cpp)38
-rw-r--r--tests/auto/qalgorithms/tst_qalgorithms.cpp4
-rw-r--r--tests/auto/qcombobox/tst_qcombobox.cpp15
-rw-r--r--tests/auto/qdbusservicewatcher/tst_qdbusservicewatcher.cpp12
-rw-r--r--tests/auto/qfile/qfile.pro2
-rw-r--r--tests/auto/qfontmetrics/tst_qfontmetrics.cpp14
-rw-r--r--tests/auto/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp23
-rw-r--r--tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp76
-rw-r--r--tests/auto/qgraphicsview/tst_qgraphicsview.cpp9
-rw-r--r--tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp24
-rw-r--r--tests/auto/qlibrary/lib2/lib2.pro6
-rw-r--r--tests/auto/qlistview/tst_qlistview.cpp42
-rw-r--r--tests/auto/qmenu/tst_qmenu.cpp39
-rw-r--r--tests/auto/qsslsocket/tst_qsslsocket.cpp1
-rw-r--r--tests/auto/qstatemachine/tst_qstatemachine.cpp8
-rw-r--r--tests/auto/qsysinfo/.gitignore1
-rw-r--r--tests/auto/qsysinfo/qsysinfo.pro5
-rw-r--r--tests/auto/qtableview/tst_qtableview.cpp27
-rw-r--r--tests/auto/qtcpsocket/tst_qtcpsocket.cpp17
-rw-r--r--tests/auto/qtextdocument/tst_qtextdocument.cpp11
-rw-r--r--tests/auto/qtextscriptengine/tst_qtextscriptengine.cpp27
-rw-r--r--tests/auto/qtreeview/tst_qtreeview.cpp2
-rw-r--r--tests/auto/rcc/rcc.pro6
-rw-r--r--tests/auto/rcc/tst_rcc.cpp2
-rw-r--r--tests/auto/uic/baseline/mainwindowbase.ui.h1
-rw-r--r--tests/auto/windowsmobile/test/test.pro2
-rw-r--r--tests/auto/windowsmobile/testQMenuBar/testQMenuBar.pro3
-rw-r--r--tests/manual/keypadnavigation/keypadnavigation.ui157
-rw-r--r--tests/manual/keypadnavigation/main.cpp8
-rw-r--r--tools/activeqt/testcon/mainwindow.cpp20
-rw-r--r--tools/assistant/compat/helpdialog.cpp2
-rw-r--r--tools/assistant/compat/tabbedbrowser.cpp4
-rw-r--r--tools/assistant/lib/qhelpcontentwidget.cpp4
-rw-r--r--tools/assistant/lib/qhelpengine.cpp2
-rw-r--r--tools/assistant/lib/qhelpenginecore.cpp4
-rw-r--r--tools/assistant/lib/qhelpindexwidget.cpp4
-rw-r--r--tools/assistant/lib/qhelpsearchresultwidget.cpp16
-rw-r--r--tools/assistant/tools/assistant/bookmarkmanager.cpp2
-rw-r--r--tools/assistant/tools/assistant/centralwidget.cpp2
-rw-r--r--tools/assistant/tools/assistant/helpviewer.cpp2
-rw-r--r--tools/assistant/tools/assistant/indexwindow.cpp6
-rw-r--r--tools/assistant/tools/assistant/installdialog.cpp12
-rw-r--r--tools/assistant/tools/assistant/main.cpp5
-rw-r--r--tools/assistant/tools/assistant/mainwindow.cpp8
-rw-r--r--tools/assistant/tools/assistant/preferencesdialog.cpp4
-rw-r--r--tools/assistant/tools/assistant/remotecontrol.cpp4
-rw-r--r--tools/assistant/tools/qhelpconverter/generalpage.cpp4
-rw-r--r--tools/assistant/tools/qhelpconverter/outputpage.cpp4
-rw-r--r--tools/assistant/tools/shared/helpgenerator.cpp8
-rw-r--r--tools/configure/configureapp.cpp3
-rw-r--r--tools/configure/tools.cpp104
-rw-r--r--tools/designer/src/components/formeditor/brushmanagerproxy.cpp10
-rw-r--r--tools/designer/src/components/formeditor/formeditor.cpp4
-rw-r--r--tools/designer/src/components/formeditor/qdesigner_resource.cpp4
-rw-r--r--tools/designer/src/components/propertyeditor/designerpropertymanager.cpp26
-rw-r--r--tools/designer/src/components/propertyeditor/paletteeditor.cpp10
-rw-r--r--tools/designer/src/components/propertyeditor/stringlisteditor.cpp6
-rw-r--r--tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp8
-rw-r--r--tools/designer/src/components/taskmenu/containerwidget_taskmenu.cpp4
-rw-r--r--tools/designer/src/designer/qdesigner_workbench.cpp4
-rw-r--r--tools/designer/src/lib/shared/actioneditor.cpp4
-rw-r--r--tools/designer/src/lib/shared/actionrepository.cpp8
-rw-r--r--tools/designer/src/lib/shared/promotionmodel.cpp2
-rw-r--r--tools/designer/src/lib/shared/qdesigner_integration.cpp2
-rw-r--r--tools/designer/src/lib/shared/qdesigner_menubar.cpp10
-rw-r--r--tools/designer/src/lib/shared/qdesigner_promotiondialog.cpp14
-rw-r--r--tools/designer/src/lib/shared/qdesigner_taskmenu.cpp2
-rw-r--r--tools/designer/src/lib/shared/qtresourceeditordialog.cpp68
-rw-r--r--tools/designer/src/lib/shared/qtresourcemodel.cpp4
-rw-r--r--tools/designer/src/lib/shared/qtresourceview.cpp20
-rw-r--r--tools/designer/src/lib/shared/signalslotdialog.cpp4
-rw-r--r--tools/designer/src/lib/shared/stylesheeteditor.cpp4
-rw-r--r--tools/designer/src/lib/uilib/abstractformbuilder.cpp19
-rw-r--r--tools/designer/src/lib/uilib/formbuilder.cpp9
-rw-r--r--tools/designer/src/lib/uilib/formbuilderextra.cpp62
-rw-r--r--tools/designer/src/lib/uilib/formbuilderextra_p.h23
-rw-r--r--tools/designer/src/plugins/widgets/q3wizard/q3wizard_container.cpp2
-rw-r--r--tools/designer/translations/translations.pro1
-rw-r--r--tools/linguist/linguist/finddialog.cpp2
-rw-r--r--tools/linguist/linguist/mainwindow.cpp2
-rw-r--r--tools/linguist/linguist/messageeditor.cpp30
-rw-r--r--tools/linguist/linguist/phrasebookbox.cpp2
-rw-r--r--tools/linguist/lrelease/lrelease.pro13
-rw-r--r--tools/linguist/lrelease/main.cpp127
-rw-r--r--tools/linguist/phrasebooks/french.qph40
-rw-r--r--tools/linguist/shared/proparserutils.h25
-rw-r--r--tools/linguist/shared/qm.cpp2
-rw-r--r--tools/linguist/shared/translator.cpp10
-rw-r--r--tools/linguist/shared/translator.h12
-rw-r--r--tools/qconfig/main.cpp6
-rw-r--r--tools/qdbus/qdbusviewer/qdbusviewer.cpp2
-rw-r--r--tools/qdoc3/htmlgenerator.cpp10
-rw-r--r--tools/qdoc3/test/qt-html-templates.qdocconf16
-rw-r--r--tools/qvfb/qvfbview.cpp4
-rw-r--r--tools/shared/fontpanel/fontpanel.cpp2
-rw-r--r--tools/shared/qtgradienteditor/qtgradientdialog.cpp4
-rw-r--r--tools/shared/qtgradienteditor/qtgradienteditor.cpp24
-rw-r--r--tools/shared/qtgradienteditor/qtgradientstopscontroller.cpp50
-rw-r--r--tools/shared/qtgradienteditor/qtgradientstopswidget.cpp56
-rw-r--r--tools/shared/qtgradienteditor/qtgradientview.cpp38
-rw-r--r--tools/shared/qtgradienteditor/qtgradientviewdialog.cpp8
-rw-r--r--tools/shared/qtpropertybrowser/qteditorfactory.cpp284
-rw-r--r--tools/shared/qtpropertybrowser/qtpropertybrowser.cpp20
-rw-r--r--tools/shared/qtpropertybrowser/qtpropertymanager.cpp112
-rw-r--r--tools/shared/qtpropertybrowser/qttreepropertybrowser.cpp6
-rw-r--r--tools/shared/qtpropertybrowser/qtvariantproperty.cpp332
-rw-r--r--tools/shared/qttoolbardialog/qttoolbardialog.cpp20
-rw-r--r--translations/assistant_fr.ts84
-rw-r--r--translations/designer_fr.ts7046
-rw-r--r--translations/qt_fr.ts228
-rw-r--r--translations/translations.pri35
-rw-r--r--translations/translations.pro42
422 files changed, 13656 insertions, 3776 deletions
diff --git a/configure b/configure
index b6ce9e6..c869e0e 100755
--- a/configure
+++ b/configure
@@ -226,6 +226,7 @@ COMMERCIAL_USER=ask
CFG_DEV=no
CFG_NOKIA=no
CFG_EMBEDDED=no
+CFG_RTOS_ENABLED=yes
EditionString=Commercial
earlyArgParse()
@@ -404,7 +405,7 @@ elif [ $COMMERCIAL_USER = "yes" ]; then
exit 1
fi
ProductCode=`echo $LicenseKeyExt | cut -f 1 -d - | cut -b 1`
- PlatformCode=`echo $LicenseKeyExt | cut -f 2 -d - | cut -b 1`
+ PlatformCode=`echo $LicenseKeyExt | cut -f 2 -d -`
LicenseTypeCode=`echo $LicenseKeyExt | cut -f 3 -d -`
LicenseFeatureCode=`echo $LicenseKeyExt | cut -f 4 -d - | cut -b 1`
@@ -448,65 +449,46 @@ elif [ $COMMERCIAL_USER = "yes" ]; then
# verify that we are licensed to use Qt on this platform
LICENSE_EXTENSION=
- if [ "$PlatformCode" = "X" ]; then
- # Qt All-OS
- LICENSE_EXTENSION="-ALLOS"
- elif [ "$PLATFORM_QWS" = "yes" ]; then
- case $PlatformCode in
- 2|4|8|A|B|E|G|J|K|P|Q|S|U|V|W)
+ case "$PlatformCode" in
+ *L)
+ CFG_RTOS_ENABLED=yes
+ PlatformCode=`echo "$PlatformCode" | sed 'h;y/8NPQRTZ/UCWX9M7/;x;G;s/\(.\)....\(.\)./\1\2/'`
+ ;;
+ *)
+ CFG_RTOS_ENABLED=no
+ PlatformCode=`echo "$PlatformCode" | sed 's/.$//'`
+ ;;
+ esac
+ case "$PlatformCode,$PLATFORM_MAC,$PLATFORM_QWS" in
+ X9,* | XC,* | XU,* | XW,*)
+ # Qt All-OS
+ LICENSE_EXTENSION="-ALLOS"
+ ;;
+ 8M,* | S9,* | SC,* | SU,* | SW,* | X9,* | XC,* | XU,* | XW,*)
# Qt for Embedded Linux
LICENSE_EXTENSION="-EMBEDDED"
;;
- *)
- echo
- echo "You are not licensed for Qt for Embedded Linux."
- echo
- echo "Please contact qt-info@nokia.com to upgrade your license"
- echo "to include Qt for Embedded Linux, or install the"
- echo "Qt Open Source Edition if you intend to develop free software."
- exit 1
+ 6M,*,no | N7,*,no | N9,*,no | NX,*,no)
+ # Embedded no-deploy
+ LICENSE_EXTENSION="-EMBEDDED"
;;
- esac
- elif [ "$PLATFORM_MAC" = "yes" ]; then
- case $PlatformCode in
- 2|4|5|7|9|B|C|E|F|G|L|M|U|W|Y)
- # Qt/Mac
+ FM,*,no | LM,yes,* | ZM,no,no)
+ # Desktop
LICENSE_EXTENSION="-DESKTOP"
;;
- 3|6|8|A|D|H|J|K|P|Q|S|V)
- # Embedded no-deploy
- LICENSE_EXTENSION="-EMBEDDED"
- ;;
*)
+ Platform=Linux/X11
+ [ "$PLATFORM_MAC" = "yes" ] && Platform='Mac OS X'
+ [ "$PLATFORM_QWS" = "yes" ] && Platform='Embedded Linux'
echo
- echo "You are not licensed for the Qt/Mac platform."
+ echo "You are not licensed for the $Platform platform."
echo
- echo "Please contact qt-info@nokia.com to upgrade your license"
- echo "to include the Qt/Mac platform."
+ echo "Please contact qt-info@nokia.com to upgrade your license to"
+ echo "include the $Platform platform, or install the Qt Open Source Edition"
+ echo "if you intend to develop free software."
exit 1
;;
- esac
- else
- case $PlatformCode in
- 2|3|4|5|7|D|E|F|J|M|Q|S|T|V|Z)
- # Qt/X11
- LICENSE_EXTENSION="-DESKTOP"
- ;;
- 6|8|9|A|B|C|G|H|K|P|U|W)
- # Embedded no-deploy
- LICENSE_EXTENSION="-EMBEDDED"
- ;;
- *)
- echo
- echo "You are not licensed for the Qt/X11 platform."
- echo
- echo "Please contact qt-info@nokia.com to upgrade your license to"
- echo "include the Qt/X11 platform, or install the Qt Open Source Edition"
- echo "if you intend to develop free software."
- exit 1
- ;;
- esac
- fi
+ esac
if test -r "$relpath/.LICENSE"; then
# Generic, non-final license
@@ -533,7 +515,7 @@ elif [ $COMMERCIAL_USER = "yes" ]; then
fi
case "$LicenseFeatureCode" in
- G|L)
+ B|G|L|Y)
# US
case "$LicenseType" in
Commercial)
@@ -544,7 +526,7 @@ elif [ $COMMERCIAL_USER = "yes" ]; then
;;
esac
;;
- 2|5)
+ 2|4|5|F)
# non-US
case "$LicenseType" in
Commercial)
@@ -561,6 +543,14 @@ elif [ $COMMERCIAL_USER = "yes" ]; then
exit 1
;;
esac
+ case "$LicenseFeatureCode" in
+ 4|B|F|Y)
+ CFG_RTOS_ENABLED=yes
+ ;;
+ 2|5|G|L)
+ CFG_RTOS_ENABLED=no
+ ;;
+ esac
if [ '!' -f "$outpath/LICENSE" ]; then
echo "The LICENSE, LICENSE.GPL3 LICENSE.LGPL file shipped with"
echo "this software has disappeared."
@@ -2629,6 +2619,20 @@ if [ "$CFG_EMBEDDED" != "no" -a "$CFG_EMBEDDED" != "auto" ] && [ -n "$CFG_ARCH"
fi
fi
+if [ "$CFG_RTOS_ENABLED" = "no" ]; then
+ case `basename "$XPLATFORM"` in
+ qnx-* | vxworks-*)
+ echo ""
+ echo "You are not licensed for Qt for `basename $XPLATFORM`."
+ echo ""
+ echo "Please contact qt-info@nokia.com to upgrade your license to"
+ echo "include this platform, or install the Qt Open Source Edition"
+ echo "if you intend to develop free software."
+ exit 1
+ ;;
+ esac
+fi
+
if [ -z "${CFG_HOST_ARCH}" ]; then
case "$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_MACHINE" in
IRIX*:*:*)
@@ -3883,10 +3887,10 @@ fi # Help
if [ "$PLATFORM_QWS" = "yes" ]; then
Platform="Qt for Embedded Linux"
elif [ "$PLATFORM_MAC" = "yes" ]; then
- Platform="Qt/Mac"
+ Platform="Qt for Mac OS X"
else
PLATFORM_X11=yes
- Platform="Qt/X11"
+ Platform="Qt for Linux/X11"
fi
echo
@@ -7577,6 +7581,9 @@ FNR == 1 {
if ( \$3 == "moc" || \$3 ~ /^Qt/ ) {
target_file = first
matched_target = 1
+ } else if ( \$3 == "lrelease" || \$3 == "qm_phony_target" ) {
+ target_file = second
+ matched_target = 1
}
}
@@ -7661,6 +7668,7 @@ for part in $CFG_BUILD_PARTS; do
case "$part" in
tools) PART_ROOTS="$PART_ROOTS tools" ;;
libs) PART_ROOTS="$PART_ROOTS src" ;;
+ translations) PART_ROOTS="$PART_ROOTS tools/linguist/lrelease translations" ;;
examples) PART_ROOTS="$PART_ROOTS examples demos" ;;
*) ;;
esac
@@ -7688,7 +7696,7 @@ for file in .projects .projects.3; do
*s60main/s60main.pro) continue ;;
*examples/activeqt/*) continue ;;
*/qmake/qmake.pro) continue ;;
- *tools/bootstrap*|*tools/moc*|*tools/rcc*|*tools/uic*) SPEC=$QMAKESPEC ;;
+ *tools/bootstrap*|*tools/moc*|*tools/rcc*|*tools/uic*|*linguist/lrelease*) SPEC=$QMAKESPEC ;;
*) SPEC=$XQMAKESPEC ;;
esac
dir=`dirname "$a" | sed -e "s;$sepath;.;g"`
diff --git a/configure.exe b/configure.exe
index 2c126df..a970696 100755
--- a/configure.exe
+++ b/configure.exe
Binary files differ
diff --git a/demos/affine/xform.cpp b/demos/affine/xform.cpp
index 8c4839f..60bb3b1 100644
--- a/demos/affine/xform.cpp
+++ b/demos/affine/xform.cpp
@@ -68,8 +68,8 @@ XFormView::XFormView(QWidget *parent)
pts->setBoundingRect(QRectF(0, 0, 500, 500));
ctrlPoints << QPointF(250, 250) << QPointF(350, 250);
pts->setPoints(ctrlPoints);
- connect(pts, SIGNAL(pointsChanged(const QPolygonF&)),
- this, SLOT(updateCtrlPoints(const QPolygonF &)));
+ connect(pts, SIGNAL(pointsChanged(QPolygonF)),
+ this, SLOT(updateCtrlPoints(QPolygonF)));
setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
}
diff --git a/demos/boxes/scene.cpp b/demos/boxes/scene.cpp
index 06dc0f9..452f4ef 100644
--- a/demos/boxes/scene.cpp
+++ b/demos/boxes/scene.cpp
@@ -345,7 +345,7 @@ RenderOptionsDialog::RenderOptionsDialog()
ColorEdit *colorEdit = new ColorEdit(it->toUInt(&ok, 16), m_parameterNames.size() - 1);
m_parameterEdits << colorEdit;
layout->addWidget(colorEdit);
- connect(colorEdit, SIGNAL(colorChanged(QRgb, int)), this, SLOT(setColorParameter(QRgb, int)));
+ connect(colorEdit, SIGNAL(colorChanged(QRgb,int)), this, SLOT(setColorParameter(QRgb,int)));
++row;
} else if (type == "float") {
layout->addWidget(new QLabel(m_parameterNames.back()));
@@ -353,7 +353,7 @@ RenderOptionsDialog::RenderOptionsDialog()
FloatEdit *floatEdit = new FloatEdit(it->toFloat(&ok), m_parameterNames.size() - 1);
m_parameterEdits << floatEdit;
layout->addWidget(floatEdit);
- connect(floatEdit, SIGNAL(valueChanged(float, int)), this, SLOT(setFloatParameter(float, int)));
+ connect(floatEdit, SIGNAL(valueChanged(float,int)), this, SLOT(setFloatParameter(float,int)));
++row;
}
}
@@ -496,8 +496,8 @@ Scene::Scene(int width, int height, int maxTextureSize)
m_renderOptions->resize(m_renderOptions->sizeHint());
connect(m_renderOptions, SIGNAL(dynamicCubemapToggled(int)), this, SLOT(toggleDynamicCubemap(int)));
- connect(m_renderOptions, SIGNAL(colorParameterChanged(const QString &, QRgb)), this, SLOT(setColorParameter(const QString &, QRgb)));
- connect(m_renderOptions, SIGNAL(floatParameterChanged(const QString &, float)), this, SLOT(setFloatParameter(const QString &, float)));
+ connect(m_renderOptions, SIGNAL(colorParameterChanged(QString,QRgb)), this, SLOT(setColorParameter(QString,QRgb)));
+ connect(m_renderOptions, SIGNAL(floatParameterChanged(QString,float)), this, SLOT(setFloatParameter(QString,float)));
connect(m_renderOptions, SIGNAL(textureChanged(int)), this, SLOT(setTexture(int)));
connect(m_renderOptions, SIGNAL(shaderChanged(int)), this, SLOT(setShader(int)));
diff --git a/demos/browser/bookmarks.cpp b/demos/browser/bookmarks.cpp
index edafb76..87e362c 100644
--- a/demos/browser/bookmarks.cpp
+++ b/demos/browser/bookmarks.cpp
@@ -72,11 +72,11 @@ BookmarksManager::BookmarksManager(QObject *parent)
, m_bookmarkRootNode(0)
, m_bookmarkModel(0)
{
- connect(this, SIGNAL(entryAdded(BookmarkNode *)),
+ connect(this, SIGNAL(entryAdded(BookmarkNode*)),
m_saveTimer, SLOT(changeOccurred()));
- connect(this, SIGNAL(entryRemoved(BookmarkNode *, int, BookmarkNode *)),
+ connect(this, SIGNAL(entryRemoved(BookmarkNode*,int,BookmarkNode*)),
m_saveTimer, SLOT(changeOccurred()));
- connect(this, SIGNAL(entryChanged(BookmarkNode *)),
+ connect(this, SIGNAL(entryChanged(BookmarkNode*)),
m_saveTimer, SLOT(changeOccurred()));
}
@@ -362,12 +362,12 @@ BookmarksModel::BookmarksModel(BookmarksManager *bookmarkManager, QObject *paren
, m_endMacro(false)
, m_bookmarksManager(bookmarkManager)
{
- connect(bookmarkManager, SIGNAL(entryAdded(BookmarkNode *)),
- this, SLOT(entryAdded(BookmarkNode *)));
- connect(bookmarkManager, SIGNAL(entryRemoved(BookmarkNode *, int, BookmarkNode *)),
- this, SLOT(entryRemoved(BookmarkNode *, int, BookmarkNode *)));
- connect(bookmarkManager, SIGNAL(entryChanged(BookmarkNode *)),
- this, SLOT(entryChanged(BookmarkNode *)));
+ connect(bookmarkManager, SIGNAL(entryAdded(BookmarkNode*)),
+ this, SLOT(entryAdded(BookmarkNode*)));
+ connect(bookmarkManager, SIGNAL(entryRemoved(BookmarkNode*,int,BookmarkNode*)),
+ this, SLOT(entryRemoved(BookmarkNode*,int,BookmarkNode*)));
+ connect(bookmarkManager, SIGNAL(entryChanged(BookmarkNode*)),
+ this, SLOT(entryChanged(BookmarkNode*)));
}
QModelIndex BookmarksModel::index(BookmarkNode *node) const
@@ -733,8 +733,8 @@ BookmarksMenu::BookmarksMenu(QWidget *parent)
: ModelMenu(parent)
, m_bookmarksManager(0)
{
- connect(this, SIGNAL(activated(const QModelIndex &)),
- this, SLOT(activated(const QModelIndex &)));
+ connect(this, SIGNAL(activated(QModelIndex)),
+ this, SLOT(activated(QModelIndex)));
setMaxRows(-1);
setHoverRole(BookmarksModel::UrlStringRole);
setSeparatorRole(BookmarksModel::SeparatorRole);
@@ -792,11 +792,11 @@ BookmarksDialog::BookmarksDialog(QWidget *parent, BookmarksManager *manager)
int header = fm.width(QLatin1Char('m')) * 40;
tree->header()->resizeSection(0, header);
tree->header()->setStretchLastSection(true);
- connect(tree, SIGNAL(activated(const QModelIndex&)),
+ connect(tree, SIGNAL(activated(QModelIndex)),
this, SLOT(open()));
tree->setContextMenuPolicy(Qt::CustomContextMenu);
- connect(tree, SIGNAL(customContextMenuRequested(const QPoint &)),
- this, SLOT(customContextMenuRequested(const QPoint &)));
+ connect(tree, SIGNAL(customContextMenuRequested(QPoint)),
+ this, SLOT(customContextMenuRequested(QPoint)));
connect(addFolderButton, SIGNAL(clicked()),
this, SLOT(newFolder()));
expandNodes(m_bookmarksManager->bookmarks());
@@ -884,9 +884,9 @@ BookmarksToolBar::BookmarksToolBar(BookmarksModel *model, QWidget *parent)
connect(this, SIGNAL(actionTriggered(QAction*)), this, SLOT(triggered(QAction*)));
setRootIndex(model->index(0, 0));
connect(m_bookmarksModel, SIGNAL(modelReset()), this, SLOT(build()));
- connect(m_bookmarksModel, SIGNAL(rowsInserted(const QModelIndex &, int, int)), this, SLOT(build()));
- connect(m_bookmarksModel, SIGNAL(rowsRemoved(const QModelIndex &, int, int)), this, SLOT(build()));
- connect(m_bookmarksModel, SIGNAL(dataChanged(const QModelIndex &, const QModelIndex &)), this, SLOT(build()));
+ connect(m_bookmarksModel, SIGNAL(rowsInserted(QModelIndex,int,int)), this, SLOT(build()));
+ connect(m_bookmarksModel, SIGNAL(rowsRemoved(QModelIndex,int,int)), this, SLOT(build()));
+ connect(m_bookmarksModel, SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(build()));
setAcceptDrops(true);
}
@@ -956,8 +956,8 @@ void BookmarksToolBar::build()
button->setArrowType(Qt::DownArrow);
button->setText(idx.data().toString());
ModelMenu *menu = new ModelMenu(this);
- connect(menu, SIGNAL(activated(const QModelIndex &)),
- this, SLOT(activated(const QModelIndex &)));
+ connect(menu, SIGNAL(activated(QModelIndex)),
+ this, SLOT(activated(QModelIndex)));
menu->setModel(m_bookmarksModel);
menu->setRootIndex(idx);
menu->addAction(new QAction(menu));
diff --git a/demos/browser/browsermainwindow.cpp b/demos/browser/browsermainwindow.cpp
index 8e3986b..f57fd47 100644
--- a/demos/browser/browsermainwindow.cpp
+++ b/demos/browser/browsermainwindow.cpp
@@ -90,8 +90,8 @@ BrowserMainWindow::BrowserMainWindow(QWidget *parent, Qt::WindowFlags flags)
QWidget *centralWidget = new QWidget(this);
BookmarksModel *boomarksModel = BrowserApplication::bookmarksManager()->bookmarksModel();
m_bookmarksToolbar = new BookmarksToolBar(boomarksModel, this);
- connect(m_bookmarksToolbar, SIGNAL(openUrl(const QUrl&)),
- m_tabWidget, SLOT(loadUrlInCurrentTab(const QUrl&)));
+ connect(m_bookmarksToolbar, SIGNAL(openUrl(QUrl)),
+ m_tabWidget, SLOT(loadUrlInCurrentTab(QUrl)));
connect(m_bookmarksToolbar->toggleViewAction(), SIGNAL(toggled(bool)),
this, SLOT(updateBookmarksToolbarActionText(bool)));
@@ -109,22 +109,22 @@ BrowserMainWindow::BrowserMainWindow(QWidget *parent, Qt::WindowFlags flags)
centralWidget->setLayout(layout);
setCentralWidget(centralWidget);
- connect(m_tabWidget, SIGNAL(loadPage(const QString &)),
- this, SLOT(loadPage(const QString &)));
- connect(m_tabWidget, SIGNAL(setCurrentTitle(const QString &)),
- this, SLOT(slotUpdateWindowTitle(const QString &)));
- connect(m_tabWidget, SIGNAL(showStatusBarMessage(const QString&)),
- statusBar(), SLOT(showMessage(const QString&)));
- connect(m_tabWidget, SIGNAL(linkHovered(const QString&)),
- statusBar(), SLOT(showMessage(const QString&)));
+ connect(m_tabWidget, SIGNAL(loadPage(QString)),
+ this, SLOT(loadPage(QString)));
+ connect(m_tabWidget, SIGNAL(setCurrentTitle(QString)),
+ this, SLOT(slotUpdateWindowTitle(QString)));
+ connect(m_tabWidget, SIGNAL(showStatusBarMessage(QString)),
+ statusBar(), SLOT(showMessage(QString)));
+ connect(m_tabWidget, SIGNAL(linkHovered(QString)),
+ statusBar(), SLOT(showMessage(QString)));
connect(m_tabWidget, SIGNAL(loadProgress(int)),
this, SLOT(slotLoadProgress(int)));
connect(m_tabWidget, SIGNAL(tabsChanged()),
m_autoSaver, SLOT(changeOccurred()));
- connect(m_tabWidget, SIGNAL(geometryChangeRequested(const QRect &)),
- this, SLOT(geometryChangeRequested(const QRect &)));
- connect(m_tabWidget, SIGNAL(printRequested(QWebFrame *)),
- this, SLOT(printRequested(QWebFrame *)));
+ connect(m_tabWidget, SIGNAL(geometryChangeRequested(QRect)),
+ this, SLOT(geometryChangeRequested(QRect)));
+ connect(m_tabWidget, SIGNAL(printRequested(QWebFrame*)),
+ this, SLOT(printRequested(QWebFrame*)));
connect(m_tabWidget, SIGNAL(menuBarVisibilityChangeRequested(bool)),
menuBar(), SLOT(setVisible(bool)));
connect(m_tabWidget, SIGNAL(statusBarVisibilityChangeRequested(bool)),
@@ -369,10 +369,10 @@ void BrowserMainWindow::setupMenu()
// History
HistoryMenu *historyMenu = new HistoryMenu(this);
- connect(historyMenu, SIGNAL(openUrl(const QUrl&)),
- m_tabWidget, SLOT(loadUrlInCurrentTab(const QUrl&)));
- connect(historyMenu, SIGNAL(hovered(const QString&)), this,
- SLOT(slotUpdateStatusbar(const QString&)));
+ connect(historyMenu, SIGNAL(openUrl(QUrl)),
+ m_tabWidget, SLOT(loadUrlInCurrentTab(QUrl)));
+ connect(historyMenu, SIGNAL(hovered(QString)), this,
+ SLOT(slotUpdateStatusbar(QString)));
historyMenu->setTitle(tr("Hi&story"));
menuBar()->addMenu(historyMenu);
QList<QAction*> historyActions;
@@ -404,10 +404,10 @@ void BrowserMainWindow::setupMenu()
// Bookmarks
BookmarksMenu *bookmarksMenu = new BookmarksMenu(this);
- connect(bookmarksMenu, SIGNAL(openUrl(const QUrl&)),
- m_tabWidget, SLOT(loadUrlInCurrentTab(const QUrl&)));
- connect(bookmarksMenu, SIGNAL(hovered(const QString&)),
- this, SLOT(slotUpdateStatusbar(const QString&)));
+ connect(bookmarksMenu, SIGNAL(openUrl(QUrl)),
+ m_tabWidget, SLOT(loadUrlInCurrentTab(QUrl)));
+ connect(bookmarksMenu, SIGNAL(hovered(QString)),
+ this, SLOT(slotUpdateStatusbar(QString)));
bookmarksMenu->setTitle(tr("&Bookmarks"));
menuBar()->addMenu(bookmarksMenu);
@@ -455,16 +455,16 @@ void BrowserMainWindow::setupToolBar()
m_historyBack->setMenu(m_historyBackMenu);
connect(m_historyBackMenu, SIGNAL(aboutToShow()),
this, SLOT(slotAboutToShowBackMenu()));
- connect(m_historyBackMenu, SIGNAL(triggered(QAction *)),
- this, SLOT(slotOpenActionUrl(QAction *)));
+ connect(m_historyBackMenu, SIGNAL(triggered(QAction*)),
+ this, SLOT(slotOpenActionUrl(QAction*)));
m_navigationBar->addAction(m_historyBack);
m_historyForward->setIcon(style()->standardIcon(QStyle::SP_ArrowForward, 0, this));
m_historyForwardMenu = new QMenu(this);
connect(m_historyForwardMenu, SIGNAL(aboutToShow()),
this, SLOT(slotAboutToShowForwardMenu()));
- connect(m_historyForwardMenu, SIGNAL(triggered(QAction *)),
- this, SLOT(slotOpenActionUrl(QAction *)));
+ connect(m_historyForwardMenu, SIGNAL(triggered(QAction*)),
+ this, SLOT(slotOpenActionUrl(QAction*)));
m_historyForward->setMenu(m_historyForwardMenu);
m_navigationBar->addAction(m_historyForward);
@@ -478,7 +478,7 @@ void BrowserMainWindow::setupToolBar()
m_toolbarSearch = new ToolbarSearch(m_navigationBar);
m_navigationBar->addWidget(m_toolbarSearch);
- connect(m_toolbarSearch, SIGNAL(search(const QUrl&)), SLOT(loadUrl(const QUrl&)));
+ connect(m_toolbarSearch, SIGNAL(search(QUrl)), SLOT(loadUrl(QUrl)));
m_chaseWidget = new ChaseWidget(this);
m_navigationBar->addWidget(m_chaseWidget);
@@ -487,8 +487,8 @@ void BrowserMainWindow::setupToolBar()
void BrowserMainWindow::slotShowBookmarksDialog()
{
BookmarksDialog *dialog = new BookmarksDialog(this);
- connect(dialog, SIGNAL(openUrl(const QUrl&)),
- m_tabWidget, SLOT(loadUrlInCurrentTab(const QUrl&)));
+ connect(dialog, SIGNAL(openUrl(QUrl)),
+ m_tabWidget, SLOT(loadUrlInCurrentTab(QUrl)));
dialog->show();
}
@@ -636,8 +636,8 @@ void BrowserMainWindow::slotFilePrintPreview()
if (!currentTab())
return;
QPrintPreviewDialog *dialog = new QPrintPreviewDialog(this);
- connect(dialog, SIGNAL(paintRequested(QPrinter *)),
- currentTab(), SLOT(print(QPrinter *)));
+ connect(dialog, SIGNAL(paintRequested(QPrinter*)),
+ currentTab(), SLOT(print(QPrinter*)));
dialog->exec();
#endif
}
diff --git a/demos/browser/cookiejar.cpp b/demos/browser/cookiejar.cpp
index f01de13..ce8aa74 100644
--- a/demos/browser/cookiejar.cpp
+++ b/demos/browser/cookiejar.cpp
@@ -668,8 +668,8 @@ CookiesExceptionsDialog::CookiesExceptionsDialog(CookieJar *cookieJar, QWidget *
CookieModel *cookieModel = new CookieModel(cookieJar, this);
domainLineEdit->setCompleter(new QCompleter(cookieModel, domainLineEdit));
- connect(domainLineEdit, SIGNAL(textChanged(const QString &)),
- this, SLOT(textChanged(const QString &)));
+ connect(domainLineEdit, SIGNAL(textChanged(QString)),
+ this, SLOT(textChanged(QString)));
connect(blockButton, SIGNAL(clicked()), this, SLOT(block()));
connect(allowButton, SIGNAL(clicked()), this, SLOT(allow()));
connect(allowForSessionButton, SIGNAL(clicked()), this, SLOT(allowForSession()));
diff --git a/demos/browser/downloadmanager.cpp b/demos/browser/downloadmanager.cpp
index 9986439..f57fea1 100644
--- a/demos/browser/downloadmanager.cpp
+++ b/demos/browser/downloadmanager.cpp
@@ -94,8 +94,8 @@ void DownloadItem::init()
connect(m_reply, SIGNAL(readyRead()), this, SLOT(downloadReadyRead()));
connect(m_reply, SIGNAL(error(QNetworkReply::NetworkError)),
this, SLOT(error(QNetworkReply::NetworkError)));
- connect(m_reply, SIGNAL(downloadProgress(qint64, qint64)),
- this, SLOT(downloadProgress(qint64, qint64)));
+ connect(m_reply, SIGNAL(downloadProgress(qint64,qint64)),
+ this, SLOT(downloadProgress(qint64,qint64)));
connect(m_reply, SIGNAL(metaDataChanged()),
this, SLOT(metaDataChanged()));
connect(m_reply, SIGNAL(finished()),
diff --git a/demos/browser/history.cpp b/demos/browser/history.cpp
index 7ef997e..a34e122 100644
--- a/demos/browser/history.cpp
+++ b/demos/browser/history.cpp
@@ -77,9 +77,9 @@ HistoryManager::HistoryManager(QObject *parent)
m_expiredTimer.setSingleShot(true);
connect(&m_expiredTimer, SIGNAL(timeout()),
this, SLOT(checkForExpired()));
- connect(this, SIGNAL(entryAdded(const HistoryItem &)),
+ connect(this, SIGNAL(entryAdded(HistoryItem)),
m_saveTimer, SLOT(changeOccurred()));
- connect(this, SIGNAL(entryRemoved(const HistoryItem &)),
+ connect(this, SIGNAL(entryRemoved(HistoryItem)),
m_saveTimer, SLOT(changeOccurred()));
load();
@@ -369,10 +369,10 @@ HistoryModel::HistoryModel(HistoryManager *history, QObject *parent)
Q_ASSERT(m_history);
connect(m_history, SIGNAL(historyReset()),
this, SLOT(historyReset()));
- connect(m_history, SIGNAL(entryRemoved(const HistoryItem &)),
+ connect(m_history, SIGNAL(entryRemoved(HistoryItem)),
this, SLOT(historyReset()));
- connect(m_history, SIGNAL(entryAdded(const HistoryItem &)),
+ connect(m_history, SIGNAL(entryAdded(HistoryItem)),
this, SLOT(entryAdded()));
connect(m_history, SIGNAL(entryUpdated(int)),
this, SLOT(entryUpdated(int)));
@@ -595,8 +595,8 @@ HistoryMenu::HistoryMenu(QWidget *parent)
: ModelMenu(parent)
, m_history(0)
{
- connect(this, SIGNAL(activated(const QModelIndex &)),
- this, SLOT(activated(const QModelIndex &)));
+ connect(this, SIGNAL(activated(QModelIndex)),
+ this, SLOT(activated(QModelIndex)));
setHoverRole(HistoryModel::UrlStringRole);
}
@@ -639,8 +639,8 @@ void HistoryMenu::postPopulated()
void HistoryMenu::showHistoryDialog()
{
HistoryDialog *dialog = new HistoryDialog(this);
- connect(dialog, SIGNAL(openUrl(const QUrl&)),
- this, SIGNAL(openUrl(const QUrl&)));
+ connect(dialog, SIGNAL(openUrl(QUrl)),
+ this, SIGNAL(openUrl(QUrl)));
dialog->show();
}
@@ -687,11 +687,11 @@ HistoryDialog::HistoryDialog(QWidget *parent, HistoryManager *setHistory) : QDia
int header = fm.width(QLatin1Char('m')) * 40;
tree->header()->resizeSection(0, header);
tree->header()->setStretchLastSection(true);
- connect(tree, SIGNAL(activated(const QModelIndex&)),
+ connect(tree, SIGNAL(activated(QModelIndex)),
this, SLOT(open()));
tree->setContextMenuPolicy(Qt::CustomContextMenu);
- connect(tree, SIGNAL(customContextMenuRequested(const QPoint &)),
- this, SLOT(customContextMenuRequested(const QPoint &)));
+ connect(tree, SIGNAL(customContextMenuRequested(QPoint)),
+ this, SLOT(customContextMenuRequested(QPoint)));
}
void HistoryDialog::customContextMenuRequested(const QPoint &pos)
@@ -751,12 +751,12 @@ void HistoryFilterModel::setSourceModel(QAbstractItemModel *newSourceModel)
{
if (sourceModel()) {
disconnect(sourceModel(), SIGNAL(modelReset()), this, SLOT(sourceReset()));
- disconnect(sourceModel(), SIGNAL(dataChanged(const QModelIndex &, const QModelIndex &)),
- this, SLOT(dataChanged(const QModelIndex &, const QModelIndex &)));
- disconnect(sourceModel(), SIGNAL(rowsInserted(const QModelIndex &, int, int)),
- this, SLOT(sourceRowsInserted(const QModelIndex &, int, int)));
- disconnect(sourceModel(), SIGNAL(rowsRemoved(const QModelIndex &, int, int)),
- this, SLOT(sourceRowsRemoved(const QModelIndex &, int, int)));
+ disconnect(sourceModel(), SIGNAL(dataChanged(QModelIndex,QModelIndex)),
+ this, SLOT(dataChanged(QModelIndex,QModelIndex)));
+ disconnect(sourceModel(), SIGNAL(rowsInserted(QModelIndex,int,int)),
+ this, SLOT(sourceRowsInserted(QModelIndex,int,int)));
+ disconnect(sourceModel(), SIGNAL(rowsRemoved(QModelIndex,int,int)),
+ this, SLOT(sourceRowsRemoved(QModelIndex,int,int)));
}
QAbstractProxyModel::setSourceModel(newSourceModel);
@@ -764,12 +764,12 @@ void HistoryFilterModel::setSourceModel(QAbstractItemModel *newSourceModel)
if (sourceModel()) {
m_loaded = false;
connect(sourceModel(), SIGNAL(modelReset()), this, SLOT(sourceReset()));
- connect(sourceModel(), SIGNAL(dataChanged(const QModelIndex &, const QModelIndex &)),
- this, SLOT(sourceDataChanged(const QModelIndex &, const QModelIndex &)));
- connect(sourceModel(), SIGNAL(rowsInserted(const QModelIndex &, int, int)),
- this, SLOT(sourceRowsInserted(const QModelIndex &, int, int)));
- connect(sourceModel(), SIGNAL(rowsRemoved(const QModelIndex &, int, int)),
- this, SLOT(sourceRowsRemoved(const QModelIndex &, int, int)));
+ connect(sourceModel(), SIGNAL(dataChanged(QModelIndex,QModelIndex)),
+ this, SLOT(sourceDataChanged(QModelIndex,QModelIndex)));
+ connect(sourceModel(), SIGNAL(rowsInserted(QModelIndex,int,int)),
+ this, SLOT(sourceRowsInserted(QModelIndex,int,int)));
+ connect(sourceModel(), SIGNAL(rowsRemoved(QModelIndex,int,int)),
+ this, SLOT(sourceRowsRemoved(QModelIndex,int,int)));
}
}
@@ -906,16 +906,16 @@ bool HistoryFilterModel::removeRows(int row, int count, const QModelIndex &paren
if (row < 0 || count <= 0 || row + count > rowCount(parent) || parent.isValid())
return false;
int lastRow = row + count - 1;
- disconnect(sourceModel(), SIGNAL(rowsRemoved(const QModelIndex &, int, int)),
- this, SLOT(sourceRowsRemoved(const QModelIndex &, int, int)));
+ disconnect(sourceModel(), SIGNAL(rowsRemoved(QModelIndex,int,int)),
+ this, SLOT(sourceRowsRemoved(QModelIndex,int,int)));
beginRemoveRows(parent, row, lastRow);
int oldCount = rowCount();
int start = sourceModel()->rowCount() - m_sourceRow.value(row);
int end = sourceModel()->rowCount() - m_sourceRow.value(lastRow);
sourceModel()->removeRows(start, end - start + 1);
endRemoveRows();
- connect(sourceModel(), SIGNAL(rowsRemoved(const QModelIndex &, int, int)),
- this, SLOT(sourceRowsRemoved(const QModelIndex &, int, int)));
+ connect(sourceModel(), SIGNAL(rowsRemoved(QModelIndex,int,int)),
+ this, SLOT(sourceRowsRemoved(QModelIndex,int,int)));
m_loaded = false;
if (oldCount - count != rowCount())
reset();
@@ -988,9 +988,9 @@ void HistoryCompletionModel::setSourceModel(QAbstractItemModel *newSourceModel)
{
if (sourceModel()) {
disconnect(sourceModel(), SIGNAL(modelReset()), this, SLOT(sourceReset()));
- disconnect(sourceModel(), SIGNAL(rowsInserted(const QModelIndex &, int, int)),
+ disconnect(sourceModel(), SIGNAL(rowsInserted(QModelIndex,int,int)),
this, SLOT(sourceReset()));
- disconnect(sourceModel(), SIGNAL(rowsRemoved(const QModelIndex &, int, int)),
+ disconnect(sourceModel(), SIGNAL(rowsRemoved(QModelIndex,int,int)),
this, SLOT(sourceReset()));
}
@@ -998,9 +998,9 @@ void HistoryCompletionModel::setSourceModel(QAbstractItemModel *newSourceModel)
if (newSourceModel) {
connect(newSourceModel, SIGNAL(modelReset()), this, SLOT(sourceReset()));
- connect(sourceModel(), SIGNAL(rowsInserted(const QModelIndex &, int, int)),
+ connect(sourceModel(), SIGNAL(rowsInserted(QModelIndex,int,int)),
this, SLOT(sourceReset()));
- connect(sourceModel(), SIGNAL(rowsRemoved(const QModelIndex &, int, int)),
+ connect(sourceModel(), SIGNAL(rowsRemoved(QModelIndex,int,int)),
this, SLOT(sourceReset()));
}
@@ -1177,10 +1177,10 @@ void HistoryTreeModel::setSourceModel(QAbstractItemModel *newSourceModel)
if (sourceModel()) {
disconnect(sourceModel(), SIGNAL(modelReset()), this, SLOT(sourceReset()));
disconnect(sourceModel(), SIGNAL(layoutChanged()), this, SLOT(sourceReset()));
- disconnect(sourceModel(), SIGNAL(rowsInserted(const QModelIndex &, int, int)),
- this, SLOT(sourceRowsInserted(const QModelIndex &, int, int)));
- disconnect(sourceModel(), SIGNAL(rowsRemoved(const QModelIndex &, int, int)),
- this, SLOT(sourceRowsRemoved(const QModelIndex &, int, int)));
+ disconnect(sourceModel(), SIGNAL(rowsInserted(QModelIndex,int,int)),
+ this, SLOT(sourceRowsInserted(QModelIndex,int,int)));
+ disconnect(sourceModel(), SIGNAL(rowsRemoved(QModelIndex,int,int)),
+ this, SLOT(sourceRowsRemoved(QModelIndex,int,int)));
}
QAbstractProxyModel::setSourceModel(newSourceModel);
@@ -1188,10 +1188,10 @@ void HistoryTreeModel::setSourceModel(QAbstractItemModel *newSourceModel)
if (newSourceModel) {
connect(sourceModel(), SIGNAL(modelReset()), this, SLOT(sourceReset()));
connect(sourceModel(), SIGNAL(layoutChanged()), this, SLOT(sourceReset()));
- connect(sourceModel(), SIGNAL(rowsInserted(const QModelIndex &, int, int)),
- this, SLOT(sourceRowsInserted(const QModelIndex &, int, int)));
- connect(sourceModel(), SIGNAL(rowsRemoved(const QModelIndex &, int, int)),
- this, SLOT(sourceRowsRemoved(const QModelIndex &, int, int)));
+ connect(sourceModel(), SIGNAL(rowsInserted(QModelIndex,int,int)),
+ this, SLOT(sourceRowsInserted(QModelIndex,int,int)));
+ connect(sourceModel(), SIGNAL(rowsRemoved(QModelIndex,int,int)),
+ this, SLOT(sourceRowsRemoved(QModelIndex,int,int)));
}
reset();
diff --git a/demos/browser/networkaccessmanager.cpp b/demos/browser/networkaccessmanager.cpp
index 171ca14..af69037 100644
--- a/demos/browser/networkaccessmanager.cpp
+++ b/demos/browser/networkaccessmanager.cpp
@@ -66,15 +66,15 @@ NetworkAccessManager::NetworkAccessManager(QObject *parent)
requestFinishedCount(0), requestFinishedFromCacheCount(0), requestFinishedPipelinedCount(0),
requestFinishedSecureCount(0)
{
- connect(this, SIGNAL(authenticationRequired(QNetworkReply*, QAuthenticator*)),
+ connect(this, SIGNAL(authenticationRequired(QNetworkReply*,QAuthenticator*)),
SLOT(authenticationRequired(QNetworkReply*,QAuthenticator*)));
- connect(this, SIGNAL(proxyAuthenticationRequired(const QNetworkProxy&, QAuthenticator*)),
- SLOT(proxyAuthenticationRequired(const QNetworkProxy&, QAuthenticator*)));
- connect(this, SIGNAL(finished(QNetworkReply *)),
- SLOT(requestFinished(QNetworkReply *)));
+ connect(this, SIGNAL(proxyAuthenticationRequired(QNetworkProxy,QAuthenticator*)),
+ SLOT(proxyAuthenticationRequired(QNetworkProxy,QAuthenticator*)));
+ connect(this, SIGNAL(finished(QNetworkReply*)),
+ SLOT(requestFinished(QNetworkReply*)));
#ifndef QT_NO_OPENSSL
- connect(this, SIGNAL(sslErrors(QNetworkReply*, const QList<QSslError>&)),
- SLOT(sslErrors(QNetworkReply*, const QList<QSslError>&)));
+ connect(this, SIGNAL(sslErrors(QNetworkReply*,QList<QSslError>)),
+ SLOT(sslErrors(QNetworkReply*,QList<QSslError>)));
#endif
loadSettings();
diff --git a/demos/browser/searchlineedit.cpp b/demos/browser/searchlineedit.cpp
index 89b348c..a5cefac 100644
--- a/demos/browser/searchlineedit.cpp
+++ b/demos/browser/searchlineedit.cpp
@@ -169,8 +169,8 @@ void SearchButton::paintEvent(QPaintEvent *event)
SearchLineEdit::SearchLineEdit(QWidget *parent) : ExLineEdit(parent),
m_searchButton(new SearchButton(this))
{
- connect(lineEdit(), SIGNAL(textChanged(const QString &)),
- this, SIGNAL(textChanged(const QString &)));
+ connect(lineEdit(), SIGNAL(textChanged(QString)),
+ this, SIGNAL(textChanged(QString)));
setLeftWidget(m_searchButton);
m_inactiveText = tr("Search");
diff --git a/demos/browser/tabwidget.cpp b/demos/browser/tabwidget.cpp
index 8a7ae0b..3ace6a3 100644
--- a/demos/browser/tabwidget.cpp
+++ b/demos/browser/tabwidget.cpp
@@ -64,8 +64,8 @@ TabBar::TabBar(QWidget *parent)
{
setContextMenuPolicy(Qt::CustomContextMenu);
setAcceptDrops(true);
- connect(this, SIGNAL(customContextMenuRequested(const QPoint &)),
- this, SLOT(contextMenuRequested(const QPoint &)));
+ connect(this, SIGNAL(customContextMenuRequested(QPoint)),
+ this, SLOT(contextMenuRequested(QPoint)));
QString alt = QLatin1String("Alt+%1");
for (int i = 1; i <= 10; ++i) {
@@ -221,7 +221,7 @@ TabWidget::TabWidget(QWidget *parent)
connect(m_tabBar, SIGNAL(closeOtherTabs(int)), this, SLOT(closeOtherTabs(int)));
connect(m_tabBar, SIGNAL(reloadTab(int)), this, SLOT(reloadTab(int)));
connect(m_tabBar, SIGNAL(reloadAllTabs()), this, SLOT(reloadAllTabs()));
- connect(m_tabBar, SIGNAL(tabMoved(int, int)), this, SLOT(moveTab(int, int)));
+ connect(m_tabBar, SIGNAL(tabMoved(int,int)), this, SLOT(moveTab(int,int)));
setTabBar(m_tabBar);
setDocumentMode(true);
@@ -257,8 +257,8 @@ TabWidget::TabWidget(QWidget *parent)
m_recentlyClosedTabsMenu = new QMenu(this);
connect(m_recentlyClosedTabsMenu, SIGNAL(aboutToShow()),
this, SLOT(aboutToShowRecentTabsMenu()));
- connect(m_recentlyClosedTabsMenu, SIGNAL(triggered(QAction *)),
- this, SLOT(aboutToShowRecentTriggeredAction(QAction *)));
+ connect(m_recentlyClosedTabsMenu, SIGNAL(triggered(QAction*)),
+ this, SLOT(aboutToShowRecentTriggeredAction(QAction*)));
m_recentlyClosedTabsAction = new QAction(tr("Recently Closed Tabs"), this);
m_recentlyClosedTabsAction->setMenu(m_recentlyClosedTabsMenu);
m_recentlyClosedTabsAction->setEnabled(false);
@@ -304,18 +304,18 @@ void TabWidget::currentChanged(int index)
WebView *oldWebView = this->webView(m_lineEdits->currentIndex());
if (oldWebView) {
- disconnect(oldWebView, SIGNAL(statusBarMessage(const QString&)),
- this, SIGNAL(showStatusBarMessage(const QString&)));
- disconnect(oldWebView->page(), SIGNAL(linkHovered(const QString&, const QString&, const QString&)),
- this, SIGNAL(linkHovered(const QString&)));
+ disconnect(oldWebView, SIGNAL(statusBarMessage(QString)),
+ this, SIGNAL(showStatusBarMessage(QString)));
+ disconnect(oldWebView->page(), SIGNAL(linkHovered(QString,QString,QString)),
+ this, SIGNAL(linkHovered(QString)));
disconnect(oldWebView, SIGNAL(loadProgress(int)),
this, SIGNAL(loadProgress(int)));
}
- connect(webView, SIGNAL(statusBarMessage(const QString&)),
- this, SIGNAL(showStatusBarMessage(const QString&)));
- connect(webView->page(), SIGNAL(linkHovered(const QString&, const QString&, const QString&)),
- this, SIGNAL(linkHovered(const QString&)));
+ connect(webView, SIGNAL(statusBarMessage(QString)),
+ this, SIGNAL(showStatusBarMessage(QString)));
+ connect(webView->page(), SIGNAL(linkHovered(QString,QString,QString)),
+ this, SIGNAL(linkHovered(QString)));
connect(webView, SIGNAL(loadProgress(int)),
this, SIGNAL(loadProgress(int)));
@@ -450,16 +450,16 @@ WebView *TabWidget::newTab(bool makeCurrent)
this, SLOT(webViewIconChanged()));
connect(webView, SIGNAL(iconChanged()),
this, SLOT(webViewIconChanged()));
- connect(webView, SIGNAL(titleChanged(const QString &)),
- this, SLOT(webViewTitleChanged(const QString &)));
- connect(webView, SIGNAL(urlChanged(const QUrl &)),
- this, SLOT(webViewUrlChanged(const QUrl &)));
+ connect(webView, SIGNAL(titleChanged(QString)),
+ this, SLOT(webViewTitleChanged(QString)));
+ connect(webView, SIGNAL(urlChanged(QUrl)),
+ this, SLOT(webViewUrlChanged(QUrl)));
connect(webView->page(), SIGNAL(windowCloseRequested()),
this, SLOT(windowCloseRequested()));
- connect(webView->page(), SIGNAL(geometryChangeRequested(const QRect &)),
- this, SIGNAL(geometryChangeRequested(const QRect &)));
- connect(webView->page(), SIGNAL(printRequested(QWebFrame *)),
- this, SIGNAL(printRequested(QWebFrame *)));
+ connect(webView->page(), SIGNAL(geometryChangeRequested(QRect)),
+ this, SIGNAL(geometryChangeRequested(QRect)));
+ connect(webView->page(), SIGNAL(printRequested(QWebFrame*)),
+ this, SIGNAL(printRequested(QWebFrame*)));
connect(webView->page(), SIGNAL(menuBarVisibilityChangeRequested(bool)),
this, SIGNAL(menuBarVisibilityChangeRequested(bool)));
connect(webView->page(), SIGNAL(statusBarVisibilityChangeRequested(bool)),
@@ -764,7 +764,7 @@ WebActionMapper::WebActionMapper(QAction *root, QWebPage::WebAction webAction, Q
if (!m_root)
return;
connect(m_root, SIGNAL(triggered()), this, SLOT(rootTriggered()));
- connect(root, SIGNAL(destroyed(QObject *)), this, SLOT(rootDestroyed()));
+ connect(root, SIGNAL(destroyed(QObject*)), this, SLOT(rootDestroyed()));
root->setEnabled(false);
}
@@ -813,7 +813,7 @@ void WebActionMapper::childChanged()
void WebActionMapper::updateCurrent(QWebPage *currentParent)
{
if (m_currentParent)
- disconnect(m_currentParent, SIGNAL(destroyed(QObject *)),
+ disconnect(m_currentParent, SIGNAL(destroyed(QObject*)),
this, SLOT(currentDestroyed()));
m_currentParent = currentParent;
@@ -827,7 +827,7 @@ void WebActionMapper::updateCurrent(QWebPage *currentParent)
QAction *source = m_currentParent->action(m_webAction);
m_root->setChecked(source->isChecked());
m_root->setEnabled(source->isEnabled());
- connect(m_currentParent, SIGNAL(destroyed(QObject *)),
+ connect(m_currentParent, SIGNAL(destroyed(QObject*)),
this, SLOT(currentDestroyed()));
}
diff --git a/demos/browser/urllineedit.cpp b/demos/browser/urllineedit.cpp
index 6d669c3..251b994 100644
--- a/demos/browser/urllineedit.cpp
+++ b/demos/browser/urllineedit.cpp
@@ -87,8 +87,8 @@ ExLineEdit::ExLineEdit(QWidget *parent)
m_clearButton = new ClearButton(this);
connect(m_clearButton, SIGNAL(clicked()),
m_lineEdit, SLOT(clear()));
- connect(m_lineEdit, SIGNAL(textChanged(const QString&)),
- m_clearButton, SLOT(textChanged(const QString&)));
+ connect(m_lineEdit, SIGNAL(textChanged(QString)),
+ m_clearButton, SLOT(textChanged(QString)));
}
void ExLineEdit::setLeftWidget(QWidget *widget)
@@ -270,8 +270,8 @@ void UrlLineEdit::setWebView(WebView *webView)
Q_ASSERT(!m_webView);
m_webView = webView;
m_iconLabel->m_webView = webView;
- connect(webView, SIGNAL(urlChanged(const QUrl &)),
- this, SLOT(webViewUrlChanged(const QUrl &)));
+ connect(webView, SIGNAL(urlChanged(QUrl)),
+ this, SLOT(webViewUrlChanged(QUrl)));
connect(webView, SIGNAL(loadFinished(bool)),
this, SLOT(webViewIconChanged()));
connect(webView, SIGNAL(iconChanged()),
diff --git a/demos/browser/webview.cpp b/demos/browser/webview.cpp
index 754fedc..1fcced4 100644
--- a/demos/browser/webview.cpp
+++ b/demos/browser/webview.cpp
@@ -68,8 +68,8 @@ WebPage::WebPage(QObject *parent)
, m_openInNewTab(false)
{
setNetworkAccessManager(BrowserApplication::networkAccessManager());
- connect(this, SIGNAL(unsupportedContent(QNetworkReply *)),
- this, SLOT(handleUnsupportedContent(QNetworkReply *)));
+ connect(this, SIGNAL(unsupportedContent(QNetworkReply*)),
+ this, SLOT(handleUnsupportedContent(QNetworkReply*)));
}
BrowserMainWindow *WebPage::mainWindow()
@@ -192,16 +192,16 @@ WebView::WebView(QWidget* parent)
, m_page(new WebPage(this))
{
setPage(m_page);
- connect(page(), SIGNAL(statusBarMessage(const QString&)),
- SLOT(setStatusBarText(const QString&)));
+ connect(page(), SIGNAL(statusBarMessage(QString)),
+ SLOT(setStatusBarText(QString)));
connect(this, SIGNAL(loadProgress(int)),
this, SLOT(setProgress(int)));
connect(this, SIGNAL(loadFinished(bool)),
this, SLOT(loadFinished()));
- connect(page(), SIGNAL(loadingUrl(const QUrl&)),
- this, SIGNAL(urlChanged(const QUrl &)));
- connect(page(), SIGNAL(downloadRequested(const QNetworkRequest &)),
- this, SLOT(downloadRequested(const QNetworkRequest &)));
+ connect(page(), SIGNAL(loadingUrl(QUrl)),
+ this, SIGNAL(urlChanged(QUrl)));
+ connect(page(), SIGNAL(downloadRequested(QNetworkRequest)),
+ this, SLOT(downloadRequested(QNetworkRequest)));
page()->setForwardUnsupportedContent(true);
}
diff --git a/demos/demos.pro b/demos/demos.pro
index 5e400ea..a943bfd 100644
--- a/demos/demos.pro
+++ b/demos/demos.pro
@@ -37,7 +37,7 @@ wince*: SUBDIRS += demos_sqlbrowser
}
}
contains(QT_CONFIG, phonon):!static:SUBDIRS += demos_mediaplayer
-contains(QT_CONFIG, webkit):contains(QT_CONFIG, svg):SUBDIRS += demos_browser
+contains(QT_CONFIG, webkit):contains(QT_CONFIG, svg):!symbian:SUBDIRS += demos_browser
# install
sources.files = README *.pro
diff --git a/demos/embedded/desktopservices/contenttab.cpp b/demos/embedded/desktopservices/contenttab.cpp
index d218702..f9470e9 100644
--- a/demos/embedded/desktopservices/contenttab.cpp
+++ b/demos/embedded/desktopservices/contenttab.cpp
@@ -76,8 +76,8 @@ void ContentTab::init(const QDesktopServices::StandardLocation &location,
m_ContentDir.setNameFilters(filterList);
setIcon(icon);
- connect(this, SIGNAL(itemClicked(QListWidgetItem *)),
- this, SLOT(openItem(QListWidgetItem *)));
+ connect(this, SIGNAL(itemClicked(QListWidgetItem*)),
+ this, SLOT(openItem(QListWidgetItem*)));
populateListWidget();
}
diff --git a/demos/embedded/fluidlauncher/config_s60/config.xml b/demos/embedded/fluidlauncher/config_s60/config.xml
index 2c61baf..176f52e 100644
--- a/demos/embedded/fluidlauncher/config_s60/config.xml
+++ b/demos/embedded/fluidlauncher/config_s60/config.xml
@@ -11,7 +11,6 @@
<example filename="saxbookmarks" name="SaxBookmarks" image="screenshots/saxbookmarks_s60.png"/>
<example filename="desktopservices" name="Desktop Services" image="screenshots/desktopservices_s60.png"/>
<example filename="fridgemagnets" name="Fridge Magnets" image="screenshots/fridgemagnets_s60.png" args="-small-screen"/>
- <example filename="drilldown" name="Drilldown" image="screenshots/drilldown_s60.png"/>
<example filename="softkeys" name="Softkeys" image="screenshots/softkeys_s60.png"/>
<example filename="anomaly" name="Anomaly Browser" image="screenshots/anomaly_s60.png"/>
<example filename="raycasting" name="Ray casting" image="screenshots/raycasting.png"/>
diff --git a/demos/embedded/fluidlauncher/demoapplication.cpp b/demos/embedded/fluidlauncher/demoapplication.cpp
index 864ef91..54c48c5 100644
--- a/demos/embedded/fluidlauncher/demoapplication.cpp
+++ b/demos/embedded/fluidlauncher/demoapplication.cpp
@@ -60,8 +60,8 @@ DemoApplication::DemoApplication(QString executableName, QString caption, QStrin
process.setProcessChannelMode(QProcess::ForwardedChannels);
- QObject::connect( &process, SIGNAL(finished(int, QProcess::ExitStatus)),
- this, SLOT(processFinished(int, QProcess::ExitStatus)));
+ QObject::connect( &process, SIGNAL(finished(int,QProcess::ExitStatus)),
+ this, SLOT(processFinished(int,QProcess::ExitStatus)));
QObject::connect( &process, SIGNAL(error(QProcess::ProcessError)),
this, SLOT(processError(QProcess::ProcessError)));
diff --git a/demos/embedded/fluidlauncher/fluidlauncher.pro b/demos/embedded/fluidlauncher/fluidlauncher.pro
index dd931e6..30f59c3 100644
--- a/demos/embedded/fluidlauncher/fluidlauncher.pro
+++ b/demos/embedded/fluidlauncher/fluidlauncher.pro
@@ -70,7 +70,6 @@ symbian {
saxbookmarks.exe \
desktopservices.exe \
fridgemagnets.exe \
- drilldown.exe \
softkeys.exe \
raycasting.exe \
flickable.exe \
@@ -89,7 +88,6 @@ symbian {
$${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/saxbookmarks_reg.rsc \
$${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/desktopservices_reg.rsc \
$${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/fridgemagnets_reg.rsc \
- $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/drilldown_reg.rsc \
$${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/softkeys_reg.rsc \
$${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/raycasting_reg.rsc \
$${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/flickable_reg.rsc \
@@ -113,7 +111,6 @@ symbian {
$${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/saxbookmarks.rsc \
$${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/desktopservices.rsc \
$${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/fridgemagnets.rsc \
- $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/drilldown.rsc \
$${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/softkeys.rsc \
$${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/raycasting.rsc \
$${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/flickable.rsc \
diff --git a/demos/embedded/fluidlauncher/screenshots/drilldown_s60.png b/demos/embedded/fluidlauncher/screenshots/drilldown_s60.png
deleted file mode 100644
index d4fd44f..0000000
--- a/demos/embedded/fluidlauncher/screenshots/drilldown_s60.png
+++ /dev/null
Binary files differ
diff --git a/demos/embeddeddialogs/embeddeddialog.cpp b/demos/embeddeddialogs/embeddeddialog.cpp
index 72c7cce..19ea6cb 100644
--- a/demos/embeddeddialogs/embeddeddialog.cpp
+++ b/demos/embeddeddialogs/embeddeddialog.cpp
@@ -61,8 +61,8 @@ EmbeddedDialog::EmbeddedDialog(QWidget *parent)
this, SLOT(layoutDirectionChanged(int)));
connect(ui->spacing, SIGNAL(valueChanged(int)),
this, SLOT(spacingChanged(int)));
- connect(ui->fontComboBox, SIGNAL(currentFontChanged(const QFont &)),
- this, SLOT(fontChanged(const QFont &)));
+ connect(ui->fontComboBox, SIGNAL(currentFontChanged(QFont)),
+ this, SLOT(fontChanged(QFont)));
connect(ui->style, SIGNAL(activated(QString)),
this, SLOT(styleChanged(QString)));
}
diff --git a/demos/gradients/gradients.cpp b/demos/gradients/gradients.cpp
index e9c324d..898c191 100644
--- a/demos/gradients/gradients.cpp
+++ b/demos/gradients/gradients.cpp
@@ -78,7 +78,7 @@ ShadeWidget::ShadeWidget(ShadeType type, QWidget *parent)
setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);
- connect(m_hoverPoints, SIGNAL(pointsChanged(const QPolygonF &)), this, SIGNAL(colorsChanged()));
+ connect(m_hoverPoints, SIGNAL(pointsChanged(QPolygonF)), this, SIGNAL(colorsChanged()));
}
@@ -355,8 +355,8 @@ GradientWidget::GradientWidget(QWidget *parent)
defaultsGroupLayout->addWidget(default3Button);
editorGroupLayout->addWidget(default4Button);
- connect(m_editor, SIGNAL(gradientStopsChanged(const QGradientStops &)),
- m_renderer, SLOT(setGradientStops(const QGradientStops &)));
+ connect(m_editor, SIGNAL(gradientStopsChanged(QGradientStops)),
+ m_renderer, SLOT(setGradientStops(QGradientStops)));
connect(m_linearButton, SIGNAL(clicked()), m_renderer, SLOT(setLinearGradient()));
connect(m_radialButton, SIGNAL(clicked()), m_renderer, SLOT(setRadialGradient()));
diff --git a/demos/qmediaplayer/mediaplayer.cpp b/demos/qmediaplayer/mediaplayer.cpp
index 624bab7..4021352 100644
--- a/demos/qmediaplayer/mediaplayer.cpp
+++ b/demos/qmediaplayer/mediaplayer.cpp
@@ -270,7 +270,7 @@ MediaPlayer::MediaPlayer(const QString &filePath,
fileMenu->addSeparator();
QMenu *aspectMenu = fileMenu->addMenu(tr("&Aspect ratio"));
QActionGroup *aspectGroup = new QActionGroup(aspectMenu);
- connect(aspectGroup, SIGNAL(triggered(QAction *)), this, SLOT(aspectChanged(QAction *)));
+ connect(aspectGroup, SIGNAL(triggered(QAction*)), this, SLOT(aspectChanged(QAction*)));
aspectGroup->setExclusive(true);
QAction *aspectActionAuto = aspectMenu->addAction(tr("Auto"));
aspectActionAuto->setCheckable(true);
@@ -288,7 +288,7 @@ MediaPlayer::MediaPlayer(const QString &filePath,
QMenu *scaleMenu = fileMenu->addMenu(tr("&Scale mode"));
QActionGroup *scaleGroup = new QActionGroup(scaleMenu);
- connect(scaleGroup, SIGNAL(triggered(QAction *)), this, SLOT(scaleChanged(QAction *)));
+ connect(scaleGroup, SIGNAL(triggered(QAction*)), this, SLOT(scaleChanged(QAction*)));
scaleGroup->setExclusive(true);
QAction *scaleActionFit = scaleMenu->addAction(tr("Fit in view"));
scaleActionFit->setCheckable(true);
@@ -313,13 +313,13 @@ MediaPlayer::MediaPlayer(const QString &filePath,
connect(openUrlAction, SIGNAL(triggered(bool)), this, SLOT(openUrl()));
connect(openFileAction, SIGNAL(triggered(bool)), this, SLOT(openFile()));
- connect(m_videoWidget, SIGNAL(customContextMenuRequested(const QPoint &)), SLOT(showContextMenu(const QPoint &)));
- connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), SLOT(showContextMenu(const QPoint &)));
+ connect(m_videoWidget, SIGNAL(customContextMenuRequested(QPoint)), SLOT(showContextMenu(QPoint)));
+ connect(this, SIGNAL(customContextMenuRequested(QPoint)), SLOT(showContextMenu(QPoint)));
connect(&m_MediaObject, SIGNAL(metaDataChanged()), this, SLOT(updateInfo()));
connect(&m_MediaObject, SIGNAL(totalTimeChanged(qint64)), this, SLOT(updateTime()));
connect(&m_MediaObject, SIGNAL(tick(qint64)), this, SLOT(updateTime()));
connect(&m_MediaObject, SIGNAL(finished()), this, SLOT(finished()));
- connect(&m_MediaObject, SIGNAL(stateChanged(Phonon::State, Phonon::State)), this, SLOT(stateChanged(Phonon::State, Phonon::State)));
+ connect(&m_MediaObject, SIGNAL(stateChanged(Phonon::State,Phonon::State)), this, SLOT(stateChanged(Phonon::State,Phonon::State)));
connect(&m_MediaObject, SIGNAL(bufferStatus(int)), this, SLOT(bufferStatus(int)));
connect(&m_MediaObject, SIGNAL(hasVideoChanged(bool)), this, SLOT(hasVideoChanged(bool)));
@@ -355,13 +355,13 @@ void MediaPlayer::stateChanged(Phonon::State newstate, Phonon::State oldstate)
switch (newstate) {
case Phonon::ErrorState:
- QMessageBox::warning(this, "Phonon Mediaplayer", m_MediaObject.errorString(), QMessageBox::Close);
if (m_MediaObject.errorType() == Phonon::FatalError) {
playButton->setEnabled(false);
rewindButton->setEnabled(false);
} else {
m_MediaObject.pause();
}
+ QMessageBox::warning(this, "Phonon Mediaplayer", m_MediaObject.errorString(), QMessageBox::Close);
break;
case Phonon::PausedState:
case Phonon::StoppedState:
@@ -471,6 +471,8 @@ void MediaPlayer::effectChanged()
void MediaPlayer::showSettingsDialog()
{
+ playPauseForDialog();
+
if (!settingsDialog)
initSettingsDialog();
@@ -516,6 +518,8 @@ void MediaPlayer::showSettingsDialog()
m_videoWidget->setScaleMode(oldScale);
ui->audioEffectsCombo->setCurrentIndex(currentEffect);
}
+
+ playPauseForDialog();
}
void MediaPlayer::initVideoWindow()
@@ -652,10 +656,25 @@ void MediaPlayer::setFile(const QString &fileName)
m_MediaObject.play();
}
+void MediaPlayer::playPauseForDialog()
+{
+ // If we're running on a small screen, we want to pause the video
+ // when popping up dialogs.
+ if (m_hasSmallScreen &&
+ (Phonon::PlayingState == m_MediaObject.state() ||
+ Phonon::PausedState == m_MediaObject.state()))
+ playPause();
+}
+
void MediaPlayer::openFile()
{
+ playPauseForDialog();
+
QStringList fileNames = QFileDialog::getOpenFileNames(this, QString(),
QDesktopServices::storageLocation(QDesktopServices::MusicLocation));
+
+ playPauseForDialog();
+
m_MediaObject.clearQueue();
if (fileNames.size() > 0) {
QString fileName = fileNames[0];
diff --git a/demos/qmediaplayer/mediaplayer.h b/demos/qmediaplayer/mediaplayer.h
index 08db0e5..a1c3d92 100644
--- a/demos/qmediaplayer/mediaplayer.h
+++ b/demos/qmediaplayer/mediaplayer.h
@@ -111,6 +111,8 @@ private slots:
void hasVideoChanged(bool);
private:
+ void playPauseForDialog();
+
QIcon playIcon;
QIcon pauseIcon;
QMenu *fileMenu;
diff --git a/demos/qtdemo/itemcircleanimation.cpp b/demos/qtdemo/itemcircleanimation.cpp
index 8c94eb7..74c3e6a 100644
--- a/demos/qtdemo/itemcircleanimation.cpp
+++ b/demos/qtdemo/itemcircleanimation.cpp
@@ -302,6 +302,7 @@ void ItemCircleAnimation::setupGuides()
int y = 20;
this->qtGuide1 = new GuideCircle(QRectF(x, y, 260, 260), -36, 342);
+ this->currGuide = 0;
new GuideLine(QPointF(x + 240, y + 268), this->qtGuide1);
new GuideLine(QPointF(x + 265, y + 246), this->qtGuide1);
new GuideLine(QPointF(x + 158, y + 134), this->qtGuide1);
diff --git a/demos/shared/hoverpoints.cpp b/demos/shared/hoverpoints.cpp
index 84f5815..d8c72f3 100644
--- a/demos/shared/hoverpoints.cpp
+++ b/demos/shared/hoverpoints.cpp
@@ -66,7 +66,7 @@ HoverPoints::HoverPoints(QWidget *widget, PointShape shape)
m_editable = true;
m_enabled = true;
- connect(this, SIGNAL(pointsChanged(const QPolygonF &)),
+ connect(this, SIGNAL(pointsChanged(QPolygonF)),
m_widget, SLOT(update()));
}
diff --git a/demos/spreadsheet/spreadsheet.cpp b/demos/spreadsheet/spreadsheet.cpp
index 00045c6..73c8037 100644
--- a/demos/spreadsheet/spreadsheet.cpp
+++ b/demos/spreadsheet/spreadsheet.cpp
@@ -73,9 +73,9 @@ SpreadSheet::SpreadSheet(int rows, int cols, QWidget *parent)
setCentralWidget(table);
statusBar();
- connect(table, SIGNAL(currentItemChanged(QTableWidgetItem*, QTableWidgetItem*)),
+ connect(table, SIGNAL(currentItemChanged(QTableWidgetItem*,QTableWidgetItem*)),
this, SLOT(updateStatus(QTableWidgetItem*)));
- connect(table, SIGNAL(currentItemChanged(QTableWidgetItem*, QTableWidgetItem*)),
+ connect(table, SIGNAL(currentItemChanged(QTableWidgetItem*,QTableWidgetItem*)),
this, SLOT(updateColor(QTableWidgetItem*)));
connect(table, SIGNAL(currentItemChanged(QTableWidgetItem*,QTableWidgetItem*)),
this, SLOT(updateLineEdit(QTableWidgetItem*)));
@@ -624,8 +624,8 @@ void SpreadSheet::print()
QPrintPreviewDialog dlg(&printer);
PrintView view;
view.setModel(table->model());
- connect(&dlg, SIGNAL(paintRequested(QPrinter *)),
- &view, SLOT(print(QPrinter *)));
+ connect(&dlg, SIGNAL(paintRequested(QPrinter*)),
+ &view, SLOT(print(QPrinter*)));
dlg.exec();
#endif
}
diff --git a/demos/sub-attaq/bomb.cpp b/demos/sub-attaq/bomb.cpp
index acc3475..a0096a0 100644
--- a/demos/sub-attaq/bomb.cpp
+++ b/demos/sub-attaq/bomb.cpp
@@ -74,7 +74,7 @@ void Bomb::launch(Bomb::Direction direction)
anim->setEndValue(QPointF(x() + delta*2,scene()->height()));
anim->setDuration(y()/2*60);
launchAnimation->addAnimation(anim);
- connect(anim,SIGNAL(valueChanged(const QVariant &)),this,SLOT(onAnimationLaunchValueChanged(const QVariant &)));
+ connect(anim,SIGNAL(valueChanged(QVariant)),this,SLOT(onAnimationLaunchValueChanged(QVariant)));
connect(this, SIGNAL(bombExploded()), launchAnimation, SLOT(stop()));
//We setup the state machine of the bomb
QStateMachine *machine = new QStateMachine(this);
diff --git a/demos/sub-attaq/torpedo.cpp b/demos/sub-attaq/torpedo.cpp
index 95f88e6..1f4ce16 100644
--- a/demos/sub-attaq/torpedo.cpp
+++ b/demos/sub-attaq/torpedo.cpp
@@ -64,7 +64,7 @@ void Torpedo::launch()
launchAnimation->setEndValue(QPointF(x(),qobject_cast<GraphicsScene *>(scene())->sealLevel() - 15));
launchAnimation->setEasingCurve(QEasingCurve::InQuad);
launchAnimation->setDuration(y()/currentSpeed*10);
- connect(launchAnimation,SIGNAL(valueChanged(const QVariant &)),this,SLOT(onAnimationLaunchValueChanged(const QVariant &)));
+ connect(launchAnimation,SIGNAL(valueChanged(QVariant)),this,SLOT(onAnimationLaunchValueChanged(QVariant)));
connect(this,SIGNAL(torpedoExploded()), launchAnimation, SLOT(stop()));
//We setup the state machine of the torpedo
diff --git a/demos/textedit/textedit.cpp b/demos/textedit/textedit.cpp
index b7ce94b..a9c0f40 100644
--- a/demos/textedit/textedit.cpp
+++ b/demos/textedit/textedit.cpp
@@ -88,8 +88,8 @@ TextEdit::TextEdit(QWidget *parent)
}
textEdit = new QTextEdit(this);
- connect(textEdit, SIGNAL(currentCharFormatChanged(const QTextCharFormat &)),
- this, SLOT(currentCharFormatChanged(const QTextCharFormat &)));
+ connect(textEdit, SIGNAL(currentCharFormatChanged(QTextCharFormat)),
+ this, SLOT(currentCharFormatChanged(QTextCharFormat)));
connect(textEdit, SIGNAL(cursorPositionChanged()),
this, SLOT(cursorPositionChanged()));
@@ -314,7 +314,7 @@ void TextEdit::setupTextActions()
menu->addSeparator();
QActionGroup *grp = new QActionGroup(this);
- connect(grp, SIGNAL(triggered(QAction *)), this, SLOT(textAlign(QAction *)));
+ connect(grp, SIGNAL(triggered(QAction*)), this, SLOT(textAlign(QAction*)));
// Make sure the alignLeft is always left of the alignRight
if (QApplication::isLeftToRight()) {
@@ -377,8 +377,8 @@ void TextEdit::setupTextActions()
comboFont = new QFontComboBox(tb);
tb->addWidget(comboFont);
- connect(comboFont, SIGNAL(activated(const QString &)),
- this, SLOT(textFamily(const QString &)));
+ connect(comboFont, SIGNAL(activated(QString)),
+ this, SLOT(textFamily(QString)));
comboSize = new QComboBox(tb);
comboSize->setObjectName("comboSize");
@@ -389,8 +389,8 @@ void TextEdit::setupTextActions()
foreach(int size, db.standardSizes())
comboSize->addItem(QString::number(size));
- connect(comboSize, SIGNAL(activated(const QString &)),
- this, SLOT(textSize(const QString &)));
+ connect(comboSize, SIGNAL(activated(QString)),
+ this, SLOT(textSize(QString)));
comboSize->setCurrentIndex(comboSize->findText(QString::number(QApplication::font()
.pointSize())));
}
@@ -511,7 +511,7 @@ void TextEdit::filePrintPreview()
#ifndef QT_NO_PRINTER
QPrinter printer(QPrinter::HighResolution);
QPrintPreviewDialog preview(&printer, this);
- connect(&preview, SIGNAL(paintRequested(QPrinter *)), SLOT(printPreview(QPrinter *)));
+ connect(&preview, SIGNAL(paintRequested(QPrinter*)), SLOT(printPreview(QPrinter*)));
preview.exec();
#endif
}
diff --git a/dist/changes-4.6.0 b/dist/changes-4.6.0
index a0ae663..736fa66 100644
--- a/dist/changes-4.6.0
+++ b/dist/changes-4.6.0
@@ -19,14 +19,20 @@ Merge Request: http://qt.gitorious.org
* General *
****************************************************************************
- - QtDBus
- * The minimum required version of the D-Bus reference library is
- now 0.93.
- * Support for reading and writing of custom property types added.
- * Support for getting return arguments in remote method invocation
- via QMetaMethod::invokeMethod.
+New features
+------------
- - [MR#1742] Added new multimedia keys to the Qt::Key enum.
+ - QState, QStateMachine
+ * New classes for state machine framework added to QtCore.
+
+ - QAbstractAnimation
+ * New animation framework added to QtCore
+
+ - QTouchEvent
+ * New class for handling multitouch events added to QtGui
+
+ - QGesture, QGestureRecognizer
+ * New gesture framework added to QtGui
- QMatrix4x4, QGenericMatrix, QVector2D, QVector3D, QVector4D, QQuaternion
* New classes to support 3D applications.
@@ -37,7 +43,14 @@ Merge Request: http://qt.gitorious.org
- QGraphicsEffect
* New classes for applying graphics effects to graphics items and widgets.
- - Boxes demo ported to use new 3D math and shader program classes.
+ - QWebElement
+ * New class for DOM access added to QtWebKit
+
+ - QAudioInput, QAudioOutput
+ * New audio input and output classes.
+
+ - QAbstractVideoSurface, QVideoFrame
+ * New abstract video output classes.
- OpenVG graphics system added.
@@ -45,28 +58,29 @@ Merge Request: http://qt.gitorious.org
- Improved support for input methods in graphics view.
- - QAudioInput, QAudioOutput
- * New audio input and output classes.
-
- - QAbstractVideoSurface, QVideoFrame
- * New abstract video output classes.
+ - [MR#1742] Added new multimedia keys to the Qt::Key enum.
- - New state machine framework added to QtCore.
+ - Boxes demo ported to use new 3D math and shader program classes.
- QtTest now supports outputting XUnit XML documents, for integrating
with existing continuous integration systems. This is enabled by
running the test program with the -xunitxml option.
-Third party components
-----------------------
+ - QtDBus
+ * The minimum required version of the D-Bus reference library is
+ now 0.93.
+ * Support for reading and writing of custom property types added.
+ * Support for getting return arguments in remote method invocation
+ via QMetaMethod::invokeMethod.
- - Updated FreeType to version 2.3.9.
- - Updated harfbuzz to the latest version from fd.org.
+Optimizations
+-------------
- - Updated sqlite to version 3.6.19.
+ - Optimized rendering strategy in QGraphicsView
+ * See list of Important Behavior Changes below
- - Updated libpng to version 1.2.40
+ - Improved delivery of posted events on Windows
****************************************************************************
@@ -74,6 +88,7 @@ Third party components
****************************************************************************
QtCore
+------
- QByteArray
* New overloads for QByteArray::insert() and QByteArray::prepend().
@@ -170,6 +185,7 @@ QtCore
* [256468] Fixed comment indentation.
QtGui
+-----
- Qt::escape
* Now escape the double quote (&quot;).
@@ -435,6 +451,7 @@ QtGui
with Qt::WA_NoSystemBackground and window opacity set.
QtDBus
+------
- QDBusConnection
* Made sending of invalid/incomplete messages consistently fail with error
@@ -447,6 +464,7 @@ QtDBus
deleted or to change owners.
QtNetwork
+---------
- QAbstractSocket
* Only disconnect from host when all bytes have been written.
@@ -483,6 +501,7 @@ QtNetwork
cases the connection stalled when a buffer limit was used.
QtOpenGL
+--------
- QGLColormap
* setEntry() was inserting entries instead of replacing them.
@@ -531,6 +550,7 @@ QtOpenGL
- Added lots of OpenGL autotests.
QtScript
+--------
- Many optimizations.
- Improved ECMA script compliance.
@@ -538,6 +558,7 @@ QtScript
to a QtScript array index.
QtSql
+-----
- [QTBUG-3162] Views for Sql table models should not reset state on failed
queries.
@@ -571,6 +592,7 @@ QtSql
- Add proper iODBC linking support.
QtSvg
+-----
- QSvgHandler
* [245602] [204686] Fixed gradient and solid-color referencing.
@@ -582,6 +604,7 @@ QtSvg
* [257052] Changed drawImage() to ignore aspect ratio.
QtWebKit
+--------
- Many bug fixes.
@@ -614,60 +637,43 @@ QtWebKit
* Support for render hints.
QtXml
+-----
- QDomDocument
* Set the codec to UTF-8 if codec not present or unknown.
QtXmlPatterns
+-------------
- QXmlQuery
* [245219] Added QXmlQuery::setFocus(const QString &focus).
Qt Plugins
+----------
- Tiff plugin
* [258526] Rotate the image if the tiff file contains an orientation tag.
* [254317] Add support for mono and indexed format
- - QPlainTextEdit
- * Fixed crash when clicking on a text edit which was smaller than the
- height of the font used.
-
- - QPrinter
- * [QTBUG-4497] Removed redundant SetPen command in the postscript code
- when reusing a QPrinter object.
+Third party components
+----------------------
+
+ - Updated FreeType to version 2.3.9.
+
+ - Updated harfbuzz to the latest version from fd.org.
+
+ - Updated sqlite to version 3.6.19.
+
+ - Updated libpng to version 1.2.40
- - QTextLayout
- * [QTBUG-4468] Count tabs as multiple characters when applying a fixed
- column width.
- * [176401] Take into account the negative right bearing of the last
- character in an item of text if the glyph extends beyond its ascent.
-
- - QTextDocument
- * [207189] Support setting font size using short hand syntax in the
- CSS "font" property.
- * [201228] Remove implicit margin on bullet lists when exporting to
- HTML.
- * [240086] Fixed bug which caused floating objects which span several
- pages to float into the second page of the document even when it's
- the only existing object, causing the document to contain a blank
- first page.
- * [240325] Even when wrap mode is set to Qt::TextWordWrap, the layout
- would sometimes break outside word boundaries when floating objects
- affected the width available to the text. This has been fixed.
-
- - QFontEngine
- * [QTBUG-2354] Support certain 'Microsoft' platform symbol fonts which
- also contain a regular unicode table for exactly the symbol range of
- code points.
-
- - QFontMetrics
- * [176401] Account for right bearing in bounding rect.
****************************************************************************
* Platform Specific Changes *
****************************************************************************
+ - Added support for the Symbian platform with integration for the S60
+ framework.
+
- Added community supported Qt ports for QNX and VxWorks. See platform
notes in the Qt documentation for details.
@@ -904,6 +910,60 @@ Qt for Embedded Linux
- Add powerpc mkspec and remove "empty" ppc mkspec .
+DirectFB
+--------
+
+ - When running Qt/DirectFB the DirectFB window id of a top level QWidget can
+ be queried using property("_q_DirectFBWindowID")
+
+ - Allow setting the background color of the primary layer in DirectFB with
+ connect options. QWS_DISPLAY=directfb:bgcolor=red or
+ QWS_DISPLAY=directfb:bgcolor=\#aabbccdd
+
+ - Add support for rendering mouse cursor using a top level window when cursor
+ support is not working in IDirectFBDisplayLayer. Define
+ QT_DIRECTFB_WINDOW_AS_CURSOR to enable.
+
+ - Add experimental support for optimized locking/unlocking of surfaces. Enable
+ by defining QT_DIRECTFB_SUBSURFACE.
+
+ - Fix a bug to conceptually allow using QDirectFBScreen as a subscreen of a
+ proxy screen. Don't make QDirectFBScreen::instance() assume that
+ QScreen::instance() is a QDirectFBScreen.
+
+ - Optimize move/resize operations with DirectFB. With a properly configured
+ DirectFB these operations are handled for us and we don't need to force a
+ repaint of the window.
+
+ - Support top level window opacity in DirectFB
+
+ - Fix a bug when loading RGB32 images that would lead to rendering issues.
+
+ - Fix a bug when painting with invalid pens/brushes.
+
+ - Fix a bug that would show up when QWidget::scroll is called.
+
+ - Implement support for loading pixmaps using IDirectFBImageProvider.
+
+ - Disable color table support by default. This seems to work incorrectly on
+ most boards and loading these images will generally require an image
+ conversion anyway.
+
+ - Fix a crash when resizing windows.
+
+ - Compile with versions < 1.0. We still recommend using newer versions.
+
+ - Considerable code cleanup
+
+ - Various optimizations regarding painting, loading of images and creation of
+ surfaces.
+
+ - Allow forcibly falling back to raster engine for painting operations by
+ exporting QT_DIRECTFB_FORCE_RASTER=1
+
+ - Reenable support for RGB32 primary surface.
+
+
Qt for Windows CE
-----------------
@@ -973,61 +1033,6 @@ Qt for Windows CE
****************************************************************************
-* DirectFB *
-****************************************************************************
-
- - When running Qt/DirectFB the DirectFB window id of a top level QWidget can
- be queried using property("_q_DirectFBWindowID")
-
- - Allow setting the background color of the primary layer in DirectFB with
- connect options. QWS_DISPLAY=directfb:bgcolor=red or
- QWS_DISPLAY=directfb:bgcolor=\#aabbccdd
-
- - Add support for rendering mouse cursor using a top level window when cursor
- support is not working in IDirectFBDisplayLayer. Define
- QT_DIRECTFB_WINDOW_AS_CURSOR to enable.
-
- - Add experimental support for optimized locking/unlocking of surfaces. Enable
- by defining QT_DIRECTFB_SUBSURFACE.
-
- - Fix a bug to conceptually allow using QDirectFBScreen as a subscreen of a
- proxy screen. Don't make QDirectFBScreen::instance() assume that
- QScreen::instance() is a QDirectFBScreen.
-
- - Optimize move/resize operations with DirectFB. With a properly configured
- DirectFB these operations are handled for us and we don't need to force a
- repaint of the window.
-
- - Support top level window opacity in DirectFB
-
- - Fix a bug when loading RGB32 images that would lead to rendering issues.
-
- - Fix a bug when painting with invalid pens/brushes.
-
- - Fix a bug that would show up when QWidget::scroll is called.
-
- - Implement support for loading pixmaps using IDirectFBImageProvider.
-
- - Disable color table support by default. This seems to work incorrectly on
- most boards and loading these images will generally require an image
- conversion anyway.
-
- - Fix a crash when resizing windows.
-
- - Compile with versions < 1.0. We still recommend using newer versions.
-
- - Considerable code cleanup
-
- - Various optimizations regarding painting, loading of images and creation of
- surfaces.
-
- - Allow forcibly falling back to raster engine for painting operations by
- exporting QT_DIRECTFB_FORCE_RASTER=1
-
- - Reenable support for RGB32 primary surface.
-
-
-****************************************************************************
* Important Behavior Changes *
****************************************************************************
@@ -1148,3 +1153,10 @@ Qt for Windows CE
X11: LIBS += -lX11
Mac: LIBS += -framework AppKit -framework Carbon
+- QtScript: Behavior changes due to using JavaScriptCore in the back-end:
+ * QDateTime is no longer used for date parsing and string conversion of
+ Date objects; instead the (more compliant) date processing from
+ JavaScriptCore is used.
+ * RegExp objects are no longer thin wrappers around QRegExp; they are now
+ "proper" JavaScript RegExp objects.
+
diff --git a/doc/src/examples/fancybrowser.qdoc b/doc/src/examples/fancybrowser.qdoc
index bc63010..4a9eaec 100644
--- a/doc/src/examples/fancybrowser.qdoc
+++ b/doc/src/examples/fancybrowser.qdoc
@@ -119,6 +119,10 @@
page is loaded. Once the jQuery library is loaded, we can start executing
the different jQuery functions in the browser.
+ The rotateImages() function is then called explicitely to make sure
+ that the images of the newly loaded page respect the state of the toggle
+ action.
+
\snippet examples/webkit/fancybrowser/mainwindow.cpp 7
The first jQuery-based function, \c highlightAllLinks(), is designed to
diff --git a/doc/src/getting-started/examples.qdoc b/doc/src/getting-started/examples.qdoc
index eec0492..e951804 100644
--- a/doc/src/getting-started/examples.qdoc
+++ b/doc/src/getting-started/examples.qdoc
@@ -706,6 +706,7 @@
\o \l{tools/customtypesending}{Custom Type Sending}\raisedaster
\o \l{tools/echoplugin}{Echo Plugin}\raisedaster
\o \l{tools/i18n}{I18N}
+ \o \l{tools/inputpanel}{Input Panel}\raisedaster
\o \l{tools/plugandpaint}{Plug & Paint}\raisedaster
\o Plug & Paint Plugins: \l{tools/plugandpaintplugins/basictools}{Basic Tools}\raisedaster
and \l{tools/plugandpaintplugins/extrafilters}{Extra Filters}\raisedaster
@@ -793,6 +794,7 @@
\o \l{opengl/framebufferobject2}{Framebuffer Object 2}
\o \l{opengl/grabber}{Grabber}
\o \l{opengl/hellogl}{Hello GL}\raisedaster
+ \o \l{opengl/hellogl_es}{Hello GL - ported to Windows CE}\raisedaster
\o \l{opengl/overpainting}{Overpainting}\raisedaster
\o \l{opengl/pbuffers}{Pixel Buffers}
\o \l{opengl/pbuffers2}{Pixel Buffers 2}
diff --git a/doc/src/getting-started/known-issues.qdoc b/doc/src/getting-started/known-issues.qdoc
index 0b63423..5c8888d 100644
--- a/doc/src/getting-started/known-issues.qdoc
+++ b/doc/src/getting-started/known-issues.qdoc
@@ -59,34 +59,6 @@
\section1 Installation Issues
- \section2 Building the Source Package on Windows 7
-
- \list
- \o When building Qt 4.5.0 with Windows 7, the build fails with an error
- message regarding failing to embed manifest. This a known issue with
- Windows 7, explained in the Windows 7 SDK Beta
- \l{http://download.microsoft.com/download/8/8/0/8808A472-6450-4723-9C87-977069714B27/ReleaseNotes.Htm}
- {release notes}. A workaround for this issue is to patch the
- \bold{embed_manifest_exe.prf} file with the following:
-
- \code
- diff --git a/mkspecs/features/win32/embed_manifest_exe.prf b/mkspecs/features/win32/embed_manifest_exe.prf
- index e1747f1..05f116e 100644
- --- a/mkspecs/features/win32/embed_manifest_exe.prf
- +++ b/mkspecs/features/win32/embed_manifest_exe.prf
- @@ -8,4 +8,9 @@ if(win32-msvc2005|win32-msvc2008):!equals(TEMPLATE_PREFIX, "vc"):equals(TEMPLATE
- QMAKE_POST_LINK = $$quote(mt.exe -nologo -manifest \"$$replace(OBJECTS_DIR,/,\\)\\$${NOPATH_TARGET}.intermediate.ma
- nifest\" -outputresource:$(DESTDIR_TARGET);1$$escape_expand(\n\t))
- QMAKE_POST_LINK += $$QMAKE_PREV_POST_LINK
- QMAKE_CLEAN += \"$$replace(OBJECTS_DIR,/,\\)\\$${NOPATH_TARGET}.intermediate.manifest\"
- + isEmpty(RC_FILE) {
- + system("echo.>$$replace(OUT_PWD,/,\\)\\$$replace(OBJECTS_DIR,/,\\)\\Windows7WorkAround.rc")
- + RC_FILE = $$replace(OUT_PWD,/,\\)\\$$replace(OBJECTS_DIR,/,\\)\\Windows7WorkAround.rc
- + }
- +
- }
- \endcode
-
\section2 Installing the Source Package on Unix systems
\o If you download a Zip source package, you will need to convert
diff --git a/doc/src/howtos/HWacceleration.qdoc b/doc/src/howtos/HWacceleration.qdoc
new file mode 100644
index 0000000..80db740
--- /dev/null
+++ b/doc/src/howtos/HWacceleration.qdoc
@@ -0,0 +1,100 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \page HWAcc_rendering.html
+ \title Using hardware acceleration on embedded platforms.
+
+ \ingroup best-practices
+
+ \section1 Abstract
+ This document describes how to use hardware acceleration for fast
+ rendering on embedded platforms supported by Qt. In short, it explains
+ how the graphics pipeline works. Since there might be differences to
+ how the APIs are being used on different embedded platforms, a table
+ links to documentation dedicated to platform specific documentation
+ for each supported hardware acceleration API.
+
+ \input platforms/emb-hardwareacceleration.qdocinc
+
+ \section1 Supported platforms
+ Since there might be differences to how the APIs are being used on
+ the different embedded platforms, this table provides you with links to
+ pages dedicated to platform specific documentation for each
+ supported hardware acceleration API. Click the API link for the
+ platform to go the correct documentation.
+
+ \table
+ \header
+ \o Operating System
+ \o {3,1} Hardware Acceleration Platform
+ \row
+ \o \bold {Windows CE}
+ \o \l {Qt for Windows CE and OpenGL ES}{OpenGL ES}
+ \o \l {Qt for Windows CE and OpenVG}{OpenVG}
+ \o
+ \row
+ \o \bold {Embedded Linux}
+ \o \l {Qt for Embedded Linux and OpenGL}{OpenGL ES}
+ \o \l {Qt for Embedded Linux and OpenVG}{OpenVG}
+ \o \l {Qt for Embedded Linux and DirectFB}{DirectFB}
+ \row
+ \o \bold {Symbian Platform}
+ \o {3,1} \e {There are currently no support for hardware
+ acceleration.}
+ \endtable
+\omit
+ \section1 Examples using hardware acceleration on embedded platforms.
+
+ \table
+ \header
+ \o Embedded Platform
+ \o Example
+ \row
+ \o Windows CE
+ \row
+ \o Embedded Linux
+ \endtable
+\endomit
+
+
+
+*/
diff --git a/doc/src/modules.qdoc b/doc/src/modules.qdoc
index 3abcf7c..94cab58 100644
--- a/doc/src/modules.qdoc
+++ b/doc/src/modules.qdoc
@@ -314,8 +314,43 @@
\snippet doc/src/snippets/code/doc_src_qtscript.qdoc 1
+ For detailed information on how to make your application
+ scriptable with QtScript, see \l{Making Applications
+ Scriptable}.
+
The QtScript module is part of the \l{Qt Full Framework Edition} and the
\l{Open Source Versions of Qt}.
+
+ \section1 License Information
+
+ Qt Commercial Edition licensees that wish to distribute applications that
+ use the QtScript module need to be aware of their obligations under the
+ GNU Library General Public License (LGPL).
+
+ Developers using the Open Source Edition can choose to redistribute
+ the module under the appropriate version of the GNU LGPL.
+
+ \legalese
+ QtScript is licensed under the GNU Library General Public License.
+ Individual contributor names and copyright dates can be found
+ inline in the code.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+ \endlegalese
+
*/
/*!
diff --git a/doc/src/platforms/emb-HwAcc-LinuxEmbedded.qdoc b/doc/src/platforms/emb-HwAcc-LinuxEmbedded.qdoc
index 9c18d87..a9bd167 100644
--- a/doc/src/platforms/emb-HwAcc-LinuxEmbedded.qdoc
+++ b/doc/src/platforms/emb-HwAcc-LinuxEmbedded.qdoc
@@ -49,23 +49,57 @@
\ingroup qt-embedded-linux
- \input platforms/emb-hardwareacceleration.qdocinc
+ \input platforms/emb-hardwareacceleration.qdocinc
-\section1 Supported Hardware Accelerated Graphics APIs
+ \section1 Windowing on Embedded Linux with Hardware Accelerated Graphics
-This list shows which Hardware Accelerated Graphics APIs currently
-supported by Qt.
+ Qt for Embedded Linux includes its own windowing system, QWS. QWS was
+ designed in 1999, well before graphics acceleration was available for
+ embedded devices. It does a great job providing a lightweight window
+ manager including all the expected functionality such as arbitrary
+ windows that can be moved, resized, minimized, etc. Getting QWS to work
+ with GPUs is very challenging, particularly with OpenGL and OpenVG
+ because there is no standard way in Linux to share textures across
+ processes. Some silicon vendors provide private APIs to allow texture
+ sharing, others do not. These limitations are documented under the
+ sections describing each type of accelerated hardware APIs. The simplest
+ most generic support for accelerated graphics is a full screen single
+ process single window.
- \table
- \header
- \o Supported Hardware Accelerated Graphics APIs
- \row
- \o \l {Qt for Embedded Linux and OpenGL}{OpenGL ES}
- \row
- \o \l {Qt for Embedded Linux and OpenVG}{OpenVG}
- \row
- \o \l {Qt for Embedded Linux and DirectFB}{DirectFB}
- \endtable
+ \section2 General options
+ \list
+ \o QWS, not accelerated, allows arbitrary windowing with multiple
+ processes drawing on the screen.
+ \o X11 with an accelerated X11 driver provided by the silicon
+ vendor. Like QWS, this allows arbitrary windows with multiple
+ processes drawing on the screen. Our experience is that there is
+ some overhead from X11 which will adversely affect framerates.
+ Additionally, our experience is that the drivers from silicon
+ vendors are still maturing.
+ \o Full screen single process single window. This will always work.
+ Some additional capabilities are available and are documented in
+ the acceleration specific API sections.
+ \endlist
+
+ \section1 Supported Hardware Accelerated Graphics APIs
+
+ This table shows which Hardware Accelerated Graphics APIs currently
+ supported by Qt.
+
+ \table
+ \header
+ \o Supported APIs
+ \o API Version
+ \row
+ \o \l {Qt for Embedded Linux and OpenGL}{OpenGL ES}
+ \o 1.x and 2.x
+ \row
+ \o \l {Qt for Embedded Linux and OpenVG}{OpenVG }
+ \o 1.1
+ \row
+ \o \l {Qt for Embedded Linux and DirectFB}{DirectFB}
+ \o 2.0
+ \endtable
*/
diff --git a/doc/src/platforms/emb-HwAcc-WinCE.qdoc b/doc/src/platforms/emb-HwAcc-WinCE.qdoc
index 66b6948..b7789f1 100644
--- a/doc/src/platforms/emb-HwAcc-WinCE.qdoc
+++ b/doc/src/platforms/emb-HwAcc-WinCE.qdoc
@@ -47,7 +47,6 @@
\title Qt for Windows CE Hardware Accelerated Graphics
\ingroup qtce
-
\input platforms/emb-hardwareacceleration.qdocinc
\section1 Supported Hardware Accelerated Graphics APIs
diff --git a/doc/src/platforms/emb-hardwareacceleration.qdocinc b/doc/src/platforms/emb-hardwareacceleration.qdocinc
index 3851628..fb00e09 100644
--- a/doc/src/platforms/emb-hardwareacceleration.qdocinc
+++ b/doc/src/platforms/emb-hardwareacceleration.qdocinc
@@ -1,129 +1,140 @@
-
-\section1 Hardware Acceleration
-
-When designing applications for embedded devices the choice often stands
-between graphics effects and performance. On most devices, you cannot have
-both simply because the hardware needed for such operations just is not
-there. Still a growing number of devices use hardware dedicated to graphics
-operations to improve performance.
-
-Using graphics acceleration hardware is more power efficient than using the
-CPU. The reason for this is that the CPU might require a clock speed that
-is up to 20 times higher than the GPU, achieving the same results. E.g. a
-typical hardware accelerated mobile graphics unit can rasterize one or two
-bilinear texture fetches in one cycle, while a software implementation
-takes easily more than 20 cycles. Graphics hardware generally have a much
-lower clock speed and memory bandwidth and different level of acceleration
-than desktop GPUs. One example is that many GPUs leave out transformation
-and lighting from the graphics pipeline and only implements rasterization.
-
-So the key to write good applications for devices is therefore to limit the
-wow factor down to what the target hardware can handle, and to take
-advantage of any graphics dedicated hardware. Qt provides several ways to
-both render advanced effects on the screen and speed up your application
-using hardware accelerated graphics.
-
-\tableofcontents
-
-\section2 Qt for Embedded Graphics pipeline
-
-Qt uses QPainter for all graphics operations. By using the same API
-regardless of platform, the code can be reused on different devices.
-QPainter use different paint engines implemented in the QPaintEngine API to
-do the actual painting.
-
-The QPaintEngine API provides paint engines for each window system and
-painting framework supported by Qt. In regards to Qt for Embedded, this
-also includes implementations for OpenGL ES versions 1.1 and 2.0, as well
-as OpenVG and DirectFB(Embedded Linux only).
-
-By using one of these paint engines, you will be able to improve the
-graphics performance of your Qt application. However, if the graphics
-operations used are not supported, this might as well be a trap, slowing
-down your application significantly. This all depends on what kind of
-graphics operations that are supported by the target devices hardware
-configuration.
-
-\image platformHWAcc.png
-
-The paint engine will direct all graphics operations supported by the
-devices hardware to the GPU, and from there they are sent to the
-framebuffer. Unsupported graphics operations falls back to the
-QRasterPaintEngine and are handled by the CPU before sent to the
-framebuffer. In the end, the operating system sends the paint updates off
-to the screen/display. The fallback operation is quite expensive in regards
-to memory consumption, and should be avoided.
-
-\section2 Hardware configuration requirements
-
-Before implementing any application using hardware acceleration, it is wise
-to get an overview of what kind of hardware accelerated graphics operations
-that are available for the target device.
-
-\note On devices with no hardware acceleration, Qt will use
-QRasterPaintEngine, which handles the acceleration using software. On
-devices supporting OpenGL ES, OpenVG or DirectFB(not supported by Windows
-CE), Qt will use the
-respective paint engines to accelerate painting. However, hardware
-configurations that only support a limited set of hardware acceleration
-features, might slow the application graphics down rather than speeding it
-up when using unsupported operations that must fall back to the raster
-engine.
-
-\section3 Different architectures
-
-Based on the architecture used in a device we can make a recommendation on
-which hardware acceleration techniques to use. There are mainly two
-different architectures on embedded devices. These are devices with a
-Unified Memory Architecture (UMA), and devices with dedicated graphics
-memory. Generally, high-end devices will have dedicated graphics memory.
-Low-end devices will just use system memory, sometimes reserving a memory
-region and sometimes not.
-
-In addition to this, we can categorize the devices into five types based on
-the different graphics operations supported by their hardware.
-
-\list 1
- \o No support for graphics acceleration.
- \o Support for blitter and alpha blending.
- \o Support for path based 2D vector graphics.
- \o Support for fixed function 3D graphics.
- \o Support for programmable 3D graphics.
-\endlist
-
-Based on these characteristics the table below recommends which paint
-engines to use with the different types of hardware configurations.
-
-\section3 Recommended use of hardware acceleration based on hardware
-
- \table
- \header
- \o Type
- \o UMA
- \o Non-UMA
- \row
- \o \bold {None}
- \o Qt Raster Engine
- \o Qt Raster Engine
- \row
- \o \bold {Blitter}
- \o DirectFB
- \o DirectFB
- \row
- \o \bold {2D Vector}
- \o OpenVG
- \o OpenVG
- \row
- \o \bold {Fixed 3D}
- \o OpenGL (ES) 1.x
- \o OpenGL (ES) 1.x
- \row
- \o \bold {Programmable 3D}
- \o OpenGL (ES) 2.x
- \o OpenGL (ES) 2.x
-
- \endtable
-
-\note Since the DirectFB API is quite primitive, the raster paint engine
-handles most of the operations.
-\note Blitter and Alpha blending is currently not supported on Windows CE.
+ \section1 Hardware Acceleration
+
+ When designing applications for embedded devices there is often a
+ compromise between graphics effects and performance. On most
+ devices, you cannot have both simply because the hardware needed
+ for such operations just is not there. With a growing number of
+ devices that use hardware dedicated to graphics operations there is
+ less need to compromise.
+
+ In addition to enabling dynamic graphics effects, there are two
+ other benefits to using graphics acceleration. One is that graphics
+ acceleration hardware is more power efficient than using the CPU.
+ The reason for this is that the CPU might require a clock speed
+ that is up to 20 times higher than the GPU, achieving the same
+ results. E.g. a typical hardware accelerated mobile graphics unit
+ can rasterize one or two bilinear texture fetches in one cycle,
+ while a software implementation takes easily more than 20 cycles.
+ Typical \e {System-on-a-chip} (SoC) graphics hardware generally have
+ a much lower clock speed and memory bandwidth, and different level
+ of acceleration than desktop GPUs. One example is that many GPUs
+ leave out transformation and lighting from the graphics pipeline
+ and only implements rasterization.
+
+ Another reason to use a GPU is to offload the main CPU, either for
+ power saving or to perform other operations in parallel. Often
+ drawing speed with a GPU is not that much faster than a CPU but
+ the clear benefit of using the GPU is to free up the CPU to perform
+ other tasks which can be used to create a more responsive use
+ experience.
+
+ The key to writing good applications for devices is therefore to
+ limit the wow factor down to what the target hardware can handle,
+ and to take advantage of any graphics dedicated hardware. Qt
+ provides several ways to both render advanced effects on the screen
+ and speed up your application using hardware accelerated graphics.
+
+ \tableofcontents
+
+ \section2 Qt for Embedded Graphics pipeline
+
+ Qt uses QPainter for all graphics operations. By using the same API
+ regardless of platform, the code can be reused on different devices.
+ QPainter use different paint engines implemented in the QPaintEngine API to
+ do the actual painting.
+
+ The QPaintEngine API provides paint engines for each window system and
+ painting framework supported by Qt. In regards to Qt for Embedded, this
+ also includes implementations for OpenGL ES versions 1.1 and 2.0, as well
+ as OpenVG and DirectFB(Embedded Linux only).
+
+ By using one of these paint engines, you will be able to improve the
+ graphics performance of your Qt application. However, if the graphics
+ operations used are not supported, this might as well be a trap, slowing
+ down your application significantly. This all depends on what kind of
+ graphics operations that are supported by the target devices hardware
+ configuration.
+
+ \image platformHWAcc.png
+
+ The paint engine will direct all graphics operations supported by the
+ devices hardware to the GPU, and from there they are sent to the
+ framebuffer. Unsupported graphics operations falls back to the
+ QRasterPaintEngine and are handled by the CPU before sent to the
+ framebuffer. In the end, the operating system sends the paint updates off
+ to the screen/display. The fallback operation is quite expensive in regards
+ to memory consumption, and should be avoided.
+
+ \section2 Hardware configuration requirements
+
+ Before implementing any application using hardware acceleration, it is wise
+ to get an overview of what kind of hardware accelerated graphics operations
+ that are available for the target device.
+
+ \note On devices with no hardware acceleration, Qt will use
+ QRasterPaintEngine, which handles the acceleration using software. On
+ devices supporting OpenGL ES, OpenVG or DirectFB(not supported by Windows
+ CE), Qt will use the
+ respective paint engines to accelerate painting. However, hardware
+ configurations that only support a limited set of hardware acceleration
+ features, might slow the application graphics down rather than speeding it
+ up when using unsupported operations that must fall back to the raster
+ engine.
+
+ \section3 Different architectures
+
+ Based on the architecture used in a device we can make a recommendation on
+ which hardware acceleration techniques to use. There are mainly two
+ different architectures on embedded devices. These are devices with a
+ Unified Memory Architecture (UMA), and devices with dedicated graphics
+ memory. Generally, high-end devices will have dedicated graphics memory.
+ Low-end devices will just use system memory, sometimes reserving a memory
+ region and sometimes not.
+
+ In addition to this, we can categorize the devices into five types based on
+ the different graphics operations supported by their hardware.
+
+ \list 1
+ \o No support for graphics acceleration.
+ \o Support for blitter and alpha blending.
+ \o Support for path based 2D vector graphics.
+ \o Support for fixed function 3D graphics.
+ \o Support for programmable 3D graphics.
+ \endlist
+
+ Based on these characteristics the table below recommends which paint
+ engines to use with the different types of hardware configurations.
+
+ \section3 Recommended use of hardware acceleration based on hardware
+
+ \table
+ \header
+ \o Type
+ \o UMA
+ \o Non-UMA
+ \row
+ \o \bold {None}
+ \o Qt Raster Engine
+ \o Qt Raster Engine
+ \row
+ \o \bold {Blitter}
+ \o DirectFB
+ \o DirectFB
+ \row
+ \o \bold {2D Vector}
+ \o OpenVG
+ \o OpenVG
+ \row
+ \o \bold {Fixed 3D}
+ \o OpenGL (ES) 1.x
+ \o OpenGL (ES) 1.x
+ \row
+ \o \bold {Programmable 3D}
+ \o OpenGL (ES) 2.x
+ \o OpenGL (ES) 2.x
+ \endtable
+
+ \note Since the DirectFB API is quite primitive, the raster paint engine
+ handles most of the operations.
+
+ \note Blitter and Alpha blending is currently not supported on Windows CE.
diff --git a/doc/src/platforms/platform-notes.qdoc b/doc/src/platforms/platform-notes.qdoc
index 9896b08..68015a6 100644
--- a/doc/src/platforms/platform-notes.qdoc
+++ b/doc/src/platforms/platform-notes.qdoc
@@ -406,17 +406,102 @@
\page platform-notes-symbian.html
\title Platform Notes - Symbian
\contentspage Platform Notes
+ \ingroup platform-specific
+ \brief Information about the state of support for the Symbian platform.
- This page contains information about the Symbian platforms Qt is currently known
- to run on. More information about the combinations of platforms and compilers
- supported by Qt can be found on the \l{Supported Platforms} page.
+ 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.
+
+ \section1 Source Compatibility
+
+ Qt for Symbian provides the same level of source compatibility guarantee as
+ given for other platforms.  That is, a program which compiles against a given
+ version of Qt for Symbian will also compile against all future versions of the
+ same major release.
+
+ \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.
+
+ \section1 Supported Devices
+
+ Qt is designed to work on any device which runs one of the following
+ versions of Symbian:
+
+ \table
+ \header \o Symbian Version
+ \row \o S60 3.1
+ \row \o S60 3.2
+ \row \o S60 5.0 (Symbian ^1)
+ \endtable
+
+ Qt has received \l{Tier 1 Platforms}{Tier 1} testing on the following phone models:
+
+ \table
+ \header \o Phone
+ \row \o Nokia 5800
+ \row \o Nokia E71
+ \row \o Nokia E72
+ \row \o Nokia N78
+ \row \o Nokia N95
+ \row \o Nokia N97
+ \row \o Samsung i8910
+ \endtable
+
+ \section1 Supported Functionality
+
+ The following technologies and classes are not currently supported:
+
+ \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 QtOpenGL ES
+ \o Planned for future release.
+ \row \o Printing support
+ \o No current plans to support this feature.
+ \row \o Qt3Support
+ \o No current plans to support this feature.
+ \endtable
+
+ The following technologies have limited support:
+
+ \table
+ \header \o Technology
+ \o Note
+ \row \o QtSql
+ \o The only driver supported is SQLite.
+ \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.
+ \endtable
+
+ \section1 Known Issues
+
+ Known issues can be found by visiting the
+ \l{http://qt.gitorious.org/qt/pages/Qt460KnownIssues}{wiki page} with an
+ up-to-date list of known issues, and the list of bugs can be found by
+ \l{http://bugreports.qt.nokia.com/browse/QTBUG/component/19171}{browsing} the
+ S60 component in Qt's public task tracker, located at
+ \l{http://bugreports.qt.nokia.com/}{http://bugreports.qt.nokia.com/}.
- For information about mixing exceptions with Symbian leaves,
- see \l{Exception Safety with Symbian}
+ For information about mixing exceptions with Symbian leaves, see
+ \l{Exception Safety with Symbian}.
\section1 Multimedia and Phonon Support
- Qt provides a backend for Qt's multimedia module, Phonon, which supports
+ Qt provides a backend for Qt's Phonon module, which supports
video and sound playback through Symbian's Multimedia Framework, MMF.
In this release the support is experimental. Video playback may have
@@ -429,7 +514,11 @@
In addition, there exists a backend for the Helix framework. However, due
to it not shipping with Qt, its availability depends on the Symbian
- platform in use. If available, it is loaded instead of the MMF plugin.
+ platform in use. If available, it is loaded in preference over the MMF
+ plugin. The Helix plugin requires Symbian signed capabilities. If the
+ application does not have those capabilities, the MMF plugin, if present on
+ the device, will be loaded instead. The capabilities the Helix backend
+ requires are AllFiles, DiskAdmin and MultimediaDD.
*/
diff --git a/doc/src/platforms/supported-platforms.qdoc b/doc/src/platforms/supported-platforms.qdoc
index 560ddfe..ca668bc 100644
--- a/doc/src/platforms/supported-platforms.qdoc
+++ b/doc/src/platforms/supported-platforms.qdoc
@@ -89,7 +89,7 @@
\o gcc (\l{http://www.codesourcery.com/}{Codesourcery version)}
\row \o Windows CE 5.0 (ARMv4i, x86, MIPS)
\o MSVC 2005 WinCE 5.0 Standard (x86, pocket, smart, mipsii)
- \row \o Symbian (S60 3.1, 3.2 and 5.0)
+ \row \o \l {Qt for Symbian} {Symbian (S60 3.1, 3.2 and 5.0)}
\o RVCT, GCCE, WINSCW
\endtable
@@ -155,4 +155,21 @@
warranties and conditions, either express or implied, including, but not limited to,
implied warranties of merchantability, fitness for a particular purpose, title and
non-infringement with regard to the Licensed Software.
+
+ \section1 Planned Changes for Qt 4.7
+
+ The following changes to the list of supported platforms are at time of publishing
+ planned for Qt 4.7:
+
+ \list
+ \o Upgrade Windows 7 to Tier 1
+ \o Upgrade Mac OS X 10.6 to Tier 1
+ \o Add support for Visual Studio 2010 (Tier 2)
+ \o Move support for Carbon implementation of Qt on Mac OS X from Tier 1 to Tier 2
+ \o Drop support for MinGW 3.4
+ \o Drop support for Visual Studio 2003
+ \o Drop support for HP-UX on PA-RISC
+ \o Drop support for Windows Mobile 5
+ \o Drop support for OpenGL ES Common Lite
+ \endlist
*/
diff --git a/doc/src/platforms/symbian-support.qdoc b/doc/src/platforms/symbian-support.qdoc
new file mode 100644
index 0000000..916eda5
--- /dev/null
+++ b/doc/src/platforms/symbian-support.qdoc
@@ -0,0 +1,135 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \page symbian-support.html
+ \title Qt for Symbian
+ \ingroup platform-specific
+ \brief Information about the state of support for the Symbian platform.
+
+ Qt for Symbian is not yet fully on a par with other platforms with respect
+ to stability and feature support. This page documents the current shortcomings
+ of the Symbian port.
+
+ \section1 Source Compatibility
+
+ Qt for Symbian provides the same level of source compatibility guarantee as
+ given for other platforms.  That is, a program which compiles against a given
+ version of Qt for Symbian will also compile against all future versions of the
+ same major release.
+
+ \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, it is possible that minor corrections to the
+ behavior and to the ABI in 4.6.1 will be required in order to ensure
+ compatibility going forward. If we break the binary compatiblity promise,
+ we will document such changes in the 4.6.1 release.
+
+ \section1 Supported Devices
+
+ Qt should generally work on any device which runs one of the following
+ versions of Symbian:
+
+ \table
+ \header \o Symbian Version
+ \row \o S60 3.1
+ \row \o S60 3.2
+ \row \o S60 5.0 (Symbian ^1)
+ \endtable
+
+ Qt has received Tier 1 testing on the following phone models:
+
+ \table
+ \header \o Phone
+ \row \o Nokia 5800
+ \row \o Nokia E71
+ \row \o Nokia E72
+ \row \o Nokia N78
+ \row \o Nokia N95
+ \row \o Nokia N97
+ \row \o Samsung i8910
+ \endtable
+
+ \section1 Supported Functionality
+
+ The following technologies and classes are not currently supported:
+
+ \table
+ \header \o Technology
+ \o Note
+ \row \o QtConcurrent
+ \o
+ \row \o QtDBus
+ \o No current plans to support this feature.
+ \row \o QtOpenGL
+ \o Support for OpenGL ES planned for a future release.
+ \row \o Printing support
+ \o No current plans to support this feature.
+ \row \o Qt3Support
+ \o No current plans to support this feature.
+ \endtable
+
+ The following technologies have limited support:
+
+ \table
+ \header \o Technology
+ \o Note
+ \row \o QtSql
+ \o The only driver supported is SQLite.
+ \row \o QtMultimedia
+ \o Although the module itself is supported, no backend for Symbian
+ is available. However, there is a backend available for Phonon.
+ \endtable
+
+ \section1 Known Issues
+
+ Known issues can be found by visiting the
+ \l{http://qt.gitorious.org/qt/pages/Qt460KnownIssues}{wiki page} with an
+ up-to-date list of known issues, and the list of bugs can be found by
+ \l{http://bugreports.qt.nokia.com/browse/QTBUG/component/19171}{browsing} the
+ S60 component in Qt's public task tracker, located at
+ \l{http://bugreports.qt.nokia.com/}{http://bugreports.qt.nokia.com/}.
+
+*/
+
diff --git a/doc/src/scripting/scripting.qdoc b/doc/src/scripting/scripting.qdoc
index e99be70..b2ce8d1 100644
--- a/doc/src/scripting/scripting.qdoc
+++ b/doc/src/scripting/scripting.qdoc
@@ -1805,15 +1805,9 @@
\section1 ECMAScript Compatibility
- QtScript implements all the built-in classes and functions defined
- in ECMA-262.
-
- The Date parsing and string conversion functions are implemented using
- QDateTime::fromString() and QDateTime::toString(), respectively.
-
- The RegExp class is a wrapper around QRegExp. The QRegExp semantics
- do not precisely match the semantics for regular expressions defined
- in ECMA-262.
+ QtScript implements all the built-in objects and properties defined
+ in the \l{ECMA-262} standard; see the
+ \l{ECMAScript Reference}{ECMAScript reference} for an overview.
\section1 QtScript Extensions to ECMAScript
diff --git a/doc/src/snippets/code/src_gui_painting_qregion_unix.cpp b/doc/src/snippets/code/src_gui_painting_qregion_unix.cpp
index fb1f363..ea42e70 100644
--- a/doc/src/snippets/code/src_gui_painting_qregion_unix.cpp
+++ b/doc/src/snippets/code/src_gui_painting_qregion_unix.cpp
@@ -41,19 +41,15 @@
//! [0]
QRegion r1(10, 10, 20, 20);
-r1.isNull(); // false
r1.isEmpty(); // false
-QRegion r2(40, 40, 20, 20);
QRegion r3;
-r3.isNull(); // true
r3.isEmpty(); // true
+QRegion r2(40, 40, 20, 20);
r3 = r1.intersected(r2); // r3: intersection of r1 and r2
-r3.isNull(); // false
r3.isEmpty(); // true
r3 = r1.united(r2); // r3: union of r1 and r2
-r3.isNull(); // false
r3.isEmpty(); // false
//! [0]
diff --git a/examples/activeqt/qutlook/addressview.cpp b/examples/activeqt/qutlook/addressview.cpp
index 6e79250..19425c1 100644
--- a/examples/activeqt/qutlook/addressview.cpp
+++ b/examples/activeqt/qutlook/addressview.cpp
@@ -243,7 +243,7 @@ AddressView::AddressView(QWidget *parent)
model = new AddressBookModel(this);
treeView->setModel(model);
- connect(treeView->selectionModel(), SIGNAL(currentChanged(QModelIndex, QModelIndex)), this, SLOT(itemSelected(QModelIndex)));
+ connect(treeView->selectionModel(), SIGNAL(currentChanged(QModelIndex,QModelIndex)), this, SLOT(itemSelected(QModelIndex)));
mainGrid->addWidget(treeView, 2, 0, 1, 5);
}
diff --git a/examples/activeqt/simple/main.cpp b/examples/activeqt/simple/main.cpp
index 4adc00d..78fa1b4 100644
--- a/examples/activeqt/simple/main.cpp
+++ b/examples/activeqt/simple/main.cpp
@@ -64,8 +64,8 @@ public:
LCD = new QLCDNumber( 3, this );
edit = new QLineEdit( this );
- connect( slider, SIGNAL( valueChanged( int ) ), this, SLOT( setValue(int) ) );
- connect( edit, SIGNAL(textChanged(const QString&)), this, SLOT(setText(const QString&)) );
+ connect( slider, SIGNAL(valueChanged(int)), this, SLOT(setValue(int)) );
+ connect( edit, SIGNAL(textChanged(QString)), this, SLOT(setText(QString)) );
vbox->addWidget( slider );
vbox->addWidget( LCD );
diff --git a/examples/assistant/simpletextviewer/findfiledialog.cpp b/examples/assistant/simpletextviewer/findfiledialog.cpp
index 1435ca6..0720111 100644
--- a/examples/assistant/simpletextviewer/findfiledialog.cpp
+++ b/examples/assistant/simpletextviewer/findfiledialog.cpp
@@ -176,9 +176,9 @@ void FindFileDialog::createComboBoxes()
directoryComboBox->setSizePolicy(QSizePolicy::Expanding,
QSizePolicy::Preferred);
- connect(fileNameComboBox, SIGNAL(editTextChanged(const QString &)),
+ connect(fileNameComboBox, SIGNAL(editTextChanged(QString)),
this, SLOT(update()));
- connect(directoryComboBox, SIGNAL(currentIndexChanged(const QString &)),
+ connect(directoryComboBox, SIGNAL(currentIndexChanged(QString)),
this, SLOT(update()));
}
@@ -190,8 +190,8 @@ void FindFileDialog::createFilesTree()
foundFilesTree->setRootIsDecorated(false);
foundFilesTree->setSelectionMode(QAbstractItemView::SingleSelection);
- connect(foundFilesTree, SIGNAL(itemActivated(QTreeWidgetItem *, int)),
- this, SLOT(openFile(QTreeWidgetItem *)));
+ connect(foundFilesTree, SIGNAL(itemActivated(QTreeWidgetItem*,int)),
+ this, SLOT(openFile(QTreeWidgetItem*)));
}
void FindFileDialog::createLabels()
diff --git a/examples/designer/containerextension/multipagewidgetplugin.cpp b/examples/designer/containerextension/multipagewidgetplugin.cpp
index ec61b67..b6a172f 100644
--- a/examples/designer/containerextension/multipagewidgetplugin.cpp
+++ b/examples/designer/containerextension/multipagewidgetplugin.cpp
@@ -102,8 +102,8 @@ QWidget *MultiPageWidgetPlugin::createWidget(QWidget *parent)
MultiPageWidget *widget = new MultiPageWidget(parent);
connect(widget, SIGNAL(currentIndexChanged(int)),
this, SLOT(currentIndexChanged(int)));
- connect(widget, SIGNAL(pageTitleChanged(const QString &)),
- this, SLOT(pageTitleChanged(const QString &)));
+ connect(widget, SIGNAL(pageTitleChanged(QString)),
+ this, SLOT(pageTitleChanged(QString)));
return widget;
}
diff --git a/examples/dialogs/configdialog/configdialog.cpp b/examples/dialogs/configdialog/configdialog.cpp
index 5c5d161..8d73f92 100644
--- a/examples/dialogs/configdialog/configdialog.cpp
+++ b/examples/dialogs/configdialog/configdialog.cpp
@@ -104,8 +104,8 @@ void ConfigDialog::createIcons()
queryButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
connect(contentsWidget,
- SIGNAL(currentItemChanged(QListWidgetItem *, QListWidgetItem *)),
- this, SLOT(changePage(QListWidgetItem *, QListWidgetItem*)));
+ SIGNAL(currentItemChanged(QListWidgetItem*,QListWidgetItem*)),
+ this, SLOT(changePage(QListWidgetItem*,QListWidgetItem*)));
}
void ConfigDialog::changePage(QListWidgetItem *current, QListWidgetItem *previous)
diff --git a/examples/dialogs/findfiles/window.cpp b/examples/dialogs/findfiles/window.cpp
index afe6399..66e1b46 100644
--- a/examples/dialogs/findfiles/window.cpp
+++ b/examples/dialogs/findfiles/window.cpp
@@ -76,7 +76,7 @@ Window::Window(QWidget *parent)
mainLayout->addWidget(directoryComboBox, 2, 1);
mainLayout->addWidget(browseButton, 2, 2);
mainLayout->addWidget(filesTable, 3, 0, 1, 3);
- mainLayout->addWidget(filesFoundLabel, 4, 0);
+ mainLayout->addWidget(filesFoundLabel, 4, 0, 1, 3);
mainLayout->addLayout(buttonsLayout, 5, 0, 1, 3);
setLayout(mainLayout);
@@ -232,8 +232,8 @@ void Window::createFilesTable()
filesTable->verticalHeader()->hide();
filesTable->setShowGrid(false);
- connect(filesTable, SIGNAL(cellActivated(int, int)),
- this, SLOT(openFileOfItem(int, int)));
+ connect(filesTable, SIGNAL(cellActivated(int,int)),
+ this, SLOT(openFileOfItem(int,int)));
}
//! [11]
diff --git a/examples/draganddrop/delayedencoding/sourcewidget.cpp b/examples/draganddrop/delayedencoding/sourcewidget.cpp
index 0d399a5..29ee8d7 100644
--- a/examples/draganddrop/delayedencoding/sourcewidget.cpp
+++ b/examples/draganddrop/delayedencoding/sourcewidget.cpp
@@ -102,8 +102,8 @@ void SourceWidget::startDrag()
{
mimeData = new MimeData;
- connect(mimeData, SIGNAL(dataRequested(const QString &)),
- this, SLOT(createData(const QString &)), Qt::DirectConnection);
+ connect(mimeData, SIGNAL(dataRequested(QString)),
+ this, SLOT(createData(QString)), Qt::DirectConnection);
QDrag *drag = new QDrag(this);
drag->setMimeData(mimeData);
diff --git a/examples/draganddrop/dropsite/dropsitewindow.cpp b/examples/draganddrop/dropsite/dropsitewindow.cpp
index 7187b9c..93c04de 100644
--- a/examples/draganddrop/dropsite/dropsitewindow.cpp
+++ b/examples/draganddrop/dropsite/dropsitewindow.cpp
@@ -56,8 +56,8 @@ DropSiteWindow::DropSiteWindow()
//! [constructor part2]
dropArea = new DropArea;
- connect(dropArea, SIGNAL(changed(const QMimeData *)),
- this, SLOT(updateFormatsTable(const QMimeData *)));
+ connect(dropArea, SIGNAL(changed(const QMimeData*)),
+ this, SLOT(updateFormatsTable(const QMimeData*)));
//! [constructor part2]
//! [constructor part3]
diff --git a/examples/effects/blurpicker/blurpicker.h b/examples/effects/blurpicker/blurpicker.h
index b302db4..6972a39 100644
--- a/examples/effects/blurpicker/blurpicker.h
+++ b/examples/effects/blurpicker/blurpicker.h
@@ -51,7 +51,7 @@
class BlurPicker: public QGraphicsView
{
Q_OBJECT
- Q_PROPERTY(qreal index READ index WRITE setIndex);
+ Q_PROPERTY(qreal index READ index WRITE setIndex)
public:
BlurPicker(QWidget *parent = 0);
diff --git a/examples/effects/customshader/blureffect.cpp b/examples/effects/customshader/blureffect.cpp
deleted file mode 100644
index 956637d..0000000
--- a/examples/effects/customshader/blureffect.cpp
+++ /dev/null
@@ -1,69 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "blureffect.h"
-
-#include <QDebug>
-
-BlurEffect::BlurEffect(QGraphicsItem *item)
- : QGraphicsBlurEffect()
- , m_baseLine(200), item(item)
-{
-}
-
-void BlurEffect::adjustForItem()
-{
- qreal y = m_baseLine - item->pos().y();
- qreal radius = qBound(qreal(0.0), y / 32, qreal(16.0));
- setBlurRadius(radius);
-}
-
-QRectF BlurEffect::boundingRect() const
-{
- const_cast<BlurEffect *>(this)->adjustForItem();
- return QGraphicsBlurEffect::boundingRect();
-}
-
-void BlurEffect::draw(QPainter *painter)
-{
- adjustForItem();
- QGraphicsBlurEffect::draw(painter);
-}
diff --git a/examples/effects/customshader/blureffect.h b/examples/effects/customshader/blureffect.h
deleted file mode 100644
index 3d1d433..0000000
--- a/examples/effects/customshader/blureffect.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef BLUREFFECT_H
-#define BLUREFFECT_H
-
-#include <QGraphicsEffect>
-#include <QGraphicsItem>
-
-class BlurEffect: public QGraphicsBlurEffect
-{
-public:
- BlurEffect(QGraphicsItem *item);
-
- void setBaseLine(qreal y) { m_baseLine = y; }
-
- QRectF boundingRect() const;
-
- void draw(QPainter *painter);
-
-private:
- void adjustForItem();
-
-private:
- qreal m_baseLine;
- QGraphicsItem *item;
-};
-
-#endif // BLUREFFECT_H
diff --git a/examples/effects/customshader/blurpicker.cpp b/examples/effects/customshader/blurpicker.cpp
deleted file mode 100644
index d38d99b..0000000
--- a/examples/effects/customshader/blurpicker.cpp
+++ /dev/null
@@ -1,144 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "blurpicker.h"
-
-#include <QtGui>
-
-#include "blureffect.h"
-#include "customshadereffect.h"
-
-#ifndef M_PI
-#define M_PI 3.14159265358979323846
-#endif
-
-BlurPicker::BlurPicker(QWidget *parent): QGraphicsView(parent), m_index(0.0), m_animation(this, "index")
-{
- setBackgroundBrush(QPixmap(":/images/background.jpg"));
- setScene(new QGraphicsScene(this));
-
- setupScene();
- setIndex(0);
-
- m_animation.setDuration(400);
- m_animation.setEasingCurve(QEasingCurve::InOutSine);
-
- setRenderHint(QPainter::Antialiasing, true);
- setFrameStyle(QFrame::NoFrame);
-}
-
-qreal BlurPicker::index() const
-{
- return m_index;
-}
-
-void BlurPicker::setIndex(qreal index)
-{
- m_index = index;
-
- qreal baseline = 0;
- for (int i = 0; i < m_icons.count(); ++i) {
- QGraphicsItem *icon = m_icons[i];
- qreal a = ((i + m_index) * 2 * M_PI) / m_icons.count();
- qreal xs = 170 * sin(a);
- qreal ys = 100 * cos(a);
- QPointF pos(xs, ys);
- pos = QTransform().rotate(-20).map(pos);
- pos -= QPointF(40, 40);
- icon->setPos(pos);
- baseline = qMax(baseline, ys);
- if (i != 3)
- static_cast<BlurEffect *>(icon->graphicsEffect())->setBaseLine(baseline);
- }
-
- scene()->update();
-}
-
-void BlurPicker::setupScene()
-{
- scene()->setSceneRect(-200, -120, 400, 240);
-
- QStringList names;
- names << ":/images/accessories-calculator.png";
- names << ":/images/accessories-text-editor.png";
- names << ":/images/help-browser.png";
- names << ":/images/internet-group-chat.png";
- names << ":/images/internet-mail.png";
- names << ":/images/internet-web-browser.png";
- names << ":/images/office-calendar.png";
- names << ":/images/system-users.png";
-
- for (int i = 0; i < names.count(); i++) {
- QPixmap pixmap(names[i]);
- QGraphicsPixmapItem *icon = scene()->addPixmap(pixmap);
- icon->setZValue(1);
- if (i == 3)
- icon->setGraphicsEffect(new CustomShaderEffect());
- else
- icon->setGraphicsEffect(new BlurEffect(icon));
- m_icons << icon;
- }
-
- QGraphicsPixmapItem *bg = scene()->addPixmap(QPixmap(":/images/background.jpg"));
- bg->setZValue(0);
- bg->setPos(-200, -150);
-}
-
-void BlurPicker::keyPressEvent(QKeyEvent *event)
-{
- int delta = 0;
- switch (event->key())
- {
- case Qt::Key_Left:
- delta = -1;
- break;
- case Qt::Key_Right:
- delta = 1;
- break;
- default:
- break;
- }
- if (m_animation.state() == QAbstractAnimation::Stopped && delta) {
- m_animation.setEndValue(m_index + delta);
- m_animation.start();
- event->accept();
- }
-}
diff --git a/examples/effects/customshader/blurpicker.h b/examples/effects/customshader/blurpicker.h
deleted file mode 100644
index b302db4..0000000
--- a/examples/effects/customshader/blurpicker.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef BLURPICKER_H
-#define BLURPICKER_H
-
-#include <QGraphicsEffect>
-#include <QGraphicsView>
-#include <QPropertyAnimation>
-
-#include "blureffect.h"
-
-class BlurPicker: public QGraphicsView
-{
- Q_OBJECT
- Q_PROPERTY(qreal index READ index WRITE setIndex);
-
-public:
- BlurPicker(QWidget *parent = 0);
-
- qreal index() const;
- void setIndex(qreal);
-
-protected:
- void keyPressEvent(QKeyEvent *event);
-
-private:
- void setupScene();
-
-private:
- qreal m_index;
- QList<QGraphicsItem*> m_icons;
- QPropertyAnimation m_animation;
-};
-
-#endif // BLURPICKER_H
diff --git a/examples/effects/customshader/blurpicker.qrc b/examples/effects/customshader/blurpicker.qrc
deleted file mode 100644
index e88eaca..0000000
--- a/examples/effects/customshader/blurpicker.qrc
+++ /dev/null
@@ -1,14 +0,0 @@
-<RCC>
- <qresource prefix="/" >
- <file>images/background.jpg</file>
- <file>images/accessories-calculator.png</file>
- <file>images/accessories-text-editor.png</file>
- <file>images/help-browser.png</file>
- <file>images/internet-group-chat.png</file>
- <file>images/internet-mail.png</file>
- <file>images/internet-web-browser.png</file>
- <file>images/office-calendar.png</file>
- <file>images/system-users.png</file>
- </qresource>
-</RCC>
-
diff --git a/examples/effects/customshader/customshader.pro b/examples/effects/customshader/customshader.pro
deleted file mode 100644
index 4ce5d2b..0000000
--- a/examples/effects/customshader/customshader.pro
+++ /dev/null
@@ -1,10 +0,0 @@
-SOURCES += main.cpp blurpicker.cpp blureffect.cpp customshadereffect.cpp
-HEADERS += blurpicker.h blureffect.h customshadereffect.h
-RESOURCES += blurpicker.qrc
-QT += opengl
-
-# install
-target.path = $$[QT_INSTALL_EXAMPLES]/effects/customshader
-sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS customshader.pro
-sources.path = $$[QT_INSTALL_EXAMPLES]/effects/customshader
-INSTALLS += target sources
diff --git a/examples/effects/customshader/customshadereffect.cpp b/examples/effects/customshader/customshadereffect.cpp
deleted file mode 100644
index 73bbf4f..0000000
--- a/examples/effects/customshader/customshadereffect.cpp
+++ /dev/null
@@ -1,70 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "customshadereffect.h"
-#include <QGLShaderProgram>
-
-static char const colorizeShaderCode[] =
- "uniform lowp vec4 effectColor;\n"
- "mediump vec4 customShader(lowp sampler2D imageTexture, highp vec2 textureCoords) {\n"
- " vec4 src = texture2D(imageTexture, textureCoords);\n"
- " float gray = dot(src.rgb, vec3(0.212671, 0.715160, 0.072169));\n"
- " vec4 colorize = 1.0-((1.0-gray)*(1.0-effectColor));\n"
- " return vec4(colorize.rgb * src.a, src.a);\n"
- "}";
-
-CustomShaderEffect::CustomShaderEffect()
- : QGraphicsShaderEffect(),
- color(Qt::red)
-{
- setPixelShaderFragment(colorizeShaderCode);
-}
-
-void CustomShaderEffect::setEffectColor(const QColor& c)
-{
- color = c;
- setUniformsDirty();
-}
-
-void CustomShaderEffect::setUniforms(QGLShaderProgram *program)
-{
- program->setUniformValue("effectColor", color);
-}
diff --git a/examples/effects/customshader/customshadereffect.h b/examples/effects/customshader/customshadereffect.h
deleted file mode 100644
index 48940db..0000000
--- a/examples/effects/customshader/customshadereffect.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef CUSTOMSHADEREFFECT_H
-#define CUSTOMSHADEREFFECT_H
-
-#include <QGraphicsEffect>
-#include <QtOpenGL/private/qgraphicsshadereffect_p.h>
-#include <QGraphicsItem>
-
-class CustomShaderEffect: public QGraphicsShaderEffect
-{
-public:
- CustomShaderEffect();
-
- QColor effectColor() const { return color; }
- void setEffectColor(const QColor& c);
-
-protected:
- void setUniforms(QGLShaderProgram *program);
-
-private:
- QColor color;
-};
-
-#endif // CUSTOMSHADEREFFECT_H
diff --git a/examples/effects/customshader/images/README.txt b/examples/effects/customshader/images/README.txt
deleted file mode 100644
index 0927e17..0000000
--- a/examples/effects/customshader/images/README.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-The background is taken from a public domain photo at:
-http://www.photos8.com/view/computer_board2-800x600.html
-
-All other icons are from the Tango Desktop project:
-http://tango.freedesktop.org/Tango_Desktop_Project
diff --git a/examples/effects/customshader/images/accessories-calculator.png b/examples/effects/customshader/images/accessories-calculator.png
deleted file mode 100644
index 4e7661f..0000000
--- a/examples/effects/customshader/images/accessories-calculator.png
+++ /dev/null
Binary files differ
diff --git a/examples/effects/customshader/images/accessories-text-editor.png b/examples/effects/customshader/images/accessories-text-editor.png
deleted file mode 100644
index 33bef0b..0000000
--- a/examples/effects/customshader/images/accessories-text-editor.png
+++ /dev/null
Binary files differ
diff --git a/examples/effects/customshader/images/background.jpg b/examples/effects/customshader/images/background.jpg
deleted file mode 100644
index e75b388..0000000
--- a/examples/effects/customshader/images/background.jpg
+++ /dev/null
Binary files differ
diff --git a/examples/effects/customshader/images/help-browser.png b/examples/effects/customshader/images/help-browser.png
deleted file mode 100644
index 8ef4fae..0000000
--- a/examples/effects/customshader/images/help-browser.png
+++ /dev/null
Binary files differ
diff --git a/examples/effects/customshader/images/internet-group-chat.png b/examples/effects/customshader/images/internet-group-chat.png
deleted file mode 100644
index dd92d93..0000000
--- a/examples/effects/customshader/images/internet-group-chat.png
+++ /dev/null
Binary files differ
diff --git a/examples/effects/customshader/images/internet-mail.png b/examples/effects/customshader/images/internet-mail.png
deleted file mode 100644
index 7e6b93b..0000000
--- a/examples/effects/customshader/images/internet-mail.png
+++ /dev/null
Binary files differ
diff --git a/examples/effects/customshader/images/internet-web-browser.png b/examples/effects/customshader/images/internet-web-browser.png
deleted file mode 100644
index a979a92..0000000
--- a/examples/effects/customshader/images/internet-web-browser.png
+++ /dev/null
Binary files differ
diff --git a/examples/effects/customshader/images/office-calendar.png b/examples/effects/customshader/images/office-calendar.png
deleted file mode 100644
index e095906..0000000
--- a/examples/effects/customshader/images/office-calendar.png
+++ /dev/null
Binary files differ
diff --git a/examples/effects/customshader/images/system-users.png b/examples/effects/customshader/images/system-users.png
deleted file mode 100644
index a7f630a..0000000
--- a/examples/effects/customshader/images/system-users.png
+++ /dev/null
Binary files differ
diff --git a/examples/effects/customshader/main.cpp b/examples/effects/customshader/main.cpp
deleted file mode 100644
index dfcdcd2..0000000
--- a/examples/effects/customshader/main.cpp
+++ /dev/null
@@ -1,55 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "blurpicker.h"
-#include <QApplication>
-
-int main(int argc, char **argv)
-{
- QApplication app(argc, argv);
-
- BlurPicker blurPicker;
- blurPicker.setWindowTitle(QT_TRANSLATE_NOOP(QGraphicsView, "Application Picker"));
- blurPicker.setFixedSize(400, 300);
- blurPicker.show();
-
- return app.exec();
-}
diff --git a/examples/graphicsview/diagramscene/diagramscene.cpp b/examples/graphicsview/diagramscene/diagramscene.cpp
index ad7dbdf..a4f1d78 100644
--- a/examples/graphicsview/diagramscene/diagramscene.cpp
+++ b/examples/graphicsview/diagramscene/diagramscene.cpp
@@ -163,10 +163,10 @@ void DiagramScene::mousePressEvent(QGraphicsSceneMouseEvent *mouseEvent)
textItem->setFont(myFont);
textItem->setTextInteractionFlags(Qt::TextEditorInteraction);
textItem->setZValue(1000.0);
- connect(textItem, SIGNAL(lostFocus(DiagramTextItem *)),
- this, SLOT(editorLostFocus(DiagramTextItem *)));
- connect(textItem, SIGNAL(selectedChange(QGraphicsItem *)),
- this, SIGNAL(itemSelected(QGraphicsItem *)));
+ connect(textItem, SIGNAL(lostFocus(DiagramTextItem*)),
+ this, SLOT(editorLostFocus(DiagramTextItem*)));
+ connect(textItem, SIGNAL(selectedChange(QGraphicsItem*)),
+ this, SIGNAL(itemSelected(QGraphicsItem*)));
addItem(textItem);
textItem->setDefaultTextColor(myTextColor);
textItem->setPos(mouseEvent->scenePos());
diff --git a/examples/graphicsview/diagramscene/mainwindow.cpp b/examples/graphicsview/diagramscene/mainwindow.cpp
index 868a3eb..d4edcc4 100644
--- a/examples/graphicsview/diagramscene/mainwindow.cpp
+++ b/examples/graphicsview/diagramscene/mainwindow.cpp
@@ -58,12 +58,12 @@ MainWindow::MainWindow()
scene = new DiagramScene(itemMenu);
scene->setSceneRect(QRectF(0, 0, 5000, 5000));
- connect(scene, SIGNAL(itemInserted(DiagramItem *)),
- this, SLOT(itemInserted(DiagramItem *)));
- connect(scene, SIGNAL(textInserted(QGraphicsTextItem *)),
- this, SLOT(textInserted(QGraphicsTextItem *)));
- connect(scene, SIGNAL(itemSelected(QGraphicsItem *)),
- this, SLOT(itemSelected(QGraphicsItem *)));
+ connect(scene, SIGNAL(itemInserted(DiagramItem*)),
+ this, SLOT(itemInserted(DiagramItem*)));
+ connect(scene, SIGNAL(textInserted(QGraphicsTextItem*)),
+ this, SLOT(textInserted(QGraphicsTextItem*)));
+ connect(scene, SIGNAL(itemSelected(QGraphicsItem*)),
+ this, SLOT(itemSelected(QGraphicsItem*)));
createToolbars();
QHBoxLayout *layout = new QHBoxLayout;
@@ -347,8 +347,8 @@ void MainWindow::createToolBox()
itemWidget->setLayout(layout);
backgroundButtonGroup = new QButtonGroup;
- connect(backgroundButtonGroup, SIGNAL(buttonClicked(QAbstractButton *)),
- this, SLOT(backgroundButtonGroupClicked(QAbstractButton *)));
+ connect(backgroundButtonGroup, SIGNAL(buttonClicked(QAbstractButton*)),
+ this, SLOT(backgroundButtonGroupClicked(QAbstractButton*)));
QGridLayout *backgroundLayout = new QGridLayout;
backgroundLayout->addWidget(createBackgroundCellWidget(tr("Blue Grid"),
@@ -462,8 +462,8 @@ void MainWindow::createToolbars()
fontCombo = new QFontComboBox();
fontSizeCombo = new QComboBox();
- connect(fontCombo, SIGNAL(currentFontChanged(const QFont &)),
- this, SLOT(currentFontChanged(const QFont &)));
+ connect(fontCombo, SIGNAL(currentFontChanged(QFont)),
+ this, SLOT(currentFontChanged(QFont)));
fontSizeCombo = new QComboBox;
fontSizeCombo->setEditable(true);
@@ -471,8 +471,8 @@ void MainWindow::createToolbars()
fontSizeCombo->addItem(QString().setNum(i));
QIntValidator *validator = new QIntValidator(2, 64, this);
fontSizeCombo->setValidator(validator);
- connect(fontSizeCombo, SIGNAL(currentIndexChanged(const QString &)),
- this, SLOT(fontSizeChanged(const QString &)));
+ connect(fontSizeCombo, SIGNAL(currentIndexChanged(QString)),
+ this, SLOT(fontSizeChanged(QString)));
fontColorToolButton = new QToolButton;
fontColorToolButton->setPopupMode(QToolButton::MenuButtonPopup);
@@ -539,8 +539,8 @@ void MainWindow::createToolbars()
scales << tr("50%") << tr("75%") << tr("100%") << tr("125%") << tr("150%");
sceneScaleCombo->addItems(scales);
sceneScaleCombo->setCurrentIndex(2);
- connect(sceneScaleCombo, SIGNAL(currentIndexChanged(const QString &)),
- this, SLOT(sceneScaleChanged(const QString &)));
+ connect(sceneScaleCombo, SIGNAL(currentIndexChanged(QString)),
+ this, SLOT(sceneScaleChanged(QString)));
pointerToolbar = addToolBar(tr("Pointer type"));
pointerToolbar->addWidget(pointerButton);
diff --git a/examples/graphicsview/portedasteroids/toplevel.cpp b/examples/graphicsview/portedasteroids/toplevel.cpp
index c51ecca..c2b5904 100644
--- a/examples/graphicsview/portedasteroids/toplevel.cpp
+++ b/examples/graphicsview/portedasteroids/toplevel.cpp
@@ -129,10 +129,10 @@ KAstTopLevel::KAstTopLevel( QWidget *parent, const char *name )
view = new KAsteroidsView( mainWin );
view->setFocusPolicy( Qt::StrongFocus );
- connect( view, SIGNAL( shipKilled() ), SLOT( slotShipKilled() ) );
- connect( view, SIGNAL( rockHit(int) ), SLOT( slotRockHit(int) ) );
- connect( view, SIGNAL( rocksRemoved() ), SLOT( slotRocksRemoved() ) );
- connect( view, SIGNAL( updateVitals() ), SLOT( slotUpdateVitals() ) );
+ connect( view, SIGNAL(shipKilled()), SLOT(slotShipKilled()) );
+ connect( view, SIGNAL(rockHit(int)), SLOT(slotRockHit(int)) );
+ connect( view, SIGNAL(rocksRemoved()), SLOT(slotRocksRemoved()) );
+ connect( view, SIGNAL(updateVitals()), SLOT(slotUpdateVitals()) );
Q3VBoxLayout *vb = new Q3VBoxLayout( mainWin );
Q3HBoxLayout *hb = new Q3HBoxLayout;
diff --git a/examples/help/contextsensitivehelp/doc/source.html b/examples/help/contextsensitivehelp/doc/source.html
index 2140765..68b2f8c 100644
--- a/examples/help/contextsensitivehelp/doc/source.html
+++ b/examples/help/contextsensitivehelp/doc/source.html
@@ -4,8 +4,8 @@
<title>Water Source</title>
</head>
<body>
- The current pipe system connects to four different sources. Be aware that only
- a limited amount of water can be taken from some sources.
+ The current pipe system connects to four different sources. Be aware
+ that only a limited amount of water can be taken from some sources.
<br>
<table border=1>
<tr>
@@ -13,7 +13,7 @@
<td>Amount</td>
</tr>
<tr>
- <td>Foundain</td>
+ <td>Fountain</td>
<td>4000</td>
</tr>
<tr>
diff --git a/examples/help/contextsensitivehelp/doc/wateringmachine.qch b/examples/help/contextsensitivehelp/doc/wateringmachine.qch
index e74f9b8..35d29be 100644
--- a/examples/help/contextsensitivehelp/doc/wateringmachine.qch
+++ b/examples/help/contextsensitivehelp/doc/wateringmachine.qch
Binary files differ
diff --git a/examples/help/contextsensitivehelp/doc/wateringmachine.qhc b/examples/help/contextsensitivehelp/doc/wateringmachine.qhc
index 3227c3a2..b5653c3 100644
--- a/examples/help/contextsensitivehelp/doc/wateringmachine.qhc
+++ b/examples/help/contextsensitivehelp/doc/wateringmachine.qhc
Binary files differ
diff --git a/examples/help/contextsensitivehelp/doc/wateringmachine.qhp b/examples/help/contextsensitivehelp/doc/wateringmachine.qhp
index 745d881..6dd08e7 100644
--- a/examples/help/contextsensitivehelp/doc/wateringmachine.qhp
+++ b/examples/help/contextsensitivehelp/doc/wateringmachine.qhp
@@ -1,25 +1,25 @@
-<?xml version="1.0" encoding="utf-8" ?>
+<?xml version="1.0" encoding="utf-8" ?>
<QtHelpProject version="1.0">
- <virtualFolder>wateringmachine</virtualFolder>
- <namespace>wateringcompany.com.1_0_0.premium</namespace>
- <filterSection>
- <keywords>
- <keyword name="plants" id="plants" ref="plants.html"/>
- <keyword name="temperature" id="temperature" ref="temperature.html"/>
- <keyword name="rain" id="rain" ref="rain.html"/>
- <keyword name="time" id="time" ref="time.html"/>
- <keyword name="amount" id="amount" ref="amount.html"/>
- <keyword name="source" id="source" ref="source.html"/>
- <keyword name="filtering" id="filtering" ref="filter.html"/>
- </keywords>
- <files>
- <file>plants.html</file>
- <file>temperature.html</file>
- <file>rain.html</file>
- <file>time.html</file>
- <file>amount.html</file>
- <file>source.html</file>
- <file>filter.html</file>
- </files>
- </filterSection>
+ <virtualFolder>wateringmachine</virtualFolder>
+ <namespace>wateringcompany.com.1-0-0.premium</namespace>
+ <filterSection>
+ <keywords>
+ <keyword name="plants" id="plants" ref="plants.html"/>
+ <keyword name="temperature" id="temperature" ref="temperature.html"/>
+ <keyword name="rain" id="rain" ref="rain.html"/>
+ <keyword name="time" id="time" ref="time.html"/>
+ <keyword name="amount" id="amount" ref="amount.html"/>
+ <keyword name="source" id="source" ref="source.html"/>
+ <keyword name="filtering" id="filtering" ref="filter.html"/>
+ </keywords>
+ <files>
+ <file>plants.html</file>
+ <file>temperature.html</file>
+ <file>rain.html</file>
+ <file>time.html</file>
+ <file>amount.html</file>
+ <file>source.html</file>
+ <file>filter.html</file>
+ </files>
+ </filterSection>
</QtHelpProject>
diff --git a/examples/help/contextsensitivehelp/wateringconfigdialog.cpp b/examples/help/contextsensitivehelp/wateringconfigdialog.cpp
index 15a0b29..a09409a 100644
--- a/examples/help/contextsensitivehelp/wateringconfigdialog.cpp
+++ b/examples/help/contextsensitivehelp/wateringconfigdialog.cpp
@@ -54,8 +54,8 @@ WateringConfigDialog::WateringConfigDialog()
m_widgetInfo.insert(m_ui.sourceComboBox, tr("water source"));
m_widgetInfo.insert(m_ui.filterCheckBox, tr("water filtering"));
- connect(qApp, SIGNAL(focusChanged(QWidget*, QWidget*)),
- this, SLOT(focusChanged(QWidget*, QWidget*)));
+ connect(qApp, SIGNAL(focusChanged(QWidget*,QWidget*)),
+ this, SLOT(focusChanged(QWidget*,QWidget*)));
}
void WateringConfigDialog::focusChanged(QWidget *, QWidget *now)
diff --git a/examples/help/contextsensitivehelp/wateringconfigdialog.ui b/examples/help/contextsensitivehelp/wateringconfigdialog.ui
index a7f5349..d7a473a 100644
--- a/examples/help/contextsensitivehelp/wateringconfigdialog.ui
+++ b/examples/help/contextsensitivehelp/wateringconfigdialog.ui
@@ -258,7 +258,7 @@
<widget class="QComboBox" name="sourceComboBox" >
<item>
<property name="text" >
- <string>Foundain</string>
+ <string>Fountain</string>
</property>
</item>
<item>
diff --git a/examples/help/remotecontrol/remotecontrol.cpp b/examples/help/remotecontrol/remotecontrol.cpp
index adb92d0..84f81df 100644
--- a/examples/help/remotecontrol/remotecontrol.cpp
+++ b/examples/help/remotecontrol/remotecontrol.cpp
@@ -68,7 +68,7 @@ RemoteControl::RemoteControl(QWidget *parent, Qt::WFlags flags)
ui.startUrlLineEdit->setText(rc);
process = new QProcess(this);
- connect(process, SIGNAL(finished(int, QProcess::ExitStatus)),
+ connect(process, SIGNAL(finished(int,QProcess::ExitStatus)),
this, SLOT(helpViewerClosed()));
}
diff --git a/examples/help/simpletextviewer/findfiledialog.cpp b/examples/help/simpletextviewer/findfiledialog.cpp
index b1ac448..fd5d2a6 100644
--- a/examples/help/simpletextviewer/findfiledialog.cpp
+++ b/examples/help/simpletextviewer/findfiledialog.cpp
@@ -177,9 +177,9 @@ void FindFileDialog::createComboBoxes()
directoryComboBox->setSizePolicy(QSizePolicy::Expanding,
QSizePolicy::Preferred);
- connect(fileNameComboBox, SIGNAL(editTextChanged(const QString &)),
+ connect(fileNameComboBox, SIGNAL(editTextChanged(QString)),
this, SLOT(update()));
- connect(directoryComboBox, SIGNAL(currentIndexChanged(const QString &)),
+ connect(directoryComboBox, SIGNAL(currentIndexChanged(QString)),
this, SLOT(update()));
}
@@ -191,8 +191,8 @@ void FindFileDialog::createFilesTree()
foundFilesTree->setRootIsDecorated(false);
foundFilesTree->setSelectionMode(QAbstractItemView::SingleSelection);
- connect(foundFilesTree, SIGNAL(itemActivated(QTreeWidgetItem *, int)),
- this, SLOT(openFile(QTreeWidgetItem *)));
+ connect(foundFilesTree, SIGNAL(itemActivated(QTreeWidgetItem*,int)),
+ this, SLOT(openFile(QTreeWidgetItem*)));
}
void FindFileDialog::createLabels()
diff --git a/examples/ipc/localfortuneclient/client.cpp b/examples/ipc/localfortuneclient/client.cpp
index 803ec3d..9262fbe 100644
--- a/examples/ipc/localfortuneclient/client.cpp
+++ b/examples/ipc/localfortuneclient/client.cpp
@@ -66,7 +66,7 @@ Client::Client(QWidget *parent)
socket = new QLocalSocket(this);
- connect(hostLineEdit, SIGNAL(textChanged(const QString &)),
+ connect(hostLineEdit, SIGNAL(textChanged(QString)),
this, SLOT(enableGetFortuneButton()));
connect(getFortuneButton, SIGNAL(clicked()),
this, SLOT(requestNewFortune()));
diff --git a/examples/itemviews/addressbook/addresswidget.cpp b/examples/itemviews/addressbook/addresswidget.cpp
index e7e8a9c..741fc0b 100644
--- a/examples/itemviews/addressbook/addresswidget.cpp
+++ b/examples/itemviews/addressbook/addresswidget.cpp
@@ -49,8 +49,8 @@ AddressWidget::AddressWidget(QWidget *parent)
{
table = new TableModel(this);
newAddressTab = new NewAddressTab(this);
- connect(newAddressTab, SIGNAL(sendDetails(QString, QString)),
- this, SLOT(addEntry(QString, QString)));
+ connect(newAddressTab, SIGNAL(sendDetails(QString,QString)),
+ this, SLOT(addEntry(QString,QString)));
addTab(newAddressTab, "Address Book");
@@ -186,8 +186,8 @@ void AddressWidget::setupTabs()
proxyModel->sort(0, Qt::AscendingOrder);
connect(tableView->selectionModel(),
- SIGNAL(selectionChanged(const QItemSelection &, const QItemSelection &)),
- this, SIGNAL(selectionChanged(const QItemSelection &)));
+ SIGNAL(selectionChanged(QItemSelection,QItemSelection)),
+ this, SIGNAL(selectionChanged(QItemSelection)));
addTab(tableView, str);
}
diff --git a/examples/itemviews/addressbook/mainwindow.cpp b/examples/itemviews/addressbook/mainwindow.cpp
index 278786d..fb0ba5a 100644
--- a/examples/itemviews/addressbook/mainwindow.cpp
+++ b/examples/itemviews/addressbook/mainwindow.cpp
@@ -97,8 +97,8 @@ void MainWindow::createMenus()
connect(removeAct, SIGNAL(triggered()),
addressWidget, SLOT(removeEntry()));
- connect(addressWidget, SIGNAL(selectionChanged(const QItemSelection &)),
- this, SLOT(updateActions(const QItemSelection &)));
+ connect(addressWidget, SIGNAL(selectionChanged(QItemSelection)),
+ this, SLOT(updateActions(QItemSelection)));
}
//! [1b]
diff --git a/examples/itemviews/basicsortfiltermodel/window.cpp b/examples/itemviews/basicsortfiltermodel/window.cpp
index b090896..cd0b52c 100644
--- a/examples/itemviews/basicsortfiltermodel/window.cpp
+++ b/examples/itemviews/basicsortfiltermodel/window.cpp
@@ -82,7 +82,7 @@ Window::Window()
filterColumnLabel = new QLabel(tr("Filter &column:"));
filterColumnLabel->setBuddy(filterColumnComboBox);
- connect(filterPatternLineEdit, SIGNAL(textChanged(const QString &)),
+ connect(filterPatternLineEdit, SIGNAL(textChanged(QString)),
this, SLOT(filterRegExpChanged()));
connect(filterSyntaxComboBox, SIGNAL(currentIndexChanged(int)),
this, SLOT(filterRegExpChanged()));
diff --git a/examples/itemviews/customsortfiltermodel/window.cpp b/examples/itemviews/customsortfiltermodel/window.cpp
index 290314a..78f8f81 100644
--- a/examples/itemviews/customsortfiltermodel/window.cpp
+++ b/examples/itemviews/customsortfiltermodel/window.cpp
@@ -89,15 +89,15 @@ Window::Window()
toLabel = new QLabel(tr("&To:"));
toLabel->setBuddy(toDateEdit);
- connect(filterPatternLineEdit, SIGNAL(textChanged(const QString &)),
+ connect(filterPatternLineEdit, SIGNAL(textChanged(QString)),
this, SLOT(textFilterChanged()));
connect(filterSyntaxComboBox, SIGNAL(currentIndexChanged(int)),
this, SLOT(textFilterChanged()));
connect(filterCaseSensitivityCheckBox, SIGNAL(toggled(bool)),
this, SLOT(textFilterChanged()));
- connect(fromDateEdit, SIGNAL(dateChanged(const QDate &)),
+ connect(fromDateEdit, SIGNAL(dateChanged(QDate)),
this, SLOT(dateFilterChanged()));
- connect(toDateEdit, SIGNAL(dateChanged(const QDate &)),
+ connect(toDateEdit, SIGNAL(dateChanged(QDate)),
//! [3] //! [4]
this, SLOT(dateFilterChanged()));
//! [4]
diff --git a/examples/itemviews/fetchmore/window.cpp b/examples/itemviews/fetchmore/window.cpp
index bf01664..327754d 100644
--- a/examples/itemviews/fetchmore/window.cpp
+++ b/examples/itemviews/fetchmore/window.cpp
@@ -59,9 +59,9 @@ Window::Window(QWidget *parent)
logViewer = new QTextBrowser;
logViewer->setSizePolicy(QSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred));
- connect(lineEdit, SIGNAL(textChanged(const QString &)),
- model, SLOT(setDirPath(const QString &)));
- connect(lineEdit, SIGNAL(textChanged(const QString &)),
+ connect(lineEdit, SIGNAL(textChanged(QString)),
+ model, SLOT(setDirPath(QString)));
+ connect(lineEdit, SIGNAL(textChanged(QString)),
logViewer, SLOT(clear()));
connect(model, SIGNAL(numberPopulated(int)),
this, SLOT(updateLog(int)));
diff --git a/examples/itemviews/frozencolumn/freezetablewidget.cpp b/examples/itemviews/frozencolumn/freezetablewidget.cpp
index 1031527..ee50ae1 100644
--- a/examples/itemviews/frozencolumn/freezetablewidget.cpp
+++ b/examples/itemviews/frozencolumn/freezetablewidget.cpp
@@ -52,10 +52,10 @@ FreezeTableWidget::FreezeTableWidget(QAbstractItemModel * model)
init();
//connect the headers and scrollbars of both tableviews together
- connect(horizontalHeader(),SIGNAL(sectionResized ( int ,int,int )), this,
- SLOT(updateSectionWidth(int, int, int)));
- connect(verticalHeader(),SIGNAL(sectionResized ( int ,int,int )), this,
- SLOT(updateSectionHeight(int, int, int)));
+ connect(horizontalHeader(),SIGNAL(sectionResized(int,int,int)), this,
+ SLOT(updateSectionWidth(int,int,int)));
+ connect(verticalHeader(),SIGNAL(sectionResized(int,int,int)), this,
+ SLOT(updateSectionHeight(int,int,int)));
connect(frozenTableView->verticalScrollBar(), SIGNAL(valueChanged(int)),
verticalScrollBar(), SLOT(setValue(int)));
diff --git a/examples/mainwindows/dockwidgets/mainwindow.cpp b/examples/mainwindows/dockwidgets/mainwindow.cpp
index 01b8026..a50ff68 100644
--- a/examples/mainwindows/dockwidgets/mainwindow.cpp
+++ b/examples/mainwindows/dockwidgets/mainwindow.cpp
@@ -335,9 +335,9 @@ void MainWindow::createDockWindows()
addDockWidget(Qt::RightDockWidgetArea, dock);
viewMenu->addAction(dock->toggleViewAction());
- connect(customerList, SIGNAL(currentTextChanged(const QString &)),
- this, SLOT(insertCustomer(const QString &)));
- connect(paragraphsList, SIGNAL(currentTextChanged(const QString &)),
- this, SLOT(addParagraph(const QString &)));
+ connect(customerList, SIGNAL(currentTextChanged(QString)),
+ this, SLOT(insertCustomer(QString)));
+ connect(paragraphsList, SIGNAL(currentTextChanged(QString)),
+ this, SLOT(addParagraph(QString)));
}
//! [9]
diff --git a/examples/mainwindows/mdi/mainwindow.cpp b/examples/mainwindows/mdi/mainwindow.cpp
index edb33b7..5f0aa06 100644
--- a/examples/mainwindows/mdi/mainwindow.cpp
+++ b/examples/mainwindows/mdi/mainwindow.cpp
@@ -50,11 +50,11 @@ MainWindow::MainWindow()
mdiArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded);
mdiArea->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
setCentralWidget(mdiArea);
- connect(mdiArea, SIGNAL(subWindowActivated(QMdiSubWindow *)),
+ connect(mdiArea, SIGNAL(subWindowActivated(QMdiSubWindow*)),
this, SLOT(updateMenus()));
windowMapper = new QSignalMapper(this);
- connect(windowMapper, SIGNAL(mapped(QWidget *)),
- this, SLOT(setActiveSubWindow(QWidget *)));
+ connect(windowMapper, SIGNAL(mapped(QWidget*)),
+ this, SLOT(setActiveSubWindow(QWidget*)));
createActions();
createMenus();
diff --git a/examples/network/blockingfortuneclient/blockingclient.cpp b/examples/network/blockingfortuneclient/blockingclient.cpp
index a3d7c23..441b6f7 100644
--- a/examples/network/blockingfortuneclient/blockingclient.cpp
+++ b/examples/network/blockingfortuneclient/blockingclient.cpp
@@ -85,19 +85,19 @@ BlockingClient::BlockingClient(QWidget *parent)
buttonBox->addButton(getFortuneButton, QDialogButtonBox::ActionRole);
buttonBox->addButton(quitButton, QDialogButtonBox::RejectRole);
- connect(hostLineEdit, SIGNAL(textChanged(const QString &)),
+ connect(hostLineEdit, SIGNAL(textChanged(QString)),
this, SLOT(enableGetFortuneButton()));
- connect(portLineEdit, SIGNAL(textChanged(const QString &)),
+ connect(portLineEdit, SIGNAL(textChanged(QString)),
this, SLOT(enableGetFortuneButton()));
connect(getFortuneButton, SIGNAL(clicked()),
this, SLOT(requestNewFortune()));
connect(quitButton, SIGNAL(clicked()), this, SLOT(close()));
//! [0]
- connect(&thread, SIGNAL(newFortune(const QString &)),
- this, SLOT(showFortune(const QString &)));
+ connect(&thread, SIGNAL(newFortune(QString)),
+ this, SLOT(showFortune(QString)));
//! [0] //! [1]
- connect(&thread, SIGNAL(error(int, const QString &)),
- this, SLOT(displayError(int, const QString &)));
+ connect(&thread, SIGNAL(error(int,QString)),
+ this, SLOT(displayError(int,QString)));
//! [1]
QGridLayout *mainLayout = new QGridLayout;
diff --git a/examples/network/fortuneclient/client.cpp b/examples/network/fortuneclient/client.cpp
index e043f78..f870c0e 100644
--- a/examples/network/fortuneclient/client.cpp
+++ b/examples/network/fortuneclient/client.cpp
@@ -95,9 +95,9 @@ Client::Client(QWidget *parent)
tcpSocket = new QTcpSocket(this);
//! [1]
- connect(hostLineEdit, SIGNAL(textChanged(const QString &)),
+ connect(hostLineEdit, SIGNAL(textChanged(QString)),
this, SLOT(enableGetFortuneButton()));
- connect(portLineEdit, SIGNAL(textChanged(const QString &)),
+ connect(portLineEdit, SIGNAL(textChanged(QString)),
this, SLOT(enableGetFortuneButton()));
connect(getFortuneButton, SIGNAL(clicked()),
this, SLOT(requestNewFortune()));
diff --git a/examples/network/googlesuggest/googlesuggest.cpp b/examples/network/googlesuggest/googlesuggest.cpp
index a1075ec..e9746b5 100644
--- a/examples/network/googlesuggest/googlesuggest.cpp
+++ b/examples/network/googlesuggest/googlesuggest.cpp
@@ -66,7 +66,7 @@ GSuggestCompletion::GSuggestCompletion(QLineEdit *parent): QObject(parent), edit
popup->installEventFilter(this);
- connect(popup, SIGNAL(itemClicked(QTreeWidgetItem*, int)),
+ connect(popup, SIGNAL(itemClicked(QTreeWidgetItem*,int)),
SLOT(doneCompletion()));
timer = new QTimer(this);
diff --git a/examples/network/http/httpwindow.cpp b/examples/network/http/httpwindow.cpp
index d7b4b8c..b0139ef 100644
--- a/examples/network/http/httpwindow.cpp
+++ b/examples/network/http/httpwindow.cpp
@@ -72,19 +72,19 @@ HttpWindow::HttpWindow(QWidget *parent)
http = new QHttp(this);
- connect(urlLineEdit, SIGNAL(textChanged(const QString &)),
+ connect(urlLineEdit, SIGNAL(textChanged(QString)),
this, SLOT(enableDownloadButton()));
- connect(http, SIGNAL(requestFinished(int, bool)),
- this, SLOT(httpRequestFinished(int, bool)));
- connect(http, SIGNAL(dataReadProgress(int, int)),
- this, SLOT(updateDataReadProgress(int, int)));
- connect(http, SIGNAL(responseHeaderReceived(const QHttpResponseHeader &)),
- this, SLOT(readResponseHeader(const QHttpResponseHeader &)));
- connect(http, SIGNAL(authenticationRequired(const QString &, quint16, QAuthenticator *)),
- this, SLOT(slotAuthenticationRequired(const QString &, quint16, QAuthenticator *)));
+ connect(http, SIGNAL(requestFinished(int,bool)),
+ this, SLOT(httpRequestFinished(int,bool)));
+ connect(http, SIGNAL(dataReadProgress(int,int)),
+ this, SLOT(updateDataReadProgress(int,int)));
+ connect(http, SIGNAL(responseHeaderReceived(QHttpResponseHeader)),
+ this, SLOT(readResponseHeader(QHttpResponseHeader)));
+ connect(http, SIGNAL(authenticationRequired(QString,quint16,QAuthenticator*)),
+ this, SLOT(slotAuthenticationRequired(QString,quint16,QAuthenticator*)));
#ifndef QT_NO_OPENSSL
- connect(http, SIGNAL(sslErrors(const QList<QSslError> &)),
- this, SLOT(sslErrors(const QList<QSslError> &)));
+ connect(http, SIGNAL(sslErrors(QList<QSslError>)),
+ this, SLOT(sslErrors(QList<QSslError>)));
#endif
connect(progressDialog, SIGNAL(canceled()), this, SLOT(cancelDownload()));
connect(downloadButton, SIGNAL(clicked()), this, SLOT(downloadFile()));
diff --git a/examples/network/network-chat/chatdialog.cpp b/examples/network/network-chat/chatdialog.cpp
index 4406844..2dbfd0e 100644
--- a/examples/network/network-chat/chatdialog.cpp
+++ b/examples/network/network-chat/chatdialog.cpp
@@ -58,12 +58,12 @@ ChatDialog::ChatDialog(QWidget *parent)
connect(sendButton, SIGNAL(clicked()), this, SLOT(returnPressed()));
#endif
connect(lineEdit, SIGNAL(returnPressed()), this, SLOT(returnPressed()));
- connect(&client, SIGNAL(newMessage(const QString &, const QString &)),
- this, SLOT(appendMessage(const QString &, const QString &)));
- connect(&client, SIGNAL(newParticipant(const QString &)),
- this, SLOT(newParticipant(const QString &)));
- connect(&client, SIGNAL(participantLeft(const QString &)),
- this, SLOT(participantLeft(const QString &)));
+ connect(&client, SIGNAL(newMessage(QString,QString)),
+ this, SLOT(appendMessage(QString,QString)));
+ connect(&client, SIGNAL(newParticipant(QString)),
+ this, SLOT(newParticipant(QString)));
+ connect(&client, SIGNAL(participantLeft(QString)),
+ this, SLOT(participantLeft(QString)));
myNickName = client.nickName();
newParticipant(myNickName);
diff --git a/examples/network/network-chat/client.cpp b/examples/network/network-chat/client.cpp
index f1d4ced..58d74fb 100644
--- a/examples/network/network-chat/client.cpp
+++ b/examples/network/network-chat/client.cpp
@@ -51,10 +51,10 @@ Client::Client()
peerManager->setServerPort(server.serverPort());
peerManager->startBroadcasting();
- QObject::connect(peerManager, SIGNAL(newConnection(Connection *)),
- this, SLOT(newConnection(Connection *)));
- QObject::connect(&server, SIGNAL(newConnection(Connection *)),
- this, SLOT(newConnection(Connection *)));
+ QObject::connect(peerManager, SIGNAL(newConnection(Connection*)),
+ this, SLOT(newConnection(Connection*)));
+ QObject::connect(&server, SIGNAL(newConnection(Connection*)),
+ this, SLOT(newConnection(Connection*)));
}
void Client::sendMessage(const QString &message)
@@ -107,8 +107,8 @@ void Client::readyForUse()
connection->peerPort()))
return;
- connect(connection, SIGNAL(newMessage(const QString &, const QString &)),
- this, SIGNAL(newMessage(const QString &, const QString &)));
+ connect(connection, SIGNAL(newMessage(QString,QString)),
+ this, SIGNAL(newMessage(QString,QString)));
peers.insert(connection->peerAddress(), connection);
QString nick = connection->name();
diff --git a/examples/network/qftp/ftpwindow.cpp b/examples/network/qftp/ftpwindow.cpp
index f3fc52b..493b440 100644
--- a/examples/network/qftp/ftpwindow.cpp
+++ b/examples/network/qftp/ftpwindow.cpp
@@ -85,9 +85,9 @@ FtpWindow::FtpWindow(QWidget *parent)
progressDialog = new QProgressDialog(this);
- connect(fileList, SIGNAL(itemActivated(QTreeWidgetItem *, int)),
- this, SLOT(processItem(QTreeWidgetItem *, int)));
- connect(fileList, SIGNAL(currentItemChanged(QTreeWidgetItem *, QTreeWidgetItem *)),
+ connect(fileList, SIGNAL(itemActivated(QTreeWidgetItem*,int)),
+ this, SLOT(processItem(QTreeWidgetItem*,int)));
+ connect(fileList, SIGNAL(currentItemChanged(QTreeWidgetItem*,QTreeWidgetItem*)),
this, SLOT(enableDownloadButton()));
connect(progressDialog, SIGNAL(canceled()), this, SLOT(cancelDownload()));
connect(connectButton, SIGNAL(clicked()), this, SLOT(connectOrDisconnect()));
@@ -163,12 +163,12 @@ void FtpWindow::connectOrDisconnect()
//![1]
ftp = new QFtp(this);
- connect(ftp, SIGNAL(commandFinished(int, bool)),
- this, SLOT(ftpCommandFinished(int, bool)));
- connect(ftp, SIGNAL(listInfo(const QUrlInfo &)),
- this, SLOT(addToList(const QUrlInfo &)));
- connect(ftp, SIGNAL(dataTransferProgress(qint64, qint64)),
- this, SLOT(updateDataTransferProgress(qint64, qint64)));
+ connect(ftp, SIGNAL(commandFinished(int,bool)),
+ this, SLOT(ftpCommandFinished(int,bool)));
+ connect(ftp, SIGNAL(listInfo(QUrlInfo)),
+ this, SLOT(addToList(QUrlInfo)));
+ connect(ftp, SIGNAL(dataTransferProgress(qint64,qint64)),
+ this, SLOT(updateDataTransferProgress(qint64,qint64)));
fileList->clear();
currentPath.clear();
diff --git a/examples/network/torrent/addtorrentdialog.cpp b/examples/network/torrent/addtorrentdialog.cpp
index ce7c402..da9f24c 100644
--- a/examples/network/torrent/addtorrentdialog.cpp
+++ b/examples/network/torrent/addtorrentdialog.cpp
@@ -70,8 +70,8 @@ AddTorrentDialog::AddTorrentDialog(QWidget *parent)
this, SLOT(selectTorrent()));
connect(ui.browseDestination, SIGNAL(clicked()),
this, SLOT(selectDestination()));
- connect(ui.torrentFile, SIGNAL(textChanged(const QString &)),
- this, SLOT(setTorrent(const QString &)));
+ connect(ui.torrentFile, SIGNAL(textChanged(QString)),
+ this, SLOT(setTorrent(QString)));
ui.destinationFolder->setText(destinationDirectory = QDir::current().path());
ui.torrentFile->setFocus();
diff --git a/examples/network/torrent/mainwindow.cpp b/examples/network/torrent/mainwindow.cpp
index f38682e..4c35d93 100644
--- a/examples/network/torrent/mainwindow.cpp
+++ b/examples/network/torrent/mainwindow.cpp
@@ -175,8 +175,8 @@ MainWindow::MainWindow(QWidget *parent)
// Set up connections
connect(torrentView, SIGNAL(itemSelectionChanged()),
this, SLOT(setActionsEnabled()));
- connect(torrentView, SIGNAL(fileDropped(const QString &)),
- this, SLOT(acceptFileDrop(const QString &)));
+ connect(torrentView, SIGNAL(fileDropped(QString)),
+ this, SLOT(acceptFileDrop(QString)));
connect(uploadLimitSlider, SIGNAL(valueChanged(int)),
this, SLOT(setUploadLimit(int)));
connect(downloadLimitSlider, SIGNAL(valueChanged(int)),
diff --git a/examples/network/torrent/torrentclient.cpp b/examples/network/torrent/torrentclient.cpp
index 5eaab10..62c1a13 100644
--- a/examples/network/torrent/torrentclient.cpp
+++ b/examples/network/torrent/torrentclient.cpp
@@ -225,20 +225,20 @@ TorrentClient::TorrentClient(QObject *parent)
: QObject(parent), d(new TorrentClientPrivate(this))
{
// Connect the file manager
- connect(&d->fileManager, SIGNAL(dataRead(int, int, int, const QByteArray &)),
- this, SLOT(sendToPeer(int, int, int, const QByteArray &)));
+ connect(&d->fileManager, SIGNAL(dataRead(int,int,int,QByteArray)),
+ this, SLOT(sendToPeer(int,int,int,QByteArray)));
connect(&d->fileManager, SIGNAL(verificationProgress(int)),
this, SLOT(updateProgress(int)));
connect(&d->fileManager, SIGNAL(verificationDone()),
this, SLOT(fullVerificationDone()));
- connect(&d->fileManager, SIGNAL(pieceVerified(int, bool)),
- this, SLOT(pieceVerified(int, bool)));
+ connect(&d->fileManager, SIGNAL(pieceVerified(int,bool)),
+ this, SLOT(pieceVerified(int,bool)));
connect(&d->fileManager, SIGNAL(error()),
this, SLOT(handleFileError()));
// Connect the tracker client
- connect(&d->trackerClient, SIGNAL(peerListUpdated(const QList<TorrentPeer> &)),
- this, SLOT(addToPeerList(const QList<TorrentPeer> &)));
+ connect(&d->trackerClient, SIGNAL(peerListUpdated(QList<TorrentPeer>)),
+ this, SLOT(addToPeerList(QList<TorrentPeer>)));
connect(&d->trackerClient, SIGNAL(stopped()),
this, SIGNAL(stopped()));
}
@@ -836,12 +836,12 @@ void TorrentClient::initializeConnection(PeerWireClient *client)
this, SLOT(removeClient()));
connect(client, SIGNAL(error(QAbstractSocket::SocketError)),
this, SLOT(removeClient()));
- connect(client, SIGNAL(piecesAvailable(const QBitArray &)),
- this, SLOT(peerPiecesAvailable(const QBitArray &)));
- connect(client, SIGNAL(blockRequested(int, int, int)),
- this, SLOT(peerRequestsBlock(int, int, int)));
- connect(client, SIGNAL(blockReceived(int, int, const QByteArray &)),
- this, SLOT(blockReceived(int, int, const QByteArray &)));
+ connect(client, SIGNAL(piecesAvailable(QBitArray)),
+ this, SLOT(peerPiecesAvailable(QBitArray)));
+ connect(client, SIGNAL(blockRequested(int,int,int)),
+ this, SLOT(peerRequestsBlock(int,int,int)));
+ connect(client, SIGNAL(blockReceived(int,int,QByteArray)),
+ this, SLOT(blockReceived(int,int,QByteArray)));
connect(client, SIGNAL(choked()),
this, SLOT(peerChoked()));
connect(client, SIGNAL(unchoked()),
diff --git a/examples/network/torrent/torrentserver.cpp b/examples/network/torrent/torrentserver.cpp
index a7955c8..e9ae234 100644
--- a/examples/network/torrent/torrentserver.cpp
+++ b/examples/network/torrent/torrentserver.cpp
@@ -69,8 +69,8 @@ void TorrentServer::incomingConnection(int socketDescriptor)
if (client->setSocketDescriptor(socketDescriptor)) {
if (ConnectionManager::instance()->canAddConnection() && !clients.isEmpty()) {
- connect(client, SIGNAL(infoHashReceived(const QByteArray &)),
- this, SLOT(processInfoHash(const QByteArray &)));
+ connect(client, SIGNAL(infoHashReceived(QByteArray)),
+ this, SLOT(processInfoHash(QByteArray)));
connect(client, SIGNAL(error(QAbstractSocket::SocketError)),
this, SLOT(removeClient()));
RateController::instance()->addSocket(client);
diff --git a/examples/painting/fontsampler/mainwindow.cpp b/examples/painting/fontsampler/mainwindow.cpp
index 9ef4ad3..4f83ba9 100644
--- a/examples/painting/fontsampler/mainwindow.cpp
+++ b/examples/painting/fontsampler/mainwindow.cpp
@@ -53,10 +53,10 @@ MainWindow::MainWindow(QWidget *parent)
setupFontTree();
connect(quitAction, SIGNAL(triggered()), qApp, SLOT(quit()));
- connect(fontTree, SIGNAL(currentItemChanged(QTreeWidgetItem *, QTreeWidgetItem *)),
- this, SLOT(showFont(QTreeWidgetItem *)));
- connect(fontTree, SIGNAL(itemChanged(QTreeWidgetItem *, int)),
- this, SLOT(updateStyles(QTreeWidgetItem *, int)));
+ connect(fontTree, SIGNAL(currentItemChanged(QTreeWidgetItem*,QTreeWidgetItem*)),
+ this, SLOT(showFont(QTreeWidgetItem*)));
+ connect(fontTree, SIGNAL(itemChanged(QTreeWidgetItem*,int)),
+ this, SLOT(updateStyles(QTreeWidgetItem*,int)));
fontTree->setItemSelected(fontTree->topLevelItem(0), true);
showFont(fontTree->topLevelItem(0));
@@ -279,8 +279,8 @@ void MainWindow::on_printPreviewAction_triggered()
QPrinter printer(QPrinter::HighResolution);
QPrintPreviewDialog preview(&printer, this);
- connect(&preview, SIGNAL(paintRequested(QPrinter *)),
- this, SLOT(printDocument(QPrinter *)));
+ connect(&preview, SIGNAL(paintRequested(QPrinter*)),
+ this, SLOT(printDocument(QPrinter*)));
preview.exec();
}
diff --git a/examples/painting/svgviewer/mainwindow.cpp b/examples/painting/svgviewer/mainwindow.cpp
index c204de3..6bef5ce 100644
--- a/examples/painting/svgviewer/mainwindow.cpp
+++ b/examples/painting/svgviewer/mainwindow.cpp
@@ -103,8 +103,8 @@ MainWindow::MainWindow()
connect(openAction, SIGNAL(triggered()), this, SLOT(openFile()));
connect(quitAction, SIGNAL(triggered()), qApp, SLOT(quit()));
- connect(rendererGroup, SIGNAL(triggered(QAction *)),
- this, SLOT(setRenderer(QAction *)));
+ connect(rendererGroup, SIGNAL(triggered(QAction*)),
+ this, SLOT(setRenderer(QAction*)));
setCentralWidget(m_view);
setWindowTitle(tr("SVG Viewer"));
diff --git a/examples/phonon/qmusicplayer/mainwindow.cpp b/examples/phonon/qmusicplayer/mainwindow.cpp
index 787ae53..bc1fa1b 100644
--- a/examples/phonon/qmusicplayer/mainwindow.cpp
+++ b/examples/phonon/qmusicplayer/mainwindow.cpp
@@ -54,12 +54,12 @@ MainWindow::MainWindow()
//![0]
//![2]
connect(mediaObject, SIGNAL(tick(qint64)), this, SLOT(tick(qint64)));
- connect(mediaObject, SIGNAL(stateChanged(Phonon::State, Phonon::State)),
- this, SLOT(stateChanged(Phonon::State, Phonon::State)));
+ connect(mediaObject, SIGNAL(stateChanged(Phonon::State,Phonon::State)),
+ this, SLOT(stateChanged(Phonon::State,Phonon::State)));
connect(metaInformationResolver, SIGNAL(stateChanged(Phonon::State,Phonon::State)),
- this, SLOT(metaStateChanged(Phonon::State, Phonon::State)));
- connect(mediaObject, SIGNAL(currentSourceChanged(const Phonon::MediaSource &)),
- this, SLOT(sourceChanged(const Phonon::MediaSource &)));
+ this, SLOT(metaStateChanged(Phonon::State,Phonon::State)));
+ connect(mediaObject, SIGNAL(currentSourceChanged(Phonon::MediaSource)),
+ this, SLOT(sourceChanged(Phonon::MediaSource)));
connect(mediaObject, SIGNAL(aboutToFinish()), this, SLOT(aboutToFinish()));
//![2]
@@ -328,8 +328,8 @@ void MainWindow::setupUi()
musicTable->setHorizontalHeaderLabels(headers);
musicTable->setSelectionMode(QAbstractItemView::SingleSelection);
musicTable->setSelectionBehavior(QAbstractItemView::SelectRows);
- connect(musicTable, SIGNAL(cellPressed(int, int)),
- this, SLOT(tableClicked(int, int)));
+ connect(musicTable, SIGNAL(cellPressed(int,int)),
+ this, SLOT(tableClicked(int,int)));
QHBoxLayout *seekerLayout = new QHBoxLayout;
seekerLayout->addWidget(seekSlider);
diff --git a/examples/qtconcurrent/progressdialog/main.cpp b/examples/qtconcurrent/progressdialog/main.cpp
index 8228549..1c561c8 100644
--- a/examples/qtconcurrent/progressdialog/main.cpp
+++ b/examples/qtconcurrent/progressdialog/main.cpp
@@ -74,7 +74,7 @@ int main(int argc, char **argv)
QFutureWatcher<void> futureWatcher;
QObject::connect(&futureWatcher, SIGNAL(finished()), &dialog, SLOT(reset()));
QObject::connect(&dialog, SIGNAL(canceled()), &futureWatcher, SLOT(cancel()));
- QObject::connect(&futureWatcher, SIGNAL(progressRangeChanged(int, int)), &dialog, SLOT(setRange(int, int)));
+ QObject::connect(&futureWatcher, SIGNAL(progressRangeChanged(int,int)), &dialog, SLOT(setRange(int,int)));
QObject::connect(&futureWatcher, SIGNAL(progressValueChanged(int)), &dialog, SLOT(setValue(int)));
// Start the computation.
diff --git a/examples/script/context2d/window.cpp b/examples/script/context2d/window.cpp
index a260347..b0fe231 100644
--- a/examples/script/context2d/window.cpp
+++ b/examples/script/context2d/window.cpp
@@ -106,7 +106,7 @@ Window::Window(QWidget *parent)
QFileInfoList entries = dir.entryInfoList(QStringList() << "*.js");
for (int i = 0; i < entries.size(); ++i)
m_view->addItem(entries.at(i).fileName());
- connect(m_view, SIGNAL(currentItemChanged(QListWidgetItem*, QListWidgetItem*)),
+ connect(m_view, SIGNAL(currentItemChanged(QListWidgetItem*,QListWidgetItem*)),
this, SLOT(selectScript(QListWidgetItem*)));
//! [1]
diff --git a/examples/sql/drilldown/informationwindow.cpp b/examples/sql/drilldown/informationwindow.cpp
index 08fe2ac..a440aad 100644
--- a/examples/sql/drilldown/informationwindow.cpp
+++ b/examples/sql/drilldown/informationwindow.cpp
@@ -83,16 +83,15 @@ InformationWindow::InformationWindow(int id, QSqlRelationalTableModel *offices,
connect(imageFileEditor, SIGNAL(currentIndexChanged(int)),
this, SLOT(enableButtons()));
- QGridLayout *layout = new QGridLayout;
- layout->addWidget(locationLabel, 0, 0, Qt::AlignLeft | Qt::AlignTop);
- layout->addWidget(countryLabel, 1, 0, Qt::AlignLeft | Qt::AlignTop);
- layout->addWidget(imageFileLabel, 2, 0, Qt::AlignLeft | Qt::AlignTop);
- layout->addWidget(descriptionLabel, 3, 0, Qt::AlignLeft | Qt::AlignTop);
- layout->addWidget(locationText, 0, 1);
- layout->addWidget(countryText, 1, 1);
- layout->addWidget(imageFileEditor, 2, 1);
- layout->addWidget(descriptionEditor, 3, 1);
- layout->addWidget(buttonBox, 4, 0, 1, 2);
+ QFormLayout *formLayout = new QFormLayout;
+ formLayout->addRow(locationLabel, locationText);
+ formLayout->addRow(countryLabel, countryText);
+ formLayout->addRow(imageFileLabel, imageFileEditor);
+ formLayout->addRow(descriptionLabel, descriptionEditor);
+
+ QVBoxLayout *layout = new QVBoxLayout;
+ layout->addLayout(formLayout);
+ layout->addWidget(buttonBox);
setLayout(layout);
locationId = id;
@@ -101,9 +100,6 @@ InformationWindow::InformationWindow(int id, QSqlRelationalTableModel *offices,
setWindowFlags(Qt::Window);
enableButtons(false);
setWindowTitle(tr("Office: %1").arg(locationText->text()));
-#ifndef Q_OS_SYMBIAN
- resize(320, sizeHint().height());
-#endif
}
//! [4]
@@ -154,8 +150,8 @@ void InformationWindow::createButtons()
//! [8]
//! [9]
- buttonBox = new QDialogButtonBox;
- buttonBox->addButton(submitButton, QDialogButtonBox::ResetRole);
+ buttonBox = new QDialogButtonBox(this);
+ buttonBox->addButton(submitButton, QDialogButtonBox::AcceptRole);
buttonBox->addButton(revertButton, QDialogButtonBox::ResetRole);
buttonBox->addButton(closeButton, QDialogButtonBox::RejectRole);
}
diff --git a/examples/sql/drilldown/view.cpp b/examples/sql/drilldown/view.cpp
index ff4c511..da29198 100644
--- a/examples/sql/drilldown/view.cpp
+++ b/examples/sql/drilldown/view.cpp
@@ -134,20 +134,20 @@ void View::showInformation(ImageItem *image)
#ifndef Q_OS_SYMBIAN
window->show();
#else
- window->showFullScreen();
+ window->showMaximized();
#endif
} else {
InformationWindow *window;
window = new InformationWindow(id, officeTable, this);
- connect(window, SIGNAL(imageChanged(int, QString)),
- this, SLOT(updateImage(int, QString)));
+ connect(window, SIGNAL(imageChanged(int,QString)),
+ this, SLOT(updateImage(int,QString)));
#ifndef Q_OS_SYMBIAN
window->move(pos() + QPoint(20, 40));
window->show();
#else
- window->showFullScreen();
+ window->showMaximized();
#endif
informationWindows.append(window);
}
diff --git a/examples/sql/masterdetail/mainwindow.cpp b/examples/sql/masterdetail/mainwindow.cpp
index 24bcda8..d2b4d45 100644
--- a/examples/sql/masterdetail/mainwindow.cpp
+++ b/examples/sql/masterdetail/mainwindow.cpp
@@ -69,10 +69,10 @@ MainWindow::MainWindow(const QString &artistTable, const QString &albumTable,
uniqueAlbumId = model->rowCount();
uniqueArtistId = artistView->count();
- connect(model, SIGNAL(rowsInserted(QModelIndex, int, int)),
- this, SLOT(updateHeader(QModelIndex, int, int)));
- connect(model, SIGNAL(rowsRemoved(QModelIndex, int, int)),
- this, SLOT(updateHeader(QModelIndex, int, int)));
+ connect(model, SIGNAL(rowsInserted(QModelIndex,int,int)),
+ this, SLOT(updateHeader(QModelIndex,int,int)));
+ connect(model, SIGNAL(rowsRemoved(QModelIndex,int,int)),
+ this, SLOT(updateHeader(QModelIndex,int,int)));
QGridLayout *layout = new QGridLayout;
layout->addWidget(artists, 0, 0);
diff --git a/examples/threads/mandelbrot/mandelbrotwidget.cpp b/examples/threads/mandelbrot/mandelbrotwidget.cpp
index 6db781f..3835cc8 100644
--- a/examples/threads/mandelbrot/mandelbrotwidget.cpp
+++ b/examples/threads/mandelbrot/mandelbrotwidget.cpp
@@ -65,8 +65,8 @@ MandelbrotWidget::MandelbrotWidget(QWidget *parent)
curScale = DefaultScale;
qRegisterMetaType<QImage>("QImage");
- connect(&thread, SIGNAL(renderedImage(const QImage &, double)),
- this, SLOT(updatePixmap(const QImage &, double)));
+ connect(&thread, SIGNAL(renderedImage(QImage,double)),
+ this, SLOT(updatePixmap(QImage,double)));
setWindowTitle(tr("Mandelbrot"));
#ifndef QT_NO_CURSOR
diff --git a/examples/tools/customcompleter/textedit.cpp b/examples/tools/customcompleter/textedit.cpp
index 83ab070..5965368 100644
--- a/examples/tools/customcompleter/textedit.cpp
+++ b/examples/tools/customcompleter/textedit.cpp
@@ -79,8 +79,8 @@ void TextEdit::setCompleter(QCompleter *completer)
c->setWidget(this);
c->setCompletionMode(QCompleter::PopupCompletion);
c->setCaseSensitivity(Qt::CaseInsensitive);
- QObject::connect(c, SIGNAL(activated(const QString&)),
- this, SLOT(insertCompletion(const QString&)));
+ QObject::connect(c, SIGNAL(activated(QString)),
+ this, SLOT(insertCompletion(QString)));
}
//! [2]
diff --git a/examples/tools/inputpanel/myinputpanel.cpp b/examples/tools/inputpanel/myinputpanel.cpp
index 2d897cb..8b9c96a 100644
--- a/examples/tools/inputpanel/myinputpanel.cpp
+++ b/examples/tools/inputpanel/myinputpanel.cpp
@@ -49,8 +49,8 @@ MyInputPanel::MyInputPanel()
{
form.setupUi(this);
- connect(qApp, SIGNAL(focusChanged(QWidget *, QWidget *)),
- this, SLOT(saveFocusWidget(QWidget *, QWidget *)));
+ connect(qApp, SIGNAL(focusChanged(QWidget*,QWidget*)),
+ this, SLOT(saveFocusWidget(QWidget*,QWidget*)));
signalMapper.setMapping(form.panelButton_1, form.panelButton_1);
signalMapper.setMapping(form.panelButton_2, form.panelButton_2);
@@ -90,8 +90,8 @@ MyInputPanel::MyInputPanel()
connect(form.panelButton_hash, SIGNAL(clicked()),
&signalMapper, SLOT(map()));
- connect(&signalMapper, SIGNAL(mapped(QWidget *)),
- this, SLOT(buttonClicked(QWidget *)));
+ connect(&signalMapper, SIGNAL(mapped(QWidget*)),
+ this, SLOT(buttonClicked(QWidget*)));
}
//! [0]
diff --git a/examples/tools/regexp/regexpdialog.cpp b/examples/tools/regexp/regexpdialog.cpp
index 3becc2b..254456e 100644
--- a/examples/tools/regexp/regexpdialog.cpp
+++ b/examples/tools/regexp/regexpdialog.cpp
@@ -126,9 +126,9 @@ RegExpDialog::RegExpDialog(QWidget *parent)
}
setLayout(mainLayout);
- connect(patternComboBox, SIGNAL(editTextChanged(const QString &)),
+ connect(patternComboBox, SIGNAL(editTextChanged(QString)),
this, SLOT(refresh()));
- connect(textComboBox, SIGNAL(editTextChanged(const QString &)),
+ connect(textComboBox, SIGNAL(editTextChanged(QString)),
this, SLOT(refresh()));
connect(caseSensitiveCheckBox, SIGNAL(toggled(bool)),
this, SLOT(refresh()));
diff --git a/examples/tools/settingseditor/settingstree.cpp b/examples/tools/settingseditor/settingstree.cpp
index e7e8ba8..bf4db3d 100644
--- a/examples/tools/settingseditor/settingstree.cpp
+++ b/examples/tools/settingseditor/settingstree.cpp
@@ -121,14 +121,14 @@ void SettingsTree::refresh()
if (!settings)
return;
- disconnect(this, SIGNAL(itemChanged(QTreeWidgetItem *, int)),
- this, SLOT(updateSetting(QTreeWidgetItem *)));
+ disconnect(this, SIGNAL(itemChanged(QTreeWidgetItem*,int)),
+ this, SLOT(updateSetting(QTreeWidgetItem*)));
settings->sync();
updateChildItems(0);
- connect(this, SIGNAL(itemChanged(QTreeWidgetItem *, int)),
- this, SLOT(updateSetting(QTreeWidgetItem *)));
+ connect(this, SIGNAL(itemChanged(QTreeWidgetItem*,int)),
+ this, SLOT(updateSetting(QTreeWidgetItem*)));
}
bool SettingsTree::event(QEvent *event)
diff --git a/examples/tools/treemodelcompleter/mainwindow.cpp b/examples/tools/treemodelcompleter/mainwindow.cpp
index e6f6c42..0fe9de0 100644
--- a/examples/tools/treemodelcompleter/mainwindow.cpp
+++ b/examples/tools/treemodelcompleter/mainwindow.cpp
@@ -52,8 +52,8 @@ MainWindow::MainWindow(QWidget *parent)
completer = new TreeModelCompleter(this);
completer->setModel(modelFromFile(":/resources/treemodel.txt"));
completer->setSeparator(QLatin1String("."));
- QObject::connect(completer, SIGNAL(highlighted(const QModelIndex&)),
- this, SLOT(highlight(const QModelIndex&)));
+ QObject::connect(completer, SIGNAL(highlighted(QModelIndex)),
+ this, SLOT(highlight(QModelIndex)));
QWidget *centralWidget = new QWidget;
@@ -82,8 +82,8 @@ MainWindow::MainWindow(QWidget *parent)
QLineEdit *separatorLineEdit = new QLineEdit;
separatorLineEdit->setText(completer->separator());
- connect(separatorLineEdit, SIGNAL(textChanged(const QString&)),
- completer, SLOT(setSeparator(const QString&)));
+ connect(separatorLineEdit, SIGNAL(textChanged(QString)),
+ completer, SLOT(setSeparator(QString)));
QCheckBox *wrapCheckBox = new QCheckBox;
wrapCheckBox->setText(tr("Wrap around completions"));
@@ -92,8 +92,8 @@ MainWindow::MainWindow(QWidget *parent)
contentsLabel = new QLabel;
contentsLabel->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
- connect(separatorLineEdit, SIGNAL(textChanged(const QString&)),
- this, SLOT(updateContentsLabel(const QString&)));
+ connect(separatorLineEdit, SIGNAL(textChanged(QString)),
+ this, SLOT(updateContentsLabel(QString)));
treeView = new QTreeView;
treeView->setModel(completer->model());
diff --git a/examples/tools/undoframework/mainwindow.cpp b/examples/tools/undoframework/mainwindow.cpp
index 9de953b..2a0f037 100644
--- a/examples/tools/undoframework/mainwindow.cpp
+++ b/examples/tools/undoframework/mainwindow.cpp
@@ -61,8 +61,8 @@ MainWindow::MainWindow()
diagramScene->setBackgroundBrush(pixmapBrush);
diagramScene->setSceneRect(QRect(0, 0, 500, 500));
- connect(diagramScene, SIGNAL(itemMoved(DiagramItem *, const QPointF &)),
- this, SLOT(itemMoved(DiagramItem *, const QPointF &)));
+ connect(diagramScene, SIGNAL(itemMoved(DiagramItem*,QPointF)),
+ this, SLOT(itemMoved(DiagramItem*,QPointF)));
setWindowTitle("Undo Framework");
QGraphicsView *view = new QGraphicsView(diagramScene);
diff --git a/examples/webkit/fancybrowser/mainwindow.cpp b/examples/webkit/fancybrowser/mainwindow.cpp
index 11fac91..844106f 100644
--- a/examples/webkit/fancybrowser/mainwindow.cpp
+++ b/examples/webkit/fancybrowser/mainwindow.cpp
@@ -62,7 +62,7 @@ MainWindow::MainWindow()
view = new QWebView(this);
view->load(QUrl("http://www.google.com/ncr"));
connect(view, SIGNAL(loadFinished(bool)), SLOT(adjustLocation()));
- connect(view, SIGNAL(titleChanged(const QString&)), SLOT(adjustTitle()));
+ connect(view, SIGNAL(titleChanged(QString)), SLOT(adjustTitle()));
connect(view, SIGNAL(loadProgress(int)), SLOT(setProgress(int)));
connect(view, SIGNAL(loadFinished(bool)), SLOT(finishLoading(bool)));
@@ -82,7 +82,7 @@ MainWindow::MainWindow()
QMenu *effectMenu = menuBar()->addMenu(tr("&Effect"));
effectMenu->addAction("Highlight all links", this, SLOT(highlightAllLinks()));
- QAction *rotateAction = new QAction(this);
+ rotateAction = new QAction(this);
rotateAction->setIcon(style()->standardIcon(QStyle::SP_FileDialogDetailedView));
rotateAction->setCheckable(true);
rotateAction->setText(tr("Turn images upside down"));
@@ -136,6 +136,8 @@ void MainWindow::finishLoading(bool)
progress = 100;
adjustTitle();
view->page()->mainFrame()->evaluateJavaScript(jQuery);
+
+ rotateImages(rotateAction->isChecked());
}
//! [6]
@@ -148,10 +150,10 @@ void MainWindow::highlightAllLinks()
//! [7]
//! [8]
-void MainWindow::rotateImages(bool toggle)
+void MainWindow::rotateImages(bool invert)
{
QString code;
- if (toggle)
+ if (invert)
code = "$('img').each( function () { $(this).css('-webkit-transition', '-webkit-transform 2s'); $(this).css('-webkit-transform', 'rotate(180deg)') } )";
else
code = "$('img').each( function () { $(this).css('-webkit-transition', '-webkit-transform 2s'); $(this).css('-webkit-transform', 'rotate(0deg)') } )";
diff --git a/examples/webkit/fancybrowser/mainwindow.h b/examples/webkit/fancybrowser/mainwindow.h
index 33fd8f5..214d84b 100644
--- a/examples/webkit/fancybrowser/mainwindow.h
+++ b/examples/webkit/fancybrowser/mainwindow.h
@@ -63,7 +63,7 @@ protected slots:
void finishLoading(bool);
void highlightAllLinks();
- void rotateImages(bool toggle);
+ void rotateImages(bool invert);
void removeGifImages();
void removeInlineFrames();
void removeObjectElements();
@@ -73,6 +73,7 @@ private:
QString jQuery;
QWebView *view;
QLineEdit *locationEdit;
+ QAction *rotateAction;
int progress;
//! [1]
};
diff --git a/examples/widgets/calendarwidget/window.cpp b/examples/widgets/calendarwidget/window.cpp
index b8cb39c..f0bcc6c 100644
--- a/examples/widgets/calendarwidget/window.cpp
+++ b/examples/widgets/calendarwidget/window.cpp
@@ -196,7 +196,7 @@ void Window::createPreviewGroupBox()
calendar->setMaximumDate(QDate(3000, 1, 1));
calendar->setGridVisible(true);
- connect(calendar, SIGNAL(currentPageChanged(int, int)),
+ connect(calendar, SIGNAL(currentPageChanged(int,int)),
this, SLOT(reformatCalendarPage()));
previewLayout = new QGridLayout;
@@ -357,14 +357,14 @@ void Window::createDatesGroupBox()
maximumDateLabel->setBuddy(maximumDateEdit);
//! [13] //! [14]
- connect(currentDateEdit, SIGNAL(dateChanged(const QDate &)),
- calendar, SLOT(setSelectedDate(const QDate &)));
+ connect(currentDateEdit, SIGNAL(dateChanged(QDate)),
+ calendar, SLOT(setSelectedDate(QDate)));
connect(calendar, SIGNAL(selectionChanged()),
this, SLOT(selectedDateChanged()));
- connect(minimumDateEdit, SIGNAL(dateChanged(const QDate &)),
- this, SLOT(minimumDateChanged(const QDate &)));
- connect(maximumDateEdit, SIGNAL(dateChanged(const QDate &)),
- this, SLOT(maximumDateChanged(const QDate &)));
+ connect(minimumDateEdit, SIGNAL(dateChanged(QDate)),
+ this, SLOT(minimumDateChanged(QDate)));
+ connect(maximumDateEdit, SIGNAL(dateChanged(QDate)),
+ this, SLOT(maximumDateChanged(QDate)));
//! [14]
QGridLayout *dateBoxLayout = new QGridLayout;
@@ -418,7 +418,7 @@ void Window::createTextFormatsGroupBox()
this, SLOT(weekdayFormatChanged()));
connect(weekendColorCombo, SIGNAL(currentIndexChanged(int)),
this, SLOT(weekendFormatChanged()));
- connect(headerTextFormatCombo, SIGNAL(currentIndexChanged(const QString &)),
+ connect(headerTextFormatCombo, SIGNAL(currentIndexChanged(QString)),
this, SLOT(reformatHeaders()));
connect(firstFridayCheckBox, SIGNAL(toggled(bool)),
this, SLOT(reformatCalendarPage()));
diff --git a/examples/widgets/charactermap/mainwindow.cpp b/examples/widgets/charactermap/mainwindow.cpp
index 199d471..8850e0d 100644
--- a/examples/widgets/charactermap/mainwindow.cpp
+++ b/examples/widgets/charactermap/mainwindow.cpp
@@ -79,19 +79,19 @@ MainWindow::MainWindow()
//! [3]
//! [4]
- connect(fontCombo, SIGNAL(currentFontChanged(const QFont &)),
- this, SLOT(findStyles(const QFont &)));
- connect(fontCombo, SIGNAL(currentFontChanged(const QFont &)),
- this, SLOT(findSizes(const QFont &)));
- connect(fontCombo, SIGNAL(currentFontChanged(const QFont &)),
- characterWidget, SLOT(updateFont(const QFont &)));
- connect(sizeCombo, SIGNAL(currentIndexChanged(const QString &)),
- characterWidget, SLOT(updateSize(const QString &)));
- connect(styleCombo, SIGNAL(currentIndexChanged(const QString &)),
- characterWidget, SLOT(updateStyle(const QString &)));
+ connect(fontCombo, SIGNAL(currentFontChanged(QFont)),
+ this, SLOT(findStyles(QFont)));
+ connect(fontCombo, SIGNAL(currentFontChanged(QFont)),
+ this, SLOT(findSizes(QFont)));
+ connect(fontCombo, SIGNAL(currentFontChanged(QFont)),
+ characterWidget, SLOT(updateFont(QFont)));
+ connect(sizeCombo, SIGNAL(currentIndexChanged(QString)),
+ characterWidget, SLOT(updateSize(QString)));
+ connect(styleCombo, SIGNAL(currentIndexChanged(QString)),
+ characterWidget, SLOT(updateStyle(QString)));
//! [4] //! [5]
- connect(characterWidget, SIGNAL(characterSelected(const QString &)),
- this, SLOT(insertCharacter(const QString &)));
+ connect(characterWidget, SIGNAL(characterSelected(QString)),
+ this, SLOT(insertCharacter(QString)));
connect(clipboardButton, SIGNAL(clicked()), this, SLOT(updateClipboard()));
//! [5]
connect(fontMerging, SIGNAL(toggled(bool)), characterWidget, SLOT(updateFontMerging(bool)));
diff --git a/examples/widgets/codeeditor/codeeditor.cpp b/examples/widgets/codeeditor/codeeditor.cpp
index 4632466..e8eb8cf 100644
--- a/examples/widgets/codeeditor/codeeditor.cpp
+++ b/examples/widgets/codeeditor/codeeditor.cpp
@@ -50,7 +50,7 @@ CodeEditor::CodeEditor(QWidget *parent) : QPlainTextEdit(parent)
lineNumberArea = new LineNumberArea(this);
connect(this, SIGNAL(blockCountChanged(int)), this, SLOT(updateLineNumberAreaWidth(int)));
- connect(this, SIGNAL(updateRequest(const QRect &, int)), this, SLOT(updateLineNumberArea(const QRect &, int)));
+ connect(this, SIGNAL(updateRequest(QRect,int)), this, SLOT(updateLineNumberArea(QRect,int)));
connect(this, SIGNAL(cursorPositionChanged()), this, SLOT(highlightCurrentLine()));
updateLineNumberAreaWidth(0);
diff --git a/examples/widgets/icons/mainwindow.cpp b/examples/widgets/icons/mainwindow.cpp
index 51e4619..2fb7267 100644
--- a/examples/widgets/icons/mainwindow.cpp
+++ b/examples/widgets/icons/mainwindow.cpp
@@ -293,7 +293,7 @@ void MainWindow::createImagesGroupBox()
//! [23]
//! [24]
- connect(imagesTable, SIGNAL(itemChanged(QTableWidgetItem *)),
+ connect(imagesTable, SIGNAL(itemChanged(QTableWidgetItem*)),
//! [24] //! [25]
this, SLOT(changeIcon()));
diff --git a/examples/widgets/spinboxes/window.cpp b/examples/widgets/spinboxes/window.cpp
index 19f6d26..3a75fd3 100644
--- a/examples/widgets/spinboxes/window.cpp
+++ b/examples/widgets/spinboxes/window.cpp
@@ -144,8 +144,8 @@ void Window::createDateTimeEdits()
formatComboBox->addItem("hh:mm ap");
//! [9] //! [10]
- connect(formatComboBox, SIGNAL(activated(const QString &)),
- this, SLOT(setFormatString(const QString &)));
+ connect(formatComboBox, SIGNAL(activated(QString)),
+ this, SLOT(setFormatString(QString)));
//! [10]
setFormatString(formatComboBox->currentText());
diff --git a/examples/widgets/styles/widgetgallery.cpp b/examples/widgets/styles/widgetgallery.cpp
index 9526761..5cef57c 100644
--- a/examples/widgets/styles/widgetgallery.cpp
+++ b/examples/widgets/styles/widgetgallery.cpp
@@ -70,9 +70,9 @@ WidgetGallery::WidgetGallery(QWidget *parent)
//! [0]
//! [1]
- connect(styleComboBox, SIGNAL(activated(const QString &)),
+ connect(styleComboBox, SIGNAL(activated(QString)),
//! [1] //! [2]
- this, SLOT(changeStyle(const QString &)));
+ this, SLOT(changeStyle(QString)));
connect(useStylePaletteCheckBox, SIGNAL(toggled(bool)),
this, SLOT(changePalette()));
connect(disableWidgetsCheckBox, SIGNAL(toggled(bool)),
diff --git a/examples/widgets/tablet/mainwindow.cpp b/examples/widgets/tablet/mainwindow.cpp
index 2a94259..9fa8c24 100644
--- a/examples/widgets/tablet/mainwindow.cpp
+++ b/examples/widgets/tablet/mainwindow.cpp
@@ -169,8 +169,8 @@ void MainWindow::createActions()
alphaChannelGroup->addAction(alphaChannelPressureAction);
alphaChannelGroup->addAction(alphaChannelTiltAction);
alphaChannelGroup->addAction(noAlphaChannelAction);
- connect(alphaChannelGroup, SIGNAL(triggered(QAction *)),
- this, SLOT(alphaActionTriggered(QAction *)));
+ connect(alphaChannelGroup, SIGNAL(triggered(QAction*)),
+ this, SLOT(alphaActionTriggered(QAction*)));
//! [9]
colorSaturationVTiltAction = new QAction(tr("&Vertical Tilt"), this);
@@ -191,8 +191,8 @@ void MainWindow::createActions()
colorSaturationGroup->addAction(colorSaturationHTiltAction);
colorSaturationGroup->addAction(colorSaturationPressureAction);
colorSaturationGroup->addAction(noColorSaturationAction);
- connect(colorSaturationGroup, SIGNAL(triggered(QAction *)),
- this, SLOT(saturationActionTriggered(QAction *)));
+ connect(colorSaturationGroup, SIGNAL(triggered(QAction*)),
+ this, SLOT(saturationActionTriggered(QAction*)));
lineWidthPressureAction = new QAction(tr("&Pressure"), this);
lineWidthPressureAction->setCheckable(true);
@@ -208,8 +208,8 @@ void MainWindow::createActions()
lineWidthGroup->addAction(lineWidthPressureAction);
lineWidthGroup->addAction(lineWidthTiltAction);
lineWidthGroup->addAction(lineWidthFixedAction);
- connect(lineWidthGroup, SIGNAL(triggered(QAction *)),
- this, SLOT(lineWidthActionTriggered(QAction *)));
+ connect(lineWidthGroup, SIGNAL(triggered(QAction*)),
+ this, SLOT(lineWidthActionTriggered(QAction*)));
exitAction = new QAction(tr("E&xit"), this);
exitAction->setShortcuts(QKeySequence::Quit);
diff --git a/examples/xml/dombookmarks/xbeltree.cpp b/examples/xml/dombookmarks/xbeltree.cpp
index 996decc..7e2cc08 100644
--- a/examples/xml/dombookmarks/xbeltree.cpp
+++ b/examples/xml/dombookmarks/xbeltree.cpp
@@ -90,8 +90,8 @@ bool XbelTree::read(QIODevice *device)
clear();
- disconnect(this, SIGNAL(itemChanged(QTreeWidgetItem *, int)),
- this, SLOT(updateDomElement(QTreeWidgetItem *, int)));
+ disconnect(this, SIGNAL(itemChanged(QTreeWidgetItem*,int)),
+ this, SLOT(updateDomElement(QTreeWidgetItem*,int)));
QDomElement child = root.firstChildElement("folder");
while (!child.isNull()) {
@@ -99,8 +99,8 @@ bool XbelTree::read(QIODevice *device)
child = child.nextSiblingElement("folder");
}
- connect(this, SIGNAL(itemChanged(QTreeWidgetItem *, int)),
- this, SLOT(updateDomElement(QTreeWidgetItem *, int)));
+ connect(this, SIGNAL(itemChanged(QTreeWidgetItem*,int)),
+ this, SLOT(updateDomElement(QTreeWidgetItem*,int)));
return true;
}
diff --git a/examples/xml/rsslisting/rsslisting.cpp b/examples/xml/rsslisting/rsslisting.cpp
index 526f3e0..73797b5 100644
--- a/examples/xml/rsslisting/rsslisting.cpp
+++ b/examples/xml/rsslisting/rsslisting.cpp
@@ -83,18 +83,18 @@ RSSListing::RSSListing(QWidget *parent)
abortButton->setEnabled(false);
treeWidget = new QTreeWidget(this);
- connect(treeWidget, SIGNAL(itemActivated(QTreeWidgetItem*, int)),
+ connect(treeWidget, SIGNAL(itemActivated(QTreeWidgetItem*,int)),
this, SLOT(itemActivated(QTreeWidgetItem*)));
QStringList headerLabels;
headerLabels << tr("Title") << tr("Link");
treeWidget->setHeaderLabels(headerLabels);
treeWidget->header()->setResizeMode(QHeaderView::ResizeToContents);
- connect(&http, SIGNAL(readyRead(const QHttpResponseHeader &)),
- this, SLOT(readData(const QHttpResponseHeader &)));
+ connect(&http, SIGNAL(readyRead(QHttpResponseHeader)),
+ this, SLOT(readData(QHttpResponseHeader)));
- connect(&http, SIGNAL(requestFinished(int, bool)),
- this, SLOT(finished(int, bool)));
+ connect(&http, SIGNAL(requestFinished(int,bool)),
+ this, SLOT(finished(int,bool)));
connect(lineEdit, SIGNAL(returnPressed()), this, SLOT(fetch()));
connect(fetchButton, SIGNAL(clicked()), this, SLOT(fetch()));
diff --git a/projects.pro b/projects.pro
index aa1eb71..497acd0 100644
--- a/projects.pro
+++ b/projects.pro
@@ -45,7 +45,12 @@ for(PROJECT, $$list($$lower($$unique(QT_BUILD_PARTS)))) {
} else:isEqual(PROJECT, docs) {
contains(QT_BUILD_PARTS, tools):include(doc/doc.pri)
} else:isEqual(PROJECT, translations) {
- contains(QT_BUILD_PARTS, tools):include(translations/translations.pri)
+ contains(QT_BUILD_PARTS, tools) {
+ include(translations/translations.pri) # ts targets
+ } else {
+ SUBDIRS += tools/linguist/lrelease
+ }
+ SUBDIRS += translations # qm build step
} else:isEqual(PROJECT, qmake) {
# SUBDIRS += qmake
} else {
diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp b/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp
index 3008fca..3c9df93 100644
--- a/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp
+++ b/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp
@@ -1551,6 +1551,7 @@ static bool indic_shape_syllable(HB_Bool openType, HB_ShaperItem *item, bool inv
| PreSubstProperty
| BelowSubstProperty
| AboveSubstProperty
+ | PostSubstProperty
| HalantProperty
| PositioningProperties);
@@ -1608,14 +1609,7 @@ static bool indic_shape_syllable(HB_Bool openType, HB_ShaperItem *item, bool inv
// pres always applies
// blws always applies
// abvs always applies
-
- // psts
- // ### this looks slightly different from before, but I believe it's correct
- if (reordered[len-1] != halant || base != len-2)
- properties[base] &= ~PostSubstProperty;
- for (i = base+1; i < len; ++i)
- properties[i] &= ~PostSubstProperty;
-
+ // psts always applies
// halant always applies
#ifdef INDIC_DEBUG
diff --git a/src/3rdparty/harfbuzz/tests/shaping/main.cpp b/src/3rdparty/harfbuzz/tests/shaping/main.cpp
index 12fa7c4..827ac30 100644
--- a/src/3rdparty/harfbuzz/tests/shaping/main.cpp
+++ b/src/3rdparty/harfbuzz/tests/shaping/main.cpp
@@ -686,7 +686,7 @@ void tst_QScriptEngine::bengali()
void tst_QScriptEngine::gurmukhi()
{
{
- FT_Face face = loadFace("lohit.punjabi.1.1.ttf");
+ FT_Face face = loadFace("lohit_pa.ttf");
if (face) {
const ShapeTable shape_table [] = {
{ { 0xA15, 0xA4D, 0xa39, 0x0 },
@@ -998,6 +998,36 @@ void tst_QScriptEngine::malayalam()
QSKIP("couln't find AkrutiMal2Normal.ttf", SkipAll);
}
}
+
+ {
+ FT_Face face = loadFace("Rachana.ttf");
+ if (face) {
+ const ShapeTable shape_table [] = {
+ { { 0xd37, 0xd4d, 0xd1f, 0xd4d, 0xd30, 0xd40, 0x0 },
+ { 0x385, 0xa3, 0x0 } },
+ { { 0xd2f, 0xd4d, 0xd15, 0xd4d, 0xd15, 0xd41, 0x0 },
+ { 0x2ff, 0x0 } },
+ { { 0xd33, 0xd4d, 0xd33, 0x0 },
+ { 0x3f8, 0x0 } },
+ { { 0xd2f, 0xd4d, 0xd15, 0xd4d, 0xd15, 0xd41, 0x0 },
+ { 0x2ff, 0x0 } },
+
+ { {0}, {0} }
+ };
+
+
+ const ShapeTable *s = shape_table;
+ while (s->unicode[0]) {
+ QVERIFY( shaping(face, s, HB_Script_Malayalam) );
+ ++s;
+ }
+
+ FT_Done_Face(face);
+ } else {
+ QSKIP("couln't find Rachana.ttf", SkipAll);
+ }
+ }
+
}
void tst_QScriptEngine::sinhala()
@@ -1113,7 +1143,7 @@ void tst_QScriptEngine::nko()
void tst_QScriptEngine::linearB()
{
{
- FT_Face face = loadFace("PENUTURE.TTF");
+ FT_Face face = loadFace("penuture.ttf");
if (face) {
const ShapeTable shape_table [] = {
{ { 0xd800, 0xdc01, 0xd800, 0xdc02, 0xd800, 0xdc03, 0 },
diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri b/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri
index ea6e5ab..28328e7 100644
--- a/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri
+++ b/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri
@@ -52,7 +52,7 @@ win32-* {
# Rules when JIT enabled (not disabled)
!contains(DEFINES, ENABLE_JIT=0) {
- linux-g++*:greaterThan(QT_GCC_MAJOR_VERSION,3):greaterThan(QT_GCC_MINOR_VERSION,0) {
+ linux*-g++*:greaterThan(QT_GCC_MAJOR_VERSION,3):greaterThan(QT_GCC_MINOR_VERSION,0) {
QMAKE_CXXFLAGS += -fno-stack-protector
QMAKE_CFLAGS += -fno-stack-protector
}
diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pro b/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pro
deleted file mode 100644
index 0cd2e1a..0000000
--- a/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pro
+++ /dev/null
@@ -1,69 +0,0 @@
-# JavaScriptCore - qmake build info
-CONFIG += building-libs
-include($$PWD/../WebKit.pri)
-
-TEMPLATE = lib
-CONFIG += staticlib
-TARGET = JavaScriptCore
-
-CONFIG += depend_includepath
-
-contains(QT_CONFIG, embedded):CONFIG += embedded
-
-CONFIG(QTDIR_build) {
- GENERATED_SOURCES_DIR = $$PWD/generated
- OLDDESTDIR = $$DESTDIR
- include($$QT_SOURCE_TREE/src/qbase.pri)
- INSTALLS =
- DESTDIR = $$OLDDESTDIR
- PRECOMPILED_HEADER = $$PWD/../WebKit/qt/WebKit_pch.h
- DEFINES *= NDEBUG
-}
-
-isEmpty(GENERATED_SOURCES_DIR):GENERATED_SOURCES_DIR = tmp
-GENERATED_SOURCES_DIR_SLASH = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}
-
-INCLUDEPATH += $$GENERATED_SOURCES_DIR
-
-!CONFIG(QTDIR_build) {
- CONFIG(debug, debug|release) {
- OBJECTS_DIR = obj/debug
- } else { # Release
- OBJECTS_DIR = obj/release
- }
-}
-
-CONFIG(release):!CONFIG(QTDIR_build) {
- contains(QT_CONFIG, reduce_exports):CONFIG += hide_symbols
- unix:contains(QT_CONFIG, reduce_relocations):CONFIG += bsymbolic_functions
-}
-
-linux-*: DEFINES += HAVE_STDINT_H
-freebsd-*: DEFINES += HAVE_PTHREAD_NP_H
-
-DEFINES += BUILD_WEBKIT
-
-win32-*: DEFINES += _HAS_TR1=0
-
-# Pick up 3rdparty libraries from INCLUDE/LIB just like with MSVC
-win32-g++ {
- TMPPATH = $$quote($$(INCLUDE))
- QMAKE_INCDIR_POST += $$split(TMPPATH,";")
- TMPPATH = $$quote($$(LIB))
- QMAKE_LIBDIR_POST += $$split(TMPPATH,";")
-}
-
-DEFINES += WTF_USE_JAVASCRIPTCORE_BINDINGS=1
-
-DEFINES += WTF_CHANGES=1
-
-include(JavaScriptCore.pri)
-
-QMAKE_EXTRA_TARGETS += generated_files
-
-lessThan(QT_MINOR_VERSION, 4) {
- DEFINES += QT_BEGIN_NAMESPACE="" QT_END_NAMESPACE=""
-}
-
-*-g++*:QMAKE_CXXFLAGS_RELEASE -= -O2
-*-g++*:QMAKE_CXXFLAGS_RELEASE += -O3
diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h
index 188b68f..be74e2a 100644
--- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h
+++ b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h
@@ -328,6 +328,16 @@
#define WTF_PLATFORM_BIG_ENDIAN 1
#endif
+/* PLATFORM(SPARC32) */
+#if defined(__sparc) && !defined(__arch64__) || defined(__sparcv8)
+#define WTF_PLATFORM_SPARC32 1
+#define WTF_PLATFORM_BIG_ENDIAN 1
+#endif
+
+#if PLATFORM(SPARC32) || PLATFORM(SPARC64)
+#define WTF_PLATFORM_SPARC
+#endif
+
/* PLATFORM(HPPA) */
/* a.k.a. PA-RISC */
#if defined(__hppa) || defined(__hppa__)
diff --git a/src/3rdparty/phonon/ds9/backend.cpp b/src/3rdparty/phonon/ds9/backend.cpp
index 6ed0145..fbc4bdc 100644
--- a/src/3rdparty/phonon/ds9/backend.cpp
+++ b/src/3rdparty/phonon/ds9/backend.cpp
@@ -41,6 +41,8 @@ namespace Phonon
{
namespace DS9
{
+ QMutex *Backend::directShowMutex = 0;
+
bool Backend::AudioMoniker::operator==(const AudioMoniker &other)
{
return other->IsEqual(*this) == S_OK;
@@ -50,6 +52,8 @@ namespace Phonon
Backend::Backend(QObject *parent, const QVariantList &)
: QObject(parent)
{
+ directShowMutex = &m_directShowMutex;
+
::CoInitialize(0);
//registering meta types
@@ -62,11 +66,8 @@ namespace Phonon
m_audioOutputs.clear();
m_audioEffects.clear();
::CoUninitialize();
- }
- QMutex *Backend::directShowMutex()
- {
- return &qobject_cast<Backend*>(qt_plugin_instance())->m_directShowMutex;
+ directShowMutex = 0;
}
QObject *Backend::createObject(BackendInterface::Class c, QObject *parent, const QList<QVariant> &args)
diff --git a/src/3rdparty/phonon/ds9/backend.h b/src/3rdparty/phonon/ds9/backend.h
index 8b020c2..7c3c109 100644
--- a/src/3rdparty/phonon/ds9/backend.h
+++ b/src/3rdparty/phonon/ds9/backend.h
@@ -64,7 +64,7 @@ namespace Phonon
Filter getAudioOutputFilter(int index) const;
- static QMutex *directShowMutex();
+ static QMutex *directShowMutex;
Q_SIGNALS:
void objectDescriptionChanged(ObjectDescriptionType);
diff --git a/src/3rdparty/phonon/ds9/backendnode.cpp b/src/3rdparty/phonon/ds9/backendnode.cpp
index 855357a..3afcafa 100644
--- a/src/3rdparty/phonon/ds9/backendnode.cpp
+++ b/src/3rdparty/phonon/ds9/backendnode.cpp
@@ -58,7 +58,24 @@ namespace Phonon
BackendNode::~BackendNode()
{
//this will remove the filter from the graph
- mediaObjectDestroyed();
+ FILTER_INFO info;
+ for(int i = 0; i < FILTER_COUNT; ++i) {
+ const Filter &filter = m_filters[i];
+ if (!filter)
+ continue;
+ filter->QueryFilterInfo(&info);
+ if (info.pGraph) {
+ HRESULT hr = info.pGraph->RemoveFilter(filter);
+
+ if (hr == VFW_E_NOT_STOPPED && m_mediaObject) {
+ m_mediaObject->ensureStopped();
+
+ hr = info.pGraph->RemoveFilter(filter);
+ }
+ Q_ASSERT(SUCCEEDED(hr));
+ info.pGraph->Release();
+ }
+ }
}
void BackendNode::setMediaObject(MediaObject *mo)
diff --git a/src/3rdparty/phonon/ds9/mediaobject.cpp b/src/3rdparty/phonon/ds9/mediaobject.cpp
index 250b94a..34f92c2 100644
--- a/src/3rdparty/phonon/ds9/mediaobject.cpp
+++ b/src/3rdparty/phonon/ds9/mediaobject.cpp
@@ -177,7 +177,7 @@ namespace Phonon
void WorkerThread::handleTask()
{
- QMutexLocker locker(Backend::directShowMutex());
+ QMutexLocker locker(Backend::directShowMutex);
{
QMutexLocker locker(&m_mutex);
if (m_finished || m_queue.isEmpty()) {
@@ -361,17 +361,17 @@ namespace Phonon
m_graphs[i] = new MediaGraph(this, i);
}
- connect(&m_thread, SIGNAL(stateReady(Graph, Phonon::State)),
- SLOT(slotStateReady(Graph, Phonon::State)));
+ connect(&m_thread, SIGNAL(stateReady(Graph,Phonon::State)),
+ SLOT(slotStateReady(Graph,Phonon::State)));
- connect(&m_thread, SIGNAL(eventReady(Graph, long, long)),
- SLOT(handleEvents(Graph, long, long)));
+ connect(&m_thread, SIGNAL(eventReady(Graph,long,long)),
+ SLOT(handleEvents(Graph,long,long)));
- connect(&m_thread, SIGNAL(asyncRenderFinished(quint16, HRESULT, Graph)),
- SLOT(finishLoading(quint16, HRESULT, Graph)));
+ connect(&m_thread, SIGNAL(asyncRenderFinished(quint16,HRESULT,Graph)),
+ SLOT(finishLoading(quint16,HRESULT,Graph)));
- connect(&m_thread, SIGNAL(asyncSeekingFinished(quint16, qint64)),
- SLOT(finishSeeking(quint16, qint64)));
+ connect(&m_thread, SIGNAL(asyncSeekingFinished(quint16,qint64)),
+ SLOT(finishSeeking(quint16,qint64)));
//really special case
m_mediaObject = this;
m_thread.start();
diff --git a/src/3rdparty/phonon/gstreamer/mediaobject.cpp b/src/3rdparty/phonon/gstreamer/mediaobject.cpp
index eafaeec..b6d23ec 100644
--- a/src/3rdparty/phonon/gstreamer/mediaobject.cpp
+++ b/src/3rdparty/phonon/gstreamer/mediaobject.cpp
@@ -95,8 +95,8 @@ MediaObject::MediaObject(Backend *backend, QObject *parent)
m_backend->addBusWatcher(this);
connect(m_tickTimer, SIGNAL(timeout()), SLOT(emitTick()));
}
- connect(this, SIGNAL(stateChanged(Phonon::State, Phonon::State)),
- this, SLOT(notifyStateChange(Phonon::State, Phonon::State)));
+ connect(this, SIGNAL(stateChanged(Phonon::State,Phonon::State)),
+ this, SLOT(notifyStateChange(Phonon::State,Phonon::State)));
}
diff --git a/src/3rdparty/phonon/mmf/abstractmediaplayer.cpp b/src/3rdparty/phonon/mmf/abstractmediaplayer.cpp
index f2efaa0..99e96cd 100644
--- a/src/3rdparty/phonon/mmf/abstractmediaplayer.cpp
+++ b/src/3rdparty/phonon/mmf/abstractmediaplayer.cpp
@@ -109,12 +109,12 @@ void MMF::AbstractMediaPlayer::pause()
case GroundState:
case LoadingState:
case PausedState:
- case ErrorState:
// Do nothing
break;
case StoppedState:
case PlayingState:
+ case ErrorState:
case BufferingState:
doPause();
stopTickTimer();
@@ -289,10 +289,6 @@ void MMF::AbstractMediaPlayer::setNextSource(const MediaSource &source)
}
-//-----------------------------------------------------------------------------
-// VolumeObserver
-//-----------------------------------------------------------------------------
-
void MMF::AbstractMediaPlayer::volumeChanged(qreal volume)
{
TRACE_CONTEXT(AbstractMediaPlayer::volumeChanged, EAudioInternal);
diff --git a/src/3rdparty/phonon/mmf/abstractmediaplayer.h b/src/3rdparty/phonon/mmf/abstractmediaplayer.h
index cff7bab..cb6e437 100644
--- a/src/3rdparty/phonon/mmf/abstractmediaplayer.h
+++ b/src/3rdparty/phonon/mmf/abstractmediaplayer.h
@@ -56,8 +56,6 @@ public:
virtual MediaSource source() const;
virtual void setFileSource(const Phonon::MediaSource&, RFile&);
virtual void setNextSource(const MediaSource &source);
-
- // VolumeObserver
virtual void volumeChanged(qreal volume);
protected:
diff --git a/src/3rdparty/phonon/mmf/abstractplayer.cpp b/src/3rdparty/phonon/mmf/abstractplayer.cpp
index de2722d..caf4092 100644
--- a/src/3rdparty/phonon/mmf/abstractplayer.cpp
+++ b/src/3rdparty/phonon/mmf/abstractplayer.cpp
@@ -92,11 +92,6 @@ void MMF::AbstractPlayer::setTransitionTime(qint32 time)
m_transitionTime = time;
}
-
-//-----------------------------------------------------------------------------
-// VolumeObserver
-//-----------------------------------------------------------------------------
-
void MMF::AbstractPlayer::volumeChanged(qreal volume)
{
m_volume = volume;
@@ -134,7 +129,7 @@ void MMF::AbstractPlayer::setError(Phonon::ErrorType error,
Phonon::ErrorType MMF::AbstractPlayer::errorType() const
{
const Phonon::ErrorType result = (ErrorState == m_state)
- ? errorType() : NoError;
+ ? m_error : NoError;
return result;
}
diff --git a/src/3rdparty/phonon/mmf/abstractplayer.h b/src/3rdparty/phonon/mmf/abstractplayer.h
index 66496cc..2e9cfa0 100644
--- a/src/3rdparty/phonon/mmf/abstractplayer.h
+++ b/src/3rdparty/phonon/mmf/abstractplayer.h
@@ -24,8 +24,6 @@ along with this library. If not, see <http://www.gnu.org/licenses/>.
#include <QObject>
-#include "volumeobserver.h"
-
#include "videooutput.h"
class RFile;
@@ -49,7 +47,6 @@ class VideoOutput;
* - Video, in which case the implementation is VideoPlayer
*/
class AbstractPlayer : public QObject
- , public VolumeObserver
{
// Required although this class has no signals or slots
// Without this, qobject_cast will fail
@@ -85,7 +82,6 @@ public:
virtual void setFileSource(const Phonon::MediaSource&, RFile&) = 0;
virtual void setNextSource(const Phonon::MediaSource &) = 0;
- // VolumeObserver
virtual void volumeChanged(qreal volume);
void setVideoOutput(VideoOutput* videoOutput);
diff --git a/src/3rdparty/phonon/mmf/audiooutput.cpp b/src/3rdparty/phonon/mmf/audiooutput.cpp
index 82af9f1..d6e0c13 100644
--- a/src/3rdparty/phonon/mmf/audiooutput.cpp
+++ b/src/3rdparty/phonon/mmf/audiooutput.cpp
@@ -24,7 +24,6 @@ along with this library. If not, see <http://www.gnu.org/licenses/>.
#include "defs.h"
#include "mediaobject.h"
#include "utils.h"
-#include "volumeobserver.h"
QT_BEGIN_NAMESPACE
@@ -41,7 +40,6 @@ using namespace Phonon::MMF;
MMF::AudioOutput::AudioOutput(Backend *, QObject *parent) : MediaNode(parent)
, m_volume(InitialVolume)
- , m_observer(0)
{
}
@@ -59,12 +57,9 @@ qreal MMF::AudioOutput::volume() const
void MMF::AudioOutput::setVolume(qreal volume)
{
TRACE_CONTEXT(AudioOutput::setVolume, EAudioApi);
- TRACE_ENTRY("observer 0x%08x volume %f", m_observer, volume);
+ TRACE_ENTRY("volume %f", volume);
if (volume != m_volume) {
- if (m_observer) {
- m_observer->volumeChanged(volume);
- }
m_volume = volume;
TRACE("emit volumeChanged(%f)", volume)
@@ -86,17 +81,12 @@ bool MMF::AudioOutput::setOutputDevice(int index)
return true;
}
-void MMF::AudioOutput::setVolumeObserver(VolumeObserver* observer)
-{
- m_observer = observer;
- if (m_observer) {
- m_observer->volumeChanged(m_volume);
- }
-}
-
bool MMF::AudioOutput::activateOnMediaObject(MediaObject *mo)
{
- setVolumeObserver(mo);
+ // Ensure that the MediaObject has the correct initial volume
+ mo->volumeChanged(m_volume);
+ // Connect MediaObject to receive future volume changes
+ connect(this, SIGNAL(volumeChanged(qreal)), mo, SLOT(volumeChanged(qreal)));
return true;
}
diff --git a/src/3rdparty/phonon/mmf/audiooutput.h b/src/3rdparty/phonon/mmf/audiooutput.h
index d0ba086..1e1e134 100644
--- a/src/3rdparty/phonon/mmf/audiooutput.h
+++ b/src/3rdparty/phonon/mmf/audiooutput.h
@@ -31,12 +31,11 @@ namespace Phonon
namespace MMF
{
class Backend;
-class VolumeObserver;
/**
* @short AudioOutputInterface implementation for MMF.
*
- * Forwards volume commands to the VolumeObserver instance,
+ * Forwards volume commands to the MediaObject instance,
* which is provided by the backend when MediaNode objects are
* connected.
*
@@ -82,13 +81,8 @@ Q_SIGNALS:
void audioDeviceFailed();
private:
-
- void setVolumeObserver(VolumeObserver* observer);
-
qreal m_volume;
- // Not owned
- VolumeObserver* m_observer;
};
}
}
diff --git a/src/3rdparty/phonon/mmf/backend.cpp b/src/3rdparty/phonon/mmf/backend.cpp
index cac27e3..7e3a67f 100644
--- a/src/3rdparty/phonon/mmf/backend.cpp
+++ b/src/3rdparty/phonon/mmf/backend.cpp
@@ -38,10 +38,6 @@ QT_BEGIN_NAMESPACE
using namespace Phonon;
using namespace Phonon::MMF;
-/*! \class MMF::VolumeObserver
- \internal
-*/
-
/*! \class MMF::Backend
\internal
*/
diff --git a/src/3rdparty/phonon/mmf/mediaobject.cpp b/src/3rdparty/phonon/mmf/mediaobject.cpp
index f004fd7..21dcfe1 100644
--- a/src/3rdparty/phonon/mmf/mediaobject.cpp
+++ b/src/3rdparty/phonon/mmf/mediaobject.cpp
@@ -319,10 +319,10 @@ void MMF::MediaObject::createPlayer(const MediaSource &source)
}
connect(m_player.data(), SIGNAL(totalTimeChanged(qint64)), SIGNAL(totalTimeChanged(qint64)));
- connect(m_player.data(), SIGNAL(stateChanged(Phonon::State, Phonon::State)), SIGNAL(stateChanged(Phonon::State, Phonon::State)));
+ connect(m_player.data(), SIGNAL(stateChanged(Phonon::State,Phonon::State)), SIGNAL(stateChanged(Phonon::State,Phonon::State)));
connect(m_player.data(), SIGNAL(finished()), SIGNAL(finished()));
connect(m_player.data(), SIGNAL(tick(qint64)), SIGNAL(tick(qint64)));
- connect(m_player.data(), SIGNAL(metaDataChanged(const QMultiMap<QString, QString>&)), SIGNAL(metaDataChanged(const QMultiMap<QString, QString>&)));
+ connect(m_player.data(), SIGNAL(metaDataChanged(QMultiMap<QString,QString>)), SIGNAL(metaDataChanged(QMultiMap<QString,QString>)));
// We need to call setError() after doing the connects, otherwise the
// error won't be received.
@@ -359,11 +359,6 @@ void MMF::MediaObject::setTransitionTime(qint32 time)
m_player->setTransitionTime(time);
}
-
-//-----------------------------------------------------------------------------
-// VolumeObserver
-//-----------------------------------------------------------------------------
-
void MMF::MediaObject::volumeChanged(qreal volume)
{
m_player->volumeChanged(volume);
diff --git a/src/3rdparty/phonon/mmf/mediaobject.h b/src/3rdparty/phonon/mmf/mediaobject.h
index 409918d..ee94ea2 100644
--- a/src/3rdparty/phonon/mmf/mediaobject.h
+++ b/src/3rdparty/phonon/mmf/mediaobject.h
@@ -30,7 +30,6 @@ along with this library. If not, see <http://www.gnu.org/licenses/>.
#include "abstractplayer.h"
#include "mmf_medianode.h"
#include "defs.h"
-#include "volumeobserver.h"
QT_BEGIN_NAMESPACE
@@ -46,7 +45,6 @@ class VideoOutput;
*/
class MediaObject : public MediaNode
, public MediaObjectInterface
- , public VolumeObserver
{
Q_OBJECT
Q_INTERFACES(Phonon::MediaObjectInterface)
@@ -77,9 +75,6 @@ public:
virtual qint32 transitionTime() const;
virtual void setTransitionTime(qint32);
- // VolumeObserver
- void volumeChanged(qreal volume);
-
/**
* This class owns the AbstractPlayer, and will delete it upon
* destruction.
@@ -90,6 +85,9 @@ public:
virtual bool activateOnMediaObject(MediaObject *);
+public Q_SLOTS:
+ void volumeChanged(qreal volume);
+
Q_SIGNALS:
void totalTimeChanged(qint64 length);
void hasVideoChanged(bool hasVideo);
diff --git a/src/3rdparty/phonon/mmf/mmf_videoplayer.cpp b/src/3rdparty/phonon/mmf/mmf_videoplayer.cpp
index ba7d005..2059fbe 100644
--- a/src/3rdparty/phonon/mmf/mmf_videoplayer.cpp
+++ b/src/3rdparty/phonon/mmf/mmf_videoplayer.cpp
@@ -49,7 +49,7 @@ MMF::VideoPlayer::VideoPlayer()
, m_screenDevice(*CCoeEnv::Static()->ScreenDevice())
, m_window(0)
, m_totalTime(0)
- , m_mmfOutputChangePending(false)
+ , m_pendingChanges(false)
{
construct();
}
@@ -60,7 +60,7 @@ MMF::VideoPlayer::VideoPlayer(const AbstractPlayer& player)
, m_screenDevice(*CCoeEnv::Static()->ScreenDevice())
, m_window(0)
, m_totalTime(0)
- , m_mmfOutputChangePending(false)
+ , m_pendingChanges(false)
{
construct();
}
@@ -70,24 +70,11 @@ void MMF::VideoPlayer::construct()
TRACE_CONTEXT(VideoPlayer::VideoPlayer, EVideoApi);
TRACE_ENTRY_0();
- if (m_videoOutput)
- m_videoOutput->setObserver(this);
+ getVideoWindow();
const TInt priority = 0;
const TMdaPriorityPreference preference = EMdaPriorityPreferenceNone;
- // Ignore return value - first call must always return true
- getNativeWindowSystemHandles();
-
- // TODO: is this the correct way to handle errors which occur when
- // creating a Symbian object in the constructor of a Qt object?
-
- // TODO: check whether videoOutput is visible? If not, then the
- // corresponding window will not be active, meaning that the
- // clipping region will be set to empty and the video will not be
- // visible. If this is the case, we should set m_mmfOutputChangePending
- // and respond to future showEvents from the videoOutput widget.
-
TRAPD(err,
m_player.reset(CVideoPlayerUtility::NewL
(
@@ -95,7 +82,7 @@ void MMF::VideoPlayer::construct()
priority, preference,
m_wsSession, m_screenDevice,
*m_window,
- m_rect, m_rect
+ m_videoRect, m_videoRect
))
);
@@ -110,8 +97,8 @@ MMF::VideoPlayer::~VideoPlayer()
TRACE_CONTEXT(VideoPlayer::~VideoPlayer, EVideoApi);
TRACE_ENTRY_0();
- if (m_videoOutput)
- m_videoOutput->setObserver(0);
+ // QObject destructor removes all signal-slot connections involving this
+ // object, so we do not need to disconnect from m_videoOutput here.
TRACE_EXIT_0();
}
@@ -124,11 +111,7 @@ void MMF::VideoPlayer::doPlay()
{
TRACE_CONTEXT(VideoPlayer::doPlay, EVideoApi);
- // See comment in updateMmfOutput
- if (m_mmfOutputChangePending) {
- TRACE_0("MMF output change pending - pushing now");
- updateMmfOutput();
- }
+ applyPendingChanges();
m_player->Play();
}
@@ -255,13 +238,10 @@ void MMF::VideoPlayer::MvpuoPrepareComplete(TInt aError)
maxVolumeChanged(m_player->MaxVolume());
if (m_videoOutput)
- m_videoOutput->setFrameSize(m_frameSize);
+ m_videoOutput->setVideoSize(m_videoFrameSize);
- // See comment in updateMmfOutput
- if (m_mmfOutputChangePending) {
- TRACE_0("MMF output change pending - pushing now");
- updateMmfOutput();
- }
+ updateVideoRect();
+ applyPendingChanges();
emit totalTimeChanged(totalTime());
changeState(StoppedState);
@@ -279,7 +259,7 @@ void MMF::VideoPlayer::doPrepareCompleteL(TInt aError)
// Get frame size
TSize size;
m_player->VideoFrameSizeL(size);
- m_frameSize = QSize(size.iWidth, size.iHeight);
+ m_videoFrameSize = QSize(size.iWidth, size.iHeight);
// Get duration
m_totalTime = toMilliSeconds(m_player->DurationL());
@@ -322,27 +302,178 @@ void MMF::VideoPlayer::MvpuoEvent(const TMMFEvent &aEvent)
//-----------------------------------------------------------------------------
-// VideoOutputObserver
+// Video window updates
//-----------------------------------------------------------------------------
-void MMF::VideoPlayer::videoOutputRegionChanged()
+void MMF::VideoPlayer::getVideoWindow()
+{
+ TRACE_CONTEXT(VideoPlayer::getVideoWindow, EVideoInternal);
+ TRACE_ENTRY_0();
+
+ if(m_videoOutput) {
+ // Dump information to log, only in debug builds
+ m_videoOutput->dump();
+
+ initVideoOutput();
+ m_window = m_videoOutput->videoWindow();
+ updateVideoRect();
+ } else
+ // Top-level window
+ m_window = QApplication::activeWindow()->effectiveWinId()->DrawableWindow();
+
+ TRACE_EXIT_0();
+}
+
+void MMF::VideoPlayer::videoOutputChanged()
+{
+ TRACE_CONTEXT(VideoPlayer::videoOutputChanged, EVideoInternal);
+ TRACE_ENTRY_0();
+
+ if (m_videoOutput) {
+ initVideoOutput();
+ videoWindowChanged();
+ }
+
+ TRACE_EXIT_0();
+}
+
+void MMF::VideoPlayer::initVideoOutput()
+{
+ m_videoOutput->winId();
+ m_videoOutput->setVideoSize(m_videoFrameSize);
+
+ bool connected = connect(
+ m_videoOutput, SIGNAL(videoWindowChanged()),
+ this, SLOT(videoWindowChanged())
+ );
+ Q_ASSERT(connected);
+
+ connected = connect(
+ m_videoOutput, SIGNAL(aspectRatioChanged()),
+ this, SLOT(aspectRatioChanged())
+ );
+ Q_ASSERT(connected);
+
+ connected = connect(
+ m_videoOutput, SIGNAL(scaleModeChanged()),
+ this, SLOT(scaleModeChanged())
+ );
+ Q_ASSERT(connected);
+
+ // Suppress warnings in release builds
+ Q_UNUSED(connected);
+}
+
+void MMF::VideoPlayer::videoWindowChanged()
{
TRACE_CONTEXT(VideoPlayer::videoOutputRegionChanged, EVideoInternal);
TRACE_ENTRY("state %d", state());
- const bool changed = getNativeWindowSystemHandles();
+ m_window = m_videoOutput->videoWindow();
- // See comment in updateMmfOutput
- if (changed) {
- if (state() == LoadingState)
- m_mmfOutputChangePending = true;
- else
- updateMmfOutput();
+ updateVideoRect();
+
+ TRACE_EXIT_0();
+}
+
+// Helper function for aspect ratio / scale mode handling
+QSize scaleToAspect(const QSize& srcRect, int aspectWidth, int aspectHeight)
+{
+ const qreal aspectRatio = qreal(aspectWidth) / aspectHeight;
+
+ int width = srcRect.width();
+ int height = srcRect.width() / aspectRatio;
+ if (height > srcRect.height()){
+ height = srcRect.height();
+ width = srcRect.height() * aspectRatio;
}
+ return QSize(width, height);
+}
+
+void MMF::VideoPlayer::updateVideoRect()
+{
+ QRect videoRect;
+ const QRect windowRect = m_videoOutput->videoWindowRect();
+ const QSize windowSize = windowRect.size();
+
+ // Calculate size of smallest rect which contains video frame size
+ // and conforms to aspect ratio
+ switch (m_videoOutput->aspectRatio()) {
+ case Phonon::VideoWidget::AspectRatioAuto:
+ videoRect.setSize(m_videoFrameSize);
+ break;
+
+ case Phonon::VideoWidget::AspectRatioWidget:
+ videoRect.setSize(windowSize);
+ break;
+
+ case Phonon::VideoWidget::AspectRatio4_3:
+ videoRect.setSize(scaleToAspect(m_videoFrameSize, 4, 3));
+ break;
+
+ case Phonon::VideoWidget::AspectRatio16_9:
+ videoRect.setSize(scaleToAspect(m_videoFrameSize, 16, 9));
+ break;
+ }
+
+ // Scale to fill the window width
+ const int windowWidth = windowSize.width();
+ const int windowHeight = windowSize.height();
+ const qreal windowScaleFactor = qreal(windowWidth) / videoRect.width();
+ int videoWidth = windowWidth;
+ int videoHeight = videoRect.height() * windowScaleFactor;
+
+ const qreal windowToVideoHeightRatio = qreal(windowHeight) / videoHeight;
+
+ switch(m_videoOutput->scaleMode()) {
+ case Phonon::VideoWidget::ScaleAndCrop:
+ if(videoHeight < windowHeight) {
+ videoWidth *= windowToVideoHeightRatio;
+ videoHeight = windowHeight;
+ }
+ break;
+ case Phonon::VideoWidget::FitInView:
+ default:
+ if(videoHeight > windowHeight) {
+ videoWidth *= windowToVideoHeightRatio;
+ videoHeight = windowHeight;
+ }
+ break;
+ }
+
+ // Calculate scale factors
+ m_scaleWidth = 100.0f * videoWidth / m_videoFrameSize.width();
+ m_scaleHeight = 100.0f * videoHeight / m_videoFrameSize.height();
+
+ m_videoRect = qt_QRect2TRect(windowRect);
+
+ if (state() == LoadingState)
+ m_pendingChanges = true;
+ else {
+ applyVideoWindowChange();
+ m_pendingChanges = false;
+ }
+}
+
+void MMF::VideoPlayer::aspectRatioChanged()
+{
+ TRACE_CONTEXT(VideoPlayer::aspectRatioChanged, EVideoInternal);
+ TRACE_ENTRY("state %d aspectRatio %d", state());
+
+ updateVideoRect();
TRACE_EXIT_0();
}
+void MMF::VideoPlayer::scaleModeChanged()
+{
+ TRACE_CONTEXT(VideoPlayer::scaleModeChanged, EVideoInternal);
+ TRACE_ENTRY("state %d", state());
+
+ updateVideoRect();
+
+ TRACE_EXIT_0();
+}
#ifndef QT_NO_DEBUG
@@ -383,113 +514,61 @@ void getDsaRegion(RWsSession &session, const RWindowBase &window)
#endif // _DEBUG
-void MMF::VideoPlayer::updateMmfOutput()
+void MMF::VideoPlayer::applyPendingChanges()
{
- TRACE_CONTEXT(VideoPlayer::updateMmfOutput, EVideoInternal);
- TRACE_ENTRY_0();
+ if(m_pendingChanges)
+ applyVideoWindowChange();
- // Calling SetDisplayWindowL is a no-op unless the MMF controller has
- // been loaded, so we shouldn't do it. Instead, the
- // m_mmfOutputChangePending flag is used to record the fact that we
- // need to call SetDisplayWindowL, and this is checked in
- // MvpuoPrepareComplete, at which point the MMF controller has been
- // loaded.
+ m_pendingChanges = false;
+}
+
+void MMF::VideoPlayer::applyVideoWindowChange()
+{
+ TRACE_CONTEXT(VideoPlayer::applyVideoWindowChange, EVideoInternal);
+ TRACE_ENTRY_0();
#ifndef QT_NO_DEBUG
getDsaRegion(m_wsSession, *m_window);
#endif
- TRAPD(err,
- m_player->SetDisplayWindowL
- (
- m_wsSession, m_screenDevice,
- *m_window,
- m_rect, m_rect
- )
- );
+ static const TBool antialias = ETrue;
- if (KErrNone != err) {
- TRACE("SetDisplayWindowL error %d", err);
+ TRAPD(err, m_player->SetScaleFactorL(m_scaleWidth, m_scaleHeight, antialias));
+ if(KErrNone != err) {
+ TRACE("SetScaleFactorL (1) err %d", err);
setError(NormalError);
}
- m_mmfOutputChangePending = false;
+ if(KErrNone == err) {
+ TRAP(err,
+ m_player->SetDisplayWindowL
+ (
+ m_wsSession, m_screenDevice,
+ *m_window,
+ m_videoRect, m_videoRect
+ )
+ );
+
+ if (KErrNone != err) {
+ TRACE("SetDisplayWindowL err %d", err);
+ setError(NormalError);
+ } else {
+ TRAP(err, m_player->SetScaleFactorL(m_scaleWidth, m_scaleHeight, antialias));
+ if(KErrNone != err) {
+ TRACE("SetScaleFactorL (2) err %d", err);
+ setError(NormalError);
+ }
+ }
+ }
TRACE_EXIT_0();
}
//-----------------------------------------------------------------------------
-// Private functions
+// Metadata
//-----------------------------------------------------------------------------
-void MMF::VideoPlayer::videoOutputChanged()
-{
- TRACE_CONTEXT(VideoPlayer::videoOutputChanged, EVideoInternal);
- TRACE_ENTRY_0();
-
- if (m_videoOutput) {
- m_videoOutput->setObserver(this);
- m_videoOutput->setFrameSize(m_frameSize);
- }
-
- videoOutputRegionChanged();
-
- TRACE_EXIT_0();
-}
-
-bool MMF::VideoPlayer::getNativeWindowSystemHandles()
-{
- TRACE_CONTEXT(VideoPlayer::getNativeWindowSystemHandles, EVideoInternal);
- TRACE_ENTRY_0();
-
- CCoeControl *control = 0;
-
- if (m_videoOutput)
- // Create native window
- control = m_videoOutput->winId();
- else
- // Get top-level window
- control = QApplication::activeWindow()->effectiveWinId();
-
-#ifndef QT_NO_DEBUG
- if (m_videoOutput) {
- QScopedPointer<ObjectDump::QDumper> dumper(new ObjectDump::QDumper);
- dumper->setPrefix("Phonon::MMF"); // to aid searchability of logs
- ObjectDump::addDefaultAnnotators(*dumper);
- TRACE_0("Dumping VideoOutput:");
- dumper->dumpObject(*m_videoOutput);
- }
- else {
- TRACE_0("m_videoOutput is null - dumping top-level control info:");
- TRACE("control %08x", control);
- TRACE("control.parent %08x", control->Parent());
- TRACE("control.isVisible %d", control->IsVisible());
- TRACE("control.rect %d,%d %dx%d",
- control->Position().iX, control->Position().iY,
- control->Size().iWidth, control->Size().iHeight);
- TRACE("control.ownsWindow %d", control->OwnsWindow());
- }
-#endif
-
- RWindowBase *const window = control->DrawableWindow();
- const TRect rect(window->AbsPosition(), window->Size());
-
- TRACE("rect %d %d - %d %d",
- rect.iTl.iX, rect.iTl.iY,
- rect.iBr.iX, rect.iBr.iY);
-
- bool changed = false;
-
- if (window != m_window || rect != m_rect) {
- m_window = window;
- m_rect = rect;
- changed = true;
- }
-
- TRACE_RETURN("changed %d", changed);
-}
-
int MMF::VideoPlayer::numberOfMetaDataEntries() const
{
int numberOfEntries = 0;
diff --git a/src/3rdparty/phonon/mmf/mmf_videoplayer.h b/src/3rdparty/phonon/mmf/mmf_videoplayer.h
index fa4e59b..599bb88 100644
--- a/src/3rdparty/phonon/mmf/mmf_videoplayer.h
+++ b/src/3rdparty/phonon/mmf/mmf_videoplayer.h
@@ -23,7 +23,6 @@ along with this library. If not, see <http://www.gnu.org/licenses/>.
#include "abstractmediaplayer.h"
#include "videooutput.h"
-#include "videooutputobserver.h"
QT_BEGIN_NAMESPACE
@@ -40,7 +39,6 @@ namespace MMF
*/
class VideoPlayer : public AbstractMediaPlayer
, public MVideoPlayerUtilityObserver
- , public VideoOutputObserver
{
Q_OBJECT
@@ -70,8 +68,10 @@ public:
virtual void MvpuoPlayComplete(TInt aError);
virtual void MvpuoEvent(const TMMFEvent &aEvent);
- // VideoOutputObserver
- virtual void videoOutputRegionChanged();
+public Q_SLOTS:
+ void videoWindowChanged();
+ void aspectRatioChanged();
+ void scaleModeChanged();
private:
void construct();
@@ -81,10 +81,13 @@ private:
// AbstractPlayer
virtual void videoOutputChanged();
- // Returns true if handles have changed
- bool getNativeWindowSystemHandles();
+ void getVideoWindow();
+ void initVideoOutput();
- void updateMmfOutput();
+ void updateVideoRect();
+
+ void applyPendingChanges();
+ void applyVideoWindowChange();
// AbstractMediaPlayer
virtual int numberOfMetaDataEntries() const;
@@ -97,12 +100,17 @@ private:
RWsSession& m_wsSession;
CWsScreenDevice& m_screenDevice;
RWindowBase* m_window;
- TRect m_rect;
- QSize m_frameSize;
+ /* Extent of the video display - will be clipped to m_windowRect */
+ TRect m_videoRect;
+
+ TReal32 m_scaleWidth;
+ TReal32 m_scaleHeight;
+
+ QSize m_videoFrameSize;
qint64 m_totalTime;
- bool m_mmfOutputChangePending;
+ bool m_pendingChanges;
};
diff --git a/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump_stub.cpp b/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump_stub.cpp
deleted file mode 100644
index 6207dac..0000000
--- a/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump_stub.cpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/* This file is part of the KDE project.
-
-Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-
-This library is free software: you can redistribute it and/or modify
-it under the terms of the GNU Lesser General Public License as published by
-the Free Software Foundation, either version 2.1 or 3 of the License.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU Lesser General Public License for more details.
-
-You should have received a copy of the GNU Lesser General Public License
-along with this library. If not, see <http://www.gnu.org/licenses/>.
-
-*/
-
-#include "objectdump.h"
-
-QT_BEGIN_NAMESPACE
-
-namespace ObjectDump
-{
-
-void addDefaultAnnotators_sys(QDumper& /*dumper*/)
-{
-
-}
-
-void addDefaultAnnotators_sys(QVisitor& /*visitor*/)
-{
-
-}
-
-} // namespace ObjectDump
-
-QT_END_NAMESPACE
-
-
diff --git a/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump.cpp b/src/3rdparty/phonon/mmf/objectdump.cpp
index 9add439..6b6b71e 100644
--- a/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump.cpp
+++ b/src/3rdparty/phonon/mmf/objectdump.cpp
@@ -16,6 +16,8 @@ along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
+#ifndef QT_NO_DEBUG
+
#include <QByteArray>
#include <QDebug>
#include <QHash>
@@ -523,5 +525,5 @@ void dumpAncestors(const QObject& leaf, QVisitor& visitor)
QT_END_NAMESPACE
-
+#endif
diff --git a/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump.h b/src/3rdparty/phonon/mmf/objectdump.h
index e94b3ac..e94b3ac 100644
--- a/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump.h
+++ b/src/3rdparty/phonon/mmf/objectdump.h
diff --git a/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump_global.h b/src/3rdparty/phonon/mmf/objectdump_global.h
index b8987e0..b8987e0 100644
--- a/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump_global.h
+++ b/src/3rdparty/phonon/mmf/objectdump_global.h
diff --git a/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump_symbian.cpp b/src/3rdparty/phonon/mmf/objectdump_symbian.cpp
index 03220a7..41dd240 100644
--- a/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump_symbian.cpp
+++ b/src/3rdparty/phonon/mmf/objectdump_symbian.cpp
@@ -16,6 +16,8 @@ along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
+#ifndef QT_NO_DEBUG
+
#include <QTextStream>
#include <QWidget>
#include <coecntrl.h>
@@ -99,46 +101,39 @@ QList<QByteArray> QAnnotatorWindow::annotation(const QObject& object)
if (widget) {
const CCoeControl* control = widget->effectiveWinId();
- RDrawableWindow *window = 0;
-
- if (control && (window = control->DrawableWindow())) {
- QByteArray array;
- QTextStream stream(&array);
+ if (control) {
+ RDrawableWindow *const window = control->DrawableWindow();
+ if(window) {
+ QByteArray array;
+ QTextStream stream(&array);
- stream << "window: ";
+ stream << "window: ";
- // ClientHandle() is available first in 5.0.
-#if !defined(__SERIES60_31__) && !defined(__S60_32__)
- if (QSysInfo::s60Version() > QSysInfo::SV_S60_3_2)
- // Client-side window handle
+ // Server-side address of CWsWindow object
+ // This is useful for correlation with the window tree dumped by the window
+ // server (see RWsSession::LogCommand).
// Cast to a void pointer so that log output is in hexadecimal format.
- stream << "cli " << reinterpret_cast<const void*>(window->ClientHandle()) << ' ';
-#endif
+ stream << "srv " << reinterpret_cast<const void*>(window->WsHandle()) << ' ';
- // Server-side address of CWsWindow object
- // This is useful for correlation with the window tree dumped by the window
- // server (see RWsSession::LogCommand).
- // Cast to a void pointer so that log output is in hexadecimal format.
- stream << "srv " << reinterpret_cast<const void*>(window->WsHandle()) << ' ';
+ stream << "group " << window->WindowGroupId() << ' ';
- stream << "group " << window->WindowGroupId() << ' ';
-
- // Client-side handle to the parent window.
- // Cast to a void pointer so that log output is in hexadecimal format.
- stream << "parent " << reinterpret_cast<const void*>(window->Parent()) << ' ';
+ // Client-side handle to the parent window.
+ // Cast to a void pointer so that log output is in hexadecimal format.
+ stream << "parent " << reinterpret_cast<const void*>(window->Parent()) << ' ';
- stream << window->Position().iX << ',' << window->Position().iY << ' ';
- stream << '(' << window->AbsPosition().iX << ',' << window->AbsPosition().iY << ") ";
- stream << window->Size().iWidth << 'x' << window->Size().iHeight << ' ';
+ stream << window->Position().iX << ',' << window->Position().iY << ' ';
+ stream << '(' << window->AbsPosition().iX << ',' << window->AbsPosition().iY << ") ";
+ stream << window->Size().iWidth << 'x' << window->Size().iHeight << ' ';
- const TDisplayMode displayMode = window->DisplayMode();
- stream << "mode " << displayMode << ' ';
+ const TDisplayMode displayMode = window->DisplayMode();
+ stream << "mode " << displayMode << ' ';
- stream << "ord " << window->OrdinalPosition();
+ stream << "ord " << window->OrdinalPosition();
- stream.flush();
- result.append(array);
+ stream.flush();
+ result.append(array);
+ }
}
}
@@ -165,4 +160,5 @@ void addDefaultAnnotators_sys(QVisitor& visitor)
QT_END_NAMESPACE
+#endif
diff --git a/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump_symbian.h b/src/3rdparty/phonon/mmf/objectdump_symbian.h
index 563c862..563c862 100644
--- a/src/3rdparty/phonon/mmf/mmfphonondebug/objectdump_symbian.h
+++ b/src/3rdparty/phonon/mmf/objectdump_symbian.h
diff --git a/src/3rdparty/phonon/mmf/mmfphonondebug/objecttree.cpp b/src/3rdparty/phonon/mmf/objecttree.cpp
index bc61435..750db22 100644
--- a/src/3rdparty/phonon/mmf/mmfphonondebug/objecttree.cpp
+++ b/src/3rdparty/phonon/mmf/objecttree.cpp
@@ -16,6 +16,8 @@ along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
+#ifndef QT_NO_DEBUG
+
#include <QTextStream>
#include <QWidget>
#include "objecttree.h"
@@ -98,5 +100,5 @@ AncestorConstIterator::AncestorConstIterator(const QObject& leaf)
QT_END_NAMESPACE
-
+#endif
diff --git a/src/3rdparty/phonon/mmf/mmfphonondebug/objecttree.h b/src/3rdparty/phonon/mmf/objecttree.h
index 98bdf14..98bdf14 100644
--- a/src/3rdparty/phonon/mmf/mmfphonondebug/objecttree.h
+++ b/src/3rdparty/phonon/mmf/objecttree.h
diff --git a/src/3rdparty/phonon/mmf/videooutput.cpp b/src/3rdparty/phonon/mmf/videooutput.cpp
index 1b338a2..ddf30de 100644
--- a/src/3rdparty/phonon/mmf/videooutput.cpp
+++ b/src/3rdparty/phonon/mmf/videooutput.cpp
@@ -19,7 +19,6 @@ along with this library. If not, see <http://www.gnu.org/licenses/>.
#include "ancestormovemonitor.h"
#include "utils.h"
#include "videooutput.h"
-#include "videooutputobserver.h"
#ifndef QT_NO_DEBUG
#include "objectdump.h"
@@ -30,8 +29,11 @@ along with this library. If not, see <http://www.gnu.org/licenses/>.
#include <QMoveEvent>
#include <QResizeEvent>
+#include <QtCore/private/qcore_symbian_p.h> // for qt_TRect2QRect
#include <QtGui/private/qwidget_p.h> // to access QWExtra
+#include <coecntrl.h>
+
QT_BEGIN_NAMESPACE
using namespace Phonon;
@@ -42,6 +44,16 @@ using namespace Phonon::MMF;
*/
//-----------------------------------------------------------------------------
+// Constants
+//-----------------------------------------------------------------------------
+
+static const Phonon::VideoWidget::AspectRatio DefaultAspectRatio =
+ Phonon::VideoWidget::AspectRatioAuto;
+static const Phonon::VideoWidget::ScaleMode DefaultScaleMode =
+ Phonon::VideoWidget::FitInView;
+
+
+//-----------------------------------------------------------------------------
// Constructor / destructor
//-----------------------------------------------------------------------------
@@ -49,7 +61,8 @@ MMF::VideoOutput::VideoOutput
(AncestorMoveMonitor* ancestorMoveMonitor, QWidget* parent)
: QWidget(parent)
, m_ancestorMoveMonitor(ancestorMoveMonitor)
- , m_observer(0)
+ , m_aspectRatio(DefaultAspectRatio)
+ , m_scaleMode(DefaultScaleMode)
{
TRACE_CONTEXT(VideoOutput::VideoOutput, EVideoInternal);
TRACE_ENTRY("parent 0x%08x", parent);
@@ -66,6 +79,7 @@ MMF::VideoOutput::VideoOutput
// to be invisible when running on the target device.
qt_widget_private(this)->extraData()->disableBlit = true;
+ getVideoWindowRect();
registerForAncestorMoved();
dump();
@@ -83,33 +97,35 @@ MMF::VideoOutput::~VideoOutput()
TRACE_EXIT_0();
}
-void MMF::VideoOutput::setFrameSize(const QSize& frameSize)
+void MMF::VideoOutput::setVideoSize(const QSize& frameSize)
{
- TRACE_CONTEXT(VideoOutput::setFrameSize, EVideoInternal);
+ TRACE_CONTEXT(VideoOutput::setVideoSize, EVideoInternal);
TRACE("oldSize %d %d newSize %d %d",
- m_frameSize.width(), m_frameSize.height(),
+ m_videoFrameSize.width(), m_videoFrameSize.height(),
frameSize.width(), frameSize.height());
- if (frameSize != m_frameSize) {
- m_frameSize = frameSize;
+ if (frameSize != m_videoFrameSize) {
+ m_videoFrameSize = frameSize;
updateGeometry();
}
}
-void MMF::VideoOutput::setObserver(VideoOutputObserver* observer)
-{
- TRACE_CONTEXT(VideoOutput::setObserver, EVideoInternal);
- TRACE("observer 0x%08x", observer);
-
- m_observer = observer;
-}
-
void MMF::VideoOutput::ancestorMoved()
{
TRACE_CONTEXT(VideoOutput::ancestorMoved, EVideoInternal);
TRACE_ENTRY_0();
- videoOutputRegionChanged();
+ RWindowBase *const window = videoWindow();
+
+ if(window) {
+ const TPoint newWindowPosSymbian = window->AbsPosition();
+ const QPoint newWindowPos(newWindowPosSymbian.iX, newWindowPosSymbian.iY);
+
+ if(newWindowPos != m_videoWindowRect.topLeft()) {
+ m_videoWindowRect.moveTo(newWindowPos);
+ emit videoWindowChanged();
+ }
+ }
TRACE_EXIT_0();
}
@@ -123,9 +139,8 @@ QSize MMF::VideoOutput::sizeHint() const
// TODO: replace this with a more sensible default
QSize result(320, 240);
- if (!m_frameSize.isNull()) {
- result = m_frameSize;
- }
+ if (!m_videoFrameSize.isNull())
+ result = m_videoFrameSize;
return result;
}
@@ -149,7 +164,10 @@ void MMF::VideoOutput::resizeEvent(QResizeEvent* event)
event->oldSize().width(), event->oldSize().height(),
event->size().width(), event->size().height());
- videoOutputRegionChanged();
+ if(event->size() != event->oldSize()) {
+ m_videoWindowRect.setSize(event->size());
+ emit videoWindowChanged();
+ }
}
void MMF::VideoOutput::moveEvent(QMoveEvent* event)
@@ -159,7 +177,10 @@ void MMF::VideoOutput::moveEvent(QMoveEvent* event)
event->oldPos().x(), event->oldPos().y(),
event->pos().x(), event->pos().y());
- videoOutputRegionChanged();
+ if(event->pos() != event->oldPos()) {
+ m_videoWindowRect.moveTo(event->pos());
+ emit videoWindowChanged();
+ }
}
bool MMF::VideoOutput::event(QEvent* event)
@@ -168,7 +189,8 @@ bool MMF::VideoOutput::event(QEvent* event)
if (event->type() == QEvent::WinIdChange) {
TRACE_0("WinIdChange");
- videoOutputRegionChanged();
+ getVideoWindowRect();
+ emit videoWindowChanged();
return true;
} else if (event->type() == QEvent::ParentChange) {
// Tell ancestor move monitor to update ancestor list for this widget
@@ -180,14 +202,66 @@ bool MMF::VideoOutput::event(QEvent* event)
//-----------------------------------------------------------------------------
+// Public functions
+//-----------------------------------------------------------------------------
+
+RWindowBase* MMF::VideoOutput::videoWindow()
+{
+ CCoeControl *control = internalWinId();
+ if(!control)
+ control = effectiveWinId();
+
+ RWindowBase *window = 0;
+ if(control)
+ window = control->DrawableWindow();
+
+ return window;
+}
+
+const QRect& MMF::VideoOutput::videoWindowRect() const
+{
+ return m_videoWindowRect;
+}
+
+Phonon::VideoWidget::AspectRatio MMF::VideoOutput::aspectRatio() const
+{
+ return m_aspectRatio;
+}
+
+void MMF::VideoOutput::setAspectRatio
+ (Phonon::VideoWidget::AspectRatio aspectRatio)
+{
+ if(m_aspectRatio != aspectRatio) {
+ m_aspectRatio = aspectRatio;
+ emit aspectRatioChanged();
+ }
+}
+
+Phonon::VideoWidget::ScaleMode MMF::VideoOutput::scaleMode() const
+{
+ return m_scaleMode;
+}
+
+void MMF::VideoOutput::setScaleMode
+ (Phonon::VideoWidget::ScaleMode scaleMode)
+{
+ if(m_scaleMode != scaleMode) {
+ m_scaleMode = scaleMode;
+ emit scaleModeChanged();
+ }
+}
+
+
+//-----------------------------------------------------------------------------
// Private functions
//-----------------------------------------------------------------------------
-void MMF::VideoOutput::videoOutputRegionChanged()
+void MMF::VideoOutput::getVideoWindowRect()
{
- dump();
- if (m_observer)
- m_observer->videoOutputRegionChanged();
+ RWindowBase *const window = videoWindow();
+ if(window)
+ m_videoWindowRect =
+ qt_TRect2QRect(TRect(window->AbsPosition(), window->Size()));
}
void MMF::VideoOutput::registerForAncestorMoved()
@@ -199,15 +273,20 @@ void MMF::VideoOutput::dump() const
{
#ifndef QT_NO_DEBUG
TRACE_CONTEXT(VideoOutput::dump, EVideoInternal);
+
QScopedPointer<ObjectDump::QVisitor> visitor(new ObjectDump::QVisitor);
visitor->setPrefix("Phonon::MMF"); // to aid searchability of logs
ObjectDump::addDefaultAnnotators(*visitor);
TRACE("Dumping tree from leaf 0x%08x:", this);
- //ObjectDump::dumpAncestors(*this, *visitor);
ObjectDump::dumpTreeFromLeaf(*this, *visitor);
+
+ QScopedPointer<ObjectDump::QDumper> dumper(new ObjectDump::QDumper);
+ dumper->setPrefix("Phonon::MMF"); // to aid searchability of logs
+ ObjectDump::addDefaultAnnotators(*dumper);
+ TRACE_0("Dumping VideoOutput:");
+ dumper->dumpObject(*this);
#endif
}
-
QT_END_NAMESPACE
diff --git a/src/3rdparty/phonon/mmf/videooutput.h b/src/3rdparty/phonon/mmf/videooutput.h
index db4d127..6dfe69d 100644
--- a/src/3rdparty/phonon/mmf/videooutput.h
+++ b/src/3rdparty/phonon/mmf/videooutput.h
@@ -24,6 +24,11 @@ along with this library. If not, see <http://www.gnu.org/licenses/>.
#include <QRect>
#include "defs.h"
+#include <Phonon/VideoWidget>
+
+#include <e32std.h>
+class RWindowBase;
+
QT_BEGIN_NAMESPACE
namespace Phonon
@@ -31,7 +36,6 @@ namespace Phonon
namespace MMF
{
class AncestorMoveMonitor;
-class VideoOutputObserver;
class VideoOutput : public QWidget
{
@@ -41,11 +45,29 @@ public:
VideoOutput(AncestorMoveMonitor* ancestorMoveMonitor, QWidget* parent);
~VideoOutput();
- void setFrameSize(const QSize& size);
- void setObserver(VideoOutputObserver* observer);
+ // Set size of video frame. Called by VideoPlayer.
+ void setVideoSize(const QSize& size);
+
+ RWindowBase* videoWindow();
+ const QRect& videoWindowRect() const;
+ Phonon::VideoWidget::AspectRatio aspectRatio() const;
+ void setAspectRatio(Phonon::VideoWidget::AspectRatio aspectRatio);
+
+ Phonon::VideoWidget::ScaleMode scaleMode() const;
+ void setScaleMode(Phonon::VideoWidget::ScaleMode scaleMode);
+
+ // Called by AncestorMoveMonitor
void ancestorMoved();
+ // Debugging output
+ void dump() const;
+
+Q_SIGNALS:
+ void videoWindowChanged();
+ void aspectRatioChanged();
+ void scaleModeChanged();
+
protected:
// Override QWidget functions
QSize sizeHint() const;
@@ -55,19 +77,18 @@ protected:
bool event(QEvent* event);
private:
- void dump() const;
- void videoOutputRegionChanged();
-
+ void getVideoWindowRect();
void registerForAncestorMoved();
private:
// Not owned
AncestorMoveMonitor* m_ancestorMoveMonitor;
- // Not owned
- VideoOutputObserver* m_observer;
+ QSize m_videoFrameSize;
+ QRect m_videoWindowRect;
- QSize m_frameSize;
+ Phonon::VideoWidget::AspectRatio m_aspectRatio;
+ Phonon::VideoWidget::ScaleMode m_scaleMode;
};
}
diff --git a/src/3rdparty/phonon/mmf/videooutputobserver.h b/src/3rdparty/phonon/mmf/videooutputobserver.h
deleted file mode 100644
index e3ba305..0000000
--- a/src/3rdparty/phonon/mmf/videooutputobserver.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/* This file is part of the KDE project.
-
-Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-
-This library is free software: you can redistribute it and/or modify
-it under the terms of the GNU Lesser General Public License as published by
-the Free Software Foundation, either version 2.1 or 3 of the License.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU Lesser General Public License for more details.
-
-You should have received a copy of the GNU Lesser General Public License
-along with this library. If not, see <http://www.gnu.org/licenses/>.
-
-*/
-
-#ifndef PHONON_MMF_VIDEOOUTPUTOBSERVER_H
-#define PHONON_MMF_VIDEOOUTPUTOBSERVER_H
-
-#include <QtGlobal>
-
-QT_BEGIN_NAMESPACE
-
-namespace Phonon
-{
-namespace MMF
-{
-/**
- * Interface via which VideoOutput notifies VideoPlayer of changes to the
- * video output screen region.
- */
-class VideoOutputObserver
-{
-public:
- virtual void videoOutputRegionChanged() = 0;
-};
-}
-}
-
-QT_END_NAMESPACE
-
-#endif
diff --git a/src/3rdparty/phonon/mmf/videowidget.cpp b/src/3rdparty/phonon/mmf/videowidget.cpp
index 7d7abf1..bd22307 100644
--- a/src/3rdparty/phonon/mmf/videowidget.cpp
+++ b/src/3rdparty/phonon/mmf/videowidget.cpp
@@ -35,11 +35,7 @@ using namespace Phonon::MMF;
// Constants
//-----------------------------------------------------------------------------
-static const Phonon::VideoWidget::AspectRatio DefaultAspectRatio =
- Phonon::VideoWidget::AspectRatioAuto;
static const qreal DefaultBrightness = 1.0;
-static const Phonon::VideoWidget::ScaleMode DefaultScaleMode =
- Phonon::VideoWidget::FitInView;
static const qreal DefaultContrast = 1.0;
static const qreal DefaultHue = 1.0;
static const qreal DefaultSaturation = 1.0;
@@ -52,10 +48,8 @@ static const qreal DefaultSaturation = 1.0;
MMF::VideoWidget::VideoWidget
(AncestorMoveMonitor* ancestorMoveMonitor, QWidget* parent)
: MediaNode(parent)
- , m_widget(new VideoOutput(ancestorMoveMonitor, parent))
- , m_aspectRatio(DefaultAspectRatio)
+ , m_videoOutput(new VideoOutput(ancestorMoveMonitor, parent))
, m_brightness(DefaultBrightness)
- , m_scaleMode(DefaultScaleMode)
, m_contrast(DefaultContrast)
, m_hue(DefaultHue)
, m_saturation(DefaultSaturation)
@@ -81,7 +75,7 @@ MMF::VideoWidget::~VideoWidget()
Phonon::VideoWidget::AspectRatio MMF::VideoWidget::aspectRatio() const
{
- return m_aspectRatio;
+ return m_videoOutput->aspectRatio();
}
void MMF::VideoWidget::setAspectRatio
@@ -90,7 +84,7 @@ void MMF::VideoWidget::setAspectRatio
TRACE_CONTEXT(VideoWidget::setAspectRatio, EVideoApi);
TRACE("aspectRatio %d", aspectRatio);
- m_aspectRatio = aspectRatio;
+ m_videoOutput->setAspectRatio(aspectRatio);
}
qreal MMF::VideoWidget::brightness() const
@@ -108,7 +102,7 @@ void MMF::VideoWidget::setBrightness(qreal brightness)
Phonon::VideoWidget::ScaleMode MMF::VideoWidget::scaleMode() const
{
- return m_scaleMode;
+ return m_videoOutput->scaleMode();
}
void MMF::VideoWidget::setScaleMode(Phonon::VideoWidget::ScaleMode scaleMode)
@@ -116,7 +110,7 @@ void MMF::VideoWidget::setScaleMode(Phonon::VideoWidget::ScaleMode scaleMode)
TRACE_CONTEXT(VideoWidget::setScaleMode, EVideoApi);
TRACE("setScaleMode %d", setScaleMode);
- m_scaleMode = scaleMode;
+ m_videoOutput->setScaleMode(scaleMode);
}
qreal MMF::VideoWidget::contrast() const
@@ -160,17 +154,12 @@ void MMF::VideoWidget::setSaturation(qreal saturation)
QWidget* MMF::VideoWidget::widget()
{
- return m_widget.data();
-}
-
-VideoOutput& MMF::VideoWidget::videoOutput()
-{
- return *static_cast<VideoOutput*>(widget());
+ return m_videoOutput.data();
}
bool MMF::VideoWidget::activateOnMediaObject(MediaObject *mo)
{
- mo->setVideoOutput(&videoOutput());
+ mo->setVideoOutput(m_videoOutput.data());
return true;
}
diff --git a/src/3rdparty/phonon/mmf/videowidget.h b/src/3rdparty/phonon/mmf/videowidget.h
index 318dfae..2f0978b 100644
--- a/src/3rdparty/phonon/mmf/videowidget.h
+++ b/src/3rdparty/phonon/mmf/videowidget.h
@@ -20,6 +20,7 @@ along with this library. If not, see <http://www.gnu.org/licenses/>.
#define PHONON_MMF_VIDEOWIDGET_H
#include "mmf_medianode.h"
+#include "videooutput.h"
#include <QtGui/QWidget>
#include <Phonon/VideoWidget>
@@ -59,17 +60,13 @@ public:
virtual void setSaturation(qreal saturation);
virtual QWidget *widget();
- VideoOutput& videoOutput();
-
protected:
virtual bool activateOnMediaObject(MediaObject *mo);
private:
- QScopedPointer<QWidget> m_widget;
+ QScopedPointer<VideoOutput> m_videoOutput;
- Phonon::VideoWidget::AspectRatio m_aspectRatio;
qreal m_brightness;
- Phonon::VideoWidget::ScaleMode m_scaleMode;
qreal m_contrast;
qreal m_hue;
qreal m_saturation;
diff --git a/src/3rdparty/phonon/mmf/volumeobserver.h b/src/3rdparty/phonon/mmf/volumeobserver.h
deleted file mode 100644
index bedd3de..0000000
--- a/src/3rdparty/phonon/mmf/volumeobserver.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/* This file is part of the KDE project.
-
-Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-
-This library is free software: you can redistribute it and/or modify
-it under the terms of the GNU Lesser General Public License as published by
-the Free Software Foundation, either version 2.1 or 3 of the License.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU Lesser General Public License for more details.
-
-You should have received a copy of the GNU Lesser General Public License
-along with this library. If not, see <http://www.gnu.org/licenses/>.
-
-*/
-
-#ifndef PHONON_MMF_VOLUMEOBSERVER_H
-#define PHONON_MMF_VOLUMEOBSERVER_H
-
-#include <QtGlobal>
-
-QT_BEGIN_NAMESPACE
-
-namespace Phonon
-{
-namespace MMF
-{
-/**
- * Interface used by AudioOutput to pass volume control commands
- * back along the audio path to the MediaObject.
- */
-class VolumeObserver
-{
-public:
- virtual void volumeChanged(qreal volume) = 0;
-};
-}
-}
-
-QT_END_NAMESPACE
-
-#endif
diff --git a/src/3rdparty/phonon/phonon/factory.cpp b/src/3rdparty/phonon/phonon/factory.cpp
index ab1f44f..9967c971 100644
--- a/src/3rdparty/phonon/phonon/factory.cpp
+++ b/src/3rdparty/phonon/phonon/factory.cpp
@@ -469,7 +469,7 @@ GET_STRING_PROPERTY(backendWebsite)
QObject *Factory::registerQObject(QObject *o)
{
if (o) {
- QObject::connect(o, SIGNAL(destroyed(QObject *)), globalFactory, SLOT(objectDestroyed(QObject *)), Qt::DirectConnection);
+ QObject::connect(o, SIGNAL(destroyed(QObject*)), globalFactory, SLOT(objectDestroyed(QObject*)), Qt::DirectConnection);
globalFactory->objects.append(o);
}
return o;
diff --git a/src/3rdparty/phonon/phonon/mediaobject.cpp b/src/3rdparty/phonon/phonon/mediaobject.cpp
index 13d303c..41e8dc2 100644
--- a/src/3rdparty/phonon/phonon/mediaobject.cpp
+++ b/src/3rdparty/phonon/phonon/mediaobject.cpp
@@ -453,9 +453,9 @@ void MediaObjectPrivate::setupBackendObject()
//pDebug() << Q_FUNC_INFO;
#ifndef QT_NO_PHONON_ABSTRACTMEDIASTREAM
- QObject::connect(m_backendObject, SIGNAL(stateChanged(Phonon::State, Phonon::State)), q, SLOT(_k_stateChanged(Phonon::State, Phonon::State)));
+ QObject::connect(m_backendObject, SIGNAL(stateChanged(Phonon::State,Phonon::State)), q, SLOT(_k_stateChanged(Phonon::State,Phonon::State)));
#else
- QObject::connect(m_backendObject, SIGNAL(stateChanged(Phonon::State, Phonon::State)), q, SIGNAL(stateChanged(Phonon::State, Phonon::State)));
+ QObject::connect(m_backendObject, SIGNAL(stateChanged(Phonon::State,Phonon::State)), q, SIGNAL(stateChanged(Phonon::State,Phonon::State)));
#endif // QT_NO_PHONON_ABSTRACTMEDIASTREAM
QObject::connect(m_backendObject, SIGNAL(tick(qint64)), q, SIGNAL(tick(qint64)));
QObject::connect(m_backendObject, SIGNAL(seekableChanged(bool)), q, SIGNAL(seekableChanged(bool)));
@@ -467,10 +467,10 @@ void MediaObjectPrivate::setupBackendObject()
QObject::connect(m_backendObject, SIGNAL(aboutToFinish()), q, SLOT(_k_aboutToFinish()));
QObject::connect(m_backendObject, SIGNAL(prefinishMarkReached(qint32)), q, SIGNAL(prefinishMarkReached(qint32)));
QObject::connect(m_backendObject, SIGNAL(totalTimeChanged(qint64)), q, SIGNAL(totalTimeChanged(qint64)));
- QObject::connect(m_backendObject, SIGNAL(metaDataChanged(const QMultiMap<QString, QString> &)),
- q, SLOT(_k_metaDataChanged(const QMultiMap<QString, QString> &)));
- QObject::connect(m_backendObject, SIGNAL(currentSourceChanged(const MediaSource&)),
- q, SLOT(_k_currentSourceChanged(const MediaSource&)));
+ QObject::connect(m_backendObject, SIGNAL(metaDataChanged(QMultiMap<QString,QString>)),
+ q, SLOT(_k_metaDataChanged(QMultiMap<QString,QString>)));
+ QObject::connect(m_backendObject, SIGNAL(currentSourceChanged(MediaSource)),
+ q, SLOT(_k_currentSourceChanged(MediaSource)));
// set up attributes
pINTERFACE_CALL(setTickInterval(tickInterval));
diff --git a/src/3rdparty/phonon/phonon/seekslider.cpp b/src/3rdparty/phonon/phonon/seekslider.cpp
index b5b25f0..41baf2d 100644
--- a/src/3rdparty/phonon/phonon/seekslider.cpp
+++ b/src/3rdparty/phonon/phonon/seekslider.cpp
@@ -72,12 +72,12 @@ void SeekSlider::setMediaObject(MediaObject *media)
d->media = media;
if (media) {
- connect(media, SIGNAL(stateChanged(Phonon::State, Phonon::State)),
+ connect(media, SIGNAL(stateChanged(Phonon::State,Phonon::State)),
SLOT(_k_stateChanged(Phonon::State)));
connect(media, SIGNAL(totalTimeChanged(qint64)), SLOT(_k_length(qint64)));
connect(media, SIGNAL(tick(qint64)), SLOT(_k_tick(qint64)));
connect(media, SIGNAL(seekableChanged(bool)), SLOT(_k_seekableChanged(bool)));
- connect(media, SIGNAL(currentSourceChanged(const Phonon::MediaSource&)), SLOT(_k_currentSourceChanged()));
+ connect(media, SIGNAL(currentSourceChanged(Phonon::MediaSource)), SLOT(_k_currentSourceChanged()));
d->_k_stateChanged(media->state());
d->_k_seekableChanged(media->isSeekable());
d->_k_length(media->totalTime());
diff --git a/src/3rdparty/phonon/waveout/mediaobject.cpp b/src/3rdparty/phonon/waveout/mediaobject.cpp
index 35d9e0b..db71942 100644
--- a/src/3rdparty/phonon/waveout/mediaobject.cpp
+++ b/src/3rdparty/phonon/waveout/mediaobject.cpp
@@ -247,7 +247,7 @@ namespace Phonon
m_stopped(0)
{
m_thread = new WorkerThread();
- connect(this, SIGNAL(outOfData(QIODevice*, QByteArray*, bool*)), m_thread, SLOT(stream(QIODevice*, QByteArray*, bool*)));
+ connect(this, SIGNAL(outOfData(QIODevice*,QByteArray*,bool*)), m_thread, SLOT(stream(QIODevice*,QByteArray*,bool*)));
m_thread->start();
m_soundBuffer1.waveHeader = new WAVEHDR;
m_soundBuffer2.waveHeader = new WAVEHDR;
@@ -258,7 +258,7 @@ namespace Phonon
MediaObject::~MediaObject()
{
stop();
- disconnect(this, SIGNAL(outOfData(QIODevice*, QByteArray*, bool*)), m_thread, SLOT(stream(QIODevice*, QByteArray*, bool*)));
+ disconnect(this, SIGNAL(outOfData(QIODevice*,QByteArray*,bool*)), m_thread, SLOT(stream(QIODevice*,QByteArray*,bool*)));
do { //The event loop of m_thread might not be started, yet
m_thread->quit(); //If the event loop is not started yet quit() does nothing
m_thread->wait(100);
diff --git a/src/3rdparty/webkit/JavaScriptCore/ChangeLog b/src/3rdparty/webkit/JavaScriptCore/ChangeLog
index 0cbb3a5..304f9ef 100644
--- a/src/3rdparty/webkit/JavaScriptCore/ChangeLog
+++ b/src/3rdparty/webkit/JavaScriptCore/ChangeLog
@@ -1,3 +1,15 @@
+2009-11-18 Harald Fernengel <harald.fernengel@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix detection of linux-g++
+
+ Never use "linux-g++*" to check for linux-g++, since this will break embedded
+ builds which use linux-arm-g++ and friends. Use 'linux*-g++*' to check for any
+ g++ on linux mkspec.
+
+ * JavaScriptCore.pri:
+
2009-11-16 Joerg Bornemann <joerg.bornemann@trolltech.com>
Reviewed by Simon Hausmann.
diff --git a/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri b/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri
index 8bd4225..bb531e5 100644
--- a/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri
+++ b/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri
@@ -54,7 +54,7 @@ win32-* {
# Rules when JIT enabled (not disabled)
!contains(DEFINES, ENABLE_JIT=0) {
- linux-g++*:greaterThan(QT_GCC_MAJOR_VERSION,3):greaterThan(QT_GCC_MINOR_VERSION,0) {
+ linux*-g++*:greaterThan(QT_GCC_MAJOR_VERSION,3):greaterThan(QT_GCC_MINOR_VERSION,0) {
QMAKE_CXXFLAGS += -fno-stack-protector
QMAKE_CFLAGS += -fno-stack-protector
}
diff --git a/src/3rdparty/webkit/VERSION b/src/3rdparty/webkit/VERSION
index 2653e83..f40dda4 100644
--- a/src/3rdparty/webkit/VERSION
+++ b/src/3rdparty/webkit/VERSION
@@ -8,4 +8,4 @@ The commit imported was from the
and has the sha1 checksum
- ca38203fba92cf48d59328403f64036907fd3433
+ 7bdf90f753d25fb1b5628b0980827df11110ad5a
diff --git a/src/3rdparty/webkit/WebCore/ChangeLog b/src/3rdparty/webkit/WebCore/ChangeLog
index abb372a..6daf411 100644
--- a/src/3rdparty/webkit/WebCore/ChangeLog
+++ b/src/3rdparty/webkit/WebCore/ChangeLog
@@ -1,3 +1,18 @@
+2009-11-18 Benjamin Poulain <benjamin.poulain@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] WebKit crashes when loading certain SVG images
+
+ Check if the familly exist before creating the PlatformData from it.
+
+ https://bugs.webkit.org/show_bug.cgi?id=29443
+
+ Test: svg/text/text-font-invalid.html
+
+ * platform/graphics/qt/FontFallbackListQt.cpp:
+ (WebCore::FontFallbackList::fontDataAt):
+
2009-11-14 Antonio Gomes <tonikitoo@webkit.org>
Reviewed by Antti Koivisto.
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontFallbackListQt.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontFallbackListQt.cpp
index 8e1e4f6..0306abf 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontFallbackListQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontFallbackListQt.cpp
@@ -102,7 +102,7 @@ const FontData* FontFallbackList::fontDataAt(const WebCore::Font* _font, unsigne
const FontDescription& description = _font->fontDescription();
const FontFamily* family = &description.family();
while (family) {
- if (m_fontSelector) {
+ if (family->family().length() && m_fontSelector) {
FontData* data = m_fontSelector->getFontData(description, family->family());
if (data) {
if (data->isLoading())
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/qt/MediaPlayerPrivatePhonon.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/qt/MediaPlayerPrivatePhonon.cpp
index f0d513c..9faa234 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/qt/MediaPlayerPrivatePhonon.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/qt/MediaPlayerPrivatePhonon.cpp
@@ -104,15 +104,15 @@ MediaPlayerPrivate::MediaPlayerPrivate(MediaPlayer* player)
foreach (QWidget* widget, qFindChildren<QWidget*>(m_videoWidget))
widget->installEventFilter(this);
- connect(m_mediaObject, SIGNAL(stateChanged(Phonon::State, Phonon::State)),
- this, SLOT(stateChanged(Phonon::State, Phonon::State)));
+ connect(m_mediaObject, SIGNAL(stateChanged(Phonon::State,Phonon::State)),
+ this, SLOT(stateChanged(Phonon::State,Phonon::State)));
connect(m_mediaObject, SIGNAL(metaDataChanged()), this, SLOT(metaDataChanged()));
connect(m_mediaObject, SIGNAL(seekableChanged(bool)), this, SLOT(seekableChanged(bool)));
connect(m_mediaObject, SIGNAL(hasVideoChanged(bool)), this, SLOT(hasVideoChanged(bool)));
connect(m_mediaObject, SIGNAL(bufferStatus(int)), this, SLOT(bufferStatus(int)));
connect(m_mediaObject, SIGNAL(finished()), this, SLOT(finished()));
- connect(m_mediaObject, SIGNAL(currentSourceChanged(const Phonon::MediaSource&)),
- this, SLOT(currentSourceChanged(const Phonon::MediaSource&)));
+ connect(m_mediaObject, SIGNAL(currentSourceChanged(Phonon::MediaSource)),
+ this, SLOT(currentSourceChanged(Phonon::MediaSource)));
connect(m_mediaObject, SIGNAL(aboutToFinish()), this, SLOT(aboutToFinish()));
connect(m_mediaObject, SIGNAL(totalTimeChanged(qint64)), this, SLOT(totalTimeChanged(qint64)));
}
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.cpp
index 640a924..ceb5ee1 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.cpp
@@ -419,22 +419,22 @@ void QGraphicsWebView::setPage(QWebPage* page)
QWebFrame* mainFrame = d->page->mainFrame();
- connect(mainFrame, SIGNAL(titleChanged(const QString&)),
- this, SIGNAL(titleChanged(const QString&)));
+ connect(mainFrame, SIGNAL(titleChanged(QString)),
+ this, SIGNAL(titleChanged(QString)));
connect(mainFrame, SIGNAL(iconChanged()),
this, SIGNAL(iconChanged()));
- connect(mainFrame, SIGNAL(urlChanged(const QUrl&)),
- this, SIGNAL(urlChanged(const QUrl&)));
+ connect(mainFrame, SIGNAL(urlChanged(QUrl)),
+ this, SIGNAL(urlChanged(QUrl)));
connect(d->page, SIGNAL(loadStarted()),
this, SIGNAL(loadStarted()));
connect(d->page, SIGNAL(loadProgress(int)),
this, SIGNAL(loadProgress(int)));
connect(d->page, SIGNAL(loadFinished(bool)),
this, SLOT(_q_doLoadFinished(bool)));
- connect(d->page, SIGNAL(statusBarMessage(const QString&)),
- this, SIGNAL(statusBarMessage(const QString&)));
- connect(d->page, SIGNAL(linkClicked(const QUrl &)),
- this, SIGNAL(linkClicked(const QUrl &)));
+ connect(d->page, SIGNAL(statusBarMessage(QString)),
+ this, SIGNAL(statusBarMessage(QString)));
+ connect(d->page, SIGNAL(linkClicked(QUrl)),
+ this, SIGNAL(linkClicked(QUrl)));
}
/*!
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp
index 8ee43a1..1d4b46f 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp
@@ -219,12 +219,12 @@ void QWebView::setPage(QWebPage* page)
d->page->setPalette(palette());
// #### connect signals
QWebFrame *mainFrame = d->page->mainFrame();
- connect(mainFrame, SIGNAL(titleChanged(const QString&)),
- this, SIGNAL(titleChanged(const QString&)));
+ connect(mainFrame, SIGNAL(titleChanged(QString)),
+ this, SIGNAL(titleChanged(QString)));
connect(mainFrame, SIGNAL(iconChanged()),
this, SIGNAL(iconChanged()));
- connect(mainFrame, SIGNAL(urlChanged(const QUrl &)),
- this, SIGNAL(urlChanged(const QUrl &)));
+ connect(mainFrame, SIGNAL(urlChanged(QUrl)),
+ this, SIGNAL(urlChanged(QUrl)));
connect(d->page, SIGNAL(loadStarted()),
this, SIGNAL(loadStarted()));
@@ -232,10 +232,10 @@ void QWebView::setPage(QWebPage* page)
this, SIGNAL(loadProgress(int)));
connect(d->page, SIGNAL(loadFinished(bool)),
this, SIGNAL(loadFinished(bool)));
- connect(d->page, SIGNAL(statusBarMessage(const QString &)),
- this, SIGNAL(statusBarMessage(const QString &)));
- connect(d->page, SIGNAL(linkClicked(const QUrl &)),
- this, SIGNAL(linkClicked(const QUrl &)));
+ connect(d->page, SIGNAL(statusBarMessage(QString)),
+ this, SIGNAL(statusBarMessage(QString)));
+ connect(d->page, SIGNAL(linkClicked(QUrl)),
+ this, SIGNAL(linkClicked(QUrl)));
connect(d->page, SIGNAL(microFocusChanged()),
this, SLOT(updateMicroFocus()));
diff --git a/src/3rdparty/webkit/WebKit/qt/ChangeLog b/src/3rdparty/webkit/WebKit/qt/ChangeLog
index 1294d66..457e9c2 100644
--- a/src/3rdparty/webkit/WebKit/qt/ChangeLog
+++ b/src/3rdparty/webkit/WebKit/qt/ChangeLog
@@ -1,3 +1,32 @@
+2009-11-18 Paul Olav Tvete <paul.tvete@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Make the QWebElement::render() test pass when pixmaps aren't 32 bit.
+
+ * tests/qwebelement/tst_qwebelement.cpp:
+ (tst_QWebElement::render):
+
+2009-11-18 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Clarify and simplify the legal section in the overview documentation,
+ after review with our legal team.
+
+ * docs/qtwebkit.qdoc:
+
+2009-11-18 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed and suggested by Tor Arne Vestbø.
+
+ Fix the autotest after commit ecbb2c0dd21bfc197e1f7b53150ec9b1a1d8cb8f
+ to compare the Qt::ImFont property's family against an explicitly
+ previously configured family.
+
+ * tests/qwebpage/tst_qwebpage.cpp:
+ (tst_QWebPage::inputMethods):
+
2009-11-16 Simon Hausmann <simon.hausmann@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
diff --git a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
index 9e13339..5cabca0 100644
--- a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
@@ -177,8 +177,8 @@ void FrameLoaderClientQt::setFrame(QWebFrame* webFrame, Frame* frame)
m_webFrame->page(), SIGNAL(loadFinished(bool)));
connect(this, SIGNAL(loadFinished(bool)),
m_webFrame, SIGNAL(loadFinished(bool)));
- connect(this, SIGNAL(titleChanged(const QString&)),
- m_webFrame, SIGNAL(titleChanged(const QString&)));
+ connect(this, SIGNAL(titleChanged(QString)),
+ m_webFrame, SIGNAL(titleChanged(QString)));
}
QWebFrame* FrameLoaderClientQt::webFrame() const
diff --git a/src/3rdparty/webkit/WebKit/qt/docs/qtwebkit.qdoc b/src/3rdparty/webkit/WebKit/qt/docs/qtwebkit.qdoc
index 09dfae5..411762a 100644
--- a/src/3rdparty/webkit/WebKit/qt/docs/qtwebkit.qdoc
+++ b/src/3rdparty/webkit/WebKit/qt/docs/qtwebkit.qdoc
@@ -25,13 +25,10 @@
Qt Commercial Edition licensees that wish to distribute applications that
use the QtWebKit module need to be aware of their obligations under the
- GNU Lesser General Public License (LGPL).
+ GNU Library General Public License (LGPL).
Developers using the Open Source Edition can choose to redistribute
- the module under the appropriate version of the GNU LGPL; version 2.1
- for applications and libraries licensed under the GNU GPL version 2,
- or version 3 for applications and libraries licensed under the GNU
- GPL version 2.
+ the module under the appropriate version of the GNU LGPL.
\legalese
WebKit is licensed under the GNU Library General Public License.
diff --git a/src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/qtwebkit_qwebinspector_snippet.cpp b/src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/qtwebkit_qwebinspector_snippet.cpp
index 0ba1cad..a6b6620 100644
--- a/src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/qtwebkit_qwebinspector_snippet.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/qtwebkit_qwebinspector_snippet.cpp
@@ -10,7 +10,7 @@ void wrapInFunction()
QWebInspector *inspector = new QWebInspector;
inspector->setPage(page);
- connect(page, SIGNAL(webInspectorTriggered(const QWebElement&)), inspector, SLOT(show()));
+ connect(page, SIGNAL(webInspectorTriggered(QWebElement)), inspector, SLOT(show()));
//! [0]
}
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp b/src/3rdparty/webkit/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp
index a04e661..e9dae18 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp
@@ -995,7 +995,7 @@ void tst_QWebElement::render()
QImage testImage(resource.width(), resource.height(), QImage::Format_ARGB32);
QPainter painter0(&testImage);
painter0.fillRect(imageRect, Qt::white);
- //render() uses pixmaps internally, and pixmaps might have bit depths
+ // render() uses pixmaps internally, and pixmaps might have bit depths
// other than 32, giving different pixel values due to rounding.
QPixmap pix = QPixmap::fromImage(resource);
painter0.drawPixmap(0, 0, pix);
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp b/src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp
index b00cf09..d88d905 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp
@@ -2291,7 +2291,7 @@ void tst_QWebFrame::requestedUrl()
qRegisterMetaType<QList<QSslError> >("QList<QSslError>");
qRegisterMetaType<QNetworkReply* >("QNetworkReply*");
- QSignalSpy spy2(page.networkAccessManager(), SIGNAL(sslErrors(QNetworkReply*, const QList<QSslError>&)));
+ QSignalSpy spy2(page.networkAccessManager(), SIGNAL(sslErrors(QNetworkReply*,QList<QSslError>)));
frame->setUrl(QUrl("qrc:/fake-ssl-error.html"));
QTest::qWait(200);
QCOMPARE(spy2.count(), 1);
@@ -2780,7 +2780,7 @@ void tst_QWebFrame::evaluateWillCauseRepaint()
view.page()->mainFrame()->evaluateJavaScript(
"document.getElementById('junk').style.display = 'none';");
- ::waitForSignal(view.page(), SIGNAL(repaintRequested( const QRect &)));
+ ::waitForSignal(view.page(), SIGNAL(repaintRequested(QRect)));
QTest::qWait(2000);
}
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp b/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp
index 7fc3640..32002e7 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp
@@ -448,7 +448,7 @@ void tst_QWebPage::modified()
m_page->mainFrame()->setUrl(QUrl("data:text/html,<body>This is fourth page"));
QVERIFY(m_page->history()->count() == 2);
m_page->mainFrame()->setUrl(QUrl("data:text/html,<body>This is fifth page"));
- QVERIFY(::waitForSignal(m_page, SIGNAL(saveFrameStateRequested(QWebFrame*, QWebHistoryItem*))));
+ QVERIFY(::waitForSignal(m_page, SIGNAL(saveFrameStateRequested(QWebFrame*,QWebHistoryItem*))));
}
void tst_QWebPage::contextMenuCrash()
@@ -484,7 +484,7 @@ void tst_QWebPage::database()
QFile::remove(dbFileName);
qRegisterMetaType<QWebFrame*>("QWebFrame*");
- QSignalSpy spy(m_page, SIGNAL(databaseQuotaExceeded(QWebFrame *, QString)));
+ QSignalSpy spy(m_page, SIGNAL(databaseQuotaExceeded(QWebFrame*,QString)));
m_view->setHtml(QString("<html><head><script>var db; db=openDatabase('testdb', '1.0', 'test database API', 50000); </script></head><body><div></div></body></html>"), QUrl("http://www.myexample.com"));
QTRY_COMPARE(spy.count(), 1);
m_page->mainFrame()->evaluateJavaScript("var db2; db2=openDatabase('testdb', '1.0', 'test database API', 50000);");
@@ -1371,6 +1371,7 @@ void tst_QWebPage::inputMethods()
else
QVERIFY2(false, "Unknown view type");
+ page->settings()->setFontFamily(QWebSettings::SerifFont, "FooSerifFont");
page->mainFrame()->setHtml("<html><body>" \
"<input type='text' id='input1' style='font-family: serif' value='' maxlength='20'/><br>" \
"<input type='password'/>" \
@@ -1404,9 +1405,9 @@ void tst_QWebPage::inputMethods()
QVERIFY(inputs.at(0).geometry().contains(variant.toRect().topLeft()));
//ImFont
- //variant = page->inputMethodQuery(Qt::ImFont);
- //QFont font = variant.value<QFont>();
- //QCOMPARE(QString("-webkit-serif"), font.family());
+ variant = page->inputMethodQuery(Qt::ImFont);
+ QFont font = variant.value<QFont>();
+ QCOMPARE(page->settings()->fontFamily(QWebSettings::SerifFont), font.family());
QList<QInputMethodEvent::Attribute> inputAttributes;
diff --git a/src/corelib/global/global.pri b/src/corelib/global/global.pri
index 0fe757d..b916b4d 100644
--- a/src/corelib/global/global.pri
+++ b/src/corelib/global/global.pri
@@ -19,7 +19,7 @@ INCLUDEPATH += $$QT_BUILD_TREE/src/corelib/global
# Only used on platforms with CONFIG += precompile_header
PRECOMPILED_HEADER = global/qt_pch.h
-linux-g++*:!static {
+linux*-g++*:!static {
QMAKE_LFLAGS += -Wl,-e,qt_core_boilerplate
prog=$$quote(if (/program interpreter: (.*)]/) { print $1; })
DEFINES += ELF_INTERPRETER=\\\"$$system(readelf -l /bin/ls | perl -n -e \'$$prog\')\\\"
diff --git a/src/corelib/global/qfeatures.h b/src/corelib/global/qfeatures.h
index 77785e8..1c52d4c 100644
--- a/src/corelib/global/qfeatures.h
+++ b/src/corelib/global/qfeatures.h
@@ -217,6 +217,9 @@
// Session Manager
//#define QT_NO_SESSIONMANAGER
+// QSettings
+//#define QT_NO_SETTINGS
+
// QSharedMemory
//#define QT_NO_SHAREDMEMORY
@@ -352,6 +355,11 @@
#define QT_NO_IMAGEFORMAT_XPM
#endif
+// QLibrary
+#if !defined(QT_NO_LIBRARY) && (defined(QT_NO_SETTINGS))
+#define QT_NO_LIBRARY
+#endif
+
// QMenu
#if !defined(QT_NO_MENU) && (defined(QT_NO_ACTION))
#define QT_NO_MENU
@@ -367,6 +375,11 @@
#define QT_NO_PHONON_SEEKSLIDER
#endif
+// Phonon::AbstractMediaStream
+#if !defined(QT_NO_PHONON_SETTINGSGROUP) && (defined(QT_NO_SETTINGS))
+#define QT_NO_PHONON_SETTINGSGROUP
+#endif
+
// Phonon::VideoPlayer
#if !defined(QT_NO_PHONON_VIDEOPLAYER) && (defined(QT_NO_PHONON_VIDEO))
#define QT_NO_PHONON_VIDEOPLAYER
@@ -422,11 +435,6 @@
#define QT_NO_SCROLLBAR
#endif
-// QSettings
-#if !defined(QT_NO_SETTINGS) && (defined(QT_NO_TEXTSTREAM))
-#define QT_NO_SETTINGS
-#endif
-
// SOCKS5
#if !defined(QT_NO_SOCKS5) && (defined(QT_NO_NETWORKPROXY))
#define QT_NO_SOCKS5
@@ -507,14 +515,14 @@
#define QT_NO_HTTP
#endif
-// QLibrary
-#if !defined(QT_NO_LIBRARY) && (defined(QT_NO_SETTINGS))
-#define QT_NO_LIBRARY
+// QInputContext
+#if !defined(QT_NO_IM) && (defined(QT_NO_LIBRARY))
+#define QT_NO_IM
#endif
-// Phonon::AbstractMediaStream
-#if !defined(QT_NO_PHONON_SETTINGSGROUP) && (defined(QT_NO_SETTINGS))
-#define QT_NO_PHONON_SETTINGSGROUP
+// Phonon::PlatformPlugin
+#if !defined(QT_NO_PHONON_PLATFORMPLUGIN) && (defined(QT_NO_LIBRARY))
+#define QT_NO_PHONON_PLATFORMPLUGIN
#endif
// QScrollArea
@@ -562,21 +570,11 @@
#define QT_NO_GRAPHICSVIEW
#endif
-// QInputContext
-#if !defined(QT_NO_IM) && (defined(QT_NO_LIBRARY))
-#define QT_NO_IM
-#endif
-
// QMdiArea
#if !defined(QT_NO_MDIAREA) && (defined(QT_NO_SCROLLAREA))
#define QT_NO_MDIAREA
#endif
-// Phonon::PlatformPlugin
-#if !defined(QT_NO_PHONON_PLATFORMPLUGIN) && (defined(QT_NO_LIBRARY))
-#define QT_NO_PHONON_PLATFORMPLUGIN
-#endif
-
// Phonon::VolumeSlider
#if !defined(QT_NO_PHONON_VOLUMESLIDER) && (defined(QT_NO_SLIDER) || defined(QT_NO_TOOLBUTTON))
#define QT_NO_PHONON_VOLUMESLIDER
@@ -587,6 +585,11 @@
#define QT_NO_PRINTER
#endif
+// QWSInputMethod
+#if !defined(QT_NO_QWS_INPUTMETHODS) && (defined(QT_NO_IM))
+#define QT_NO_QWS_INPUTMETHODS
+#endif
+
// QSpinBox
#if !defined(QT_NO_SPINBOX) && (defined(QT_NO_SPINWIDGET) || defined(QT_NO_LINEEDIT) || defined(QT_NO_VALIDATOR))
#define QT_NO_SPINBOX
@@ -627,6 +630,11 @@
#define QT_NO_TABDIALOG
#endif
+// QTextCodecPlugin
+#if !defined(QT_NO_TEXTCODECPLUGIN) && (defined(QT_NO_TEXTCODEC) || defined(QT_NO_LIBRARY))
+#define QT_NO_TEXTCODECPLUGIN
+#endif
+
// QColorDialog
#if !defined(QT_NO_COLORDIALOG) && (defined(QT_NO_SPINBOX))
#define QT_NO_COLORDIALOG
@@ -647,11 +655,6 @@
#define QT_NO_MENUBAR
#endif
-// QWSInputMethod
-#if !defined(QT_NO_QWS_INPUTMETHODS) && (defined(QT_NO_IM))
-#define QT_NO_QWS_INPUTMETHODS
-#endif
-
// Sound Server
#if !defined(QT_NO_QWS_SOUNDSERVER) && (defined(QT_NO_SOUND) || defined(QT_NO_HOSTINFO) || defined(QT_NO_QWS_MULTIPROCESS))
#define QT_NO_QWS_SOUNDSERVER
@@ -672,11 +675,6 @@
#define QT_NO_TABWIDGET
#endif
-// QTextCodecPlugin
-#if !defined(QT_NO_TEXTCODECPLUGIN) && (defined(QT_NO_TEXTCODEC) || defined(QT_NO_LIBRARY))
-#define QT_NO_TEXTCODECPLUGIN
-#endif
-
// QTextEdit
#if !defined(QT_NO_TEXTEDIT) && (defined(QT_NO_SCROLLAREA) || defined(QT_NO_PROPERTIES))
#define QT_NO_TEXTEDIT
@@ -757,6 +755,11 @@
#define QT_NO_COMPLETER
#endif
+// Common UNIX Printing System
+#if !defined(QT_NO_CUPS) && (defined(QT_NO_PRINTER) || defined(QT_NO_LIBRARY))
+#define QT_NO_CUPS
+#endif
+
// QDataWidgetMapper
#if !defined(QT_NO_DATAWIDGETMAPPER) && (defined(QT_NO_ITEMVIEWS) || defined(QT_NO_PROPERTIES))
#define QT_NO_DATAWIDGETMAPPER
@@ -787,11 +790,6 @@
#define QT_NO_TREEWIDGET
#endif
-// Common UNIX Printing System
-#if !defined(QT_NO_CUPS) && (defined(QT_NO_PRINTER) || defined(QT_NO_LIBRARY))
-#define QT_NO_CUPS
-#endif
-
// QDirModel
#if !defined(QT_NO_DIRMODEL) && (defined(QT_NO_ITEMVIEWS) || defined(QT_NO_FILESYSTEMMODEL))
#define QT_NO_DIRMODEL
diff --git a/src/corelib/global/qfeatures.txt b/src/corelib/global/qfeatures.txt
index ec4945f..251391e 100644
--- a/src/corelib/global/qfeatures.txt
+++ b/src/corelib/global/qfeatures.txt
@@ -216,7 +216,7 @@ SeeAlso: ???
Feature: SETTINGS
Description: Supports persistent application settings.
Section: File I/O
-Requires: TEXTSTREAM
+Requires:
Name: QSettings
SeeAlso: ???
diff --git a/src/corelib/global/qglobal.h b/src/corelib/global/qglobal.h
index 9558256..2e9f839 100644
--- a/src/corelib/global/qglobal.h
+++ b/src/corelib/global/qglobal.h
@@ -910,6 +910,8 @@ QT_END_INCLUDE_NAMESPACE
/* Symbian OS defines TRUE = 1 and FALSE = 0,
redefine to built-in booleans to make autotests work properly */
#ifdef Q_OS_SYMBIAN
+ #include <e32def.h> /* Symbian OS defines */
+
#undef TRUE
#undef FALSE
#endif
diff --git a/src/corelib/global/qlibraryinfo.cpp b/src/corelib/global/qlibraryinfo.cpp
index 15325ae..77a86bb 100644
--- a/src/corelib/global/qlibraryinfo.cpp
+++ b/src/corelib/global/qlibraryinfo.cpp
@@ -46,7 +46,11 @@
#include "qlibraryinfo.h"
#include "qscopedpointer.h"
-#ifdef QT_BUILD_QMAKE
+#if defined(QT_BUILD_QMAKE) || defined(QT_BOOTSTRAPPED)
+# define BOOTSTRAPPING
+#endif
+
+#ifdef BOOTSTRAPPING
QT_BEGIN_NAMESPACE
extern QString qmake_libraryInfoFile();
QT_END_NAMESPACE
@@ -91,7 +95,7 @@ public:
QLibrarySettings::QLibrarySettings()
: settings(QLibraryInfoPrivate::findConfiguration())
{
-#ifndef QT_BUILD_QMAKE
+#ifndef BOOTSTRAPPING
qAddPostRoutine(QLibraryInfoPrivate::cleanup);
#endif
}
@@ -99,7 +103,7 @@ QLibrarySettings::QLibrarySettings()
QSettings *QLibraryInfoPrivate::findConfiguration()
{
QString qtconfig = QLatin1String(":/qt/etc/qt.conf");
-#ifdef QT_BUILD_QMAKE
+#ifdef BOOTSTRAPPING
if(!QFile::exists(qtconfig))
qtconfig = qmake_libraryInfoFile();
#else
@@ -425,7 +429,7 @@ QLibraryInfo::location(LibraryLocation loc)
if (QDir::isRelativePath(ret)) {
if (loc == PrefixPath) {
// we make the prefix path absolute to the executable's directory
-#ifdef QT_BUILD_QMAKE
+#ifdef BOOTSTRAPPING
return QFileInfo(qmake_libraryInfoFile()).absolutePath();
#else
if (QCoreApplication::instance()) {
diff --git a/src/corelib/io/qdatastream.cpp b/src/corelib/io/qdatastream.cpp
index 19e86a6..b10d603 100644
--- a/src/corelib/io/qdatastream.cpp
+++ b/src/corelib/io/qdatastream.cpp
@@ -42,7 +42,7 @@
#include "qdatastream.h"
#include "qdatastream_p.h"
-#ifndef QT_NO_DATASTREAM
+#if !defined(QT_NO_DATASTREAM) || defined(QT_BOOTSTRAPPED)
#include "qbuffer.h"
#include "qstring.h"
#include <stdio.h>
diff --git a/src/corelib/io/qdatastream.h b/src/corelib/io/qdatastream.h
index f61a59c..2e4e7c1 100644
--- a/src/corelib/io/qdatastream.h
+++ b/src/corelib/io/qdatastream.h
@@ -66,7 +66,7 @@ template <typename T> class QSet;
template <class Key, class T> class QHash;
template <class Key, class T> class QMap;
-#ifndef QT_NO_DATASTREAM
+#if !defined(QT_NO_DATASTREAM) || defined(QT_BOOTSTRAPPED)
class QDataStreamPrivate;
class Q_CORE_EXPORT QDataStream
{
diff --git a/src/corelib/io/qdatastream_p.h b/src/corelib/io/qdatastream_p.h
index 157fee9..98dd21f 100644
--- a/src/corelib/io/qdatastream_p.h
+++ b/src/corelib/io/qdatastream_p.h
@@ -57,7 +57,7 @@
QT_BEGIN_NAMESPACE
-#ifndef QT_NO_DATASTREAM
+#if !defined(QT_NO_DATASTREAM) || defined(QT_BOOTSTRAPPED)
class QDataStreamPrivate
{
public:
diff --git a/src/corelib/io/qfilesystemwatcher_win.cpp b/src/corelib/io/qfilesystemwatcher_win.cpp
index f3cc211..87fe630 100644
--- a/src/corelib/io/qfilesystemwatcher_win.cpp
+++ b/src/corelib/io/qfilesystemwatcher_win.cpp
@@ -201,10 +201,10 @@ QStringList QWindowsFileSystemWatcherEngine::addPaths(const QStringList &paths,
else
files->append(path);
- connect(thread, SIGNAL(fileChanged(const QString &, bool)),
- this, SIGNAL(fileChanged(const QString &, bool)));
- connect(thread, SIGNAL(directoryChanged(const QString &, bool)),
- this, SIGNAL(directoryChanged(const QString &, bool)));
+ connect(thread, SIGNAL(fileChanged(QString,bool)),
+ this, SIGNAL(fileChanged(QString,bool)));
+ connect(thread, SIGNAL(directoryChanged(QString,bool)),
+ this, SIGNAL(directoryChanged(QString,bool)));
thread->msg = '@';
thread->start();
diff --git a/src/corelib/io/qiodevice.cpp b/src/corelib/io/qiodevice.cpp
index e4e6a15..b84961f 100644
--- a/src/corelib/io/qiodevice.cpp
+++ b/src/corelib/io/qiodevice.cpp
@@ -1404,6 +1404,9 @@ bool QIODevicePrivate::putCharHelper(char c)
*/
bool QIODevice::getChar(char *c)
{
+ Q_D(QIODevice);
+ CHECK_READABLE(getChar, false);
+
char ch;
return (1 == read(c ? c : &ch, 1));
}
diff --git a/src/corelib/kernel/qsharedmemory_unix.cpp b/src/corelib/kernel/qsharedmemory_unix.cpp
index 40b9f04..a850df0 100644
--- a/src/corelib/kernel/qsharedmemory_unix.cpp
+++ b/src/corelib/kernel/qsharedmemory_unix.cpp
@@ -49,6 +49,7 @@
#include <errno.h>
+#ifndef QT_NO_SHAREDMEMORY
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
@@ -56,6 +57,7 @@
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
+#endif //QT_NO_SHAREDMEMORY
#include "private/qcore_unix_p.h"
diff --git a/src/corelib/kernel/qtcore_eval.cpp b/src/corelib/kernel/qtcore_eval.cpp
index fe47a30..d5eb8c2 100644
--- a/src/corelib/kernel/qtcore_eval.cpp
+++ b/src/corelib/kernel/qtcore_eval.cpp
@@ -88,23 +88,12 @@ static const char will_shutdown_now[] =
"timeout and will shut down.\n"
"Contact http://qt.nokia.com/about/contact-us for pricing and purchasing information.\n";
-static int qt_eval_days_left()
+static int qt_eval_is_supported()
{
const char *const license_key = qt_eval_key_data + 12;
// fast fail
if (!qt_eval_key_data[0] || !*license_key)
- return -2;
-
- QDate today = QDate::currentDate();
- QDate build = QLibraryInfo::buildDate();
- return qMax(-1, today.daysTo(build) + 30);
-}
-
-static int qt_eval_is_supported()
-{
- const char *const license_key = qt_eval_key_data + 12;
- if (!qt_eval_key_data[0] || !*license_key)
return -1;
// is this an unsupported evaluation?
@@ -123,6 +112,16 @@ static int qt_eval_is_supported()
return -1;
}
+static int qt_eval_days_left()
+{
+ if (qt_eval_is_supported() < 0)
+ return -2;
+
+ QDate today = QDate::currentDate();
+ QDate build = QLibraryInfo::buildDate();
+ return qMax(-1, today.daysTo(build) + 30);
+}
+
static QString qt_eval_string()
{
const char *msg;
@@ -178,6 +177,9 @@ public:
void qt_core_eval_init(uint type)
{
+ if (!type)
+ return; // GUI app
+
switch (qt_eval_days_left()) {
case -2:
return;
diff --git a/src/corelib/statemachine/qstatemachine.h b/src/corelib/statemachine/qstatemachine.h
index ff2b667..13c43e5 100644
--- a/src/corelib/statemachine/qstatemachine.h
+++ b/src/corelib/statemachine/qstatemachine.h
@@ -70,7 +70,7 @@ class Q_CORE_EXPORT QStateMachine : public QState
Q_PROPERTY(bool animated READ isAnimated WRITE setAnimated)
#endif
public:
- class SignalEvent : public QEvent
+ class Q_CORE_EXPORT SignalEvent : public QEvent
{
public:
SignalEvent(QObject *sender, int signalIndex,
@@ -89,7 +89,7 @@ public:
friend class QSignalTransitionPrivate;
};
- class WrappedEvent : public QEvent
+ class Q_CORE_EXPORT WrappedEvent : public QEvent
{
public:
WrappedEvent(QObject *object, QEvent *event);
diff --git a/src/corelib/tools/qbytearray.cpp b/src/corelib/tools/qbytearray.cpp
index d8557e5..bf9b6bd 100644
--- a/src/corelib/tools/qbytearray.cpp
+++ b/src/corelib/tools/qbytearray.cpp
@@ -48,9 +48,7 @@
#include "qlocale_p.h"
#include "qunicodetables_p.h"
#include "qscopedpointer.h"
-#ifndef QT_NO_DATASTREAM
#include <qdatastream.h>
-#endif
#ifndef QT_NO_COMPRESS
#include <zlib.h>
@@ -2640,7 +2638,7 @@ void QByteArray::clear()
d->ref.ref();
}
-#ifndef QT_NO_DATASTREAM
+#if !defined(QT_NO_DATASTREAM) || (defined(QT_BOOTSTRAPPED) && !defined(QT_BUILD_QMAKE))
/*! \relates QByteArray
diff --git a/src/corelib/tools/qbytearray.h b/src/corelib/tools/qbytearray.h
index e258481..7dd6f4f 100644
--- a/src/corelib/tools/qbytearray.h
+++ b/src/corelib/tools/qbytearray.h
@@ -572,7 +572,7 @@ inline QByteArray &QByteArray::setNum(float n, char f, int prec)
{ return setNum(double(n),f,prec); }
-#ifndef QT_NO_DATASTREAM
+#if !defined(QT_NO_DATASTREAM) || (defined(QT_BOOTSTRAPPED) && !defined(QT_BUILD_QMAKE))
Q_CORE_EXPORT QDataStream &operator<<(QDataStream &, const QByteArray &);
Q_CORE_EXPORT QDataStream &operator>>(QDataStream &, QByteArray &);
#endif
diff --git a/src/corelib/tools/qstring.cpp b/src/corelib/tools/qstring.cpp
index f7321ef..086a2f3 100644
--- a/src/corelib/tools/qstring.cpp
+++ b/src/corelib/tools/qstring.cpp
@@ -7204,7 +7204,7 @@ QString QString::fromRawData(const QChar *unicode, int size)
*/
-#ifndef QT_NO_DATASTREAM
+#if !defined(QT_NO_DATASTREAM) || (defined(QT_BOOTSTRAPPED) && !defined(QT_BUILD_QMAKE))
/*!
\fn QDataStream &operator<<(QDataStream &stream, const QString &string)
\relates QString
diff --git a/src/corelib/tools/qstring.h b/src/corelib/tools/qstring.h
index 74f93a4..668be35 100644
--- a/src/corelib/tools/qstring.h
+++ b/src/corelib/tools/qstring.h
@@ -1065,7 +1065,7 @@ inline QChar &QString::ref(uint i)
}
#endif
-#ifndef QT_NO_DATASTREAM
+#if !defined(QT_NO_DATASTREAM) || (defined(QT_BOOTSTRAPPED) && !defined(QT_BUILD_QMAKE))
Q_CORE_EXPORT QDataStream &operator<<(QDataStream &, const QString &);
Q_CORE_EXPORT QDataStream &operator>>(QDataStream &, QString &);
#endif
diff --git a/src/dbus/qdbusconnection.cpp b/src/dbus/qdbusconnection.cpp
index d7088ff..d3aff6d 100644
--- a/src/dbus/qdbusconnection.cpp
+++ b/src/dbus/qdbusconnection.cpp
@@ -1005,6 +1005,9 @@ void QDBusConnectionPrivate::setBusService(const QDBusConnection &connection)
busService = new QDBusConnectionInterface(connection, this);
ref.deref(); // busService has increased the refcounting to us
// avoid cyclic refcounting
+// if (mode != PeerMode)
+ QObject::connect(busService, SIGNAL(serviceOwnerChanged(QString,QString,QString)),
+ this, SIGNAL(serviceOwnerChanged(QString,QString,QString)));
QObject::connect(this, SIGNAL(callWithCallbackFailed(QDBusError,QDBusMessage)),
busService, SIGNAL(callWithCallbackFailed(QDBusError,QDBusMessage)),
diff --git a/src/dbus/qdbusconnection_p.h b/src/dbus/qdbusconnection_p.h
index ed29e4e..830dac3 100644
--- a/src/dbus/qdbusconnection_p.h
+++ b/src/dbus/qdbusconnection_p.h
@@ -123,6 +123,7 @@ public:
QObject* obj;
int midx;
QList<int> params;
+ QStringList argumentMatch;
QByteArray matchRule;
};
diff --git a/src/dbus/qdbusconnectioninterface.cpp b/src/dbus/qdbusconnectioninterface.cpp
index 414d318..3b38432 100644
--- a/src/dbus/qdbusconnectioninterface.cpp
+++ b/src/dbus/qdbusconnectioninterface.cpp
@@ -337,11 +337,6 @@ void QDBusConnectionInterface::connectNotify(const char *signalName)
QDBusAbstractInterface::connectNotify(SIGNAL(NameLost(QString)));
else if (qstrcmp(signalName, SIGNAL(serviceOwnerChanged(QString,QString,QString))) == 0) {
- static bool warningPrinted = false;
- if (!warningPrinted) {
- qWarning("Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)");
- warningPrinted = true;
- }
QDBusAbstractInterface::connectNotify(SIGNAL(NameOwnerChanged(QString,QString,QString)));
}
}
diff --git a/src/dbus/qdbusintegrator.cpp b/src/dbus/qdbusintegrator.cpp
index 2d27668..870ddd0 100644
--- a/src/dbus/qdbusintegrator.cpp
+++ b/src/dbus/qdbusintegrator.cpp
@@ -1230,6 +1230,7 @@ bool QDBusConnectionPrivate::prepareHook(QDBusConnectionPrivate::SignalHook &hoo
hook.owner = owner; // we don't care if the service has an owner yet
hook.path = path;
hook.obj = receiver;
+ hook.argumentMatch = argMatch;
// build the D-Bus signal name and signature
// This should not happen for QDBusConnection::connect, use buildSignature here, since
@@ -1502,6 +1503,24 @@ void QDBusConnectionPrivate::handleSignal(const QString &key, const QDBusMessage
continue;
if (hook.signature.isEmpty() && !hook.signature.isNull() && !msg.signature().isEmpty())
continue;
+ if (!hook.argumentMatch.isEmpty()) {
+ const QVariantList arguments = msg.arguments();
+ if (hook.argumentMatch.size() > arguments.size())
+ continue;
+
+ bool matched = true;
+ for (int i = 0; i < hook.argumentMatch.size(); ++i) {
+ const QString &param = hook.argumentMatch.at(i);
+ if (param.isNull())
+ continue; // don't try to match against this
+ if (param == arguments.at(i).toString())
+ continue; // matched
+ matched = false;
+ break;
+ }
+ if (!matched)
+ continue;
+ }
activateSignal(hook, msg);
}
diff --git a/src/dbus/qdbusserver.cpp b/src/dbus/qdbusserver.cpp
index e028940..d4e90f6 100644
--- a/src/dbus/qdbusserver.cpp
+++ b/src/dbus/qdbusserver.cpp
@@ -69,8 +69,8 @@ QDBusServer::QDBusServer(const QString &address, QObject *parent)
if (address.isEmpty())
return;
- QObject::connect(d, SIGNAL(newServerConnection(const QDBusConnection &)),
- this, SIGNAL(newConnection(const QDBusConnection &)));
+ QObject::connect(d, SIGNAL(newServerConnection(QDBusConnection)),
+ this, SIGNAL(newConnection(QDBusConnection)));
// server = q_dbus_server_listen( "unix:tmpdir=/tmp", &error);
QDBusErrorInternal error;
diff --git a/src/gui/dialogs/qcolordialog.cpp b/src/gui/dialogs/qcolordialog.cpp
index 44a82ef..a9126f6 100644
--- a/src/gui/dialogs/qcolordialog.cpp
+++ b/src/gui/dialogs/qcolordialog.cpp
@@ -1594,8 +1594,8 @@ void QColorDialogPrivate::init(const QColor &initial)
cs = new QColorShower(q);
QObject::connect(cs, SIGNAL(newCol(QRgb)), q, SLOT(_q_newColorTypedIn(QRgb)));
- QObject::connect(cs, SIGNAL(currentColorChanged(const QColor&)),
- q, SIGNAL(currentColorChanged(const QColor&)));
+ QObject::connect(cs, SIGNAL(currentColorChanged(QColor)),
+ q, SIGNAL(currentColorChanged(QColor)));
#if defined(Q_WS_S60)
if (!nonTouchUI)
pWidth -= cp->size().width();
@@ -1904,7 +1904,7 @@ void QColorDialog::setVisible(bool visible)
void QColorDialog::open(QObject *receiver, const char *member)
{
Q_D(QColorDialog);
- connect(this, SIGNAL(colorSelected(const QColor&)), receiver, member);
+ connect(this, SIGNAL(colorSelected(QColor)), receiver, member);
d->receiverToDisconnectOnClose = receiver;
d->memberToDisconnectOnClose = member;
QDialog::open();
@@ -2036,7 +2036,7 @@ void QColorDialog::done(int result)
d->selectedQColor = QColor();
}
if (d->receiverToDisconnectOnClose) {
- disconnect(this, SIGNAL(colorSelected(const QColor&)),
+ disconnect(this, SIGNAL(colorSelected(QColor)),
d->receiverToDisconnectOnClose, d->memberToDisconnectOnClose);
d->receiverToDisconnectOnClose = 0;
}
diff --git a/src/gui/dialogs/qfiledialog.cpp b/src/gui/dialogs/qfiledialog.cpp
index 3b1befd..45a410f 100644
--- a/src/gui/dialogs/qfiledialog.cpp
+++ b/src/gui/dialogs/qfiledialog.cpp
@@ -691,8 +691,8 @@ QFileDialog::Options QFileDialog::options() const
void QFileDialog::open(QObject *receiver, const char *member)
{
Q_D(QFileDialog);
- const char *signal = (fileMode() == ExistingFiles) ? SIGNAL(filesSelected(const QStringList&))
- : SIGNAL(fileSelected(const QString&));
+ const char *signal = (fileMode() == ExistingFiles) ? SIGNAL(filesSelected(QStringList))
+ : SIGNAL(fileSelected(QString));
connect(this, signal, receiver, member);
d->signalToDisconnectOnClose = signal;
d->receiverToDisconnectOnClose = receiver;
@@ -2145,11 +2145,11 @@ void QFileDialogPrivate::createWidgets()
model->setNameFilterDisables(false);
#endif
model->d_func()->disableRecursiveSort = true;
- QFileDialog::connect(model, SIGNAL(fileRenamed(const QString &, const QString &, const QString &)), q, SLOT(_q_fileRenamed(const QString &, const QString &, const QString &)));
- QFileDialog::connect(model, SIGNAL(rootPathChanged(const QString &)),
- q, SLOT(_q_pathChanged(const QString &)));
- QFileDialog::connect(model, SIGNAL(rowsInserted(const QModelIndex &, int, int)),
- q, SLOT(_q_rowsInserted(const QModelIndex &)));
+ QFileDialog::connect(model, SIGNAL(fileRenamed(QString,QString,QString)), q, SLOT(_q_fileRenamed(QString,QString,QString)));
+ QFileDialog::connect(model, SIGNAL(rootPathChanged(QString)),
+ q, SLOT(_q_pathChanged(QString)));
+ QFileDialog::connect(model, SIGNAL(rowsInserted(QModelIndex,int,int)),
+ q, SLOT(_q_rowsInserted(QModelIndex)));
model->setReadOnly(false);
qFileDialogUi.reset(new Ui_QFileDialog());
@@ -2159,8 +2159,8 @@ void QFileDialogPrivate::createWidgets()
initialBookmarks << QUrl::fromLocalFile(QLatin1String(""))
<< QUrl::fromLocalFile(QDir::homePath());
qFileDialogUi->sidebar->init(model, initialBookmarks);
- QFileDialog::connect(qFileDialogUi->sidebar, SIGNAL(goToUrl(const QUrl &)),
- q, SLOT(_q_goToUrl(const QUrl &)));
+ QFileDialog::connect(qFileDialogUi->sidebar, SIGNAL(goToUrl(QUrl)),
+ q, SLOT(_q_goToUrl(QUrl)));
QObject::connect(qFileDialogUi->buttonBox, SIGNAL(accepted()), q, SLOT(accept()));
QObject::connect(qFileDialogUi->buttonBox, SIGNAL(rejected()), q, SLOT(reject()));
@@ -2194,8 +2194,8 @@ void QFileDialogPrivate::createWidgets()
qFileDialogUi->fileTypeCombo->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
QObject::connect(qFileDialogUi->fileTypeCombo, SIGNAL(activated(int)),
q, SLOT(_q_useNameFilter(int)));
- QObject::connect(qFileDialogUi->fileTypeCombo, SIGNAL(activated(const QString &)),
- q, SIGNAL(filterSelected(const QString &)));
+ QObject::connect(qFileDialogUi->fileTypeCombo, SIGNAL(activated(QString)),
+ q, SIGNAL(filterSelected(QString)));
qFileDialogUi->listView->init(this);
qFileDialogUi->listView->setModel(model);
@@ -2221,8 +2221,8 @@ void QFileDialogPrivate::createWidgets()
QActionGroup *showActionGroup = new QActionGroup(q);
showActionGroup->setExclusive(false);
- QObject::connect(showActionGroup, SIGNAL(triggered(QAction *)),
- q, SLOT(_q_showHeader(QAction *)));;
+ QObject::connect(showActionGroup, SIGNAL(triggered(QAction*)),
+ q, SLOT(_q_showHeader(QAction*)));;
QAbstractItemModel *abstractModel = model;
#ifndef QT_NO_PROXYMODEL
@@ -2251,7 +2251,7 @@ void QFileDialogPrivate::createWidgets()
// Selections
QItemSelectionModel *selections = qFileDialogUi->listView->selectionModel();
- QObject::connect(selections, SIGNAL(selectionChanged(const QItemSelection &, const QItemSelection &)),
+ QObject::connect(selections, SIGNAL(selectionChanged(QItemSelection,QItemSelection)),
q, SLOT(_q_selectionChanged()));
QObject::connect(selections, SIGNAL(currentChanged(QModelIndex,QModelIndex)),
q, SLOT(_q_currentChanged(QModelIndex)));
@@ -2289,11 +2289,11 @@ void QFileDialog::setProxyModel(QAbstractProxyModel *proxyModel)
QModelIndex idx = d->rootIndex();
if (d->proxyModel) {
- disconnect(d->proxyModel, SIGNAL(rowsInserted(const QModelIndex &, int, int)),
- this, SLOT(_q_rowsInserted(const QModelIndex &)));
+ disconnect(d->proxyModel, SIGNAL(rowsInserted(QModelIndex,int,int)),
+ this, SLOT(_q_rowsInserted(QModelIndex)));
} else {
- disconnect(d->model, SIGNAL(rowsInserted(const QModelIndex &, int, int)),
- this, SLOT(_q_rowsInserted(const QModelIndex &)));
+ disconnect(d->model, SIGNAL(rowsInserted(QModelIndex,int,int)),
+ this, SLOT(_q_rowsInserted(QModelIndex)));
}
if (proxyModel != 0) {
@@ -2306,8 +2306,8 @@ void QFileDialog::setProxyModel(QAbstractProxyModel *proxyModel)
d->completer->setModel(d->proxyModel);
d->completer->proxyModel = d->proxyModel;
#endif
- connect(d->proxyModel, SIGNAL(rowsInserted(const QModelIndex &, int, int)),
- this, SLOT(_q_rowsInserted(const QModelIndex &)));
+ connect(d->proxyModel, SIGNAL(rowsInserted(QModelIndex,int,int)),
+ this, SLOT(_q_rowsInserted(QModelIndex)));
} else {
d->proxyModel = 0;
d->qFileDialogUi->listView->setModel(d->model);
@@ -2317,8 +2317,8 @@ void QFileDialog::setProxyModel(QAbstractProxyModel *proxyModel)
d->completer->sourceModel = d->model;
d->completer->proxyModel = 0;
#endif
- connect(d->model, SIGNAL(rowsInserted(const QModelIndex &, int, int)),
- this, SLOT(_q_rowsInserted(const QModelIndex &)));
+ connect(d->model, SIGNAL(rowsInserted(QModelIndex,int,int)),
+ this, SLOT(_q_rowsInserted(QModelIndex)));
}
QScopedPointer<QItemSelectionModel> selModel(d->qFileDialogUi->treeView->selectionModel());
d->qFileDialogUi->treeView->setSelectionModel(d->qFileDialogUi->listView->selectionModel());
@@ -2327,7 +2327,7 @@ void QFileDialog::setProxyModel(QAbstractProxyModel *proxyModel)
// reconnect selection
QItemSelectionModel *selections = d->qFileDialogUi->listView->selectionModel();
- QObject::connect(selections, SIGNAL(selectionChanged(const QItemSelection &, const QItemSelection &)),
+ QObject::connect(selections, SIGNAL(selectionChanged(QItemSelection,QItemSelection)),
this, SLOT(_q_selectionChanged()));
QObject::connect(selections, SIGNAL(currentChanged(QModelIndex,QModelIndex)),
this, SLOT(_q_currentChanged(QModelIndex)));
diff --git a/src/gui/dialogs/qfiledialog_win.cpp b/src/gui/dialogs/qfiledialog_win.cpp
index 8089b43..d8ae73e 100644
--- a/src/gui/dialogs/qfiledialog_win.cpp
+++ b/src/gui/dialogs/qfiledialog_win.cpp
@@ -509,7 +509,7 @@ static bool qt_win_set_IFileDialogOptions(IFileDialog *pfd,
DWORD newOptions;
hr = pfd->GetOptions(&newOptions);
if (SUCCEEDED(hr)) {
- newOptions |= (FOS_NOCHANGEDIR | FOS_NOREADONLYRETURN);
+ newOptions |= FOS_NOCHANGEDIR;
if (mode == QFileDialog::ExistingFile ||
mode == QFileDialog::ExistingFiles)
newOptions |= (FOS_FILEMUSTEXIST | FOS_PATHMUSTEXIST);
diff --git a/src/gui/dialogs/qfileinfogatherer.cpp b/src/gui/dialogs/qfileinfogatherer.cpp
index 76d87ae..2729530 100644
--- a/src/gui/dialogs/qfileinfogatherer.cpp
+++ b/src/gui/dialogs/qfileinfogatherer.cpp
@@ -75,8 +75,8 @@ QFileInfoGatherer::QFileInfoGatherer(QObject *parent)
#endif
#ifndef QT_NO_FILESYSTEMWATCHER
watcher = new QFileSystemWatcher(this);
- connect(watcher, SIGNAL(directoryChanged(const QString &)), this, SLOT(list(const QString &)));
- connect(watcher, SIGNAL(fileChanged(const QString &)), this, SLOT(updateFile(const QString &)));
+ connect(watcher, SIGNAL(directoryChanged(QString)), this, SLOT(list(QString)));
+ connect(watcher, SIGNAL(fileChanged(QString)), this, SLOT(updateFile(QString)));
#endif
start(LowPriority);
}
diff --git a/src/gui/dialogs/qfilesystemmodel.cpp b/src/gui/dialogs/qfilesystemmodel.cpp
index b9012c7..8e78503 100644
--- a/src/gui/dialogs/qfilesystemmodel.cpp
+++ b/src/gui/dialogs/qfilesystemmodel.cpp
@@ -1864,12 +1864,12 @@ void QFileSystemModelPrivate::init()
{
Q_Q(QFileSystemModel);
qRegisterMetaType<QList<QPair<QString,QFileInfo> > >("QList<QPair<QString,QFileInfo> >");
- q->connect(&fileInfoGatherer, SIGNAL(newListOfFiles(const QString &, const QStringList &)),
- q, SLOT(_q_directoryChanged(const QString &, const QStringList &)));
- q->connect(&fileInfoGatherer, SIGNAL(updates(const QString &, const QList<QPair<QString, QFileInfo> > &)),
- q, SLOT(_q_fileSystemChanged(const QString &, const QList<QPair<QString, QFileInfo> > &)));
- q->connect(&fileInfoGatherer, SIGNAL(nameResolved(const QString &, const QString &)),
- q, SLOT(_q_resolvedName(const QString &, const QString &)));
+ q->connect(&fileInfoGatherer, SIGNAL(newListOfFiles(QString,QStringList)),
+ q, SLOT(_q_directoryChanged(QString,QStringList)));
+ q->connect(&fileInfoGatherer, SIGNAL(updates(QString,QList<QPair<QString,QFileInfo> >)),
+ q, SLOT(_q_fileSystemChanged(QString,QList<QPair<QString,QFileInfo> >)));
+ q->connect(&fileInfoGatherer, SIGNAL(nameResolved(QString,QString)),
+ q, SLOT(_q_resolvedName(QString,QString)));
q->connect(&delayedSortTimer, SIGNAL(timeout()), q, SLOT(_q_performDelayedSort()), Qt::QueuedConnection);
}
diff --git a/src/gui/dialogs/qfontdialog.cpp b/src/gui/dialogs/qfontdialog.cpp
index 60fae27..d035ef4 100644
--- a/src/gui/dialogs/qfontdialog.cpp
+++ b/src/gui/dialogs/qfontdialog.cpp
@@ -948,7 +948,7 @@ bool QFontDialogPrivate::sharedFontPanelAvailable = true;
void QFontDialog::open(QObject *receiver, const char *member)
{
Q_D(QFontDialog);
- connect(this, SIGNAL(fontSelected(const QFont&)), receiver, member);
+ connect(this, SIGNAL(fontSelected(QFont)), receiver, member);
d->receiverToDisconnectOnClose = receiver;
d->memberToDisconnectOnClose = member;
QDialog::open();
@@ -1038,7 +1038,7 @@ void QFontDialog::done(int result)
d->selectedFont = QFont();
}
if (d->receiverToDisconnectOnClose) {
- disconnect(this, SIGNAL(fontSelected(const QFont&)),
+ disconnect(this, SIGNAL(fontSelected(QFont)),
d->receiverToDisconnectOnClose, d->memberToDisconnectOnClose);
d->receiverToDisconnectOnClose = 0;
}
diff --git a/src/gui/dialogs/qinputdialog.cpp b/src/gui/dialogs/qinputdialog.cpp
index 86213b4..39ce1ab 100644
--- a/src/gui/dialogs/qinputdialog.cpp
+++ b/src/gui/dialogs/qinputdialog.cpp
@@ -95,7 +95,7 @@ class QInputDialogSpinBox : public QSpinBox
public:
QInputDialogSpinBox(QWidget *parent)
: QSpinBox(parent) {
- connect(lineEdit(), SIGNAL(textChanged(const QString&)), this, SLOT(notifyTextChanged()));
+ connect(lineEdit(), SIGNAL(textChanged(QString)), this, SLOT(notifyTextChanged()));
connect(this, SIGNAL(editingFinished()), this, SLOT(notifyTextChanged()));
}
@@ -130,7 +130,7 @@ class QInputDialogDoubleSpinBox : public QDoubleSpinBox
public:
QInputDialogDoubleSpinBox(QWidget *parent = 0)
: QDoubleSpinBox(parent) {
- connect(lineEdit(), SIGNAL(textChanged(const QString&)), this, SLOT(notifyTextChanged()));
+ connect(lineEdit(), SIGNAL(textChanged(QString)), this, SLOT(notifyTextChanged()));
connect(this, SIGNAL(editingFinished()), this, SLOT(notifyTextChanged()));
}
@@ -245,8 +245,8 @@ void QInputDialogPrivate::ensureLineEdit()
if (!lineEdit) {
lineEdit = new QLineEdit(q);
lineEdit->hide();
- QObject::connect(lineEdit, SIGNAL(textChanged(const QString&)),
- q, SLOT(_q_textChanged(const QString&)));
+ QObject::connect(lineEdit, SIGNAL(textChanged(QString)),
+ q, SLOT(_q_textChanged(QString)));
}
}
@@ -256,10 +256,10 @@ void QInputDialogPrivate::ensureComboBox()
if (!comboBox) {
comboBox = new QComboBox(q);
comboBox->hide();
- QObject::connect(comboBox, SIGNAL(editTextChanged(const QString&)),
- q, SLOT(_q_textChanged(const QString&)));
- QObject::connect(comboBox, SIGNAL(currentIndexChanged(const QString&)),
- q, SLOT(_q_textChanged(const QString&)));
+ QObject::connect(comboBox, SIGNAL(editTextChanged(QString)),
+ q, SLOT(_q_textChanged(QString)));
+ QObject::connect(comboBox, SIGNAL(currentIndexChanged(QString)),
+ q, SLOT(_q_textChanged(QString)));
}
}
@@ -276,8 +276,8 @@ void QInputDialogPrivate::ensureListView()
listView->setModel(comboBox->model());
listView->setCurrentIndex(QModelIndex()); // ###
QObject::connect(listView->selectionModel(),
- SIGNAL(currentRowChanged(const QModelIndex&, const QModelIndex&)),
- q, SLOT(_q_currentRowChanged(const QModelIndex&, const QModelIndex&)));
+ SIGNAL(currentRowChanged(QModelIndex,QModelIndex)),
+ q, SLOT(_q_currentRowChanged(QModelIndex,QModelIndex)));
}
}
diff --git a/src/gui/dialogs/qprintdialog_qws.cpp b/src/gui/dialogs/qprintdialog_qws.cpp
index 37f01be..05a290d 100644
--- a/src/gui/dialogs/qprintdialog_qws.cpp
+++ b/src/gui/dialogs/qprintdialog_qws.cpp
@@ -266,8 +266,8 @@ void QPrintDialogPrivate::setupDestination()
// print destinations
printerOrFile = new QButtonGroup(q);
- QObject::connect(printerOrFile, SIGNAL(buttonClicked(QAbstractButton *)),
- q, SLOT(_q_printerOrFileSelected(QAbstractButton *)));
+ QObject::connect(printerOrFile, SIGNAL(buttonClicked(QAbstractButton*)),
+ q, SLOT(_q_printerOrFileSelected(QAbstractButton*)));
printToPrinterButton = q->findChild<QRadioButton *>("printToPrinterButton");
printerOrFile->addButton(printToPrinterButton);
@@ -288,8 +288,8 @@ void QPrintDialogPrivate::setupPrinterSettings()
// color mode
colorMode = new QButtonGroup(q);
- QObject::connect(colorMode, SIGNAL(buttonClicked(QAbstractButton *)),
- q, SLOT(_q_colorModeSelected(QAbstractButton *)));
+ QObject::connect(colorMode, SIGNAL(buttonClicked(QAbstractButton*)),
+ q, SLOT(_q_colorModeSelected(QAbstractButton*)));
printColor = q->findChild<QRadioButton *>("printColor");
colorMode->addButton(printColor);
diff --git a/src/gui/dialogs/qprintpreviewdialog.cpp b/src/gui/dialogs/qprintpreviewdialog.cpp
index 1f0b51d..bb8437c 100644
--- a/src/gui/dialogs/qprintpreviewdialog.cpp
+++ b/src/gui/dialogs/qprintpreviewdialog.cpp
@@ -224,7 +224,7 @@ void QPrintPreviewDialogPrivate::init(QPrinter *_printer)
printer = new QPrinter;
preview = new QPrintPreviewWidget(printer, q);
}
- QObject::connect(preview, SIGNAL(paintRequested(QPrinter *)), q, SIGNAL(paintRequested(QPrinter *)));
+ QObject::connect(preview, SIGNAL(paintRequested(QPrinter*)), q, SIGNAL(paintRequested(QPrinter*)));
QObject::connect(preview, SIGNAL(previewChanged()), q, SLOT(_q_previewChanged()));
setupActions();
diff --git a/src/gui/dialogs/qsidebar.cpp b/src/gui/dialogs/qsidebar.cpp
index 396889d..879d1b1 100644
--- a/src/gui/dialogs/qsidebar.cpp
+++ b/src/gui/dialogs/qsidebar.cpp
@@ -293,20 +293,20 @@ void QUrlModel::setFileSystemModel(QFileSystemModel *model)
if (model == fileSystemModel)
return;
if (fileSystemModel != 0) {
- disconnect(model, SIGNAL(dataChanged(const QModelIndex &, const QModelIndex &)),
- this, SLOT(dataChanged(const QModelIndex &, const QModelIndex &)));
+ disconnect(model, SIGNAL(dataChanged(QModelIndex,QModelIndex)),
+ this, SLOT(dataChanged(QModelIndex,QModelIndex)));
disconnect(model, SIGNAL(layoutChanged()),
this, SLOT(layoutChanged()));
- disconnect(model, SIGNAL(rowsRemoved(const QModelIndex &, int, int)),
+ disconnect(model, SIGNAL(rowsRemoved(QModelIndex,int,int)),
this, SLOT(layoutChanged()));
}
fileSystemModel = model;
if (fileSystemModel != 0) {
- connect(model, SIGNAL(dataChanged(const QModelIndex &, const QModelIndex &)),
- this, SLOT(dataChanged(const QModelIndex &, const QModelIndex &)));
+ connect(model, SIGNAL(dataChanged(QModelIndex,QModelIndex)),
+ this, SLOT(dataChanged(QModelIndex,QModelIndex)));
connect(model, SIGNAL(layoutChanged()),
this, SLOT(layoutChanged()));
- connect(model, SIGNAL(rowsRemoved(const QModelIndex &, int, int)),
+ connect(model, SIGNAL(rowsRemoved(QModelIndex,int,int)),
this, SLOT(layoutChanged()));
}
clear();
@@ -381,14 +381,14 @@ void QSidebar::init(QFileSystemModel *model, const QList<QUrl> &newUrls)
setModel(urlModel);
setItemDelegate(new QSideBarDelegate(this));
- connect(selectionModel(), SIGNAL(currentChanged(const QModelIndex &, const QModelIndex &)),
- this, SLOT(clicked(const QModelIndex &)));
+ connect(selectionModel(), SIGNAL(currentChanged(QModelIndex,QModelIndex)),
+ this, SLOT(clicked(QModelIndex)));
#ifndef QT_NO_DRAGANDDROP
setDragDropMode(QAbstractItemView::DragDrop);
#endif
setContextMenuPolicy(Qt::CustomContextMenu);
- connect(this, SIGNAL(customContextMenuRequested(const QPoint &)),
- this, SLOT(showContextMenu(const QPoint &)));
+ connect(this, SIGNAL(customContextMenuRequested(QPoint)),
+ this, SLOT(showContextMenu(QPoint)));
urlModel->setUrls(newUrls);
setCurrentIndex(this->model()->index(0,0));
}
@@ -414,8 +414,8 @@ QSize QSidebar::sizeHint() const
void QSidebar::selectUrl(const QUrl &url)
{
- disconnect(selectionModel(), SIGNAL(currentChanged(const QModelIndex &, const QModelIndex &)),
- this, SLOT(clicked(const QModelIndex &)));
+ disconnect(selectionModel(), SIGNAL(currentChanged(QModelIndex,QModelIndex)),
+ this, SLOT(clicked(QModelIndex)));
selectionModel()->clear();
for (int i = 0; i < model()->rowCount(); ++i) {
@@ -425,8 +425,8 @@ void QSidebar::selectUrl(const QUrl &url)
}
}
- connect(selectionModel(), SIGNAL(currentChanged(const QModelIndex &, const QModelIndex &)),
- this, SLOT(clicked(const QModelIndex &)));
+ connect(selectionModel(), SIGNAL(currentChanged(QModelIndex,QModelIndex)),
+ this, SLOT(clicked(QModelIndex)));
}
#ifndef QT_NO_MENU
diff --git a/src/gui/dialogs/qwizard.cpp b/src/gui/dialogs/qwizard.cpp
index db1c9e9..472ca35 100644
--- a/src/gui/dialogs/qwizard.cpp
+++ b/src/gui/dialogs/qwizard.cpp
@@ -759,8 +759,8 @@ void QWizardPrivate::addField(const QWizardField &field)
QObject::connect(myField.object, myField.changedSignal,
myField.page, SLOT(_q_maybeEmitCompleteChanged()));
QObject::connect(
- myField.object, SIGNAL(destroyed(QObject *)), q,
- SLOT(_q_handleFieldObjectDestroyed(QObject *)));
+ myField.object, SIGNAL(destroyed(QObject*)), q,
+ SLOT(_q_handleFieldObjectDestroyed(QObject*)));
}
void QWizardPrivate::removeFieldAt(int index)
@@ -773,8 +773,8 @@ void QWizardPrivate::removeFieldAt(int index)
QObject::disconnect(field.object, field.changedSignal,
field.page, SLOT(_q_maybeEmitCompleteChanged()));
QObject::disconnect(
- field.object, SIGNAL(destroyed(QObject *)), q,
- SLOT(_q_handleFieldObjectDestroyed(QObject *)));
+ field.object, SIGNAL(destroyed(QObject*)), q,
+ SLOT(_q_handleFieldObjectDestroyed(QObject*)));
fields.remove(index);
}
diff --git a/src/gui/graphicsview/qgraphicsscene.cpp b/src/gui/graphicsview/qgraphicsscene.cpp
index 5b0643d..10d251d 100644
--- a/src/gui/graphicsview/qgraphicsscene.cpp
+++ b/src/gui/graphicsview/qgraphicsscene.cpp
@@ -2556,11 +2556,9 @@ void QGraphicsScene::addItem(QGraphicsItem *item)
item->d_ptr->resolveFont(d->font.resolve());
item->d_ptr->resolvePalette(d->palette.resolve());
- if (!item->d_ptr->explicitlyHidden) {
- if (d->unpolishedItems.isEmpty())
- QMetaObject::invokeMethod(this, "_q_polishItems", Qt::QueuedConnection);
- d->unpolishedItems.insert(item);
- }
+ if (d->unpolishedItems.isEmpty())
+ QMetaObject::invokeMethod(this, "_q_polishItems", Qt::QueuedConnection);
+ d->unpolishedItems.insert(item);
// Reenable selectionChanged() for individual items
--d->selectionChanging;
@@ -4422,9 +4420,12 @@ void QGraphicsScenePrivate::drawItemHelper(QGraphicsItem *item, QPainter *painte
bool allowPartialCacheExposure = !viewRect.contains(deviceRect);
#else
// Only if deviceRect is 20% taller or wider than the desktop.
- QRect desktopRect = QApplication::desktop()->availableGeometry(widget);
- bool allowPartialCacheExposure = (desktopRect.width() * 1.2 < deviceRect.width()
- || desktopRect.height() * 1.2 < deviceRect.height());
+ bool allowPartialCacheExposure = false;
+ if (widget) {
+ QRect desktopRect = QApplication::desktop()->availableGeometry(widget);
+ allowPartialCacheExposure = (desktopRect.width() * 1.2 < deviceRect.width()
+ || desktopRect.height() * 1.2 < deviceRect.height());
+ }
#endif
QRegion scrollExposure;
if (deviceData->cacheIndent != QPoint() || allowPartialCacheExposure) {
diff --git a/src/gui/graphicsview/qgraphicssceneindex.cpp b/src/gui/graphicsview/qgraphicssceneindex.cpp
index f0404fd..70ecd49 100644
--- a/src/gui/graphicsview/qgraphicssceneindex.cpp
+++ b/src/gui/graphicsview/qgraphicssceneindex.cpp
@@ -354,8 +354,8 @@ void QGraphicsSceneIndexPrivate::init()
if (!scene)
return;
- QObject::connect(scene, SIGNAL(sceneRectChanged(const QRectF&)),
- q_func(), SLOT(updateSceneRect(const QRectF&)));
+ QObject::connect(scene, SIGNAL(sceneRectChanged(QRectF)),
+ q_func(), SLOT(updateSceneRect(QRectF)));
}
/*!
diff --git a/src/gui/graphicsview/qgraphicsview.cpp b/src/gui/graphicsview/qgraphicsview.cpp
index 3ef311c..3f9f443 100644
--- a/src/gui/graphicsview/qgraphicsview.cpp
+++ b/src/gui/graphicsview/qgraphicsview.cpp
@@ -1517,6 +1517,8 @@ void QGraphicsView::setScene(QGraphicsScene *scene)
QEvent windowDeactivate(QEvent::WindowDeactivate);
QApplication::sendEvent(d->scene, &windowDeactivate);
}
+ if(hasFocus())
+ d->scene->clearFocus();
}
// Assign the new scene and update the contents (scrollbars, etc.)).
diff --git a/src/gui/image/qpixmap_mac.cpp b/src/gui/image/qpixmap_mac.cpp
index 6175931..365c271 100644
--- a/src/gui/image/qpixmap_mac.cpp
+++ b/src/gui/image/qpixmap_mac.cpp
@@ -160,8 +160,8 @@ QSet<QMacPixmapData*> QMacPixmapData::validDataPointers;
QMacPixmapData::QMacPixmapData(PixelType type)
: QPixmapData(type, MacClass), has_alpha(0), has_mask(0),
- uninit(true), pixels(0), pixelsToFree(0), bytesPerRow(0),
- cg_data(0), cg_dataBeingReleased(0), cg_mask(0),
+ uninit(true), pixels(0), pixelsSize(0), pixelsToFree(0),
+ bytesPerRow(0), cg_data(0), cg_dataBeingReleased(0), cg_mask(0),
pengine(0)
{
}
@@ -637,8 +637,9 @@ void QMacPixmapData::macCreatePixels()
}
if (pixels)
- memcpy(base_pixels, pixels, numBytes);
+ memcpy(base_pixels, pixels, pixelsSize);
pixels = base_pixels;
+ pixelsSize = numBytes;
}
#if 0
diff --git a/src/gui/image/qpixmap_mac_p.h b/src/gui/image/qpixmap_mac_p.h
index a3fb95f..45ab8e2 100644
--- a/src/gui/image/qpixmap_mac_p.h
+++ b/src/gui/image/qpixmap_mac_p.h
@@ -107,6 +107,7 @@ private:
pixelsToFree later on instead of malloc'ing memory.
*/
quint32 *pixels;
+ uint pixelsSize;
quint32 *pixelsToFree;
uint bytesPerRow;
QRectF cg_mask_rect;
diff --git a/src/gui/image/qpixmap_x11.cpp b/src/gui/image/qpixmap_x11.cpp
index 3f297df..7008fbd 100644
--- a/src/gui/image/qpixmap_x11.cpp
+++ b/src/gui/image/qpixmap_x11.cpp
@@ -416,6 +416,11 @@ void QX11PixmapData::fromImage(const QImage &img,
d = img.depth();
is_null = (w <= 0 || h <= 0);
+ if (is_null) {
+ w = h = 0;
+ return;
+ }
+
if (defaultScreen >= 0 && defaultScreen != xinfo.screen()) {
QX11InfoData* xd = xinfo.getX11Data(true);
xd->screen = defaultScreen;
diff --git a/src/gui/itemviews/qcolumnview.cpp b/src/gui/itemviews/qcolumnview.cpp
index d27d061..da3e5a0 100644
--- a/src/gui/itemviews/qcolumnview.cpp
+++ b/src/gui/itemviews/qcolumnview.cpp
@@ -672,8 +672,8 @@ QAbstractItemView *QColumnViewPrivate::createColumn(const QModelIndex &index, bo
QAbstractItemView *view = 0;
if (model->hasChildren(index)) {
view = q->createColumn(index);
- q->connect(view, SIGNAL(clicked(const QModelIndex &)),
- q, SLOT(_q_clicked(const QModelIndex &)));
+ q->connect(view, SIGNAL(clicked(QModelIndex)),
+ q, SLOT(_q_clicked(QModelIndex)));
} else {
if (!previewColumn)
setPreviewWidget(new QWidget(q));
@@ -681,16 +681,16 @@ QAbstractItemView *QColumnViewPrivate::createColumn(const QModelIndex &index, bo
view->setMinimumWidth(qMax(view->minimumWidth(), previewWidget->minimumWidth()));
}
- q->connect(view, SIGNAL(activated(const QModelIndex &)),
- q, SIGNAL(activated(const QModelIndex &)));
- q->connect(view, SIGNAL(clicked(const QModelIndex &)),
- q, SIGNAL(clicked(const QModelIndex &)));
- q->connect(view, SIGNAL(doubleClicked(const QModelIndex &)),
- q, SIGNAL(doubleClicked(const QModelIndex &)));
- q->connect(view, SIGNAL(entered(const QModelIndex &)),
- q, SIGNAL(entered(const QModelIndex &)));
- q->connect(view, SIGNAL(pressed(const QModelIndex &)),
- q, SIGNAL(pressed(const QModelIndex &)));
+ q->connect(view, SIGNAL(activated(QModelIndex)),
+ q, SIGNAL(activated(QModelIndex)));
+ q->connect(view, SIGNAL(clicked(QModelIndex)),
+ q, SIGNAL(clicked(QModelIndex)));
+ q->connect(view, SIGNAL(doubleClicked(QModelIndex)),
+ q, SIGNAL(doubleClicked(QModelIndex)));
+ q->connect(view, SIGNAL(entered(QModelIndex)),
+ q, SIGNAL(entered(QModelIndex)));
+ q->connect(view, SIGNAL(pressed(QModelIndex)),
+ q, SIGNAL(pressed(QModelIndex)));
view->setFocusPolicy(Qt::NoFocus);
view->setParent(viewport);
diff --git a/src/gui/itemviews/qheaderview.cpp b/src/gui/itemviews/qheaderview.cpp
index 6f2cff9..5df8481 100644
--- a/src/gui/itemviews/qheaderview.cpp
+++ b/src/gui/itemviews/qheaderview.cpp
@@ -2396,7 +2396,12 @@ bool QHeaderView::viewportEvent(QEvent *e)
d->state = QHeaderViewPrivate::NoState;
d->pressed = d->section = d->target = -1;
d->updateSectionIndicator(d->section, -1);
- }
+ break; }
+ case QEvent::Wheel: {
+ QAbstractScrollArea *asa = qobject_cast<QAbstractScrollArea *>(parentWidget());
+ if (asa)
+ return QApplication::sendEvent(asa->viewport(), e);
+ break; }
default:
break;
}
diff --git a/src/gui/itemviews/qlistview.cpp b/src/gui/itemviews/qlistview.cpp
index 15db9a6..052308c 100644
--- a/src/gui/itemviews/qlistview.cpp
+++ b/src/gui/itemviews/qlistview.cpp
@@ -773,7 +773,7 @@ void QListView::rowsAboutToBeRemoved(const QModelIndex &parent, int start, int e
void QListView::mouseMoveEvent(QMouseEvent *e)
{
if (!isVisible())
- return;
+ return;
Q_D(QListView);
QAbstractItemView::mouseMoveEvent(e);
if (state() == DragSelectingState
@@ -832,16 +832,16 @@ void QListView::resizeEvent(QResizeEvent *e)
return;
bool listWrap = (d->viewMode == ListMode) && d->wrapItemText;
- bool flowDimensionChanged = (d->flow == LeftToRight && delta.width() != 0)
- || (d->flow == TopToBottom && delta.height() != 0);
+ bool flowDimensionChanged = (d->flow == LeftToRight && delta.width() != 0)
+ || (d->flow == TopToBottom && delta.height() != 0);
// We post a delayed relayout in the following cases :
// - we're wrapping
// - the state is NoState, we're adjusting and the size has changed in the flowing direction
- if (listWrap
+ if (listWrap
|| (state() == NoState && d->resizeMode == Adjust && flowDimensionChanged)) {
- d->doDelayedItemsLayout(100); // wait 1/10 sec before starting the layout
- } else {
+ d->doDelayedItemsLayout(100); // wait 1/10 sec before starting the layout
+ } else {
QAbstractItemView::resizeEvent(e);
}
}
@@ -972,9 +972,9 @@ void QListView::paintEvent(QPaintEvent *e)
option.rect = visualRect(*it);
if (flow() == TopToBottom)
- option.rect.setWidth(qMin(viewport()->size().width() - 2 * d->spacing(), option.rect.width()));
+ option.rect.setWidth(qMin(d->contentsSize().width() - 2 * d->spacing(), option.rect.width()));
else
- option.rect.setHeight(qMin(viewport()->size().height() - 2 * d->spacing(), option.rect.height()));
+ option.rect.setHeight(qMin(d->contentsSize().height() - 2 * d->spacing(), option.rect.height()));
option.state = state;
if (selections && selections->isSelected(*it))
@@ -1147,7 +1147,9 @@ QModelIndex QListView::moveCursor(CursorAction cursorAction, Qt::KeyboardModifie
}
return d->closestIndex(initialRect, intersectVector);
case MovePageUp:
- rect.moveTop(rect.top() - d->viewport->height());
+ // move current by (visibileRowCount - 1) items.
+ // rect.translate(0, -rect.height()); will happen in the switch fallthrough for MoveUp.
+ rect.moveTop(rect.top() - d->viewport->height() + 2 * rect.height());
if (rect.top() < rect.height())
rect.moveTop(rect.height());
case MovePrevious:
@@ -1173,7 +1175,9 @@ QModelIndex QListView::moveCursor(CursorAction cursorAction, Qt::KeyboardModifie
}
return d->closestIndex(initialRect, intersectVector);
case MovePageDown:
- rect.moveTop(rect.top() + d->viewport->height());
+ // move current by (visibileRowCount - 1) items.
+ // rect.translate(0, rect.height()); will happen in the switch fallthrough for MoveDown.
+ rect.moveTop(rect.top() + d->viewport->height() - 2 * rect.height());
if (rect.bottom() > contents.height() - rect.height())
rect.moveBottom(contents.height() - rect.height());
case MoveNext:
@@ -1445,7 +1449,7 @@ void QListView::doItemsLayout()
// so we set the state to expanding to avoid
// triggering another layout
QAbstractItemView::State oldState = state();
- setState(ExpandingState);
+ setState(ExpandingState);
if (d->model->columnCount(d->root) > 0) { // no columns means no contents
d->resetBatchStartRow();
if (layoutMode() == SinglePass)
diff --git a/src/gui/itemviews/qtreeview.cpp b/src/gui/itemviews/qtreeview.cpp
index a3cbc0d..8d50870b 100644
--- a/src/gui/itemviews/qtreeview.cpp
+++ b/src/gui/itemviews/qtreeview.cpp
@@ -838,10 +838,10 @@ void QTreeView::setSortingEnabled(bool enable)
// because otherwise it will not call sort on the model.
sortByColumn(header()->sortIndicatorSection(), header()->sortIndicatorOrder());
connect(header(), SIGNAL(sortIndicatorChanged(int,Qt::SortOrder)),
- this, SLOT(_q_sortIndicatorChanged(int, Qt::SortOrder)), Qt::UniqueConnection);
+ this, SLOT(_q_sortIndicatorChanged(int,Qt::SortOrder)), Qt::UniqueConnection);
} else {
disconnect(header(), SIGNAL(sortIndicatorChanged(int,Qt::SortOrder)),
- this, SLOT(_q_sortIndicatorChanged(int, Qt::SortOrder)));
+ this, SLOT(_q_sortIndicatorChanged(int,Qt::SortOrder)));
}
d->sortingEnabled = enable;
}
diff --git a/src/gui/kernel/kernel.pri b/src/gui/kernel/kernel.pri
index 8859358..7d0e5c7 100644
--- a/src/gui/kernel/kernel.pri
+++ b/src/gui/kernel/kernel.pri
@@ -188,9 +188,8 @@ embedded {
HEADERS += \
kernel/qeventdispatcher_glib_qws_p.h
QMAKE_CXXFLAGS += $$QT_CFLAGS_GLIB
+ LIBS_PRIVATE +=$$QT_LIBS_GLIB
}
-
-
}
!embedded:!x11:mac {
diff --git a/src/gui/kernel/qapplication.cpp b/src/gui/kernel/qapplication.cpp
index 4b8f6a0..4764a2d 100644
--- a/src/gui/kernel/qapplication.cpp
+++ b/src/gui/kernel/qapplication.cpp
@@ -4105,8 +4105,17 @@ bool QApplication::notify(QObject *receiver, QEvent *e)
} else if (widget->isWindow() || widget->testAttribute(Qt::WA_NoMousePropagation)) {
break;
}
+ QPoint offset = widget->pos();
widget = widget->parentWidget();
- d->updateTouchPointsForWidget(widget, touchEvent);
+ touchEvent->setWidget(widget);
+ for (int i = 0; i < touchEvent->_touchPoints.size(); ++i) {
+ QTouchEvent::TouchPoint &pt = touchEvent->_touchPoints[i];
+ QRectF rect = pt.rect();
+ rect.moveCenter(offset);
+ pt.d->rect = rect;
+ pt.d->startPos = pt.startPos() + offset;
+ pt.d->lastPos = pt.lastPos() + offset;
+ }
}
touchEvent->setAccepted(eventAccepted);
@@ -5417,9 +5426,11 @@ void QApplicationPrivate::updateTouchPointsForWidget(QWidget *widget, QTouchEven
const QPointF delta = screenPos - screenPos.toPoint();
rect.moveCenter(widget->mapFromGlobal(screenPos.toPoint()) + delta);
- touchPoint.setRect(rect);
- touchPoint.setStartPos(widget->mapFromGlobal(touchPoint.startScreenPos().toPoint()) + delta);
- touchPoint.setLastPos(widget->mapFromGlobal(touchPoint.lastScreenPos().toPoint()) + delta);
+ touchPoint.d->rect = rect;
+ if (touchPoint.state() == Qt::TouchPointPressed) {
+ touchPoint.d->startPos = widget->mapFromGlobal(touchPoint.startScreenPos().toPoint()) + delta;
+ touchPoint.d->lastPos = widget->mapFromGlobal(touchPoint.lastScreenPos().toPoint()) + delta;
+ }
}
}
@@ -5463,16 +5474,20 @@ void QApplicationPrivate::translateRawTouchEvent(QWidget *window,
for (int i = 0; i < touchPoints.count(); ++i) {
QTouchEvent::TouchPoint touchPoint = touchPoints.at(i);
+ // explicitly detach from the original touch point that we got, so even
+ // if the touchpoint structs are reused, we will make a copy that we'll
+ // deliver to the user (which might want to store the struct for later use).
+ touchPoint.d = touchPoint.d->detach();
// update state
- QWidget *widget = 0;
+ QWeakPointer<QWidget> widget;
switch (touchPoint.state()) {
case Qt::TouchPointPressed:
{
if (deviceType == QTouchEvent::TouchPad) {
// on touch-pads, send all touch points to the same widget
widget = d->widgetForTouchPointId.isEmpty()
- ? 0
+ ? QWeakPointer<QWidget>()
: d->widgetForTouchPointId.constBegin().value();
}
@@ -5489,20 +5504,21 @@ void QApplicationPrivate::translateRawTouchEvent(QWidget *window,
if (deviceType == QTouchEvent::TouchScreen) {
int closestTouchPointId = d->findClosestTouchPointId(touchPoint.screenPos());
- QWidget *closestWidget = d->widgetForTouchPointId.value(closestTouchPointId);
+ QWidget *closestWidget = d->widgetForTouchPointId.value(closestTouchPointId).data();
if (closestWidget
- && (widget->isAncestorOf(closestWidget) || closestWidget->isAncestorOf(widget))) {
+ && (widget.data()->isAncestorOf(closestWidget) || closestWidget->isAncestorOf(widget.data()))) {
widget = closestWidget;
}
}
d->widgetForTouchPointId[touchPoint.id()] = widget;
- touchPoint.setStartScreenPos(touchPoint.screenPos());
- touchPoint.setLastScreenPos(touchPoint.screenPos());
- touchPoint.setStartNormalizedPos(touchPoint.normalizedPos());
- touchPoint.setLastNormalizedPos(touchPoint.normalizedPos());
+ touchPoint.d->startScreenPos = touchPoint.screenPos();
+ touchPoint.d->lastScreenPos = touchPoint.screenPos();
+ touchPoint.d->startNormalizedPos = touchPoint.normalizedPos();
+ touchPoint.d->lastNormalizedPos = touchPoint.normalizedPos();
if (touchPoint.pressure() < qreal(0.))
- touchPoint.setPressure(qreal(1.));
+ touchPoint.d->pressure = qreal(1.);
+
d->appCurrentTouchPoints.insert(touchPoint.id(), touchPoint);
break;
}
@@ -5513,12 +5529,14 @@ void QApplicationPrivate::translateRawTouchEvent(QWidget *window,
continue;
QTouchEvent::TouchPoint previousTouchPoint = d->appCurrentTouchPoints.take(touchPoint.id());
- touchPoint.setStartScreenPos(previousTouchPoint.startScreenPos());
- touchPoint.setLastScreenPos(previousTouchPoint.screenPos());
- touchPoint.setStartNormalizedPos(previousTouchPoint.startNormalizedPos());
- touchPoint.setLastNormalizedPos(previousTouchPoint.normalizedPos());
+ touchPoint.d->startScreenPos = previousTouchPoint.startScreenPos();
+ touchPoint.d->lastScreenPos = previousTouchPoint.screenPos();
+ touchPoint.d->startPos = previousTouchPoint.startPos();
+ touchPoint.d->lastPos = previousTouchPoint.pos();
+ touchPoint.d->startNormalizedPos = previousTouchPoint.startNormalizedPos();
+ touchPoint.d->lastNormalizedPos = previousTouchPoint.normalizedPos();
if (touchPoint.pressure() < qreal(0.))
- touchPoint.setPressure(qreal(0.));
+ touchPoint.d->pressure = qreal(0.);
break;
}
default:
@@ -5528,23 +5546,25 @@ void QApplicationPrivate::translateRawTouchEvent(QWidget *window,
Q_ASSERT(d->appCurrentTouchPoints.contains(touchPoint.id()));
QTouchEvent::TouchPoint previousTouchPoint = d->appCurrentTouchPoints.value(touchPoint.id());
- touchPoint.setStartScreenPos(previousTouchPoint.startScreenPos());
- touchPoint.setLastScreenPos(previousTouchPoint.screenPos());
- touchPoint.setStartNormalizedPos(previousTouchPoint.startNormalizedPos());
- touchPoint.setLastNormalizedPos(previousTouchPoint.normalizedPos());
+ touchPoint.d->startScreenPos = previousTouchPoint.startScreenPos();
+ touchPoint.d->lastScreenPos = previousTouchPoint.screenPos();
+ touchPoint.d->startPos = previousTouchPoint.startPos();
+ touchPoint.d->lastPos = previousTouchPoint.pos();
+ touchPoint.d->startNormalizedPos = previousTouchPoint.startNormalizedPos();
+ touchPoint.d->lastNormalizedPos = previousTouchPoint.normalizedPos();
if (touchPoint.pressure() < qreal(0.))
- touchPoint.setPressure(qreal(1.));
+ touchPoint.d->pressure = qreal(1.);
d->appCurrentTouchPoints[touchPoint.id()] = touchPoint;
break;
}
- Q_ASSERT(widget != 0);
+ Q_ASSERT(widget.data() != 0);
// make the *scene* functions return the same as the *screen* functions
- touchPoint.setSceneRect(touchPoint.screenRect());
- touchPoint.setStartScenePos(touchPoint.startScreenPos());
- touchPoint.setLastScenePos(touchPoint.lastScreenPos());
+ touchPoint.d->sceneRect = touchPoint.screenRect();
+ touchPoint.d->startScenePos = touchPoint.startScreenPos();
+ touchPoint.d->lastScenePos = touchPoint.lastScreenPos();
- StatesAndTouchPoints &maskAndPoints = widgetsNeedingEvents[widget];
+ StatesAndTouchPoints &maskAndPoints = widgetsNeedingEvents[widget.data()];
maskAndPoints.first |= touchPoint.state();
if (touchPoint.isPrimary())
maskAndPoints.first |= Qt::TouchPointPrimary;
diff --git a/src/gui/kernel/qapplication_p.h b/src/gui/kernel/qapplication_p.h
index 992e4be..14d7215 100644
--- a/src/gui/kernel/qapplication_p.h
+++ b/src/gui/kernel/qapplication_p.h
@@ -511,7 +511,7 @@ public:
QWidget *gestureWidget;
- QMap<int, QWidget *> widgetForTouchPointId;
+ QMap<int, QWeakPointer<QWidget> > widgetForTouchPointId;
QMap<int, QTouchEvent::TouchPoint> appCurrentTouchPoints;
static void updateTouchPointsForWidget(QWidget *widget, QTouchEvent *touchEvent);
void initializeMultitouch();
diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp
index 04e4b31..c7f0c00 100644
--- a/src/gui/kernel/qapplication_s60.cpp
+++ b/src/gui/kernel/qapplication_s60.cpp
@@ -323,7 +323,6 @@ QSymbianControl::QSymbianControl(QWidget *w)
, qwidget(w)
, m_longTapDetector(0)
, m_ignoreFocusChanged(0)
- , m_previousEventLongTap(0)
, m_symbianPopupIsOpen(0)
{
}
@@ -362,9 +361,6 @@ QSymbianControl::~QSymbianControl()
setFocusSafely(false);
S60->appUi()->RemoveFromStack(this);
delete m_longTapDetector;
-
- if(m_previousEventLongTap)
- QApplicationPrivate::mouse_buttons = QApplicationPrivate::mouse_buttons & ~Qt::RightButton;
}
void QSymbianControl::setWidget(QWidget *w)
@@ -379,19 +375,11 @@ void QSymbianControl::HandleLongTapEventL( const TPoint& aPenEventLocation, cons
alienWidget = qwidget->childAt(widgetPos);
if (!alienWidget)
alienWidget = qwidget;
- QApplicationPrivate::mouse_buttons = QApplicationPrivate::mouse_buttons &(~Qt::LeftButton);
- QApplicationPrivate::mouse_buttons = QApplicationPrivate::mouse_buttons | Qt::RightButton;
- QMouseEvent mEvent(QEvent::MouseButtonPress, alienWidget->mapFrom(qwidget, widgetPos), globalPos,
- Qt::RightButton, QApplicationPrivate::mouse_buttons, Qt::NoModifier);
-
- bool res = sendMouseEvent(alienWidget, &mEvent);
#if !defined(QT_NO_CONTEXTMENU)
- QContextMenuEvent contextMenuEvent(QContextMenuEvent::Mouse, widgetPos, globalPos, mEvent.modifiers());
+ QContextMenuEvent contextMenuEvent(QContextMenuEvent::Mouse, widgetPos, globalPos, Qt::NoModifier);
qt_sendSpontaneousEvent(alienWidget, &contextMenuEvent);
#endif
-
- m_previousEventLongTap = true;
}
#ifdef QT_SYMBIAN_SUPPORTS_ADVANCED_POINTER
@@ -515,12 +503,6 @@ void QSymbianControl::HandlePointerEvent(const TPointerEvent& pEvent)
mapS60MouseEventTypeToQt(&type, &button, &pEvent);
Qt::KeyboardModifiers modifiers = mapToQtModifiers(pEvent.iModifiers);
- if (m_previousEventLongTap)
- if (type == QEvent::MouseButtonRelease){
- button = Qt::RightButton;
- QApplicationPrivate::mouse_buttons = QApplicationPrivate::mouse_buttons & ~Qt::RightButton;
- m_previousEventLongTap = false;
- }
if (type == QMouseEvent::None)
return;
diff --git a/src/gui/kernel/qevent.h b/src/gui/kernel/qevent.h
index 9839269..461cc92 100644
--- a/src/gui/kernel/qevent.h
+++ b/src/gui/kernel/qevent.h
@@ -787,6 +787,8 @@ public:
private:
QTouchEventTouchPointPrivate *d;
+ friend class QApplication;
+ friend class QApplicationPrivate;
};
enum DeviceType {
@@ -818,6 +820,7 @@ protected:
Qt::TouchPointStates _touchPointStates;
QList<QTouchEvent::TouchPoint> _touchPoints;
+ friend class QApplication;
friend class QApplicationPrivate;
};
diff --git a/src/gui/kernel/qeventdispatcher_s60.cpp b/src/gui/kernel/qeventdispatcher_s60.cpp
index 9d18c9b..4c1429a 100644
--- a/src/gui/kernel/qeventdispatcher_s60.cpp
+++ b/src/gui/kernel/qeventdispatcher_s60.cpp
@@ -92,7 +92,7 @@ void QEventDispatcherS60::saveInputEvent(QSymbianControl *control, QWidget *widg
{
DeferredInputEvent inputEvent = {control, widget, event};
m_deferredInputEvents.append(inputEvent);
- connect(widget, SIGNAL(destroyed(QObject *)), SLOT(removeInputEventsForWidget(QObject *)));
+ connect(widget, SIGNAL(destroyed(QObject*)), SLOT(removeInputEventsForWidget(QObject*)));
}
bool QEventDispatcherS60::sendDeferredInputEvents()
diff --git a/src/gui/kernel/qformlayout.cpp b/src/gui/kernel/qformlayout.cpp
index 3e5dadc..33f5489 100644
--- a/src/gui/kernel/qformlayout.cpp
+++ b/src/gui/kernel/qformlayout.cpp
@@ -1124,14 +1124,15 @@ QStyle* QFormLayoutPrivate::getStyle() const
\value DontWrapRows
Fields are always laid out next to their label. This is
- the default policy for all styles except Qt Extended styles.
+ the default policy for all styles except Qt Extended styles
+ and QS60Style.
\value WrapLongRows
Labels are given enough horizontal space to fit the widest label,
and the rest of the space is given to the fields. If the minimum
size of a field pair is wider than the available space, the field
is wrapped to the next line. This is the default policy for
- Qt Extended styles.
+ Qt Extended styles and and QS60Style.
\value WrapAllRows
Fields are always laid out below their label.
@@ -1720,8 +1721,8 @@ QFormLayout::FieldGrowthPolicy QFormLayout::fieldGrowthPolicy() const
\brief the way in which the form's rows wrap
The default value depends on the widget or application style. For
- Qt Extended styles, the default is WrapLongRows; for the other styles,
- the default is DontWrapRows.
+ Qt Extended styles and QS60Style, the default is WrapLongRows;
+ for the other styles, the default is DontWrapRows.
If you want to display each label above its associated field
(instead of next to it), set this property to WrapAllRows.
diff --git a/src/gui/kernel/qkeysequence.cpp b/src/gui/kernel/qkeysequence.cpp
index 89c18fb..e3af683 100644
--- a/src/gui/kernel/qkeysequence.cpp
+++ b/src/gui/kernel/qkeysequence.cpp
@@ -1036,7 +1036,7 @@ QKeySequence QKeySequence::mnemonic(const QString &text)
#else
found = true;
} else {
- qWarning(qPrintable(QString::fromLatin1("QKeySequence::mnemonic: \"%1\" contains multiple occurences of '&'").arg(text)));
+ qWarning("QKeySequence::mnemonic: \"%s\" contains multiple occurences of '&'", qPrintable(text));
#endif
}
}
diff --git a/src/gui/kernel/qmultitouch_mac.mm b/src/gui/kernel/qmultitouch_mac.mm
index 2f6f9ca..f736146 100644
--- a/src/gui/kernel/qmultitouch_mac.mm
+++ b/src/gui/kernel/qmultitouch_mac.mm
@@ -180,7 +180,6 @@ QCocoaTouch::getCurrentTouchPointList(NSEvent *event, bool acceptSingleTouch)
if (_touchCount != _currentTouches.size()) {
// Remove all instances, and basically start from scratch:
touchPoints.clear();
- QList<QCocoaTouch *> list = _currentTouches.values();
foreach (QCocoaTouch *qcocoaTouch, _currentTouches.values()) {
if (!_updateInternalStateOnly) {
qcocoaTouch->_touchPoint.setState(Qt::TouchPointReleased);
diff --git a/src/gui/kernel/qsoftkeymanager.cpp b/src/gui/kernel/qsoftkeymanager.cpp
index 22ac319..775d773 100644
--- a/src/gui/kernel/qsoftkeymanager.cpp
+++ b/src/gui/kernel/qsoftkeymanager.cpp
@@ -210,6 +210,10 @@ bool QSoftKeyManager::event(QEvent *e)
#ifdef Q_WS_S60
void QSoftKeyManagerPrivate::updateSoftKeys_sys(const QList<QAction*> &softkeys)
{
+ // lets not update softkeys if s60 native dialog or menu is shown
+ if (CCoeEnv::Static()->AppUi()->IsDisplayingMenuOrDialog())
+ return;
+
CEikButtonGroupContainer* nativeContainer = S60->buttonGroupContainer();
nativeContainer->DrawableWindow()->SetOrdinalPosition(0);
nativeContainer->DrawableWindow()->SetPointerCapturePriority(1); //keep softkeys available in modal dialog
diff --git a/src/gui/kernel/qt_s60_p.h b/src/gui/kernel/qt_s60_p.h
index ec8c9cb..08f8bb5 100644
--- a/src/gui/kernel/qt_s60_p.h
+++ b/src/gui/kernel/qt_s60_p.h
@@ -204,7 +204,6 @@ private:
QWidget *qwidget;
QLongTapTimer* m_longTapDetector;
bool m_ignoreFocusChanged : 1;
- bool m_previousEventLongTap : 1;
bool m_symbianPopupIsOpen : 1;
#ifdef Q_WS_S60
diff --git a/src/gui/kernel/qwidget.cpp b/src/gui/kernel/qwidget.cpp
index 754e7f5..709f6f3 100644
--- a/src/gui/kernel/qwidget.cpp
+++ b/src/gui/kernel/qwidget.cpp
@@ -11871,8 +11871,7 @@ void QWidget::ungrabGesture(Qt::GestureType gesture)
isVisible() returns false for a widget, that widget cannot call
grabMouse().
- \sa releaseMouse() grabKeyboard() releaseKeyboard() grabKeyboard()
- focusWidget()
+ \sa releaseMouse() grabKeyboard() releaseKeyboard()
*/
/*!
diff --git a/src/gui/kernel/qwidgetaction.cpp b/src/gui/kernel/qwidgetaction.cpp
index 7dc2c67..b72a41a 100644
--- a/src/gui/kernel/qwidgetaction.cpp
+++ b/src/gui/kernel/qwidgetaction.cpp
@@ -212,8 +212,8 @@ void QWidgetAction::releaseWidget(QWidget *widget)
if (!d->createdWidgets.contains(widget))
return;
- disconnect(widget, SIGNAL(destroyed(QObject *)),
- this, SLOT(_q_widgetDestroyed(QObject *)));
+ disconnect(widget, SIGNAL(destroyed(QObject*)),
+ this, SLOT(_q_widgetDestroyed(QObject*)));
d->createdWidgets.removeAll(widget);
deleteWidget(widget);
}
diff --git a/src/gui/painting/qblendfunctions.cpp b/src/gui/painting/qblendfunctions.cpp
index ba1b642..1d15dac 100644
--- a/src/gui/painting/qblendfunctions.cpp
+++ b/src/gui/painting/qblendfunctions.cpp
@@ -227,9 +227,6 @@ void qt_scale_image_16bit(uchar *destPixels, int dbpl,
quint32 basex;
quint32 srcy;
- const int dstx = qCeil((tx1 + 0.5 - qMin(targetRect.left(), targetRect.right())) * ix) - 1;
- const int dsty = qCeil((ty1 + 0.5 - qMin(targetRect.top(), targetRect.bottom())) * iy) - 1;
-
if (sx < 0) {
int dstx = qFloor((tx1 + qreal(0.5) - targetRect.right()) * ix) + 1;
basex = quint32(srcRect.right() * 65536) + dstx;
@@ -742,10 +739,6 @@ template <typename T> void qt_scale_image_32bit(uchar *destPixels, int dbpl,
quint32 basex;
quint32 srcy;
- const int dstx = qCeil((tx1 + 0.5 - qMin(targetRect.left(), targetRect.right())) * ix) - 1;
- const int dsty = qCeil((ty1 + 0.5 - qMin(targetRect.top(), targetRect.bottom())) * iy) - 1;
-
-
if (sx < 0) {
int dstx = qFloor((tx1 + qreal(0.5) - targetRect.right()) * ix) + 1;
basex = quint32(srcRect.right() * 65536) + dstx;
diff --git a/src/gui/painting/qpaintbuffer.cpp b/src/gui/painting/qpaintbuffer.cpp
index b8700c3..51be3b3 100644
--- a/src/gui/painting/qpaintbuffer.cpp
+++ b/src/gui/painting/qpaintbuffer.cpp
@@ -1708,7 +1708,7 @@ void QPaintEngineExReplayer::process(const QPaintBufferCommand &cmd)
QPaintBufferResource::QPaintBufferResource(FreeFunc f, QObject *parent) : QObject(parent), free(f)
{
- connect(QPaintBufferSignalProxy::instance(), SIGNAL(aboutToDestroy(const QPaintBufferPrivate *)), this, SLOT(remove(const QPaintBufferPrivate *)));
+ connect(QPaintBufferSignalProxy::instance(), SIGNAL(aboutToDestroy(const QPaintBufferPrivate*)), this, SLOT(remove(const QPaintBufferPrivate*)));
}
QPaintBufferResource::~QPaintBufferResource()
diff --git a/src/gui/painting/qpdf.cpp b/src/gui/painting/qpdf.cpp
index b640858..d45bd10 100644
--- a/src/gui/painting/qpdf.cpp
+++ b/src/gui/painting/qpdf.cpp
@@ -78,8 +78,8 @@ const char *qt_real_to_string(qreal val, char *buf) {
unsigned int ival = (unsigned int) val;
qreal frac = val - (qreal)ival;
- int ifrac = (int)(frac * 1000000);
- if (ifrac == 1000000) {
+ int ifrac = (int)(frac * 1000000000);
+ if (ifrac == 1000000000) {
++ival;
ifrac = 0;
}
@@ -90,7 +90,7 @@ const char *qt_real_to_string(qreal val, char *buf) {
++i;
ival /= 10;
}
- int fact = 100000;
+ int fact = 100000000;
if (i == 0) {
*(buf++) = '0';
} else {
diff --git a/src/gui/painting/qtextureglyphcache.cpp b/src/gui/painting/qtextureglyphcache.cpp
index a192e87..46fbaa9 100644
--- a/src/gui/painting/qtextureglyphcache.cpp
+++ b/src/gui/painting/qtextureglyphcache.cpp
@@ -101,7 +101,7 @@ void QTextureGlyphCache::populate(const QTextItemInt &ti,
Coord c = { 0, 0, // will be filled in later
glyph_width,
glyph_height, // texture coords
- metrics.x.truncate(),
+ metrics.x.round().truncate(),
-metrics.y.truncate() }; // baseline for horizontal scripts
listItemCoordinates.insert(glyph, c);
diff --git a/src/gui/styles/qcleanlooksstyle.cpp b/src/gui/styles/qcleanlooksstyle.cpp
index 973e682..b08847d 100644
--- a/src/gui/styles/qcleanlooksstyle.cpp
+++ b/src/gui/styles/qcleanlooksstyle.cpp
@@ -3817,6 +3817,7 @@ QSize QCleanlooksStyle::sizeFromContents(ContentsType type, const QStyleOption *
newSize.setWidth(80);
if (!btn->icon.isNull() && btn->iconSize.height() > 16)
newSize -= QSize(0, 2);
+ newSize += QSize(0, 1);
}
if (const QPushButton *button = qobject_cast<const QPushButton *>(widget)) {
if (qobject_cast<const QDialogButtonBox *>(button->parentWidget())) {
diff --git a/src/gui/styles/qgtkstyle.cpp b/src/gui/styles/qgtkstyle.cpp
index 70b7aa3..5566cc6 100644
--- a/src/gui/styles/qgtkstyle.cpp
+++ b/src/gui/styles/qgtkstyle.cpp
@@ -2521,7 +2521,7 @@ void QGtkStyle::drawControl(ControlElement element,
bool selected = menuItem->state & State_Selected && menuItem->state & State_Enabled;
if (selected) {
- QRect rect = option->rect.adjusted(0, 0, -1, -1);
+ QRect rect = option->rect.adjusted(0, 0, 0, -1);
#ifndef QT_NO_COMBOBOX
if (qobject_cast<const QComboBox*>(widget))
rect = option->rect;
@@ -2628,7 +2628,7 @@ void QGtkStyle::drawControl(ControlElement element,
int pixw = pixmap.width();
int pixh = pixmap.height();
QRect pmr(0, 0, pixw, pixh);
- pmr.moveCenter(vCheckRect.center());
+ pmr.moveCenter(vCheckRect.center() - QPoint(0, 1));
painter->setPen(menuItem->palette.text().color());
if (!ignoreCheckMark && checkable && checked) {
QStyleOption opt = *option;
@@ -2670,8 +2670,8 @@ void QGtkStyle::drawControl(ControlElement element,
menuitem->rect.getRect(&x, &y, &w, &h);
int tab = menuitem->tabWidth;
int xm = windowsItemFrame + checkcol + windowsItemHMargin;
- int xpos = menuitem->rect.x() + xm;
- QRect textRect(xpos, y + windowsItemVMargin, w - xm - windowsRightBorder - tab + 1, h - 2 * windowsItemVMargin);
+ int xpos = menuitem->rect.x() + xm + 1;
+ QRect textRect(xpos, y + windowsItemVMargin - 1, w - xm - windowsRightBorder - tab + 1, h - 2 * windowsItemVMargin);
QRect vTextRect = visualRect(opt->direction, menuitem->rect, textRect);
QString s = menuitem->text;
@@ -2718,13 +2718,19 @@ void QGtkStyle::drawControl(ControlElement element,
QFontMetrics fm(menuitem->font);
int arrow_size = fm.ascent() + fm.descent() - 2 * gtkMenuItem->style->ythickness;
gfloat arrow_scaling = 0.8;
+ int extra = 0;
+ if (!d->gtk_check_version(2, 16, 0)) {
+ // "arrow-scaling" is actually hardcoded and fails on hardy (see gtk+-2.12/gtkmenuitem.c)
+ // though the current documentation states otherwise
+ d->gtk_widget_style_get(gtkMenuItem, "arrow-scaling", &arrow_scaling, NULL);
+ // in versions < 2.16 ythickness was previously subtracted from the arrow_size
+ extra = 2 * gtkMenuItem->style->ythickness;
+ }
- // "arrow-scaling" is actually hardcoded and fails on hardy (see gtk+-2.12/gtkmenuitem.c)
- // though the current documentation states otherwise
int horizontal_padding;
d->gtk_widget_style_get(gtkMenuItem, "horizontal-padding", &horizontal_padding, NULL);
- const int dim = static_cast<int>(arrow_size * arrow_scaling);
+ const int dim = static_cast<int>(arrow_size * arrow_scaling) + extra;
int xpos = menuItem->rect.left() + menuItem->rect.width() - horizontal_padding - dim;
QRect vSubMenuRect = visualRect(option->direction, menuItem->rect,
QRect(xpos, menuItem->rect.top() +
@@ -3123,7 +3129,7 @@ QSize QGtkStyle::sizeFromContents(ContentsType type, const QStyleOption *option,
case CT_ToolButton:
if (const QStyleOptionToolButton *toolbutton = qstyleoption_cast<const QStyleOptionToolButton *>(option)) {
GtkWidget *gtkButton = d->gtkWidget(QLS("GtkToolButton.GtkButton"));
- newSize = size + QSize(2 * gtkButton->style->xthickness, 1 + 2 * gtkButton->style->ythickness);
+ newSize = size + QSize(2 * gtkButton->style->xthickness, 2 + 2 * gtkButton->style->ythickness);
if (widget && qobject_cast<QToolBar *>(widget->parentWidget())) {
QSize minSize(0, 25);
if (toolbutton->toolButtonStyle != Qt::ToolButtonTextOnly)
@@ -3155,7 +3161,7 @@ QSize QGtkStyle::sizeFromContents(ContentsType type, const QStyleOption *option,
GtkWidget *gtkMenuItem = d->gtkWidget(QLS("GtkMenu.GtkMenuItem"));
GtkStyle* style = gtkMenuItem->style;
- newSize += QSize(textMargin + style->xthickness - 2, style->ythickness - 4);
+ newSize += QSize(textMargin + style->xthickness - 1, style->ythickness - 3);
// Cleanlooks assumes a check column of 20 pixels so we need to
// expand it a bit
@@ -3175,7 +3181,7 @@ QSize QGtkStyle::sizeFromContents(ContentsType type, const QStyleOption *option,
case CT_SpinBox:
// QSpinBox does some nasty things that depends on CT_LineEdit
- newSize = size + QSize(0, -d->gtkWidget(QLS("GtkSpinButton"))->style->ythickness * 2 + 2);
+ newSize = size + QSize(0, -d->gtkWidget(QLS("GtkSpinButton"))->style->ythickness * 2);
break;
case CT_PushButton:
@@ -3206,13 +3212,9 @@ QSize QGtkStyle::sizeFromContents(ContentsType type, const QStyleOption *option,
}
break;
- case CT_MenuBarItem://cleanlooks adds 2 pixels
- newSize = QWindowsStyle::sizeFromContents(type, option, size, widget) + QSize(0, 1);
- break;
-
case CT_LineEdit: {
GtkWidget *gtkEntry = d->gtkWidget(QLS("GtkEntry"));
- newSize = size + QSize(2*gtkEntry->style->xthickness, 2*gtkEntry->style->ythickness);
+ newSize = size + QSize(2*gtkEntry->style->xthickness, 2 + 2*gtkEntry->style->ythickness);
}
break;
@@ -3227,7 +3229,7 @@ QSize QGtkStyle::sizeFromContents(ContentsType type, const QStyleOption *option,
newSize = size + QSize(12 + arrowButtonRect.width() + 2*gtkCombo->style->xthickness, 4 + 2*gtkCombo->style->ythickness);
if (!(widget && qobject_cast<QToolBar *>(widget->parentWidget())))
- newSize += QSize(0, 3);
+ newSize += QSize(0, 2);
}
break;
@@ -3240,7 +3242,7 @@ QSize QGtkStyle::sizeFromContents(ContentsType type, const QStyleOption *option,
if (!tab->icon.isNull())
newSize += QSize(6, 0);
}
- newSize += QSize(1, 0);
+ newSize += QSize(1, 1);
break;
default:
diff --git a/src/gui/styles/qgtkstyle_p.cpp b/src/gui/styles/qgtkstyle_p.cpp
index 7119a4f..5f4ebae 100644
--- a/src/gui/styles/qgtkstyle_p.cpp
+++ b/src/gui/styles/qgtkstyle_p.cpp
@@ -202,12 +202,16 @@ Ptr_gnome_vfs_init QGtkStylePrivate::gnome_vfs_init = 0;
typedef int (*x11ErrorHandler)(Display*, XErrorEvent*);
-static void gtkStyleSetCallback(GtkWidget*, QGtkStylePrivate* stylePrivate)
+Q_DECLARE_METATYPE(QGtkStylePrivate*);
+
+static void gtkStyleSetCallback(GtkWidget*)
{
+ qRegisterMetaType<QGtkStylePrivate *>();
+
// We have to let this function return and complete the event
// loop to ensure that all gtk widgets have been styled before
// updating
- QMetaObject::invokeMethod(styleScheduler(), "updateTheme", Qt::QueuedConnection, Q_ARG(QGtkStylePrivate*, stylePrivate));
+ QMetaObject::invokeMethod(styleScheduler(), "updateTheme", Qt::QueuedConnection);
}
static void update_toolbar_style(GtkWidget *gtkToolBar, GParamSpec *, gpointer)
@@ -251,10 +255,18 @@ bool QGtkStyleFilter::eventFilter(QObject *obj, QEvent *e)
return QObject::eventFilter(obj, e);
}
+QList<QGtkStylePrivate *> QGtkStylePrivate::instances;
+
QGtkStylePrivate::QGtkStylePrivate()
: QCleanlooksStylePrivate()
, filter(this)
{
+ instances.append(this);
+}
+
+QGtkStylePrivate::~QGtkStylePrivate()
+{
+ instances.removeOne(this);
}
void QGtkStylePrivate::init()
@@ -285,7 +297,7 @@ GtkStyle* QGtkStylePrivate::gtkStyle(const QString &path)
/*! \internal
* Get references to gtk functions after we dynamically load the library.
*/
-void QGtkStylePrivate::resolveGtk()
+void QGtkStylePrivate::resolveGtk() const
{
// enforce the "0" suffix, so we'll open libgtk-x11-2.0.so.0
QLibrary libgtk(QLS("gtk-x11-2.0"), 0, 0);
@@ -413,7 +425,7 @@ void QGtkStylePrivate::resolveGtk()
* Initializes a number of gtk menu widgets.
* The widgets are cached.
*/
-void QGtkStylePrivate::initGtkMenu()
+void QGtkStylePrivate::initGtkMenu() const
{
// Create menubar
GtkWidget *gtkMenuBar = QGtkStylePrivate::gtk_menu_bar_new();
@@ -444,7 +456,7 @@ void QGtkStylePrivate::initGtkMenu()
}
-void QGtkStylePrivate::initGtkTreeview()
+void QGtkStylePrivate::initGtkTreeview() const
{
GtkWidget *gtkTreeView = gtk_tree_view_new();
gtk_tree_view_append_column((GtkTreeView*)gtkTreeView, gtk_tree_view_column_new());
@@ -458,7 +470,7 @@ void QGtkStylePrivate::initGtkTreeview()
* Initializes a number of gtk widgets that we can later on use to determine some of our styles.
* The widgets are cached.
*/
-void QGtkStylePrivate::initGtkWidgets()
+void QGtkStylePrivate::initGtkWidgets() const
{
// From gtkmain.c
uid_t ruid = getuid ();
@@ -509,7 +521,7 @@ void QGtkStylePrivate::initGtkWidgets()
if (!gtkWidgetMap()->contains(QLS("GtkButton"))) {
GtkWidget *gtkButton = QGtkStylePrivate::gtk_button_new();
addWidget(gtkButton);
- g_signal_connect(gtkButton, "style-set", G_CALLBACK(gtkStyleSetCallback), this);
+ g_signal_connect(gtkButton, "style-set", G_CALLBACK(gtkStyleSetCallback), 0);
addWidget(QGtkStylePrivate::gtk_tool_button_new(NULL, NULL));
addWidget(QGtkStylePrivate::gtk_arrow_new(GTK_ARROW_DOWN, GTK_SHADOW_NONE));
addWidget(QGtkStylePrivate::gtk_hbutton_box_new());
@@ -613,7 +625,7 @@ bool QGtkStylePrivate::getGConfBool(const QString &key, bool fallback)
return retVal;
}
-QString QGtkStylePrivate::getThemeName() const
+QString QGtkStylePrivate::getThemeName()
{
QString themeName;
// We try to parse the gtkrc file first
@@ -730,7 +742,7 @@ void QGtkStylePrivate::addAllSubWidgets(GtkWidget *widget, gpointer v)
}
// Updates window/windowtext palette based on the indicated gtk widget
-QPalette QGtkStylePrivate::gtkWidgetPalette(const QString &gtkWidgetName)
+QPalette QGtkStylePrivate::gtkWidgetPalette(const QString &gtkWidgetName) const
{
GtkWidget *gtkWidget = QGtkStylePrivate::gtkWidget(gtkWidgetName);
Q_ASSERT(gtkWidget);
@@ -751,7 +763,7 @@ QPalette QGtkStylePrivate::gtkWidgetPalette(const QString &gtkWidgetName)
}
-void QGtkStyleUpdateScheduler::updateTheme( QGtkStylePrivate* stylePrivate )
+void QGtkStyleUpdateScheduler::updateTheme()
{
static QString oldTheme(QLS("qt_not_set"));
QPixmapCache::clear();
@@ -760,20 +772,22 @@ void QGtkStyleUpdateScheduler::updateTheme( QGtkStylePrivate* stylePrivate )
if (QApplication::font() != font)
qApp->setFont(font);
- if (oldTheme != stylePrivate->getThemeName()) {
- oldTheme = stylePrivate->getThemeName();
- QPalette newPalette = qApp->style()->standardPalette();
- QApplicationPrivate::setSystemPalette(newPalette);
- QApplication::setPalette(newPalette);
- stylePrivate->initGtkWidgets();
- stylePrivate->applyCustomPaletteHash();
- QList<QWidget*> widgets = QApplication::allWidgets();
- // Notify all widgets that size metrics might have changed
- foreach (QWidget *widget, widgets) {
- QEvent e(QEvent::StyleChange);
- QApplication::sendEvent(widget, &e);
- }
- }
+ if (oldTheme != QGtkStylePrivate::getThemeName()) {
+ oldTheme = QGtkStylePrivate::getThemeName();
+ QPalette newPalette = qApp->style()->standardPalette();
+ QApplicationPrivate::setSystemPalette(newPalette);
+ QApplication::setPalette(newPalette);
+ if (!QGtkStylePrivate::instances.isEmpty()) {
+ QGtkStylePrivate::instances.last()->initGtkWidgets();
+ QGtkStylePrivate::instances.last()->applyCustomPaletteHash();
+ }
+ QList<QWidget*> widgets = QApplication::allWidgets();
+ // Notify all widgets that size metrics might have changed
+ foreach (QWidget *widget, widgets) {
+ QEvent e(QEvent::StyleChange);
+ QApplication::sendEvent(widget, &e);
+ }
+ }
QIconLoader::instance()->updateSystemTheme();
}
diff --git a/src/gui/styles/qgtkstyle_p.h b/src/gui/styles/qgtkstyle_p.h
index fa16769..f6ab8a3 100644
--- a/src/gui/styles/qgtkstyle_p.h
+++ b/src/gui/styles/qgtkstyle_p.h
@@ -255,16 +255,17 @@ class QGtkStylePrivate : public QCleanlooksStylePrivate
Q_DECLARE_PUBLIC(QGtkStyle)
public:
QGtkStylePrivate();
+ ~QGtkStylePrivate();
QGtkStyleFilter filter;
static GtkWidget* gtkWidget(const QString &path);
static GtkStyle* gtkStyle(const QString &path = QLatin1String("GtkWindow"));
- virtual void resolveGtk();
- virtual void initGtkMenu();
- virtual void initGtkTreeview();
- virtual void initGtkWidgets();
+ virtual void resolveGtk() const;
+ virtual void initGtkMenu() const;
+ virtual void initGtkTreeview() const;
+ virtual void initGtkWidgets() const;
static void cleanupGtkWidgets();
@@ -276,7 +277,7 @@ public:
static bool getGConfBool(const QString &key, bool fallback = 0);
static QString getGConfString(const QString &key, const QString &fallback = QString());
- virtual QString getThemeName() const;
+ static QString getThemeName();
virtual int getSpinboxArrowSize() const;
static void setupGtkFileChooser(GtkWidget* gtkFileChooser, QWidget *parent,
@@ -412,7 +413,7 @@ public:
static Ptr_gnome_icon_lookup_sync gnome_icon_lookup_sync;
static Ptr_gnome_vfs_init gnome_vfs_init;
- virtual QPalette gtkWidgetPalette(const QString &gtkWidgetName);
+ virtual QPalette gtkWidgetPalette(const QString &gtkWidgetName) const;
protected:
typedef QHash<QString, GtkWidget*> WidgetMap;
@@ -434,6 +435,10 @@ protected:
static void addWidget(GtkWidget *widget);
virtual void init();
+
+private:
+ static QList<QGtkStylePrivate *> instances;
+ friend class QGtkStyleUpdateScheduler;
};
// Helper to ensure that we have polished all our gtk widgets
@@ -442,7 +447,7 @@ class QGtkStyleUpdateScheduler : public QObject
{
Q_OBJECT
public slots:
- void updateTheme( QGtkStylePrivate* stylePrivate );
+ void updateTheme();
};
QT_END_NAMESPACE
diff --git a/src/gui/styles/qs60style.cpp b/src/gui/styles/qs60style.cpp
index 939ea45..b5c0d4f 100644
--- a/src/gui/styles/qs60style.cpp
+++ b/src/gui/styles/qs60style.cpp
@@ -67,6 +67,7 @@
#include "qtoolbar.h"
#include "qtoolbutton.h"
#include "qfocusframe.h"
+#include "qformlayout.h"
#include "private/qtoolbarextension_p.h"
#include "private/qcombobox_p.h"
@@ -783,6 +784,14 @@ void QS60StylePrivate::setThemePaletteHash(QPalette *palette) const
widgetPalette.setBrush(QPalette::Window, QBrush());
QApplication::setPalette(widgetPalette, "QScrollArea");
widgetPalette = *palette;
+
+ //Webpages should not use S60 theme colors as they are designed to work
+ //with themeBackground and do not generally mesh well with web page backgrounds.
+ QPalette webPalette = *palette;
+ webPalette.setColor(QPalette::WindowText, Qt::black);
+ webPalette.setColor(QPalette::Text, Qt::black);
+ QApplication::setPalette(webPalette, "QWebView");
+ QApplication::setPalette(webPalette, "QGraphicsWebView");
}
QSize QS60StylePrivate::partSize(QS60StyleEnums::SkinParts part, SkinElementFlags flags)
@@ -859,6 +868,13 @@ QSize QS60StylePrivate::partSize(QS60StyleEnums::SkinParts part, SkinElementFlag
return result;
}
+bool QS60StylePrivate::canDrawThemeBackground(const QBrush &backgroundBrush)
+{
+ //If brush is not changed from style's default values, draw theme graphics.
+ return (backgroundBrush.color() == Qt::transparent ||
+ backgroundBrush.style() == Qt::NoBrush) ? true : false;
+}
+
/*!
\class QS60Style
\brief The QS60Style class provides a look and feel suitable for applications on S60.
@@ -1372,8 +1388,10 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option,
highlightRect = option->rect.adjusted(xBeginning, yBeginning, xEnd, yEnd);
}
if (vopt->showDecorationSelected &&
- (vopt->palette.highlight().color() == d->themePalette()->highlight().color()))
+ (vopt->palette.highlight().color() == QS60StylePrivate::themePalette()->highlight().color()))
QS60StylePrivate::drawSkinElement(QS60StylePrivate::SE_ListHighlight, painter, highlightRect, flags);
+ else
+ painter->fillRect(highlightRect, vopt->palette.highlight());
}
// draw the icon
@@ -1845,7 +1863,7 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option,
case CE_ShapedFrame:
if (const QTextEdit *textEdit = qobject_cast<const QTextEdit *>(widget)) {
const QStyleOptionFrame *frame = qstyleoption_cast<const QStyleOptionFrame *>(option);
- if (frame->palette.base().color()==Qt::transparent)
+ if (QS60StylePrivate::canDrawThemeBackground(frame->palette.base()))
QS60StylePrivate::drawSkinElement(QS60StylePrivate::SE_Editor, painter, option->rect, flags);
else
QCommonStyle::drawControl(element, option, painter, widget);
@@ -1919,7 +1937,7 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option,
if (option->state & State_Sunken && option->state & State_Enabled) {
painter->save();
painter->setOpacity(0.5);
- painter->setBrush(d->themePalette()->light());
+ painter->setBrush(QS60StylePrivate::themePalette()->light());
painter->setRenderHint(QPainter::Antialiasing);
const qreal roundRectRadius = 4 * goldenRatio;
painter->drawRoundedRect(option->rect, roundRectRadius, roundRectRadius);
@@ -1938,6 +1956,8 @@ void QS60Style::drawPrimitive(PrimitiveElement element, const QStyleOption *opti
{
Q_D(const QS60Style);
const QS60StylePrivate::SkinElementFlags flags = (option->state & State_Enabled) ? QS60StylePrivate::SF_StateEnabled : QS60StylePrivate::SF_StateDisabled;
+ bool commonStyleDraws = false;
+
switch (element) {
#ifndef QT_NO_LINEEDIT
case PE_PanelLineEdit:
@@ -1946,12 +1966,10 @@ void QS60Style::drawPrimitive(PrimitiveElement element, const QStyleOption *opti
if (widget && qobject_cast<const QComboBox *>(widget->parentWidget()))
break;
#endif
- QBrush editBrush = option->palette.brush(QPalette::Base);
- if (editBrush.color() == Qt::transparent)
- QS60StylePrivate::drawSkinElement(QS60StylePrivate::SE_FrameLineEdit,
- painter, option->rect, flags);
+ if (QS60StylePrivate::canDrawThemeBackground(option->palette.base()))
+ QS60StylePrivate::drawSkinElement(QS60StylePrivate::SE_FrameLineEdit, painter, option->rect, flags);
else
- QCommonStyle::drawPrimitive(element, option, painter, widget);
+ commonStyleDraws = true;
}
break;
#endif // QT_NO_LINEEDIT
@@ -1961,10 +1979,13 @@ void QS60Style::drawPrimitive(PrimitiveElement element, const QStyleOption *opti
const QS60StyleEnums::SkinParts skinPart = (option->state & QStyle::State_On) ?
QS60StyleEnums::SP_QgnIndiCheckboxOn : QS60StyleEnums::SP_QgnIndiCheckboxOff;
painter->save();
- QColor themeColor = d->s60Color(QS60StyleEnums::CL_QsnIconColors, 13, option);
- QColor buttonTextColor = option->palette.buttonText().color();
- if (themeColor != buttonTextColor)
- painter->setPen(buttonTextColor);
+
+ QColor themeColor = QS60StylePrivate::themePalette()->windowText().color();
+ QColor windowTextColor = option->palette.windowText().color();
+
+ if (themeColor != windowTextColor)
+ painter->setPen(windowTextColor);
+
QS60StylePrivate::drawSkinPart(skinPart, painter, option->rect, flags | QS60StylePrivate::SF_ColorSkinned );
painter->restore();
}
@@ -2007,10 +2028,12 @@ void QS60Style::drawPrimitive(PrimitiveElement element, const QStyleOption *opti
buttonRect.adjust(0,-newY,0,-newY);
painter->save();
- QColor themeColor = d->s60Color(QS60StyleEnums::CL_QsnIconColors, 13, option);
+ QColor themeColor = d->s60Color(QS60StyleEnums::CL_QsnTextColors, 6, option);
QColor buttonTextColor = option->palette.buttonText().color();
if (themeColor != buttonTextColor)
painter->setPen(buttonTextColor);
+ else
+ painter->setPen(themeColor);
// Draw radiobutton indicator as color skinned graphics.
QS60StyleEnums::SkinParts skinPart = (option->state & QStyle::State_On) ?
@@ -2024,14 +2047,13 @@ void QS60Style::drawPrimitive(PrimitiveElement element, const QStyleOption *opti
case PE_PanelButtonTool:
case PE_PanelButtonBevel:
case PE_FrameButtonBevel: {
- QBrush editBrush = option->palette.brush(QPalette::Base);
- if (editBrush.color() == Qt::transparent) {
+ if (QS60StylePrivate::canDrawThemeBackground(option->palette.base())) {
const bool isPressed = option->state & QStyle::State_Sunken;
const QS60StylePrivate::SkinElements skinElement =
isPressed ? QS60StylePrivate::SE_ButtonPressed : QS60StylePrivate::SE_ButtonNormal;
QS60StylePrivate::drawSkinElement(skinElement, painter, option->rect, flags);
} else {
- QCommonStyle::drawPrimitive(element, option, painter, widget);
+ commonStyleDraws = true;
}
}
break;
@@ -2059,7 +2081,7 @@ void QS60Style::drawPrimitive(PrimitiveElement element, const QStyleOption *opti
case PE_IndicatorSpinUp:
if (const QStyleOptionSpinBox *spinBox = qstyleoption_cast<const QStyleOptionSpinBox *>(option)) {
QStyleOptionSpinBox optionSpinBox = *spinBox;
- if (optionSpinBox.palette.base().color()==Qt::transparent) {
+ if (QS60StylePrivate::canDrawThemeBackground(optionSpinBox.palette.base())) {
const QS60StyleEnums::SkinParts part = (element == PE_IndicatorSpinUp) ?
QS60StyleEnums::SP_QgnGrafScrollArrowUp :
QS60StyleEnums::SP_QgnGrafScrollArrowDown;
@@ -2067,12 +2089,12 @@ void QS60Style::drawPrimitive(PrimitiveElement element, const QStyleOption *opti
optionSpinBox.rect.translate(0, (element == PE_IndicatorSpinDown) ? adjustment : -adjustment );
QS60StylePrivate::drawSkinPart(part, painter, optionSpinBox.rect,flags);
} else {
- QCommonStyle::drawPrimitive(element, &optionSpinBox, painter, widget);
+ commonStyleDraws = true;
}
}
#ifndef QT_NO_COMBOBOX
else if (const QStyleOptionFrame *cmb = qstyleoption_cast<const QStyleOptionFrame *>(option)) {
- if (cmb->palette.base().color()==Qt::transparent) {
+ if (QS60StylePrivate::canDrawThemeBackground( option->palette.base())) {
// We want to draw down arrow here for comboboxes as well.
const QS60StyleEnums::SkinParts part = QS60StyleEnums::SP_QgnGrafScrollArrowDown;
QStyleOptionFrame comboBox = *cmb;
@@ -2080,7 +2102,7 @@ void QS60Style::drawPrimitive(PrimitiveElement element, const QStyleOption *opti
comboBox.rect.translate(0, (element == PE_IndicatorSpinDown) ? adjustment : -adjustment );
QS60StylePrivate::drawSkinPart(part, painter, comboBox.rect,flags);
} else {
- QCommonStyle::drawPrimitive(element, cmb, painter, widget);
+ commonStyleDraws = true;
}
}
#endif //QT_NO_COMBOBOX
@@ -2111,12 +2133,10 @@ void QS60Style::drawPrimitive(PrimitiveElement element, const QStyleOption *opti
|| qobject_cast<const QMenu *> (widget)
#endif //QT_NO_MENU
) {
- if (option->palette.base().color()==Qt::transparent) {
- QS60StylePrivate::SkinElements skinElement = QS60StylePrivate::SE_OptionsMenu;
- QS60StylePrivate::drawSkinElement(skinElement, painter, option->rect, flags);
- } else {
- QCommonStyle::drawPrimitive(element, option, painter, widget);
- }
+ if (QS60StylePrivate::canDrawThemeBackground(option->palette.base()))
+ QS60StylePrivate::drawSkinElement(QS60StylePrivate::SE_OptionsMenu, painter, option->rect, flags);
+ else
+ commonStyleDraws = true;
}
break;
case PE_FrameWindow:
@@ -2248,6 +2268,9 @@ void QS60Style::drawPrimitive(PrimitiveElement element, const QStyleOption *opti
#endif //QT_NO_COLUMNVIEW
case PE_FrameTabBarBase: // since tabs are in S60 always in navipane, let's use common style for tab base in Qt.
default:
+ commonStyleDraws = true;
+ }
+ if (commonStyleDraws) {
QCommonStyle::drawPrimitive(element, option, painter, widget);
}
}
@@ -2379,6 +2402,9 @@ int QS60Style::styleHint(StyleHint sh, const QStyleOption *opt, const QWidget *w
case SH_RequestSoftwareInputPanel:
retValue = RSIP_OnMouseClickAndAlreadyFocused;
break;
+ case SH_FormLayoutWrapPolicy:
+ retValue = QFormLayout::WrapLongRows;
+ break;
default:
break;
}
diff --git a/src/gui/styles/qs60style_p.h b/src/gui/styles/qs60style_p.h
index cfe87ac..ea86bb2 100644
--- a/src/gui/styles/qs60style_p.h
+++ b/src/gui/styles/qs60style_p.h
@@ -453,6 +453,10 @@ public:
static QSize naviPaneSize();
+ //Checks that the current brush is transparent or has BrushStyle NoBrush,
+ //so that theme graphic background can be drawn.
+ static bool canDrawThemeBackground(const QBrush &backgroundBrush);
+
private:
static void drawPart(QS60StyleEnums::SkinParts part, QPainter *painter,
const QRect &rect, SkinElementFlags flags = KDefaultSkinElementFlags);
diff --git a/src/gui/styles/qstylesheetstyle.cpp b/src/gui/styles/qstylesheetstyle.cpp
index 59210c3..8b40931 100644
--- a/src/gui/styles/qstylesheetstyle.cpp
+++ b/src/gui/styles/qstylesheetstyle.cpp
@@ -4637,6 +4637,7 @@ int QStyleSheetStyle::pixelMetric(PixelMetric m, const QStyleOption *opt, const
}
break;
+#ifndef QT_NO_TABWIDGET
case PM_TabBarTabHSpace:
case PM_TabBarTabVSpace:
subRule = renderRule(w, opt, PseudoElement_TabBarTab);
@@ -4660,11 +4661,14 @@ int QStyleSheetStyle::pixelMetric(PixelMetric m, const QStyleOption *opt, const
return 0;
break;
- case PM_TabBarBaseOverlap:
- if (hasStyleRule(w->parentWidget(), PseudoElement_TabWidgetPane)) {
+ case PM_TabBarBaseOverlap: {
+ const QWidget *tabWidget = qobject_cast<const QTabWidget *>(w) ? w : w->parentWidget();
+ if (hasStyleRule(tabWidget, PseudoElement_TabWidgetPane)) {
return 0;
}
break;
+ }
+#endif // QT_NO_TABWIDGET
case PM_SliderThickness: // horizontal slider's height (sizeHint)
case PM_SliderLength: // minimum length of slider
diff --git a/src/gui/styles/qwindowsstyle.cpp b/src/gui/styles/qwindowsstyle.cpp
index f894b82..30f2f35 100644
--- a/src/gui/styles/qwindowsstyle.cpp
+++ b/src/gui/styles/qwindowsstyle.cpp
@@ -2989,7 +2989,6 @@ void QWindowsStyle::drawComplexControl(ComplexControl cc, const QStyleOptionComp
#ifndef QT_NO_COMBOBOX
case CC_ComboBox:
if (const QStyleOptionComboBox *cmb = qstyleoption_cast<const QStyleOptionComboBox *>(opt)) {
- p->save();
QBrush editBrush = cmb->palette.brush(QPalette::Base);
if ((cmb->subControls & SC_ComboBoxFrame)) {
if (cmb->frame) {
@@ -3059,7 +3058,6 @@ void QWindowsStyle::drawComplexControl(ComplexControl cc, const QStyleOptionComp
proxy()->drawPrimitive(PE_FrameFocusRect, &focus, p, widget);
}
}
- p->restore();
}
break;
#endif // QT_NO_COMBOBOX
diff --git a/src/gui/text/qfontmetrics.cpp b/src/gui/text/qfontmetrics.cpp
index b8c1b33..3d3f1e1 100644
--- a/src/gui/text/qfontmetrics.cpp
+++ b/src/gui/text/qfontmetrics.cpp
@@ -1367,10 +1367,13 @@ qreal QFontMetricsF::rightBearing(QChar ch) const
*/
qreal QFontMetricsF::width(const QString &text) const
{
+ int pos = text.indexOf(QLatin1Char('\x9c'));
+ int len = (pos != -1) ? pos : text.length();
+
QTextEngine layout(text, d.data());
layout.ignoreBidi = true;
layout.itemize();
- return layout.width(0, text.length()).toReal();
+ return layout.width(0, len).toReal();
}
/*!
@@ -1587,7 +1590,7 @@ QRectF QFontMetricsF::boundingRect(const QRectF &rect, int flags, const QString&
*/
QSizeF QFontMetricsF::size(int flags, const QString &text, int tabStops, int *tabArray) const
{
- return boundingRect(QRectF(), flags, text, tabStops, tabArray).size();
+ return boundingRect(QRectF(), flags | Qt::TextLongestVariant, text, tabStops, tabArray).size();
}
/*!
@@ -1642,7 +1645,20 @@ QRectF QFontMetricsF::tightBoundingRect(const QString &text) const
*/
QString QFontMetricsF::elidedText(const QString &text, Qt::TextElideMode mode, qreal width, int flags) const
{
- QStackTextEngine engine(text, QFont(d.data()));
+ QString _text = text;
+ if (!(flags & Qt::TextLongestVariant)) {
+ int posA = 0;
+ int posB = _text.indexOf(QLatin1Char('\x9c'));
+ while (posB >= 0) {
+ QString portion = _text.mid(posA, posB - posA);
+ if (size(flags, portion).width() <= width)
+ return portion;
+ posA = posB + 1;
+ posB = _text.indexOf(QLatin1Char('\x9c'), posA);
+ }
+ _text = _text.mid(posA);
+ }
+ QStackTextEngine engine(_text, QFont(d.data()));
return engine.elidedText(mode, QFixed::fromReal(width), flags);
}
diff --git a/src/gui/text/qtextdocument_p.cpp b/src/gui/text/qtextdocument_p.cpp
index 2ad6512..18e1ffc 100644
--- a/src/gui/text/qtextdocument_p.cpp
+++ b/src/gui/text/qtextdocument_p.cpp
@@ -1114,9 +1114,11 @@ void QTextDocumentPrivate::endEditBlock()
return;
if (undoEnabled && undoState > 0) {
+ const bool wasBlocking = !undoStack[undoState - 1].block_end;
if (undoStack[undoState - 1].block_part) {
undoStack[undoState - 1].block_end = true;
- emit document()->undoCommandAdded();
+ if (wasBlocking)
+ emit document()->undoCommandAdded();
}
}
diff --git a/src/gui/widgets/qlineedit.cpp b/src/gui/widgets/qlineedit.cpp
index f5dbe1c..3800224 100644
--- a/src/gui/widgets/qlineedit.cpp
+++ b/src/gui/widgets/qlineedit.cpp
@@ -1515,7 +1515,8 @@ void QLineEdit::mouseReleaseEvent(QMouseEvent* e)
}
#endif
- d->handleSoftwareInputPanel(e->button(), d->clickCausedFocus);
+ if (!isReadOnly())
+ d->handleSoftwareInputPanel(e->button(), d->clickCausedFocus);
d->clickCausedFocus = 0;
}
@@ -1594,7 +1595,9 @@ void QLineEdit::keyPressEvent(QKeyEvent *event)
&& !isReadOnly())
{
setEditFocus(true);
+#ifndef Q_OS_SYMBIAN
clear();
+#endif
} else {
event->ignore();
return;
@@ -1651,7 +1654,9 @@ void QLineEdit::inputMethodEvent(QInputMethodEvent *e)
&& hasFocus() && !hasEditFocus()
&& !e->preeditString().isEmpty()) {
setEditFocus(true);
+#ifndef Q_OS_SYMBIAN
selectAll(); // so text is replaced rather than appended to
+#endif
}
#endif
@@ -1999,38 +2004,48 @@ QMenu *QLineEdit::createStandardContextMenu()
Q_D(QLineEdit);
QMenu *popup = new QMenu(this);
popup->setObjectName(QLatin1String("qt_edit_menu"));
+ QAction *action = 0;
- QAction *action = popup->addAction(QLineEdit::tr("&Undo") + ACCEL_KEY(QKeySequence::Undo));
- action->setEnabled(d->control->isUndoAvailable());
- connect(action, SIGNAL(triggered()), SLOT(undo()));
+ if (!isReadOnly()) {
+ action = popup->addAction(QLineEdit::tr("&Undo") + ACCEL_KEY(QKeySequence::Undo));
+ action->setEnabled(d->control->isUndoAvailable());
+ connect(action, SIGNAL(triggered()), SLOT(undo()));
- action = popup->addAction(QLineEdit::tr("&Redo") + ACCEL_KEY(QKeySequence::Redo));
- action->setEnabled(d->control->isRedoAvailable());
- connect(action, SIGNAL(triggered()), SLOT(redo()));
+ action = popup->addAction(QLineEdit::tr("&Redo") + ACCEL_KEY(QKeySequence::Redo));
+ action->setEnabled(d->control->isRedoAvailable());
+ connect(action, SIGNAL(triggered()), SLOT(redo()));
- popup->addSeparator();
+ popup->addSeparator();
+ }
#ifndef QT_NO_CLIPBOARD
- action = popup->addAction(QLineEdit::tr("Cu&t") + ACCEL_KEY(QKeySequence::Cut));
- action->setEnabled(!d->control->isReadOnly() && d->control->hasSelectedText()
- && d->control->echoMode() == QLineEdit::Normal);
- connect(action, SIGNAL(triggered()), SLOT(cut()));
+ if (!isReadOnly()) {
+ action = popup->addAction(QLineEdit::tr("Cu&t") + ACCEL_KEY(QKeySequence::Cut));
+ action->setEnabled(!d->control->isReadOnly() && d->control->hasSelectedText()
+ && d->control->echoMode() == QLineEdit::Normal);
+ connect(action, SIGNAL(triggered()), SLOT(cut()));
+ }
action = popup->addAction(QLineEdit::tr("&Copy") + ACCEL_KEY(QKeySequence::Copy));
action->setEnabled(d->control->hasSelectedText()
&& d->control->echoMode() == QLineEdit::Normal);
connect(action, SIGNAL(triggered()), SLOT(copy()));
- action = popup->addAction(QLineEdit::tr("&Paste") + ACCEL_KEY(QKeySequence::Paste));
- action->setEnabled(!d->control->isReadOnly() && !QApplication::clipboard()->text().isEmpty());
- connect(action, SIGNAL(triggered()), SLOT(paste()));
+ if (!isReadOnly()) {
+ action = popup->addAction(QLineEdit::tr("&Paste") + ACCEL_KEY(QKeySequence::Paste));
+ action->setEnabled(!d->control->isReadOnly() && !QApplication::clipboard()->text().isEmpty());
+ connect(action, SIGNAL(triggered()), SLOT(paste()));
+ }
#endif
- action = popup->addAction(QLineEdit::tr("Delete"));
- action->setEnabled(!d->control->isReadOnly() && !d->control->text().isEmpty() && d->control->hasSelectedText());
- connect(action, SIGNAL(triggered()), d->control, SLOT(_q_deleteSelected()));
+ if (!isReadOnly()) {
+ action = popup->addAction(QLineEdit::tr("Delete"));
+ action->setEnabled(!d->control->isReadOnly() && !d->control->text().isEmpty() && d->control->hasSelectedText());
+ connect(action, SIGNAL(triggered()), d->control, SLOT(_q_deleteSelected()));
+ }
- popup->addSeparator();
+ if (!popup->isEmpty())
+ popup->addSeparator();
action = popup->addAction(QLineEdit::tr("Select All") + ACCEL_KEY(QKeySequence::SelectAll));
action->setEnabled(!d->control->text().isEmpty() && !d->control->allSelected());
diff --git a/src/gui/widgets/qlineedit_p.cpp b/src/gui/widgets/qlineedit_p.cpp
index 148da1b..d03c003 100644
--- a/src/gui/widgets/qlineedit_p.cpp
+++ b/src/gui/widgets/qlineedit_p.cpp
@@ -131,12 +131,12 @@ void QLineEditPrivate::init(const QString& txt)
Q_Q(QLineEdit);
control = new QLineControl(txt);
control->setFont(q->font());
- QObject::connect(control, SIGNAL(textChanged(const QString &)),
- q, SIGNAL(textChanged(const QString &)));
- QObject::connect(control, SIGNAL(textEdited(const QString &)),
- q, SLOT(_q_textEdited(const QString &)));
- QObject::connect(control, SIGNAL(cursorPositionChanged(int, int)),
- q, SLOT(_q_cursorPositionChanged(int, int)));
+ QObject::connect(control, SIGNAL(textChanged(QString)),
+ q, SIGNAL(textChanged(QString)));
+ QObject::connect(control, SIGNAL(textEdited(QString)),
+ q, SLOT(_q_textEdited(QString)));
+ QObject::connect(control, SIGNAL(cursorPositionChanged(int,int)),
+ q, SLOT(_q_cursorPositionChanged(int,int)));
QObject::connect(control, SIGNAL(selectionChanged()),
q, SIGNAL(selectionChanged()));
QObject::connect(control, SIGNAL(accepted()),
@@ -147,17 +147,17 @@ void QLineEditPrivate::init(const QString& txt)
QObject::connect(control, SIGNAL(editFocusChange(bool)),
q, SLOT(_q_editFocusChange(bool)));
#endif
- QObject::connect(control, SIGNAL(cursorPositionChanged(int, int)),
+ QObject::connect(control, SIGNAL(cursorPositionChanged(int,int)),
q, SLOT(updateMicroFocus()));
// for now, going completely overboard with updates.
QObject::connect(control, SIGNAL(selectionChanged()),
q, SLOT(update()));
- QObject::connect(control, SIGNAL(displayTextChanged(const QString &)),
+ QObject::connect(control, SIGNAL(displayTextChanged(QString)),
q, SLOT(update()));
- QObject::connect(control, SIGNAL(updateNeeded(const QRect &)),
+ QObject::connect(control, SIGNAL(updateNeeded(QRect)),
q, SLOT(update()));
QStyleOptionFrameV2 opt;
diff --git a/src/gui/widgets/qmdiarea.cpp b/src/gui/widgets/qmdiarea.cpp
index 60c5d7b..b3288c3 100644
--- a/src/gui/widgets/qmdiarea.cpp
+++ b/src/gui/widgets/qmdiarea.cpp
@@ -841,8 +841,8 @@ void QMdiAreaPrivate::appendChild(QMdiSubWindow *child)
child->installEventFilter(q);
QObject::connect(child, SIGNAL(aboutToActivate()), q, SLOT(_q_deactivateAllWindows()));
- QObject::connect(child, SIGNAL(windowStateChanged(Qt::WindowStates, Qt::WindowStates)),
- q, SLOT(_q_processWindowStateChanged(Qt::WindowStates, Qt::WindowStates)));
+ QObject::connect(child, SIGNAL(windowStateChanged(Qt::WindowStates,Qt::WindowStates)),
+ q, SLOT(_q_processWindowStateChanged(Qt::WindowStates,Qt::WindowStates)));
}
/*!
diff --git a/src/gui/widgets/qmdisubwindow.cpp b/src/gui/widgets/qmdisubwindow.cpp
index b5e28da..350f8579 100644
--- a/src/gui/widgets/qmdisubwindow.cpp
+++ b/src/gui/widgets/qmdisubwindow.cpp
@@ -2268,8 +2268,8 @@ QMdiSubWindow::QMdiSubWindow(QWidget *parent, Qt::WindowFlags flags)
else
d->menuIcon = windowIcon();
#endif
- connect(qApp, SIGNAL(focusChanged(QWidget *, QWidget *)),
- this, SLOT(_q_processFocusChanged(QWidget *, QWidget *)));
+ connect(qApp, SIGNAL(focusChanged(QWidget*,QWidget*)),
+ this, SLOT(_q_processFocusChanged(QWidget*,QWidget*)));
}
/*!
diff --git a/src/gui/widgets/qmenu.cpp b/src/gui/widgets/qmenu.cpp
index 54d1612..761a060 100644
--- a/src/gui/widgets/qmenu.cpp
+++ b/src/gui/widgets/qmenu.cpp
@@ -654,6 +654,24 @@ void QMenuPrivate::_q_overrideMenuActionDestroyed()
menuAction=defaultMenuAction;
}
+
+void QMenuPrivate::updateLayoutDirection()
+{
+ Q_Q(QMenu);
+ //we need to mimic the cause of the popup's layout direction
+ //to allow setting it on a mainwindow for example
+ //we call setLayoutDirection_helper to not overwrite a user-defined value
+ if (!q->testAttribute(Qt::WA_SetLayoutDirection)) {
+ if (QWidget *w = causedPopup.widget)
+ setLayoutDirection_helper(w->layoutDirection());
+ else if (QWidget *w = q->parentWidget())
+ setLayoutDirection_helper(w->layoutDirection());
+ else
+ setLayoutDirection_helper(QApplication::layoutDirection());
+ }
+}
+
+
/*!
Returns the action associated with this menu.
*/
@@ -1106,6 +1124,7 @@ void QMenuPrivate::_q_actionTriggered()
{
Q_Q(QMenu);
if (QAction *action = qobject_cast<QAction *>(q->sender())) {
+ QWeakPointer<QAction> actionGuard = action;
#ifdef QT3_SUPPORT
//we store it here because the action might be deleted/changed by connected slots
const int id = q->findIdForAction(action);
@@ -1115,7 +1134,7 @@ void QMenuPrivate::_q_actionTriggered()
emit q->activated(id);
#endif
- if (!activationRecursionGuard) {
+ if (!activationRecursionGuard && actionGuard) {
//in case the action has not been activated by the mouse
//we check the parent hierarchy
QList< QPointer<QWidget> > list;
@@ -1796,6 +1815,7 @@ void QMenu::popup(const QPoint &p, QAction *atAction)
d->tearoffHighlighted = 0;
d->motions = 0;
d->doChildEffects = true;
+ d->updateLayoutDirection();
#ifndef QT_NO_MENUBAR
// if this menu is part of a chain attached to a QMenuBar, set the
@@ -2346,6 +2366,9 @@ QMenu::event(QEvent *e)
{
Q_D(QMenu);
switch (e->type()) {
+ case QEvent::Polish:
+ d->updateLayoutDirection();
+ break;
case QEvent::ShortcutOverride: {
QKeyEvent *kev = static_cast<QKeyEvent*>(e);
if (kev->key() == Qt::Key_Up || kev->key() == Qt::Key_Down
diff --git a/src/gui/widgets/qmenu_p.h b/src/gui/widgets/qmenu_p.h
index c021063..5757885 100644
--- a/src/gui/widgets/qmenu_p.h
+++ b/src/gui/widgets/qmenu_p.h
@@ -292,6 +292,9 @@ public:
bool hasMouseMoved(const QPoint &globalPos);
+ void updateLayoutDirection();
+
+
//menu fading/scrolling effects
bool doChildEffects;
diff --git a/src/gui/widgets/qmenubar.cpp b/src/gui/widgets/qmenubar.cpp
index b1ff662..e50de02 100644
--- a/src/gui/widgets/qmenubar.cpp
+++ b/src/gui/widgets/qmenubar.cpp
@@ -1934,7 +1934,7 @@ void QMenuBar::setDefaultAction(QAction *act)
if (qt_wince_is_mobile())
if (d->defaultAction) {
disconnect(d->defaultAction, SIGNAL(changed()), this, SLOT(_q_updateDefaultAction()));
- disconnect(d->defaultAction, SIGNAL(destroyed ()), this, SLOT(_q_updateDefaultAction()));
+ disconnect(d->defaultAction, SIGNAL(destroyed()), this, SLOT(_q_updateDefaultAction()));
}
#endif
d->defaultAction = act;
diff --git a/src/gui/widgets/qplaintextedit.cpp b/src/gui/widgets/qplaintextedit.cpp
index 18adc6c..c7759e8 100644
--- a/src/gui/widgets/qplaintextedit.cpp
+++ b/src/gui/widgets/qplaintextedit.cpp
@@ -1966,7 +1966,8 @@ void QPlainTextEdit::mouseReleaseEvent(QMouseEvent *e)
d->ensureCursorVisible();
}
- d->handleSoftwareInputPanel(e->button(), d->clickCausedFocus);
+ if (!isReadOnly())
+ d->handleSoftwareInputPanel(e->button(), d->clickCausedFocus);
d->clickCausedFocus = 0;
}
diff --git a/src/gui/widgets/qtabwidget.cpp b/src/gui/widgets/qtabwidget.cpp
index d22bd54..49651a3 100644
--- a/src/gui/widgets/qtabwidget.cpp
+++ b/src/gui/widgets/qtabwidget.cpp
@@ -699,8 +699,8 @@ void QTabWidget::setTabBar(QTabBar* tb)
setFocusProxy(d->tabs);
connect(d->tabs, SIGNAL(currentChanged(int)),
this, SLOT(_q_showTab(int)));
- connect(d->tabs, SIGNAL(tabMoved(int, int)),
- this, SLOT(_q_tabMoved(int, int)));
+ connect(d->tabs, SIGNAL(tabMoved(int,int)),
+ this, SLOT(_q_tabMoved(int,int)));
if (d->tabs->tabsClosable())
connect(d->tabs, SIGNAL(tabCloseRequested(int)),
this, SIGNAL(tabCloseRequested(int)));
diff --git a/src/gui/widgets/qtextedit.cpp b/src/gui/widgets/qtextedit.cpp
index 998ab4f..1c49ef0 100644
--- a/src/gui/widgets/qtextedit.cpp
+++ b/src/gui/widgets/qtextedit.cpp
@@ -1212,7 +1212,9 @@ void QTextEdit::keyPressEvent(QKeyEvent *e)
if (!hasEditFocus() && !(e->modifiers() & Qt::ControlModifier)) {
if (e->text()[0].isPrint()) {
setEditFocus(true);
+#ifndef Q_OS_SYMBIAN
clear();
+#endif
} else {
e->ignore();
return;
@@ -1576,7 +1578,8 @@ void QTextEdit::mouseReleaseEvent(QMouseEvent *e)
d->autoScrollTimer.stop();
ensureCursorVisible();
}
- d->handleSoftwareInputPanel(e->button(), d->clickCausedFocus);
+ if (!isReadOnly())
+ d->handleSoftwareInputPanel(e->button(), d->clickCausedFocus);
d->clickCausedFocus = 0;
}
@@ -1674,7 +1677,9 @@ void QTextEdit::inputMethodEvent(QInputMethodEvent *e)
&& QApplication::keypadNavigationEnabled()
&& !hasEditFocus()) {
setEditFocus(true);
+#ifndef Q_OS_SYMBIAN
selectAll(); // so text is replaced rather than appended to
+#endif
}
#endif
d->sendControlEvent(e);
diff --git a/src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp b/src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp
index 5de6c70..9645fa8 100644
--- a/src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp
+++ b/src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp
@@ -152,13 +152,23 @@ bool QAudioDeviceInfoInternal::open()
{
int err = 0;
QString dev = device;
- if(!dev.contains(QLatin1String("default"))) {
+ QList<QByteArray> devices = availableDevices(mode);
+
+ if(dev.compare(QLatin1String("default")) == 0) {
+#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
+ dev = QLatin1String(devices.first().constData());
+#else
+ dev = QLatin1String("hw:0,0");
+#endif
+ } else {
#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
- dev = QString(QLatin1String("default:CARD=%1")).arg(dev);
+ dev = device;
#else
int idx = 0;
char *name;
+ QString shortName = device.mid(device.indexOf(QLatin1String("="),0)+1);
+
while(snd_card_get_name(idx,&name) == 0) {
if(dev.contains(QLatin1String(name)))
break;
@@ -195,16 +205,25 @@ bool QAudioDeviceInfoInternal::testSettings(const QAudioFormat& format) const
snd_pcm_hw_params_t *params;
QString dev = device;
- // open()
- if(!dev.contains(QLatin1String("default"))) {
+ QList<QByteArray> devices = QAudioDeviceInfoInternal::availableDevices(QAudio::AudioOutput);
+
+ if(dev.compare(QLatin1String("default")) == 0) {
#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
- dev = QString(QLatin1String("default:CARD=%1")).arg(dev);
+ dev = QLatin1String(devices.first().constData());
+#else
+ dev = QLatin1String("hw:0,0");
+#endif
+ } else {
+#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
+ dev = device;
#else
int idx = 0;
char *name;
-
+
+ QString shortName = device.mid(device.indexOf(QLatin1String("="),0)+1);
+
while(snd_card_get_name(idx,&name) == 0) {
- if(dev.contains(QLatin1String(name)))
+ if(shortName.compare(QLatin1String(name)) == 0)
break;
idx++;
}
@@ -386,6 +405,7 @@ QList<QByteArray> QAudioDeviceInfoInternal::availableDevices(QAudio::Mode mode)
{
QList<QByteArray> devices;
QByteArray filter;
+
#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
// Create a list of all current audio devices that support mode
void **hints, **n;
@@ -408,12 +428,10 @@ QList<QByteArray> QAudioDeviceInfoInternal::availableDevices(QAudio::Mode mode)
descr = snd_device_name_get_hint(*n, "DESC");
io = snd_device_name_get_hint(*n, "IOID");
if((name != NULL) && (descr != NULL) && ((io == NULL) || (io == filter))) {
- QString str = QLatin1String(name);
-
- if(str.contains(QLatin1String("default"))) {
- int pos = str.indexOf(QLatin1String("="),0);
- devices.append(str.mid(pos+1).toLocal8Bit().constData());
- }
+ QString deviceName = QLatin1String(name);
+ QString deviceDescription = QLatin1String(descr);
+ if(deviceDescription.contains(QLatin1String("Default Audio Device")))
+ devices.append(deviceName.toLocal8Bit().constData());
}
if(name != NULL)
free(name);
@@ -448,7 +466,7 @@ QByteArray QAudioDeviceInfoInternal::defaultInputDevice()
if(devices.size() == 0)
return QByteArray();
- return QByteArray("default");
+ return devices.first();
}
QByteArray QAudioDeviceInfoInternal::defaultOutputDevice()
@@ -457,7 +475,7 @@ QByteArray QAudioDeviceInfoInternal::defaultOutputDevice()
if(devices.size() == 0)
return QByteArray();
- return QByteArray("default");
+ return devices.first();
}
QT_END_NAMESPACE
diff --git a/src/multimedia/audio/qaudioinput.cpp b/src/multimedia/audio/qaudioinput.cpp
index e794eaf..8b368d5 100644
--- a/src/multimedia/audio/qaudioinput.cpp
+++ b/src/multimedia/audio/qaudioinput.cpp
@@ -47,7 +47,6 @@
#include "qaudiodevicefactory_p.h"
-
QT_BEGIN_NAMESPACE
/*!
diff --git a/src/multimedia/audio/qaudioinput_alsa_p.cpp b/src/multimedia/audio/qaudioinput_alsa_p.cpp
index 8a8f0db..3dbe66c 100644
--- a/src/multimedia/audio/qaudioinput_alsa_p.cpp
+++ b/src/multimedia/audio/qaudioinput_alsa_p.cpp
@@ -52,6 +52,7 @@
#include <QtCore/qcoreapplication.h>
#include "qaudioinput_alsa_p.h"
+#include "qaudiodeviceinfo_alsa_p.h"
QT_BEGIN_NAMESPACE
@@ -80,8 +81,7 @@ QAudioInputPrivate::QAudioInputPrivate(const QByteArray &device, const QAudioFor
pullMode = true;
resuming = false;
- QStringList list1 = QString(QLatin1String(device)).split(QLatin1String(":"));
- m_device = QByteArray(list1.at(0).toLocal8Bit().constData());
+ m_device = device;
timer = new QTimer(this);
connect(timer,SIGNAL(timeout()),SLOT(userFeed()));
@@ -259,22 +259,31 @@ bool QAudioInputPrivate::open()
unsigned int freakuency=settings.frequency();
QString dev = QString(QLatin1String(m_device.constData()));
- if(!dev.contains(QLatin1String("default"))) {
-#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
- dev = QString(QLatin1String("default:CARD=%1")).arg(QLatin1String(m_device.constData()));
+ QList<QByteArray> devices = QAudioDeviceInfoInternal::availableDevices(QAudio::AudioInput);
+ if(dev.compare(QLatin1String("default")) == 0) {
+#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
+ dev = QLatin1String(devices.first());
+#else
+ dev = QLatin1String("hw:0,0");
+#endif
+ } else {
+#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
+ dev = QLatin1String(m_device);
#else
int idx = 0;
char *name;
+ QString shortName = QLatin1String(m_device.mid(m_device.indexOf('=',0)+1).constData());
+
while(snd_card_get_name(idx,&name) == 0) {
- if(m_device.contains(name))
+ if(qstrncmp(shortName.toLocal8Bit().constData(),name,shortName.length()) == 0)
break;
idx++;
}
dev = QString(QLatin1String("hw:%1,0")).arg(idx);
#endif
}
-
+
// Step 1: try and open the device
while((count < 5) && (err < 0)) {
err=snd_pcm_open(&handle,dev.toLocal8Bit().constData(),SND_PCM_STREAM_CAPTURE,0);
@@ -614,7 +623,7 @@ qint64 QAudioInputPrivate::elapsedUSecs() const
if (deviceState == QAudio::StoppedState)
return 0;
-#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
+#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
snd_pcm_status_t* status;
snd_pcm_status_alloca(&status);
diff --git a/src/multimedia/audio/qaudiooutput_alsa_p.cpp b/src/multimedia/audio/qaudiooutput_alsa_p.cpp
index e9784d2..020a104 100644
--- a/src/multimedia/audio/qaudiooutput_alsa_p.cpp
+++ b/src/multimedia/audio/qaudiooutput_alsa_p.cpp
@@ -52,6 +52,7 @@
#include <QtCore/qcoreapplication.h>
#include "qaudiooutput_alsa_p.h"
+#include "qaudiodeviceinfo_alsa_p.h"
QT_BEGIN_NAMESPACE
@@ -281,21 +282,31 @@ bool QAudioOutputPrivate::open()
unsigned int freakuency=settings.frequency();
QString dev = QLatin1String(m_device.constData());
- if(!dev.contains(QLatin1String("default"))) {
-#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
- dev = QString(QLatin1String("default:CARD=%1")).arg(QLatin1String(m_device.constData()));
+ QList<QByteArray> devices = QAudioDeviceInfoInternal::availableDevices(QAudio::AudioOutput);
+ if(dev.compare(QLatin1String("default")) == 0) {
+#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
+ dev = QLatin1String(devices.first().constData());
+#else
+ dev = QLatin1String("hw:0,0");
+#endif
+ } else {
+#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
+ dev = QLatin1String(m_device);
#else
int idx = 0;
char *name;
+ QString shortName = QLatin1String(m_device.mid(m_device.indexOf('=',0)+1).constData());
+
while(snd_card_get_name(idx,&name) == 0) {
- if(m_device.contains(name))
+ if(qstrncmp(shortName.toLocal8Bit().constData(),name,shortName.length()) == 0)
break;
idx++;
}
dev = QString(QLatin1String("hw:%1,0")).arg(idx);
#endif
}
+
// Step 1: try and open the device
while((count < 5) && (err < 0)) {
err=snd_pcm_open(&handle,dev.toLocal8Bit().constData(),SND_PCM_STREAM_PLAYBACK,0);
@@ -666,7 +677,7 @@ qint64 QAudioOutputPrivate::elapsedUSecs() const
if (deviceState == QAudio::StoppedState)
return 0;
-#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
+#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
snd_pcm_status_t* status;
snd_pcm_status_alloca(&status);
diff --git a/src/network/access/qhttp.cpp b/src/network/access/qhttp.cpp
index f006fba..7365435 100644
--- a/src/network/access/qhttp.cpp
+++ b/src/network/access/qhttp.cpp
@@ -3115,14 +3115,14 @@ void QHttpPrivate::setSock(QTcpSocket *sock)
QObject::connect(socket, SIGNAL(bytesWritten(qint64)),
q, SLOT(_q_slotBytesWritten(qint64)));
#ifndef QT_NO_NETWORKPROXY
- QObject::connect(socket, SIGNAL(proxyAuthenticationRequired(const QNetworkProxy &, QAuthenticator *)),
- q, SIGNAL(proxyAuthenticationRequired(const QNetworkProxy &, QAuthenticator *)));
+ QObject::connect(socket, SIGNAL(proxyAuthenticationRequired(QNetworkProxy,QAuthenticator*)),
+ q, SIGNAL(proxyAuthenticationRequired(QNetworkProxy,QAuthenticator*)));
#endif
#ifndef QT_NO_OPENSSL
if (qobject_cast<QSslSocket *>(socket)) {
- QObject::connect(socket, SIGNAL(sslErrors(const QList<QSslError> &)),
- q, SIGNAL(sslErrors(const QList<QSslError> &)));
+ QObject::connect(socket, SIGNAL(sslErrors(QList<QSslError>)),
+ q, SIGNAL(sslErrors(QList<QSslError>)));
QObject::connect(socket, SIGNAL(encryptedBytesWritten(qint64)),
q, SLOT(_q_slotEncryptedBytesWritten(qint64)));
}
diff --git a/src/network/access/qhttpnetworkconnectionchannel.cpp b/src/network/access/qhttpnetworkconnectionchannel.cpp
index 6962ab3..fa89fcc 100644
--- a/src/network/access/qhttpnetworkconnectionchannel.cpp
+++ b/src/network/access/qhttpnetworkconnectionchannel.cpp
@@ -90,8 +90,8 @@ void QHttpNetworkConnectionChannel::init()
this, SLOT(_q_error(QAbstractSocket::SocketError)),
Qt::DirectConnection);
#ifndef QT_NO_NETWORKPROXY
- QObject::connect(socket, SIGNAL(proxyAuthenticationRequired(const QNetworkProxy&, QAuthenticator*)),
- this, SLOT(_q_proxyAuthenticationRequired(const QNetworkProxy&, QAuthenticator*)),
+ QObject::connect(socket, SIGNAL(proxyAuthenticationRequired(QNetworkProxy,QAuthenticator*)),
+ this, SLOT(_q_proxyAuthenticationRequired(QNetworkProxy,QAuthenticator*)),
Qt::DirectConnection);
#endif
@@ -102,8 +102,8 @@ void QHttpNetworkConnectionChannel::init()
QObject::connect(sslSocket, SIGNAL(encrypted()),
this, SLOT(_q_encrypted()),
Qt::DirectConnection);
- QObject::connect(sslSocket, SIGNAL(sslErrors(const QList<QSslError>&)),
- this, SLOT(_q_sslErrors(const QList<QSslError>&)),
+ QObject::connect(sslSocket, SIGNAL(sslErrors(QList<QSslError>)),
+ this, SLOT(_q_sslErrors(QList<QSslError>)),
Qt::DirectConnection);
QObject::connect(sslSocket, SIGNAL(encryptedBytesWritten(qint64)),
this, SLOT(_q_encryptedBytesWritten(qint64)),
@@ -774,6 +774,8 @@ void QHttpNetworkConnectionChannel::_q_connected()
{
// improve performance since we get the request sent by the kernel ASAP
socket->setSocketOption(QAbstractSocket::LowDelayOption, 1);
+ // not sure yet if it helps, but it makes sense
+ socket->setSocketOption(QAbstractSocket::KeepAliveOption, 1);
pipeliningSupported = QHttpNetworkConnectionChannel::PipeliningSupportUnknown;
diff --git a/src/network/socket/qnativesocketengine.cpp b/src/network/socket/qnativesocketengine.cpp
index ecf5ad9..5d17022 100644
--- a/src/network/socket/qnativesocketengine.cpp
+++ b/src/network/socket/qnativesocketengine.cpp
@@ -876,7 +876,7 @@ bool QNativeSocketEngine::waitForRead(int msecs, bool *timedOut)
*/
bool QNativeSocketEngine::waitForWrite(int msecs, bool *timedOut)
{
- Q_D(const QNativeSocketEngine);
+ Q_D(QNativeSocketEngine);
Q_CHECK_VALID_SOCKETLAYER(QNativeSocketEngine::waitForWrite(), false);
Q_CHECK_NOT_STATE(QNativeSocketEngine::waitForWrite(),
QAbstractSocket::UnconnectedState, false);
@@ -893,6 +893,24 @@ bool QNativeSocketEngine::waitForWrite(int msecs, bool *timedOut)
setState(QAbstractSocket::ConnectedState);
d_func()->fetchConnectionParameters();
return true;
+ } else {
+ int value = 0;
+ int valueSize = sizeof(value);
+ if (::getsockopt(d->socketDescriptor, SOL_SOCKET, SO_ERROR, (char *) &value, &valueSize) == 0) {
+ if (value == WSAECONNREFUSED) {
+ d->setError(QAbstractSocket::ConnectionRefusedError, QNativeSocketEnginePrivate::ConnectionRefusedErrorString);
+ d->socketState = QAbstractSocket::UnconnectedState;
+ return false;
+ } else if (value == WSAETIMEDOUT) {
+ d->setError(QAbstractSocket::NetworkError, QNativeSocketEnginePrivate::ConnectionTimeOutErrorString);
+ d->socketState = QAbstractSocket::UnconnectedState;
+ return false;
+ } else if (value == WSAEHOSTUNREACH) {
+ d->setError(QAbstractSocket::NetworkError, QNativeSocketEnginePrivate::HostUnreachableErrorString);
+ d->socketState = QAbstractSocket::UnconnectedState;
+ return false;
+ }
+ }
}
#endif
@@ -913,7 +931,7 @@ bool QNativeSocketEngine::waitForReadOrWrite(bool *readyToRead, bool *readyToWri
bool checkRead, bool checkWrite,
int msecs, bool *timedOut)
{
- Q_D(const QNativeSocketEngine);
+ Q_D(QNativeSocketEngine);
Q_CHECK_VALID_SOCKETLAYER(QNativeSocketEngine::waitForWrite(), false);
Q_CHECK_NOT_STATE(QNativeSocketEngine::waitForReadOrWrite(),
QAbstractSocket::UnconnectedState, false);
@@ -927,6 +945,24 @@ bool QNativeSocketEngine::waitForReadOrWrite(bool *readyToRead, bool *readyToWri
setState(QAbstractSocket::ConnectedState);
d_func()->fetchConnectionParameters();
return true;
+ } else {
+ int value = 0;
+ int valueSize = sizeof(value);
+ if (::getsockopt(d->socketDescriptor, SOL_SOCKET, SO_ERROR, (char *) &value, &valueSize) == 0) {
+ if (value == WSAECONNREFUSED) {
+ d->setError(QAbstractSocket::ConnectionRefusedError, QNativeSocketEnginePrivate::ConnectionRefusedErrorString);
+ d->socketState = QAbstractSocket::UnconnectedState;
+ return false;
+ } else if (value == WSAETIMEDOUT) {
+ d->setError(QAbstractSocket::NetworkError, QNativeSocketEnginePrivate::ConnectionTimeOutErrorString);
+ d->socketState = QAbstractSocket::UnconnectedState;
+ return false;
+ } else if (value == WSAEHOSTUNREACH) {
+ d->setError(QAbstractSocket::NetworkError, QNativeSocketEnginePrivate::HostUnreachableErrorString);
+ d->socketState = QAbstractSocket::UnconnectedState;
+ return false;
+ }
+ }
}
#endif
if (ret == 0) {
diff --git a/src/network/socket/qnativesocketengine_win.cpp b/src/network/socket/qnativesocketengine_win.cpp
index 63fe78e..91f930a 100644
--- a/src/network/socket/qnativesocketengine_win.cpp
+++ b/src/network/socket/qnativesocketengine_win.cpp
@@ -1107,10 +1107,22 @@ int QNativeSocketEnginePrivate::nativeSelect(int timeout, bool selectForRead) co
tv.tv_sec = timeout / 1000;
tv.tv_usec = (timeout % 1000) * 1000;
- if (selectForRead)
+ if (selectForRead) {
ret = select(0, &fds, 0, 0, timeout < 0 ? 0 : &tv);
- else
- ret = select(0, 0, &fds, 0, timeout < 0 ? 0 : &tv);
+ } else {
+ // select for write
+
+ // Windows needs this to report errors when connecting a socket ...
+ fd_set fdexception;
+ FD_ZERO(&fdexception);
+ FD_SET(socketDescriptor, &fdexception);
+
+ ret = select(0, 0, &fds, &fdexception, timeout < 0 ? 0 : &tv);
+
+ // ... but if it is actually set, pretend it did not happen
+ if (ret > 0 && FD_ISSET(socketDescriptor, &fdexception))
+ ret--;
+ }
if (readEnabled)
readNotifier->setEnabled(true);
@@ -1125,9 +1137,10 @@ int QNativeSocketEnginePrivate::nativeSelect(int timeout,
bool readEnabled = checkRead && readNotifier && readNotifier->isEnabled();
if (readEnabled)
readNotifier->setEnabled(false);
-
+
fd_set fdread;
fd_set fdwrite;
+ fd_set fdexception;
int ret = 0;
@@ -1137,9 +1150,13 @@ int QNativeSocketEnginePrivate::nativeSelect(int timeout,
fdread.fd_array[0] = socketDescriptor;
}
memset(&fdwrite, 0, sizeof(fd_set));
+ FD_ZERO(&fdexception);
if (checkWrite) {
fdwrite.fd_count = 1;
fdwrite.fd_array[0] = socketDescriptor;
+
+ // Windows needs this to report errors when connecting a socket
+ FD_SET(socketDescriptor, &fdexception);
}
struct timeval tv;
@@ -1147,10 +1164,15 @@ int QNativeSocketEnginePrivate::nativeSelect(int timeout,
tv.tv_usec = (timeout % 1000) * 1000;
#if !defined(Q_OS_WINCE)
- ret = select(socketDescriptor + 1, &fdread, &fdwrite, 0, timeout < 0 ? 0 : &tv);
+ ret = select(socketDescriptor + 1, &fdread, &fdwrite, &fdexception, timeout < 0 ? 0 : &tv);
#else
- ret = select(1, &fdread, &fdwrite, 0, timeout < 0 ? 0 : &tv);
+ ret = select(1, &fdread, &fdwrite, &fdexception, timeout < 0 ? 0 : &tv);
#endif
+
+ //... but if it is actually set, pretend it did not happen
+ if (ret > 0 && FD_ISSET(socketDescriptor, &fdexception))
+ ret--;
+
if (readEnabled)
readNotifier->setEnabled(true);
diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
index 8c5bf0e..823f919 100644
--- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
+++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
@@ -158,8 +158,8 @@ QGLTextureGlyphCache::QGLTextureGlyphCache(QGLContext *context, QFontEngineGlyph
, m_height(0)
{
glGenFramebuffers(1, &m_fbo);
- connect(QGLSignalProxy::instance(), SIGNAL(aboutToDestroyContext(const QGLContext *)),
- SLOT(contextDestroyed(const QGLContext *)));
+ connect(QGLSignalProxy::instance(), SIGNAL(aboutToDestroyContext(const QGLContext*)),
+ SLOT(contextDestroyed(const QGLContext*)));
}
QGLTextureGlyphCache::~QGLTextureGlyphCache()
diff --git a/src/opengl/qgl.cpp b/src/opengl/qgl.cpp
index f8a2ea4..d5ca218 100644
--- a/src/opengl/qgl.cpp
+++ b/src/opengl/qgl.cpp
@@ -184,8 +184,13 @@ public:
engineType = QPaintEngine::OpenGL2;
#else
// We can't do this in the constructor for this object because it
- // needs to be called *before* the QApplication constructor
+ // needs to be called *before* the QApplication constructor.
+ // Also check for the FragmentProgram extension in conjunction with
+ // the 2.0 version flag, to cover the case where we export the display
+ // from an old GL 1.1 server to a GL 2.x client. In that case we can't
+ // use GL 2.0.
if ((QGLFormat::openGLVersionFlags() & QGLFormat::OpenGL_Version_2_0)
+ && (QGLExtensions::glExtensions & QGLExtensions::FragmentProgram)
&& qgetenv("QT_GL_USE_OPENGL1ENGINE").isEmpty())
engineType = QPaintEngine::OpenGL2;
else
@@ -2170,8 +2175,8 @@ QGLTexture* QGLContextPrivate::bindTexture(const QImage &image, GLenum target, G
int tx_h = qt_next_power_of_two(image.height());
QImage img = image;
- if (( !(QGLFormat::openGLVersionFlags() & QGLFormat::OpenGL_Version_2_0) &&
- !(QGLFormat::openGLVersionFlags() & QGLFormat::OpenGL_ES_Version_2_0) )
+ if (!(QGLExtensions::glExtensions & QGLExtensions::NPOTTextures)
+ && !(QGLFormat::openGLVersionFlags() & QGLFormat::OpenGL_ES_Version_2_0)
&& (target == GL_TEXTURE_2D && (tx_w != image.width() || tx_h != image.height())))
{
img = img.scaled(tx_w, tx_h);
@@ -2192,9 +2197,9 @@ QGLTexture* QGLContextPrivate::bindTexture(const QImage &image, GLenum target, G
bool genMipmap = false;
#endif
if (glFormat.directRendering()
- && QGLExtensions::glExtensions & QGLExtensions::GenerateMipmap
+ && (QGLExtensions::glExtensions & QGLExtensions::GenerateMipmap)
&& target == GL_TEXTURE_2D
- && options & QGLContext::MipmapBindOption)
+ && (options & QGLContext::MipmapBindOption))
{
#ifdef QGL_BIND_TEXTURE_DEBUG
printf(" - generating mipmaps (%d ms)\n", time.elapsed());
@@ -2220,7 +2225,7 @@ QGLTexture* QGLContextPrivate::bindTexture(const QImage &image, GLenum target, G
bool premul = options & QGLContext::PremultipliedAlphaBindOption;
GLenum externalFormat;
GLuint pixel_type;
- if (QGLFormat::openGLVersionFlags() & QGLFormat::OpenGL_Version_1_2) {
+ if (QGLExtensions::glExtensions & QGLExtensions::BGRATextureFormat) {
externalFormat = GL_BGRA;
pixel_type = GL_UNSIGNED_INT_8_8_8_8_REV;
} else {
@@ -4886,54 +4891,59 @@ QGLWidget::QGLWidget(QGLContext *context, QWidget *parent,
void QGLExtensions::init_extensions()
{
- QString extensions = QLatin1String(reinterpret_cast<const char *>(glGetString(GL_EXTENSIONS)));
- if (extensions.contains(QLatin1String("texture_rectangle")))
+ QList<QByteArray> extensions = QByteArray(reinterpret_cast<const char *>(glGetString(GL_EXTENSIONS))).split(' ');
+ if (extensions.contains("GL_ARB_texture_rectangle"))
glExtensions |= TextureRectangle;
- if (extensions.contains(QLatin1String("multisample")))
+ if (extensions.contains("GL_ARB_multisample"))
glExtensions |= SampleBuffers;
- if (extensions.contains(QLatin1String("generate_mipmap")))
+ if (extensions.contains("GL_SGIS_generate_mipmap"))
glExtensions |= GenerateMipmap;
- if (extensions.contains(QLatin1String("texture_compression_s3tc")))
+ if (extensions.contains("GL_EXT_texture_compression_s3tc"))
glExtensions |= TextureCompression;
- if (extensions.contains(QLatin1String("ARB_fragment_program")))
+ if (extensions.contains("GL_ARB_fragment_program"))
glExtensions |= FragmentProgram;
- if (extensions.contains(QLatin1String("mirrored_repeat")))
+ if (extensions.contains("GL_ARB_texture_mirrored_repeat"))
glExtensions |= MirroredRepeat;
- if (extensions.contains(QLatin1String("EXT_framebuffer_object")))
+ if (extensions.contains("GL_EXT_framebuffer_object"))
glExtensions |= FramebufferObject;
- if (extensions.contains(QLatin1String("EXT_stencil_two_side")))
+ if (extensions.contains("GL_EXT_stencil_two_side"))
glExtensions |= StencilTwoSide;
- if (extensions.contains(QLatin1String("EXT_stencil_wrap")))
+ if (extensions.contains("GL_EXT_stencil_wrap"))
glExtensions |= StencilWrap;
- if (extensions.contains(QLatin1String("EXT_packed_depth_stencil")))
+ if (extensions.contains("GL_EXT_packed_depth_stencil"))
glExtensions |= PackedDepthStencil;
- if (extensions.contains(QLatin1String("GL_NV_float_buffer")))
+ if (extensions.contains("GL_NV_float_buffer"))
glExtensions |= NVFloatBuffer;
- if (extensions.contains(QLatin1String("ARB_pixel_buffer_object")))
+ if (extensions.contains("GL_ARB_pixel_buffer_object"))
glExtensions |= PixelBufferObject;
#if defined(QT_OPENGL_ES_2)
glExtensions |= FramebufferObject;
glExtensions |= GenerateMipmap;
#endif
#if defined(QT_OPENGL_ES_1) || defined(QT_OPENGL_ES_1_CL)
- if (extensions.contains(QLatin1String("OES_framebuffer_object")))
+ if (extensions.contains("GL_OES_framebuffer_object"))
glExtensions |= FramebufferObject;
#endif
#if defined(QT_OPENGL_ES)
- if (extensions.contains(QLatin1String("OES_packed_depth_stencil")))
+ if (extensions.contains("GL_OES_packed_depth_stencil"))
glExtensions |= PackedDepthStencil;
#endif
- if (extensions.contains(QLatin1String("ARB_framebuffer_object"))) {
+ if (extensions.contains("GL_ARB_framebuffer_object")) {
// ARB_framebuffer_object also includes EXT_framebuffer_blit.
glExtensions |= FramebufferObject;
glExtensions |= FramebufferBlit;
}
- if (extensions.contains(QLatin1String("EXT_framebuffer_blit")))
+
+ if (extensions.contains("GL_EXT_framebuffer_blit"))
glExtensions |= FramebufferBlit;
- if (extensions.contains(QLatin1String("GL_ARB_texture_non_power_of_two")))
+ if (extensions.contains("GL_ARB_texture_non_power_of_two"))
glExtensions |= NPOTTextures;
+ if (extensions.contains("GL_EXT_bgra"))
+ glExtensions |= BGRATextureFormat;
+
+
QGLContext cx(QGLFormat::defaultFormat());
if (glExtensions & TextureCompression) {
qt_glCompressedTexImage2DARB = (pfn_glCompressedTexImage2DARB) cx.getProcAddress(QLatin1String("glCompressedTexImage2DARB"));
diff --git a/src/opengl/qgl_p.h b/src/opengl/qgl_p.h
index 45b2942..8e472e5 100644
--- a/src/opengl/qgl_p.h
+++ b/src/opengl/qgl_p.h
@@ -375,7 +375,8 @@ public:
NVFloatBuffer = 0x00000400,
PixelBufferObject = 0x00000800,
FramebufferBlit = 0x00001000,
- NPOTTextures = 0x00002000
+ NPOTTextures = 0x00002000,
+ BGRATextureFormat = 0x00004000
};
Q_DECLARE_FLAGS(Extensions, Extension)
diff --git a/src/opengl/qgl_x11.cpp b/src/opengl/qgl_x11.cpp
index 899047a..a037282 100644
--- a/src/opengl/qgl_x11.cpp
+++ b/src/opengl/qgl_x11.cpp
@@ -343,8 +343,8 @@ void* qglx_getProcAddress(const char* procName)
static bool triedResolvingGlxGetProcAddress = false;
if (!triedResolvingGlxGetProcAddress) {
triedResolvingGlxGetProcAddress = true;
- QString glxExt = QLatin1String(glXGetClientString(QX11Info::display(), GLX_EXTENSIONS));
- if (glxExt.contains(QLatin1String("GLX_ARB_get_proc_address"))) {
+ QList<QByteArray> glxExt = QByteArray(glXGetClientString(QX11Info::display(), GLX_EXTENSIONS)).split(' ');
+ if (glxExt.contains("GLX_ARB_get_proc_address")) {
#if defined(Q_OS_LINUX) || defined(Q_OS_BSD4)
void *handle = dlopen(NULL, RTLD_LAZY);
if (handle) {
@@ -523,8 +523,8 @@ bool QGLContext::chooseContext(const QGLContext* shareContext)
if (!d->gpm)
return false;
}
- QString glxExt = QLatin1String(glXGetClientString(QX11Info::display(), GLX_EXTENSIONS));
- if (glxExt.contains(QLatin1String("GLX_SGI_video_sync"))) {
+ QList<QByteArray> glxExt = QByteArray(glXQueryExtensionsString(xinfo->display(), xinfo->screen())).split(' ');
+ if (glxExt.contains("GLX_SGI_video_sync")) {
if (d->glFormat.swapInterval() == -1)
d->glFormat.setSwapInterval(0);
} else {
@@ -874,8 +874,9 @@ void QGLContext::swapBuffers() const
static qt_glXWaitVideoSyncSGI glXWaitVideoSyncSGI = 0;
static bool resolved = false;
if (!resolved) {
- QString glxExt = QLatin1String(glXGetClientString(QX11Info::display(), GLX_EXTENSIONS));
- if (glxExt.contains(QLatin1String("GLX_SGI_video_sync"))) {
+ const QX11Info *xinfo = qt_x11Info(d->paintDevice);
+ QList<QByteArray> glxExt = QByteArray(glXQueryExtensionsString(xinfo->display(), xinfo->screen())).split(' ');
+ if (glxExt.contains("GLX_SGI_video_sync")) {
glXGetVideoSyncSGI = (qt_glXGetVideoSyncSGI)qglx_getProcAddress("glXGetVideoSyncSGI");
glXWaitVideoSyncSGI = (qt_glXWaitVideoSyncSGI)qglx_getProcAddress("glXWaitVideoSyncSGI");
}
@@ -1106,8 +1107,8 @@ void *QGLContext::getProcAddress(const QString &proc) const
if (resolved && !glXGetProcAddressARB)
return 0;
if (!glXGetProcAddressARB) {
- QString glxExt = QLatin1String(glXGetClientString(QX11Info::display(), GLX_EXTENSIONS));
- if (glxExt.contains(QLatin1String("GLX_ARB_get_proc_address"))) {
+ QList<QByteArray> glxExt = QByteArray(glXGetClientString(QX11Info::display(), GLX_EXTENSIONS)).split(' ');
+ if (glxExt.contains("GLX_ARB_get_proc_address")) {
#if defined(Q_OS_LINUX) || defined(Q_OS_BSD4)
void *handle = dlopen(NULL, RTLD_LAZY);
if (handle) {
@@ -1594,7 +1595,7 @@ typedef void (*qt_glXReleaseTexImageEXT)(Display*, GLXDrawable, int);
static qt_glXBindTexImageEXT glXBindTexImageEXT = 0;
static qt_glXReleaseTexImageEXT glXReleaseTexImageEXT = 0;
-bool qt_resolveTextureFromPixmap()
+static bool qt_resolveTextureFromPixmap(QPaintDevice *paintDevice)
{
static bool resolvedTextureFromPixmap = false;
@@ -1607,9 +1608,9 @@ bool qt_resolveTextureFromPixmap()
{
return false; // Can't use TFP without NPOT
}
-
- QString glxExt = QLatin1String(glXGetClientString(QX11Info::display(), GLX_EXTENSIONS));
- if (glxExt.contains(QLatin1String("GLX_EXT_texture_from_pixmap"))) {
+ const QX11Info *xinfo = qt_x11Info(paintDevice);
+ QList<QByteArray> glxExt = QByteArray(glXQueryExtensionsString(xinfo->display(), xinfo->screen())).split(' ');
+ if (glxExt.contains("GLX_EXT_texture_from_pixmap")) {
glXBindTexImageEXT = (qt_glXBindTexImageEXT) qglx_getProcAddress("glXBindTexImageEXT");
glXReleaseTexImageEXT = (qt_glXReleaseTexImageEXT) qglx_getProcAddress("glXReleaseTexImageEXT");
}
@@ -1630,7 +1631,7 @@ QGLTexture *QGLContextPrivate::bindTextureFromNativePixmap(QPixmapData *pmd, con
Q_ASSERT(pmd->classId() == QPixmapData::X11Class);
- if (!qt_resolveTextureFromPixmap())
+ if (!qt_resolveTextureFromPixmap(paintDevice))
return 0;
QX11PixmapData *pixmapData = static_cast<QX11PixmapData*>(pmd);
diff --git a/src/opengl/qglpixelbuffer_egl.cpp b/src/opengl/qglpixelbuffer_egl.cpp
index 744fbd4..de08655 100644
--- a/src/opengl/qglpixelbuffer_egl.cpp
+++ b/src/opengl/qglpixelbuffer_egl.cpp
@@ -72,37 +72,53 @@ bool QGLPixelBufferPrivate::init(const QSize &size, const QGLFormat &f, QGLWidge
return false;
}
+ // Find the shared context.
+ QEglContext *shareContext = 0;
+ if (shareWidget && shareWidget->d_func()->glcx)
+ shareContext = shareWidget->d_func()->glcx->d_func()->eglContext;
+
// Choose an appropriate configuration. We use the best format
// we can find, even if it is greater than the requested format.
// We try for a pbuffer that is capable of texture rendering if possible.
- QEglProperties configProps;
- qt_egl_set_format(configProps, QInternal::Pbuffer, f);
- configProps.setRenderableType(ctx->api());
- bool ok = false;
+ textureFormat = EGL_NONE;
+ if (shareContext) {
+ // Use the same configuration as the widget we are sharing with.
+ ctx->setConfig(shareContext->config());
+#if QGL_RENDER_TEXTURE
+ EGLint value = EGL_FALSE;
+ if (ctx->configAttrib(EGL_BIND_TO_TEXTURE_RGBA, &value) && value)
+ textureFormat = EGL_TEXTURE_RGBA;
+ else if (ctx->configAttrib(EGL_BIND_TO_TEXTURE_RGB, &value) && value)
+ textureFormat = EGL_TEXTURE_RGB;
+#endif
+ } else {
+ QEglProperties configProps;
+ qt_egl_set_format(configProps, QInternal::Pbuffer, f);
+ configProps.setRenderableType(ctx->api());
+ bool ok = false;
#if QGL_RENDER_TEXTURE
- textureFormat = EGL_TEXTURE_RGBA;
- configProps.setValue(EGL_BIND_TO_TEXTURE_RGBA, EGL_TRUE);
- ok = ctx->chooseConfig(configProps, QEgl::BestPixelFormat);
- if (!ok) {
- // Try again with RGB texture rendering.
- textureFormat = EGL_TEXTURE_RGB;
- configProps.removeValue(EGL_BIND_TO_TEXTURE_RGBA);
- configProps.setValue(EGL_BIND_TO_TEXTURE_RGB, EGL_TRUE);
+ textureFormat = EGL_TEXTURE_RGBA;
+ configProps.setValue(EGL_BIND_TO_TEXTURE_RGBA, EGL_TRUE);
ok = ctx->chooseConfig(configProps, QEgl::BestPixelFormat);
if (!ok) {
- // One last try for a pbuffer with no texture rendering.
- configProps.removeValue(EGL_BIND_TO_TEXTURE_RGB);
- textureFormat = EGL_NONE;
+ // Try again with RGB texture rendering.
+ textureFormat = EGL_TEXTURE_RGB;
+ configProps.removeValue(EGL_BIND_TO_TEXTURE_RGBA);
+ configProps.setValue(EGL_BIND_TO_TEXTURE_RGB, EGL_TRUE);
+ ok = ctx->chooseConfig(configProps, QEgl::BestPixelFormat);
+ if (!ok) {
+ // One last try for a pbuffer with no texture rendering.
+ configProps.removeValue(EGL_BIND_TO_TEXTURE_RGB);
+ textureFormat = EGL_NONE;
+ }
}
- }
-#else
- textureFormat = EGL_NONE;
#endif
- if (!ok) {
- if (!ctx->chooseConfig(configProps, QEgl::BestPixelFormat)) {
- delete ctx;
- ctx = 0;
- return false;
+ if (!ok) {
+ if (!ctx->chooseConfig(configProps, QEgl::BestPixelFormat)) {
+ delete ctx;
+ ctx = 0;
+ return false;
+ }
}
}
@@ -137,9 +153,6 @@ bool QGLPixelBufferPrivate::init(const QSize &size, const QGLFormat &f, QGLWidge
}
// Create a new context for the configuration.
- QEglContext *shareContext = 0;
- if (shareWidget && shareWidget->d_func()->glcx)
- shareContext = shareWidget->d_func()->glcx->d_func()->eglContext;
if (!ctx->createContext(shareContext)) {
delete ctx;
ctx = 0;
diff --git a/src/opengl/qpaintengine_opengl.cpp b/src/opengl/qpaintengine_opengl.cpp
index aa6b6c9..8ab17a0 100644
--- a/src/opengl/qpaintengine_opengl.cpp
+++ b/src/opengl/qpaintengine_opengl.cpp
@@ -248,8 +248,8 @@ public:
bound(false)
{
connect(QGLSignalProxy::instance(),
- SIGNAL(aboutToDestroyContext(const QGLContext *)),
- SLOT(cleanupGLContextRefs(const QGLContext *)));
+ SIGNAL(aboutToDestroyContext(const QGLContext*)),
+ SLOT(cleanupGLContextRefs(const QGLContext*)));
}
inline void setDevice(QPaintDevice *pdev);
@@ -525,8 +525,8 @@ public:
QGLProgramCache() {
// we have to know when a context is deleted so we can free
// any program handles it holds
- connect(QGLSignalProxy::instance(), SIGNAL(aboutToDestroyContext(const QGLContext *)),
- SLOT(cleanupPrograms(const QGLContext *)));
+ connect(QGLSignalProxy::instance(), SIGNAL(aboutToDestroyContext(const QGLContext*)),
+ SLOT(cleanupPrograms(const QGLContext*)));
}
~QGLProgramCache() {
@@ -639,8 +639,8 @@ public:
: p(priv)
{
connect(QGLSignalProxy::instance(),
- SIGNAL(aboutToDestroyContext(const QGLContext *)),
- SLOT(cleanupGLContextRefs(const QGLContext *)));
+ SIGNAL(aboutToDestroyContext(const QGLContext*)),
+ SLOT(cleanupGLContextRefs(const QGLContext*)));
}
public Q_SLOTS:
@@ -1010,8 +1010,8 @@ public:
QGLGradientCache() : QObject(), buffer_ctx(0)
{
connect(QGLSignalProxy::instance(),
- SIGNAL(aboutToDestroyContext(const QGLContext *)),
- SLOT(cleanupGLContextRefs(const QGLContext *)));
+ SIGNAL(aboutToDestroyContext(const QGLContext*)),
+ SLOT(cleanupGLContextRefs(const QGLContext*)));
}
inline GLuint getBuffer(const QGradient &gradient, qreal opacity, QGLContext *ctx) {
@@ -4712,8 +4712,8 @@ void QGLGlyphCache::cacheGlyphs(QGLContext *context, const QTextItemInt &ti,
QWidget *widget = static_cast<QWidget *>(context->device());
connect(widget, SIGNAL(destroyed(QObject*)), SLOT(widgetDestroyed(QObject*)));
connect(QGLSignalProxy::instance(),
- SIGNAL(aboutToDestroyContext(const QGLContext *)),
- SLOT(cleanupContext(const QGLContext *)));
+ SIGNAL(aboutToDestroyContext(const QGLContext*)),
+ SLOT(cleanupContext(const QGLContext*)));
}
} else {
font_cache = dev_it.value();
diff --git a/src/opengl/qwindowsurface_gl.cpp b/src/opengl/qwindowsurface_gl.cpp
index f1f5976..e353f5d 100644
--- a/src/opengl/qwindowsurface_gl.cpp
+++ b/src/opengl/qwindowsurface_gl.cpp
@@ -374,7 +374,7 @@ void QGLWindowSurface::hijackWindow(QWidget *widget)
union { QGLContext **ctxPtr; void **voidPtr; };
- connect(widget, SIGNAL(destroyed(QObject *)), this, SLOT(deleted(QObject *)));
+ connect(widget, SIGNAL(destroyed(QObject*)), this, SLOT(deleted(QObject*)));
voidPtr = &widgetPrivate->extraData()->glContext;
d_ptr->contexts << ctxPtr;
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp
index eb771ba..4cb0184 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp
@@ -131,8 +131,8 @@ QDirectFBScreenPrivate::QDirectFBScreenPrivate(QDirectFBScreen *qptr)
QWSSignalHandler::instance()->addObject(this);
#endif
#ifdef QT_DIRECTFB_WM
- connect(QWSServer::instance(), SIGNAL(windowEvent(QWSWindow*, QWSServer::WindowEvent)),
- this, SLOT(onWindowEvent(QWSWindow*, QWSServer::WindowEvent)));
+ connect(QWSServer::instance(), SIGNAL(windowEvent(QWSWindow*,QWSServer::WindowEvent)),
+ this, SLOT(onWindowEvent(QWSWindow*,QWSServer::WindowEvent)));
#endif
}
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp
index c9a010f..021d52e 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp
@@ -138,7 +138,7 @@ void QDirectFBWindowSurface::createWindow(const QRect &rect)
DFBWindowDescription description;
memset(&description, 0, sizeof(DFBWindowDescription));
- description.caps = DWCAPS_NODECORATION|DWCAPS_DOUBLEBUFFER;
+ description.caps = DWCAPS_NODECORATION;
description.flags = DWDESC_CAPS|DWDESC_SURFACE_CAPS|DWDESC_PIXELFORMAT|DWDESC_HEIGHT|DWDESC_WIDTH|DWDESC_POSX|DWDESC_POSY;
#if (Q_DIRECTFB_VERSION >= 0x010200)
description.flags |= DWDESC_OPTIONS;
diff --git a/src/plugins/phonon/mmf/mmf.pro b/src/plugins/phonon/mmf/mmf.pro
index ff27ea1..c070605 100644
--- a/src/plugins/phonon/mmf/mmf.pro
+++ b/src/plugins/phonon/mmf/mmf.pro
@@ -1,4 +1,99 @@
-TEMPLATE = subdirs
-SUBDIRS = mmfphonondebug plugin
+# MMF Phonon backend
+
+QT += phonon
+TARGET = phonon_mmf
+PHONON_MMF_DIR = $$QT_SOURCE_TREE/src/3rdparty/phonon/mmf
+
+# Uncomment the following line in order to use the CDrmPlayerUtility client
+# API for audio playback, rather than CMdaAudioPlayerUtility.
+#CONFIG += phonon_mmf_audio_drm
+
+phonon_mmf_audio_drm {
+ LIBS += -lDrmAudioPlayUtility
+ DEFINES += QT_PHONON_MMF_AUDIO_DRM
+} else {
+ LIBS += -lmediaclientaudio
+}
+
+# This is necessary because both epoc32/include and Phonon contain videoplayer.h.
+# By making /epoc32/include the first SYSTEMINCLUDE, we ensure that
+# '#include <videoplayer.h>' picks up the Symbian header, as intended.
+PREPEND_INCLUDEPATH = /epoc32/include
+
+INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+
+HEADERS += \
+ $$PHONON_MMF_DIR/abstractaudioeffect.h \
+ $$PHONON_MMF_DIR/abstractmediaplayer.h \
+ $$PHONON_MMF_DIR/abstractplayer.h \
+ $$PHONON_MMF_DIR/ancestormovemonitor.h \
+ $$PHONON_MMF_DIR/audioequalizer.h \
+ $$PHONON_MMF_DIR/audiooutput.h \
+ $$PHONON_MMF_DIR/audioplayer.h \
+ $$PHONON_MMF_DIR/backend.h \
+ $$PHONON_MMF_DIR/bassboost.h \
+ $$PHONON_MMF_DIR/defs.h \
+ $$PHONON_MMF_DIR/dummyplayer.h \
+ $$PHONON_MMF_DIR/effectfactory.h \
+ $$PHONON_MMF_DIR/mediaobject.h \
+ $$PHONON_MMF_DIR/mmf_medianode.h \
+ $$PHONON_MMF_DIR/mmf_videoplayer.h \
+ $$PHONON_MMF_DIR/objectdump.h \
+ $$PHONON_MMF_DIR/objectdump_global.h \
+ $$PHONON_MMF_DIR/objecttree.h \
+ $$PHONON_MMF_DIR/utils.h \
+ $$PHONON_MMF_DIR/videooutput.h \
+ $$PHONON_MMF_DIR/videowidget.h
+
+SOURCES += \
+ $$PHONON_MMF_DIR/abstractaudioeffect.cpp \
+ $$PHONON_MMF_DIR/abstractmediaplayer.cpp \
+ $$PHONON_MMF_DIR/abstractplayer.cpp \
+ $$PHONON_MMF_DIR/ancestormovemonitor.cpp \
+ $$PHONON_MMF_DIR/audioequalizer.cpp \
+ $$PHONON_MMF_DIR/audiooutput.cpp \
+ $$PHONON_MMF_DIR/audioplayer.cpp \
+ $$PHONON_MMF_DIR/backend.cpp \
+ $$PHONON_MMF_DIR/bassboost.cpp \
+ $$PHONON_MMF_DIR/dummyplayer.cpp \
+ $$PHONON_MMF_DIR/effectfactory.cpp \
+ $$PHONON_MMF_DIR/mediaobject.cpp \
+ $$PHONON_MMF_DIR/mmf_medianode.cpp \
+ $$PHONON_MMF_DIR/mmf_videoplayer.cpp \
+ $$PHONON_MMF_DIR/objectdump.cpp \
+ $$PHONON_MMF_DIR/objecttree.cpp \
+ $$PHONON_MMF_DIR/utils.cpp \
+ $$PHONON_MMF_DIR/videooutput.cpp \
+ $$PHONON_MMF_DIR/videowidget.cpp
+
+HEADERS += $$PHONON_MMF_DIR/objectdump_symbian.h
+SOURCES += $$PHONON_MMF_DIR/objectdump_symbian.cpp
+
+LIBS += -lcone
+LIBS += -lws32
+
+# This is only needed for debug builds, but is always linked against.
+LIBS += -lhal
+
+TARGET.CAPABILITY = all -tcb
+
+LIBS += -lmediaclientvideo # For CVideoPlayerUtility
+LIBS += -lcone # For CCoeEnv
+LIBS += -lws32 # For RWindow
+LIBS += -lefsrv # For file server
+LIBS += -lapgrfx -lapmime # For recognizer
+LIBS += -lmmfcontrollerframework # For CMMFMetaDataEntry
+
+# These are for effects.
+LIBS += -lAudioEqualizerEffect -lBassBoostEffect -lDistanceAttenuationEffect -lDopplerBase -lEffectBase -lEnvironmentalReverbEffect -lListenerDopplerEffect -lListenerLocationEffect -lListenerOrientationEffect -lLocationBase -lLoudnessEffect -lOrientationBase -lSourceDopplerEffect -lSourceLocationEffect -lSourceOrientationEffect -lStereoWideningEffect
+
+# This is needed for having the .qtplugin file properly created on Symbian.
+QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/phonon_backend
+
+target.path = $$[QT_INSTALL_PLUGINS]/phonon_backend
+INSTALLS += target
+
+include(../../qpluginbase.pri)
+
+TARGET.UID3=0x2001E629
-plugin.depends = mmfphonondebug
diff --git a/src/plugins/phonon/mmf/mmfphonondebug/mmfphonondebug.pro b/src/plugins/phonon/mmf/mmfphonondebug/mmfphonondebug.pro
deleted file mode 100644
index 2cfec15..0000000
--- a/src/plugins/phonon/mmf/mmfphonondebug/mmfphonondebug.pro
+++ /dev/null
@@ -1,31 +0,0 @@
-TEMPLATE = lib
-TARGET = phonon_mmf_debug
-OBJECTDUMP_DIR = $$QT_SOURCE_TREE/src/3rdparty/phonon/mmf/mmfphonondebug
-
-CONFIG += staticlib
-
-DEFINES += OBJECTDUMP_LIBRARY
-
-HEADERS += \
- $$OBJECTDUMP_DIR/objectdump_global.h \
- $$OBJECTDUMP_DIR/objectdump.h \
- $$OBJECTDUMP_DIR/objecttree.h
-
-SOURCES += \
- $$OBJECTDUMP_DIR/objectdump.cpp \
- $$OBJECTDUMP_DIR/objecttree.cpp
-
-symbian {
- HEADERS += $$OBJECTDUMP_DIR/objectdump_symbian.h
- SOURCES += $$OBJECTDUMP_DIR/objectdump_symbian.cpp
-
- LIBS += -lcone
- LIBS += -lws32
-
- TARGET.CAPABILITY = all -tcb
-
-} else {
- SOURCES += $$OBJECTDUMP_DIR/objectdump_stub.cpp
-}
-
-TARGET.UID3=0x2001E62A
diff --git a/src/plugins/phonon/mmf/plugin/plugin.pro b/src/plugins/phonon/mmf/plugin/plugin.pro
deleted file mode 100644
index 8a7de98..0000000
--- a/src/plugins/phonon/mmf/plugin/plugin.pro
+++ /dev/null
@@ -1,91 +0,0 @@
-# MMF Phonon backend
-
-QT += phonon
-TARGET = phonon_mmf
-PHONON_MMF_DIR = $$QT_SOURCE_TREE/src/3rdparty/phonon/mmf
-
-# Uncomment the following line in order to use the CDrmPlayerUtility client
-# API for audio playback, rather than CMdaAudioPlayerUtility.
-#CONFIG += phonon_mmf_audio_drm
-
-phonon_mmf_audio_drm {
- LIBS += -lDrmAudioPlayUtility
- DEFINES += QT_PHONON_MMF_AUDIO_DRM
-} else {
- LIBS += -lmediaclientaudio
-}
-
-# This is necessary because both epoc32/include and Phonon contain videoplayer.h.
-# By making /epoc32/include the first SYSTEMINCLUDE, we ensure that
-# '#include <videoplayer.h>' picks up the Symbian header, as intended.
-PREPEND_INCLUDEPATH = /epoc32/include
-
-INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
-
-HEADERS += \
- $$PHONON_MMF_DIR/abstractaudioeffect.h \
- $$PHONON_MMF_DIR/abstractmediaplayer.h \
- $$PHONON_MMF_DIR/abstractplayer.h \
- $$PHONON_MMF_DIR/ancestormovemonitor.h \
- $$PHONON_MMF_DIR/audiooutput.h \
- $$PHONON_MMF_DIR/audioequalizer.h \
- $$PHONON_MMF_DIR/audioplayer.h \
- $$PHONON_MMF_DIR/backend.h \
- $$PHONON_MMF_DIR/bassboost.h \
- $$PHONON_MMF_DIR/defs.h \
- $$PHONON_MMF_DIR/dummyplayer.h \
- $$PHONON_MMF_DIR/effectfactory.h \
- $$PHONON_MMF_DIR/mmf_medianode.h \
- $$PHONON_MMF_DIR/mediaobject.h \
- $$PHONON_MMF_DIR/utils.h \
- $$PHONON_MMF_DIR/videooutput.h \
- $$PHONON_MMF_DIR/videooutputobserver.h \
- $$PHONON_MMF_DIR/mmf_videoplayer.h \
- $$PHONON_MMF_DIR/videowidget.h \
- $$PHONON_MMF_DIR/volumeobserver.h
-
-SOURCES += \
- $$PHONON_MMF_DIR/abstractaudioeffect.cpp \
- $$PHONON_MMF_DIR/abstractmediaplayer.cpp \
- $$PHONON_MMF_DIR/abstractplayer.cpp \
- $$PHONON_MMF_DIR/ancestormovemonitor.cpp \
- $$PHONON_MMF_DIR/audiooutput.cpp \
- $$PHONON_MMF_DIR/audioequalizer.cpp \
- $$PHONON_MMF_DIR/audioplayer.cpp \
- $$PHONON_MMF_DIR/backend.cpp \
- $$PHONON_MMF_DIR/bassboost.cpp \
- $$PHONON_MMF_DIR/dummyplayer.cpp \
- $$PHONON_MMF_DIR/effectfactory.cpp \
- $$PHONON_MMF_DIR/mmf_medianode.cpp \
- $$PHONON_MMF_DIR/mediaobject.cpp \
- $$PHONON_MMF_DIR/utils.cpp \
- $$PHONON_MMF_DIR/videooutput.cpp \
- $$PHONON_MMF_DIR/mmf_videoplayer.cpp \
- $$PHONON_MMF_DIR/videowidget.cpp
-
-debug {
- INCLUDEPATH += $$PHONON_MMF_DIR/mmfphonondebug
- LIBS += -lphonon_mmf_debug.lib
- LIBS += -lhal
-}
-
-LIBS += -lmediaclientvideo # For CVideoPlayerUtility
-LIBS += -lcone # For CCoeEnv
-LIBS += -lws32 # For RWindow
-LIBS += -lefsrv # For file server
-LIBS += -lapgrfx -lapmime # For recognizer
-LIBS += -lmmfcontrollerframework # For CMMFMetaDataEntry
-
-# These are for effects.
-LIBS += -lAudioEqualizerEffect -lBassBoostEffect -lDistanceAttenuationEffect -lDopplerBase -lEffectBase -lEnvironmentalReverbEffect -lListenerDopplerEffect -lListenerLocationEffect -lListenerOrientationEffect -lLocationBase -lLoudnessEffect -lOrientationBase -lSourceDopplerEffect -lSourceLocationEffect -lSourceOrientationEffect -lStereoWideningEffect
-
-# This is needed for having the .qtplugin file properly created on Symbian.
-QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/phonon_backend
-
-target.path = $$[QT_INSTALL_PLUGINS]/phonon_backend
-INSTALLS += target
-
-include(../../../qpluginbase.pri)
-
-TARGET.UID3=0x2001E629
-
diff --git a/src/plugins/phonon/phonon.pro b/src/plugins/phonon/phonon.pro
index 814a062..803d8f9 100644
--- a/src/plugins/phonon/phonon.pro
+++ b/src/plugins/phonon/phonon.pro
@@ -7,4 +7,8 @@ mac:contains(QT_CONFIG, phonon-backend): SUBDIRS *= qt7
win32:!wince*:contains(QT_CONFIG, phonon-backend): SUBDIRS *= ds9
wince*:contains(QT_CONFIG, phonon-backend): SUBDIRS *= waveout
wince*:contains(QT_CONFIG, directshow): SUBDIRS *= ds9
+
+# Note that the MMF backend is in some scenarios an important complement to the
+# Helix backend: the latter requires Symbian signed capabilities, hence MMF
+# provides multimedia for self signed scenarios.
symbian:contains(QT_CONFIG, phonon-backend): SUBDIRS *= mmf
diff --git a/src/qbase.pri b/src/qbase.pri
index 6428130..0aae24d 100644
--- a/src/qbase.pri
+++ b/src/qbase.pri
@@ -36,7 +36,7 @@ CONFIG += qt warn_on depend_includepath
CONFIG += qmake_cache target_qt
CONFIG -= fix_output_dirs
win32|mac:!macx-xcode:CONFIG += debug_and_release
-linux-g++*:QMAKE_LFLAGS += $$QMAKE_LFLAGS_NOUNDEF
+linux*-g++*:QMAKE_LFLAGS += $$QMAKE_LFLAGS_NOUNDEF
contains(QT_CONFIG, reduce_exports):CONFIG += hide_symbols
unix:contains(QT_CONFIG, reduce_relocations):CONFIG += bsymbolic_functions
diff --git a/src/qt3support/dialogs/q3filedialog.cpp b/src/qt3support/dialogs/q3filedialog.cpp
index c14ff5c..22bec63 100644
--- a/src/qt3support/dialogs/q3filedialog.cpp
+++ b/src/qt3support/dialogs/q3filedialog.cpp
@@ -116,8 +116,6 @@
QT_BEGIN_NAMESPACE
-#ifndef QT_MAC_USE_COCOA
-
/* XPM */
static const char * const start_xpm[]={
"16 15 8 1",
@@ -6053,8 +6051,7 @@ Q3FilePreview::Q3FilePreview()
function to provide file previewing.
*/
-#endif // QT_MAC_USE_COCOA
-
+
QT_END_NAMESPACE
#include "moc_q3filedialog.cpp"
diff --git a/src/qt3support/dialogs/q3filedialog.h b/src/qt3support/dialogs/q3filedialog.h
index 8644b4c..f6a7950 100644
--- a/src/qt3support/dialogs/q3filedialog.h
+++ b/src/qt3support/dialogs/q3filedialog.h
@@ -69,8 +69,6 @@ class QUrlInfo;
#ifndef QT_NO_FILEDIALOG
-#ifndef QT_MAC_USE_COCOA
-
class Q_COMPAT_EXPORT Q3FileIconProvider : public QObject
{
Q_OBJECT
@@ -339,8 +337,6 @@ private:
#endif
};
-#endif // QT_MAC_USE_COCOA
-
#endif // QT_NO_FILEDIALOG
QT_END_NAMESPACE
diff --git a/src/qt3support/dialogs/q3filedialog_mac.cpp b/src/qt3support/dialogs/q3filedialog_mac.cpp
index 585fa8f..6c5675b 100644
--- a/src/qt3support/dialogs/q3filedialog_mac.cpp
+++ b/src/qt3support/dialogs/q3filedialog_mac.cpp
@@ -56,11 +56,32 @@
#include "qstringlist.h"
#include "qtextcodec.h"
#include "qdesktopwidget.h"
+#include "qfiledialog.h"
#include <stdlib.h>
QT_BEGIN_NAMESPACE
-#ifndef QT_MAC_USE_COCOA
+#ifdef QT_MAC_USE_COCOA
+
+QStringList Q3FileDialog::macGetOpenFileNames(const QString &filter, QString *pwd,
+ QWidget *parent, const char* /*name*/,
+ const QString& caption, QString *selectedFilter,
+ bool /*multi*/, bool /*directory*/)
+{
+ return QFileDialog::getOpenFileNames(filter, *pwd, parent, 0,
+ caption);
+}
+
+
+QString Q3FileDialog::macGetSaveFileName(const QString &start, const QString &filter,
+ QString *, QWidget *parent, const char* /*name*/,
+ const QString& caption, QString *selectedFilter)
+{
+ return QFileDialog::getSaveFileName(start, filter, parent, 0,
+ caption, selectedFilter);
+}
+
+#else
/*****************************************************************************
Externals
diff --git a/src/script/api/qscriptengine.cpp b/src/script/api/qscriptengine.cpp
index d519102..dc0e0d0 100644
--- a/src/script/api/qscriptengine.cpp
+++ b/src/script/api/qscriptengine.cpp
@@ -776,7 +776,11 @@ QScriptEnginePrivate::QScriptEnginePrivate()
qMetaTypeId<QObjectList>();
#endif
- JSC::initializeThreading(); // ### hmmm
+ if (!QCoreApplication::instance()) {
+ qFatal("QScriptEngine: Must construct a Q(Core)Application before a QScriptEngine");
+ return;
+ }
+ JSC::initializeThreading();
globalData = JSC::JSGlobalData::create().releaseRef();
globalData->clientData = new QScript::GlobalClientData(this);
@@ -1302,7 +1306,7 @@ QScript::QObjectData *QScriptEnginePrivate::qobjectData(QObject *object)
QScript::QObjectData *data = new QScript::QObjectData(this);
m_qobjectData.insert(object, data);
QObject::connect(object, SIGNAL(destroyed(QObject*)),
- q_func(), SLOT(_q_objectDestroyed(QObject *)));
+ q_func(), SLOT(_q_objectDestroyed(QObject*)));
return data;
}
diff --git a/src/scripttools/debugging/qscriptdebuggercodefinderwidget.cpp b/src/scripttools/debugging/qscriptdebuggercodefinderwidget.cpp
index 8ed0aaa..e25bb04 100644
--- a/src/scripttools/debugging/qscriptdebuggercodefinderwidget.cpp
+++ b/src/scripttools/debugging/qscriptdebuggercodefinderwidget.cpp
@@ -143,7 +143,7 @@ QScriptDebuggerCodeFinderWidget::QScriptDebuggerCodeFinderWidget(QWidget *parent
d->editFind = new QLineEdit(this);
d->editFind->setMinimumSize(QSize(150, 0));
- connect(d->editFind, SIGNAL(textChanged(const QString&)),
+ connect(d->editFind, SIGNAL(textChanged(QString)),
this, SLOT(_q_updateButtons()));
connect(d->editFind, SIGNAL(returnPressed()),
this, SLOT(_q_next()));
diff --git a/src/scripttools/debugging/qscriptedit.cpp b/src/scripttools/debugging/qscriptedit.cpp
index 7f0a5e0..67d82a3 100644
--- a/src/scripttools/debugging/qscriptedit.cpp
+++ b/src/scripttools/debugging/qscriptedit.cpp
@@ -110,8 +110,8 @@ QScriptEdit::QScriptEdit(QWidget *parent)
QObject::connect(this, SIGNAL(blockCountChanged(int)),
this, SLOT(updateExtraAreaWidth()));
- QObject::connect(this, SIGNAL(updateRequest(const QRect &, int)),
- this, SLOT(updateExtraArea(const QRect &, int)));
+ QObject::connect(this, SIGNAL(updateRequest(QRect,int)),
+ this, SLOT(updateExtraArea(QRect,int)));
QObject::connect(this, SIGNAL(cursorPositionChanged()),
this, SLOT(highlightCurrentLine()));
diff --git a/src/tools/bootstrap/bootstrap.pri b/src/tools/bootstrap/bootstrap.pri
index b4f9b2f..b3ee948 100644
--- a/src/tools/bootstrap/bootstrap.pri
+++ b/src/tools/bootstrap/bootstrap.pri
@@ -38,7 +38,7 @@ DEPENDPATH += $$INCLUDEPATH \
$$QT_SOURCE_TREE/src/xml
hpux-acc*|hpuxi-acc* {
- LIBS += ../bootstrap/libbootstrap.a
+ LIBS += $$QT_BUILD_TREE/src/tools/bootstrap/libbootstrap.a
} else {
contains(CONFIG, debug_and_release_target) {
CONFIG(debug, debug|release) {
diff --git a/src/tools/bootstrap/bootstrap.pro b/src/tools/bootstrap/bootstrap.pro
index 1f81a6c..722981c 100644
--- a/src/tools/bootstrap/bootstrap.pro
+++ b/src/tools/bootstrap/bootstrap.pro
@@ -31,6 +31,7 @@ win32:DEFINES += QT_NODLL
INCLUDEPATH += $$QT_BUILD_TREE/include \
$$QT_BUILD_TREE/include/QtCore \
$$QT_BUILD_TREE/include/QtXml \
+ $$QT_BUILD_TREE/src/corelib/global # qlibraryinfo.cpp includes qconfig.cpp
DEPENDPATH += $$INCLUDEPATH \
../../corelib/global \
@@ -48,10 +49,12 @@ SOURCES += \
../../corelib/codecs/qtsciicodec.cpp \
../../corelib/codecs/qutfcodec.cpp \
../../corelib/global/qglobal.cpp \
+ ../../corelib/global/qlibraryinfo.cpp \
../../corelib/global/qmalloc.cpp \
../../corelib/global/qnumeric.cpp \
../../corelib/io/qabstractfileengine.cpp \
../../corelib/io/qbuffer.cpp \
+ ../../corelib/io/qdatastream.cpp \
../../corelib/io/qdir.cpp \
../../corelib/io/qdiriterator.cpp \
../../corelib/io/qfile.cpp \
@@ -62,6 +65,7 @@ SOURCES += \
../../corelib/io/qtemporaryfile.cpp \
../../corelib/io/qtextstream.cpp \
../../corelib/io/qurl.cpp \
+ ../../corelib/io/qsettings.cpp \
../../corelib/kernel/qmetatype.cpp \
../../corelib/kernel/qvariant.cpp \
../../corelib/tools/qbitarray.cpp \
@@ -86,11 +90,12 @@ unix:SOURCES += ../../corelib/io/qfsfileengine_unix.cpp \
../../corelib/io/qfsfileengine_iterator_unix.cpp
win32:SOURCES += ../../corelib/io/qfsfileengine_win.cpp \
- ../../corelib/io/qfsfileengine_iterator_win.cpp
+ ../../corelib/io/qfsfileengine_iterator_win.cpp \
+ ../../corelib/io/qsettings_win.cpp
macx: {
QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.4 #enables weak linking for 10.4 (exported)
- SOURCES += ../../corelib/kernel/qcore_mac.cpp
+ SOURCES += ../../corelib/kernel/qcore_mac.cpp ../../corelib/io/qsettings_mac.cpp
LIBS += -framework CoreServices
}
diff --git a/src/tools/rcc/rcc.cpp b/src/tools/rcc/rcc.cpp
index 51f850a..6b3227a 100644
--- a/src/tools/rcc/rcc.cpp
+++ b/src/tools/rcc/rcc.cpp
@@ -709,46 +709,6 @@ bool RCCResourceLibrary::writeHeader()
{
if (m_format == C_Code) {
writeString("/****************************************************************************\n");
- writeString("**\n");
- writeString("** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).\n");
- writeString("** All rights reserved.\n");
- writeString("** Contact: Nokia Corporation (qt-info@nokia.com)\n");
- writeString("**\n");
- writeString("** This file is part of the tools applications of the Qt Toolkit.\n");
- writeString("**\n");
- writeString("** $QT_BEGIN_LICENSE:LGPL$\n");
- writeString("** No Commercial Usage\n");
- writeString("** This file contains pre-release code and may not be distributed.\n");
- writeString("** You may use this file in accordance with the terms and conditions\n");
- writeString("** contained in the Technology Preview License Agreement accompanying\n");
- writeString("** this package.\n");
- writeString("**\n");
- writeString("** GNU Lesser General Public License Usage\n");
- writeString("** Alternatively, this file may be used under the terms of the GNU Lesser\n");
- writeString("** General Public License version 2.1 as published by the Free Software\n");
- writeString("** Foundation and appearing in the file LICENSE.LGPL included in the\n");
- writeString("** packaging of this file. Please review the following information to\n");
- writeString("** ensure the GNU Lesser General Public License version 2.1 requirements\n");
- writeString("** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.\n");
- writeString("**\n");
- writeString("** In addition, as a special exception, Nokia gives you certain additional\n");
- writeString("** rights. These rights are described in the Nokia Qt LGPL Exception\n");
- writeString("** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.\n");
- writeString("**\n");
- writeString("** If you have questions regarding the use of this file, please contact\n");
- writeString("** Nokia at qt-info@nokia.com.\n");
- writeString("**\n");
- writeString("**\n");
- writeString("**\n");
- writeString("**\n");
- writeString("**\n");
- writeString("**\n");
- writeString("**\n");
- writeString("**\n");
- writeString("** $QT_END_LICENSE$\n");
- writeString("**\n");
- writeString("****************************************************************************/\n");
- writeString("/****************************************************************************\n");
writeString("** Resource object code\n");
writeString("**\n");
writeString("** Created: ");
diff --git a/src/tools/uic/cpp/cppwriteinitialization.cpp b/src/tools/uic/cpp/cppwriteinitialization.cpp
index 1690c2e..88dfa98 100644
--- a/src/tools/uic/cpp/cppwriteinitialization.cpp
+++ b/src/tools/uic/cpp/cppwriteinitialization.cpp
@@ -670,10 +670,13 @@ void WriteInitialization::acceptWidget(DomWidget *node)
m_layoutWidget = false;
if (className == QLatin1String("QWidget") && !node->hasAttributeNative()) {
- if (m_widgetChain.top()
- && m_widgetChain.top()->attributeClass() != QLatin1String("QMainWindow")
- && !m_uic->isContainer(m_widgetChain.top()->attributeClass()))
+ if (const DomWidget* parentWidget = m_widgetChain.top()) {
+ const QString parentClass = parentWidget->attributeClass();
+ if (parentClass != QLatin1String("QMainWindow")
+ && !m_uic->isCustomWidgetContainer(parentClass)
+ && !m_uic->isContainer(parentClass))
m_layoutWidget = true;
+ }
}
m_widgetChain.push(node);
m_layoutChain.push(0);
@@ -718,7 +721,7 @@ void WriteInitialization::acceptWidget(DomWidget *node)
m_output << m_indent << parentWidget << "->addDockWidget(" << area << varName << ");\n";
} else if (m_uic->customWidgetsInfo()->extends(className, QLatin1String("QStatusBar"))) {
m_output << m_indent << parentWidget << "->setStatusBar(" << varName << ");\n";
- } else if (className == QLatin1String("QWidget")) {
+ } else {
m_output << m_indent << parentWidget << "->setCentralWidget(" << varName << ");\n";
}
}
@@ -2706,11 +2709,11 @@ void WriteInitialization::acceptConnection(DomConnection *connection)
m_output << m_indent << "QObject::connect("
<< sender
<< ", "
- << "SIGNAL(" << connection->elementSignal() << ')'
+ << "SIGNAL("<<connection->elementSignal()<<')'
<< ", "
<< receiver
<< ", "
- << "SLOT(" << connection->elementSlot() << ')'
+ << "SLOT("<<connection->elementSlot()<<')'
<< ");\n";
}
diff --git a/src/tools/uic/customwidgetsinfo.cpp b/src/tools/uic/customwidgetsinfo.cpp
index 70adba2..ca3fd19 100644
--- a/src/tools/uic/customwidgetsinfo.cpp
+++ b/src/tools/uic/customwidgetsinfo.cpp
@@ -88,6 +88,14 @@ bool CustomWidgetsInfo::extends(const QString &classNameIn, const QLatin1String
return false;
}
+bool CustomWidgetsInfo::isCustomWidgetContainer(const QString &className) const
+{
+ if (const DomCustomWidget *dcw = m_customWidgets.value(className, 0))
+ if (dcw->hasElementContainer())
+ return dcw->elementContainer() != 0;
+ return false;
+}
+
QString CustomWidgetsInfo::realClassName(const QString &className) const
{
if (className == QLatin1String("Line"))
diff --git a/src/tools/uic/customwidgetsinfo.h b/src/tools/uic/customwidgetsinfo.h
index 1471118..d5be5a2 100644
--- a/src/tools/uic/customwidgetsinfo.h
+++ b/src/tools/uic/customwidgetsinfo.h
@@ -78,6 +78,8 @@ public:
bool extends(const QString &className, const QLatin1String &baseClassName) const;
+ bool isCustomWidgetContainer(const QString &className) const;
+
private:
typedef QMap<QString, DomCustomWidget*> NameCustomWidgetMap;
NameCustomWidgetMap m_customWidgets;
diff --git a/src/tools/uic/uic.cpp b/src/tools/uic/uic.cpp
index 32e5e3d..71b6ac1 100644
--- a/src/tools/uic/uic.cpp
+++ b/src/tools/uic/uic.cpp
@@ -363,6 +363,11 @@ bool Uic::isContainer(const QString &className) const
|| customWidgetsInfo()->extends(className, QLatin1String("QDockWidget"));
}
+bool Uic::isCustomWidgetContainer(const QString &className) const
+{
+ return customWidgetsInfo()->isCustomWidgetContainer(className);
+}
+
bool Uic::isStatusBar(const QString &className) const
{
return customWidgetsInfo()->extends(className, QLatin1String("QStatusBar"));
diff --git a/src/tools/uic/uic.h b/src/tools/uic/uic.h
index 3e072a4..5175ea9 100644
--- a/src/tools/uic/uic.h
+++ b/src/tools/uic/uic.h
@@ -115,6 +115,7 @@ public:
bool isStatusBar(const QString &className) const;
bool isButton(const QString &className) const;
bool isContainer(const QString &className) const;
+ bool isCustomWidgetContainer(const QString &className) const;
bool isMenuBar(const QString &className) const;
bool isMenu(const QString &className) const;
diff --git a/src/tools/uic3/uic.cpp b/src/tools/uic3/uic.cpp
index 7872866..6761eaf 100644
--- a/src/tools/uic3/uic.cpp
+++ b/src/tools/uic3/uic.cpp
@@ -322,6 +322,11 @@ bool Uic::isContainer(const QString &className) const
|| customWidgetsInfo()->extends(className, QLatin1String("QDockWidget"));
}
+bool Uic::isCustomWidgetContainer(const QString &className) const
+{
+ return customWidgetsInfo()->isCustomWidgetContainer(className);
+}
+
bool Uic::isStatusBar(const QString &className) const
{
return customWidgetsInfo()->extends(className, QLatin1String("QStatusBar"));
diff --git a/src/tools/uic3/uic.h b/src/tools/uic3/uic.h
index 50aa71c..63a1f8d 100644
--- a/src/tools/uic3/uic.h
+++ b/src/tools/uic3/uic.h
@@ -114,6 +114,7 @@ public:
bool isStatusBar(const QString &className) const;
bool isButton(const QString &className) const;
bool isContainer(const QString &className) const;
+ bool isCustomWidgetContainer(const QString &className) const;
bool isMenuBar(const QString &className) const;
bool isMenu(const QString &className) const;
diff --git a/tests/auto/auto.pro b/tests/auto/auto.pro
index 46f26f8..d5d72a7 100644
--- a/tests/auto/auto.pro
+++ b/tests/auto/auto.pro
@@ -10,7 +10,8 @@ TEMPLATE = subdirs
linguist \
moc \
uic \
- uic3
+ uic3 \
+ guiapplauncher
Q3SUBDIRS += \
q3accel \
q3action \
@@ -58,9 +59,15 @@ Q3SUBDIRS += \
q3toolbar \
q3urloperator \
q3valuelist \
- q3valuevector
+ q3valuevector \
+ q3combobox \
+ q3frame \
+ q3uridrag \
+ q3widgetstack
SUBDIRS += \
+# exceptionsafety_objects \ shouldn't enable it
+ languagechange \
collections \
exceptionsafety \
mediaobject \
@@ -402,8 +409,55 @@ SUBDIRS += \
symbols \
qrand \
utf8 \
- gestures
-
+ gestures \
+ qabstractnetworkcache \
+ qabstractproxymodel \
+ qbytearraymatcher \
+ qcalendarwidget \
+ qcolumnview \
+ qcommandlinkbutton \
+ qdbuscontext \
+ qdbusserver \
+ qdbusservicewatcher \
+ qdiriterator \
+ qeasingcurve \
+ qfileiconprovider \
+ qformlayout \
+ q_func_info \
+ qfuture \
+ qfuturewatcher \
+ qguard \
+ qhttpsocketengine \
+ qinputcontext \
+ qlocalsocket \
+ qmacstyle \
+ qmargins \
+ qnetworkaddressentry \
+ qnetworkcachemetadata \
+ qnetworkdiskcache \
+ qobjectperformance \
+ qpainterpathstroker \
+ qplugin \
+ qpluginloader \
+ qscrollbar \
+ qsharedmemory \
+ qsidebar \
+ qsizegrip \
+ qsoftkeymanager \
+ qsqldriver \
+ qsystemsemaphore \
+ qtconcurrentfilter \
+ qtconcurrentiteratekernel \
+ qtconcurrentmap \
+ qtconcurrentrun \
+ qtconcurrentthreadengine \
+ qthreadpool \
+ qtokenautomaton \
+ qtouchevent \
+ qwidget_window \
+ rcc \
+ windowsmobile
+
!wince*:SUBDIRS += $$Q3SUBDIRS
contains(QT_CONFIG, OdfWriter):SUBDIRS += qzip qtextodfwriter
diff --git a/tests/auto/collections/tst_collections.cpp b/tests/auto/collections/tst_collections.cpp
index f97805e..84f466b 100644
--- a/tests/auto/collections/tst_collections.cpp
+++ b/tests/auto/collections/tst_collections.cpp
@@ -3586,7 +3586,7 @@ void tst_Collections::alignment()
#else
void tst_Collections::alignment()
{
- QSKIP("Compiler doesn't support necessary extension keywords", SkipAll)
+ QSKIP("Compiler doesn't support necessary extension keywords", SkipAll);
}
#endif
diff --git a/tests/auto/guiapplauncher/README.txt b/tests/auto/guiapplauncher/README.txt
new file mode 100644
index 0000000..317f9d0
--- /dev/null
+++ b/tests/auto/guiapplauncher/README.txt
@@ -0,0 +1,14 @@
+This test launches gui applications (tools, demos and prominent examples),
+keeps them running a while (grabbing their top level from the window manager)
+and sends them a Close event via window manager.
+
+It checks that they do not crash nor produce unexpected error output.
+
+Note: Do not play with the machine while it is running as otherwise
+the top-level find algorithm might get confused (especially on Windows).
+
+Environment variables are checked to turned off some tests (see code).
+
+It is currently implemented for X11 (Skips unless DISPLAY is set) and
+Windows, pending an implementation of the WindowManager class and deployment
+on the other platforms.
diff --git a/tests/auto/guiapplauncher/guiapplauncher.pro b/tests/auto/guiapplauncher/guiapplauncher.pro
new file mode 100644
index 0000000..27c3553
--- /dev/null
+++ b/tests/auto/guiapplauncher/guiapplauncher.pro
@@ -0,0 +1,20 @@
+# -------------------------------------------------
+# Project created by QtCreator 2009-11-10T14:39:06
+# -------------------------------------------------
+
+# Link against gui for X11,etc.
+
+DEFINES += SRCDIR=\\\"$$PWD/\\\"
+TARGET = tst_guiapplauncher
+CONFIG += console
+CONFIG -= app_bundle
+CONFIG += qtestlib
+TEMPLATE = app
+SOURCES += tst_guiapplauncher.cpp \
+ windowmanager.cpp
+HEADERS += windowmanager.h
+
+win32 {
+ # process enumeration,etc.
+ LIBS+=user32.lib
+}
diff --git a/tests/auto/guiapplauncher/test.ts b/tests/auto/guiapplauncher/test.ts
new file mode 100644
index 0000000..79c9c76
--- /dev/null
+++ b/tests/auto/guiapplauncher/test.ts
@@ -0,0 +1,973 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="de">
+<context>
+ <name>AssistantServer</name>
+ <message>
+ <location filename="../tools/assistant/compat/main.cpp" line="+225"/>
+ <source>Qt Assistant</source>
+ <translation>Qt Assistant</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Failed to bind to port %1</source>
+ <translation>Kann Port %1 nicht binden</translation>
+ </message>
+</context>
+<context>
+ <name>FontPanel</name>
+ <message>
+ <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="+63"/>
+ <source>Font</source>
+ <translation>Schrift</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>&amp;Writing system</source>
+ <translation>S&amp;kript</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Family</source>
+ <translation>&amp;Schriftart</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>&amp;Style</source>
+ <translation>S&amp;chriftschnitt</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>&amp;Point size</source>
+ <translation>Schriftg&amp;rad</translation>
+ </message>
+</context>
+<context>
+ <name>FontSettingsDialog</name>
+ <message>
+ <location filename="../tools/assistant/compat/fontsettingsdialog.cpp" line="+63"/>
+ <source>Font Settings</source>
+ <translation>Schriftart</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Font settings for:</source>
+ <translation>Schriftart für:</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Browser</source>
+ <translation>Hilfeseiten</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Application</source>
+ <translation>Anwendung</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Use custom settings</source>
+ <translation>Erweitere Einstellungen nutzen</translation>
+ </message>
+</context>
+<context>
+ <name>HelpDialog</name>
+ <message>
+ <location filename="../tools/assistant/compat/helpdialog.ui"/>
+ <source>Con&amp;tents</source>
+ <translation>Inhal&amp;t</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/compat/helpdialog.cpp" line="+376"/>
+ <location line="+16"/>
+ <location line="+661"/>
+ <source>Qt Assistant</source>
+ <translation>Qt Assistant</translation>
+ </message>
+ <message>
+ <location line="-771"/>
+ <source>Open Link in New Window</source>
+ <translation>Öffne Link in neuem Fenster</translation>
+ </message>
+ <message>
+ <location line="+76"/>
+ <location line="+82"/>
+ <source>Prepare...</source>
+ <translation>Initialisiere...</translation>
+ </message>
+ <message>
+ <location line="-47"/>
+ <source>Cannot open the index file %1</source>
+ <translation>Kann Indexdatei %1 nicht öffnen</translation>
+ </message>
+ <message>
+ <location line="+58"/>
+ <location line="+124"/>
+ <location line="+8"/>
+ <source>Warning</source>
+ <translation>Warnung</translation>
+ </message>
+ <message>
+ <location line="-131"/>
+ <location line="+124"/>
+ <source>Documentation file %1 does not exist!
+Skipping file.</source>
+ <translation>Dokumentation %1 existiert nicht!
+Überspringe Datei.</translation>
+ </message>
+ <message>
+ <location line="-112"/>
+ <location line="+133"/>
+ <source>Parse Error</source>
+ <translation>Syntaxfehler</translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <location line="+469"/>
+ <source>Done</source>
+ <translation>Fertig</translation>
+ </message>
+ <message>
+ <location line="-18"/>
+ <source>Indexing files...</source>
+ <translation>Indiziere Dokumentation...</translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Reading dictionary...</source>
+ <translation>Lese Suchindex...</translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <location line="+9"/>
+ <source>Full Text Search</source>
+ <translation>Volltextsuche</translation>
+ </message>
+ <message>
+ <location line="-8"/>
+ <source>Using a wildcard within phrases is not allowed.</source>
+ <translation>Wildcards innerhalb von Phrasen sind nicht zugelassen.</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>The closing quotation mark is missing.</source>
+ <translation>Das schließende Anführungszeichen fehlt.</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+7"/>
+ <source>%n document(s) found.</source>
+ <translation>
+ <numerusform>%n Dokumente gefunden.</numerusform>
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="-882"/>
+ <source>Open Link in Current Tab</source>
+ <translation>Link im Aktuellen Tab öffnen</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Open Link in New Tab</source>
+ <translation>Link in einem neuen Tab öffnen</translation>
+ </message>
+ <message>
+ <location line="+91"/>
+ <source>Failed to load keyword index file
+Assistant will not work!</source>
+ <translation>Die Indexdatei konnte nicht geladen werden.
+Der Assistent ist nicht einsatzbereit!</translation>
+ </message>
+ <message>
+ <location line="+208"/>
+ <source>Documentation file %1 is not compatible!
+Skipping file.</source>
+ <translation>Dokumentation %1 ist nicht kompatibel! Datei wird übersprungen.</translation>
+ </message>
+ <message>
+ <location line="+470"/>
+ <source>Failed to save fulltext search index
+Assistant will not work!</source>
+ <translation>Der Index für die Volltextsuche konnte nicht gespeichert werden.
+Assistent ist nicht einsatzbereit!</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/compat/helpdialog.ui"/>
+ <source>Help</source>
+ <translation>Hilfe</translation>
+ </message>
+ <message>
+ <location/>
+ <source>&lt;b&gt;Help&lt;/b&gt;&lt;p&gt;Choose the topic you want help on from the contents list, or search the index for keywords.&lt;/p&gt;</source>
+ <translation>&lt;b&gt;Hilfe&lt;/b&gt;&lt;p&gt;Wählen Sie ein Hilfethema aus dem Inhalt oder suchen Sie im Index nach Schlüsselwörtern.&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Displays help topics organized by category, index or bookmarks. Another tab inherits the full text search.</source>
+ <translation>Zeigt Hilfethemen geordnet nach Kategorie, Index oder Lesezeichen an. Ein weiterer Abschnitt enthält die Volltextsuche.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>&lt;b&gt;Help topics organized by category.&lt;/b&gt;&lt;p&gt;Double-click an item to see the topics in that category. To view a topic, just double-click it.&lt;/p&gt;</source>
+ <translation>&lt;b&gt;Hilfethemen geordnet nach Kategorie.&lt;/b&gt;&lt;p&gt;Doppelklicken Sie einen Eintrag, um die Themen dieser Kategorie zu sehen. Doppelklicken Sie ein Thema, um es angezeigt zu bekommen.&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <location/>
+ <source>column 1</source>
+ <translation>Spalte 1</translation>
+ </message>
+ <message>
+ <location/>
+ <source>&amp;Index</source>
+ <translation>&amp;Index</translation>
+ </message>
+ <message>
+ <location/>
+ <source>&amp;Look For:</source>
+ <translation>Suchen &amp;nach:</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Enter keyword</source>
+ <translation>Geben Sie ein Schlüsselwort ein</translation>
+ </message>
+ <message>
+ <location/>
+ <source>&lt;b&gt;Enter a keyword.&lt;/b&gt;&lt;p&gt;The list will select an item that matches the entered string best.&lt;/p&gt;</source>
+ <translation>&lt;b&gt;Geben Sie ein Schlüsselwort ein.&lt;/b&gt;&lt;p&gt;Es wird dann der Eintrag aus der Liste ausgewählt, der am besten mit dem eingegebenen Begriff übereinstimmt.&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <location/>
+ <source>&lt;b&gt;List of available help topics.&lt;/b&gt;&lt;p&gt;Double-click on an item to open its help page. If more than one is found, you must specify which page you want.&lt;/p&gt;</source>
+ <translation>&lt;b&gt;Liste aller verfügbaren Hilfethemen.&lt;/b&gt;&lt;p&gt;Doppelklicken Sie auf einen Eintrag, um die Hilfe zu öffnen. Wenn mehr als eine Seite gefunden wurde, wählen Sie die gewünschte Seite aus.&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <location/>
+ <source>&amp;Bookmarks</source>
+ <translation>L&amp;esezeichen</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Displays the list of bookmarks.</source>
+ <translation>Zeigt alle Lesezeichen an.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Add new bookmark</source>
+ <translation>Füge neues Lesezeichen hinzu</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Add the currently displayed page as a new bookmark.</source>
+ <translation>Füge aktuelle Seite zu den Lesezeichen hinzu.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>&amp;New</source>
+ <translation>&amp;Neu</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Delete bookmark</source>
+ <translation>Lösche Lesezeichen</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Delete the selected bookmark.</source>
+ <translation>Lösche markiertes Lesezeichen.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>&amp;Delete</source>
+ <translation>&amp;Löschen</translation>
+ </message>
+ <message>
+ <location/>
+ <source>&amp;Search</source>
+ <translation>&amp;Suche</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Searching f&amp;or:</source>
+ <translation>Suche &amp;nach:</translation>
+ </message>
+ <message>
+ <location/>
+ <source>&lt;b&gt;Enter search word(s).&lt;/b&gt;&lt;p&gt;Enter here the word(s) you are looking for. The words may contain wildcards (*). For a sequence of words quote them.&lt;/p&gt;</source>
+ <translation>&lt;b&gt;Geben Sie Suchbegriffe ein.&lt;/b&gt;&lt;p&gt;Geben Sie hier die gesuchten Begriffe ein. Die Begriffe können Wildcards (*) enthalten. Eine Phrase muß in Anführungszeichen stehen.&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <location/>
+ <source>&lt;b&gt;Found documents&lt;/b&gt;&lt;p&gt;This list contains all found documents from the last search. The documents are ordered, i.e. the first document has the most matches.&lt;/p&gt;</source>
+ <translation>&lt;b&gt;Gefundene Dokumente&lt;/b&gt;&lt;p&gt;Diese Liste beinhaltet alle gefundenen Dokumente der letzten Suche. Die Dokumente sind nach der Häufigkeit der Treffer geordnet.&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Found &amp;Documents:</source>
+ <translation>Gefundene &amp;Dokumente:</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Display the help page for the full text search.</source>
+ <translation>Zeigt die Hilfeseite für die Volltextsuche an.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>He&amp;lp</source>
+ <translation>Hi&amp;lfe</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Pressing this button starts the search.</source>
+ <translation>Startet die Suche.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Preparing...</source>
+ <translation>Initialisiere...</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Enter searchword(s)</source>
+ <translation>Geben Sie Suchbegriffe ein</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Display the help page</source>
+ <translation>Hilfeseite anzeigen</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Start searching</source>
+ <translation>Suche beginnen</translation>
+ </message>
+</context>
+<context>
+ <name>HelpWindow</name>
+ <message>
+ <location filename="../tools/assistant/compat/helpwindow.cpp" line="+97"/>
+ <source>Help</source>
+ <translation>Hilfe</translation>
+ </message>
+ <message>
+ <location line="+93"/>
+ <source>Open Link in New Window Shift+LMB</source>
+ <translation>Öffne Link in neuem Fenster</translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Open Link in New Tab</source>
+ <translation>Link in einem neuen Tab öffnen</translation>
+ </message>
+ <message>
+ <location line="-90"/>
+ <source>Unable to launch web browser.
+</source>
+ <translation>Der Webbrowser konnte nicht gestartet werden.
+</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>OK</source>
+ <translation>OK</translation>
+ </message>
+ <message>
+ <location line="+27"/>
+ <source>Failed to open link: &apos;%1&apos;</source>
+ <translation>Der Link &apos;%1&apos; konnte nicht geöffnet werden</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>&lt;div align=&quot;center&quot;&gt;&lt;h1&gt;The page could not be found&lt;/h1&gt;&lt;br&gt;&lt;h3&gt;&apos;%1&apos;&lt;/h3&gt;&lt;/div&gt;</source>
+ <translation>&lt;div align=&quot;center&quot;&gt;&lt;h1&gt;Die Seite wurde nicht gefunden&lt;/h1&gt;&lt;br&gt;&lt;h3&gt;&apos;%1&apos;&lt;/h3&gt;&lt;/div&gt;</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Error...</source>
+ <translation>Fehler ...</translation>
+ </message>
+ <message>
+ <location line="+56"/>
+ <source>Copy &amp;Link Location</source>
+ <translation>Link-Adresse kopieren</translation>
+ </message>
+</context>
+<context>
+ <name>Index</name>
+ <message>
+ <location filename="../tools/assistant/compat/index.cpp" line="+385"/>
+ <source>Untitled</source>
+ <translation>Unbenannt</translation>
+ </message>
+</context>
+<context>
+ <name>MainWindow</name>
+ <message>
+ <location filename="../tools/assistant/compat/mainwindow.ui"/>
+ <source>Toolbar</source>
+ <translation>Werkzeugleiste</translation>
+ </message>
+ <message>
+ <location/>
+ <source>&amp;Print...</source>
+ <translation>&amp;Drucken...</translation>
+ </message>
+ <message>
+ <location/>
+ <source>E&amp;xit</source>
+ <translation>&amp;Beenden</translation>
+ </message>
+ <message>
+ <location/>
+ <source>&amp;Copy</source>
+ <translation>&amp;Kopieren</translation>
+ </message>
+ <message>
+ <location/>
+ <source>&amp;Find in Text...</source>
+ <translation>Text&amp;suche...</translation>
+ </message>
+ <message>
+ <location/>
+ <source>&amp;Home</source>
+ <translation>St&amp;artseite</translation>
+ </message>
+ <message>
+ <location/>
+ <source>&amp;Previous</source>
+ <translation>&amp;Vorherige</translation>
+ </message>
+ <message>
+ <location/>
+ <source>&amp;Next</source>
+ <translation>&amp;Nächste</translation>
+ </message>
+ <message>
+ <location/>
+ <source>About Qt</source>
+ <translation>Über Qt</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Zoom &amp;in</source>
+ <translation>Vergrößern</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Zoom &amp;out</source>
+ <translation>Ver&amp;kleinern</translation>
+ </message>
+ <message>
+ <location/>
+ <source>New Window</source>
+ <translation>Neues Fenster...</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/compat/mainwindow.cpp" line="+198"/>
+ <source>Ctrl+T</source>
+ <translation>Strg+T
+</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Ctrl+I</source>
+ <translation>Strg+I</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Ctrl+B</source>
+ <translation>Strg+E</translation>
+ </message>
+ <message>
+ <location line="+129"/>
+ <location line="+1"/>
+ <source>Qt Assistant</source>
+ <translation>Qt Assistant</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/compat/mainwindow.ui"/>
+ <source>&amp;Add Bookmark</source>
+ <translation>&amp;Füge Lesezeichen hinzu</translation>
+ </message>
+ <message>
+ <location/>
+ <source>&amp;File</source>
+ <translation>&amp;Datei</translation>
+ </message>
+ <message>
+ <location/>
+ <source>&amp;Edit</source>
+ <translation>&amp;Bearbeiten</translation>
+ </message>
+ <message>
+ <location/>
+ <source>&amp;View</source>
+ <translation>&amp;Ansicht</translation>
+ </message>
+ <message>
+ <location/>
+ <source>&amp;Go</source>
+ <translation>&amp;Gehe zu</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Boo&amp;kmarks</source>
+ <translation>&amp;Lesezeichen</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Qt Assistant by Nokia</source>
+ <translation>Qt Assistant von Nokia</translation>
+ </message>
+ <message>
+ <location/>
+ <source>&amp;Help</source>
+ <translation>&amp;Hilfe</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Print the currently displayed page.</source>
+ <translation>Drucke aktuelle Seite.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Ctrl+P</source>
+ <translation>Strg+P</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Quit Qt Assistant.</source>
+ <translation>Qt Assistant beenden.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Ctrl+Q</source>
+ <translation>Strg+Q</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Copy the selected text to the clipboard.</source>
+ <translation>Den markierten Text in die Zwischenablage kopieren.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Ctrl+C</source>
+ <translation>Strg+C</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Open the Find dialog. Qt Assistant will search the currently displayed page for the text you enter.</source>
+ <translation>Den Suchdialog öffnen. Qt Assistant sucht in der aktuellen Seite nach dem eingegebenen Text.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Ctrl+F</source>
+ <translation>Strg+F</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Go to the home page. Qt Assistant&apos;s home page is the Qt Reference Documentation.</source>
+ <translation>Zur Startseite gehen. Startseite im Qt Assistant ist die Qt-Referenzdokumentation.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Ctrl+Home</source>
+ <translation>Strg+Pos1</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Go to the previous page.</source>
+ <translation>Gehe zur vorherigen Seite.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Alt+Left</source>
+ <translation>Alt+Links</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Go to the next page.</source>
+ <translation>Gehe zur nächsten Seite.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Alt+Right</source>
+ <translation>Alt+Rechts</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Display further information about Qt Assistant.</source>
+ <translation>Zeigt das Handbuch zum Qt Designer an.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Zoom in on the document, i.e. increase the font size.</source>
+ <translation>Vergrößert die Schrift.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Ctrl++</source>
+ <translation>Strg++</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Zoom out on the document, i.e. decrease the font size.</source>
+ <translation>Verkleinert die Schrift.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Ctrl+-</source>
+ <translation>Strg+-</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Open a new window.</source>
+ <translation>Öffnet ein neues Fenster.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Ctrl+N</source>
+ <translation>Strg+N</translation>
+ </message>
+ <message>
+ <location/>
+ <source>&amp;Close</source>
+ <translation>&amp;Schließen</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Close the current window.</source>
+ <translation>Schließt das aktuelle Fenster.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Qt Assistant Manual</source>
+ <translation>Handbuch zu Qt Assistant</translation>
+ </message>
+ <message>
+ <location/>
+ <source>F1</source>
+ <translation>F1</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Add the currently displayed page as a new bookmark.</source>
+ <translation>Aktuelle Seite zu den Lesezeichen hinzufügen.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>What&apos;s This?</source>
+ <translation>Direkthilfe</translation>
+ </message>
+ <message>
+ <location/>
+ <source>&quot;What&apos;s This?&quot; context sensitive help.</source>
+ <translation>Kontextbezogene Direkthilfe.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Shift+F1</source>
+ <translation>Umschalt+F1</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/compat/mainwindow.cpp" line="-129"/>
+ <source>Ctrl+S</source>
+ <translation>Strg+S</translation>
+ </message>
+ <message>
+ <location line="-33"/>
+ <source>Initializing Qt Assistant...</source>
+ <translation>Qt Assistant wird initialisiert...</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/compat/mainwindow.ui"/>
+ <source>Go</source>
+ <translation>Gehe zu</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Find &amp;Next</source>
+ <translation>Weitersuchen</translation>
+ </message>
+ <message>
+ <location/>
+ <source>F3</source>
+ <translation>F3</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Find &amp;Previous</source>
+ <translation>Vorheriges suchen</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Shift+F3</source>
+ <translation>Umschalt+F3</translation>
+ </message>
+ <message>
+ <location/>
+ <source>About Qt Assistant</source>
+ <translation>Über Qt Assistent</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Add Tab</source>
+ <translation>Tab einfügen</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Ctrl+Alt+N</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location/>
+ <source>Next Tab</source>
+ <translation>Nächster Tab</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Ctrl+Alt+Right</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location/>
+ <source>Previous Tab</source>
+ <translation>Voriger Tab</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Ctrl+Alt+Left</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location/>
+ <source>Close Tab</source>
+ <translation>Tab schließen</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Ctrl+Alt+Q</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/compat/mainwindow.cpp" line="+181"/>
+ <source>Failed to open about application contents in file: &apos;%1&apos;</source>
+ <translation>Fehler beim Öffnen des Inhalts in Datei: &apos;%1&apos;</translation>
+ </message>
+ <message>
+ <location line="-246"/>
+ <source>Sidebar</source>
+ <translation>Sidebar</translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>&amp;Window</source>
+ <translation>&amp;Fenster</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Minimize</source>
+ <translation>Minimieren</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Ctrl+M</source>
+ <translation>Strg+M</translation>
+ </message>
+ <message>
+ <location line="+70"/>
+ <source>SHIFT+CTRL+=</source>
+ <translation>Umschalt+Strg+=</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/compat/mainwindow.ui"/>
+ <source>Ctrl+W</source>
+ <translation>Strg+W</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/compat/mainwindow.cpp" line="+8"/>
+ <source>Ctrl+]</source>
+ <translation>Strg+AltGr+]</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Ctrl+[</source>
+ <translation>Strg+AltGr+[</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Views</source>
+ <translation>Menüleisten/Sidebar</translation>
+ </message>
+ <message>
+ <location line="+80"/>
+ <source>Displays the main page of a specific documentation set.</source>
+ <translation>Zeigt die Hauptseite eines Dokumentensets an.</translation>
+ </message>
+ <message>
+ <location line="+262"/>
+ <source>...</source>
+ <translation>...</translation>
+ </message>
+ <message>
+ <location line="+238"/>
+ <location line="+6"/>
+ <source>Save Page</source>
+ <translation>Seite speichern</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Cannot open file for writing!</source>
+ <translation>Die Datei konnte nicht zum Schreiben geöffnet werden.</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/compat/mainwindow.ui"/>
+ <source>Save Page As...</source>
+ <translation>Seite speichern als...</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Ctrl+Alt+S</source>
+ <translation>Strg+Alt+S</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Sync with Table of Contents</source>
+ <translation>Seite mit Inhalt-Tab syncronisieren</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Select the page in contents tab.</source>
+ <translation>Wählt die Seite im Inhalt-Tab aus.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Font Settings...</source>
+ <translation>Schriftart...</translation>
+ </message>
+</context>
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="../tools/assistant/compat/config.cpp" line="+350"/>
+ <source>Qt Assistant by Nokia</source>
+ <translation>Qt Assistant von Nokia</translation>
+ </message>
+</context>
+<context>
+ <name>TabbedBrowser</name>
+ <message>
+ <location filename="../tools/assistant/compat/tabbedbrowser.ui"/>
+ <source>TabbedBrowser</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location/>
+ <source>Untitled</source>
+ <translation>Unbenannt</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/compat/tabbedbrowser.cpp" line="+235"/>
+ <source>Add page</source>
+ <translation>Seite einfügen</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Close page</source>
+ <translation>Seite schließen</translation>
+ </message>
+ <message>
+ <location line="-95"/>
+ <source>...</source>
+ <translation>...</translation>
+ </message>
+ <message>
+ <location line="+338"/>
+ <source>New Tab</source>
+ <translation>Neuer Tab</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Close Tab</source>
+ <translation>Tab schließen</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Close Other Tabs</source>
+ <translation>Andere Tabs schließen</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/compat/tabbedbrowser.ui"/>
+ <source>Previous</source>
+ <translation>Vorheriger</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Next</source>
+ <translation>Nächster</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Case Sensitive</source>
+ <translation>Groß-/Kleinschreibung beachten</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Whole words</source>
+ <translation>Ganze Wörter</translation>
+ </message>
+ <message>
+ <location/>
+ <source>&lt;img src=&quot;:/trolltech/assistant/images/wrap.png&quot;&gt;&amp;nbsp;Search wrapped</source>
+ <translation>&lt;img src=&quot;:/trolltech/assistant/images/wrap.png&quot;&gt;&amp;nbsp;Seitenende</translation>
+ </message>
+</context>
+<context>
+ <name>TopicChooser</name>
+ <message>
+ <location filename="../tools/assistant/compat/topicchooser.cpp" line="+56"/>
+ <source>Choose a topic for &lt;b&gt;%1&lt;/b&gt;</source>
+ <translation>Wählen Sie ein Thema für &lt;b&gt;%1&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/compat/topicchooser.ui"/>
+ <source>Choose Topic</source>
+ <translation>Thema wählen</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Select a topic from the list and click the &lt;b&gt;Display&lt;/b&gt;-button to open the online help.</source>
+ <translation>Wählen Sie ein Thema aus der Liste aus und klicken Sie &lt;b&gt;Anzeigen&lt;/b&gt; um die Hilfe zu öffnen.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>&amp;Topics</source>
+ <translation>&amp;Themen</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Displays a list of available help topics for the keyword.</source>
+ <translation>Zeigt eine Liste der verfügbaren Hilfethemen für diesen Begriff an.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>&amp;Display</source>
+ <translation>&amp;Anzeigen</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Open the topic selected in the list.</source>
+ <translation>Öffne das gewählte Thema aus der Liste.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>&amp;Close</source>
+ <translation>&amp;Schließen</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Close the Dialog.</source>
+ <translation>Schließt den Dialog.</translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/guiapplauncher/test.ui b/tests/auto/guiapplauncher/test.ui
new file mode 100644
index 0000000..02efcd4
--- /dev/null
+++ b/tests/auto/guiapplauncher/test.ui
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>MainWindow</class>
+ <widget class="QMainWindow" name="MainWindow">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>800</width>
+ <height>600</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>MainWindow</string>
+ </property>
+ <widget class="QWidget" name="centralwidget">
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QPlainTextEdit" name="plainTextEdit"/>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QMenuBar" name="menubar">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>800</width>
+ <height>23</height>
+ </rect>
+ </property>
+ <widget class="QMenu" name="menuFile">
+ <property name="title">
+ <string>File</string>
+ </property>
+ <addaction name="actionExit"/>
+ </widget>
+ <addaction name="menuFile"/>
+ </widget>
+ <widget class="QStatusBar" name="statusbar"/>
+ <action name="actionExit">
+ <property name="text">
+ <string>Exit</string>
+ </property>
+ </action>
+ </widget>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>actionExit</sender>
+ <signal>triggered()</signal>
+ <receiver>MainWindow</receiver>
+ <slot>close()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>-1</x>
+ <y>-1</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>399</x>
+ <y>299</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/tests/auto/guiapplauncher/tst_guiapplauncher.cpp b/tests/auto/guiapplauncher/tst_guiapplauncher.cpp
new file mode 100644
index 0000000..a61bd5e
--- /dev/null
+++ b/tests/auto/guiapplauncher/tst_guiapplauncher.cpp
@@ -0,0 +1,526 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 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$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "windowmanager.h"
+
+#include <QtCore/QDir>
+#include <QtCore/QString>
+#include <QtTest/QtTest>
+#include <QtCore/QProcess>
+#include <QtCore/QByteArray>
+#include <QtCore/QLibraryInfo>
+#include <QtCore/QVariant>
+#include <QtCore/QDateTime>
+#include <QtCore/QMap>
+
+// AppLaunch: Launch gui applications, keep them running a while
+// (grabbing their top level from the window manager) and send
+// them a Close event via window manager. Verify that they do not
+// not crash nor produces unexpected error output.
+// Note: Do not play with the machine while it is running as otherwise
+// the top-level find algorithm might get confused (especially on Windows).
+// Environment variables are checked to turned off some tests
+// It is currently implemented for X11 and Windows, pending an
+// implementation of the WindowManager class and deployment on
+// the other platforms.
+
+enum { defaultUpTimeMS = 3000, defaultTopLevelWindowTimeoutMS = 30000,
+ defaultTerminationTimeoutMS = 35000 };
+
+// List the examples to test (Gui examples only).
+struct Example {
+ const char *name;
+ const char *directory;
+ const char *binary;
+ unsigned priority; // 0-highest
+ int upTimeMS;
+};
+
+const struct Example examples[] = {
+ {"animation/animatedtiles Example", "animation/animatedtiles", "animatedtiles", 0, -1},
+ {"animation/appchooser Example", "animation/appchooser", "appchooser", 10, -1},
+ {"animation/easing Example", "animation/easing", "easing", 10, -1},
+ {"animation/moveblocks Example", "animation/moveblocks", "moveblocks", 10, -1},
+ {"animation/states Example", "animation/states", "states", 10, -1},
+ {"animation/stickman Example", "animation/stickman", "stickman", 10, -1},
+ {"designer/calculatorbuilder Example", "designer/calculatorbuilder", "calculatorbuilder", 10, -1},
+ {"dialogs/standarddialogs Example", "dialogs/standarddialogs", "standarddialogs", 10, -1},
+ {"draganddrop/dropsite Example", "draganddrop/dropsite", "dropsite", 10, -1},
+ {"draganddrop/fridgemagnets Example", "draganddrop/fridgemagnets", "fridgemagnets", 10, -1},
+ {"draganddrop/puzzle Example", "draganddrop/puzzle", "puzzle", 10, -1},
+ {"effects/blurpicker Example", "effects/blurpicker", "blurpicker", 10, -1},
+ {"effects/customshader Example", "effects/customshader", "customshader", 10, -1},
+ {"effects/fademessage Example", "effects/fademessage", "fademessage", 10, -1},
+ {"effects/lighting Example", "effects/lighting", "lighting", 10, -1},
+ {"graphicsview/anchorlayout Example", "graphicsview/anchorlayout", "anchorlayout", 10, -1},
+ {"graphicsview/basicgraphicslayouts Example", "graphicsview/basicgraphicslayouts", "basicgraphicslayouts", 0, -1},
+ {"graphicsview/collidingmice Example", "graphicsview/collidingmice", "collidingmice", 10, -1},
+ {"graphicsview/diagramscene Example", "graphicsview/diagramscene", "diagramscene", 10, -1},
+ {"graphicsview/dragdroprobot Example", "graphicsview/dragdroprobot", "dragdroprobot", 10, -1},
+ {"graphicsview/elasticnodes Example", "graphicsview/elasticnodes", "elasticnodes", 10, -1},
+ {"graphicsview/flowlayout Example", "graphicsview/flowlayout", "flowlayout", 10, -1},
+ {"graphicsview/padnavigator Example", "graphicsview/padnavigator", "padnavigator", 0, -1},
+ {"graphicsview/portedasteroids Example", "graphicsview/portedasteroids", "portedasteroids", 10, -1},
+ {"graphicsview/portedcanvas Example", "graphicsview/portedcanvas", "portedcanvas", 10, -1},
+ {"graphicsview/weatheranchorlayout Example", "graphicsview/weatheranchorlayout", "weatheranchorlayout", 10, -1},
+ {"itemviews/addressbook Example", "itemviews/addressbook", "addressbook", 0, -1},
+ {"itemviews/basicsortfiltermodel Example", "itemviews/basicsortfiltermodel", "basicsortfiltermodel", 10, -1},
+ {"itemviews/chart Example", "itemviews/chart", "chart", 0, -1},
+ {"itemviews/coloreditorfactory Example", "itemviews/coloreditorfactory", "coloreditorfactory", 10, -1},
+ {"itemviews/combowidgetmapper Example", "itemviews/combowidgetmapper", "combowidgetmapper", 6, -1},
+ {"itemviews/customsortfiltermodel Example", "itemviews/customsortfiltermodel", "customsortfiltermodel", 6, -1},
+ {"itemviews/dirview Example", "itemviews/dirview", "dirview", 0, -1},
+ {"itemviews/editabletreemodel Example", "itemviews/editabletreemodel", "editabletreemodel", 0, -1},
+ {"itemviews/fetchmore Example", "itemviews/fetchmore", "fetchmore", 10, -1},
+ {"itemviews/frozencolumn Example", "itemviews/frozencolumn", "frozencolumn", 10, -1},
+ {"itemviews/pixelator Example", "itemviews/pixelator", "pixelator", 10, -1},
+ {"itemviews/puzzle Example", "itemviews/puzzle", "puzzle", 10, -1},
+ {"itemviews/simpledommodel Example", "itemviews/simpledommodel", "simpledommodel", 10, -1},
+ {"itemviews/simpletreemodel Example", "itemviews/simpletreemodel", "simpletreemodel", 10, -1},
+ {"itemviews/simplewidgetmapper Example", "itemviews/simplewidgetmapper", "simplewidgetmapper", 10, -1},
+ {"itemviews/spinboxdelegate Example", "itemviews/spinboxdelegate", "spinboxdelegate", 0, -1},
+ {"itemviews/stardelegate Example", "itemviews/stardelegate", "stardelegate", 10, -1},
+ {"layouts/basiclayouts Example", "layouts/basiclayouts", "basiclayouts", 0, -1},
+ {"layouts/borderlayout Example", "layouts/borderlayout", "borderlayout", 10, -1},
+ {"layouts/dynamiclayouts Example", "layouts/dynamiclayouts", "dynamiclayouts", 10, -1},
+ {"layouts/flowlayout Example", "layouts/flowlayout", "flowlayout", 10, -1},
+ {"mainwindows/application Example", "mainwindows/application", "application", 6, -1},
+ {"mainwindows/dockwidgets Example", "mainwindows/dockwidgets", "dockwidgets", 0, -1},
+ {"mainwindows/mdi Example", "mainwindows/mdi", "mdi", 0, -1},
+ {"mainwindows/menus Example", "mainwindows/menus", "menus", 10, -1},
+ {"mainwindows/recentfiles Example", "mainwindows/recentfiles", "recentfiles", 10, -1},
+ {"mainwindows/sdi Example", "mainwindows/sdi", "sdi", 10, -1},
+ {"multitouch/dials Example", "multitouch/dials", "dials", 10, -1},
+ {"multitouch/fingerpaint Example", "multitouch/fingerpaint", "fingerpaint", 10, -1},
+ {"multitouch/knobs Example", "multitouch/knobs", "knobs", 10, -1},
+ {"multitouch/pinchzoom Example", "multitouch/pinchzoom", "pinchzoom", 10, -1},
+ {"opengl/2dpainting Example", "opengl/2dpainting", "2dpainting", 10, -1},
+ {"opengl/grabber Example", "opengl/grabber", "grabber", 10, -1},
+ {"opengl/hellogl Example", "opengl/hellogl", "hellogl", 10, -1},
+ {"opengl/overpainting Example", "opengl/overpainting", "overpainting", 10, -1},
+ {"opengl/samplebuffers Example", "opengl/samplebuffers", "samplebuffers", 10, -1},
+ {"opengl/textures Example", "opengl/textures", "textures", 10, -1},
+ {"painting/basicdrawing Example", "painting/basicdrawing", "basicdrawing", 10, -1},
+ {"painting/concentriccircles Example", "painting/concentriccircles", "concentriccircles", 0, -1},
+ {"painting/fontsampler Example", "painting/fontsampler", "fontsampler", 0, -1},
+ {"painting/imagecomposition Example", "painting/imagecomposition", "imagecomposition", 10, -1},
+ {"painting/painterpaths Example", "painting/painterpaths", "painterpaths", 10, -1},
+ {"painting/svggenerator Example", "painting/svggenerator", "svggenerator", 10, -1},
+ {"painting/svgviewer Example", "painting/svgviewer", "svgviewer", 0, -1},
+ {"painting/transformations Example", "painting/transformations", "transformations", 0, -1},
+ {"qtconcurrent/imagescaling Example", "qtconcurrent/imagescaling", "imagescaling", 10, -1},
+ {"richtext/calendar Example", "richtext/calendar", "calendar", 0, -1},
+ {"richtext/orderform Example", "richtext/orderform", "orderform", 10, -1},
+ {"richtext/syntaxhighlighter Example", "richtext/syntaxhighlighter", "syntaxhighlighter", 0, -1},
+ {"richtext/textobject Example", "richtext/textobject", "textobject", 10, -1},
+ {"script/calculator Example", "script/calculator", "calculator", 6, -1},
+ {"script/qstetrix Example", "script/qstetrix", "qstetrix", 0, -1},
+ {"statemachine/eventtransitions Example", "statemachine/eventtransitions", "eventtransitions", 10, -1},
+ {"statemachine/rogue Example", "statemachine/rogue", "rogue", 10, -1},
+ {"statemachine/trafficlight Example", "statemachine/trafficlight", "trafficlight", 0, -1},
+ {"statemachine/twowaybutton Example", "statemachine/twowaybutton", "twowaybutton", 10, -1},
+ {"tutorials/addressbook/part7 Example", "tutorials/addressbook/part7", "part7", 0, -1},
+ {"webkit/fancybrowser Example", "webkit/fancybrowser", "fancybrowser", 0, 7000},
+ {"widgets/analogclock Example", "widgets/analogclock", "analogclock", 6, -1},
+ {"widgets/calculator Example", "widgets/calculator", "calculator", 6, -1},
+ {"widgets/calendarwidget Example", "widgets/calendarwidget", "calendarwidget", 10, -1},
+ {"widgets/charactermap Example", "widgets/charactermap", "charactermap", 10, -1},
+ {"widgets/codeeditor Example", "widgets/codeeditor", "codeeditor", 0, -1},
+ {"widgets/digitalclock Example", "widgets/digitalclock", "digitalclock", 10, -1},
+ {"widgets/groupbox Example", "widgets/groupbox", "groupbox", 10, -1},
+ {"widgets/icons Example", "widgets/icons", "icons", 10, -1},
+ {"widgets/imageviewer Example", "widgets/imageviewer", "imageviewer", 10, -1},
+ {"widgets/lineedits Example", "widgets/lineedits", "lineedits", 10, -1},
+ {"widgets/scribble Example", "widgets/scribble", "scribble", 10, -1},
+ {"widgets/sliders Example", "widgets/sliders", "sliders", 10, -1},
+ {"widgets/spinboxes Example", "widgets/spinboxes", "spinboxes", 10, -1},
+ {"widgets/styles Example", "widgets/styles", "styles", 0, -1},
+ {"widgets/stylesheet Example", "widgets/stylesheet", "stylesheet", 0, -1},
+ {"widgets/tablet Example", "widgets/tablet", "tablet", 10, -1},
+ {"widgets/tetrix Example", "widgets/tetrix", "tetrix", 0, -1},
+ {"widgets/tooltips Example", "widgets/tooltips", "tooltips", 10, -1},
+ {"widgets/validators Example", "widgets/validators", "validators", 10, -1},
+ {"widgets/wiggly Example", "widgets/wiggly", "wiggly", 10, -1}
+};
+
+const struct Example demos[] = {
+ {"Affine Demo", "affine", "affine", 0, -1},
+ {"Books Demo", "books", "books", 0, -1},
+ {"Browser Demo", "browser", "browser", 0, 0000},
+ {"Chip Demo", "chip", "chip", 0, -1},
+ {"Composition Demo", "composition", "composition", 0, -1},
+ {"Deform Demo", "deform", "deform", 0, -1},
+ {"Embeddeddialogs Demo", "embeddeddialogs", "embeddeddialogs", 0, -1},
+ {"Gradients Demo", "gradients", "gradients", 0, -1},
+ {"Interview Demo", "interview", "interview", 0, -1},
+ {"Mainwindow Demo", "mainwindow", "mainwindow", 0, -1},
+ {"PathStroke Demo", "pathstroke", "pathstroke", 0, -1},
+ {"Spreadsheet Demo", "spreadsheet", "spreadsheet", 0, -1},
+ {"Sub-Attac Demo", "sub-attaq", "sub-attaq", 0, -1},
+ {"TextEdit Demo", "textedit", "textedit", 0, -1},
+ {"Undo Demo", "undo", "undo", 0, -1}
+};
+
+// Data struct used in tests, specifying paths and timeouts
+struct AppLaunchData {
+ AppLaunchData();
+ void clear();
+
+ QString binary;
+ QStringList args;
+ QString workingDirectory;
+ int upTimeMS;
+ int topLevelWindowTimeoutMS;
+ int terminationTimeoutMS;
+ bool splashScreen;
+};
+
+AppLaunchData::AppLaunchData() :
+ upTimeMS(defaultUpTimeMS),
+ topLevelWindowTimeoutMS(defaultTopLevelWindowTimeoutMS),
+ terminationTimeoutMS(defaultTerminationTimeoutMS),
+ splashScreen(false)
+{
+}
+
+void AppLaunchData::clear()
+{
+ binary.clear();
+ args.clear();
+ workingDirectory.clear();
+ upTimeMS = defaultUpTimeMS;
+ topLevelWindowTimeoutMS = defaultTopLevelWindowTimeoutMS;
+ terminationTimeoutMS = defaultTerminationTimeoutMS;
+ splashScreen = false;
+}
+
+Q_DECLARE_METATYPE(AppLaunchData)
+
+
+class tst_GuiAppLauncher : public QObject
+{
+ Q_OBJECT
+
+public:
+ // Test name (static const char title!) + data
+ typedef QPair<const char*, AppLaunchData> TestDataEntry;
+ typedef QList<TestDataEntry> TestDataEntries;
+
+ enum { TestTools = 0x1, TestDemo = 0x2, TestExamples = 0x4,
+ TestAll = TestTools|TestDemo|TestExamples };
+
+ tst_GuiAppLauncher();
+
+private Q_SLOTS:
+ void initTestCase();
+
+ void run();
+ void run_data();
+
+ void cleanupTestCase();
+
+private:
+ QString workingDir() const;
+
+private:
+ bool runApp(const AppLaunchData &data, QString *errorMessage) const;
+ TestDataEntries testData() const;
+
+ const unsigned m_testMask;
+ const unsigned m_examplePriority;
+ const QString m_dir;
+ const QSharedPointer<WindowManager> m_wm;
+};
+
+// Test mask from enviroment as test lib does not allow options.
+static inline unsigned testMask()
+{
+ unsigned testMask = tst_GuiAppLauncher::TestAll;
+ if (!qgetenv("QT_TEST_NOTOOLS").isEmpty())
+ testMask &= ~ tst_GuiAppLauncher::TestTools;
+ if (!qgetenv("QT_TEST_NOEXAMPLES").isEmpty())
+ testMask &= ~tst_GuiAppLauncher::TestExamples;
+ if (!qgetenv("QT_TEST_NODEMOS").isEmpty())
+ testMask &= ~tst_GuiAppLauncher::TestDemo;
+ return testMask;
+}
+
+static inline unsigned testExamplePriority()
+{
+ const QByteArray priorityD = qgetenv("QT_TEST_EXAMPLE_PRIORITY");
+ if (!priorityD.isEmpty()) {
+ bool ok;
+ const unsigned rc = priorityD.toUInt(&ok);
+ if (ok)
+ return rc;
+ }
+ return 5;
+}
+
+tst_GuiAppLauncher::tst_GuiAppLauncher() :
+ m_testMask(testMask()),
+ m_examplePriority(testExamplePriority()),
+ m_dir(QLatin1String(SRCDIR)),
+ m_wm(WindowManager::create())
+{
+}
+
+void tst_GuiAppLauncher::initTestCase()
+{
+ QString message = QString::fromLatin1("### App Launcher test on %1 in %2 (%3)").
+ arg(QDateTime::currentDateTime().toString(), QDir::currentPath()).
+ arg(QLibraryInfo::buildKey());
+ qDebug("%s", qPrintable(message));
+ qWarning("### PLEASE LEAVE THE MACHINE UNATTENDED WHILE THIS TEST IS RUNNING\n");
+
+ // Does a window manager exist on the platform?
+ if (!m_wm->openDisplay(&message)) {
+ QSKIP(message.toLatin1().constData(), SkipAll);
+ }
+
+ // Paranoia: Do we have our test file?
+ const QDir workDir(m_dir);
+ if (!workDir.exists()) {
+ message = QString::fromLatin1("Invalid working directory %1").arg(m_dir);
+ QFAIL(message.toLocal8Bit().constData());
+ }
+}
+
+void tst_GuiAppLauncher::run()
+{
+ QString errorMessage;
+ QFETCH(AppLaunchData, data);
+ const bool rc = runApp(data, &errorMessage);
+ if (!rc) // Wait for windows to disappear after kill
+ WindowManager::sleepMS(500);
+ QVERIFY2(rc, qPrintable(errorMessage));
+}
+
+// Cross platform galore!
+static inline QString guiBinary(QString in)
+{
+#ifdef Q_OS_MAC
+ return in + QLatin1String(".app/Contents/MacOS/") + in;
+#endif
+ in[0] = in.at(0).toLower();
+#ifdef Q_OS_WIN
+ in += QLatin1String(".exe");
+#endif
+ return in;
+}
+
+void tst_GuiAppLauncher::run_data()
+{
+ QTest::addColumn<AppLaunchData>("data");
+ foreach(const TestDataEntry &data, testData())
+ QTest::newRow(data.first) << data.second;
+}
+
+// Read out the examples array structures and convert to test data.
+static tst_GuiAppLauncher::TestDataEntries exampleData(unsigned priority,
+ const QString &path,
+ bool debug,
+ const Example *exArray,
+ unsigned n)
+{
+ Q_UNUSED(debug)
+ tst_GuiAppLauncher::TestDataEntries rc;
+ const QChar slash = QLatin1Char('/');
+ AppLaunchData data;
+ for (unsigned e = 0; e < n; e++) {
+ const Example &example = exArray[e];
+ if (example.priority <= priority) {
+ data.clear();
+ const QString examplePath = path + slash + QLatin1String(example.directory);
+ data.binary = examplePath + slash;
+#ifdef Q_OS_WIN
+ data.binary += debug? QLatin1String("debug/") : QLatin1String("release/");
+#endif
+ data.binary += guiBinary(QLatin1String(example.binary));
+ data.workingDirectory = examplePath;
+ if (example.upTimeMS > 0)
+ data.upTimeMS = example.upTimeMS;
+ rc.append(tst_GuiAppLauncher::TestDataEntry(example.name, data));
+ }
+ }
+ return rc;
+}
+
+tst_GuiAppLauncher::TestDataEntries tst_GuiAppLauncher::testData() const
+{
+ TestDataEntries rc;
+ const QChar slash = QLatin1Char('/');
+ const QString binPath = QLibraryInfo::location(QLibraryInfo::BinariesPath) + slash;
+ const bool debug = QLibraryInfo::buildKey().contains(QLatin1String("debug"));
+ Q_UNUSED(debug)
+
+ AppLaunchData data;
+
+ if (m_testMask & TestTools) {
+ data.binary = binPath + guiBinary(QLatin1String("Designer"));
+ data.args.append(m_dir + QLatin1String("test.ui"));
+ rc.append(TestDataEntry("Qt Designer", data));
+
+ data.clear();
+ data.binary = binPath + guiBinary(QLatin1String("Linguist"));
+ data.splashScreen = true;
+ data.upTimeMS = 5000; // Slow loading
+ data.args.append(m_dir + QLatin1String("test.ts"));
+ rc.append(TestDataEntry("Qt Linguist", data));
+ }
+
+ if (m_testMask & TestDemo) {
+ data.clear();
+ data.upTimeMS = 5000; // Startup animation
+ data.binary = binPath + guiBinary(QLatin1String("qtdemo"));
+ rc.append(TestDataEntry("Qt Demo", data));
+
+ const QString demosPath = QLibraryInfo::location(QLibraryInfo::DemosPath);
+ if (!demosPath.isEmpty())
+ rc += exampleData(m_examplePriority, demosPath, debug, demos, sizeof(demos)/sizeof(Example));
+ }
+
+ if (m_testMask & TestExamples) {
+ const QString examplesPath = QLibraryInfo::location(QLibraryInfo::ExamplesPath);
+ if (!examplesPath.isEmpty())
+ rc += exampleData(m_examplePriority, examplesPath, debug, examples, sizeof(examples)/sizeof(Example));
+ }
+ qDebug("Running %d tests...", rc.size());
+ return rc;
+}
+
+static inline void ensureTerminated(QProcess *p)
+{
+ if (p->state() != QProcess::Running)
+ return;
+ p->terminate();
+ if (p->waitForFinished(300))
+ return;
+ p->kill();
+ if (!p->waitForFinished(500))
+ qWarning("Unable to terminate process");
+}
+
+static const QStringList &stderrWhiteList()
+{
+ static QStringList rc;
+ if (rc.empty()) {
+ rc << QLatin1String("QPainter::begin: Paint device returned engine == 0, type: 2")
+ << QLatin1String("QPainter::setRenderHint: Painter must be active to set rendering hints")
+ << QLatin1String("QPainter::setPen: Painter not active")
+ << QLatin1String("QPainter::setBrush: Painter not active")
+ << QLatin1String("QPainter::end: Painter not active, aborted");
+ }
+ return rc;
+}
+
+bool tst_GuiAppLauncher::runApp(const AppLaunchData &data, QString *errorMessage) const
+{
+ qDebug("Launching: %s\n", qPrintable(data.binary));
+ QProcess process;
+ process.setProcessChannelMode(QProcess::MergedChannels);
+ if (!data.workingDirectory.isEmpty())
+ process.setWorkingDirectory(data.workingDirectory);
+ process.start(data.binary, data.args);
+ process.closeWriteChannel();
+ if (!process.waitForStarted()) {
+ *errorMessage = QString::fromLatin1("Unable to execute %1: %2").arg(data.binary, process.errorString());
+ return false;
+ }
+ // Get window id.
+ const QString winId = m_wm->waitForTopLevelWindow(data.splashScreen ? 2 : 1, process.pid(), data.topLevelWindowTimeoutMS, errorMessage);
+ if (winId.isEmpty()) {
+ ensureTerminated(&process);
+ return false;
+ }
+ qDebug("Window: %s\n", qPrintable(winId));
+ // Wait a bit, then send close
+ WindowManager::sleepMS(data.upTimeMS);
+ if (m_wm->sendCloseEvent(winId, process.pid(), errorMessage)) {
+ qDebug("Sent close to window: %s\n", qPrintable(winId));
+ } else {
+ ensureTerminated(&process);
+ return false;
+ }
+ // Terminate
+ if (!process.waitForFinished(data.terminationTimeoutMS)) {
+ *errorMessage = QString::fromLatin1("%1: Timeout %2ms").arg(data.binary).arg(data.terminationTimeoutMS);
+ ensureTerminated(&process);
+ return false;
+ }
+ if (process.exitStatus() != QProcess::NormalExit) {
+ *errorMessage = QString::fromLatin1("%1: Startup crash").arg(data.binary);
+ return false;
+ }
+
+ const int exitCode = process.exitCode();
+ // check stderr
+ const QStringList stderrOutput = QString::fromLocal8Bit(process.readAllStandardOutput()).split(QLatin1Char('\n'));
+ foreach(const QString &stderrLine, stderrOutput) {
+ // Skip expected QPainter warnings from oxygen.
+ if (stderrWhiteList().contains(stderrLine)) {
+ qWarning("%s: stderr: %s\n", qPrintable(data.binary), qPrintable(stderrLine));
+ } else {
+ if (!stderrLine.isEmpty()) { // Split oddity gives empty messages
+ *errorMessage = QString::fromLatin1("%1: Unexpected output (ex=%2): '%3'").arg(data.binary).arg(exitCode).arg(stderrLine);
+ return false;
+ }
+ }
+ }
+
+ if (exitCode != 0) {
+ *errorMessage = QString::fromLatin1("%1: Exit code %2").arg(data.binary).arg(exitCode);
+ return false;
+ }
+ return true;
+}
+
+void tst_GuiAppLauncher::cleanupTestCase()
+{
+}
+
+#if defined(Q_OS_WINCE) || defined(Q_OS_SYMBIAN)
+QTEST_NOOP_MAIN
+#else
+QTEST_APPLESS_MAIN(tst_GuiAppLauncher)
+#endif
+
+#include "tst_guiapplauncher.moc"
diff --git a/tests/auto/guiapplauncher/windowmanager.cpp b/tests/auto/guiapplauncher/windowmanager.cpp
new file mode 100644
index 0000000..758a14e
--- /dev/null
+++ b/tests/auto/guiapplauncher/windowmanager.cpp
@@ -0,0 +1,508 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 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$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "windowmanager.h"
+#include <QtCore/QTime>
+#include <QtCore/QThread>
+#include <QtCore/QDebug>
+#include <QtCore/QTextStream>
+
+#ifdef Q_WS_X11
+# include <string.h> // memset
+# include <X11/Xlib.h>
+# include <X11/Xatom.h> // XA_WM_STATE
+# include <X11/Xutil.h>
+# include <X11/Xmd.h> // CARD32
+#endif
+
+#if defined(Q_OS_WIN) && !defined(Q_OS_WINCE)
+# include <windows.h>
+#endif
+
+// Export the sleep function
+class FriendlySleepyThread : public QThread {
+public:
+ static void sleepMS(int milliSeconds) { msleep(milliSeconds); }
+};
+
+#ifdef Q_WS_X11
+// X11 Window manager
+
+// Register our own error handler to prevent the defult crashing
+// behaviour. It simply counts errors in global variables that
+// can be checked after calls.
+
+static unsigned x11ErrorCount = 0;
+static const char *currentX11Function = 0;
+
+int xErrorHandler(Display *, XErrorEvent *e)
+{
+ x11ErrorCount++;
+
+ QString msg;
+ QTextStream str(&msg);
+ str << "An X11 error (#" << x11ErrorCount<< ") occurred: ";
+ if (currentX11Function)
+ str << ' ' << currentX11Function << "()";
+ str << " code: " << e->error_code;
+ str.setIntegerBase(16);
+ str << " resource: 0x" << e->resourceid;
+ qWarning("%s", qPrintable(msg));
+
+ return 0;
+}
+
+static bool isMapped(Display *display, Atom xa_wm_state, Window window, bool *isMapped)
+{
+ Atom actual_type;
+ int actual_format;
+ unsigned long nitems;
+ unsigned long bytes_after;
+ unsigned char *prop;
+
+ *isMapped = false;
+ currentX11Function = "XGetWindowProperty";
+ const int retv = XGetWindowProperty(display, window, xa_wm_state, 0L, 1L, False, xa_wm_state,
+ &actual_type, &actual_format, &nitems, &bytes_after, &prop);
+
+ if (retv != Success || actual_type == None || actual_type != xa_wm_state
+ || nitems != 1 || actual_format != 32)
+ return false;
+
+ const CARD32 state = * reinterpret_cast<CARD32 *>(prop);
+
+ switch ((int) state) {
+ case WithdrawnState:
+ *isMapped = false;
+ break;
+ case NormalState:
+ case IconicState:
+ *isMapped = true;
+ break;
+ default:
+ *isMapped = true;
+ break;
+ }
+ return true;
+}
+
+// Wait until a X11 top level has been mapped, courtesy of xtoolwait.
+static Window waitForTopLevelMapped(Display *display, unsigned count, int timeOutMS, QString * errorMessage)
+{
+ unsigned mappingsCount = count;
+ Atom xa_wm_state;
+ XEvent event;
+
+ // Discard all pending events
+ currentX11Function = "XSync";
+ XSync(display, True);
+
+ // Listen for top level creation
+ currentX11Function = "XSelectInput";
+ XSelectInput(display, DefaultRootWindow(display), SubstructureNotifyMask);
+
+ /* We assume that the window manager provides the WM_STATE property on top-level
+ * windows, as required by ICCCM 2.0.
+ * If the window manager has not yet completed its initialisation, the WM_STATE atom
+ * might not exist, in which case we create it. */
+
+#ifdef XA_WM_STATE /* probably in X11R7 */
+ xa_wm_state = XA_WM_STATE;
+#else
+ xa_wm_state = XInternAtom(display, "WM_STATE", False);
+#endif
+
+ QTime elapsedTime;
+ elapsedTime.start();
+ while (mappingsCount) {
+ if (elapsedTime.elapsed() > timeOutMS) {
+ *errorMessage = QString::fromLatin1("X11: Timed out waiting for toplevel %1ms").arg(timeOutMS);
+ return 0;
+ }
+ currentX11Function = "XNextEvent";
+ unsigned errorCount = x11ErrorCount;
+ XNextEvent(display, &event);
+ if (x11ErrorCount > errorCount) {
+ *errorMessage = QString::fromLatin1("X11: Error in XNextEvent");
+ return 0;
+ }
+ switch (event.type) {
+ case CreateNotify:
+ // Window created, listen for its mapping now
+ if (!event.xcreatewindow.send_event && !event.xcreatewindow.override_redirect)
+ XSelectInput(display, event.xcreatewindow.window, PropertyChangeMask);
+ break;
+ case PropertyNotify:
+ // Watch for map
+ if (!event.xproperty.send_event && event.xproperty.atom == xa_wm_state) {
+ bool mapped;
+ if (isMapped(display, xa_wm_state, event.xproperty.window, &mapped)) {
+ if (mapped && --mappingsCount == 0)
+ return event.xproperty.window;
+ // Past splash screen, listen for next window to be created
+ XSelectInput(display, DefaultRootWindow(display), SubstructureNotifyMask);
+ } else {
+ // Some temporary window disappeared. Listen for next creation
+ XSelectInput(display, DefaultRootWindow(display), SubstructureNotifyMask);
+ }
+ // Main app window opened?
+ }
+ break;
+ default:
+ break;
+ }
+ }
+ *errorMessage = QString::fromLatin1("X11: Timed out waiting for toplevel %1ms").arg(timeOutMS);
+ return 0;
+}
+
+
+class X11_WindowManager : public WindowManager
+{
+public:
+ X11_WindowManager();
+ ~X11_WindowManager();
+
+protected:
+ virtual bool isDisplayOpenImpl() const;
+ virtual bool openDisplayImpl(QString *errorMessage);
+ virtual QString waitForTopLevelWindowImpl(unsigned count, Q_PID, int timeOutMS, QString *errorMessage);
+ virtual bool sendCloseEventImpl(const QString &winId, Q_PID pid, QString *errorMessage);
+
+private:
+ Display *m_display;
+ const QByteArray m_displayVariable;
+ XErrorHandler m_oldErrorHandler;
+};
+
+X11_WindowManager::X11_WindowManager() :
+ m_display(0),
+ m_displayVariable(qgetenv("DISPLAY")),
+ m_oldErrorHandler(0)
+{
+}
+
+X11_WindowManager::~X11_WindowManager()
+{
+ if (m_display) {
+ XSetErrorHandler(m_oldErrorHandler);
+ XCloseDisplay(m_display);
+ }
+}
+
+bool X11_WindowManager::isDisplayOpenImpl() const
+{
+ return m_display != 0;
+}
+
+bool X11_WindowManager::openDisplayImpl(QString *errorMessage)
+{
+ if (m_displayVariable.isEmpty()) {
+ *errorMessage = QLatin1String("X11: Display not set");
+ return false;
+ }
+ m_display = XOpenDisplay(NULL);
+ if (!m_display) {
+ *errorMessage = QString::fromLatin1("X11: Cannot open display %1.").arg(QString::fromLocal8Bit(m_displayVariable));
+ return false;
+ }
+
+ m_oldErrorHandler = XSetErrorHandler(xErrorHandler);
+ return true;
+}
+
+QString X11_WindowManager::waitForTopLevelWindowImpl(unsigned count, Q_PID, int timeOutMS, QString *errorMessage)
+{
+ const Window w = waitForTopLevelMapped(m_display, count, timeOutMS, errorMessage);
+ if (w == 0)
+ return QString();
+ return QLatin1String("0x") + QString::number(w, 16);
+}
+
+ bool X11_WindowManager::sendCloseEventImpl(const QString &winId, Q_PID, QString *errorMessage)
+ {
+ // Get win id
+ bool ok;
+ const Window window = winId.toULong(&ok, 16);
+ if (!ok) {
+ *errorMessage = QString::fromLatin1("Invalid win id %1.").arg(winId);
+ return false;
+ }
+ // Send a window manager close event
+ XEvent ev;
+ memset(&ev, 0, sizeof (ev));
+ ev.xclient.type = ClientMessage;
+ ev.xclient.window = window;
+ ev.xclient.message_type = XInternAtom(m_display, "WM_PROTOCOLS", true);
+ ev.xclient.format = 32;
+ ev.xclient.data.l[0] = XInternAtom(m_display, "WM_DELETE_WINDOW", false);
+ ev.xclient.data.l[1] = CurrentTime;
+ // Window disappeared or some error triggered?
+ unsigned errorCount = x11ErrorCount;
+ currentX11Function = "XSendEvent";
+ XSendEvent(m_display, window, False, NoEventMask, &ev);
+ if (x11ErrorCount > errorCount) {
+ *errorMessage = QString::fromLatin1("Error sending event to win id %1.").arg(winId);
+ return false;
+ }
+ currentX11Function = "XSync";
+ errorCount = x11ErrorCount;
+ XSync(m_display, False);
+ if (x11ErrorCount > errorCount) {
+ *errorMessage = QString::fromLatin1("Error sending event to win id %1 (XSync).").arg(winId);
+ return false;
+ }
+ return true;
+ }
+
+#endif
+
+#if defined(Q_OS_WIN) && !defined(Q_OS_WINCE)
+// Windows
+
+ QString winErrorMessage(unsigned long error)
+{
+ QString rc = QString::fromLatin1("#%1: ").arg(error);
+ ushort *lpMsgBuf;
+
+ const int len = FormatMessage(
+ FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
+ NULL, error, 0, (LPTSTR)&lpMsgBuf, 0, NULL);
+ if (len) {
+ rc = QString::fromUtf16(lpMsgBuf, len);
+ LocalFree(lpMsgBuf);
+ } else {
+ rc += QString::fromLatin1("<unknown error>");
+ }
+ return rc;
+}
+
+ class Win_WindowManager : public WindowManager
+ {
+ public:
+ Win_WindowManager() {}
+
+ protected:
+ virtual bool isDisplayOpenImpl() const;
+ virtual bool openDisplayImpl(QString *errorMessage);
+ virtual QString waitForTopLevelWindowImpl(unsigned count, Q_PID, int timeOutMS, QString *errorMessage);
+ virtual bool sendCloseEventImpl(const QString &winId, Q_PID pid, QString *errorMessage);
+
+ private:
+ };
+
+bool Win_WindowManager::isDisplayOpenImpl() const
+{
+ return true;
+}
+
+bool Win_WindowManager::openDisplayImpl(QString *)
+{
+ return true;
+}
+
+// Enumerate window looking for toplevel of process id
+struct FindProcessWindowEnumContext {
+ FindProcessWindowEnumContext(DWORD pid) : window(0),processId(pid) {}
+
+ HWND window;
+ DWORD processId;
+};
+
+/* Check for the active main window of the Application
+ * of class QWidget. */
+static inline bool isQtMainWindow(HWND hwnd)
+{
+ static char buffer[MAX_PATH];
+ if (!GetClassNameA(hwnd, buffer, MAX_PATH) || qstrcmp(buffer, "QWidget"))
+ return false;
+ WINDOWINFO windowInfo;
+ if (!GetWindowInfo(hwnd, &windowInfo))
+ return false;
+ if (!(windowInfo.dwWindowStatus & WS_ACTIVECAPTION))
+ return false;
+ // Check the style for a real mainwindow
+ const DWORD excluded = WS_DISABLED | WS_POPUP;
+ const DWORD required = WS_CAPTION | WS_SYSMENU | WS_VISIBLE;
+ return (windowInfo.dwStyle & excluded) == 0
+ && (windowInfo.dwStyle & required) == required;
+}
+
+static BOOL CALLBACK findProcessWindowEnumWindowProc(HWND hwnd, LPARAM lParam)
+{
+ DWORD processId = 0;
+ FindProcessWindowEnumContext *context= reinterpret_cast<FindProcessWindowEnumContext *>(lParam);
+ GetWindowThreadProcessId(hwnd, &processId);
+ if (context->processId == processId && isQtMainWindow(hwnd)) {
+ context->window = hwnd;
+ return FALSE;
+ }
+ return TRUE;
+}
+
+QString Win_WindowManager::waitForTopLevelWindowImpl(unsigned /* count */, Q_PID pid, int timeOutMS, QString *errorMessage)
+{
+ QTime elapsed;
+ elapsed.start();
+ // First, wait until the application is up
+ if (WaitForInputIdle(pid->hProcess, timeOutMS) != 0) {
+ *errorMessage = QString::fromLatin1("WaitForInputIdle time out after %1ms").arg(timeOutMS);
+ return QString();
+ }
+ // Try to locate top level app window. App still might be in splash screen or initialization
+ // phase.
+ const int remainingMilliSeconds = qMax(timeOutMS - elapsed.elapsed(), 500);
+ const int attempts = 10;
+ const int intervalMilliSeconds = remainingMilliSeconds / attempts;
+ for (int a = 0; a < attempts; a++) {
+ FindProcessWindowEnumContext context(pid->dwProcessId);
+ EnumWindows(findProcessWindowEnumWindowProc, reinterpret_cast<LPARAM>(&context));
+ if (context.window)
+ return QLatin1String("0x") + QString::number(reinterpret_cast<quintptr>(context.window), 16);
+ sleepMS(intervalMilliSeconds);
+ }
+ *errorMessage = QString::fromLatin1("Unable to find toplevel of process %1 after %2ms.").arg(pid->dwProcessId).arg(timeOutMS);
+ return QString();
+}
+
+bool Win_WindowManager::sendCloseEventImpl(const QString &winId, Q_PID, QString *errorMessage)
+{
+ // Convert window back.
+ quintptr winIdIntPtr;
+ QTextStream str(const_cast<QString*>(&winId), QIODevice::ReadOnly);
+ str.setIntegerBase(16);
+ str >> winIdIntPtr;
+ if (str.status() != QTextStream::Ok) {
+ *errorMessage = QString::fromLatin1("Invalid win id %1.").arg(winId);
+ return false;
+ }
+ if (!PostMessage(reinterpret_cast<HWND>(winIdIntPtr), WM_CLOSE, 0, 0)) {
+ *errorMessage = QString::fromLatin1("Cannot send event to 0x%1: %2").arg(winIdIntPtr, 0, 16).arg(winErrorMessage(GetLastError()));
+ return false;
+ }
+ return true;
+}
+#endif
+
+// ------- Default implementation
+
+WindowManager::WindowManager()
+{
+}
+
+WindowManager::~WindowManager()
+{
+}
+
+QSharedPointer<WindowManager> WindowManager::create()
+{
+#ifdef Q_WS_X11
+ return QSharedPointer<WindowManager>(new X11_WindowManager);
+#endif
+#if defined(Q_OS_WIN) && !defined(Q_OS_WINCE)
+ return QSharedPointer<WindowManager>(new Win_WindowManager);
+#else
+ return QSharedPointer<WindowManager>(new WindowManager);
+#endif
+}
+
+static inline QString msgNoDisplayOpen() { return QLatin1String("No display opened."); }
+
+bool WindowManager::openDisplay(QString *errorMessage)
+{
+ if (isDisplayOpen())
+ return true;
+ return openDisplayImpl(errorMessage);
+}
+
+bool WindowManager::isDisplayOpen() const
+{
+ return isDisplayOpenImpl();
+}
+
+
+
+QString WindowManager::waitForTopLevelWindow(unsigned count, Q_PID pid, int timeOutMS, QString *errorMessage)
+{
+ if (!isDisplayOpen()) {
+ *errorMessage = msgNoDisplayOpen();
+ return QString();
+ }
+ return waitForTopLevelWindowImpl(count, pid, timeOutMS, errorMessage);
+}
+
+bool WindowManager::sendCloseEvent(const QString &winId, Q_PID pid, QString *errorMessage)
+{
+ if (!isDisplayOpen()) {
+ *errorMessage = msgNoDisplayOpen();
+ return false;
+ }
+ return sendCloseEventImpl(winId, pid, errorMessage);
+}
+
+// Default Implementation
+bool WindowManager::openDisplayImpl(QString *errorMessage)
+{
+ *errorMessage = QLatin1String("Not implemented.");
+ return false;
+}
+
+bool WindowManager::isDisplayOpenImpl() const
+{
+ return false;
+}
+
+QString WindowManager::waitForTopLevelWindowImpl(unsigned, Q_PID, int, QString *errorMessage)
+{
+ *errorMessage = QLatin1String("Not implemented.");
+ return QString();
+}
+
+bool WindowManager::sendCloseEventImpl(const QString &, Q_PID, QString *errorMessage)
+{
+ *errorMessage = QLatin1String("Not implemented.");
+ return false;
+}
+
+void WindowManager::sleepMS(int milliSeconds)
+{
+ FriendlySleepyThread::sleepMS(milliSeconds);
+}
diff --git a/tests/auto/qsysinfo/tst_qsysinfo.cpp b/tests/auto/guiapplauncher/windowmanager.h
index 8784863..56e2eb9 100644
--- a/tests/auto/qsysinfo/tst_qsysinfo.cpp
+++ b/tests/auto/guiapplauncher/windowmanager.h
@@ -39,14 +39,40 @@
**
****************************************************************************/
+#ifndef WINDOWMANAGER_H
+#define WINDOWMANAGER_H
-#include <QtTest/QtTest>
+#include <QtCore/QSharedPointer>
+#include <QtCore/QString>
+#include <QtCore/QProcess>
-class tst_QSysInfo: public QObject
+/* WindowManager: Provides functions to retrieve the top level window of
+ * an application and send it a close event. */
+
+class WindowManager
{
- Q_OBJECT
-private slots:
+ Q_DISABLE_COPY(WindowManager)
+public:
+ static QSharedPointer<WindowManager> create();
+
+ virtual ~WindowManager();
+
+ bool openDisplay(QString *errorMessage);
+ bool isDisplayOpen() const;
+
+ // Count: Number of toplevels, 1 for normal apps, 2 for apps with a splash screen
+ QString waitForTopLevelWindow(unsigned count, Q_PID pid, int timeOutMS, QString *errorMessage);
+ bool sendCloseEvent(const QString &winId, Q_PID pid, QString *errorMessage);
+
+ static void sleepMS(int milliSeconds);
+
+protected:
+ WindowManager();
+
+ virtual bool openDisplayImpl(QString *errorMessage);
+ virtual bool isDisplayOpenImpl() const;
+ virtual QString waitForTopLevelWindowImpl(unsigned count, Q_PID pid, int timeOutMS, QString *errorMessage);
+ virtual bool sendCloseEventImpl(const QString &winId, Q_PID pid, QString *errorMessage);
};
-QTEST_MAIN(tst_QSysInfo)
-#include "tst_qsysinfo.moc"
+#endif // WINDOWMANAGER_H
diff --git a/tests/auto/qalgorithms/tst_qalgorithms.cpp b/tests/auto/qalgorithms/tst_qalgorithms.cpp
index 176a451..1e24efe 100644
--- a/tests/auto/qalgorithms/tst_qalgorithms.cpp
+++ b/tests/auto/qalgorithms/tst_qalgorithms.cpp
@@ -620,8 +620,8 @@ void tst_QAlgorithms::test_qBinaryFind()
//-42 means not found
if (resultValue == -42) {
- QVERIFY(qBinaryFind(data.constBegin(), data.constEnd(), resultValue) == data.end());
- QVERIFY(qBinaryFind(data, resultValue) == data.end());
+ QVERIFY(qBinaryFind(data.constBegin(), data.constEnd(), resultValue) == data.constEnd());
+ QVERIFY(qBinaryFind(data, resultValue) == data.constEnd());
QVERIFY(qBinaryFind(data.begin(), data.end(), resultValue) == data.end());
QVERIFY(qBinaryFind(data.begin(), data.end(), resultValue, qLess<int>()) == data.end());
return;
diff --git a/tests/auto/qcombobox/tst_qcombobox.cpp b/tests/auto/qcombobox/tst_qcombobox.cpp
index e903ab5..af71961 100644
--- a/tests/auto/qcombobox/tst_qcombobox.cpp
+++ b/tests/auto/qcombobox/tst_qcombobox.cpp
@@ -2290,11 +2290,8 @@ void tst_QComboBox::setItemDelegate()
QComboBox comboBox;
QStyledItemDelegate *itemDelegate = new QStyledItemDelegate;
comboBox.setItemDelegate(itemDelegate);
-#ifdef Q_CC_MWERKS
+ // the cast is a workaround for the XLC and Metrowerks compilers
QCOMPARE(static_cast<QStyledItemDelegate *>(comboBox.itemDelegate()), itemDelegate);
-#else
- QCOMPARE(comboBox.itemDelegate(), itemDelegate);
-#endif
}
void tst_QComboBox::task253944_itemDelegateIsReset()
@@ -2303,19 +2300,13 @@ void tst_QComboBox::task253944_itemDelegateIsReset()
QStyledItemDelegate *itemDelegate = new QStyledItemDelegate;
comboBox.setItemDelegate(itemDelegate);
+ // the casts are workarounds for the XLC and Metrowerks compilers
+
comboBox.setEditable(true);
-#ifdef Q_CC_MWERKS
QCOMPARE(static_cast<QStyledItemDelegate *>(comboBox.itemDelegate()), itemDelegate);
-#else
- QCOMPARE(comboBox.itemDelegate(), itemDelegate);
-#endif
comboBox.setStyleSheet("QComboBox { border: 1px solid gray; }");
-#ifdef Q_CC_MWERKS
QCOMPARE(static_cast<QStyledItemDelegate *>(comboBox.itemDelegate()), itemDelegate);
-#else
- QCOMPARE(comboBox.itemDelegate(), itemDelegate);
-#endif
}
diff --git a/tests/auto/qdbusservicewatcher/tst_qdbusservicewatcher.cpp b/tests/auto/qdbusservicewatcher/tst_qdbusservicewatcher.cpp
index 10b43b1..ac0f806 100644
--- a/tests/auto/qdbusservicewatcher/tst_qdbusservicewatcher.cpp
+++ b/tests/auto/qdbusservicewatcher/tst_qdbusservicewatcher.cpp
@@ -47,12 +47,13 @@ class tst_QDBusServiceWatcher: public QObject
{
Q_OBJECT
QString serviceName;
+ int testCounter;
public:
tst_QDBusServiceWatcher();
private slots:
void initTestCase();
- void cleanup();
+ void init();
void watchForCreation();
void watchForDisappearance();
@@ -61,7 +62,7 @@ private slots:
};
tst_QDBusServiceWatcher::tst_QDBusServiceWatcher()
- : serviceName("com.example.TestName")
+ : testCounter(0)
{
}
@@ -71,10 +72,10 @@ void tst_QDBusServiceWatcher::initTestCase()
QVERIFY(con.isConnected());
}
-void tst_QDBusServiceWatcher::cleanup()
+void tst_QDBusServiceWatcher::init()
{
- // ensure that the name isn't registered
- QDBusConnection::sessionBus().unregisterService(serviceName);
+ // change the service name from test to test
+ serviceName = "com.example.TestService" + QString::number(testCounter++);
}
void tst_QDBusServiceWatcher::watchForCreation()
@@ -135,6 +136,7 @@ void tst_QDBusServiceWatcher::watchForDisappearance()
QVERIFY(con.isConnected());
QDBusServiceWatcher watcher(serviceName, con, QDBusServiceWatcher::WatchForUnregistration);
+ watcher.setObjectName("watcher for disappearance");
QSignalSpy spyR(&watcher, SIGNAL(serviceRegistered(QString)));
QSignalSpy spyU(&watcher, SIGNAL(serviceUnregistered(QString)));
diff --git a/tests/auto/qfile/qfile.pro b/tests/auto/qfile/qfile.pro
index f70f750..33fd2fd 100644
--- a/tests/auto/qfile/qfile.pro
+++ b/tests/auto/qfile/qfile.pro
@@ -5,5 +5,5 @@ wince*:{
SUBDIRS = test stdinprocess
}
-SUBDIRS += largefile
+!symbian*:SUBDIRS += largefile
diff --git a/tests/auto/qfontmetrics/tst_qfontmetrics.cpp b/tests/auto/qfontmetrics/tst_qfontmetrics.cpp
index e80f8e0..efb1b56 100644
--- a/tests/auto/qfontmetrics/tst_qfontmetrics.cpp
+++ b/tests/auto/qfontmetrics/tst_qfontmetrics.cpp
@@ -72,6 +72,7 @@ private slots:
void veryNarrowElidedText();
void averageCharWidth();
void elidedMultiLength();
+ void elidedMultiLengthF();
void bearingIncludedInBoundingRect();
};
@@ -218,13 +219,13 @@ void tst_QFontMetrics::averageCharWidth()
QVERIFY(fmf.averageCharWidth() != 0);
}
-void tst_QFontMetrics::elidedMultiLength()
+template<class FontMetrics> void elidedMultiLength_helper()
{
QString text1 = "Long Text 1\x9cShorter\x9csmall";
QString text1_long = "Long Text 1";
QString text1_short = "Shorter";
QString text1_small = "small";
- QFontMetrics fm = QFontMetrics(QFont());
+ FontMetrics fm = FontMetrics(QFont());
int width_long = fm.size(0, text1_long).width();
QCOMPARE(fm.elidedText(text1,Qt::ElideRight, 8000), text1_long);
QCOMPARE(fm.elidedText(text1,Qt::ElideRight, width_long + 1), text1_long);
@@ -238,7 +239,16 @@ void tst_QFontMetrics::elidedMultiLength()
QString text1_el = QString::fromLatin1("s") + ellipsisChar;
int width_small = fm.width(text1_el);
QCOMPARE(fm.elidedText(text1,Qt::ElideRight, width_small + 1), text1_el);
+}
+void tst_QFontMetrics::elidedMultiLength()
+{
+ elidedMultiLength_helper<QFontMetrics>();
+}
+
+void tst_QFontMetrics::elidedMultiLengthF()
+{
+ elidedMultiLength_helper<QFontMetricsF>();
}
void tst_QFontMetrics::bearingIncludedInBoundingRect()
diff --git a/tests/auto/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp b/tests/auto/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp
index 9269164..36ee22c 100644
--- a/tests/auto/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp
+++ b/tests/auto/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp
@@ -1286,8 +1286,9 @@ void tst_QGraphicsProxyWidget::paintEvent()
QGraphicsScene scene;
QGraphicsView view(&scene);
view.show();
+ QApplication::setActiveWindow(&view);
QTest::qWaitForWindowShown(&view);
- QTest::qWait(70);
+ QTRY_VERIFY(view.isActiveWindow());
SubQGraphicsProxyWidget proxy;
@@ -1298,14 +1299,14 @@ void tst_QGraphicsProxyWidget::paintEvent()
w->show();
QTest::qWaitForWindowShown(w);
QApplication::processEvents();
- QTest::qWait(100);
+ QTest::qWait(30);
proxy.setWidget(w);
scene.addItem(&proxy);
//make sure we flush all the paint events
- QTest::qWait(70);
+ QTest::qWait(30);
QTRY_VERIFY(proxy.paintCount > 1);
- QTest::qWait(110);
+ QTest::qWait(30);
proxy.paintCount = 0;
w->update();
@@ -2573,20 +2574,22 @@ void tst_QGraphicsProxyWidget::changingCursor_basic()
proxy->setWidget(widget);
proxy->show();
scene.addItem(proxy);
+ QApplication::setActiveWindow(&view);
QTest::qWaitForWindowShown(&view);
QApplication::processEvents();
+ QTRY_VERIFY(view.isActiveWindow());
// in
QTest::mouseMove(view.viewport(), view.mapFromScene(proxy->mapToScene(proxy->boundingRect().center())));
sendMouseMove(view.viewport(), view.mapFromScene(proxy->mapToScene(proxy->boundingRect().center())));
- QTest::qWait(125);
- QCOMPARE(view.viewport()->cursor().shape(), Qt::IBeamCursor);
+ QTest::qWait(12);
+ QTRY_COMPARE(view.viewport()->cursor().shape(), Qt::IBeamCursor);
// out
QTest::mouseMove(view.viewport(), QPoint(1, 1));
sendMouseMove(view.viewport(), QPoint(1, 1));
- QTest::qWait(125);
- QCOMPARE(view.viewport()->cursor().shape(), Qt::ArrowCursor);
+ QTest::qWait(12);
+ QTRY_COMPARE(view.viewport()->cursor().shape(), Qt::ArrowCursor);
#endif
}
@@ -2746,10 +2749,12 @@ void tst_QGraphicsProxyWidget::windowOpacity()
widget->resize(100, 100);
QGraphicsProxyWidget *proxy = scene.addWidget(widget);
proxy->setCacheMode(QGraphicsItem::ItemCoordinateCache);
+
+ QApplication::setActiveWindow(&view);
view.show();
QTest::qWaitForWindowShown(&view);
QApplication::sendPostedEvents();
- QTest::qWait(150);
+ QTRY_VERIFY(view.isActiveWindow());
qRegisterMetaType<QList<QRectF> >("QList<QRectF>");
QSignalSpy signalSpy(&scene, SIGNAL(changed(const QList<QRectF> &)));
diff --git a/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp b/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp
index 9a561eb..20d9eb8 100644
--- a/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp
+++ b/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp
@@ -276,6 +276,7 @@ private slots:
void task176178_itemIndexMethodBreaksSceneRect();
void task160653_selectionChanged();
void task250680_childClip();
+ void taskQTBUG_5904_crashWithDeviceCoordinateCache();
};
void tst_QGraphicsScene::initTestCase()
@@ -3983,20 +3984,28 @@ void tst_QGraphicsScene::isActive()
QVERIFY(!scene1.isActive()); //it is hidden;
QVERIFY(scene2.isActive());
+ QVERIFY(!scene1.hasFocus());
+ QVERIFY(scene2.hasFocus());
view1->show();
QVERIFY(scene1.isActive());
QVERIFY(scene2.isActive());
+ QVERIFY(!scene1.hasFocus());
+ QVERIFY(scene2.hasFocus());
view2->hide();
QVERIFY(scene1.isActive());
QVERIFY(!scene2.isActive());
+ QVERIFY(scene1.hasFocus());
+ QVERIFY(!scene2.hasFocus());
toplevel1.hide();
- QTest::qWait(12);
+ QTest::qWait(50);
QTRY_VERIFY(!scene1.isActive());
QTRY_VERIFY(!scene2.isActive());
+ QVERIFY(!scene1.hasFocus());
+ QVERIFY(!scene2.hasFocus());
toplevel1.show();
QApplication::setActiveWindow(&toplevel1);
@@ -4005,14 +4014,21 @@ void tst_QGraphicsScene::isActive()
QTRY_VERIFY(scene1.isActive());
QTRY_VERIFY(!scene2.isActive());
+ QVERIFY(scene1.hasFocus());
+ QVERIFY(!scene2.hasFocus());
view2->show();
QVERIFY(scene1.isActive());
QVERIFY(scene2.isActive());
+ QVERIFY(scene1.hasFocus());
+ QVERIFY(!scene2.hasFocus());
}
QVERIFY(!scene1.isActive());
QVERIFY(!scene2.isActive());
+ QVERIFY(!scene1.hasFocus());
+ QVERIFY(!scene2.hasFocus());
+
{
QWidget toplevel2;
@@ -4025,6 +4041,8 @@ void tst_QGraphicsScene::isActive()
QVERIFY(!scene1.isActive());
QVERIFY(!scene2.isActive());
+ QVERIFY(!scene1.hasFocus());
+ QVERIFY(!scene2.hasFocus());
toplevel2.show();
QApplication::setActiveWindow(&toplevel2);
@@ -4033,66 +4051,89 @@ void tst_QGraphicsScene::isActive()
QVERIFY(scene1.isActive());
QVERIFY(!scene2.isActive());
+ QVERIFY(scene1.hasFocus());
+ QVERIFY(!scene2.hasFocus());
view2->setScene(&scene2);
QVERIFY(scene1.isActive());
QVERIFY(scene2.isActive());
+ QVERIFY(scene1.hasFocus());
+ QVERIFY(!scene2.hasFocus());
view1->setScene(&scene2);
QVERIFY(!scene1.isActive());
QVERIFY(scene2.isActive());
+ QVERIFY(!scene1.hasFocus());
+ QVERIFY(scene2.hasFocus());
view1->hide();
QVERIFY(!scene1.isActive());
QVERIFY(scene2.isActive());
+ QVERIFY(!scene1.hasFocus());
+ QVERIFY(scene2.hasFocus());
view1->setScene(&scene1);
QVERIFY(!scene1.isActive());
QVERIFY(scene2.isActive());
-
- view1->show();
+ QVERIFY(!scene1.hasFocus());
+ QVERIFY(scene2.hasFocus());
view1->show();
QVERIFY(scene1.isActive());
QVERIFY(scene2.isActive());
+ QVERIFY(!scene1.hasFocus());
+ QVERIFY(scene2.hasFocus());
view2->hide();
QVERIFY(scene1.isActive());
QVERIFY(!scene2.isActive());
+ QVERIFY(scene1.hasFocus());
+ QVERIFY(!scene2.hasFocus());
QGraphicsView topLevelView;
topLevelView.show();
QApplication::setActiveWindow(&topLevelView);
+ topLevelView.setFocus();
QTest::qWaitForWindowShown(&topLevelView);
QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&topLevelView));
QVERIFY(!scene1.isActive());
QVERIFY(!scene2.isActive());
+ QVERIFY(!scene1.hasFocus());
+ QVERIFY(!scene2.hasFocus());
topLevelView.setScene(&scene1);
QVERIFY(scene1.isActive());
QVERIFY(!scene2.isActive());
+ QVERIFY(scene1.hasFocus());
+ QVERIFY(!scene2.hasFocus());
view2->show();
QVERIFY(scene1.isActive());
QVERIFY(!scene2.isActive());
+ QVERIFY(scene1.hasFocus());
+ QVERIFY(!scene2.hasFocus());
view1->hide();
QVERIFY(scene1.isActive());
QVERIFY(!scene2.isActive());
+ QVERIFY(scene1.hasFocus());
+ QVERIFY(!scene2.hasFocus());
QApplication::setActiveWindow(&toplevel2);
QTRY_COMPARE(QApplication::activeWindow(), &toplevel2);
QVERIFY(!scene1.isActive());
QVERIFY(scene2.isActive());
-
-
+ QVERIFY(!scene1.hasFocus());
+ QVERIFY(scene2.hasFocus());
}
QVERIFY(!scene1.isActive());
QVERIFY(!scene2.isActive());
+ QVERIFY(!scene1.hasFocus());
+ QVERIFY(!scene2.hasFocus());
{
QWidget toplevel3;
@@ -4104,6 +4145,9 @@ void tst_QGraphicsScene::isActive()
QVERIFY(!scene1.isActive());
QVERIFY(!scene2.isActive());
+ QVERIFY(!scene1.hasFocus());
+ QVERIFY(!scene2.hasFocus());
+
toplevel3.show();
QApplication::setActiveWindow(&toplevel3);
@@ -4112,23 +4156,45 @@ void tst_QGraphicsScene::isActive()
QVERIFY(scene1.isActive());
QVERIFY(!scene2.isActive());
+ QVERIFY(scene1.hasFocus());
+ QVERIFY(!scene2.hasFocus());
layout->addWidget(view2);
QApplication::processEvents();
QVERIFY(scene1.isActive());
QVERIFY(scene2.isActive());
+ QVERIFY(scene1.hasFocus());
+ QVERIFY(!scene2.hasFocus());
view1->setParent(0);
QVERIFY(!scene1.isActive());
QVERIFY(scene2.isActive());
+ QVERIFY(!scene1.hasFocus());
+ QVERIFY(scene2.hasFocus());
delete view1;
}
QVERIFY(!scene1.isActive());
QVERIFY(!scene2.isActive());
+ QVERIFY(!scene1.hasFocus());
+ QVERIFY(!scene2.hasFocus());
}
+void tst_QGraphicsScene::taskQTBUG_5904_crashWithDeviceCoordinateCache()
+{
+ QGraphicsScene scene;
+ QGraphicsRectItem *rectItem = scene.addRect(QRectF(0, 0, 100, 200), QPen(Qt::black), QBrush(Qt::green));
+
+ rectItem->setCacheMode(QGraphicsItem::DeviceCoordinateCache);
+
+ QPixmap pixmap(100,200);
+ QPainter painter(&pixmap);
+ painter.setRenderHint(QPainter::Antialiasing);
+ scene.render(&painter);
+ painter.end();
+ // No crash, then it passed!
+}
QTEST_MAIN(tst_QGraphicsScene)
#include "tst_qgraphicsscene.moc"
diff --git a/tests/auto/qgraphicsview/tst_qgraphicsview.cpp b/tests/auto/qgraphicsview/tst_qgraphicsview.cpp
index f07453c..1ff06c2 100644
--- a/tests/auto/qgraphicsview/tst_qgraphicsview.cpp
+++ b/tests/auto/qgraphicsview/tst_qgraphicsview.cpp
@@ -3600,6 +3600,7 @@ void tst_QGraphicsView::inputMethodSensitivity()
item->setFlag(QGraphicsItem::ItemIsFocusable);
scene.addItem(item);
scene.setFocusItem(item);
+ QCOMPARE(scene.focusItem(), item);
QCOMPARE(view.testAttribute(Qt::WA_InputMethodEnabled), true);
item->setFlag(QGraphicsItem::ItemAcceptsInputMethod, false);
@@ -3614,27 +3615,35 @@ void tst_QGraphicsView::inputMethodSensitivity()
scene.addItem(item2);
scene.setFocusItem(item2);
QCOMPARE(view.testAttribute(Qt::WA_InputMethodEnabled), false);
+ QCOMPARE(scene.focusItem(), item2);
scene.setFocusItem(item);
QCOMPARE(view.testAttribute(Qt::WA_InputMethodEnabled), true);
+ QCOMPARE(scene.focusItem(), item);
view.setScene(0);
QCOMPARE(view.testAttribute(Qt::WA_InputMethodEnabled), false);
+ QCOMPARE(scene.focusItem(), item);
view.setScene(&scene);
QCOMPARE(view.testAttribute(Qt::WA_InputMethodEnabled), true);
+ QCOMPARE(scene.focusItem(), item);
scene.setFocusItem(item2);
QCOMPARE(view.testAttribute(Qt::WA_InputMethodEnabled), false);
+ QCOMPARE(scene.focusItem(), item2);
view.setScene(0);
QCOMPARE(view.testAttribute(Qt::WA_InputMethodEnabled), false);
+ QCOMPARE(scene.focusItem(), item2);
scene.setFocusItem(item);
QCOMPARE(view.testAttribute(Qt::WA_InputMethodEnabled), false);
+ QCOMPARE(scene.focusItem(), item);
view.setScene(&scene);
QCOMPARE(view.testAttribute(Qt::WA_InputMethodEnabled), true);
+ QCOMPARE(scene.focusItem(), item);
}
class InputContextTester : public QInputContext
diff --git a/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp b/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp
index 829e55c..3b98c2f 100644
--- a/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp
+++ b/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp
@@ -161,6 +161,7 @@ private slots:
void respectHFW();
void addChildInpolishEvent();
void polishEvent();
+ void polishEvent2();
// Task fixes
void task236127_bspTreeIndexFails();
@@ -2796,6 +2797,29 @@ void tst_QGraphicsWidget::polishEvent()
QCOMPARE(widget->events.at(0), QEvent::Polish);
}
+void tst_QGraphicsWidget::polishEvent2()
+{
+ class MyGraphicsWidget : public QGraphicsWidget
+ { public:
+ void polishEvent()
+ { events << QEvent::Polish; }
+ QList<QEvent::Type> events;
+ };
+
+ QGraphicsScene scene;
+
+ MyGraphicsWidget *widget = new MyGraphicsWidget;
+ widget->hide();
+ scene.addItem(widget);
+
+ widget->events.clear();
+
+ QApplication::processEvents();
+
+ // Make sure the item got polish event.
+ QVERIFY(widget->events.contains(QEvent::Polish));
+}
+
QTEST_MAIN(tst_QGraphicsWidget)
#include "tst_qgraphicswidget.moc"
diff --git a/tests/auto/qlibrary/lib2/lib2.pro b/tests/auto/qlibrary/lib2/lib2.pro
index 436d7ba..fc00af8 100644
--- a/tests/auto/qlibrary/lib2/lib2.pro
+++ b/tests/auto/qlibrary/lib2/lib2.pro
@@ -37,9 +37,9 @@ symbian-abld: {
symbian-sbsv2: {
TARGET.CAPABILITY=ALL -TCB
QMAKE_POST_LINK = \
- $(GNUCP) $${EPOCROOT}epoc32/release/$(PLATFORM_PATH)/$(CFG_PATH)/mylib.dll $${EPOCROOT}epoc32/release/$(PLATFORM_PATH)/$(CFG_PATH)/mylib.dl2 && \
- $(GNUCP) $${EPOCROOT}epoc32/release/$(PLATFORM_PATH)/$(CFG_PATH)/mylib.dll $${EPOCROOT}epoc32/release/$(PLATFORM_PATH)/$(CFG_PATH)/system.trolltech.test.mylib.dll && \
- if test $(PLATFORM) != WINSCW;then $(GNUCP) $${EPOCROOT}epoc32/release/$(PLATFORM_PATH)/$(CFG_PATH)/mylib.dll $${PWD}/../tst/mylib.dl2; fi
+ $(GNUCP) $(EPOCROOT)epoc32/release/$(PLATFORM_PATH)/$(CFG_PATH)/mylib.dll $(EPOCROOT)epoc32/release/$(PLATFORM_PATH)/$(CFG_PATH)/mylib.dl2 && \
+ $(GNUCP) $(EPOCROOT)epoc32/release/$(PLATFORM_PATH)/$(CFG_PATH)/mylib.dll $(EPOCROOT)epoc32/release/$(PLATFORM_PATH)/$(CFG_PATH)/system.trolltech.test.mylib.dll && \
+ if test $(PLATFORM) != WINSCW;then $(GNUCP) $(EPOCROOT)epoc32/release/$(PLATFORM_PATH)/$(CFG_PATH)/mylib.dll $${PWD}/../tst/mylib.dl2; fi
}
#no special install rule for the library used by test
diff --git a/tests/auto/qlistview/tst_qlistview.cpp b/tests/auto/qlistview/tst_qlistview.cpp
index 1c8fecf..596ac9b 100644
--- a/tests/auto/qlistview/tst_qlistview.cpp
+++ b/tests/auto/qlistview/tst_qlistview.cpp
@@ -122,6 +122,7 @@ private slots:
void taskQTBUG_633_changeModelData();
void taskQTBUG_435_deselectOnViewportClick();
void taskQTBUG_2678_spacingAndWrappedText();
+ void taskQTBUG_5877_skippingItemInPageDownUp();
};
// Testing get/set functions
@@ -509,9 +510,7 @@ void tst_QListView::moveCursor2()
QModelIndex idx = vu.moveCursor(QMoveCursorListView::MoveHome, Qt::NoModifier);
QCOMPARE(idx, model.index(0,0));
idx = vu.moveCursor(QMoveCursorListView::MoveDown, Qt::NoModifier);
- QModelIndex p = model.index(8,0);
QCOMPARE(idx, model.index(8,0));
-
}
void tst_QListView::moveCursor3()
@@ -605,7 +604,6 @@ void tst_QListView::indexAt()
QVERIFY(view2.m_index.isValid());
QVERIFY(view2.m_index.row() != 0);
-
}
void tst_QListView::clicked()
@@ -703,7 +701,6 @@ void tst_QListView::modelColumn()
view.setModel(&model);
-
//
// Set and get with a valid model
//
@@ -743,7 +740,6 @@ void tst_QListView::modelColumn()
}
}
-
void tst_QListView::hideFirstRow()
{
QStringList items;
@@ -814,7 +810,6 @@ void tst_QListView::batchedMode()
ba.setBit(idx.row(), true);
}
QCOMPARE(ba.size(), 3);
-
}
void tst_QListView::setCurrentIndex()
@@ -1146,7 +1141,6 @@ void tst_QListView::selection()
for (int i = 0; i < selected.count(); ++i) {
QVERIFY(expectedItems.contains(selected.at(i).row()));
}
-
}
void tst_QListView::scrollTo()
@@ -1251,7 +1245,6 @@ void tst_QListView::scrollTo()
QTest::keyClick(lv.viewport(), Qt::Key_Up, Qt::NoModifier);
QCOMPARE(lv.visualRect(index).y(), 0);
-
}
@@ -1772,7 +1765,6 @@ void tst_QListView::clickOnViewportClearsSelection()
QTest::mouseRelease(view.viewport(), Qt::LeftButton, 0, point);
//now the selection should be cleared
QVERIFY(!view.selectionModel()->hasSelection());
-
}
void tst_QListView::task262152_setModelColumnNavigate()
@@ -1795,7 +1787,6 @@ void tst_QListView::task262152_setModelColumnNavigate()
QTest::keyClick(&view, Qt::Key_Down);
QTest::qWait(30);
QTRY_COMPARE(view.currentIndex(), model.index(2,1));
-
}
void tst_QListView::taskQTBUG_2233_scrollHiddenItems_data()
@@ -1891,5 +1882,36 @@ void tst_QListView::taskQTBUG_2678_spacingAndWrappedText()
QCOMPARE(w.horizontalScrollBar()->minimum(), w.horizontalScrollBar()->maximum());
}
+void tst_QListView::taskQTBUG_5877_skippingItemInPageDownUp()
+{
+ QList<int> currentItemIndexes;
+ QtTestModel model(0);
+ model.colCount = 1;
+ model.rCount = 100;
+
+ currentItemIndexes << 0 << 6 << 16 << 25 << 34 << 42 << 57 << 68 << 77
+ << 83 << 91 << 94;
+ QMoveCursorListView vu;
+ vu.setModel(&model);
+ vu.show();
+
+ int itemHeight = vu.visualRect(model.index(0, 0)).height();
+ int visibleRowCount = vu.height() / itemHeight;
+ int scrolledRowCount = visibleRowCount - 1;
+
+ for (int i = 0; i < currentItemIndexes.size(); ++i) {
+ vu.selectionModel()->setCurrentIndex(model.index(currentItemIndexes[i], 0),
+ QItemSelectionModel::SelectCurrent);
+
+ QModelIndex idx = vu.moveCursor(QMoveCursorListView::MovePageDown, Qt::NoModifier);
+ int newCurrent = qMin(currentItemIndexes[i] + scrolledRowCount, 99);
+ QCOMPARE(idx, model.index(newCurrent, 0));
+
+ idx = vu.moveCursor(QMoveCursorListView::MovePageUp, Qt::NoModifier);
+ newCurrent = qMax(currentItemIndexes[i] - scrolledRowCount, 0);
+ QCOMPARE(idx, model.index(newCurrent, 0));
+ }
+}
+
QTEST_MAIN(tst_QListView)
#include "tst_qlistview.moc"
diff --git a/tests/auto/qmenu/tst_qmenu.cpp b/tests/auto/qmenu/tst_qmenu.cpp
index f12fa92..7cdfe46 100644
--- a/tests/auto/qmenu/tst_qmenu.cpp
+++ b/tests/auto/qmenu/tst_qmenu.cpp
@@ -87,6 +87,7 @@ private slots:
void widgetActionFocus();
void mouseActivation();
void tearOff();
+ void layoutDirection();
#if defined(QT3_SUPPORT)
void indexBasedInsertion_data();
@@ -101,11 +102,13 @@ private slots:
void menuSizeHint();
void task258920_mouseBorder();
void setFixedWidth();
+ void deleteActionInTriggered();
protected slots:
void onActivated(QAction*);
void onHighlighted(QAction*);
void onStatusMessageChanged(const QString &);
void onStatusTipTimer();
+ void deleteAction(QAction *a) { delete a; }
private:
void createActions();
QMenu *menus[2], *lastMenu;
@@ -594,6 +597,31 @@ void tst_QMenu::tearOff()
QVERIFY(!torn->isVisible());
}
+void tst_QMenu::layoutDirection()
+{
+ QMainWindow win;
+ win.setLayoutDirection(Qt::RightToLeft);
+
+ QMenu menu(&win);
+ menu.show();
+ QTest::qWaitForWindowShown(&menu);
+ QCOMPARE(menu.layoutDirection(), Qt::RightToLeft);
+ menu.close();
+
+ menu.setParent(0);
+ menu.show();
+ QTest::qWaitForWindowShown(&menu);
+ QCOMPARE(menu.layoutDirection(), QApplication::layoutDirection());
+ menu.close();
+
+ //now the menubar
+ QAction *action = win.menuBar()->addMenu(&menu);
+ win.menuBar()->setActiveAction(action);
+ QTest::qWaitForWindowShown(&menu);
+ QCOMPARE(menu.layoutDirection(), Qt::RightToLeft);
+}
+
+
#if defined(QT3_SUPPORT)
void tst_QMenu::indexBasedInsertion_data()
@@ -858,6 +886,17 @@ void tst_QMenu::setFixedWidth()
QCOMPARE(menu.sizeHint().width(), menu.minimumWidth());
}
+void tst_QMenu::deleteActionInTriggered()
+{
+ // should not crash
+ QMenu m;
+ QObject::connect(&m, SIGNAL(triggered(QAction*)), this, SLOT(deleteAction(QAction*)));
+ QWeakPointer<QAction> a = m.addAction("action");
+ a.data()->trigger();
+ QVERIFY(!a);
+}
+
+
QTEST_MAIN(tst_QMenu)
diff --git a/tests/auto/qsslsocket/tst_qsslsocket.cpp b/tests/auto/qsslsocket/tst_qsslsocket.cpp
index db46b66..169a688 100644
--- a/tests/auto/qsslsocket/tst_qsslsocket.cpp
+++ b/tests/auto/qsslsocket/tst_qsslsocket.cpp
@@ -347,7 +347,6 @@ void tst_QSslSocket::constructing()
QCOMPARE(socket.sslConfiguration(), QSslConfiguration::defaultConfiguration());
QCOMPARE(socket.errorString(), QString("Unknown error"));
char c = '\0';
- QTest::ignoreMessage(QtWarningMsg, "QIODevice::getChar: Closed device");
QVERIFY(!socket.getChar(&c));
QCOMPARE(c, '\0');
QVERIFY(!socket.isOpen());
diff --git a/tests/auto/qstatemachine/tst_qstatemachine.cpp b/tests/auto/qstatemachine/tst_qstatemachine.cpp
index fd39515..a13bb0d 100644
--- a/tests/auto/qstatemachine/tst_qstatemachine.cpp
+++ b/tests/auto/qstatemachine/tst_qstatemachine.cpp
@@ -209,6 +209,7 @@ private slots:
void task260403_clonedSignals();
void postEventFromOtherThread();
void eventFilterForApplication();
+ void eventClassesExported();
};
tst_QStateMachine::tst_QStateMachine()
@@ -4307,5 +4308,12 @@ void tst_QStateMachine::eventFilterForApplication()
QVERIFY(machine.configuration().contains(s2));
}
+void tst_QStateMachine::eventClassesExported()
+{
+ // make sure this links
+ QStateMachine::WrappedEvent *wrappedEvent = new QStateMachine::WrappedEvent(0, 0);
+ QStateMachine::SignalEvent *signalEvent = new QStateMachine::SignalEvent(0, 0, QList<QVariant>());
+}
+
QTEST_MAIN(tst_QStateMachine)
#include "tst_qstatemachine.moc"
diff --git a/tests/auto/qsysinfo/.gitignore b/tests/auto/qsysinfo/.gitignore
deleted file mode 100644
index e50cae2..0000000
--- a/tests/auto/qsysinfo/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-tst_qsysinfo
diff --git a/tests/auto/qsysinfo/qsysinfo.pro b/tests/auto/qsysinfo/qsysinfo.pro
deleted file mode 100644
index e822fec..0000000
--- a/tests/auto/qsysinfo/qsysinfo.pro
+++ /dev/null
@@ -1,5 +0,0 @@
-load(qttest_p4)
-SOURCES += tst_qsysinfo.cpp
-QT = core
-
-
diff --git a/tests/auto/qtableview/tst_qtableview.cpp b/tests/auto/qtableview/tst_qtableview.cpp
index f571e8a..46c3fb6 100644
--- a/tests/auto/qtableview/tst_qtableview.cpp
+++ b/tests/auto/qtableview/tst_qtableview.cpp
@@ -198,6 +198,7 @@ private slots:
void task191545_dragSelectRows();
void taskQTBUG_5062_spansInconsistency();
void taskQTBUG_4516_clickOnRichTextLabel();
+ void taskQTBUG_5237_wheelEventOnHeader();
void mouseWheel_data();
void mouseWheel();
@@ -3613,17 +3614,9 @@ void tst_QTableView::mouseWheel_data()
QTest::newRow("scroll down per item")
<< int(QAbstractItemView::ScrollPerItem) << -120
<< 10 + qApp->wheelScrollLines() << 10 + qApp->wheelScrollLines();
-#ifdef Q_WS_MAC
- // On Mac, we always scroll one pixel per 120 delta (rather than multiplying with
- // singleStep) since wheel events are accelerated by the OS.
- QTest::newRow("scroll down per pixel")
- << int(QAbstractItemView::ScrollPerPixel) << -120
- << 10 + qApp->wheelScrollLines() << 10 + qApp->wheelScrollLines();
-#else
QTest::newRow("scroll down per pixel")
<< int(QAbstractItemView::ScrollPerPixel) << -120
<< 10 + qApp->wheelScrollLines() * 89 << 10 + qApp->wheelScrollLines() * 28;
-#endif
}
void tst_QTableView::mouseWheel()
@@ -3913,7 +3906,7 @@ void tst_QTableView::changeHeaderData()
QTest::qWaitForWindowShown(&view);
QString text = "long long long text";
- const int textWidth = view.fontMetrics().width(text);
+ const int textWidth = view.verticalHeader()->fontMetrics().width(text);
QVERIFY(view.verticalHeader()->width() < textWidth);
model.setHeaderData(2, Qt::Vertical, text);
@@ -3922,6 +3915,22 @@ void tst_QTableView::changeHeaderData()
QVERIFY(view.verticalHeader()->width() > textWidth);
}
+void tst_QTableView::taskQTBUG_5237_wheelEventOnHeader()
+{
+ QTableView view;
+ QStandardItemModel model(500,5);
+ view.setModel(&model);
+ view.show();
+ QTest::qWaitForWindowShown(&view);
+
+ int sbValueBefore = view.verticalScrollBar()->value();
+ QHeaderView *header = view.verticalHeader();
+ QTest::mouseMove(header);
+ QWheelEvent wheelEvent(header->geometry().center(), -720, 0, 0);
+ QApplication::sendEvent(header->viewport(), &wheelEvent);
+ int sbValueAfter = view.verticalScrollBar()->value();
+ QVERIFY(sbValueBefore != sbValueAfter);
+}
QTEST_MAIN(tst_QTableView)
#include "tst_qtableview.moc"
diff --git a/tests/auto/qtcpsocket/tst_qtcpsocket.cpp b/tests/auto/qtcpsocket/tst_qtcpsocket.cpp
index 4ed9fca..863b8f5 100644
--- a/tests/auto/qtcpsocket/tst_qtcpsocket.cpp
+++ b/tests/auto/qtcpsocket/tst_qtcpsocket.cpp
@@ -371,7 +371,6 @@ void tst_QTcpSocket::constructing()
QCOMPARE(socket->socketType(), QTcpSocket::TcpSocket);
char c;
- QTest::ignoreMessage(QtWarningMsg, "QIODevice::getChar: Closed device");
QCOMPARE(socket->getChar(&c), false);
QCOMPARE((int) socket->bytesAvailable(), 0);
QCOMPARE(socket->canReadLine(), false);
@@ -777,7 +776,7 @@ void tst_QTcpSocket::unget()
for (int i = 0; i < 10; i += 2) {
while (socket->bytesAvailable() < 2)
- QVERIFY(socket->waitForReadyRead(5000));
+ QVERIFY(socket->waitForReadyRead(10000));
int bA = socket->bytesAvailable();
QVERIFY(socket->read(buf, 2) == 2);
buf[2] = '\0';
@@ -830,7 +829,6 @@ void tst_QTcpSocket::openCloseOpenClose()
QVERIFY(socket->socketType() == QTcpSocket::TcpSocket);
char c;
- QTest::ignoreMessage(QtWarningMsg, "QIODevice::getChar: Closed device");
QCOMPARE(socket->getChar(&c), false);
QCOMPARE((int) socket->bytesAvailable(), 0);
QCOMPARE(socket->canReadLine(), false);
@@ -1959,7 +1957,6 @@ void tst_QTcpSocket::zeroAndMinusOneReturns()
QCOMPARE(socket->write("BLUBBER"), qint64(-1));
QCOMPARE(socket->read(c, 16), qint64(-1));
QCOMPARE(socket->readLine(c, 16), qint64(-1));
- QTest::ignoreMessage(QtWarningMsg, "QIODevice::getChar: Closed device");
QVERIFY(!socket->getChar(c));
QVERIFY(!socket->putChar('a'));
@@ -2118,7 +2115,7 @@ void tst_QTcpSocket::moveToThread0()
QTcpSocket *socket = newSocket();;
socket->connectToHost(QtNetworkSettings::serverName(), 143);
socket->moveToThread(0);
- QVERIFY(socket->waitForConnected(2000));
+ QVERIFY(socket->waitForConnected(5000));
socket->write("XXX LOGOUT\r\n");
QVERIFY(socket->waitForBytesWritten(5000));
QVERIFY(socket->waitForDisconnected());
@@ -2129,7 +2126,7 @@ void tst_QTcpSocket::moveToThread0()
QTcpSocket *socket = newSocket();
socket->moveToThread(0);
socket->connectToHost(QtNetworkSettings::serverName(), 143);
- QVERIFY(socket->waitForConnected(2000));
+ QVERIFY(socket->waitForConnected(5000));
socket->write("XXX LOGOUT\r\n");
QVERIFY(socket->waitForBytesWritten(5000));
QVERIFY(socket->waitForDisconnected());
@@ -2139,7 +2136,7 @@ void tst_QTcpSocket::moveToThread0()
// Case 3: Moved after writing, while waiting for bytes to be written.
QTcpSocket *socket = newSocket();
socket->connectToHost(QtNetworkSettings::serverName(), 143);
- QVERIFY(socket->waitForConnected(2000));
+ QVERIFY(socket->waitForConnected(5000));
socket->write("XXX LOGOUT\r\n");
socket->moveToThread(0);
QVERIFY(socket->waitForBytesWritten(5000));
@@ -2150,7 +2147,7 @@ void tst_QTcpSocket::moveToThread0()
// Case 4: Moved after writing, while waiting for response.
QTcpSocket *socket = newSocket();
socket->connectToHost(QtNetworkSettings::serverName(), 143);
- QVERIFY(socket->waitForConnected(2000));
+ QVERIFY(socket->waitForConnected(5000));
socket->write("XXX LOGOUT\r\n");
QVERIFY(socket->waitForBytesWritten(5000));
socket->moveToThread(0);
@@ -2306,7 +2303,7 @@ void tst_QTcpSocket::invalidProxy()
QCOMPARE(socket->state(), QAbstractSocket::UnconnectedState);
} else {
QCOMPARE(socket->state(), QAbstractSocket::ConnectingState);
- QVERIFY(!socket->waitForConnected(2000));
+ QVERIFY(!socket->waitForConnected(5000));
}
QVERIFY(!socket->errorString().isEmpty());
@@ -2425,7 +2422,7 @@ void tst_QTcpSocket::proxyFactory()
QCOMPARE(socket->state(), QAbstractSocket::UnconnectedState);
} else {
QCOMPARE(socket->state(), QAbstractSocket::ConnectingState);
- QVERIFY(socket->waitForConnected(2000));
+ QVERIFY(socket->waitForConnected(5000));
QCOMPARE(proxyAuthCalled, 1);
}
QVERIFY(!socket->errorString().isEmpty());
diff --git a/tests/auto/qtextdocument/tst_qtextdocument.cpp b/tests/auto/qtextdocument/tst_qtextdocument.cpp
index 1d54409..11e32b0 100644
--- a/tests/auto/qtextdocument/tst_qtextdocument.cpp
+++ b/tests/auto/qtextdocument/tst_qtextdocument.cpp
@@ -2615,6 +2615,17 @@ void tst_QTextDocument::testUndoCommandAdded()
cf.setFontItalic(true);
cursor.mergeCharFormat(cf);
QCOMPARE(spy.count(), 1);
+
+ spy.clear();
+ doc->undo();
+ QCOMPARE(spy.count(), 0);
+ doc->undo();
+ QCOMPARE(spy.count(), 0);
+ spy.clear();
+ doc->redo();
+ QCOMPARE(spy.count(), 0);
+ doc->redo();
+ QCOMPARE(spy.count(), 0);
}
void tst_QTextDocument::testUndoBlocks()
diff --git a/tests/auto/qtextscriptengine/tst_qtextscriptengine.cpp b/tests/auto/qtextscriptengine/tst_qtextscriptengine.cpp
index 78e0ce6..2f9cc04 100644
--- a/tests/auto/qtextscriptengine/tst_qtextscriptengine.cpp
+++ b/tests/auto/qtextscriptengine/tst_qtextscriptengine.cpp
@@ -858,6 +858,33 @@ void tst_QTextScriptEngine::malayalam()
QSKIP("couln't find AkrutiMal2", SkipAll);
}
}
+ {
+ if (QFontDatabase().families(QFontDatabase::Malayalam).contains("Rachana")) {
+ QFont f("Rachana");
+ const ShapeTable shape_table [] = {
+ { { 0xd37, 0xd4d, 0xd1f, 0xd4d, 0xd30, 0xd40, 0x0 },
+ { 0x385, 0xa3, 0x0 } },
+ { { 0xd2f, 0xd4d, 0xd15, 0xd4d, 0xd15, 0xd41, 0x0 },
+ { 0x2ff, 0x0 } },
+ { { 0xd33, 0xd4d, 0xd33, 0x0 },
+ { 0x3f8, 0x0 } },
+ { { 0xd2f, 0xd4d, 0xd15, 0xd4d, 0xd15, 0xd41, 0x0 },
+ { 0x2ff, 0x0 } },
+
+ { {0}, {0} }
+ };
+
+
+ const ShapeTable *s = shape_table;
+ while (s->unicode[0]) {
+ QVERIFY( shaping(f, s) );
+ ++s;
+ }
+ } else {
+ QSKIP("couln't find Rachana", SkipAll);
+ }
+ }
+
#else
QSKIP("X11 specific test", SkipAll);
#endif
diff --git a/tests/auto/qtreeview/tst_qtreeview.cpp b/tests/auto/qtreeview/tst_qtreeview.cpp
index 58f059b..4fc6dd3 100644
--- a/tests/auto/qtreeview/tst_qtreeview.cpp
+++ b/tests/auto/qtreeview/tst_qtreeview.cpp
@@ -3653,7 +3653,9 @@ void tst_QTreeView::doubleClickedWithSpans()
view.setModel(&model);
view.setFirstColumnSpanned(0, QModelIndex(), true);
view.show();
+ QApplication::setActiveWindow(&view);
QTest::qWaitForWindowShown(&view);
+ QTRY_VERIFY(view.isActiveWindow());
QPoint p(10, 10);
QCOMPARE(view.indexAt(p), model.index(0, 0));
diff --git a/tests/auto/rcc/rcc.pro b/tests/auto/rcc/rcc.pro
index d6a2083..1759b48 100644
--- a/tests/auto/rcc/rcc.pro
+++ b/tests/auto/rcc/rcc.pro
@@ -4,3 +4,9 @@ TARGET = tst_rcc
SOURCES += tst_rcc.cpp
+wince* {
+ DEFINES += SRCDIR=\\\"\\\"
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD/\\\"
+}
+
diff --git a/tests/auto/rcc/tst_rcc.cpp b/tests/auto/rcc/tst_rcc.cpp
index c9e3d76..2fe0dc4 100644
--- a/tests/auto/rcc/tst_rcc.cpp
+++ b/tests/auto/rcc/tst_rcc.cpp
@@ -102,7 +102,7 @@ void tst_rcc::rcc_data()
QTest::addColumn<QString>("qrcfile");
QTest::addColumn<QString>("expected");
- QTest::newRow("images") << "data" << "images.qrc" << "images.expected";
+ QTest::newRow("images") << SRCDIR "data" << "images.qrc" << "images.expected";
}
void tst_rcc::rcc()
diff --git a/tests/auto/uic/baseline/mainwindowbase.ui.h b/tests/auto/uic/baseline/mainwindowbase.ui.h
index 46270a7..8472dbb 100644
--- a/tests/auto/uic/baseline/mainwindowbase.ui.h
+++ b/tests/auto/uic/baseline/mainwindowbase.ui.h
@@ -221,7 +221,6 @@ public:
hboxLayout->setSpacing(4);
hboxLayout->setContentsMargins(8, 8, 8, 8);
hboxLayout->setObjectName(QString::fromUtf8("hboxLayout"));
- hboxLayout->setContentsMargins(0, 0, 0, 0);
helpview = new QTextEdit(widget);
helpview->setObjectName(QString::fromUtf8("helpview"));
helpview->setMinimumSize(QSize(200, 0));
diff --git a/tests/auto/windowsmobile/test/test.pro b/tests/auto/windowsmobile/test/test.pro
index b7f65a9..61e275d 100644
--- a/tests/auto/windowsmobile/test/test.pro
+++ b/tests/auto/windowsmobile/test/test.pro
@@ -5,7 +5,7 @@ HEADERS += ddhelper.h
SOURCES += tst_windowsmobile.cpp ddhelper.cpp
RESOURCES += windowsmobile.qrc
-TARGET = tst_windowsmobile
+TARGET = ../tst_windowsmobile
wincewm*: {
addFiles.sources = $$OUT_PWD/../testQMenuBar/*.exe
diff --git a/tests/auto/windowsmobile/testQMenuBar/testQMenuBar.pro b/tests/auto/windowsmobile/testQMenuBar/testQMenuBar.pro
index 6dd288b..87986e4 100644
--- a/tests/auto/windowsmobile/testQMenuBar/testQMenuBar.pro
+++ b/tests/auto/windowsmobile/testQMenuBar/testQMenuBar.pro
@@ -1,2 +1,3 @@
SOURCES += main.cpp
-DESTDIR = ./
+TARGET = ../testQMenuBar
+
diff --git a/tests/manual/keypadnavigation/keypadnavigation.ui b/tests/manual/keypadnavigation/keypadnavigation.ui
index 039889b..8b456d9 100644
--- a/tests/manual/keypadnavigation/keypadnavigation.ui
+++ b/tests/manual/keypadnavigation/keypadnavigation.ui
@@ -1060,75 +1060,100 @@ As a reward you can try out the QDial, below.</string>
</widget>
<widget class="QWidget" name="m_pageDialogs">
<layout class="QVBoxLayout" name="verticalLayout_13">
+ <property name="margin">
+ <number>0</number>
+ </property>
<item>
- <widget class="QPushButton" name="m_buttonGetOpenFileName">
- <property name="text">
- <string>getOpenFileName()</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="m_buttonGetSaveFileName">
- <property name="text">
- <string>getSaveFileName()</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="m_buttonGetExistingDirectory">
- <property name="text">
- <string>getExistingDirectory()</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="m_buttonGetColor">
- <property name="text">
- <string>getColor()</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="m_buttonGetFont">
- <property name="text">
- <string>getFont()</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="m_buttonQuestion">
- <property name="text">
- <string>question()</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="m_buttonAboutQt">
- <property name="text">
- <string>aboutQt()</string>
+ <widget class="QScrollArea" name="scrollArea_5">
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
</property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="m_buttonGetItem">
- <property name="text">
- <string>getItem()</string>
+ <property name="widgetResizable">
+ <bool>true</bool>
</property>
+ <widget class="QWidget" name="scrollAreaWidgetContents_5">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>264</width>
+ <height>356</height>
+ </rect>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_14">
+ <item>
+ <widget class="QPushButton" name="m_buttonGetOpenFileName">
+ <property name="text">
+ <string>getOpenFileName()</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="m_buttonGetSaveFileName">
+ <property name="text">
+ <string>getSaveFileName()</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="m_buttonGetExistingDirectory">
+ <property name="text">
+ <string>getExistingDirectory()</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="m_buttonGetColor">
+ <property name="text">
+ <string>getColor()</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="m_buttonGetFont">
+ <property name="text">
+ <string>getFont()</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="m_buttonQuestion">
+ <property name="text">
+ <string>question()</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="m_buttonAboutQt">
+ <property name="text">
+ <string>aboutQt()</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="m_buttonGetItem">
+ <property name="text">
+ <string>getItem()</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer_3">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>103</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
</widget>
</item>
- <item>
- <spacer name="verticalSpacer_3">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>104</height>
- </size>
- </property>
- </spacer>
- </item>
</layout>
</widget>
</widget>
@@ -1155,7 +1180,7 @@ As a reward you can try out the QDial, below.</string>
<addaction name="m_actionLayoutChaos"/>
<addaction name="m_actionLayoutDialogs"/>
</widget>
- <widget class="QMenu" name="menuNavigation_mode">
+ <widget class="QMenu" name="m_menuNavigation_mode">
<property name="title">
<string>Navigation mode</string>
</property>
@@ -1166,7 +1191,7 @@ As a reward you can try out the QDial, below.</string>
<addaction name="m_actionModeCursorForceVisible"/>
</widget>
<addaction name="menuUi_layout"/>
- <addaction name="menuNavigation_mode"/>
+ <addaction name="m_menuNavigation_mode"/>
</widget>
<action name="m_actionLayoutVerticalSimple">
<property name="text">
diff --git a/tests/manual/keypadnavigation/main.cpp b/tests/manual/keypadnavigation/main.cpp
index d1cc8a7..84b3d78 100644
--- a/tests/manual/keypadnavigation/main.cpp
+++ b/tests/manual/keypadnavigation/main.cpp
@@ -70,6 +70,7 @@ public:
}
connect(&m_layoutSignalMapper, SIGNAL(mapped(QWidget*)), ui->m_stackWidget, SLOT(setCurrentWidget(QWidget*)));
+#ifdef QT_KEYPAD_NAVIGATION
const struct {
QObject *action;
Qt::NavigationMode mode;
@@ -85,6 +86,9 @@ public:
m_modeSignalMapper.setMapping(modeMappings[i].action, int(modeMappings[i].mode));
}
connect(&m_modeSignalMapper, SIGNAL(mapped(int)), SLOT(setNavigationMode(int)));
+#else // QT_KEYPAD_NAVIGATION
+ ui->m_menuNavigation_mode->deleteLater();
+#endif // QT_KEYPAD_NAVIGATION
const struct {
QObject *button;
@@ -112,10 +116,12 @@ public:
}
protected slots:
+#ifdef QT_KEYPAD_NAVIGATION
void setNavigationMode(int mode)
{
QApplication::setNavigationMode(Qt::NavigationMode(mode));
}
+#endif // QT_KEYPAD_NAVIGATION
void openDialog(int dialog)
{
@@ -163,7 +169,9 @@ private:
Ui_KeypadNavigation *ui;
QSignalMapper m_layoutSignalMapper;
+#ifdef QT_KEYPAD_NAVIGATION
QSignalMapper m_modeSignalMapper;
+#endif // QT_KEYPAD_NAVIGATION
QSignalMapper m_dialogSignalMapper;
};
diff --git a/tools/activeqt/testcon/mainwindow.cpp b/tools/activeqt/testcon/mainwindow.cpp
index 71cbab6..c474709 100644
--- a/tools/activeqt/testcon/mainwindow.cpp
+++ b/tools/activeqt/testcon/mainwindow.cpp
@@ -204,7 +204,7 @@ void MainWindow::on_actionControlProperties_triggered()
if (!dlgProperties) {
dlgProperties = new ChangeProperties(this);
- connect(container, SIGNAL(propertyChanged(const QString&)), dlgProperties, SLOT(updateProperties()));
+ connect(container, SIGNAL(propertyChanged(QString)), dlgProperties, SLOT(updateProperties()));
}
dlgProperties->setControl(container);
dlgProperties->show();
@@ -336,8 +336,8 @@ void MainWindow::on_actionScriptingLoad_triggered()
QAxScript *script = scripts->load(file, file);
if (script) {
- connect(script, SIGNAL(error(int, const QString&, int, const QString&)),
- this, SLOT(logMacro(int, const QString&, int, const QString&)));
+ connect(script, SIGNAL(error(int,QString,int,QString)),
+ this, SLOT(logMacro(int,QString,int,QString)));
actionScriptingRun->setEnabled(true);
}
#else
@@ -374,17 +374,17 @@ void MainWindow::updateGUI()
QAxWidget *ax = qobject_cast<QAxWidget*>(container);
if (ax) {
- container->disconnect(SIGNAL(signal(const QString&, int, void*)));
+ container->disconnect(SIGNAL(signal(QString,int,void*)));
if (actionLogSignals->isChecked())
- connect(container, SIGNAL(signal(const QString&, int, void*)), this, SLOT(logSignal(const QString&, int, void*)));
+ connect(container, SIGNAL(signal(QString,int,void*)), this, SLOT(logSignal(QString,int,void*)));
- container->disconnect(SIGNAL(exception(int,const QString&,const QString&,const QString&)));
- connect(container, SIGNAL(exception(int,const QString&,const QString&,const QString&)),
- this, SLOT(logException(int,const QString&,const QString&,const QString&)));
+ container->disconnect(SIGNAL(exception(int,QString,QString,QString)));
+ connect(container, SIGNAL(exception(int,QString,QString,QString)),
+ this, SLOT(logException(int,QString,QString,QString)));
- container->disconnect(SIGNAL(propertyChanged(const QString&)));
+ container->disconnect(SIGNAL(propertyChanged(QString)));
if (actionLogProperties->isChecked())
- connect(container, SIGNAL(propertyChanged(const QString&)), this, SLOT(logPropertyChanged(const QString&)));
+ connect(container, SIGNAL(propertyChanged(QString)), this, SLOT(logPropertyChanged(QString)));
container->blockSignals(actionFreezeEvents->isChecked());
}
diff --git a/tools/assistant/compat/helpdialog.cpp b/tools/assistant/compat/helpdialog.cpp
index 97bd54b..4864965 100644
--- a/tools/assistant/compat/helpdialog.cpp
+++ b/tools/assistant/compat/helpdialog.cpp
@@ -262,7 +262,7 @@ void HelpDialog::initialize()
connect(ui.listBookmarks, SIGNAL(itemActivated(QTreeWidgetItem*,int)), this, SLOT(showTopic(QTreeWidgetItem*)));
connect(ui.listBookmarks, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(showTreeItemMenu(QPoint)));
- connect(ui.termsEdit, SIGNAL(textChanged(const QString&)), this, SLOT(updateSearchButton(const QString&)));
+ connect(ui.termsEdit, SIGNAL(textChanged(QString)), this, SLOT(updateSearchButton(QString)));
connect(ui.resultBox, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(showListItemMenu(QPoint)));
diff --git a/tools/assistant/compat/tabbedbrowser.cpp b/tools/assistant/compat/tabbedbrowser.cpp
index 9c1a1fe..da577d3 100644
--- a/tools/assistant/compat/tabbedbrowser.cpp
+++ b/tools/assistant/compat/tabbedbrowser.cpp
@@ -217,7 +217,7 @@ void TabbedBrowser::init()
opt.init(tabBar);
opt.shape = tabBar->shape();
tabBar->setContextMenuPolicy(Qt::CustomContextMenu);
- connect(tabBar, SIGNAL(customContextMenuRequested(const QPoint&)), SLOT(openTabMenu(const QPoint&)));
+ connect(tabBar, SIGNAL(customContextMenuRequested(QPoint)), SLOT(openTabMenu(QPoint)));
}
// workaround for sgi style
@@ -248,7 +248,7 @@ void TabbedBrowser::init()
QObject::connect(ui.toolPrevious, SIGNAL(clicked()), this, SLOT(findPrevious()));
QObject::connect(ui.toolNext, SIGNAL(clicked()), this, SLOT(findNext()));
QObject::connect(ui.editFind, SIGNAL(returnPressed()), this, SLOT(findNext()));
- QObject::connect(ui.editFind, SIGNAL(textEdited(const QString&)),
+ QObject::connect(ui.editFind, SIGNAL(textEdited(QString)),
this, SLOT(find(QString)));
ui.frameFind->setVisible(false);
ui.labelWrapped->setVisible(false);
diff --git a/tools/assistant/lib/qhelpcontentwidget.cpp b/tools/assistant/lib/qhelpcontentwidget.cpp
index 097105c..af5f9e2 100644
--- a/tools/assistant/lib/qhelpcontentwidget.cpp
+++ b/tools/assistant/lib/qhelpcontentwidget.cpp
@@ -518,8 +518,8 @@ QHelpContentWidget::QHelpContentWidget()
{
header()->hide();
setUniformRowHeights(true);
- connect(this, SIGNAL(activated(const QModelIndex&)),
- this, SLOT(showLink(const QModelIndex&)));
+ connect(this, SIGNAL(activated(QModelIndex)),
+ this, SLOT(showLink(QModelIndex)));
}
/*!
diff --git a/tools/assistant/lib/qhelpengine.cpp b/tools/assistant/lib/qhelpengine.cpp
index 2194ae9..97019bb 100644
--- a/tools/assistant/lib/qhelpengine.cpp
+++ b/tools/assistant/lib/qhelpengine.cpp
@@ -80,7 +80,7 @@ void QHelpEnginePrivate::init(const QString &collectionFile,
connect(helpEngineCore, SIGNAL(setupFinished()),
this, SLOT(applyCurrentFilter()));
- connect(helpEngineCore, SIGNAL(currentFilterChanged(const QString&)),
+ connect(helpEngineCore, SIGNAL(currentFilterChanged(QString)),
this, SLOT(applyCurrentFilter()));
}
diff --git a/tools/assistant/lib/qhelpenginecore.cpp b/tools/assistant/lib/qhelpenginecore.cpp
index 140e99a..640b9fd 100644
--- a/tools/assistant/lib/qhelpenginecore.cpp
+++ b/tools/assistant/lib/qhelpenginecore.cpp
@@ -66,8 +66,8 @@ void QHelpEngineCorePrivate::init(const QString &collectionFile,
{
q = helpEngineCore;
collectionHandler = new QHelpCollectionHandler(collectionFile, helpEngineCore);
- connect(collectionHandler, SIGNAL(error(const QString&)),
- this, SLOT(errorReceived(const QString&)));
+ connect(collectionHandler, SIGNAL(error(QString)),
+ this, SLOT(errorReceived(QString)));
needsSetup = true;
}
diff --git a/tools/assistant/lib/qhelpindexwidget.cpp b/tools/assistant/lib/qhelpindexwidget.cpp
index cef887f..475a1fe 100644
--- a/tools/assistant/lib/qhelpindexwidget.cpp
+++ b/tools/assistant/lib/qhelpindexwidget.cpp
@@ -391,8 +391,8 @@ QHelpIndexWidget::QHelpIndexWidget()
{
setEditTriggers(QAbstractItemView::NoEditTriggers);
setUniformItemSizes(true);
- connect(this, SIGNAL(activated(const QModelIndex&)),
- this, SLOT(showLink(const QModelIndex&)));
+ connect(this, SIGNAL(activated(QModelIndex)),
+ this, SLOT(showLink(QModelIndex)));
}
void QHelpIndexWidget::showLink(const QModelIndex &index)
diff --git a/tools/assistant/lib/qhelpsearchresultwidget.cpp b/tools/assistant/lib/qhelpsearchresultwidget.cpp
index c0d17dd..75ea987 100644
--- a/tools/assistant/lib/qhelpsearchresultwidget.cpp
+++ b/tools/assistant/lib/qhelpsearchresultwidget.cpp
@@ -67,8 +67,8 @@ public:
: QTreeWidget(parent)
{
header()->hide();
- connect(this, SIGNAL(itemActivated(QTreeWidgetItem*, int)),
- this, SLOT(itemActivated(QTreeWidgetItem*, int)));
+ connect(this, SIGNAL(itemActivated(QTreeWidgetItem*,int)),
+ this, SLOT(itemActivated(QTreeWidgetItem*,int)));
}
void showResultPage(const QList<QHelpSearchEngine::SearchHit> hits)
@@ -99,8 +99,8 @@ public:
QCLuceneResultWidget(QWidget *parent = 0)
: QTextBrowser(parent)
{
- connect(this, SIGNAL(anchorClicked(const QUrl&)),
- this, SIGNAL(requestShowLink(const QUrl&)));
+ connect(this, SIGNAL(anchorClicked(QUrl)),
+ this, SIGNAL(requestShowLink(QUrl)));
setContextMenuPolicy(Qt::NoContextMenu);
}
@@ -385,8 +385,8 @@ QHelpSearchResultWidget::QHelpSearchResultWidget(QHelpSearchEngine *engine)
d->resultTextBrowser = new QCLuceneResultWidget(this);
vLayout->addWidget(d->resultTextBrowser);
- connect(d->resultTextBrowser, SIGNAL(requestShowLink(const QUrl&)), this,
- SIGNAL(requestShowLink(const QUrl&)));
+ connect(d->resultTextBrowser, SIGNAL(requestShowLink(QUrl)), this,
+ SIGNAL(requestShowLink(QUrl)));
connect(d->nextResultPage, SIGNAL(clicked()), d, SLOT(showNextResultPage()));
connect(d->lastResultPage, SIGNAL(clicked()), d, SLOT(showLastResultPage()));
@@ -401,8 +401,8 @@ QHelpSearchResultWidget::QHelpSearchResultWidget(QHelpSearchEngine *engine)
#else
d->resultTreeWidget = new QDefaultResultWidget(this);
vLayout->addWidget(d->resultTreeWidget);
- connect(d->resultTreeWidget, SIGNAL(requestShowLink(const QUrl&)), this,
- SIGNAL(requestShowLink(const QUrl&)));
+ connect(d->resultTreeWidget, SIGNAL(requestShowLink(QUrl)), this,
+ SIGNAL(requestShowLink(QUrl)));
#endif
connect(engine, SIGNAL(searchingFinished(int)), d, SLOT(setResults(int)));
diff --git a/tools/assistant/tools/assistant/bookmarkmanager.cpp b/tools/assistant/tools/assistant/bookmarkmanager.cpp
index 511a56e..70f3157 100644
--- a/tools/assistant/tools/assistant/bookmarkmanager.cpp
+++ b/tools/assistant/tools/assistant/bookmarkmanager.cpp
@@ -630,7 +630,7 @@ BookmarkManager::BookmarkManager(QHelpEngineCore *_helpEngine)
SLOT(itemChanged(QStandardItem*)));
connect(treeModel, SIGNAL(itemChanged(QStandardItem*)), this,
SIGNAL(bookmarksChanged()));
- connect(treeModel, SIGNAL(rowsRemoved(QModelIndex, int, int)),
+ connect(treeModel, SIGNAL(rowsRemoved(QModelIndex,int,int)),
this, SIGNAL(bookmarksChanged()));
}
diff --git a/tools/assistant/tools/assistant/centralwidget.cpp b/tools/assistant/tools/assistant/centralwidget.cpp
index 67d803d..6f6875f 100644
--- a/tools/assistant/tools/assistant/centralwidget.cpp
+++ b/tools/assistant/tools/assistant/centralwidget.cpp
@@ -227,10 +227,10 @@ CentralWidget::CentralWidget(QHelpEngine *engine, MainWindow *parent)
resourcePath.append(QLatin1String("win"));
#else
resourcePath.append(QLatin1String("mac"));
+ tabWidget->setDocumentMode(true);
#endif
tabWidget = new QTabWidget(this);
- tabWidget->setDocumentMode(true);
connect(tabWidget, SIGNAL(currentChanged(int)), this,
SLOT(currentPageChanged(int)));
diff --git a/tools/assistant/tools/assistant/helpviewer.cpp b/tools/assistant/tools/assistant/helpviewer.cpp
index 3547652..f1b7745 100644
--- a/tools/assistant/tools/assistant/helpviewer.cpp
+++ b/tools/assistant/tools/assistant/helpviewer.cpp
@@ -292,7 +292,7 @@ HelpViewer::HelpViewer(QHelpEngine *engine, CentralWidget *parent)
SLOT(actionChanged()));
connect(pageAction(QWebPage::Forward), SIGNAL(changed()), this,
SLOT(actionChanged()));
- connect(page(), SIGNAL(linkHovered(QString, QString, QString)), this,
+ connect(page(), SIGNAL(linkHovered(QString,QString,QString)), this,
SIGNAL(highlighted(QString)));
connect(this, SIGNAL(urlChanged(QUrl)), this, SIGNAL(sourceChanged(QUrl)));
connect(this, SIGNAL(loadFinished(bool)), this, SLOT(setLoadFinished(bool)));
diff --git a/tools/assistant/tools/assistant/indexwindow.cpp b/tools/assistant/tools/assistant/indexwindow.cpp
index 3829cdb..6d35649 100644
--- a/tools/assistant/tools/assistant/indexwindow.cpp
+++ b/tools/assistant/tools/assistant/indexwindow.cpp
@@ -80,10 +80,10 @@ IndexWindow::IndexWindow(QHelpEngine *helpEngine, QWidget *parent)
SLOT(disableSearchLineEdit()));
connect(m_helpEngine->indexModel(), SIGNAL(indexCreated()), this,
SLOT(enableSearchLineEdit()));
- connect(m_indexWidget, SIGNAL(linkActivated(QUrl, QString)), this,
+ connect(m_indexWidget, SIGNAL(linkActivated(QUrl,QString)), this,
SIGNAL(linkActivated(QUrl)));
- connect(m_indexWidget, SIGNAL(linksActivated(QMap<QString, QUrl>, QString)),
- this, SIGNAL(linksActivated(QMap<QString, QUrl>, QString)));
+ connect(m_indexWidget, SIGNAL(linksActivated(QMap<QString,QUrl>,QString)),
+ this, SIGNAL(linksActivated(QMap<QString,QUrl>,QString)));
connect(m_searchLineEdit, SIGNAL(returnPressed()), m_indexWidget,
SLOT(activateCurrentItem()));
layout->addWidget(m_indexWidget);
diff --git a/tools/assistant/tools/assistant/installdialog.cpp b/tools/assistant/tools/assistant/installdialog.cpp
index b1ea49e..ea0bd29 100644
--- a/tools/assistant/tools/assistant/installdialog.cpp
+++ b/tools/assistant/tools/assistant/installdialog.cpp
@@ -76,12 +76,12 @@ InstallDialog::InstallDialog(QHelpEngineCore *helpEngine, QWidget *parent,
m_windowTitle = tr("Install Documentation");
m_http = new QHttp(this);
- connect(m_http, SIGNAL(requestFinished(int, bool)),
- this, SLOT(httpRequestFinished(int, bool)));
- connect(m_http, SIGNAL(dataReadProgress(int, int)),
- this, SLOT(updateDataReadProgress(int, int)));
- connect(m_http, SIGNAL(responseHeaderReceived(const QHttpResponseHeader &)),
- this, SLOT(readResponseHeader(const QHttpResponseHeader &)));
+ connect(m_http, SIGNAL(requestFinished(int,bool)),
+ this, SLOT(httpRequestFinished(int,bool)));
+ connect(m_http, SIGNAL(dataReadProgress(int,int)),
+ this, SLOT(updateDataReadProgress(int,int)));
+ connect(m_http, SIGNAL(responseHeaderReceived(QHttpResponseHeader)),
+ this, SLOT(readResponseHeader(QHttpResponseHeader)));
connect(m_ui.installButton, SIGNAL(clicked()), this, SLOT(install()));
connect(m_ui.cancelButton, SIGNAL(clicked()), this, SLOT(cancelDownload()));
connect(m_ui.browseButton, SIGNAL(clicked()), this, SLOT(browseDirectories()));
diff --git a/tools/assistant/tools/assistant/main.cpp b/tools/assistant/tools/assistant/main.cpp
index 12bc5b1..9568df0 100644
--- a/tools/assistant/tools/assistant/main.cpp
+++ b/tools/assistant/tools/assistant/main.cpp
@@ -189,6 +189,7 @@ QString indexFilesFolder(const QString &collectionFile)
int main(int argc, char *argv[])
{
+#ifndef Q_OS_WIN
// First do a quick search for arguments that imply command-line mode.
const char * cmdModeArgs[] = {
"-help", "-register", "-unregister", "-remove-search-index"
@@ -202,8 +203,10 @@ int main(int argc, char *argv[])
}
}
}
-
QApplication a(argc, argv, useGui);
+#else
+ QApplication a(argc, argv);
+#endif
a.addLibraryPath(a.applicationDirPath() + QLatin1String("/plugins"));
CmdLineParser cmd;
diff --git a/tools/assistant/tools/assistant/mainwindow.cpp b/tools/assistant/tools/assistant/mainwindow.cpp
index 01c4f75..1adb218 100644
--- a/tools/assistant/tools/assistant/mainwindow.cpp
+++ b/tools/assistant/tools/assistant/mainwindow.cpp
@@ -592,8 +592,8 @@ void MainWindow::setupActions()
SLOT(updateNavigationItems()));
connect(m_centralWidget, SIGNAL(highlighted(QString)), statusBar(),
SLOT(showMessage(QString)));
- connect(m_centralWidget, SIGNAL(addNewBookmark(QString, QString)), this,
- SLOT(addNewBookmark(QString, QString)));
+ connect(m_centralWidget, SIGNAL(addNewBookmark(QString,QString)), this,
+ SLOT(addNewBookmark(QString,QString)));
// bookmarks
connect(m_bookmarkWidget, SIGNAL(requestShowLink(QUrl)), m_centralWidget,
@@ -604,8 +604,8 @@ void MainWindow::setupActions()
// index window
connect(m_indexWindow, SIGNAL(linkActivated(QUrl)), m_centralWidget,
SLOT(setSource(QUrl)));
- connect(m_indexWindow, SIGNAL(linksActivated(QMap<QString, QUrl>, QString)),
- this, SLOT(showTopicChooser(QMap<QString, QUrl>, QString)));
+ connect(m_indexWindow, SIGNAL(linksActivated(QMap<QString,QUrl>,QString)),
+ this, SLOT(showTopicChooser(QMap<QString,QUrl>,QString)));
connect(m_indexWindow, SIGNAL(escapePressed()), this,
SLOT(activateCurrentCentralWidgetTab()));
diff --git a/tools/assistant/tools/assistant/preferencesdialog.cpp b/tools/assistant/tools/assistant/preferencesdialog.cpp
index d964015..03e4be0 100644
--- a/tools/assistant/tools/assistant/preferencesdialog.cpp
+++ b/tools/assistant/tools/assistant/preferencesdialog.cpp
@@ -83,11 +83,11 @@ PreferencesDialog::PreferencesDialog(QHelpEngineCore *helpEngine, QWidget *paren
m_ui.attributeWidget->header()->hide();
m_ui.attributeWidget->setRootIsDecorated(false);
- connect(m_ui.attributeWidget, SIGNAL(itemChanged(QTreeWidgetItem*, int)),
+ connect(m_ui.attributeWidget, SIGNAL(itemChanged(QTreeWidgetItem*,int)),
this, SLOT(updateFilterMap()));
connect(m_ui.filterWidget,
- SIGNAL(currentItemChanged(QListWidgetItem*, QListWidgetItem*)), this,
+ SIGNAL(currentItemChanged(QListWidgetItem*,QListWidgetItem*)), this,
SLOT(updateAttributes(QListWidgetItem*)));
connect(m_ui.filterAddButton, SIGNAL(clicked()), this,
diff --git a/tools/assistant/tools/assistant/remotecontrol.cpp b/tools/assistant/tools/assistant/remotecontrol.cpp
index 474a681..7d89b55 100644
--- a/tools/assistant/tools/assistant/remotecontrol.cpp
+++ b/tools/assistant/tools/assistant/remotecontrol.cpp
@@ -117,8 +117,8 @@ RemoteControl::RemoteControl(MainWindow *mainWindow, QHelpEngine *helpEngine)
connect(m_mainWindow, SIGNAL(initDone()), this, SLOT(applyCache()));
#ifdef Q_OS_WIN
StdInListenerWin *l = new StdInListenerWin(this);
- connect(l, SIGNAL(receivedCommand(const QString&)),
- this, SLOT(handleCommandString(const QString&)));
+ connect(l, SIGNAL(receivedCommand(QString)),
+ this, SLOT(handleCommandString(QString)));
l->start();
#else
QSocketNotifier *notifier = new QSocketNotifier(fileno(stdin),
diff --git a/tools/assistant/tools/qhelpconverter/generalpage.cpp b/tools/assistant/tools/qhelpconverter/generalpage.cpp
index 0f48857..4259e35 100644
--- a/tools/assistant/tools/qhelpconverter/generalpage.cpp
+++ b/tools/assistant/tools/qhelpconverter/generalpage.cpp
@@ -52,9 +52,9 @@ GeneralPage::GeneralPage(QWidget *parent)
"folder for the documentation."));
m_ui.setupUi(this);
- connect(m_ui.namespaceLineEdit, SIGNAL(textChanged(const QString&)),
+ connect(m_ui.namespaceLineEdit, SIGNAL(textChanged(QString)),
this, SIGNAL(completeChanged()));
- connect(m_ui.folderLineEdit, SIGNAL(textChanged(const QString&)),
+ connect(m_ui.folderLineEdit, SIGNAL(textChanged(QString)),
this, SIGNAL(completeChanged()));
m_ui.namespaceLineEdit->setText(QLatin1String("mycompany.com"));
diff --git a/tools/assistant/tools/qhelpconverter/outputpage.cpp b/tools/assistant/tools/qhelpconverter/outputpage.cpp
index 98e5137..b1c7496 100644
--- a/tools/assistant/tools/qhelpconverter/outputpage.cpp
+++ b/tools/assistant/tools/qhelpconverter/outputpage.cpp
@@ -55,9 +55,9 @@ OutputPage::OutputPage(QWidget *parent)
setButtonText(QWizard::NextButton, tr("Convert..."));
m_ui.setupUi(this);
- connect(m_ui.projectLineEdit, SIGNAL(textChanged(const QString&)),
+ connect(m_ui.projectLineEdit, SIGNAL(textChanged(QString)),
this, SIGNAL(completeChanged()));
- connect(m_ui.collectionLineEdit, SIGNAL(textChanged(const QString&)),
+ connect(m_ui.collectionLineEdit, SIGNAL(textChanged(QString)),
this, SIGNAL(completeChanged()));
registerField(QLatin1String("ProjectFileName"),
diff --git a/tools/assistant/tools/shared/helpgenerator.cpp b/tools/assistant/tools/shared/helpgenerator.cpp
index 956a22a..c364433 100644
--- a/tools/assistant/tools/shared/helpgenerator.cpp
+++ b/tools/assistant/tools/shared/helpgenerator.cpp
@@ -49,10 +49,10 @@ QT_BEGIN_NAMESPACE
HelpGenerator::HelpGenerator()
{
generator = new QHelpGenerator(this);
- connect(generator, SIGNAL(statusChanged(const QString&)),
- this, SLOT(printStatus(const QString&)));
- connect(generator, SIGNAL(warning(const QString&)),
- this, SLOT(printWarning(const QString&)));
+ connect(generator, SIGNAL(statusChanged(QString)),
+ this, SLOT(printStatus(QString)));
+ connect(generator, SIGNAL(warning(QString)),
+ this, SLOT(printWarning(QString)));
}
bool HelpGenerator::generate(QHelpDataInterface *helpData,
diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp
index 3cd25ae..cd3feec 100644
--- a/tools/configure/configureapp.cpp
+++ b/tools/configure/configureapp.cpp
@@ -3402,7 +3402,8 @@ void Configure::buildHostTools()
QString pwd = QDir::currentPath();
QStringList hostToolsDirs;
hostToolsDirs
- << "src/tools";
+ << "src/tools"
+ << "tools/linguist/lrelease";
if(dictionary["XQMAKESPEC"].startsWith("wince"))
hostToolsDirs << "tools/checksdk";
diff --git a/tools/configure/tools.cpp b/tools/configure/tools.cpp
index c958dd9..76063e4 100644
--- a/tools/configure/tools.cpp
+++ b/tools/configure/tools.cpp
@@ -110,28 +110,21 @@ void Tools::checkLicense(QMap<QString,QString> &dictionary, QMap<QString,QString
// Verify license info...
QString licenseKey = licenseInfo["LICENSEKEYEXT"];
- const char * clicenseKey = licenseKey.toLatin1();
+ QByteArray clicenseKey = licenseKey.toLatin1();
//We check the licence
-#ifndef _WIN32_WCE
- char *buffer = strdup(clicenseKey);
-#else
- char *buffer = (char*) malloc(strlen(clicenseKey) + 1);
- strcpy(buffer, clicenseKey);
-#endif
static const char * const SEP = "-";
char *licenseParts[NUMBER_OF_PARTS];
int partNumber = 0;
- for (char *part = strtok(buffer, SEP); part != 0; part = strtok(0, SEP))
+ for (char *part = strtok(clicenseKey.data(), SEP); part != 0; part = strtok(0, SEP))
licenseParts[partNumber++] = part;
if (partNumber < (NUMBER_OF_PARTS-1)) {
dictionary["DONE"] = "error";
cout << "License file does not contain proper license key." <<partNumber<< endl;
- free(buffer);
return;
}
char products = licenseParts[0][0];
- char platforms = licenseParts[1][0];
+ char* platforms = licenseParts[1];
char* licenseSchema = licenseParts[2];
char licenseFeatures = licenseParts[3][0];
@@ -149,22 +142,76 @@ void Tools::checkLicense(QMap<QString,QString> &dictionary, QMap<QString,QString
dictionary["EDITION"] = "GUIFramework";
dictionary["QT_EDITION"] = "QT_EDITION_DESKTOPLIGHT";
}
-
- if (platforms == 'X') {
- dictionary["LICENSE_EXTENSION"] = "-ALLOS";
- } else if (strchr("2346789ABCDEGHJKMPQSTUVWX", platforms)) {
- dictionary["LICENSE_EXTENSION"] = "-EMBEDDED";
- } else if (strchr("4BFPQRTY", platforms)) {
- dictionary["LICENSE_EXTENSION"] = "-DESKTOP";
- }
} else if (strcmp(licenseSchema,"Z4M") == 0 || strcmp(licenseSchema,"R4M") == 0 || strcmp(licenseSchema,"Q4M") == 0) {
if (products == 'B') {
dictionary["EDITION"] = "Evaluation";
dictionary["QT_EDITION"] = "QT_EDITION_EVALUATION";
- dictionary["LICENSE_EXTENSION"] = "-EVALUATION";
}
}
+ if (platforms[2] == 'L') {
+ static const char src[] = "8NPQRTZ";
+ static const char dst[] = "UCWX9M7";
+ const char *p = strchr(src, platforms[1]);
+ platforms[1] = dst[p - src];
+ }
+
+#define PL(a,b) (int(a)+int(b)*256)
+ int platformCode = PL(platforms[0],platforms[1]);
+ switch (platformCode) {
+ case PL('X','9'):
+ case PL('X','C'):
+ case PL('X','U'):
+ case PL('X','W'):
+ dictionary["LICENSE_EXTENSION"] = "-ALLOS";
+ break;
+ case PL('6', 'M'):
+ case PL('8', 'M'):
+ case PL('N', '7'):
+ case PL('N', '9'):
+ case PL('N', 'X'):
+ case PL('S', '9'):
+ case PL('S', 'C'):
+ case PL('S', 'U'):
+ case PL('S', 'W'):
+ dictionary["LICENSE_EXTENSION"] = "-EMBEDDED";
+ if (dictionary["PLATFORM NAME"].contains("Windows CE")
+ && platformCode != PL('6', 'M') && platformCode != PL('S', '9')
+ && platformCode != PL('S', 'C') && platformCode != PL('S', 'U')
+ && platformCode != PL('S', 'W')) {
+ dictionary["DONE"] = "error";
+ } else if (dictionary["PLATFORM NAME"].contains("Symbian")
+ && platformCode != PL('N', '9') && platformCode != PL('S', '9')
+ && platformCode != PL('S', 'C') && platformCode != PL('S', 'U')
+ && platformCode != PL('S', 'W')) {
+ dictionary["DONE"] = "error";
+ }
+ break;
+ case PL('R', 'M'):
+ case PL('F', 'M'):
+ dictionary["LICENSE_EXTENSION"] = "-DESKTOP";
+ if (!dictionary["PLATFORM NAME"].endsWith("Windows")) {
+ dictionary["DONE"] = "error";
+ }
+ break;
+ default:
+ dictionary["DONE"] = "error";
+ return;
+ }
+#undef PL
+
+ if (dictionary.value("DONE") == "error") {
+ cout << "You are not licensed for the " << dictionary["PLATFORM NAME"] << " platform." << endl << endl;
+ cout << "Please contact qt-info@nokia.com to upgrade your license" << endl;
+ cout << "to include the " << dictionary["PLATFORM NAME"] << " platform, or install the" << endl;
+ cout << "Qt Open Source Edition if you intend to develop free software." << endl;
+ return;
+ }
+
+ // Override for evaluation licenses
+ if (dictionary["Edition"] == "Evaluation")
+ dictionary["LICENSE_EXTENSION"] = "-EVALUATION";
+
if (QFile::exists(dictionary["QT_SOURCE_TREE"] + "/.LICENSE")) {
// Generic, no-suffix license
dictionary["LICENSE_EXTENSION"] = QString();
@@ -180,27 +227,13 @@ void Tools::checkLicense(QMap<QString,QString> &dictionary, QMap<QString,QString
return;
}
- if (dictionary["PLATFORM NAME"].contains("Windows CE")) {
- // verify that we are licensed to use Qt for Windows CE
- if (dictionary["LICENSE_EXTENSION"] != "-EMBEDDED" && dictionary["LICENSE_EXTENSION"] != "-ALLOS") {
- cout << "You are not licensed for the " << dictionary["PLATFORM NAME"] << " platform." << endl << endl;
- cout << "Please contact qt-info@nokia.com to upgrade your license" << endl;
- cout << "to include the " << dictionary["PLATFORM NAME"] << " platform, or install the" << endl;
- cout << "Qt Open Source Edition if you intend to develop free software." << endl;
- dictionary["DONE"] = "error";
- return;
- }
- }
-
// copy one of .LICENSE-*(-US) to LICENSE
QString toLicenseFile = dictionary["QT_SOURCE_TREE"] + "/LICENSE";
QString fromLicenseFile = dictionary["QT_SOURCE_TREE"] + "/.LICENSE" + dictionary["LICENSE_EXTENSION"];
- if (licenseFeatures == 'G') //US
+ if (licenseFeatures == 'B' || licenseFeatures == 'G'
+ || licenseFeatures == 'L' || licenseFeatures == 'Y')
fromLicenseFile += "-US";
- if (licenseFeatures == '5') //Floating
- dictionary["METERED LICENSE"] = "true";
-
if (!CopyFile((wchar_t*)QDir::toNativeSeparators(fromLicenseFile).utf16(),
(wchar_t*)QDir::toNativeSeparators(toLicenseFile).utf16(), FALSE)) {
cout << "Failed to copy license file (" << fromLicenseFile << ")";
@@ -208,6 +241,5 @@ void Tools::checkLicense(QMap<QString,QString> &dictionary, QMap<QString,QString
return;
}
dictionary["LICENSE FILE"] = toLicenseFile;
- free(buffer);
}
diff --git a/tools/designer/src/components/formeditor/brushmanagerproxy.cpp b/tools/designer/src/components/formeditor/brushmanagerproxy.cpp
index 470258b..8369cc5 100644
--- a/tools/designer/src/components/formeditor/brushmanagerproxy.cpp
+++ b/tools/designer/src/components/formeditor/brushmanagerproxy.cpp
@@ -160,10 +160,10 @@ void BrushManagerProxy::setBrushManager(QtBrushManager *manager)
return;
if (d_ptr->m_Manager) {
- disconnect(d_ptr->m_Manager, SIGNAL(brushAdded(const QString &, const QBrush &)),
- this, SLOT(brushAdded(const QString &, const QBrush &)));
- disconnect(d_ptr->m_Manager, SIGNAL(brushRemoved(const QString &)),
- this, SLOT(brushRemoved(const QString &)));
+ disconnect(d_ptr->m_Manager, SIGNAL(brushAdded(QString,QBrush)),
+ this, SLOT(brushAdded(QString,QBrush)));
+ disconnect(d_ptr->m_Manager, SIGNAL(brushRemoved(QString)),
+ this, SLOT(brushRemoved(QString)));
}
d_ptr->m_Manager = manager;
@@ -256,7 +256,7 @@ void BrushManagerProxy::setBrushManager(QtBrushManager *manager)
}
connect(d_ptr->m_Manager, SIGNAL(brushAdded(QString,QBrush)),
- this, SLOT(brushAdded(QString, QBrush)));
+ this, SLOT(brushAdded(QString,QBrush)));
connect(d_ptr->m_Manager, SIGNAL(brushRemoved(QString)),
this, SLOT(brushRemoved(QString)));
diff --git a/tools/designer/src/components/formeditor/formeditor.cpp b/tools/designer/src/components/formeditor/formeditor.cpp
index 9f00aa1..9208a32 100644
--- a/tools/designer/src/components/formeditor/formeditor.cpp
+++ b/tools/designer/src/components/formeditor/formeditor.cpp
@@ -162,8 +162,8 @@ FormEditor::FormEditor(QObject *parent)
QtResourceModel *resourceModel = new QtResourceModel(this);
setResourceModel(resourceModel);
- connect(resourceModel, SIGNAL(qrcFileModifiedExternally(const QString &)),
- this, SLOT(slotQrcFileChangedExternally(const QString &)));
+ connect(resourceModel, SIGNAL(qrcFileModifiedExternally(QString)),
+ this, SLOT(slotQrcFileChangedExternally(QString)));
QList<QDesignerOptionsPageInterface*> optionsPages;
optionsPages << new TemplateOptionsPage(this) << new FormEditorOptionsPage(this) << new EmbeddedOptionsPage(this);
diff --git a/tools/designer/src/components/formeditor/qdesigner_resource.cpp b/tools/designer/src/components/formeditor/qdesigner_resource.cpp
index 0048e940..d325bca 100644
--- a/tools/designer/src/components/formeditor/qdesigner_resource.cpp
+++ b/tools/designer/src/components/formeditor/qdesigner_resource.cpp
@@ -2392,8 +2392,8 @@ void QDesignerResource::createResources(DomResources *resources)
} else {
resourceSet = m_formWindow->core()->resourceModel()->addResourceSet(paths);
m_formWindow->setResourceSet(resourceSet);
- QObject::connect(m_formWindow->core()->resourceModel(), SIGNAL(resourceSetActivated(QtResourceSet *, bool)),
- m_formWindow, SLOT(resourceSetActivated(QtResourceSet *, bool)));
+ QObject::connect(m_formWindow->core()->resourceModel(), SIGNAL(resourceSetActivated(QtResourceSet*,bool)),
+ m_formWindow, SLOT(resourceSetActivated(QtResourceSet*,bool)));
}
}
diff --git a/tools/designer/src/components/propertyeditor/designerpropertymanager.cpp b/tools/designer/src/components/propertyeditor/designerpropertymanager.cpp
index 1e66c1e..a85c908 100644
--- a/tools/designer/src/components/propertyeditor/designerpropertymanager.cpp
+++ b/tools/designer/src/components/propertyeditor/designerpropertymanager.cpp
@@ -577,7 +577,7 @@ DesignerPropertyManager::DesignerPropertyManager(QDesignerFormEditorInterface *c
m_core(core),
m_sourceOfChange(0)
{
- connect(this, SIGNAL(valueChanged(QtProperty*,QVariant)), this, SLOT(slotValueChanged(QtProperty*, QVariant)));
+ connect(this, SIGNAL(valueChanged(QtProperty*,QVariant)), this, SLOT(slotValueChanged(QtProperty*,QVariant)));
connect(this, SIGNAL(propertyDestroyed(QtProperty*)), this, SLOT(slotPropertyDestroyed(QtProperty*)));
}
@@ -2217,7 +2217,7 @@ QWidget *DesignerEditorFactory::createEditor(QtVariantPropertyManager *manager,
ed->setRichTextDefaultFont(qvariant_cast<QFont>(richTextDefaultFont));
m_stringPropertyToEditors[property].append(ed);
m_editorToStringProperty[ed] = property;
- connect(ed, SIGNAL(destroyed(QObject *)), this, SLOT(slotEditorDestroyed(QObject *)));
+ connect(ed, SIGNAL(destroyed(QObject*)), this, SLOT(slotEditorDestroyed(QObject*)));
connect(ed, SIGNAL(textChanged(QString)), this, SLOT(slotStringTextChanged(QString)));
editor = ed;
}
@@ -2302,8 +2302,8 @@ QWidget *DesignerEditorFactory::createEditor(QtVariantPropertyManager *manager,
ed->setSpacing(m_spacing);
m_pixmapPropertyToEditors[property].append(ed);
m_editorToPixmapProperty[ed] = property;
- connect(ed, SIGNAL(destroyed(QObject *)), this, SLOT(slotEditorDestroyed(QObject *)));
- connect(ed, SIGNAL(pathChanged(const QString &)), this, SLOT(slotPixmapChanged(const QString &)));
+ connect(ed, SIGNAL(destroyed(QObject*)), this, SLOT(slotEditorDestroyed(QObject*)));
+ connect(ed, SIGNAL(pathChanged(QString)), this, SLOT(slotPixmapChanged(QString)));
editor = ed;
} else if (type == DesignerPropertyManager::designerIconTypeId()) {
PixmapEditor *ed = new PixmapEditor(m_core, parent);
@@ -2319,8 +2319,8 @@ QWidget *DesignerEditorFactory::createEditor(QtVariantPropertyManager *manager,
ed->setSpacing(m_spacing);
m_iconPropertyToEditors[property].append(ed);
m_editorToIconProperty[ed] = property;
- connect(ed, SIGNAL(destroyed(QObject *)), this, SLOT(slotEditorDestroyed(QObject *)));
- connect(ed, SIGNAL(pathChanged(const QString &)), this, SLOT(slotIconChanged(const QString &)));
+ connect(ed, SIGNAL(destroyed(QObject*)), this, SLOT(slotEditorDestroyed(QObject*)));
+ connect(ed, SIGNAL(pathChanged(QString)), this, SLOT(slotIconChanged(QString)));
editor = ed;
} else if (type == DesignerPropertyManager::designerStringTypeId()) {
const TextPropertyValidationMode tvm = static_cast<TextPropertyValidationMode>(manager->attributeValue(property, QLatin1String(validationModesAttributeC)).toInt());
@@ -2330,7 +2330,7 @@ QWidget *DesignerEditorFactory::createEditor(QtVariantPropertyManager *manager,
ed->setRichTextDefaultFont(qvariant_cast<QFont>(richTextDefaultFont));
m_stringPropertyToEditors[property].append(ed);
m_editorToStringProperty[ed] = property;
- connect(ed, SIGNAL(destroyed(QObject *)), this, SLOT(slotEditorDestroyed(QObject *)));
+ connect(ed, SIGNAL(destroyed(QObject*)), this, SLOT(slotEditorDestroyed(QObject*)));
connect(ed, SIGNAL(textChanged(QString)), this, SLOT(slotStringTextChanged(QString)));
editor = ed;
} else if (type == DesignerPropertyManager::designerKeySequenceTypeId()) {
@@ -2338,7 +2338,7 @@ QWidget *DesignerEditorFactory::createEditor(QtVariantPropertyManager *manager,
ed->setKeySequence(qVariantValue<PropertySheetKeySequenceValue>(manager->value(property)).value());
m_keySequencePropertyToEditors[property].append(ed);
m_editorToKeySequenceProperty[ed] = property;
- connect(ed, SIGNAL(destroyed(QObject *)), this, SLOT(slotEditorDestroyed(QObject *)));
+ connect(ed, SIGNAL(destroyed(QObject*)), this, SLOT(slotEditorDestroyed(QObject*)));
connect(ed, SIGNAL(keySequenceChanged(QKeySequence)), this, SLOT(slotKeySequenceChanged(QKeySequence)));
editor = ed;
} else {
@@ -2527,14 +2527,14 @@ ResetDecorator::~ResetDecorator()
void ResetDecorator::connectPropertyManager(QtAbstractPropertyManager *manager)
{
- connect(manager, SIGNAL(propertyChanged(QtProperty *)),
- this, SLOT(slotPropertyChanged(QtProperty *)));
+ connect(manager, SIGNAL(propertyChanged(QtProperty*)),
+ this, SLOT(slotPropertyChanged(QtProperty*)));
}
void ResetDecorator::disconnectPropertyManager(QtAbstractPropertyManager *manager)
{
- disconnect(manager, SIGNAL(propertyChanged(QtProperty *)),
- this, SLOT(slotPropertyChanged(QtProperty *)));
+ disconnect(manager, SIGNAL(propertyChanged(QtProperty*)),
+ this, SLOT(slotPropertyChanged(QtProperty*)));
}
void ResetDecorator::setSpacing(int spacing)
@@ -2556,7 +2556,7 @@ QWidget *ResetDecorator::editor(QWidget *subEditor, bool resettable, QtAbstractP
resetWidget->setValueIcon(property->valueIcon());
resetWidget->setAutoFillBackground(true);
connect(resetWidget, SIGNAL(destroyed(QObject*)), this, SLOT(slotEditorDestroyed(QObject*)));
- connect(resetWidget, SIGNAL(resetProperty(QtProperty *)), this, SIGNAL(resetProperty(QtProperty *)));
+ connect(resetWidget, SIGNAL(resetProperty(QtProperty*)), this, SIGNAL(resetProperty(QtProperty*)));
m_createdResetWidgets[property].append(resetWidget);
m_resetWidgetToProperty[resetWidget] = property;
}
diff --git a/tools/designer/src/components/propertyeditor/paletteeditor.cpp b/tools/designer/src/components/propertyeditor/paletteeditor.cpp
index eeb166f..ffa76b2 100644
--- a/tools/designer/src/components/propertyeditor/paletteeditor.cpp
+++ b/tools/designer/src/components/propertyeditor/paletteeditor.cpp
@@ -77,8 +77,8 @@ PaletteEditor::PaletteEditor(QDesignerFormEditorInterface *core, QWidget *parent
ColorDelegate *delegate = new ColorDelegate(core, this);
ui.paletteView->setItemDelegate(delegate);
ui.paletteView->setEditTriggers(QAbstractItemView::AllEditTriggers);
- connect(m_paletteModel, SIGNAL(paletteChanged(const QPalette &)),
- this, SLOT(paletteChanged(const QPalette &)));
+ connect(m_paletteModel, SIGNAL(paletteChanged(QPalette)),
+ this, SLOT(paletteChanged(QPalette)));
ui.paletteView->setSelectionBehavior(QAbstractItemView::SelectRows);
ui.paletteView->setDragEnabled(true);
ui.paletteView->setDropIndicatorShown(true);
@@ -425,7 +425,7 @@ BrushEditor::BrushEditor(QDesignerFormEditorInterface *core, QWidget *parent) :
QLayout *layout = new QHBoxLayout(this);
layout->setMargin(0);
layout->addWidget(m_button);
- connect(m_button, SIGNAL(colorChanged(const QColor &)), this, SLOT(brushChanged()));
+ connect(m_button, SIGNAL(colorChanged(QColor)), this, SLOT(brushChanged()));
setFocusProxy(m_button);
}
@@ -515,13 +515,13 @@ QWidget *ColorDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem
QWidget *ed = 0;
if (index.column() == 0) {
RoleEditor *editor = new RoleEditor(parent);
- connect(editor, SIGNAL(changed(QWidget *)), this, SIGNAL(commitData(QWidget *)));
+ connect(editor, SIGNAL(changed(QWidget*)), this, SIGNAL(commitData(QWidget*)));
//editor->setFocusPolicy(Qt::NoFocus);
//editor->installEventFilter(const_cast<ColorDelegate *>(this));
ed = editor;
} else {
BrushEditor *editor = new BrushEditor(m_core, parent);
- connect(editor, SIGNAL(changed(QWidget *)), this, SIGNAL(commitData(QWidget *)));
+ connect(editor, SIGNAL(changed(QWidget*)), this, SIGNAL(commitData(QWidget*)));
editor->setFocusPolicy(Qt::NoFocus);
editor->installEventFilter(const_cast<ColorDelegate *>(this));
ed = editor;
diff --git a/tools/designer/src/components/propertyeditor/stringlisteditor.cpp b/tools/designer/src/components/propertyeditor/stringlisteditor.cpp
index e46cca0..1b8c840 100644
--- a/tools/designer/src/components/propertyeditor/stringlisteditor.cpp
+++ b/tools/designer/src/components/propertyeditor/stringlisteditor.cpp
@@ -55,10 +55,10 @@ StringListEditor::StringListEditor(QWidget *parent)
listView->setModel(m_model);
connect(listView->selectionModel(),
- SIGNAL(currentChanged(const QModelIndex &, const QModelIndex &)),
- this, SLOT(currentIndexChanged(const QModelIndex &, const QModelIndex &)));
+ SIGNAL(currentChanged(QModelIndex,QModelIndex)),
+ this, SLOT(currentIndexChanged(QModelIndex,QModelIndex)));
connect(listView->itemDelegate(),
- SIGNAL(closeEditor(QWidget *, QAbstractItemDelegate::EndEditHint)),
+ SIGNAL(closeEditor(QWidget*,QAbstractItemDelegate::EndEditHint)),
this, SLOT(currentValueChanged()));
QIcon upIcon = createIconSet(QString::fromUtf8("up.png"));
diff --git a/tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp b/tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp
index e36e828..8abaccb 100644
--- a/tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp
+++ b/tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp
@@ -758,8 +758,8 @@ void SignalSlotEditorWindow::setActiveFormWindow(QDesignerFormWindowInterface *f
disconnect(m_editor, SIGNAL(connectionSelected(Connection*)),
this, SLOT(updateDialogSelection(Connection*)));
if (integration) {
- disconnect(integration, SIGNAL(objectNameChanged(QDesignerFormWindowInterface *, QObject *, QString, QString)),
- this, SLOT(objectNameChanged(QDesignerFormWindowInterface *, QObject *, QString, QString)));
+ disconnect(integration, SIGNAL(objectNameChanged(QDesignerFormWindowInterface*,QObject*,QString,QString)),
+ this, SLOT(objectNameChanged(QDesignerFormWindowInterface*,QObject*,QString,QString)));
}
}
@@ -777,8 +777,8 @@ void SignalSlotEditorWindow::setActiveFormWindow(QDesignerFormWindowInterface *f
connect(m_editor, SIGNAL(connectionSelected(Connection*)),
this, SLOT(updateDialogSelection(Connection*)));
if (integration) {
- connect(integration, SIGNAL(objectNameChanged(QDesignerFormWindowInterface *, QObject *, QString, QString)),
- this, SLOT(objectNameChanged(QDesignerFormWindowInterface *, QObject *, QString, QString)));
+ connect(integration, SIGNAL(objectNameChanged(QDesignerFormWindowInterface*,QObject*,QString,QString)),
+ this, SLOT(objectNameChanged(QDesignerFormWindowInterface*,QObject*,QString,QString)));
}
}
diff --git a/tools/designer/src/components/taskmenu/containerwidget_taskmenu.cpp b/tools/designer/src/components/taskmenu/containerwidget_taskmenu.cpp
index 88ea593..6c212a9 100644
--- a/tools/designer/src/components/taskmenu/containerwidget_taskmenu.cpp
+++ b/tools/designer/src/components/taskmenu/containerwidget_taskmenu.cpp
@@ -257,10 +257,10 @@ MdiContainerWidgetTaskMenu::MdiContainerWidgetTaskMenu(QMdiArea *m, QObject *par
ContainerWidgetTaskMenu(m, MdiContainer, parent)
{
initializeActions();
- connect(m_nextAction, SIGNAL(triggered()), m, SLOT( activateNextSubWindow ()));
+ connect(m_nextAction, SIGNAL(triggered()), m, SLOT(activateNextSubWindow()));
connect(m_previousAction, SIGNAL(triggered()), m , SLOT(activatePreviousSubWindow()));
connect(m_tileAction, SIGNAL(triggered()), m, SLOT(tileSubWindows()));
- connect(m_cascadeAction, SIGNAL(triggered()), m, SLOT(cascadeSubWindows ()));
+ connect(m_cascadeAction, SIGNAL(triggered()), m, SLOT(cascadeSubWindows()));
}
MdiContainerWidgetTaskMenu::MdiContainerWidgetTaskMenu(QWorkspace *m, QObject *parent) :
diff --git a/tools/designer/src/designer/qdesigner_workbench.cpp b/tools/designer/src/designer/qdesigner_workbench.cpp
index c619a09..593fecd 100644
--- a/tools/designer/src/designer/qdesigner_workbench.cpp
+++ b/tools/designer/src/designer/qdesigner_workbench.cpp
@@ -320,8 +320,8 @@ void QDesignerWorkbench::addFormWindow(QDesignerFormWindow *formWindow)
m_actionManager->minimizeAction()->setEnabled(true);
m_actionManager->minimizeAction()->setChecked(false);
- connect(formWindow, SIGNAL(minimizationStateChanged(QDesignerFormWindowInterface *, bool)),
- this, SLOT(minimizationStateChanged(QDesignerFormWindowInterface *, bool)));
+ connect(formWindow, SIGNAL(minimizationStateChanged(QDesignerFormWindowInterface*,bool)),
+ this, SLOT(minimizationStateChanged(QDesignerFormWindowInterface*,bool)));
m_actionManager->editWidgets()->trigger();
}
diff --git a/tools/designer/src/lib/shared/actioneditor.cpp b/tools/designer/src/lib/shared/actioneditor.cpp
index 56bd353..8d416c9 100644
--- a/tools/designer/src/lib/shared/actioneditor.cpp
+++ b/tools/designer/src/lib/shared/actioneditor.cpp
@@ -234,8 +234,8 @@ ActionEditor::ActionEditor(QDesignerFormEditorInterface *core, QWidget *parent,
connect(m_actionView,SIGNAL(selectionChanged(QItemSelection,QItemSelection)),
this, SLOT(slotSelectionChanged(QItemSelection,QItemSelection)));
- connect(m_actionView, SIGNAL(contextMenuRequested(QContextMenuEvent*, QAction*)),
- this, SLOT(slotContextMenuRequested(QContextMenuEvent*, QAction*)));
+ connect(m_actionView, SIGNAL(contextMenuRequested(QContextMenuEvent*,QAction*)),
+ this, SLOT(slotContextMenuRequested(QContextMenuEvent*,QAction*)));
connect(this, SIGNAL(itemActivated(QAction*)), this, SLOT(editAction(QAction*)));
diff --git a/tools/designer/src/lib/shared/actionrepository.cpp b/tools/designer/src/lib/shared/actionrepository.cpp
index 854a2b5..1655d07 100644
--- a/tools/designer/src/lib/shared/actionrepository.cpp
+++ b/tools/designer/src/lib/shared/actionrepository.cpp
@@ -504,10 +504,10 @@ ActionView::ActionView(QWidget *parent) :
addWidget(m_actionListView);
addWidget(m_actionTreeView);
// Wire signals
- connect(m_actionTreeView, SIGNAL(contextMenuRequested(QContextMenuEvent*, QAction*)),
- this, SIGNAL(contextMenuRequested(QContextMenuEvent*, QAction*)));
- connect(m_actionListView, SIGNAL(contextMenuRequested(QContextMenuEvent*, QAction*)),
- this, SIGNAL(contextMenuRequested(QContextMenuEvent*, QAction*)));
+ connect(m_actionTreeView, SIGNAL(contextMenuRequested(QContextMenuEvent*,QAction*)),
+ this, SIGNAL(contextMenuRequested(QContextMenuEvent*,QAction*)));
+ connect(m_actionListView, SIGNAL(contextMenuRequested(QContextMenuEvent*,QAction*)),
+ this, SIGNAL(contextMenuRequested(QContextMenuEvent*,QAction*)));
// make it possible for vs integration to reimplement edit action dialog
// [which it shouldn't do actually]
diff --git a/tools/designer/src/lib/shared/promotionmodel.cpp b/tools/designer/src/lib/shared/promotionmodel.cpp
index 80eded0..888733a 100644
--- a/tools/designer/src/lib/shared/promotionmodel.cpp
+++ b/tools/designer/src/lib/shared/promotionmodel.cpp
@@ -121,7 +121,7 @@ namespace qdesigner_internal {
PromotionModel::PromotionModel(QDesignerFormEditorInterface *core) :
m_core(core)
{
- connect(this, SIGNAL(itemChanged(QStandardItem *)), this, SLOT(slotItemChanged(QStandardItem *)));
+ connect(this, SIGNAL(itemChanged(QStandardItem*)), this, SLOT(slotItemChanged(QStandardItem*)));
}
void PromotionModel::initializeHeaders() {
diff --git a/tools/designer/src/lib/shared/qdesigner_integration.cpp b/tools/designer/src/lib/shared/qdesigner_integration.cpp
index bf03fe5..ee50a45 100644
--- a/tools/designer/src/lib/shared/qdesigner_integration.cpp
+++ b/tools/designer/src/lib/shared/qdesigner_integration.cpp
@@ -117,7 +117,7 @@ void QDesignerIntegration::initialize()
// Extensions
if (QDesignerPropertyEditor *designerPropertyEditor= qobject_cast<QDesignerPropertyEditor *>(core()->propertyEditor())) {
- connect(designerPropertyEditor, SIGNAL(propertyValueChanged(QString, QVariant, bool)), this, SLOT(updateProperty(QString, QVariant, bool)));
+ connect(designerPropertyEditor, SIGNAL(propertyValueChanged(QString,QVariant,bool)), this, SLOT(updateProperty(QString,QVariant,bool)));
connect(designerPropertyEditor, SIGNAL(resetProperty(QString)), this, SLOT(resetProperty(QString)));
connect(designerPropertyEditor, SIGNAL(addDynamicProperty(QString,QVariant)),
this, SLOT(addDynamicProperty(QString,QVariant)));
diff --git a/tools/designer/src/lib/shared/qdesigner_menubar.cpp b/tools/designer/src/lib/shared/qdesigner_menubar.cpp
index 80c7b53..e25290a 100644
--- a/tools/designer/src/lib/shared/qdesigner_menubar.cpp
+++ b/tools/designer/src/lib/shared/qdesigner_menubar.cpp
@@ -867,7 +867,15 @@ void QDesignerMenuBar::showMenu(int index)
if ((menu->windowFlags() & Qt::Popup) != Qt::Popup)
menu->setWindowFlags(Qt::Popup);
menu->adjustSize();
- menu->move(mapToGlobal(g.bottomLeft()));
+ if (layoutDirection() == Qt::LeftToRight) {
+ menu->move(mapToGlobal(g.bottomLeft()));
+ } else {
+ // The position is not initially correct due to the unknown width,
+ // causing it to overlap a bit the first time it is invoked.
+ const QSize menuSize = menu->size();
+ QPoint point = g.bottomRight() - QPoint(menu->width(), 0);
+ menu->move(mapToGlobal(point));
+ }
menu->setFocus(Qt::MouseFocusReason);
menu->raise();
menu->show();
diff --git a/tools/designer/src/lib/shared/qdesigner_promotiondialog.cpp b/tools/designer/src/lib/shared/qdesigner_promotiondialog.cpp
index 8c1d21d..f31fb46 100644
--- a/tools/designer/src/lib/shared/qdesigner_promotiondialog.cpp
+++ b/tools/designer/src/lib/shared/qdesigner_promotiondialog.cpp
@@ -219,8 +219,8 @@ namespace qdesigner_internal {
m_treeView->setMinimumWidth(450);
m_treeView->setContextMenuPolicy(Qt::CustomContextMenu);
- connect(m_treeView->selectionModel(), SIGNAL(selectionChanged(QItemSelection, QItemSelection)),
- this, SLOT(slotSelectionChanged(QItemSelection, QItemSelection)));
+ connect(m_treeView->selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)),
+ this, SLOT(slotSelectionChanged(QItemSelection,QItemSelection)));
connect(m_treeView, SIGNAL(customContextMenuRequested(QPoint)),
this, SLOT(slotTreeViewContextMenu(QPoint)));
@@ -248,18 +248,18 @@ namespace qdesigner_internal {
preselectedBaseClass = baseClassNameList.indexOf(QLatin1String("QFrame"));
NewPromotedClassPanel *newPromotedClassPanel = new NewPromotedClassPanel(baseClassNameList, preselectedBaseClass);
- connect(newPromotedClassPanel, SIGNAL(newPromotedClass(PromotionParameters, bool *)), this, SLOT(slotNewPromotedClass(PromotionParameters, bool *)));
+ connect(newPromotedClassPanel, SIGNAL(newPromotedClass(PromotionParameters,bool*)), this, SLOT(slotNewPromotedClass(PromotionParameters,bool*)));
connect(this, SIGNAL(selectedBaseClassChanged(QString)),
newPromotedClassPanel, SLOT(chooseBaseClass(QString)));
vboxLayout->addWidget(newPromotedClassPanel);
// button box
vboxLayout->addWidget(m_buttonBox);
// connect model
- connect(m_model, SIGNAL(includeFileChanged(QDesignerWidgetDataBaseItemInterface*, QString)),
- this, SLOT(slotIncludeFileChanged(QDesignerWidgetDataBaseItemInterface*, QString)));
+ connect(m_model, SIGNAL(includeFileChanged(QDesignerWidgetDataBaseItemInterface*,QString)),
+ this, SLOT(slotIncludeFileChanged(QDesignerWidgetDataBaseItemInterface*,QString)));
- connect(m_model, SIGNAL(classNameChanged(QDesignerWidgetDataBaseItemInterface*, QString)),
- this, SLOT(slotClassNameChanged(QDesignerWidgetDataBaseItemInterface*, QString)));
+ connect(m_model, SIGNAL(classNameChanged(QDesignerWidgetDataBaseItemInterface*,QString)),
+ this, SLOT(slotClassNameChanged(QDesignerWidgetDataBaseItemInterface*,QString)));
// focus
if (m_mode == ModeEditChooseClass)
diff --git a/tools/designer/src/lib/shared/qdesigner_taskmenu.cpp b/tools/designer/src/lib/shared/qdesigner_taskmenu.cpp
index 4a22690..ce28b7b 100644
--- a/tools/designer/src/lib/shared/qdesigner_taskmenu.cpp
+++ b/tools/designer/src/lib/shared/qdesigner_taskmenu.cpp
@@ -656,7 +656,7 @@ void QDesignerTaskMenu::navigateToSlot(QDesignerFormEditorInterface *core,
dialogUi.signalList->addTopLevelItem(row);
dialogUi.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false);
} else {
- connect(dialogUi.signalList, SIGNAL(itemDoubleClicked(QTreeWidgetItem *, int)),
+ connect(dialogUi.signalList, SIGNAL(itemDoubleClicked(QTreeWidgetItem*,int)),
&selectSignalDialog, SLOT(accept()));
}
diff --git a/tools/designer/src/lib/shared/qtresourceeditordialog.cpp b/tools/designer/src/lib/shared/qtresourceeditordialog.cpp
index ad9250a..c16cb41 100644
--- a/tools/designer/src/lib/shared/qtresourceeditordialog.cpp
+++ b/tools/designer/src/lib/shared/qtresourceeditordialog.cpp
@@ -1960,30 +1960,30 @@ QtResourceEditorDialog::QtResourceEditorDialog(QDesignerFormEditorInterface *cor
setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint);
setWindowTitle(tr("Edit Resources"));
- connect(d_ptr->m_qrcManager, SIGNAL(qrcFileInserted(QtQrcFile *)),
- this, SLOT(slotQrcFileInserted(QtQrcFile *)));
- connect(d_ptr->m_qrcManager, SIGNAL(qrcFileMoved(QtQrcFile *, QtQrcFile *)),
- this, SLOT(slotQrcFileMoved(QtQrcFile *)));
- connect(d_ptr->m_qrcManager, SIGNAL(qrcFileRemoved(QtQrcFile *)),
- this, SLOT(slotQrcFileRemoved(QtQrcFile *)));
- connect(d_ptr->m_qrcManager, SIGNAL(resourcePrefixInserted(QtResourcePrefix *)),
- this, SLOT(slotResourcePrefixInserted(QtResourcePrefix *)));
- connect(d_ptr->m_qrcManager, SIGNAL(resourcePrefixMoved(QtResourcePrefix *, QtResourcePrefix *)),
- this, SLOT(slotResourcePrefixMoved(QtResourcePrefix *)));
- connect(d_ptr->m_qrcManager, SIGNAL(resourcePrefixChanged(QtResourcePrefix *, const QString &)),
- this, SLOT(slotResourcePrefixChanged(QtResourcePrefix *)));
- connect(d_ptr->m_qrcManager, SIGNAL(resourceLanguageChanged(QtResourcePrefix *, const QString &)),
- this, SLOT(slotResourceLanguageChanged(QtResourcePrefix *)));
- connect(d_ptr->m_qrcManager, SIGNAL(resourcePrefixRemoved(QtResourcePrefix *)),
- this, SLOT(slotResourcePrefixRemoved(QtResourcePrefix *)));
- connect(d_ptr->m_qrcManager, SIGNAL(resourceFileInserted(QtResourceFile *)),
- this, SLOT(slotResourceFileInserted(QtResourceFile *)));
- connect(d_ptr->m_qrcManager, SIGNAL(resourceFileMoved(QtResourceFile *, QtResourceFile *)),
- this, SLOT(slotResourceFileMoved(QtResourceFile *)));
- connect(d_ptr->m_qrcManager, SIGNAL(resourceAliasChanged(QtResourceFile *, const QString &)),
- this, SLOT(slotResourceAliasChanged(QtResourceFile *)));
- connect(d_ptr->m_qrcManager, SIGNAL(resourceFileRemoved(QtResourceFile *)),
- this, SLOT(slotResourceFileRemoved(QtResourceFile *)));
+ connect(d_ptr->m_qrcManager, SIGNAL(qrcFileInserted(QtQrcFile*)),
+ this, SLOT(slotQrcFileInserted(QtQrcFile*)));
+ connect(d_ptr->m_qrcManager, SIGNAL(qrcFileMoved(QtQrcFile*,QtQrcFile*)),
+ this, SLOT(slotQrcFileMoved(QtQrcFile*)));
+ connect(d_ptr->m_qrcManager, SIGNAL(qrcFileRemoved(QtQrcFile*)),
+ this, SLOT(slotQrcFileRemoved(QtQrcFile*)));
+ connect(d_ptr->m_qrcManager, SIGNAL(resourcePrefixInserted(QtResourcePrefix*)),
+ this, SLOT(slotResourcePrefixInserted(QtResourcePrefix*)));
+ connect(d_ptr->m_qrcManager, SIGNAL(resourcePrefixMoved(QtResourcePrefix*,QtResourcePrefix*)),
+ this, SLOT(slotResourcePrefixMoved(QtResourcePrefix*)));
+ connect(d_ptr->m_qrcManager, SIGNAL(resourcePrefixChanged(QtResourcePrefix*,QString)),
+ this, SLOT(slotResourcePrefixChanged(QtResourcePrefix*)));
+ connect(d_ptr->m_qrcManager, SIGNAL(resourceLanguageChanged(QtResourcePrefix*,QString)),
+ this, SLOT(slotResourceLanguageChanged(QtResourcePrefix*)));
+ connect(d_ptr->m_qrcManager, SIGNAL(resourcePrefixRemoved(QtResourcePrefix*)),
+ this, SLOT(slotResourcePrefixRemoved(QtResourcePrefix*)));
+ connect(d_ptr->m_qrcManager, SIGNAL(resourceFileInserted(QtResourceFile*)),
+ this, SLOT(slotResourceFileInserted(QtResourceFile*)));
+ connect(d_ptr->m_qrcManager, SIGNAL(resourceFileMoved(QtResourceFile*,QtResourceFile*)),
+ this, SLOT(slotResourceFileMoved(QtResourceFile*)));
+ connect(d_ptr->m_qrcManager, SIGNAL(resourceAliasChanged(QtResourceFile*,QString)),
+ this, SLOT(slotResourceAliasChanged(QtResourceFile*)));
+ connect(d_ptr->m_qrcManager, SIGNAL(resourceFileRemoved(QtResourceFile*)),
+ this, SLOT(slotResourceFileRemoved(QtResourceFile*)));
QIcon upIcon = qdesigner_internal::createIconSet(QString::fromUtf8("up.png"));
QIcon downIcon = qdesigner_internal::createIconSet(QString::fromUtf8("down.png"));
@@ -2037,10 +2037,10 @@ QtResourceEditorDialog::QtResourceEditorDialog(QDesignerFormEditorInterface *cor
connect(d_ptr->m_moveDownAction, SIGNAL(triggered()), this, SLOT(slotMoveDown()));
d_ptr->m_ui.qrcFileList->setContextMenuPolicy(Qt::CustomContextMenu);
- connect(d_ptr->m_ui.qrcFileList, SIGNAL(customContextMenuRequested(const QPoint &)),
- this, SLOT(slotListWidgetContextMenuRequested(const QPoint &)));
- connect(d_ptr->m_ui.qrcFileList, SIGNAL(currentItemChanged(QListWidgetItem *, QListWidgetItem *)),
- this, SLOT(slotCurrentQrcFileChanged(QListWidgetItem *)));
+ connect(d_ptr->m_ui.qrcFileList, SIGNAL(customContextMenuRequested(QPoint)),
+ this, SLOT(slotListWidgetContextMenuRequested(QPoint)));
+ connect(d_ptr->m_ui.qrcFileList, SIGNAL(currentItemChanged(QListWidgetItem*,QListWidgetItem*)),
+ this, SLOT(slotCurrentQrcFileChanged(QListWidgetItem*)));
d_ptr->m_treeModel = new QStandardItemModel(this);
d_ptr->m_treeModel->setColumnCount(2);
@@ -2052,12 +2052,12 @@ QtResourceEditorDialog::QtResourceEditorDialog(QDesignerFormEditorInterface *cor
connect(d_ptr->m_ui.resourceTreeView->header(), SIGNAL(sectionDoubleClicked(int)), d_ptr->m_ui.resourceTreeView, SLOT(resizeColumnToContents(int)));
d_ptr->m_ui.resourceTreeView->setTextElideMode(Qt::ElideLeft);
- connect(d_ptr->m_ui.resourceTreeView, SIGNAL(customContextMenuRequested(const QPoint &)),
- this, SLOT(slotTreeViewContextMenuRequested(const QPoint &)));
- connect(d_ptr->m_treeModel, SIGNAL(itemChanged(QStandardItem *)),
- this, SLOT(slotTreeViewItemChanged(QStandardItem *)));
- connect(d_ptr->m_treeSelection, SIGNAL(currentChanged(const QModelIndex &, const QModelIndex &)),
- this, SLOT(slotCurrentTreeViewItemChanged(const QModelIndex &)));
+ connect(d_ptr->m_ui.resourceTreeView, SIGNAL(customContextMenuRequested(QPoint)),
+ this, SLOT(slotTreeViewContextMenuRequested(QPoint)));
+ connect(d_ptr->m_treeModel, SIGNAL(itemChanged(QStandardItem*)),
+ this, SLOT(slotTreeViewItemChanged(QStandardItem*)));
+ connect(d_ptr->m_treeSelection, SIGNAL(currentChanged(QModelIndex,QModelIndex)),
+ this, SLOT(slotCurrentTreeViewItemChanged(QModelIndex)));
d_ptr->m_ui.resourceTreeView->setColumnWidth(0, 200);
diff --git a/tools/designer/src/lib/shared/qtresourcemodel.cpp b/tools/designer/src/lib/shared/qtresourcemodel.cpp
index a2f368d..37f2cab 100644
--- a/tools/designer/src/lib/shared/qtresourcemodel.cpp
+++ b/tools/designer/src/lib/shared/qtresourcemodel.cpp
@@ -476,8 +476,8 @@ QtResourceModel::QtResourceModel(QObject *parent) :
d_ptr->q_ptr = this;
d_ptr->m_fileWatcher = new QFileSystemWatcher(this);
- connect(d_ptr->m_fileWatcher, SIGNAL(fileChanged(const QString &)),
- this, SLOT(slotFileChanged(const QString &)));
+ connect(d_ptr->m_fileWatcher, SIGNAL(fileChanged(QString)),
+ this, SLOT(slotFileChanged(QString)));
}
QtResourceModel::~QtResourceModel()
diff --git a/tools/designer/src/lib/shared/qtresourceview.cpp b/tools/designer/src/lib/shared/qtresourceview.cpp
index f7d51de..29025a8 100644
--- a/tools/designer/src/lib/shared/qtresourceview.cpp
+++ b/tools/designer/src/lib/shared/qtresourceview.cpp
@@ -625,12 +625,12 @@ QtResourceView::QtResourceView(QDesignerFormEditorInterface *core, QWidget *pare
d_ptr->m_listWidget->setIconSize(QSize(48, 48));
d_ptr->m_listWidget->setGridSize(QSize(64, 64));
- connect(d_ptr->m_treeWidget, SIGNAL(currentItemChanged(QTreeWidgetItem *, QTreeWidgetItem *)),
- this, SLOT(slotCurrentPathChanged(QTreeWidgetItem *)));
- connect(d_ptr->m_listWidget, SIGNAL(currentItemChanged(QListWidgetItem *, QListWidgetItem *)),
- this, SLOT(slotCurrentResourceChanged(QListWidgetItem *)));
- connect(d_ptr->m_listWidget, SIGNAL(itemActivated(QListWidgetItem *)),
- this, SLOT(slotResourceActivated(QListWidgetItem *)));
+ connect(d_ptr->m_treeWidget, SIGNAL(currentItemChanged(QTreeWidgetItem*,QTreeWidgetItem*)),
+ this, SLOT(slotCurrentPathChanged(QTreeWidgetItem*)));
+ connect(d_ptr->m_listWidget, SIGNAL(currentItemChanged(QListWidgetItem*,QListWidgetItem*)),
+ this, SLOT(slotCurrentResourceChanged(QListWidgetItem*)));
+ connect(d_ptr->m_listWidget, SIGNAL(itemActivated(QListWidgetItem*)),
+ this, SLOT(slotResourceActivated(QListWidgetItem*)));
d_ptr->m_listWidget->setContextMenuPolicy(Qt::CustomContextMenu);
connect(d_ptr->m_listWidget, SIGNAL(customContextMenuRequested(QPoint)),
this, SLOT(slotListWidgetContextMenuRequested(QPoint)));
@@ -710,8 +710,8 @@ void QtResourceView::setSettingsKey(const QString &key)
void QtResourceView::setResourceModel(QtResourceModel *model)
{
if (d_ptr->m_resourceModel) {
- disconnect(d_ptr->m_resourceModel, SIGNAL(resourceSetActivated(QtResourceSet *, bool)),
- this, SLOT(slotResourceSetActivated(QtResourceSet *)));
+ disconnect(d_ptr->m_resourceModel, SIGNAL(resourceSetActivated(QtResourceSet*,bool)),
+ this, SLOT(slotResourceSetActivated(QtResourceSet*)));
}
// clear here
@@ -723,8 +723,8 @@ void QtResourceView::setResourceModel(QtResourceModel *model)
if (!d_ptr->m_resourceModel)
return;
- connect(d_ptr->m_resourceModel, SIGNAL(resourceSetActivated(QtResourceSet *, bool)),
- this, SLOT(slotResourceSetActivated(QtResourceSet *)));
+ connect(d_ptr->m_resourceModel, SIGNAL(resourceSetActivated(QtResourceSet*,bool)),
+ this, SLOT(slotResourceSetActivated(QtResourceSet*)));
// fill new here
d_ptr->slotResourceSetActivated(d_ptr->m_resourceModel->currentResourceSet());
diff --git a/tools/designer/src/lib/shared/signalslotdialog.cpp b/tools/designer/src/lib/shared/signalslotdialog.cpp
index e6dd95d..3b5a799 100644
--- a/tools/designer/src/lib/shared/signalslotdialog.cpp
+++ b/tools/designer/src/lib/shared/signalslotdialog.cpp
@@ -268,8 +268,8 @@ SignaturePanel::SignaturePanel(QObject *parent, QListView *listView, QToolButton
m_listView->setItemDelegate(delegate);
connect(m_model, SIGNAL(checkSignature(QString,bool*)), this, SIGNAL(checkSignature(QString,bool*)));
- connect(m_listView->selectionModel(), SIGNAL(selectionChanged(QItemSelection, QItemSelection)),
- this, SLOT(slotSelectionChanged(QItemSelection, QItemSelection)));
+ connect(m_listView->selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)),
+ this, SLOT(slotSelectionChanged(QItemSelection,QItemSelection)));
}
void SignaturePanel::slotAdd()
diff --git a/tools/designer/src/lib/shared/stylesheeteditor.cpp b/tools/designer/src/lib/shared/stylesheeteditor.cpp
index b9f9ba2..aa4def8 100644
--- a/tools/designer/src/lib/shared/stylesheeteditor.cpp
+++ b/tools/designer/src/lib/shared/stylesheeteditor.cpp
@@ -114,8 +114,8 @@ StyleSheetEditorDialog::StyleSheetEditorDialog(QDesignerFormEditorInterface *cor
setLayout(layout);
m_editor->setContextMenuPolicy(Qt::CustomContextMenu);
- connect(m_editor, SIGNAL(customContextMenuRequested(const QPoint &)),
- this, SLOT(slotContextMenuRequested(const QPoint &)));
+ connect(m_editor, SIGNAL(customContextMenuRequested(QPoint)),
+ this, SLOT(slotContextMenuRequested(QPoint)));
QSignalMapper *resourceActionMapper = new QSignalMapper(this);
QSignalMapper *gradientActionMapper = new QSignalMapper(this);
diff --git a/tools/designer/src/lib/uilib/abstractformbuilder.cpp b/tools/designer/src/lib/uilib/abstractformbuilder.cpp
index 24d2c01..eb3dc1c 100644
--- a/tools/designer/src/lib/uilib/abstractformbuilder.cpp
+++ b/tools/designer/src/lib/uilib/abstractformbuilder.cpp
@@ -285,23 +285,8 @@ void QAbstractFormBuilder::initialize(const DomUI *ui)
if (!customWidgets.empty()) {
QFormBuilderExtra *formBuilderPrivate = QFormBuilderExtra::instance(this);
const DomCustomWidgetList::const_iterator cend = customWidgets.constEnd();
- for (DomCustomWidgetList::const_iterator it = customWidgets.constBegin(); it != cend; ++it) {
- const DomCustomWidget *cw = *it;
-#ifndef QT_FORMBUILDER_NO_SCRIPT
- if (const DomScript *domScript = cw->elementScript()) {
- const QString script = domScript->text();
- if (!script.isEmpty())
- formBuilderPrivate->storeCustomWidgetScript(cw->elementClass(), script);
- }
-#endif
- const QString addPageMethod = cw->elementAddPageMethod();
- if (!addPageMethod.isEmpty())
- formBuilderPrivate->storeCustomWidgetAddPageMethod(cw->elementClass(), addPageMethod);
-
- const QString extends = cw->elementExtends();
- if (!extends.isEmpty())
- formBuilderPrivate->storeCustomWidgetBaseClass(cw->elementClass(), extends);
- }
+ for (DomCustomWidgetList::const_iterator it = customWidgets.constBegin(); it != cend; ++it)
+ formBuilderPrivate->storeCustomWidgetData((*it)->elementClass(), *it);
}
}
}
diff --git a/tools/designer/src/lib/uilib/formbuilder.cpp b/tools/designer/src/lib/uilib/formbuilder.cpp
index 0a722ba..2de8388 100644
--- a/tools/designer/src/lib/uilib/formbuilder.cpp
+++ b/tools/designer/src/lib/uilib/formbuilder.cpp
@@ -123,6 +123,8 @@ QWidget *QFormBuilder::create(DomWidget *ui_widget, QWidget *parentWidget)
QFormBuilderExtra *fb = QFormBuilderExtra::instance(this);
if (!fb->parentWidgetIsSet())
fb->setParentWidget(parentWidget);
+ // Is this a QLayoutWidget with a margin of 0: Not a known page-based
+ // container and no method for adding pages registered.
fb->setProcessingLayoutWidget(false);
if (ui_widget->attributeClass() == QFormBuilderStrings::instance().qWidgetClass && !ui_widget->hasAttributeNative()
&& parentWidget
@@ -147,8 +149,11 @@ QWidget *QFormBuilder::create(DomWidget *ui_widget, QWidget *parentWidget)
#ifndef QT_NO_DOCKWIDGET
&& !qobject_cast<QDockWidget *>(parentWidget)
#endif
- )
- fb->setProcessingLayoutWidget(true);
+ ) {
+ const QString parentClassName = QLatin1String(parentWidget->metaObject()->className());
+ if (!fb->isCustomWidgetContainer(parentClassName))
+ fb->setProcessingLayoutWidget(true);
+ }
return QAbstractFormBuilder::create(ui_widget, parentWidget);
}
diff --git a/tools/designer/src/lib/uilib/formbuilderextra.cpp b/tools/designer/src/lib/uilib/formbuilderextra.cpp
index 0e803fb..ce71d59 100644
--- a/tools/designer/src/lib/uilib/formbuilderextra.cpp
+++ b/tools/designer/src/lib/uilib/formbuilderextra.cpp
@@ -65,6 +65,23 @@ void uiLibWarning(const QString &message) {
qWarning("Designer: %s", qPrintable(message));
}
+
+QFormBuilderExtra::CustomWidgetData::CustomWidgetData() :
+ isContainer(false)
+{
+}
+
+QFormBuilderExtra::CustomWidgetData::CustomWidgetData(const DomCustomWidget *dcw) :
+ addPageMethod(dcw->elementAddPageMethod()),
+ baseClass(dcw->elementExtends()),
+ isContainer(dcw->hasElementContainer() && dcw->elementContainer() != 0)
+{
+#ifndef QT_FORMBUILDER_NO_SCRIPT
+ if (const DomScript *domScript = dcw->elementScript())
+ script = domScript->text();
+#endif
+}
+
QFormBuilderExtra::QFormBuilderExtra() :
m_layoutWidget(false),
m_resourceBuilder(0),
@@ -85,8 +102,8 @@ void QFormBuilderExtra::clear()
m_parentWidgetIsSet = false;
#ifndef QT_FORMBUILDER_NO_SCRIPT
m_FormScriptRunner.clearErrors();
- m_customWidgetScriptHash.clear();
#endif
+ m_customWidgetDataHash.clear();
m_buttonGroups.clear();
}
@@ -160,45 +177,44 @@ QFormScriptRunner &QFormBuilderExtra::formScriptRunner()
return m_FormScriptRunner;
}
-void QFormBuilderExtra::storeCustomWidgetScript(const QString &className, const QString &script)
-{
- m_customWidgetScriptHash.insert(className, script);
-}
-
QString QFormBuilderExtra::customWidgetScript(const QString &className) const
{
- const CustomWidgetScriptHash::const_iterator it = m_customWidgetScriptHash.constFind(className);
- if ( it == m_customWidgetScriptHash.constEnd())
- return QString();
- return it.value();
+ const QHash<QString, CustomWidgetData>::const_iterator it = m_customWidgetDataHash.constFind(className);
+ if (it != m_customWidgetDataHash.constEnd())
+ return it.value().script;
+ return QString();
}
#endif
-void QFormBuilderExtra::storeCustomWidgetBaseClass(const QString &className, const QString &baseClassName)
+void QFormBuilderExtra::storeCustomWidgetData(const QString &className, const DomCustomWidget *d)
{
- m_customWidgetBaseClassHash.insert(className, baseClassName);
+ if (d)
+ m_customWidgetDataHash.insert(className, CustomWidgetData(d));
}
QString QFormBuilderExtra::customWidgetBaseClass(const QString &className) const
{
- const QHash<QString, QString>::const_iterator it = m_customWidgetBaseClassHash.constFind(className);
- if (it == m_customWidgetBaseClassHash.constEnd())
- return QString();
- return it.value();
+ const QHash<QString, CustomWidgetData>::const_iterator it = m_customWidgetDataHash.constFind(className);
+ if (it != m_customWidgetDataHash.constEnd())
+ return it.value().baseClass;
+ return QString();
}
-void QFormBuilderExtra::storeCustomWidgetAddPageMethod(const QString &className, const QString &ct)
+QString QFormBuilderExtra::customWidgetAddPageMethod(const QString &className) const
{
- m_customWidgetAddPageMethodHash.insert(className, ct);
+ const QHash<QString, CustomWidgetData>::const_iterator it = m_customWidgetDataHash.constFind(className);
+ if (it != m_customWidgetDataHash.constEnd())
+ return it.value().addPageMethod;
+ return QString();
}
-QString QFormBuilderExtra::customWidgetAddPageMethod(const QString &className) const
+bool QFormBuilderExtra::isCustomWidgetContainer(const QString &className) const
{
- const QHash<QString, QString>::const_iterator it = m_customWidgetAddPageMethodHash.constFind(className);
- if (it == m_customWidgetAddPageMethodHash.constEnd())
- return QString();
- return it.value();
+ const QHash<QString, CustomWidgetData>::const_iterator it = m_customWidgetDataHash.constFind(className);
+ if (it != m_customWidgetDataHash.constEnd())
+ return it.value().isContainer;
+ return false;
}
namespace {
diff --git a/tools/designer/src/lib/uilib/formbuilderextra_p.h b/tools/designer/src/lib/uilib/formbuilderextra_p.h
index ce4d25b..3bcd1eb 100644
--- a/tools/designer/src/lib/uilib/formbuilderextra_p.h
+++ b/tools/designer/src/lib/uilib/formbuilderextra_p.h
@@ -82,6 +82,7 @@ namespace QFormInternal
class DomButtonGroups;
class DomButtonGroup;
+class DomCustomWidget;
class QAbstractFormBuilder;
class QResourceBuilder;
@@ -92,6 +93,16 @@ class QDESIGNER_UILIB_EXPORT QFormBuilderExtra
QFormBuilderExtra();
~QFormBuilderExtra();
public:
+ struct CustomWidgetData {
+ CustomWidgetData();
+ explicit CustomWidgetData(const DomCustomWidget *dc);
+
+ QString addPageMethod;
+ QString script;
+ QString baseClass;
+ bool isContainer;
+ };
+
void clear();
bool applyPropertyInternally(QObject *o, const QString &propertyName, const QVariant &value);
@@ -107,7 +118,6 @@ public:
#ifndef QT_FORMBUILDER_NO_SCRIPT
QFormScriptRunner &formScriptRunner();
- void storeCustomWidgetScript(const QString &className, const QString &script);
QString customWidgetScript(const QString &className) const;
#endif
@@ -123,11 +133,10 @@ public:
static QFormBuilderExtra *instance(const QAbstractFormBuilder *afb);
static void removeInstance(const QAbstractFormBuilder *afb);
- void storeCustomWidgetAddPageMethod(const QString &className, const QString &ct);
+ void storeCustomWidgetData(const QString &className, const DomCustomWidget *d);
QString customWidgetAddPageMethod(const QString &className) const;
-
- void storeCustomWidgetBaseClass(const QString &className, const QString &baseClassName);
QString customWidgetBaseClass(const QString &className) const;
+ bool isCustomWidgetContainer(const QString &className) const;
// --- Hash used in creating button groups on demand. Store a map of name and pair of dom group and real group
void registerButtonGroups(const DomButtonGroups *groups);
@@ -169,13 +178,9 @@ private:
#ifndef QT_FORMBUILDER_NO_SCRIPT
QFormScriptRunner m_FormScriptRunner;
-
- typedef QHash<QString, QString> CustomWidgetScriptHash;
- CustomWidgetScriptHash m_customWidgetScriptHash;
#endif
- QHash<QString, QString> m_customWidgetAddPageMethodHash;
- QHash<QString, QString> m_customWidgetBaseClassHash;
+ QHash<QString, CustomWidgetData> m_customWidgetDataHash;
ButtonGroupHash m_buttonGroups;
diff --git a/tools/designer/src/plugins/widgets/q3wizard/q3wizard_container.cpp b/tools/designer/src/plugins/widgets/q3wizard/q3wizard_container.cpp
index 95f0c5c..00679d5 100644
--- a/tools/designer/src/plugins/widgets/q3wizard/q3wizard_container.cpp
+++ b/tools/designer/src/plugins/widgets/q3wizard/q3wizard_container.cpp
@@ -55,7 +55,7 @@ Q3WizardHelper::Q3WizardHelper(Q3Wizard *wizard)
: QObject(wizard),
m_wizard(wizard)
{
- connect(m_wizard, SIGNAL(selected(const QString &)), this, SLOT(slotCurrentChanged()));
+ connect(m_wizard, SIGNAL(selected(QString)), this, SLOT(slotCurrentChanged()));
}
void Q3WizardHelper::slotCurrentChanged()
diff --git a/tools/designer/translations/translations.pro b/tools/designer/translations/translations.pro
index 2323882..03c1415 100644
--- a/tools/designer/translations/translations.pro
+++ b/tools/designer/translations/translations.pro
@@ -130,6 +130,7 @@ HEADERS += ../../shared/findwidget/abstractfindwidget.h \
TR_DIR = $$PWD/../../../translations
TRANSLATIONS = \
$$TR_DIR/designer_de.ts \
+ $$TR_DIR/designer_fr.ts \
$$TR_DIR/designer_ja.ts \
$$TR_DIR/designer_pl.ts \
$$TR_DIR/designer_ru.ts \
diff --git a/tools/linguist/linguist/finddialog.cpp b/tools/linguist/linguist/finddialog.cpp
index d49ffc5..7027264 100644
--- a/tools/linguist/linguist/finddialog.cpp
+++ b/tools/linguist/linguist/finddialog.cpp
@@ -57,7 +57,7 @@ FindDialog::FindDialog(QWidget *parent)
findNxt->setEnabled(false);
connect(findNxt, SIGNAL(clicked()), this, SLOT(emitFindNext()));
- connect(led, SIGNAL(textChanged(const QString &)), this, SLOT(verifyText(const QString &)));
+ connect(led, SIGNAL(textChanged(QString)), this, SLOT(verifyText(QString)));
led->setFocus();
}
diff --git a/tools/linguist/linguist/mainwindow.cpp b/tools/linguist/linguist/mainwindow.cpp
index 7f09a1c..5c3aaa1 100644
--- a/tools/linguist/linguist/mainwindow.cpp
+++ b/tools/linguist/linguist/mainwindow.cpp
@@ -473,7 +473,7 @@ MainWindow::MainWindow()
this, SLOT(updateTranslatorComment(QString)));
connect(m_findDialog, SIGNAL(findNext(QString,DataModel::FindLocation,bool,bool)),
this, SLOT(findNext(QString,DataModel::FindLocation,bool,bool)));
- connect(m_translateDialog, SIGNAL(requestMatchUpdate(bool &)), SLOT(updateTranslateHit(bool &)));
+ connect(m_translateDialog, SIGNAL(requestMatchUpdate(bool&)), SLOT(updateTranslateHit(bool&)));
connect(m_translateDialog, SIGNAL(activated(int)), SLOT(translate(int)));
QSize as(qApp->desktop()->size());
diff --git a/tools/linguist/linguist/messageeditor.cpp b/tools/linguist/linguist/messageeditor.cpp
index dedb3ee..616bb26 100644
--- a/tools/linguist/linguist/messageeditor.cpp
+++ b/tools/linguist/linguist/messageeditor.cpp
@@ -148,14 +148,14 @@ void MessageEditor::setupEditorPage()
m_source = new FormWidget(tr("Source text"), false);
m_source->setHideWhenEmpty(true);
m_source->setWhatsThis(tr("This area shows the source text."));
- connect(m_source, SIGNAL(selectionChanged(QTextEdit *)),
- SLOT(selectionChanged(QTextEdit *)));
+ connect(m_source, SIGNAL(selectionChanged(QTextEdit*)),
+ SLOT(selectionChanged(QTextEdit*)));
m_pluralSource = new FormWidget(tr("Source text (Plural)"), false);
m_pluralSource->setHideWhenEmpty(true);
m_pluralSource->setWhatsThis(tr("This area shows the plural form of the source text."));
- connect(m_pluralSource, SIGNAL(selectionChanged(QTextEdit *)),
- SLOT(selectionChanged(QTextEdit *)));
+ connect(m_pluralSource, SIGNAL(selectionChanged(QTextEdit*)),
+ SLOT(selectionChanged(QTextEdit*)));
m_commentText = new FormWidget(tr("Developer comments"), false);
m_commentText->setHideWhenEmpty(true);
@@ -222,11 +222,11 @@ void MessageEditor::messageModelAppended()
ed.transCommentText->setWhatsThis(tr("Here you can enter comments for your own use."
" They have no effect on the translated applications.") );
ed.transCommentText->getEditor()->installEventFilter(this);
- connect(ed.transCommentText, SIGNAL(selectionChanged(QTextEdit *)),
- SLOT(selectionChanged(QTextEdit *)));
- connect(ed.transCommentText, SIGNAL(textChanged(QTextEdit *)),
- SLOT(emitTranslatorCommentChanged(QTextEdit *)));
- connect(ed.transCommentText, SIGNAL(textChanged(QTextEdit *)), SLOT(resetHoverSelection()));
+ connect(ed.transCommentText, SIGNAL(selectionChanged(QTextEdit*)),
+ SLOT(selectionChanged(QTextEdit*)));
+ connect(ed.transCommentText, SIGNAL(textChanged(QTextEdit*)),
+ SLOT(emitTranslatorCommentChanged(QTextEdit*)));
+ connect(ed.transCommentText, SIGNAL(textChanged(QTextEdit*)), SLOT(resetHoverSelection()));
connect(ed.transCommentText, SIGNAL(cursorPositionChanged()), SLOT(resetHoverSelection()));
fixTabOrder();
QBoxLayout *box = new QVBoxLayout(ed.container);
@@ -275,7 +275,7 @@ void MessageEditor::messageModelDeleted(int model)
void MessageEditor::addPluralForm(int model, const QString &label, bool writable)
{
FormMultiWidget *transEditor = new FormMultiWidget(label);
- connect(transEditor, SIGNAL(editorCreated(QTextEdit *)), SLOT(editorCreated(QTextEdit *)));
+ connect(transEditor, SIGNAL(editorCreated(QTextEdit*)), SLOT(editorCreated(QTextEdit*)));
transEditor->setEditingEnabled(writable);
transEditor->setHideWhenEmpty(!writable);
if (!m_editors[model].transTexts.isEmpty())
@@ -284,11 +284,11 @@ void MessageEditor::addPluralForm(int model, const QString &label, bool writable
static_cast<QBoxLayout *>(m_editors[model].container->layout())->insertWidget(
m_editors[model].transTexts.count(), transEditor);
- connect(transEditor, SIGNAL(selectionChanged(QTextEdit *)),
- SLOT(selectionChanged(QTextEdit *)));
- connect(transEditor, SIGNAL(textChanged(QTextEdit *)),
- SLOT(emitTranslationChanged(QTextEdit *)));
- connect(transEditor, SIGNAL(textChanged(QTextEdit *)), SLOT(resetHoverSelection()));
+ connect(transEditor, SIGNAL(selectionChanged(QTextEdit*)),
+ SLOT(selectionChanged(QTextEdit*)));
+ connect(transEditor, SIGNAL(textChanged(QTextEdit*)),
+ SLOT(emitTranslationChanged(QTextEdit*)));
+ connect(transEditor, SIGNAL(textChanged(QTextEdit*)), SLOT(resetHoverSelection()));
connect(transEditor, SIGNAL(cursorPositionChanged()), SLOT(resetHoverSelection()));
m_editors[model].transTexts << transEditor;
diff --git a/tools/linguist/linguist/phrasebookbox.cpp b/tools/linguist/linguist/phrasebookbox.cpp
index 57518c1..fd423d4 100644
--- a/tools/linguist/linguist/phrasebookbox.cpp
+++ b/tools/linguist/linguist/phrasebookbox.cpp
@@ -87,7 +87,7 @@ PhraseBookBox::PhraseBookBox(PhraseBook *phraseBook, QWidget *parent)
this, SLOT(targetChanged(QString)));
connect(definitionLed, SIGNAL(textChanged(QString)),
this, SLOT(definitionChanged(QString)));
- connect(phraseList->selectionModel(), SIGNAL(currentChanged(const QModelIndex &, const QModelIndex &)),
+ connect(phraseList->selectionModel(), SIGNAL(currentChanged(QModelIndex,QModelIndex)),
this, SLOT(selectionChanged()));
connect(newBut, SIGNAL(clicked()), this, SLOT(newPhrase()));
connect(removeBut, SIGNAL(clicked()), this, SLOT(removePhrase()));
diff --git a/tools/linguist/lrelease/lrelease.pro b/tools/linguist/lrelease/lrelease.pro
index 01091b3..e4c18ee 100644
--- a/tools/linguist/lrelease/lrelease.pro
+++ b/tools/linguist/lrelease/lrelease.pro
@@ -2,21 +2,14 @@ TEMPLATE = app
TARGET = lrelease
DESTDIR = ../../../bin
-QT -= gui
-
-CONFIG += qt warn_on console
-CONFIG -= app_bundle
-
-build_all:!build_pass {
- CONFIG -= build_all
- CONFIG += release
-}
-
DEFINES += QT_NO_CAST_FROM_ASCII QT_NO_CAST_TO_ASCII
SOURCES += main.cpp
+include(../../../src/tools/bootstrap/bootstrap.pri)
include(../shared/formats.pri)
include(../shared/proparser.pri)
+win32-msvc*:LIBS += advapi32.lib # for qsettings_win.cpp
+
target.path=$$[QT_INSTALL_BINS]
INSTALLS += target
diff --git a/tools/linguist/lrelease/main.cpp b/tools/linguist/lrelease/main.cpp
index 742c2e6..c45459a 100644
--- a/tools/linguist/lrelease/main.cpp
+++ b/tools/linguist/lrelease/main.cpp
@@ -42,7 +42,10 @@
#include "translator.h"
#include "proreader.h"
+#ifndef QT_BOOTSTRAPPED
#include <QtCore/QCoreApplication>
+#include <QtCore/QTranslator>
+#endif
#include <QtCore/QDebug>
#include <QtCore/QDir>
#include <QtCore/QFile>
@@ -51,7 +54,14 @@
#include <QtCore/QString>
#include <QtCore/QStringList>
#include <QtCore/QTextStream>
-#include <QtCore/QTranslator>
+
+#ifdef QT_BOOTSTRAPPED
+static void initBinaryDir(
+#ifndef Q_OS_WIN
+ const char *argv0
+#endif
+ );
+#endif
static void printOut(const QString & out)
{
@@ -157,11 +167,18 @@ static bool releaseTsFile(const QString& tsFileName,
int main(int argc, char **argv)
{
+#ifdef QT_BOOTSTRAPPED
+ initBinaryDir(
+#ifndef Q_OS_WIN
+ argv[0]
+#endif
+ );
+#else
QCoreApplication app(argc, argv);
- QStringList args = app.arguments();
QTranslator translator;
if (translator.load(QLatin1String("lrelease_") + QLocale::system().name()))
app.installTranslator(&translator);
+#endif
ConversionData cd;
cd.m_verbose = true; // the default is true starting with Qt 4.2
@@ -171,50 +188,50 @@ int main(int argc, char **argv)
QString outputFile;
for (int i = 1; i < argc; ++i) {
- if (args[i] == QLatin1String("-compress")) {
+ if (!strcmp(argv[i], "-compress")) {
cd.m_saveMode = SaveStripped;
continue;
- } else if (args[i] == QLatin1String("-idbased")) {
+ } else if (!strcmp(argv[i], "-idbased")) {
cd.m_idBased = true;
continue;
- } else if (args[i] == QLatin1String("-nocompress")) {
+ } else if (!strcmp(argv[i], "-nocompress")) {
cd.m_saveMode = SaveEverything;
continue;
- } else if (args[i] == QLatin1String("-removeidentical")) {
+ } else if (!strcmp(argv[i], "-removeidentical")) {
removeIdentical = true;
continue;
- } else if (args[i] == QLatin1String("-nounfinished")) {
+ } else if (!strcmp(argv[i], "-nounfinished")) {
cd.m_ignoreUnfinished = true;
continue;
- } else if (args[i] == QLatin1String("-markuntranslated")) {
+ } else if (!strcmp(argv[i], "-markuntranslated")) {
if (i == argc - 1) {
printUsage();
return 1;
}
- cd.m_unTrPrefix = args[++i];
- } else if (args[i] == QLatin1String("-silent")) {
+ cd.m_unTrPrefix = QString::fromLocal8Bit(argv[++i]);
+ } else if (!strcmp(argv[i], "-silent")) {
cd.m_verbose = false;
continue;
- } else if (args[i] == QLatin1String("-verbose")) {
+ } else if (!strcmp(argv[i], "-verbose")) {
cd.m_verbose = true;
continue;
- } else if (args[i] == QLatin1String("-version")) {
+ } else if (!strcmp(argv[i], "-version")) {
printOut(QCoreApplication::tr( "lrelease version %1\n").arg(QLatin1String(QT_VERSION_STR)) );
return 0;
- } else if (args[i] == QLatin1String("-qm")) {
+ } else if (!strcmp(argv[i], "-qm")) {
if (i == argc - 1) {
printUsage();
return 1;
}
- outputFile = args[++i];
- } else if (args[i] == QLatin1String("-help")) {
+ outputFile = QString::fromLocal8Bit(argv[++i]);
+ } else if (!strcmp(argv[i], "-help")) {
printUsage();
return 0;
- } else if (args[i].startsWith(QLatin1Char('-'))) {
+ } else if (argv[i][0] == '-') {
printUsage();
return 1;
} else {
- inputFiles << args[i];
+ inputFiles << QString::fromLocal8Bit(argv[i]);
}
}
@@ -261,3 +278,79 @@ int main(int argc, char **argv)
return 0;
}
+
+#ifdef QT_BOOTSTRAPPED
+
+#ifdef Q_OS_WIN
+# include <windows.h>
+#endif
+
+static QString binDir;
+
+static void initBinaryDir(
+#ifndef Q_OS_WIN
+ const char *_argv0
+#endif
+ )
+{
+#ifdef Q_OS_WIN
+ wchar_t module_name[MAX_PATH];
+ GetModuleFileName(0, module_name, MAX_PATH);
+ QFileInfo filePath = QString::fromWCharArray(module_name);
+ binDir = filePath.filePath();
+#else
+ QString argv0 = QFile::decodeName(QByteArray(_argv0));
+ QString absPath;
+
+ if (!argv0.isEmpty() && argv0.at(0) == QLatin1Char('/')) {
+ /*
+ If argv0 starts with a slash, it is already an absolute
+ file path.
+ */
+ absPath = argv0;
+ } else if (argv0.contains(QLatin1Char('/'))) {
+ /*
+ If argv0 contains one or more slashes, it is a file path
+ relative to the current directory.
+ */
+ absPath = QDir::current().absoluteFilePath(argv0);
+ } else {
+ /*
+ Otherwise, the file path has to be determined using the
+ PATH environment variable.
+ */
+ QByteArray pEnv = qgetenv("PATH");
+ QDir currentDir = QDir::current();
+ QStringList paths = QString::fromLocal8Bit(pEnv.constData()).split(QLatin1String(":"));
+ for (QStringList::const_iterator p = paths.constBegin(); p != paths.constEnd(); ++p) {
+ if ((*p).isEmpty())
+ continue;
+ QString candidate = currentDir.absoluteFilePath(*p + QLatin1Char('/') + argv0);
+ QFileInfo candidate_fi(candidate);
+ if (candidate_fi.exists() && !candidate_fi.isDir()) {
+ binDir = candidate_fi.canonicalPath();
+ return;
+ }
+ }
+ return;
+ }
+
+ QFileInfo fi(absPath);
+ if (fi.exists())
+ binDir = fi.canonicalPath();
+#endif
+}
+
+QT_BEGIN_NAMESPACE
+
+// The name is hard-coded in QLibraryInfo
+QString qmake_libraryInfoFile()
+{
+ if (binDir.isEmpty())
+ return QString();
+ return QDir(binDir).filePath(QString::fromLatin1("qt.conf"));
+}
+
+QT_END_NAMESPACE
+
+#endif // QT_BOOTSTRAPPED
diff --git a/tools/linguist/phrasebooks/french.qph b/tools/linguist/phrasebooks/french.qph
index a34effe..d710abd 100644
--- a/tools/linguist/phrasebooks/french.qph
+++ b/tools/linguist/phrasebooks/french.qph
@@ -1351,8 +1351,8 @@
<target>Impossible de créer le répertoire : %1</target>
</phrase>
<phrase>
- <source>&amp;Case sensitive</source>
- <target>&amp;Sensible à la casse</target>
+ <source></source>
+ <target></target>
</phrase>
<phrase>
<source>Whole &amp;words</source>
@@ -1366,4 +1366,40 @@
<source>Fonts</source>
<target>Polices</target>
</phrase>
+<phrase>
+ <source>Insert</source>
+ <target>Insérer</target>
+</phrase>
+<phrase>
+ <source>Size</source>
+ <target>Taille</target>
+</phrase>
+<phrase>
+ <source>List View</source>
+ <target>Affichage liste</target>
+</phrase>
+<phrase>
+ <source>Read-only</source>
+ <target>Lecture seule</target>
+</phrase>
+<phrase>
+ <source>Minimize</source>
+ <target>Réduire</target>
+</phrase>
+<phrase>
+ <source>Maximize</source>
+ <target>Maximiser</target>
+</phrase>
+<phrase>
+ <source>Retry</source>
+ <target>Réessayer</target>
+</phrase>
+<phrase>
+ <source>Dock</source>
+ <target>Attacher</target>
+</phrase>
+<phrase>
+ <source>&amp;Redo</source>
+ <target>&amp;Rétablir</target>
+</phrase>
</QPH>
diff --git a/tools/linguist/shared/proparserutils.h b/tools/linguist/shared/proparserutils.h
index 9a83733..1ed3d6c 100644
--- a/tools/linguist/shared/proparserutils.h
+++ b/tools/linguist/shared/proparserutils.h
@@ -43,10 +43,35 @@
#define PROPARSERUTILS_H
#include <QtCore/QDir>
+#ifndef QT_BOOTSTRAPPED
#include <QtCore/QLibraryInfo>
+#endif
QT_BEGIN_NAMESPACE
+#ifdef QT_BOOTSTRAPPED
+// this is a stripped down version of the one found in QtCore
+class QLibraryInfo
+{
+public:
+ enum LibraryLocation
+ {
+ PrefixPath,
+ DocumentationPath,
+ HeadersPath,
+ LibrariesPath,
+ BinariesPath,
+ PluginsPath,
+ DataPath,
+ TranslationsPath,
+ SettingsPath,
+ DemosPath,
+ ExamplesPath
+ };
+ static QString location(LibraryLocation);
+};
+#endif
+
// Pre- and postcondition macros
#define PRE(cond) do {if (!(cond))qt_assert(#cond,__FILE__,__LINE__);} while (0)
#define POST(cond) do {if (!(cond))qt_assert(#cond,__FILE__,__LINE__);} while (0)
diff --git a/tools/linguist/shared/qm.cpp b/tools/linguist/shared/qm.cpp
index 99aedef..e4c26bc 100644
--- a/tools/linguist/shared/qm.cpp
+++ b/tools/linguist/shared/qm.cpp
@@ -41,7 +41,9 @@
#include "translator.h"
+#ifndef QT_BOOTSTRAPPED
#include <QtCore/QCoreApplication>
+#endif
#include <QtCore/QDebug>
#include <QtCore/QDir>
#include <QtCore/QFile>
diff --git a/tools/linguist/shared/translator.cpp b/tools/linguist/shared/translator.cpp
index bc27daf..05fc6e5 100644
--- a/tools/linguist/shared/translator.cpp
+++ b/tools/linguist/shared/translator.cpp
@@ -56,6 +56,16 @@
QT_BEGIN_NAMESPACE
+#ifdef QT_BOOTSTRAPPED
+QString QObject::tr(const char *sourceText, const char *, int n)
+{
+ QString ret = QString::fromLatin1(sourceText);
+ if (n >= 0)
+ ret.replace(QLatin1String("%n"), QString::number(n));
+ return ret;
+}
+#endif
+
Translator::Translator() :
m_codecName("ISO-8859-1"),
m_locationsType(AbsoluteLocations)
diff --git a/tools/linguist/shared/translator.h b/tools/linguist/shared/translator.h
index eec704a..f29317b 100644
--- a/tools/linguist/shared/translator.h
+++ b/tools/linguist/shared/translator.h
@@ -54,6 +54,18 @@
QT_BEGIN_NAMESPACE
+#ifdef QT_BOOTSTRAPPED
+struct QObject {
+ static QString tr(const char *sourceText, const char * = 0, int n = -1);
+};
+struct QCoreApplication : public QObject {
+ enum Encoding { CodecForTr };
+ static QString translate(const char *, const char *sourceText, const char * = 0,
+ Encoding = CodecForTr, int n = -1)
+ { return tr(sourceText, 0, n); }
+};
+#endif
+
class QIODevice;
// A struct of "interesting" data passed to and from the load and save routines
diff --git a/tools/qconfig/main.cpp b/tools/qconfig/main.cpp
index 5bcbeee..84d88c0 100644
--- a/tools/qconfig/main.cpp
+++ b/tools/qconfig/main.cpp
@@ -171,11 +171,11 @@ Main::Main()
splitter->addWidget(textBrowser);
textBrowser->show();
- connect(textBrowser, SIGNAL(featureClicked(const QString&)),
- this, SLOT(showInfo(const QString&)));
+ connect(textBrowser, SIGNAL(featureClicked(QString)),
+ this, SLOT(showInfo(QString)));
connect(featureTree, SIGNAL(activated(QModelIndex)),
this, SLOT(showInfo(QModelIndex)));
- connect(featureModel, SIGNAL(dataChanged(QModelIndex, QModelIndex)),
+ connect(featureModel, SIGNAL(dataChanged(QModelIndex,QModelIndex)),
this, SLOT(modelChanged()));
connect(featureTree, SIGNAL(clicked(QModelIndex)),
this, SLOT(showInfo(QModelIndex)));
diff --git a/tools/qdbus/qdbusviewer/qdbusviewer.cpp b/tools/qdbus/qdbusviewer/qdbusviewer.cpp
index 4e497d3..8f1ba7d 100644
--- a/tools/qdbus/qdbusviewer/qdbusviewer.cpp
+++ b/tools/qdbus/qdbusviewer/qdbusviewer.cpp
@@ -76,7 +76,7 @@ QDBusViewer::QDBusViewer(const QDBusConnection &connection, QWidget *parent) :
tree = new QTreeView;
tree->setContextMenuPolicy(Qt::CustomContextMenu);
- connect(tree, SIGNAL(activated(const QModelIndex&)), this, SLOT(activate(const QModelIndex&)));
+ connect(tree, SIGNAL(activated(QModelIndex)), this, SLOT(activate(QModelIndex)));
refreshAction = new QAction(tr("&Refresh"), tree);
refreshAction->setData(42); // increase the amount of 42 used as magic number by one
diff --git a/tools/qdoc3/htmlgenerator.cpp b/tools/qdoc3/htmlgenerator.cpp
index f0ddade..8711c6b 100644
--- a/tools/qdoc3/htmlgenerator.cpp
+++ b/tools/qdoc3/htmlgenerator.cpp
@@ -2300,7 +2300,8 @@ void HtmlGenerator::generateCompactList(const Node *relative,
<< "&nbsp;</b>";
}
out() << "</td>\n";
-
+
+ out() << "<td>";
if ((currentParagraphNo[i] < NumParagraphs) &&
!paragraphName[currentParagraphNo[i]].isEmpty()) {
NodeMap::Iterator it;
@@ -2308,7 +2309,6 @@ void HtmlGenerator::generateCompactList(const Node *relative,
for (j = 0; j < currentOffsetInParagraph[i]; j++)
++it;
- out() << "<td>";
// Previously, we used generateFullName() for this, but we
// require some special formatting.
out() << "<a href=\""
@@ -2322,8 +2322,8 @@ void HtmlGenerator::generateCompactList(const Node *relative,
generateFullName(it.value()->parent(), relative, marker);
out() << ")";
}
- out() << "</td>\n";
- }
+ }
+ out() << "</td>\n";
currentOffset[i]++;
currentOffsetInParagraph[i]++;
@@ -4080,7 +4080,7 @@ void HtmlGenerator::generateMacRef(const Node *node, CodeMarker *marker)
QStringList macRefs = marker->macRefsForNode(node);
foreach (const QString &macRef, macRefs)
- out() << "<a name=\"" << "//apple_ref/" << macRef << "\" />\n";
+ out() << "<a name=\"" << "//apple_ref/" << macRef << "\"></a>\n";
}
void HtmlGenerator::beginLink(const QString &link,
diff --git a/tools/qdoc3/test/qt-html-templates.qdocconf b/tools/qdoc3/test/qt-html-templates.qdocconf
index 8c039eb..7a4934f 100644
--- a/tools/qdoc3/test/qt-html-templates.qdocconf
+++ b/tools/qdoc3/test/qt-html-templates.qdocconf
@@ -15,16 +15,6 @@ HTML.postheader = "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0
" <a href=\"overviews.html\">" \
"<font color=\"#004faf\">Overviews</font></a>" \
"</td>" \
- "<td class=\"searchBar\" align=\"right\" valign=\"center\">" \
- "<form action=\"http://www.google.com/cse\" id=\"cse-search-box\">" \
- "<div>" \
- "<input type=\"hidden\" name=\"cx\" value=\"000136343326384750312:dhbxnqlakyu\" />" \
- "<input type=\"hidden\" name=\"ie\" value=\"UTF-8\" />" \
- "<input type=\"text\" name=\"q\" size=\"31\" />" \
- "<input type=\"submit\" name=\"sa\" value=\"Search\" />" \
- "</div>" \
- "</form>" \
- "</td>\n" \
"</tr></table>"
HTML.footer = "<p /><address><hr /><div align=\"center\">\n" \
@@ -32,10 +22,4 @@ HTML.footer = "<p /><address><hr /><div align=\"center\">\n" \
"<td width=\"40%\" align=\"left\">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>\n" \
"<td width=\"20%\" align=\"center\"><a href=\"trademarks.html\">Trademarks</a></td>\n" \
"<td width=\"40%\" align=\"right\"><div align=\"right\">Qt \\version</div></td>\n" \
- \
- "<script type=\"text/javascript\" src=\"http://www.google.com/jsapi\"></script>" \
- "<script type=\"text/javascript\">google.load(\"elements\", \"1\", {packages: \"transliteration\"});</script>" \
- "<script type=\"text/javascript\" src=\"http://www.google.com/coop/cse/t13n?form=cse-search-box&amp;t13n_langs=en\"></script>" \
- \
- "<script type=\"text/javascript\" src=\"http://www.google.com/coop/cse/brand?form=cse-search-box&amp;lang=en\"></script>"\
"</tr></table></div></address>"
diff --git a/tools/qvfb/qvfbview.cpp b/tools/qvfb/qvfbview.cpp
index 69817bd..67f81ac 100644
--- a/tools/qvfb/qvfbview.cpp
+++ b/tools/qvfb/qvfbview.cpp
@@ -108,8 +108,8 @@ QVFbView::QVFbView(int id, int w, int h, int d, Rotation r, QWidget *parent)
break;
}
- connect(mView, SIGNAL(displayDataChanged(const QRect &)),
- SLOT(refreshDisplay(const QRect &)));
+ connect(mView, SIGNAL(displayDataChanged(QRect)),
+ SLOT(refreshDisplay(QRect)));
#ifdef Q_WS_X11
connect(mView, SIGNAL(displayEmbedRequested(WId)),
this, SLOT(embedDisplay(WId)));
diff --git a/tools/shared/fontpanel/fontpanel.cpp b/tools/shared/fontpanel/fontpanel.cpp
index 46ce144..4fca5dc 100644
--- a/tools/shared/fontpanel/fontpanel.cpp
+++ b/tools/shared/fontpanel/fontpanel.cpp
@@ -73,7 +73,7 @@ FontPanel::FontPanel(QWidget *parentWidget) :
connect(m_writingSystemComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(slotWritingSystemChanged(int)));
formLayout->addRow(tr("&Writing system"), m_writingSystemComboBox);
- connect(m_familyComboBox, SIGNAL( currentFontChanged(QFont)), this, SLOT(slotFamilyChanged(QFont)));
+ connect(m_familyComboBox, SIGNAL(currentFontChanged(QFont)), this, SLOT(slotFamilyChanged(QFont)));
formLayout->addRow(tr("&Family"), m_familyComboBox);
m_styleComboBox->setEditable(false);
diff --git a/tools/shared/qtgradienteditor/qtgradientdialog.cpp b/tools/shared/qtgradienteditor/qtgradientdialog.cpp
index d4685f1..d178829 100644
--- a/tools/shared/qtgradienteditor/qtgradientdialog.cpp
+++ b/tools/shared/qtgradienteditor/qtgradientdialog.cpp
@@ -207,8 +207,8 @@ QtGradientDialog::QtGradientDialog(QWidget *parent)
button = d_ptr->m_ui.buttonBox->button(QDialogButtonBox::Cancel);
if (button)
button->setAutoDefault(false);
- connect(d_ptr->m_ui.gradientEditor, SIGNAL(aboutToShowDetails(bool, int)),
- this, SLOT(slotAboutToShowDetails(bool, int)));
+ connect(d_ptr->m_ui.gradientEditor, SIGNAL(aboutToShowDetails(bool,int)),
+ this, SLOT(slotAboutToShowDetails(bool,int)));
}
/*!
diff --git a/tools/shared/qtgradienteditor/qtgradienteditor.cpp b/tools/shared/qtgradienteditor/qtgradienteditor.cpp
index 98dbdd6..d9b42be 100644
--- a/tools/shared/qtgradienteditor/qtgradienteditor.cpp
+++ b/tools/shared/qtgradienteditor/qtgradienteditor.cpp
@@ -760,8 +760,8 @@ QtGradientEditor::QtGradientEditor(QWidget *parent)
d_ptr->m_ui.detailsButton->setIcon(icon);
connect(d_ptr->m_ui.detailsButton, SIGNAL(clicked(bool)), this, SLOT(slotDetailsChanged(bool)));
- connect(d_ptr->m_gradientStopsController, SIGNAL(gradientStopsChanged(const QGradientStops &)),
- this, SLOT(slotGradientStopsChanged(const QGradientStops &)));
+ connect(d_ptr->m_gradientStopsController, SIGNAL(gradientStopsChanged(QGradientStops)),
+ this, SLOT(slotGradientStopsChanged(QGradientStops)));
QIcon iconLinear(QLatin1String(":/trolltech/qtgradienteditor/images/typelinear.png"));
QIcon iconRadial(QLatin1String(":/trolltech/qtgradienteditor/images/typeradial.png"));
@@ -806,18 +806,18 @@ QtGradientEditor::QtGradientEditor(QWidget *parent)
connect(d_ptr->m_ui.spreadComboBox, SIGNAL(activated(int)),
this, SLOT(slotSpreadChanged(int)));
- connect(d_ptr->m_ui.gradientWidget, SIGNAL(startLinearChanged(const QPointF &)),
- this, SLOT(startLinearChanged(const QPointF &)));
- connect(d_ptr->m_ui.gradientWidget, SIGNAL(endLinearChanged(const QPointF &)),
- this, SLOT(endLinearChanged(const QPointF &)));
- connect(d_ptr->m_ui.gradientWidget, SIGNAL(centralRadialChanged(const QPointF &)),
- this, SLOT(centralRadialChanged(const QPointF &)));
- connect(d_ptr->m_ui.gradientWidget, SIGNAL(focalRadialChanged(const QPointF &)),
- this, SLOT(focalRadialChanged(const QPointF &)));
+ connect(d_ptr->m_ui.gradientWidget, SIGNAL(startLinearChanged(QPointF)),
+ this, SLOT(startLinearChanged(QPointF)));
+ connect(d_ptr->m_ui.gradientWidget, SIGNAL(endLinearChanged(QPointF)),
+ this, SLOT(endLinearChanged(QPointF)));
+ connect(d_ptr->m_ui.gradientWidget, SIGNAL(centralRadialChanged(QPointF)),
+ this, SLOT(centralRadialChanged(QPointF)));
+ connect(d_ptr->m_ui.gradientWidget, SIGNAL(focalRadialChanged(QPointF)),
+ this, SLOT(focalRadialChanged(QPointF)));
connect(d_ptr->m_ui.gradientWidget, SIGNAL(radiusRadialChanged(qreal)),
this, SLOT(radiusRadialChanged(qreal)));
- connect(d_ptr->m_ui.gradientWidget, SIGNAL(centralConicalChanged(const QPointF &)),
- this, SLOT(centralConicalChanged(const QPointF &)));
+ connect(d_ptr->m_ui.gradientWidget, SIGNAL(centralConicalChanged(QPointF)),
+ this, SLOT(centralConicalChanged(QPointF)));
connect(d_ptr->m_ui.gradientWidget, SIGNAL(angleConicalChanged(qreal)),
this, SLOT(angleConicalChanged(qreal)));
diff --git a/tools/shared/qtgradienteditor/qtgradientstopscontroller.cpp b/tools/shared/qtgradienteditor/qtgradientstopscontroller.cpp
index be707d4..b2765b5 100644
--- a/tools/shared/qtgradienteditor/qtgradientstopscontroller.cpp
+++ b/tools/shared/qtgradienteditor/qtgradientstopscontroller.cpp
@@ -608,31 +608,31 @@ void QtGradientStopsController::setUi(Ui::QtGradientEditor *ui)
d_ptr->m_model = new QtGradientStopsModel(this);
d_ptr->m_ui->gradientStopsWidget->setGradientStopsModel(d_ptr->m_model);
- connect(d_ptr->m_model, SIGNAL(currentStopChanged(QtGradientStop *)),
- this, SLOT(slotCurrentStopChanged(QtGradientStop *)));
- connect(d_ptr->m_model, SIGNAL(stopMoved(QtGradientStop *, qreal)),
- this, SLOT(slotStopMoved(QtGradientStop *, qreal)));
- connect(d_ptr->m_model, SIGNAL(stopsSwapped(QtGradientStop *, QtGradientStop *)),
- this, SLOT(slotStopsSwapped(QtGradientStop *, QtGradientStop *)));
- connect(d_ptr->m_model, SIGNAL(stopChanged(QtGradientStop *, const QColor &)),
- this, SLOT(slotStopChanged(QtGradientStop *, const QColor &)));
- connect(d_ptr->m_model, SIGNAL(stopSelected(QtGradientStop *, bool)),
- this, SLOT(slotStopSelected(QtGradientStop *, bool)));
- connect(d_ptr->m_model, SIGNAL(stopAdded(QtGradientStop *)),
- this, SLOT(slotStopAdded(QtGradientStop *)));
- connect(d_ptr->m_model, SIGNAL(stopRemoved(QtGradientStop *)),
- this, SLOT(slotStopRemoved(QtGradientStop *)));
-
- connect(d_ptr->m_ui->hueColorLine, SIGNAL(colorChanged(const QColor &)),
- this, SLOT(slotChangeHue(const QColor &)));
- connect(d_ptr->m_ui->saturationColorLine, SIGNAL(colorChanged(const QColor &)),
- this, SLOT(slotChangeSaturation(const QColor &)));
- connect(d_ptr->m_ui->valueColorLine, SIGNAL(colorChanged(const QColor &)),
- this, SLOT(slotChangeValue(const QColor &)));
- connect(d_ptr->m_ui->alphaColorLine, SIGNAL(colorChanged(const QColor &)),
- this, SLOT(slotChangeAlpha(const QColor &)));
- connect(d_ptr->m_ui->colorButton, SIGNAL(colorChanged(const QColor &)),
- this, SLOT(slotChangeColor(const QColor &)));
+ connect(d_ptr->m_model, SIGNAL(currentStopChanged(QtGradientStop*)),
+ this, SLOT(slotCurrentStopChanged(QtGradientStop*)));
+ connect(d_ptr->m_model, SIGNAL(stopMoved(QtGradientStop*,qreal)),
+ this, SLOT(slotStopMoved(QtGradientStop*,qreal)));
+ connect(d_ptr->m_model, SIGNAL(stopsSwapped(QtGradientStop*,QtGradientStop*)),
+ this, SLOT(slotStopsSwapped(QtGradientStop*,QtGradientStop*)));
+ connect(d_ptr->m_model, SIGNAL(stopChanged(QtGradientStop*,QColor)),
+ this, SLOT(slotStopChanged(QtGradientStop*,QColor)));
+ connect(d_ptr->m_model, SIGNAL(stopSelected(QtGradientStop*,bool)),
+ this, SLOT(slotStopSelected(QtGradientStop*,bool)));
+ connect(d_ptr->m_model, SIGNAL(stopAdded(QtGradientStop*)),
+ this, SLOT(slotStopAdded(QtGradientStop*)));
+ connect(d_ptr->m_model, SIGNAL(stopRemoved(QtGradientStop*)),
+ this, SLOT(slotStopRemoved(QtGradientStop*)));
+
+ connect(d_ptr->m_ui->hueColorLine, SIGNAL(colorChanged(QColor)),
+ this, SLOT(slotChangeHue(QColor)));
+ connect(d_ptr->m_ui->saturationColorLine, SIGNAL(colorChanged(QColor)),
+ this, SLOT(slotChangeSaturation(QColor)));
+ connect(d_ptr->m_ui->valueColorLine, SIGNAL(colorChanged(QColor)),
+ this, SLOT(slotChangeValue(QColor)));
+ connect(d_ptr->m_ui->alphaColorLine, SIGNAL(colorChanged(QColor)),
+ this, SLOT(slotChangeAlpha(QColor)));
+ connect(d_ptr->m_ui->colorButton, SIGNAL(colorChanged(QColor)),
+ this, SLOT(slotChangeColor(QColor)));
connect(d_ptr->m_ui->hueSpinBox, SIGNAL(valueChanged(int)),
this, SLOT(slotChangeHue(int)));
diff --git a/tools/shared/qtgradienteditor/qtgradientstopswidget.cpp b/tools/shared/qtgradienteditor/qtgradientstopswidget.cpp
index 94e936a..411dbed 100644
--- a/tools/shared/qtgradienteditor/qtgradientstopswidget.cpp
+++ b/tools/shared/qtgradienteditor/qtgradientstopswidget.cpp
@@ -421,20 +421,20 @@ void QtGradientStopsWidget::setGradientStopsModel(QtGradientStopsModel *model)
return;
if (d_ptr->m_model) {
- disconnect(d_ptr->m_model, SIGNAL(stopAdded(QtGradientStop *)),
- this, SLOT(slotStopAdded(QtGradientStop *)));
- disconnect(d_ptr->m_model, SIGNAL(stopRemoved(QtGradientStop *)),
- this, SLOT(slotStopRemoved(QtGradientStop *)));
- disconnect(d_ptr->m_model, SIGNAL(stopMoved(QtGradientStop *, qreal)),
- this, SLOT(slotStopMoved(QtGradientStop *, qreal)));
- disconnect(d_ptr->m_model, SIGNAL(stopsSwapped(QtGradientStop *, QtGradientStop *)),
- this, SLOT(slotStopsSwapped(QtGradientStop *, QtGradientStop *)));
- disconnect(d_ptr->m_model, SIGNAL(stopChanged(QtGradientStop *, const QColor &)),
- this, SLOT(slotStopChanged(QtGradientStop *, const QColor &)));
- disconnect(d_ptr->m_model, SIGNAL(stopSelected(QtGradientStop *, bool)),
- this, SLOT(slotStopSelected(QtGradientStop *, bool)));
- disconnect(d_ptr->m_model, SIGNAL(currentStopChanged(QtGradientStop *)),
- this, SLOT(slotCurrentStopChanged(QtGradientStop *)));
+ disconnect(d_ptr->m_model, SIGNAL(stopAdded(QtGradientStop*)),
+ this, SLOT(slotStopAdded(QtGradientStop*)));
+ disconnect(d_ptr->m_model, SIGNAL(stopRemoved(QtGradientStop*)),
+ this, SLOT(slotStopRemoved(QtGradientStop*)));
+ disconnect(d_ptr->m_model, SIGNAL(stopMoved(QtGradientStop*,qreal)),
+ this, SLOT(slotStopMoved(QtGradientStop*,qreal)));
+ disconnect(d_ptr->m_model, SIGNAL(stopsSwapped(QtGradientStop*,QtGradientStop*)),
+ this, SLOT(slotStopsSwapped(QtGradientStop*,QtGradientStop*)));
+ disconnect(d_ptr->m_model, SIGNAL(stopChanged(QtGradientStop*,QColor)),
+ this, SLOT(slotStopChanged(QtGradientStop*,QColor)));
+ disconnect(d_ptr->m_model, SIGNAL(stopSelected(QtGradientStop*,bool)),
+ this, SLOT(slotStopSelected(QtGradientStop*,bool)));
+ disconnect(d_ptr->m_model, SIGNAL(currentStopChanged(QtGradientStop*)),
+ this, SLOT(slotCurrentStopChanged(QtGradientStop*)));
d_ptr->m_stops.clear();
}
@@ -442,20 +442,20 @@ void QtGradientStopsWidget::setGradientStopsModel(QtGradientStopsModel *model)
d_ptr->m_model = model;
if (d_ptr->m_model) {
- connect(d_ptr->m_model, SIGNAL(stopAdded(QtGradientStop *)),
- this, SLOT(slotStopAdded(QtGradientStop *)));
- connect(d_ptr->m_model, SIGNAL(stopRemoved(QtGradientStop *)),
- this, SLOT(slotStopRemoved(QtGradientStop *)));
- connect(d_ptr->m_model, SIGNAL(stopMoved(QtGradientStop *, qreal)),
- this, SLOT(slotStopMoved(QtGradientStop *, qreal)));
- connect(d_ptr->m_model, SIGNAL(stopsSwapped(QtGradientStop *, QtGradientStop *)),
- this, SLOT(slotStopsSwapped(QtGradientStop *, QtGradientStop *)));
- connect(d_ptr->m_model, SIGNAL(stopChanged(QtGradientStop *, const QColor &)),
- this, SLOT(slotStopChanged(QtGradientStop *, const QColor &)));
- connect(d_ptr->m_model, SIGNAL(stopSelected(QtGradientStop *, bool)),
- this, SLOT(slotStopSelected(QtGradientStop *, bool)));
- connect(d_ptr->m_model, SIGNAL(currentStopChanged(QtGradientStop *)),
- this, SLOT(slotCurrentStopChanged(QtGradientStop *)));
+ connect(d_ptr->m_model, SIGNAL(stopAdded(QtGradientStop*)),
+ this, SLOT(slotStopAdded(QtGradientStop*)));
+ connect(d_ptr->m_model, SIGNAL(stopRemoved(QtGradientStop*)),
+ this, SLOT(slotStopRemoved(QtGradientStop*)));
+ connect(d_ptr->m_model, SIGNAL(stopMoved(QtGradientStop*,qreal)),
+ this, SLOT(slotStopMoved(QtGradientStop*,qreal)));
+ connect(d_ptr->m_model, SIGNAL(stopsSwapped(QtGradientStop*,QtGradientStop*)),
+ this, SLOT(slotStopsSwapped(QtGradientStop*,QtGradientStop*)));
+ connect(d_ptr->m_model, SIGNAL(stopChanged(QtGradientStop*,QColor)),
+ this, SLOT(slotStopChanged(QtGradientStop*,QColor)));
+ connect(d_ptr->m_model, SIGNAL(stopSelected(QtGradientStop*,bool)),
+ this, SLOT(slotStopSelected(QtGradientStop*,bool)));
+ connect(d_ptr->m_model, SIGNAL(currentStopChanged(QtGradientStop*)),
+ this, SLOT(slotCurrentStopChanged(QtGradientStop*)));
QList<QtGradientStop *> stops = d_ptr->m_model->stops().values();
QListIterator<QtGradientStop *> itStop(stops);
diff --git a/tools/shared/qtgradienteditor/qtgradientview.cpp b/tools/shared/qtgradienteditor/qtgradientview.cpp
index 4df42b4..c9d8aac 100644
--- a/tools/shared/qtgradienteditor/qtgradientview.cpp
+++ b/tools/shared/qtgradienteditor/qtgradientview.cpp
@@ -201,9 +201,9 @@ QtGradientView::QtGradientView(QWidget *parent)
pal.setBrush(QPalette::Base, QBrush(pm));
m_ui.listWidget->viewport()->setPalette(pal);
- connect(m_ui.listWidget, SIGNAL(itemDoubleClicked(QListWidgetItem *)), this, SLOT(slotGradientActivated(QListWidgetItem *)));
- connect(m_ui.listWidget, SIGNAL(itemChanged(QListWidgetItem *)), this, SLOT(slotRenameGradient(QListWidgetItem *)));
- connect(m_ui.listWidget, SIGNAL(currentItemChanged(QListWidgetItem *, QListWidgetItem *)), this, SLOT(slotCurrentItemChanged(QListWidgetItem *)));
+ connect(m_ui.listWidget, SIGNAL(itemDoubleClicked(QListWidgetItem*)), this, SLOT(slotGradientActivated(QListWidgetItem*)));
+ connect(m_ui.listWidget, SIGNAL(itemChanged(QListWidgetItem*)), this, SLOT(slotRenameGradient(QListWidgetItem*)));
+ connect(m_ui.listWidget, SIGNAL(currentItemChanged(QListWidgetItem*,QListWidgetItem*)), this, SLOT(slotCurrentItemChanged(QListWidgetItem*)));
m_newAction = new QAction(QIcon(QLatin1String(":/trolltech/qtgradienteditor/images/plus.png")), tr("New..."), this);
m_editAction = new QAction(QIcon(QLatin1String(":/trolltech/qtgradienteditor/images/edit.png")), tr("Edit..."), this);
@@ -234,14 +234,14 @@ void QtGradientView::setGradientManager(QtGradientManager *manager)
return;
if (m_manager) {
- disconnect(m_manager, SIGNAL(gradientAdded(const QString &, const QGradient &)),
- this, SLOT(slotGradientAdded(const QString &, const QGradient &)));
- disconnect(m_manager, SIGNAL(gradientRenamed(const QString &, const QString &)),
- this, SLOT(slotGradientRenamed(const QString &, const QString &)));
- disconnect(m_manager, SIGNAL(gradientChanged(const QString &, const QGradient &)),
- this, SLOT(slotGradientChanged(const QString &, const QGradient &)));
- disconnect(m_manager, SIGNAL(gradientRemoved(const QString &)),
- this, SLOT(slotGradientRemoved(const QString &)));
+ disconnect(m_manager, SIGNAL(gradientAdded(QString,QGradient)),
+ this, SLOT(slotGradientAdded(QString,QGradient)));
+ disconnect(m_manager, SIGNAL(gradientRenamed(QString,QString)),
+ this, SLOT(slotGradientRenamed(QString,QString)));
+ disconnect(m_manager, SIGNAL(gradientChanged(QString,QGradient)),
+ this, SLOT(slotGradientChanged(QString,QGradient)));
+ disconnect(m_manager, SIGNAL(gradientRemoved(QString)),
+ this, SLOT(slotGradientRemoved(QString)));
m_ui.listWidget->clear();
m_idToItem.clear();
@@ -260,14 +260,14 @@ void QtGradientView::setGradientManager(QtGradientManager *manager)
slotGradientAdded(itGrad.key(), itGrad.value());
}
- connect(m_manager, SIGNAL(gradientAdded(const QString &, const QGradient &)),
- this, SLOT(slotGradientAdded(const QString &, const QGradient &)));
- connect(m_manager, SIGNAL(gradientRenamed(const QString &, const QString &)),
- this, SLOT(slotGradientRenamed(const QString &, const QString &)));
- connect(m_manager, SIGNAL(gradientChanged(const QString &, const QGradient &)),
- this, SLOT(slotGradientChanged(const QString &, const QGradient &)));
- connect(m_manager, SIGNAL(gradientRemoved(const QString &)),
- this, SLOT(slotGradientRemoved(const QString &)));
+ connect(m_manager, SIGNAL(gradientAdded(QString,QGradient)),
+ this, SLOT(slotGradientAdded(QString,QGradient)));
+ connect(m_manager, SIGNAL(gradientRenamed(QString,QString)),
+ this, SLOT(slotGradientRenamed(QString,QString)));
+ connect(m_manager, SIGNAL(gradientChanged(QString,QGradient)),
+ this, SLOT(slotGradientChanged(QString,QGradient)));
+ connect(m_manager, SIGNAL(gradientRemoved(QString)),
+ this, SLOT(slotGradientRemoved(QString)));
}
QtGradientManager *QtGradientView::gradientManager() const
diff --git a/tools/shared/qtgradienteditor/qtgradientviewdialog.cpp b/tools/shared/qtgradienteditor/qtgradientviewdialog.cpp
index 0eff338..6f3d88a 100644
--- a/tools/shared/qtgradienteditor/qtgradientviewdialog.cpp
+++ b/tools/shared/qtgradienteditor/qtgradientviewdialog.cpp
@@ -50,10 +50,10 @@ QtGradientViewDialog::QtGradientViewDialog(QWidget *parent)
{
m_ui.setupUi(this);
m_ui.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false);
- connect(m_ui.gradientView, SIGNAL(currentGradientChanged(const QString &)),
- this, SLOT(slotGradientSelected(const QString &)));
- connect(m_ui.gradientView, SIGNAL(gradientActivated(const QString &)),
- this, SLOT(slotGradientActivated(const QString &)));
+ connect(m_ui.gradientView, SIGNAL(currentGradientChanged(QString)),
+ this, SLOT(slotGradientSelected(QString)));
+ connect(m_ui.gradientView, SIGNAL(gradientActivated(QString)),
+ this, SLOT(slotGradientActivated(QString)));
}
void QtGradientViewDialog::setGradientManager(QtGradientManager *manager)
diff --git a/tools/shared/qtpropertybrowser/qteditorfactory.cpp b/tools/shared/qtpropertybrowser/qteditorfactory.cpp
index 1be5ca6..17c5be8 100644
--- a/tools/shared/qtpropertybrowser/qteditorfactory.cpp
+++ b/tools/shared/qtpropertybrowser/qteditorfactory.cpp
@@ -248,12 +248,12 @@ QtSpinBoxFactory::~QtSpinBoxFactory()
*/
void QtSpinBoxFactory::connectPropertyManager(QtIntPropertyManager *manager)
{
- connect(manager, SIGNAL(valueChanged(QtProperty *, int)),
- this, SLOT(slotPropertyChanged(QtProperty *, int)));
- connect(manager, SIGNAL(rangeChanged(QtProperty *, int, int)),
- this, SLOT(slotRangeChanged(QtProperty *, int, int)));
- connect(manager, SIGNAL(singleStepChanged(QtProperty *, int)),
- this, SLOT(slotSingleStepChanged(QtProperty *, int)));
+ connect(manager, SIGNAL(valueChanged(QtProperty*,int)),
+ this, SLOT(slotPropertyChanged(QtProperty*,int)));
+ connect(manager, SIGNAL(rangeChanged(QtProperty*,int,int)),
+ this, SLOT(slotRangeChanged(QtProperty*,int,int)));
+ connect(manager, SIGNAL(singleStepChanged(QtProperty*,int)),
+ this, SLOT(slotSingleStepChanged(QtProperty*,int)));
}
/*!
@@ -271,8 +271,8 @@ QWidget *QtSpinBoxFactory::createEditor(QtIntPropertyManager *manager, QtPropert
editor->setKeyboardTracking(false);
connect(editor, SIGNAL(valueChanged(int)), this, SLOT(slotSetValue(int)));
- connect(editor, SIGNAL(destroyed(QObject *)),
- this, SLOT(slotEditorDestroyed(QObject *)));
+ connect(editor, SIGNAL(destroyed(QObject*)),
+ this, SLOT(slotEditorDestroyed(QObject*)));
return editor;
}
@@ -283,12 +283,12 @@ QWidget *QtSpinBoxFactory::createEditor(QtIntPropertyManager *manager, QtPropert
*/
void QtSpinBoxFactory::disconnectPropertyManager(QtIntPropertyManager *manager)
{
- disconnect(manager, SIGNAL(valueChanged(QtProperty *, int)),
- this, SLOT(slotPropertyChanged(QtProperty *, int)));
- disconnect(manager, SIGNAL(rangeChanged(QtProperty *, int, int)),
- this, SLOT(slotRangeChanged(QtProperty *, int, int)));
- disconnect(manager, SIGNAL(singleStepChanged(QtProperty *, int)),
- this, SLOT(slotSingleStepChanged(QtProperty *, int)));
+ disconnect(manager, SIGNAL(valueChanged(QtProperty*,int)),
+ this, SLOT(slotPropertyChanged(QtProperty*,int)));
+ disconnect(manager, SIGNAL(rangeChanged(QtProperty*,int,int)),
+ this, SLOT(slotRangeChanged(QtProperty*,int,int)));
+ disconnect(manager, SIGNAL(singleStepChanged(QtProperty*,int)),
+ this, SLOT(slotSingleStepChanged(QtProperty*,int)));
}
// QtSliderFactory
@@ -402,12 +402,12 @@ QtSliderFactory::~QtSliderFactory()
*/
void QtSliderFactory::connectPropertyManager(QtIntPropertyManager *manager)
{
- connect(manager, SIGNAL(valueChanged(QtProperty *, int)),
- this, SLOT(slotPropertyChanged(QtProperty *, int)));
- connect(manager, SIGNAL(rangeChanged(QtProperty *, int, int)),
- this, SLOT(slotRangeChanged(QtProperty *, int, int)));
- connect(manager, SIGNAL(singleStepChanged(QtProperty *, int)),
- this, SLOT(slotSingleStepChanged(QtProperty *, int)));
+ connect(manager, SIGNAL(valueChanged(QtProperty*,int)),
+ this, SLOT(slotPropertyChanged(QtProperty*,int)));
+ connect(manager, SIGNAL(rangeChanged(QtProperty*,int,int)),
+ this, SLOT(slotRangeChanged(QtProperty*,int,int)));
+ connect(manager, SIGNAL(singleStepChanged(QtProperty*,int)),
+ this, SLOT(slotSingleStepChanged(QtProperty*,int)));
}
/*!
@@ -425,8 +425,8 @@ QWidget *QtSliderFactory::createEditor(QtIntPropertyManager *manager, QtProperty
editor->setValue(manager->value(property));
connect(editor, SIGNAL(valueChanged(int)), this, SLOT(slotSetValue(int)));
- connect(editor, SIGNAL(destroyed(QObject *)),
- this, SLOT(slotEditorDestroyed(QObject *)));
+ connect(editor, SIGNAL(destroyed(QObject*)),
+ this, SLOT(slotEditorDestroyed(QObject*)));
return editor;
}
@@ -437,12 +437,12 @@ QWidget *QtSliderFactory::createEditor(QtIntPropertyManager *manager, QtProperty
*/
void QtSliderFactory::disconnectPropertyManager(QtIntPropertyManager *manager)
{
- disconnect(manager, SIGNAL(valueChanged(QtProperty *, int)),
- this, SLOT(slotPropertyChanged(QtProperty *, int)));
- disconnect(manager, SIGNAL(rangeChanged(QtProperty *, int, int)),
- this, SLOT(slotRangeChanged(QtProperty *, int, int)));
- disconnect(manager, SIGNAL(singleStepChanged(QtProperty *, int)),
- this, SLOT(slotSingleStepChanged(QtProperty *, int)));
+ disconnect(manager, SIGNAL(valueChanged(QtProperty*,int)),
+ this, SLOT(slotPropertyChanged(QtProperty*,int)));
+ disconnect(manager, SIGNAL(rangeChanged(QtProperty*,int,int)),
+ this, SLOT(slotRangeChanged(QtProperty*,int,int)));
+ disconnect(manager, SIGNAL(singleStepChanged(QtProperty*,int)),
+ this, SLOT(slotSingleStepChanged(QtProperty*,int)));
}
// QtSliderFactory
@@ -556,12 +556,12 @@ QtScrollBarFactory::~QtScrollBarFactory()
*/
void QtScrollBarFactory::connectPropertyManager(QtIntPropertyManager *manager)
{
- connect(manager, SIGNAL(valueChanged(QtProperty *, int)),
- this, SLOT(slotPropertyChanged(QtProperty *, int)));
- connect(manager, SIGNAL(rangeChanged(QtProperty *, int, int)),
- this, SLOT(slotRangeChanged(QtProperty *, int, int)));
- connect(manager, SIGNAL(singleStepChanged(QtProperty *, int)),
- this, SLOT(slotSingleStepChanged(QtProperty *, int)));
+ connect(manager, SIGNAL(valueChanged(QtProperty*,int)),
+ this, SLOT(slotPropertyChanged(QtProperty*,int)));
+ connect(manager, SIGNAL(rangeChanged(QtProperty*,int,int)),
+ this, SLOT(slotRangeChanged(QtProperty*,int,int)));
+ connect(manager, SIGNAL(singleStepChanged(QtProperty*,int)),
+ this, SLOT(slotSingleStepChanged(QtProperty*,int)));
}
/*!
@@ -578,8 +578,8 @@ QWidget *QtScrollBarFactory::createEditor(QtIntPropertyManager *manager, QtPrope
editor->setRange(manager->minimum(property), manager->maximum(property));
editor->setValue(manager->value(property));
connect(editor, SIGNAL(valueChanged(int)), this, SLOT(slotSetValue(int)));
- connect(editor, SIGNAL(destroyed(QObject *)),
- this, SLOT(slotEditorDestroyed(QObject *)));
+ connect(editor, SIGNAL(destroyed(QObject*)),
+ this, SLOT(slotEditorDestroyed(QObject*)));
return editor;
}
@@ -590,12 +590,12 @@ QWidget *QtScrollBarFactory::createEditor(QtIntPropertyManager *manager, QtPrope
*/
void QtScrollBarFactory::disconnectPropertyManager(QtIntPropertyManager *manager)
{
- disconnect(manager, SIGNAL(valueChanged(QtProperty *, int)),
- this, SLOT(slotPropertyChanged(QtProperty *, int)));
- disconnect(manager, SIGNAL(rangeChanged(QtProperty *, int, int)),
- this, SLOT(slotRangeChanged(QtProperty *, int, int)));
- disconnect(manager, SIGNAL(singleStepChanged(QtProperty *, int)),
- this, SLOT(slotSingleStepChanged(QtProperty *, int)));
+ disconnect(manager, SIGNAL(valueChanged(QtProperty*,int)),
+ this, SLOT(slotPropertyChanged(QtProperty*,int)));
+ disconnect(manager, SIGNAL(rangeChanged(QtProperty*,int,int)),
+ this, SLOT(slotRangeChanged(QtProperty*,int,int)));
+ disconnect(manager, SIGNAL(singleStepChanged(QtProperty*,int)),
+ this, SLOT(slotSingleStepChanged(QtProperty*,int)));
}
// QtCheckBoxFactory
@@ -676,8 +676,8 @@ QtCheckBoxFactory::~QtCheckBoxFactory()
*/
void QtCheckBoxFactory::connectPropertyManager(QtBoolPropertyManager *manager)
{
- connect(manager, SIGNAL(valueChanged(QtProperty *, bool)),
- this, SLOT(slotPropertyChanged(QtProperty *, bool)));
+ connect(manager, SIGNAL(valueChanged(QtProperty*,bool)),
+ this, SLOT(slotPropertyChanged(QtProperty*,bool)));
}
/*!
@@ -692,8 +692,8 @@ QWidget *QtCheckBoxFactory::createEditor(QtBoolPropertyManager *manager, QtPrope
editor->setChecked(manager->value(property));
connect(editor, SIGNAL(toggled(bool)), this, SLOT(slotSetValue(bool)));
- connect(editor, SIGNAL(destroyed(QObject *)),
- this, SLOT(slotEditorDestroyed(QObject *)));
+ connect(editor, SIGNAL(destroyed(QObject*)),
+ this, SLOT(slotEditorDestroyed(QObject*)));
return editor;
}
@@ -704,8 +704,8 @@ QWidget *QtCheckBoxFactory::createEditor(QtBoolPropertyManager *manager, QtPrope
*/
void QtCheckBoxFactory::disconnectPropertyManager(QtBoolPropertyManager *manager)
{
- disconnect(manager, SIGNAL(valueChanged(QtProperty *, bool)),
- this, SLOT(slotPropertyChanged(QtProperty *, bool)));
+ disconnect(manager, SIGNAL(valueChanged(QtProperty*,bool)),
+ this, SLOT(slotPropertyChanged(QtProperty*,bool)));
}
// QtDoubleSpinBoxFactory
@@ -849,14 +849,14 @@ QtDoubleSpinBoxFactory::~QtDoubleSpinBoxFactory()
*/
void QtDoubleSpinBoxFactory::connectPropertyManager(QtDoublePropertyManager *manager)
{
- connect(manager, SIGNAL(valueChanged(QtProperty *, double)),
- this, SLOT(slotPropertyChanged(QtProperty *, double)));
- connect(manager, SIGNAL(rangeChanged(QtProperty *, double, double)),
- this, SLOT(slotRangeChanged(QtProperty *, double, double)));
- connect(manager, SIGNAL(singleStepChanged(QtProperty *, double)),
- this, SLOT(slotSingleStepChanged(QtProperty *, double)));
- connect(manager, SIGNAL(decimalsChanged(QtProperty *, int)),
- this, SLOT(slotDecimalsChanged(QtProperty *, int)));
+ connect(manager, SIGNAL(valueChanged(QtProperty*,double)),
+ this, SLOT(slotPropertyChanged(QtProperty*,double)));
+ connect(manager, SIGNAL(rangeChanged(QtProperty*,double,double)),
+ this, SLOT(slotRangeChanged(QtProperty*,double,double)));
+ connect(manager, SIGNAL(singleStepChanged(QtProperty*,double)),
+ this, SLOT(slotSingleStepChanged(QtProperty*,double)));
+ connect(manager, SIGNAL(decimalsChanged(QtProperty*,int)),
+ this, SLOT(slotDecimalsChanged(QtProperty*,int)));
}
/*!
@@ -875,8 +875,8 @@ QWidget *QtDoubleSpinBoxFactory::createEditor(QtDoublePropertyManager *manager,
editor->setKeyboardTracking(false);
connect(editor, SIGNAL(valueChanged(double)), this, SLOT(slotSetValue(double)));
- connect(editor, SIGNAL(destroyed(QObject *)),
- this, SLOT(slotEditorDestroyed(QObject *)));
+ connect(editor, SIGNAL(destroyed(QObject*)),
+ this, SLOT(slotEditorDestroyed(QObject*)));
return editor;
}
@@ -887,14 +887,14 @@ QWidget *QtDoubleSpinBoxFactory::createEditor(QtDoublePropertyManager *manager,
*/
void QtDoubleSpinBoxFactory::disconnectPropertyManager(QtDoublePropertyManager *manager)
{
- disconnect(manager, SIGNAL(valueChanged(QtProperty *, double)),
- this, SLOT(slotPropertyChanged(QtProperty *, double)));
- disconnect(manager, SIGNAL(rangeChanged(QtProperty *, double, double)),
- this, SLOT(slotRangeChanged(QtProperty *, double, double)));
- disconnect(manager, SIGNAL(singleStepChanged(QtProperty *, double)),
- this, SLOT(slotSingleStepChanged(QtProperty *, double)));
- disconnect(manager, SIGNAL(decimalsChanged(QtProperty *, int)),
- this, SLOT(slotDecimalsChanged(QtProperty *, int)));
+ disconnect(manager, SIGNAL(valueChanged(QtProperty*,double)),
+ this, SLOT(slotPropertyChanged(QtProperty*,double)));
+ disconnect(manager, SIGNAL(rangeChanged(QtProperty*,double,double)),
+ this, SLOT(slotRangeChanged(QtProperty*,double,double)));
+ disconnect(manager, SIGNAL(singleStepChanged(QtProperty*,double)),
+ this, SLOT(slotSingleStepChanged(QtProperty*,double)));
+ disconnect(manager, SIGNAL(decimalsChanged(QtProperty*,int)),
+ this, SLOT(slotDecimalsChanged(QtProperty*,int)));
}
// QtLineEditFactory
@@ -1002,10 +1002,10 @@ QtLineEditFactory::~QtLineEditFactory()
*/
void QtLineEditFactory::connectPropertyManager(QtStringPropertyManager *manager)
{
- connect(manager, SIGNAL(valueChanged(QtProperty *, const QString &)),
- this, SLOT(slotPropertyChanged(QtProperty *, const QString &)));
- connect(manager, SIGNAL(regExpChanged(QtProperty *, const QRegExp &)),
- this, SLOT(slotRegExpChanged(QtProperty *, const QRegExp &)));
+ connect(manager, SIGNAL(valueChanged(QtProperty*,QString)),
+ this, SLOT(slotPropertyChanged(QtProperty*,QString)));
+ connect(manager, SIGNAL(regExpChanged(QtProperty*,QRegExp)),
+ this, SLOT(slotRegExpChanged(QtProperty*,QRegExp)));
}
/*!
@@ -1025,10 +1025,10 @@ QWidget *QtLineEditFactory::createEditor(QtStringPropertyManager *manager,
}
editor->setText(manager->value(property));
- connect(editor, SIGNAL(textEdited(const QString &)),
- this, SLOT(slotSetValue(const QString &)));
- connect(editor, SIGNAL(destroyed(QObject *)),
- this, SLOT(slotEditorDestroyed(QObject *)));
+ connect(editor, SIGNAL(textEdited(QString)),
+ this, SLOT(slotSetValue(QString)));
+ connect(editor, SIGNAL(destroyed(QObject*)),
+ this, SLOT(slotEditorDestroyed(QObject*)));
return editor;
}
@@ -1039,10 +1039,10 @@ QWidget *QtLineEditFactory::createEditor(QtStringPropertyManager *manager,
*/
void QtLineEditFactory::disconnectPropertyManager(QtStringPropertyManager *manager)
{
- disconnect(manager, SIGNAL(valueChanged(QtProperty *, const QString &)),
- this, SLOT(slotPropertyChanged(QtProperty *, const QString &)));
- disconnect(manager, SIGNAL(regExpChanged(QtProperty *, const QRegExp &)),
- this, SLOT(slotRegExpChanged(QtProperty *, const QRegExp &)));
+ disconnect(manager, SIGNAL(valueChanged(QtProperty*,QString)),
+ this, SLOT(slotPropertyChanged(QtProperty*,QString)));
+ disconnect(manager, SIGNAL(regExpChanged(QtProperty*,QRegExp)),
+ this, SLOT(slotRegExpChanged(QtProperty*,QRegExp)));
}
// QtDateEditFactory
@@ -1143,10 +1143,10 @@ QtDateEditFactory::~QtDateEditFactory()
*/
void QtDateEditFactory::connectPropertyManager(QtDatePropertyManager *manager)
{
- connect(manager, SIGNAL(valueChanged(QtProperty *, const QDate &)),
- this, SLOT(slotPropertyChanged(QtProperty *, const QDate &)));
- connect(manager, SIGNAL(rangeChanged(QtProperty *, const QDate &, const QDate &)),
- this, SLOT(slotRangeChanged(QtProperty *, const QDate &, const QDate &)));
+ connect(manager, SIGNAL(valueChanged(QtProperty*,QDate)),
+ this, SLOT(slotPropertyChanged(QtProperty*,QDate)));
+ connect(manager, SIGNAL(rangeChanged(QtProperty*,QDate,QDate)),
+ this, SLOT(slotRangeChanged(QtProperty*,QDate,QDate)));
}
/*!
@@ -1162,10 +1162,10 @@ QWidget *QtDateEditFactory::createEditor(QtDatePropertyManager *manager, QtPrope
editor->setDateRange(manager->minimum(property), manager->maximum(property));
editor->setDate(manager->value(property));
- connect(editor, SIGNAL(dateChanged(const QDate &)),
- this, SLOT(slotSetValue(const QDate &)));
- connect(editor, SIGNAL(destroyed(QObject *)),
- this, SLOT(slotEditorDestroyed(QObject *)));
+ connect(editor, SIGNAL(dateChanged(QDate)),
+ this, SLOT(slotSetValue(QDate)));
+ connect(editor, SIGNAL(destroyed(QObject*)),
+ this, SLOT(slotEditorDestroyed(QObject*)));
return editor;
}
@@ -1176,10 +1176,10 @@ QWidget *QtDateEditFactory::createEditor(QtDatePropertyManager *manager, QtPrope
*/
void QtDateEditFactory::disconnectPropertyManager(QtDatePropertyManager *manager)
{
- disconnect(manager, SIGNAL(valueChanged(QtProperty *, const QDate &)),
- this, SLOT(slotPropertyChanged(QtProperty *, const QDate &)));
- disconnect(manager, SIGNAL(rangeChanged(QtProperty *, const QDate &, const QDate &)),
- this, SLOT(slotRangeChanged(QtProperty *, const QDate &, const QDate &)));
+ disconnect(manager, SIGNAL(valueChanged(QtProperty*,QDate)),
+ this, SLOT(slotPropertyChanged(QtProperty*,QDate)));
+ disconnect(manager, SIGNAL(rangeChanged(QtProperty*,QDate,QDate)),
+ this, SLOT(slotRangeChanged(QtProperty*,QDate,QDate)));
}
// QtTimeEditFactory
@@ -1259,8 +1259,8 @@ QtTimeEditFactory::~QtTimeEditFactory()
*/
void QtTimeEditFactory::connectPropertyManager(QtTimePropertyManager *manager)
{
- connect(manager, SIGNAL(valueChanged(QtProperty *, const QTime &)),
- this, SLOT(slotPropertyChanged(QtProperty *, const QTime &)));
+ connect(manager, SIGNAL(valueChanged(QtProperty*,QTime)),
+ this, SLOT(slotPropertyChanged(QtProperty*,QTime)));
}
/*!
@@ -1274,10 +1274,10 @@ QWidget *QtTimeEditFactory::createEditor(QtTimePropertyManager *manager, QtPrope
QTimeEdit *editor = d_ptr->createEditor(property, parent);
editor->setTime(manager->value(property));
- connect(editor, SIGNAL(timeChanged(const QTime &)),
- this, SLOT(slotSetValue(const QTime &)));
- connect(editor, SIGNAL(destroyed(QObject *)),
- this, SLOT(slotEditorDestroyed(QObject *)));
+ connect(editor, SIGNAL(timeChanged(QTime)),
+ this, SLOT(slotSetValue(QTime)));
+ connect(editor, SIGNAL(destroyed(QObject*)),
+ this, SLOT(slotEditorDestroyed(QObject*)));
return editor;
}
@@ -1288,8 +1288,8 @@ QWidget *QtTimeEditFactory::createEditor(QtTimePropertyManager *manager, QtPrope
*/
void QtTimeEditFactory::disconnectPropertyManager(QtTimePropertyManager *manager)
{
- disconnect(manager, SIGNAL(valueChanged(QtProperty *, const QTime &)),
- this, SLOT(slotPropertyChanged(QtProperty *, const QTime &)));
+ disconnect(manager, SIGNAL(valueChanged(QtProperty*,QTime)),
+ this, SLOT(slotPropertyChanged(QtProperty*,QTime)));
}
// QtDateTimeEditFactory
@@ -1372,8 +1372,8 @@ QtDateTimeEditFactory::~QtDateTimeEditFactory()
*/
void QtDateTimeEditFactory::connectPropertyManager(QtDateTimePropertyManager *manager)
{
- connect(manager, SIGNAL(valueChanged(QtProperty *, const QDateTime &)),
- this, SLOT(slotPropertyChanged(QtProperty *, const QDateTime &)));
+ connect(manager, SIGNAL(valueChanged(QtProperty*,QDateTime)),
+ this, SLOT(slotPropertyChanged(QtProperty*,QDateTime)));
}
/*!
@@ -1387,10 +1387,10 @@ QWidget *QtDateTimeEditFactory::createEditor(QtDateTimePropertyManager *manager,
QDateTimeEdit *editor = d_ptr->createEditor(property, parent);
editor->setDateTime(manager->value(property));
- connect(editor, SIGNAL(dateTimeChanged(const QDateTime &)),
- this, SLOT(slotSetValue(const QDateTime &)));
- connect(editor, SIGNAL(destroyed(QObject *)),
- this, SLOT(slotEditorDestroyed(QObject *)));
+ connect(editor, SIGNAL(dateTimeChanged(QDateTime)),
+ this, SLOT(slotSetValue(QDateTime)));
+ connect(editor, SIGNAL(destroyed(QObject*)),
+ this, SLOT(slotEditorDestroyed(QObject*)));
return editor;
}
@@ -1401,8 +1401,8 @@ QWidget *QtDateTimeEditFactory::createEditor(QtDateTimePropertyManager *manager,
*/
void QtDateTimeEditFactory::disconnectPropertyManager(QtDateTimePropertyManager *manager)
{
- disconnect(manager, SIGNAL(valueChanged(QtProperty *, const QDateTime &)),
- this, SLOT(slotPropertyChanged(QtProperty *, const QDateTime &)));
+ disconnect(manager, SIGNAL(valueChanged(QtProperty*,QDateTime)),
+ this, SLOT(slotPropertyChanged(QtProperty*,QDateTime)));
}
// QtKeySequenceEditorFactory
@@ -1484,8 +1484,8 @@ QtKeySequenceEditorFactory::~QtKeySequenceEditorFactory()
*/
void QtKeySequenceEditorFactory::connectPropertyManager(QtKeySequencePropertyManager *manager)
{
- connect(manager, SIGNAL(valueChanged(QtProperty *, const QKeySequence &)),
- this, SLOT(slotPropertyChanged(QtProperty *, const QKeySequence &)));
+ connect(manager, SIGNAL(valueChanged(QtProperty*,QKeySequence)),
+ this, SLOT(slotPropertyChanged(QtProperty*,QKeySequence)));
}
/*!
@@ -1499,10 +1499,10 @@ QWidget *QtKeySequenceEditorFactory::createEditor(QtKeySequencePropertyManager *
QtKeySequenceEdit *editor = d_ptr->createEditor(property, parent);
editor->setKeySequence(manager->value(property));
- connect(editor, SIGNAL(keySequenceChanged(const QKeySequence &)),
- this, SLOT(slotSetValue(const QKeySequence &)));
- connect(editor, SIGNAL(destroyed(QObject *)),
- this, SLOT(slotEditorDestroyed(QObject *)));
+ connect(editor, SIGNAL(keySequenceChanged(QKeySequence)),
+ this, SLOT(slotSetValue(QKeySequence)));
+ connect(editor, SIGNAL(destroyed(QObject*)),
+ this, SLOT(slotEditorDestroyed(QObject*)));
return editor;
}
@@ -1513,8 +1513,8 @@ QWidget *QtKeySequenceEditorFactory::createEditor(QtKeySequencePropertyManager *
*/
void QtKeySequenceEditorFactory::disconnectPropertyManager(QtKeySequencePropertyManager *manager)
{
- disconnect(manager, SIGNAL(valueChanged(QtProperty *, const QKeySequence &)),
- this, SLOT(slotPropertyChanged(QtProperty *, const QKeySequence &)));
+ disconnect(manager, SIGNAL(valueChanged(QtProperty*,QKeySequence)),
+ this, SLOT(slotPropertyChanged(QtProperty*,QKeySequence)));
}
// QtCharEdit
@@ -1766,8 +1766,8 @@ QtCharEditorFactory::~QtCharEditorFactory()
*/
void QtCharEditorFactory::connectPropertyManager(QtCharPropertyManager *manager)
{
- connect(manager, SIGNAL(valueChanged(QtProperty *, const QChar &)),
- this, SLOT(slotPropertyChanged(QtProperty *, const QChar &)));
+ connect(manager, SIGNAL(valueChanged(QtProperty*,QChar)),
+ this, SLOT(slotPropertyChanged(QtProperty*,QChar)));
}
/*!
@@ -1781,10 +1781,10 @@ QWidget *QtCharEditorFactory::createEditor(QtCharPropertyManager *manager,
QtCharEdit *editor = d_ptr->createEditor(property, parent);
editor->setValue(manager->value(property));
- connect(editor, SIGNAL(valueChanged(const QChar &)),
- this, SLOT(slotSetValue(const QChar &)));
- connect(editor, SIGNAL(destroyed(QObject *)),
- this, SLOT(slotEditorDestroyed(QObject *)));
+ connect(editor, SIGNAL(valueChanged(QChar)),
+ this, SLOT(slotSetValue(QChar)));
+ connect(editor, SIGNAL(destroyed(QObject*)),
+ this, SLOT(slotEditorDestroyed(QObject*)));
return editor;
}
@@ -1795,8 +1795,8 @@ QWidget *QtCharEditorFactory::createEditor(QtCharPropertyManager *manager,
*/
void QtCharEditorFactory::disconnectPropertyManager(QtCharPropertyManager *manager)
{
- disconnect(manager, SIGNAL(valueChanged(QtProperty *, const QChar &)),
- this, SLOT(slotPropertyChanged(QtProperty *, const QChar &)));
+ disconnect(manager, SIGNAL(valueChanged(QtProperty*,QChar)),
+ this, SLOT(slotPropertyChanged(QtProperty*,QChar)));
}
// QtEnumEditorFactory
@@ -1928,10 +1928,10 @@ QtEnumEditorFactory::~QtEnumEditorFactory()
*/
void QtEnumEditorFactory::connectPropertyManager(QtEnumPropertyManager *manager)
{
- connect(manager, SIGNAL(valueChanged(QtProperty *, int)),
- this, SLOT(slotPropertyChanged(QtProperty *, int)));
- connect(manager, SIGNAL(enumNamesChanged(QtProperty *, const QStringList &)),
- this, SLOT(slotEnumNamesChanged(QtProperty *, const QStringList &)));
+ connect(manager, SIGNAL(valueChanged(QtProperty*,int)),
+ this, SLOT(slotPropertyChanged(QtProperty*,int)));
+ connect(manager, SIGNAL(enumNamesChanged(QtProperty*,QStringList)),
+ this, SLOT(slotEnumNamesChanged(QtProperty*,QStringList)));
}
/*!
@@ -1954,8 +1954,8 @@ QWidget *QtEnumEditorFactory::createEditor(QtEnumPropertyManager *manager, QtPro
editor->setCurrentIndex(manager->value(property));
connect(editor, SIGNAL(currentIndexChanged(int)), this, SLOT(slotSetValue(int)));
- connect(editor, SIGNAL(destroyed(QObject *)),
- this, SLOT(slotEditorDestroyed(QObject *)));
+ connect(editor, SIGNAL(destroyed(QObject*)),
+ this, SLOT(slotEditorDestroyed(QObject*)));
return editor;
}
@@ -1966,10 +1966,10 @@ QWidget *QtEnumEditorFactory::createEditor(QtEnumPropertyManager *manager, QtPro
*/
void QtEnumEditorFactory::disconnectPropertyManager(QtEnumPropertyManager *manager)
{
- disconnect(manager, SIGNAL(valueChanged(QtProperty *, int)),
- this, SLOT(slotPropertyChanged(QtProperty *, int)));
- disconnect(manager, SIGNAL(enumNamesChanged(QtProperty *, const QStringList &)),
- this, SLOT(slotEnumNamesChanged(QtProperty *, const QStringList &)));
+ disconnect(manager, SIGNAL(valueChanged(QtProperty*,int)),
+ this, SLOT(slotPropertyChanged(QtProperty*,int)));
+ disconnect(manager, SIGNAL(enumNamesChanged(QtProperty*,QStringList)),
+ this, SLOT(slotEnumNamesChanged(QtProperty*,QStringList)));
}
// QtCursorEditorFactory
@@ -2076,8 +2076,8 @@ QtCursorEditorFactory::QtCursorEditorFactory(QObject *parent)
d_ptr->m_enumEditorFactory = new QtEnumEditorFactory(this);
d_ptr->m_enumPropertyManager = new QtEnumPropertyManager(this);
- connect(d_ptr->m_enumPropertyManager, SIGNAL(valueChanged(QtProperty *, int)),
- this, SLOT(slotEnumChanged(QtProperty *, int)));
+ connect(d_ptr->m_enumPropertyManager, SIGNAL(valueChanged(QtProperty*,int)),
+ this, SLOT(slotEnumChanged(QtProperty*,int)));
d_ptr->m_enumEditorFactory->addPropertyManager(d_ptr->m_enumPropertyManager);
}
@@ -2095,8 +2095,8 @@ QtCursorEditorFactory::~QtCursorEditorFactory()
*/
void QtCursorEditorFactory::connectPropertyManager(QtCursorPropertyManager *manager)
{
- connect(manager, SIGNAL(valueChanged(QtProperty *, const QCursor &)),
- this, SLOT(slotPropertyChanged(QtProperty *, const QCursor &)));
+ connect(manager, SIGNAL(valueChanged(QtProperty*,QCursor)),
+ this, SLOT(slotPropertyChanged(QtProperty*,QCursor)));
}
/*!
@@ -2124,8 +2124,8 @@ QWidget *QtCursorEditorFactory::createEditor(QtCursorPropertyManager *manager, Q
QWidget *editor = af->createEditor(enumProp, parent);
d_ptr->m_enumToEditors[enumProp].append(editor);
d_ptr->m_editorToEnum[editor] = enumProp;
- connect(editor, SIGNAL(destroyed(QObject *)),
- this, SLOT(slotEditorDestroyed(QObject *)));
+ connect(editor, SIGNAL(destroyed(QObject*)),
+ this, SLOT(slotEditorDestroyed(QObject*)));
return editor;
}
@@ -2136,8 +2136,8 @@ QWidget *QtCursorEditorFactory::createEditor(QtCursorPropertyManager *manager, Q
*/
void QtCursorEditorFactory::disconnectPropertyManager(QtCursorPropertyManager *manager)
{
- disconnect(manager, SIGNAL(valueChanged(QtProperty *, const QCursor &)),
- this, SLOT(slotPropertyChanged(QtProperty *, const QCursor &)));
+ disconnect(manager, SIGNAL(valueChanged(QtProperty*,QCursor)),
+ this, SLOT(slotPropertyChanged(QtProperty*,QCursor)));
}
// QtColorEditWidget
@@ -2324,7 +2324,7 @@ QWidget *QtColorEditorFactory::createEditor(QtColorPropertyManager *manager,
QtColorEditWidget *editor = d_ptr->createEditor(property, parent);
editor->setValue(manager->value(property));
connect(editor, SIGNAL(valueChanged(QColor)), this, SLOT(slotSetValue(QColor)));
- connect(editor, SIGNAL(destroyed(QObject *)), this, SLOT(slotEditorDestroyed(QObject *)));
+ connect(editor, SIGNAL(destroyed(QObject*)), this, SLOT(slotEditorDestroyed(QObject*)));
return editor;
}
@@ -2537,7 +2537,7 @@ QWidget *QtFontEditorFactory::createEditor(QtFontPropertyManager *manager,
QtFontEditWidget *editor = d_ptr->createEditor(property, parent);
editor->setValue(manager->value(property));
connect(editor, SIGNAL(valueChanged(QFont)), this, SLOT(slotSetValue(QFont)));
- connect(editor, SIGNAL(destroyed(QObject *)), this, SLOT(slotEditorDestroyed(QObject *)));
+ connect(editor, SIGNAL(destroyed(QObject*)), this, SLOT(slotEditorDestroyed(QObject*)));
return editor;
}
diff --git a/tools/shared/qtpropertybrowser/qtpropertybrowser.cpp b/tools/shared/qtpropertybrowser/qtpropertybrowser.cpp
index c7fcdf0..4f2ed56 100644
--- a/tools/shared/qtpropertybrowser/qtpropertybrowser.cpp
+++ b/tools/shared/qtpropertybrowser/qtpropertybrowser.cpp
@@ -1243,11 +1243,11 @@ void QtAbstractPropertyBrowserPrivate::insertSubTree(QtProperty *property,
QtProperty *, QtProperty *)));
q_ptr->connect(manager, SIGNAL(propertyRemoved(QtProperty *,
QtProperty *)),
- q_ptr, SLOT(slotPropertyRemoved(QtProperty *, QtProperty *)));
- q_ptr->connect(manager, SIGNAL(propertyDestroyed(QtProperty *)),
- q_ptr, SLOT(slotPropertyDestroyed(QtProperty *)));
- q_ptr->connect(manager, SIGNAL(propertyChanged(QtProperty *)),
- q_ptr, SLOT(slotPropertyDataChanged(QtProperty *)));
+ q_ptr, SLOT(slotPropertyRemoved(QtProperty*,QtProperty*)));
+ q_ptr->connect(manager, SIGNAL(propertyDestroyed(QtProperty*)),
+ q_ptr, SLOT(slotPropertyDestroyed(QtProperty*)));
+ q_ptr->connect(manager, SIGNAL(propertyChanged(QtProperty*)),
+ q_ptr, SLOT(slotPropertyDataChanged(QtProperty*)));
}
m_managerToProperties[manager].append(property);
m_propertyToParents[property].append(parentProperty);
@@ -1283,11 +1283,11 @@ void QtAbstractPropertyBrowserPrivate::removeSubTree(QtProperty *property,
QtProperty *, QtProperty *)));
q_ptr->disconnect(manager, SIGNAL(propertyRemoved(QtProperty *,
QtProperty *)),
- q_ptr, SLOT(slotPropertyRemoved(QtProperty *, QtProperty *)));
- q_ptr->disconnect(manager, SIGNAL(propertyDestroyed(QtProperty *)),
- q_ptr, SLOT(slotPropertyDestroyed(QtProperty *)));
- q_ptr->disconnect(manager, SIGNAL(propertyChanged(QtProperty *)),
- q_ptr, SLOT(slotPropertyDataChanged(QtProperty *)));
+ q_ptr, SLOT(slotPropertyRemoved(QtProperty*,QtProperty*)));
+ q_ptr->disconnect(manager, SIGNAL(propertyDestroyed(QtProperty*)),
+ q_ptr, SLOT(slotPropertyDestroyed(QtProperty*)));
+ q_ptr->disconnect(manager, SIGNAL(propertyChanged(QtProperty*)),
+ q_ptr, SLOT(slotPropertyDataChanged(QtProperty*)));
m_managerToProperties.remove(manager);
}
diff --git a/tools/shared/qtpropertybrowser/qtpropertymanager.cpp b/tools/shared/qtpropertybrowser/qtpropertymanager.cpp
index 7f04c03..a26dcda 100644
--- a/tools/shared/qtpropertybrowser/qtpropertymanager.cpp
+++ b/tools/shared/qtpropertybrowser/qtpropertymanager.cpp
@@ -2334,11 +2334,11 @@ QtLocalePropertyManager::QtLocalePropertyManager(QObject *parent)
d_ptr->q_ptr = this;
d_ptr->m_enumPropertyManager = new QtEnumPropertyManager(this);
- connect(d_ptr->m_enumPropertyManager, SIGNAL(valueChanged(QtProperty *, int)),
- this, SLOT(slotEnumChanged(QtProperty *, int)));
+ connect(d_ptr->m_enumPropertyManager, SIGNAL(valueChanged(QtProperty*,int)),
+ this, SLOT(slotEnumChanged(QtProperty*,int)));
- connect(d_ptr->m_enumPropertyManager, SIGNAL(propertyDestroyed(QtProperty *)),
- this, SLOT(slotPropertyDestroyed(QtProperty *)));
+ connect(d_ptr->m_enumPropertyManager, SIGNAL(propertyDestroyed(QtProperty*)),
+ this, SLOT(slotPropertyDestroyed(QtProperty*)));
}
/*!
@@ -2571,10 +2571,10 @@ QtPointPropertyManager::QtPointPropertyManager(QObject *parent)
d_ptr->q_ptr = this;
d_ptr->m_intPropertyManager = new QtIntPropertyManager(this);
- connect(d_ptr->m_intPropertyManager, SIGNAL(valueChanged(QtProperty *, int)),
- this, SLOT(slotIntChanged(QtProperty *, int)));
- connect(d_ptr->m_intPropertyManager, SIGNAL(propertyDestroyed(QtProperty *)),
- this, SLOT(slotPropertyDestroyed(QtProperty *)));
+ connect(d_ptr->m_intPropertyManager, SIGNAL(valueChanged(QtProperty*,int)),
+ this, SLOT(slotIntChanged(QtProperty*,int)));
+ connect(d_ptr->m_intPropertyManager, SIGNAL(propertyDestroyed(QtProperty*)),
+ this, SLOT(slotPropertyDestroyed(QtProperty*)));
}
/*!
@@ -2801,10 +2801,10 @@ QtPointFPropertyManager::QtPointFPropertyManager(QObject *parent)
d_ptr->q_ptr = this;
d_ptr->m_doublePropertyManager = new QtDoublePropertyManager(this);
- connect(d_ptr->m_doublePropertyManager, SIGNAL(valueChanged(QtProperty *, double)),
- this, SLOT(slotDoubleChanged(QtProperty *, double)));
- connect(d_ptr->m_doublePropertyManager, SIGNAL(propertyDestroyed(QtProperty *)),
- this, SLOT(slotPropertyDestroyed(QtProperty *)));
+ connect(d_ptr->m_doublePropertyManager, SIGNAL(valueChanged(QtProperty*,double)),
+ this, SLOT(slotDoubleChanged(QtProperty*,double)));
+ connect(d_ptr->m_doublePropertyManager, SIGNAL(propertyDestroyed(QtProperty*)),
+ this, SLOT(slotPropertyDestroyed(QtProperty*)));
}
/*!
@@ -3112,10 +3112,10 @@ QtSizePropertyManager::QtSizePropertyManager(QObject *parent)
d_ptr->q_ptr = this;
d_ptr->m_intPropertyManager = new QtIntPropertyManager(this);
- connect(d_ptr->m_intPropertyManager, SIGNAL(valueChanged(QtProperty *, int)),
- this, SLOT(slotIntChanged(QtProperty *, int)));
- connect(d_ptr->m_intPropertyManager, SIGNAL(propertyDestroyed(QtProperty *)),
- this, SLOT(slotPropertyDestroyed(QtProperty *)));
+ connect(d_ptr->m_intPropertyManager, SIGNAL(valueChanged(QtProperty*,int)),
+ this, SLOT(slotIntChanged(QtProperty*,int)));
+ connect(d_ptr->m_intPropertyManager, SIGNAL(propertyDestroyed(QtProperty*)),
+ this, SLOT(slotPropertyDestroyed(QtProperty*)));
}
/*!
@@ -3466,10 +3466,10 @@ QtSizeFPropertyManager::QtSizeFPropertyManager(QObject *parent)
d_ptr->q_ptr = this;
d_ptr->m_doublePropertyManager = new QtDoublePropertyManager(this);
- connect(d_ptr->m_doublePropertyManager, SIGNAL(valueChanged(QtProperty *, double)),
- this, SLOT(slotDoubleChanged(QtProperty *, double)));
- connect(d_ptr->m_doublePropertyManager, SIGNAL(propertyDestroyed(QtProperty *)),
- this, SLOT(slotPropertyDestroyed(QtProperty *)));
+ connect(d_ptr->m_doublePropertyManager, SIGNAL(valueChanged(QtProperty*,double)),
+ this, SLOT(slotDoubleChanged(QtProperty*,double)));
+ connect(d_ptr->m_doublePropertyManager, SIGNAL(propertyDestroyed(QtProperty*)),
+ this, SLOT(slotPropertyDestroyed(QtProperty*)));
}
/*!
@@ -3880,10 +3880,10 @@ QtRectPropertyManager::QtRectPropertyManager(QObject *parent)
d_ptr->q_ptr = this;
d_ptr->m_intPropertyManager = new QtIntPropertyManager(this);
- connect(d_ptr->m_intPropertyManager, SIGNAL(valueChanged(QtProperty *, int)),
- this, SLOT(slotIntChanged(QtProperty *, int)));
- connect(d_ptr->m_intPropertyManager, SIGNAL(propertyDestroyed(QtProperty *)),
- this, SLOT(slotPropertyDestroyed(QtProperty *)));
+ connect(d_ptr->m_intPropertyManager, SIGNAL(valueChanged(QtProperty*,int)),
+ this, SLOT(slotIntChanged(QtProperty*,int)));
+ connect(d_ptr->m_intPropertyManager, SIGNAL(propertyDestroyed(QtProperty*)),
+ this, SLOT(slotPropertyDestroyed(QtProperty*)));
}
/*!
@@ -4300,10 +4300,10 @@ QtRectFPropertyManager::QtRectFPropertyManager(QObject *parent)
d_ptr->q_ptr = this;
d_ptr->m_doublePropertyManager = new QtDoublePropertyManager(this);
- connect(d_ptr->m_doublePropertyManager, SIGNAL(valueChanged(QtProperty *, double)),
- this, SLOT(slotDoubleChanged(QtProperty *, double)));
- connect(d_ptr->m_doublePropertyManager, SIGNAL(propertyDestroyed(QtProperty *)),
- this, SLOT(slotPropertyDestroyed(QtProperty *)));
+ connect(d_ptr->m_doublePropertyManager, SIGNAL(valueChanged(QtProperty*,double)),
+ this, SLOT(slotDoubleChanged(QtProperty*,double)));
+ connect(d_ptr->m_doublePropertyManager, SIGNAL(propertyDestroyed(QtProperty*)),
+ this, SLOT(slotPropertyDestroyed(QtProperty*)));
}
/*!
@@ -4993,10 +4993,10 @@ QtFlagPropertyManager::QtFlagPropertyManager(QObject *parent)
d_ptr->q_ptr = this;
d_ptr->m_boolPropertyManager = new QtBoolPropertyManager(this);
- connect(d_ptr->m_boolPropertyManager, SIGNAL(valueChanged(QtProperty *, bool)),
- this, SLOT(slotBoolChanged(QtProperty *, bool)));
- connect(d_ptr->m_boolPropertyManager, SIGNAL(propertyDestroyed(QtProperty *)),
- this, SLOT(slotPropertyDestroyed(QtProperty *)));
+ connect(d_ptr->m_boolPropertyManager, SIGNAL(valueChanged(QtProperty*,bool)),
+ this, SLOT(slotBoolChanged(QtProperty*,bool)));
+ connect(d_ptr->m_boolPropertyManager, SIGNAL(propertyDestroyed(QtProperty*)),
+ this, SLOT(slotPropertyDestroyed(QtProperty*)));
}
/*!
@@ -5319,16 +5319,16 @@ QtSizePolicyPropertyManager::QtSizePolicyPropertyManager(QObject *parent)
d_ptr->q_ptr = this;
d_ptr->m_intPropertyManager = new QtIntPropertyManager(this);
- connect(d_ptr->m_intPropertyManager, SIGNAL(valueChanged(QtProperty *, int)),
- this, SLOT(slotIntChanged(QtProperty *, int)));
+ connect(d_ptr->m_intPropertyManager, SIGNAL(valueChanged(QtProperty*,int)),
+ this, SLOT(slotIntChanged(QtProperty*,int)));
d_ptr->m_enumPropertyManager = new QtEnumPropertyManager(this);
- connect(d_ptr->m_enumPropertyManager, SIGNAL(valueChanged(QtProperty *, int)),
- this, SLOT(slotEnumChanged(QtProperty *, int)));
+ connect(d_ptr->m_enumPropertyManager, SIGNAL(valueChanged(QtProperty*,int)),
+ this, SLOT(slotEnumChanged(QtProperty*,int)));
- connect(d_ptr->m_intPropertyManager, SIGNAL(propertyDestroyed(QtProperty *)),
- this, SLOT(slotPropertyDestroyed(QtProperty *)));
- connect(d_ptr->m_enumPropertyManager, SIGNAL(propertyDestroyed(QtProperty *)),
- this, SLOT(slotPropertyDestroyed(QtProperty *)));
+ connect(d_ptr->m_intPropertyManager, SIGNAL(propertyDestroyed(QtProperty*)),
+ this, SLOT(slotPropertyDestroyed(QtProperty*)));
+ connect(d_ptr->m_enumPropertyManager, SIGNAL(propertyDestroyed(QtProperty*)),
+ this, SLOT(slotPropertyDestroyed(QtProperty*)));
}
/*!
@@ -5730,21 +5730,21 @@ QtFontPropertyManager::QtFontPropertyManager(QObject *parent)
QObject::connect(qApp, SIGNAL(fontDatabaseChanged()), this, SLOT(slotFontDatabaseChanged()));
d_ptr->m_intPropertyManager = new QtIntPropertyManager(this);
- connect(d_ptr->m_intPropertyManager, SIGNAL(valueChanged(QtProperty *, int)),
- this, SLOT(slotIntChanged(QtProperty *, int)));
+ connect(d_ptr->m_intPropertyManager, SIGNAL(valueChanged(QtProperty*,int)),
+ this, SLOT(slotIntChanged(QtProperty*,int)));
d_ptr->m_enumPropertyManager = new QtEnumPropertyManager(this);
- connect(d_ptr->m_enumPropertyManager, SIGNAL(valueChanged(QtProperty *, int)),
- this, SLOT(slotEnumChanged(QtProperty *, int)));
+ connect(d_ptr->m_enumPropertyManager, SIGNAL(valueChanged(QtProperty*,int)),
+ this, SLOT(slotEnumChanged(QtProperty*,int)));
d_ptr->m_boolPropertyManager = new QtBoolPropertyManager(this);
- connect(d_ptr->m_boolPropertyManager, SIGNAL(valueChanged(QtProperty *, bool)),
- this, SLOT(slotBoolChanged(QtProperty *, bool)));
+ connect(d_ptr->m_boolPropertyManager, SIGNAL(valueChanged(QtProperty*,bool)),
+ this, SLOT(slotBoolChanged(QtProperty*,bool)));
- connect(d_ptr->m_intPropertyManager, SIGNAL(propertyDestroyed(QtProperty *)),
- this, SLOT(slotPropertyDestroyed(QtProperty *)));
- connect(d_ptr->m_enumPropertyManager, SIGNAL(propertyDestroyed(QtProperty *)),
- this, SLOT(slotPropertyDestroyed(QtProperty *)));
- connect(d_ptr->m_boolPropertyManager, SIGNAL(propertyDestroyed(QtProperty *)),
- this, SLOT(slotPropertyDestroyed(QtProperty *)));
+ connect(d_ptr->m_intPropertyManager, SIGNAL(propertyDestroyed(QtProperty*)),
+ this, SLOT(slotPropertyDestroyed(QtProperty*)));
+ connect(d_ptr->m_enumPropertyManager, SIGNAL(propertyDestroyed(QtProperty*)),
+ this, SLOT(slotPropertyDestroyed(QtProperty*)));
+ connect(d_ptr->m_boolPropertyManager, SIGNAL(propertyDestroyed(QtProperty*)),
+ this, SLOT(slotPropertyDestroyed(QtProperty*)));
}
/*!
@@ -6105,11 +6105,11 @@ QtColorPropertyManager::QtColorPropertyManager(QObject *parent)
d_ptr->q_ptr = this;
d_ptr->m_intPropertyManager = new QtIntPropertyManager(this);
- connect(d_ptr->m_intPropertyManager, SIGNAL(valueChanged(QtProperty *, int)),
- this, SLOT(slotIntChanged(QtProperty *, int)));
+ connect(d_ptr->m_intPropertyManager, SIGNAL(valueChanged(QtProperty*,int)),
+ this, SLOT(slotIntChanged(QtProperty*,int)));
- connect(d_ptr->m_intPropertyManager, SIGNAL(propertyDestroyed(QtProperty *)),
- this, SLOT(slotPropertyDestroyed(QtProperty *)));
+ connect(d_ptr->m_intPropertyManager, SIGNAL(propertyDestroyed(QtProperty*)),
+ this, SLOT(slotPropertyDestroyed(QtProperty*)));
}
/*!
diff --git a/tools/shared/qtpropertybrowser/qttreepropertybrowser.cpp b/tools/shared/qtpropertybrowser/qttreepropertybrowser.cpp
index 0b3fd77..7fa0449 100644
--- a/tools/shared/qtpropertybrowser/qttreepropertybrowser.cpp
+++ b/tools/shared/qtpropertybrowser/qttreepropertybrowser.cpp
@@ -310,7 +310,7 @@ QWidget *QtPropertyEditorDelegate::createEditor(QWidget *parent,
if (editor) {
editor->setAutoFillBackground(true);
editor->installEventFilter(const_cast<QtPropertyEditorDelegate *>(this));
- connect(editor, SIGNAL(destroyed(QObject *)), this, SLOT(slotEditorDestroyed(QObject *)));
+ connect(editor, SIGNAL(destroyed(QObject*)), this, SLOT(slotEditorDestroyed(QObject*)));
m_propertyToEditor[property] = editor;
m_editorToProperty[editor] = property;
m_editedItem = item;
@@ -452,8 +452,8 @@ void QtTreePropertyBrowserPrivate::init(QWidget *parent)
m_expandIcon = drawIndicatorIcon(q_ptr->palette(), q_ptr->style());
- QObject::connect(m_treeWidget, SIGNAL(collapsed(const QModelIndex &)), q_ptr, SLOT(slotCollapsed(const QModelIndex &)));
- QObject::connect(m_treeWidget, SIGNAL(expanded(const QModelIndex &)), q_ptr, SLOT(slotExpanded(const QModelIndex &)));
+ QObject::connect(m_treeWidget, SIGNAL(collapsed(QModelIndex)), q_ptr, SLOT(slotCollapsed(QModelIndex)));
+ QObject::connect(m_treeWidget, SIGNAL(expanded(QModelIndex)), q_ptr, SLOT(slotExpanded(QModelIndex)));
QObject::connect(m_treeWidget, SIGNAL(currentItemChanged(QTreeWidgetItem*,QTreeWidgetItem*)), q_ptr, SLOT(slotCurrentTreeItemChanged(QTreeWidgetItem*,QTreeWidgetItem*)));
}
diff --git a/tools/shared/qtpropertybrowser/qtvariantproperty.cpp b/tools/shared/qtpropertybrowser/qtvariantproperty.cpp
index 9b4b8a4..3488fb1 100644
--- a/tools/shared/qtpropertybrowser/qtvariantproperty.cpp
+++ b/tools/shared/qtpropertybrowser/qtvariantproperty.cpp
@@ -926,12 +926,12 @@ QtVariantPropertyManager::QtVariantPropertyManager(QObject *parent)
d_ptr->m_typeToAttributeToAttributeType[QVariant::Int][d_ptr->m_maximumAttribute] = QVariant::Int;
d_ptr->m_typeToAttributeToAttributeType[QVariant::Int][d_ptr->m_singleStepAttribute] = QVariant::Int;
d_ptr->m_typeToValueType[QVariant::Int] = QVariant::Int;
- connect(intPropertyManager, SIGNAL(valueChanged(QtProperty *, int)),
- this, SLOT(slotValueChanged(QtProperty *, int)));
- connect(intPropertyManager, SIGNAL(rangeChanged(QtProperty *, int, int)),
- this, SLOT(slotRangeChanged(QtProperty *, int, int)));
- connect(intPropertyManager, SIGNAL(singleStepChanged(QtProperty *, int)),
- this, SLOT(slotSingleStepChanged(QtProperty *, int)));
+ connect(intPropertyManager, SIGNAL(valueChanged(QtProperty*,int)),
+ this, SLOT(slotValueChanged(QtProperty*,int)));
+ connect(intPropertyManager, SIGNAL(rangeChanged(QtProperty*,int,int)),
+ this, SLOT(slotRangeChanged(QtProperty*,int,int)));
+ connect(intPropertyManager, SIGNAL(singleStepChanged(QtProperty*,int)),
+ this, SLOT(slotSingleStepChanged(QtProperty*,int)));
// DoublePropertyManager
QtDoublePropertyManager *doublePropertyManager = new QtDoublePropertyManager(this);
d_ptr->m_typeToPropertyManager[QVariant::Double] = doublePropertyManager;
@@ -944,30 +944,30 @@ QtVariantPropertyManager::QtVariantPropertyManager(QObject *parent)
d_ptr->m_typeToAttributeToAttributeType[QVariant::Double][d_ptr->m_decimalsAttribute] =
QVariant::Int;
d_ptr->m_typeToValueType[QVariant::Double] = QVariant::Double;
- connect(doublePropertyManager, SIGNAL(valueChanged(QtProperty *, double)),
- this, SLOT(slotValueChanged(QtProperty *, double)));
- connect(doublePropertyManager, SIGNAL(rangeChanged(QtProperty *, double, double)),
- this, SLOT(slotRangeChanged(QtProperty *, double, double)));
- connect(doublePropertyManager, SIGNAL(singleStepChanged(QtProperty *, double)),
- this, SLOT(slotSingleStepChanged(QtProperty *, double)));
- connect(doublePropertyManager, SIGNAL(decimalsChanged(QtProperty *, int)),
- this, SLOT(slotDecimalsChanged(QtProperty *, int)));
+ connect(doublePropertyManager, SIGNAL(valueChanged(QtProperty*,double)),
+ this, SLOT(slotValueChanged(QtProperty*,double)));
+ connect(doublePropertyManager, SIGNAL(rangeChanged(QtProperty*,double,double)),
+ this, SLOT(slotRangeChanged(QtProperty*,double,double)));
+ connect(doublePropertyManager, SIGNAL(singleStepChanged(QtProperty*,double)),
+ this, SLOT(slotSingleStepChanged(QtProperty*,double)));
+ connect(doublePropertyManager, SIGNAL(decimalsChanged(QtProperty*,int)),
+ this, SLOT(slotDecimalsChanged(QtProperty*,int)));
// BoolPropertyManager
QtBoolPropertyManager *boolPropertyManager = new QtBoolPropertyManager(this);
d_ptr->m_typeToPropertyManager[QVariant::Bool] = boolPropertyManager;
d_ptr->m_typeToValueType[QVariant::Bool] = QVariant::Bool;
- connect(boolPropertyManager, SIGNAL(valueChanged(QtProperty *, bool)),
- this, SLOT(slotValueChanged(QtProperty *, bool)));
+ connect(boolPropertyManager, SIGNAL(valueChanged(QtProperty*,bool)),
+ this, SLOT(slotValueChanged(QtProperty*,bool)));
// StringPropertyManager
QtStringPropertyManager *stringPropertyManager = new QtStringPropertyManager(this);
d_ptr->m_typeToPropertyManager[QVariant::String] = stringPropertyManager;
d_ptr->m_typeToValueType[QVariant::String] = QVariant::String;
d_ptr->m_typeToAttributeToAttributeType[QVariant::String][d_ptr->m_regExpAttribute] =
QVariant::RegExp;
- connect(stringPropertyManager, SIGNAL(valueChanged(QtProperty *, const QString &)),
- this, SLOT(slotValueChanged(QtProperty *, const QString &)));
- connect(stringPropertyManager, SIGNAL(regExpChanged(QtProperty *, const QRegExp &)),
- this, SLOT(slotRegExpChanged(QtProperty *, const QRegExp &)));
+ connect(stringPropertyManager, SIGNAL(valueChanged(QtProperty*,QString)),
+ this, SLOT(slotValueChanged(QtProperty*,QString)));
+ connect(stringPropertyManager, SIGNAL(regExpChanged(QtProperty*,QRegExp)),
+ this, SLOT(slotRegExpChanged(QtProperty*,QRegExp)));
// DatePropertyManager
QtDatePropertyManager *datePropertyManager = new QtDatePropertyManager(this);
d_ptr->m_typeToPropertyManager[QVariant::Date] = datePropertyManager;
@@ -976,74 +976,74 @@ QtVariantPropertyManager::QtVariantPropertyManager(QObject *parent)
QVariant::Date;
d_ptr->m_typeToAttributeToAttributeType[QVariant::Date][d_ptr->m_maximumAttribute] =
QVariant::Date;
- connect(datePropertyManager, SIGNAL(valueChanged(QtProperty *, const QDate &)),
- this, SLOT(slotValueChanged(QtProperty *, const QDate &)));
- connect(datePropertyManager, SIGNAL(rangeChanged(QtProperty *, const QDate &, const QDate &)),
- this, SLOT(slotRangeChanged(QtProperty *, const QDate &, const QDate &)));
+ connect(datePropertyManager, SIGNAL(valueChanged(QtProperty*,QDate)),
+ this, SLOT(slotValueChanged(QtProperty*,QDate)));
+ connect(datePropertyManager, SIGNAL(rangeChanged(QtProperty*,QDate,QDate)),
+ this, SLOT(slotRangeChanged(QtProperty*,QDate,QDate)));
// TimePropertyManager
QtTimePropertyManager *timePropertyManager = new QtTimePropertyManager(this);
d_ptr->m_typeToPropertyManager[QVariant::Time] = timePropertyManager;
d_ptr->m_typeToValueType[QVariant::Time] = QVariant::Time;
- connect(timePropertyManager, SIGNAL(valueChanged(QtProperty *, const QTime &)),
- this, SLOT(slotValueChanged(QtProperty *, const QTime &)));
+ connect(timePropertyManager, SIGNAL(valueChanged(QtProperty*,QTime)),
+ this, SLOT(slotValueChanged(QtProperty*,QTime)));
// DateTimePropertyManager
QtDateTimePropertyManager *dateTimePropertyManager = new QtDateTimePropertyManager(this);
d_ptr->m_typeToPropertyManager[QVariant::DateTime] = dateTimePropertyManager;
d_ptr->m_typeToValueType[QVariant::DateTime] = QVariant::DateTime;
- connect(dateTimePropertyManager, SIGNAL(valueChanged(QtProperty *, const QDateTime &)),
- this, SLOT(slotValueChanged(QtProperty *, const QDateTime &)));
+ connect(dateTimePropertyManager, SIGNAL(valueChanged(QtProperty*,QDateTime)),
+ this, SLOT(slotValueChanged(QtProperty*,QDateTime)));
// KeySequencePropertyManager
QtKeySequencePropertyManager *keySequencePropertyManager = new QtKeySequencePropertyManager(this);
d_ptr->m_typeToPropertyManager[QVariant::KeySequence] = keySequencePropertyManager;
d_ptr->m_typeToValueType[QVariant::KeySequence] = QVariant::KeySequence;
- connect(keySequencePropertyManager, SIGNAL(valueChanged(QtProperty *, const QKeySequence &)),
- this, SLOT(slotValueChanged(QtProperty *, const QKeySequence &)));
+ connect(keySequencePropertyManager, SIGNAL(valueChanged(QtProperty*,QKeySequence)),
+ this, SLOT(slotValueChanged(QtProperty*,QKeySequence)));
// CharPropertyManager
QtCharPropertyManager *charPropertyManager = new QtCharPropertyManager(this);
d_ptr->m_typeToPropertyManager[QVariant::Char] = charPropertyManager;
d_ptr->m_typeToValueType[QVariant::Char] = QVariant::Char;
- connect(charPropertyManager, SIGNAL(valueChanged(QtProperty *, const QChar &)),
- this, SLOT(slotValueChanged(QtProperty *, const QChar &)));
+ connect(charPropertyManager, SIGNAL(valueChanged(QtProperty*,QChar)),
+ this, SLOT(slotValueChanged(QtProperty*,QChar)));
// LocalePropertyManager
QtLocalePropertyManager *localePropertyManager = new QtLocalePropertyManager(this);
d_ptr->m_typeToPropertyManager[QVariant::Locale] = localePropertyManager;
d_ptr->m_typeToValueType[QVariant::Locale] = QVariant::Locale;
- connect(localePropertyManager, SIGNAL(valueChanged(QtProperty *, const QLocale &)),
- this, SLOT(slotValueChanged(QtProperty *, const QLocale &)));
- connect(localePropertyManager->subEnumPropertyManager(), SIGNAL(valueChanged(QtProperty *, int)),
- this, SLOT(slotValueChanged(QtProperty *, int)));
- connect(localePropertyManager, SIGNAL(propertyInserted(QtProperty *, QtProperty *, QtProperty *)),
- this, SLOT(slotPropertyInserted(QtProperty *, QtProperty *, QtProperty *)));
- connect(localePropertyManager, SIGNAL(propertyRemoved(QtProperty *, QtProperty *)),
- this, SLOT(slotPropertyRemoved(QtProperty *, QtProperty *)));
+ connect(localePropertyManager, SIGNAL(valueChanged(QtProperty*,QLocale)),
+ this, SLOT(slotValueChanged(QtProperty*,QLocale)));
+ connect(localePropertyManager->subEnumPropertyManager(), SIGNAL(valueChanged(QtProperty*,int)),
+ this, SLOT(slotValueChanged(QtProperty*,int)));
+ connect(localePropertyManager, SIGNAL(propertyInserted(QtProperty*,QtProperty*,QtProperty*)),
+ this, SLOT(slotPropertyInserted(QtProperty*,QtProperty*,QtProperty*)));
+ connect(localePropertyManager, SIGNAL(propertyRemoved(QtProperty*,QtProperty*)),
+ this, SLOT(slotPropertyRemoved(QtProperty*,QtProperty*)));
// PointPropertyManager
QtPointPropertyManager *pointPropertyManager = new QtPointPropertyManager(this);
d_ptr->m_typeToPropertyManager[QVariant::Point] = pointPropertyManager;
d_ptr->m_typeToValueType[QVariant::Point] = QVariant::Point;
- connect(pointPropertyManager, SIGNAL(valueChanged(QtProperty *, const QPoint &)),
- this, SLOT(slotValueChanged(QtProperty *, const QPoint &)));
- connect(pointPropertyManager->subIntPropertyManager(), SIGNAL(valueChanged(QtProperty *, int)),
- this, SLOT(slotValueChanged(QtProperty *, int)));
- connect(pointPropertyManager, SIGNAL(propertyInserted(QtProperty *, QtProperty *, QtProperty *)),
- this, SLOT(slotPropertyInserted(QtProperty *, QtProperty *, QtProperty *)));
- connect(pointPropertyManager, SIGNAL(propertyRemoved(QtProperty *, QtProperty *)),
- this, SLOT(slotPropertyRemoved(QtProperty *, QtProperty *)));
+ connect(pointPropertyManager, SIGNAL(valueChanged(QtProperty*,QPoint)),
+ this, SLOT(slotValueChanged(QtProperty*,QPoint)));
+ connect(pointPropertyManager->subIntPropertyManager(), SIGNAL(valueChanged(QtProperty*,int)),
+ this, SLOT(slotValueChanged(QtProperty*,int)));
+ connect(pointPropertyManager, SIGNAL(propertyInserted(QtProperty*,QtProperty*,QtProperty*)),
+ this, SLOT(slotPropertyInserted(QtProperty*,QtProperty*,QtProperty*)));
+ connect(pointPropertyManager, SIGNAL(propertyRemoved(QtProperty*,QtProperty*)),
+ this, SLOT(slotPropertyRemoved(QtProperty*,QtProperty*)));
// PointFPropertyManager
QtPointFPropertyManager *pointFPropertyManager = new QtPointFPropertyManager(this);
d_ptr->m_typeToPropertyManager[QVariant::PointF] = pointFPropertyManager;
d_ptr->m_typeToValueType[QVariant::PointF] = QVariant::PointF;
d_ptr->m_typeToAttributeToAttributeType[QVariant::PointF][d_ptr->m_decimalsAttribute] =
QVariant::Int;
- connect(pointFPropertyManager, SIGNAL(valueChanged(QtProperty *, const QPointF &)),
- this, SLOT(slotValueChanged(QtProperty *, const QPointF &)));
- connect(pointFPropertyManager, SIGNAL(decimalsChanged(QtProperty *, int)),
- this, SLOT(slotDecimalsChanged(QtProperty *, int)));
- connect(pointFPropertyManager->subDoublePropertyManager(), SIGNAL(valueChanged(QtProperty *, double)),
- this, SLOT(slotValueChanged(QtProperty *, double)));
- connect(pointFPropertyManager, SIGNAL(propertyInserted(QtProperty *, QtProperty *, QtProperty *)),
- this, SLOT(slotPropertyInserted(QtProperty *, QtProperty *, QtProperty *)));
- connect(pointFPropertyManager, SIGNAL(propertyRemoved(QtProperty *, QtProperty *)),
- this, SLOT(slotPropertyRemoved(QtProperty *, QtProperty *)));
+ connect(pointFPropertyManager, SIGNAL(valueChanged(QtProperty*,QPointF)),
+ this, SLOT(slotValueChanged(QtProperty*,QPointF)));
+ connect(pointFPropertyManager, SIGNAL(decimalsChanged(QtProperty*,int)),
+ this, SLOT(slotDecimalsChanged(QtProperty*,int)));
+ connect(pointFPropertyManager->subDoublePropertyManager(), SIGNAL(valueChanged(QtProperty*,double)),
+ this, SLOT(slotValueChanged(QtProperty*,double)));
+ connect(pointFPropertyManager, SIGNAL(propertyInserted(QtProperty*,QtProperty*,QtProperty*)),
+ this, SLOT(slotPropertyInserted(QtProperty*,QtProperty*,QtProperty*)));
+ connect(pointFPropertyManager, SIGNAL(propertyRemoved(QtProperty*,QtProperty*)),
+ this, SLOT(slotPropertyRemoved(QtProperty*,QtProperty*)));
// SizePropertyManager
QtSizePropertyManager *sizePropertyManager = new QtSizePropertyManager(this);
d_ptr->m_typeToPropertyManager[QVariant::Size] = sizePropertyManager;
@@ -1052,18 +1052,18 @@ QtVariantPropertyManager::QtVariantPropertyManager(QObject *parent)
QVariant::Size;
d_ptr->m_typeToAttributeToAttributeType[QVariant::Size][d_ptr->m_maximumAttribute] =
QVariant::Size;
- connect(sizePropertyManager, SIGNAL(valueChanged(QtProperty *, const QSize &)),
- this, SLOT(slotValueChanged(QtProperty *, const QSize &)));
- connect(sizePropertyManager, SIGNAL(rangeChanged(QtProperty *, const QSize &, const QSize &)),
- this, SLOT(slotRangeChanged(QtProperty *, const QSize &, const QSize &)));
- connect(sizePropertyManager->subIntPropertyManager(), SIGNAL(valueChanged(QtProperty *, int)),
- this, SLOT(slotValueChanged(QtProperty *, int)));
- connect(sizePropertyManager->subIntPropertyManager(), SIGNAL(rangeChanged(QtProperty *, int, int)),
- this, SLOT(slotRangeChanged(QtProperty *, int, int)));
- connect(sizePropertyManager, SIGNAL(propertyInserted(QtProperty *, QtProperty *, QtProperty *)),
- this, SLOT(slotPropertyInserted(QtProperty *, QtProperty *, QtProperty *)));
- connect(sizePropertyManager, SIGNAL(propertyRemoved(QtProperty *, QtProperty *)),
- this, SLOT(slotPropertyRemoved(QtProperty *, QtProperty *)));
+ connect(sizePropertyManager, SIGNAL(valueChanged(QtProperty*,QSize)),
+ this, SLOT(slotValueChanged(QtProperty*,QSize)));
+ connect(sizePropertyManager, SIGNAL(rangeChanged(QtProperty*,QSize,QSize)),
+ this, SLOT(slotRangeChanged(QtProperty*,QSize,QSize)));
+ connect(sizePropertyManager->subIntPropertyManager(), SIGNAL(valueChanged(QtProperty*,int)),
+ this, SLOT(slotValueChanged(QtProperty*,int)));
+ connect(sizePropertyManager->subIntPropertyManager(), SIGNAL(rangeChanged(QtProperty*,int,int)),
+ this, SLOT(slotRangeChanged(QtProperty*,int,int)));
+ connect(sizePropertyManager, SIGNAL(propertyInserted(QtProperty*,QtProperty*,QtProperty*)),
+ this, SLOT(slotPropertyInserted(QtProperty*,QtProperty*,QtProperty*)));
+ connect(sizePropertyManager, SIGNAL(propertyRemoved(QtProperty*,QtProperty*)),
+ this, SLOT(slotPropertyRemoved(QtProperty*,QtProperty*)));
// SizeFPropertyManager
QtSizeFPropertyManager *sizeFPropertyManager = new QtSizeFPropertyManager(this);
d_ptr->m_typeToPropertyManager[QVariant::SizeF] = sizeFPropertyManager;
@@ -1074,38 +1074,38 @@ QtVariantPropertyManager::QtVariantPropertyManager(QObject *parent)
QVariant::SizeF;
d_ptr->m_typeToAttributeToAttributeType[QVariant::SizeF][d_ptr->m_decimalsAttribute] =
QVariant::Int;
- connect(sizeFPropertyManager, SIGNAL(valueChanged(QtProperty *, const QSizeF &)),
- this, SLOT(slotValueChanged(QtProperty *, const QSizeF &)));
- connect(sizeFPropertyManager, SIGNAL(rangeChanged(QtProperty *, const QSizeF &, const QSizeF &)),
- this, SLOT(slotRangeChanged(QtProperty *, const QSizeF &, const QSizeF &)));
- connect(sizeFPropertyManager, SIGNAL(decimalsChanged(QtProperty *, int)),
- this, SLOT(slotDecimalsChanged(QtProperty *, int)));
- connect(sizeFPropertyManager->subDoublePropertyManager(), SIGNAL(valueChanged(QtProperty *, double)),
- this, SLOT(slotValueChanged(QtProperty *, double)));
- connect(sizeFPropertyManager->subDoublePropertyManager(), SIGNAL(rangeChanged(QtProperty *, double, double)),
- this, SLOT(slotRangeChanged(QtProperty *, double, double)));
- connect(sizeFPropertyManager, SIGNAL(propertyInserted(QtProperty *, QtProperty *, QtProperty *)),
- this, SLOT(slotPropertyInserted(QtProperty *, QtProperty *, QtProperty *)));
- connect(sizeFPropertyManager, SIGNAL(propertyRemoved(QtProperty *, QtProperty *)),
- this, SLOT(slotPropertyRemoved(QtProperty *, QtProperty *)));
+ connect(sizeFPropertyManager, SIGNAL(valueChanged(QtProperty*,QSizeF)),
+ this, SLOT(slotValueChanged(QtProperty*,QSizeF)));
+ connect(sizeFPropertyManager, SIGNAL(rangeChanged(QtProperty*,QSizeF,QSizeF)),
+ this, SLOT(slotRangeChanged(QtProperty*,QSizeF,QSizeF)));
+ connect(sizeFPropertyManager, SIGNAL(decimalsChanged(QtProperty*,int)),
+ this, SLOT(slotDecimalsChanged(QtProperty*,int)));
+ connect(sizeFPropertyManager->subDoublePropertyManager(), SIGNAL(valueChanged(QtProperty*,double)),
+ this, SLOT(slotValueChanged(QtProperty*,double)));
+ connect(sizeFPropertyManager->subDoublePropertyManager(), SIGNAL(rangeChanged(QtProperty*,double,double)),
+ this, SLOT(slotRangeChanged(QtProperty*,double,double)));
+ connect(sizeFPropertyManager, SIGNAL(propertyInserted(QtProperty*,QtProperty*,QtProperty*)),
+ this, SLOT(slotPropertyInserted(QtProperty*,QtProperty*,QtProperty*)));
+ connect(sizeFPropertyManager, SIGNAL(propertyRemoved(QtProperty*,QtProperty*)),
+ this, SLOT(slotPropertyRemoved(QtProperty*,QtProperty*)));
// RectPropertyManager
QtRectPropertyManager *rectPropertyManager = new QtRectPropertyManager(this);
d_ptr->m_typeToPropertyManager[QVariant::Rect] = rectPropertyManager;
d_ptr->m_typeToValueType[QVariant::Rect] = QVariant::Rect;
d_ptr->m_typeToAttributeToAttributeType[QVariant::Rect][d_ptr->m_constraintAttribute] =
QVariant::Rect;
- connect(rectPropertyManager, SIGNAL(valueChanged(QtProperty *, const QRect &)),
- this, SLOT(slotValueChanged(QtProperty *, const QRect &)));
- connect(rectPropertyManager, SIGNAL(constraintChanged(QtProperty *, const QRect &)),
- this, SLOT(slotConstraintChanged(QtProperty *, const QRect &)));
- connect(rectPropertyManager->subIntPropertyManager(), SIGNAL(valueChanged(QtProperty *, int)),
- this, SLOT(slotValueChanged(QtProperty *, int)));
- connect(rectPropertyManager->subIntPropertyManager(), SIGNAL(rangeChanged(QtProperty *, int, int)),
- this, SLOT(slotRangeChanged(QtProperty *, int, int)));
- connect(rectPropertyManager, SIGNAL(propertyInserted(QtProperty *, QtProperty *, QtProperty *)),
- this, SLOT(slotPropertyInserted(QtProperty *, QtProperty *, QtProperty *)));
- connect(rectPropertyManager, SIGNAL(propertyRemoved(QtProperty *, QtProperty *)),
- this, SLOT(slotPropertyRemoved(QtProperty *, QtProperty *)));
+ connect(rectPropertyManager, SIGNAL(valueChanged(QtProperty*,QRect)),
+ this, SLOT(slotValueChanged(QtProperty*,QRect)));
+ connect(rectPropertyManager, SIGNAL(constraintChanged(QtProperty*,QRect)),
+ this, SLOT(slotConstraintChanged(QtProperty*,QRect)));
+ connect(rectPropertyManager->subIntPropertyManager(), SIGNAL(valueChanged(QtProperty*,int)),
+ this, SLOT(slotValueChanged(QtProperty*,int)));
+ connect(rectPropertyManager->subIntPropertyManager(), SIGNAL(rangeChanged(QtProperty*,int,int)),
+ this, SLOT(slotRangeChanged(QtProperty*,int,int)));
+ connect(rectPropertyManager, SIGNAL(propertyInserted(QtProperty*,QtProperty*,QtProperty*)),
+ this, SLOT(slotPropertyInserted(QtProperty*,QtProperty*,QtProperty*)));
+ connect(rectPropertyManager, SIGNAL(propertyRemoved(QtProperty*,QtProperty*)),
+ this, SLOT(slotPropertyRemoved(QtProperty*,QtProperty*)));
// RectFPropertyManager
QtRectFPropertyManager *rectFPropertyManager = new QtRectFPropertyManager(this);
d_ptr->m_typeToPropertyManager[QVariant::RectF] = rectFPropertyManager;
@@ -1114,32 +1114,32 @@ QtVariantPropertyManager::QtVariantPropertyManager(QObject *parent)
QVariant::RectF;
d_ptr->m_typeToAttributeToAttributeType[QVariant::RectF][d_ptr->m_decimalsAttribute] =
QVariant::Int;
- connect(rectFPropertyManager, SIGNAL(valueChanged(QtProperty *, const QRectF &)),
- this, SLOT(slotValueChanged(QtProperty *, const QRectF &)));
- connect(rectFPropertyManager, SIGNAL(constraintChanged(QtProperty *, const QRectF &)),
- this, SLOT(slotConstraintChanged(QtProperty *, const QRectF &)));
- connect(rectFPropertyManager, SIGNAL(decimalsChanged(QtProperty *, int)),
- this, SLOT(slotDecimalsChanged(QtProperty *, int)));
- connect(rectFPropertyManager->subDoublePropertyManager(), SIGNAL(valueChanged(QtProperty *, double)),
- this, SLOT(slotValueChanged(QtProperty *, double)));
- connect(rectFPropertyManager->subDoublePropertyManager(), SIGNAL(rangeChanged(QtProperty *, double, double)),
- this, SLOT(slotRangeChanged(QtProperty *, double, double)));
- connect(rectFPropertyManager, SIGNAL(propertyInserted(QtProperty *, QtProperty *, QtProperty *)),
- this, SLOT(slotPropertyInserted(QtProperty *, QtProperty *, QtProperty *)));
- connect(rectFPropertyManager, SIGNAL(propertyRemoved(QtProperty *, QtProperty *)),
- this, SLOT(slotPropertyRemoved(QtProperty *, QtProperty *)));
+ connect(rectFPropertyManager, SIGNAL(valueChanged(QtProperty*,QRectF)),
+ this, SLOT(slotValueChanged(QtProperty*,QRectF)));
+ connect(rectFPropertyManager, SIGNAL(constraintChanged(QtProperty*,QRectF)),
+ this, SLOT(slotConstraintChanged(QtProperty*,QRectF)));
+ connect(rectFPropertyManager, SIGNAL(decimalsChanged(QtProperty*,int)),
+ this, SLOT(slotDecimalsChanged(QtProperty*,int)));
+ connect(rectFPropertyManager->subDoublePropertyManager(), SIGNAL(valueChanged(QtProperty*,double)),
+ this, SLOT(slotValueChanged(QtProperty*,double)));
+ connect(rectFPropertyManager->subDoublePropertyManager(), SIGNAL(rangeChanged(QtProperty*,double,double)),
+ this, SLOT(slotRangeChanged(QtProperty*,double,double)));
+ connect(rectFPropertyManager, SIGNAL(propertyInserted(QtProperty*,QtProperty*,QtProperty*)),
+ this, SLOT(slotPropertyInserted(QtProperty*,QtProperty*,QtProperty*)));
+ connect(rectFPropertyManager, SIGNAL(propertyRemoved(QtProperty*,QtProperty*)),
+ this, SLOT(slotPropertyRemoved(QtProperty*,QtProperty*)));
// ColorPropertyManager
QtColorPropertyManager *colorPropertyManager = new QtColorPropertyManager(this);
d_ptr->m_typeToPropertyManager[QVariant::Color] = colorPropertyManager;
d_ptr->m_typeToValueType[QVariant::Color] = QVariant::Color;
- connect(colorPropertyManager, SIGNAL(valueChanged(QtProperty *, const QColor &)),
- this, SLOT(slotValueChanged(QtProperty *, const QColor &)));
- connect(colorPropertyManager->subIntPropertyManager(), SIGNAL(valueChanged(QtProperty *, int)),
- this, SLOT(slotValueChanged(QtProperty *, int)));
- connect(colorPropertyManager, SIGNAL(propertyInserted(QtProperty *, QtProperty *, QtProperty *)),
- this, SLOT(slotPropertyInserted(QtProperty *, QtProperty *, QtProperty *)));
- connect(colorPropertyManager, SIGNAL(propertyRemoved(QtProperty *, QtProperty *)),
- this, SLOT(slotPropertyRemoved(QtProperty *, QtProperty *)));
+ connect(colorPropertyManager, SIGNAL(valueChanged(QtProperty*,QColor)),
+ this, SLOT(slotValueChanged(QtProperty*,QColor)));
+ connect(colorPropertyManager->subIntPropertyManager(), SIGNAL(valueChanged(QtProperty*,int)),
+ this, SLOT(slotValueChanged(QtProperty*,int)));
+ connect(colorPropertyManager, SIGNAL(propertyInserted(QtProperty*,QtProperty*,QtProperty*)),
+ this, SLOT(slotPropertyInserted(QtProperty*,QtProperty*,QtProperty*)));
+ connect(colorPropertyManager, SIGNAL(propertyRemoved(QtProperty*,QtProperty*)),
+ this, SLOT(slotPropertyRemoved(QtProperty*,QtProperty*)));
// EnumPropertyManager
int enumId = enumTypeId();
QtEnumPropertyManager *enumPropertyManager = new QtEnumPropertyManager(this);
@@ -1149,58 +1149,58 @@ QtVariantPropertyManager::QtVariantPropertyManager(QObject *parent)
QVariant::StringList;
d_ptr->m_typeToAttributeToAttributeType[enumId][d_ptr->m_enumIconsAttribute] =
iconMapTypeId();
- connect(enumPropertyManager, SIGNAL(valueChanged(QtProperty *, int)),
- this, SLOT(slotValueChanged(QtProperty *, int)));
- connect(enumPropertyManager, SIGNAL(enumNamesChanged(QtProperty *, const QStringList &)),
- this, SLOT(slotEnumNamesChanged(QtProperty *, const QStringList &)));
- connect(enumPropertyManager, SIGNAL(enumIconsChanged(QtProperty *, const QMap<int, QIcon> &)),
- this, SLOT(slotEnumIconsChanged(QtProperty *, const QMap<int, QIcon> &)));
+ connect(enumPropertyManager, SIGNAL(valueChanged(QtProperty*,int)),
+ this, SLOT(slotValueChanged(QtProperty*,int)));
+ connect(enumPropertyManager, SIGNAL(enumNamesChanged(QtProperty*,QStringList)),
+ this, SLOT(slotEnumNamesChanged(QtProperty*,QStringList)));
+ connect(enumPropertyManager, SIGNAL(enumIconsChanged(QtProperty*,QMap<int,QIcon>)),
+ this, SLOT(slotEnumIconsChanged(QtProperty*,QMap<int,QIcon>)));
// SizePolicyPropertyManager
QtSizePolicyPropertyManager *sizePolicyPropertyManager = new QtSizePolicyPropertyManager(this);
d_ptr->m_typeToPropertyManager[QVariant::SizePolicy] = sizePolicyPropertyManager;
d_ptr->m_typeToValueType[QVariant::SizePolicy] = QVariant::SizePolicy;
- connect(sizePolicyPropertyManager, SIGNAL(valueChanged(QtProperty *, const QSizePolicy &)),
- this, SLOT(slotValueChanged(QtProperty *, const QSizePolicy &)));
- connect(sizePolicyPropertyManager->subIntPropertyManager(), SIGNAL(valueChanged(QtProperty *, int)),
- this, SLOT(slotValueChanged(QtProperty *, int)));
- connect(sizePolicyPropertyManager->subIntPropertyManager(), SIGNAL(rangeChanged(QtProperty *, int, int)),
- this, SLOT(slotRangeChanged(QtProperty *, int, int)));
- connect(sizePolicyPropertyManager->subEnumPropertyManager(), SIGNAL(valueChanged(QtProperty *, int)),
- this, SLOT(slotValueChanged(QtProperty *, int)));
+ connect(sizePolicyPropertyManager, SIGNAL(valueChanged(QtProperty*,QSizePolicy)),
+ this, SLOT(slotValueChanged(QtProperty*,QSizePolicy)));
+ connect(sizePolicyPropertyManager->subIntPropertyManager(), SIGNAL(valueChanged(QtProperty*,int)),
+ this, SLOT(slotValueChanged(QtProperty*,int)));
+ connect(sizePolicyPropertyManager->subIntPropertyManager(), SIGNAL(rangeChanged(QtProperty*,int,int)),
+ this, SLOT(slotRangeChanged(QtProperty*,int,int)));
+ connect(sizePolicyPropertyManager->subEnumPropertyManager(), SIGNAL(valueChanged(QtProperty*,int)),
+ this, SLOT(slotValueChanged(QtProperty*,int)));
connect(sizePolicyPropertyManager->subEnumPropertyManager(),
- SIGNAL(enumNamesChanged(QtProperty *, const QStringList &)),
- this, SLOT(slotEnumNamesChanged(QtProperty *, const QStringList &)));
- connect(sizePolicyPropertyManager, SIGNAL(propertyInserted(QtProperty *, QtProperty *, QtProperty *)),
- this, SLOT(slotPropertyInserted(QtProperty *, QtProperty *, QtProperty *)));
- connect(sizePolicyPropertyManager, SIGNAL(propertyRemoved(QtProperty *, QtProperty *)),
- this, SLOT(slotPropertyRemoved(QtProperty *, QtProperty *)));
+ SIGNAL(enumNamesChanged(QtProperty*,QStringList)),
+ this, SLOT(slotEnumNamesChanged(QtProperty*,QStringList)));
+ connect(sizePolicyPropertyManager, SIGNAL(propertyInserted(QtProperty*,QtProperty*,QtProperty*)),
+ this, SLOT(slotPropertyInserted(QtProperty*,QtProperty*,QtProperty*)));
+ connect(sizePolicyPropertyManager, SIGNAL(propertyRemoved(QtProperty*,QtProperty*)),
+ this, SLOT(slotPropertyRemoved(QtProperty*,QtProperty*)));
// FontPropertyManager
QtFontPropertyManager *fontPropertyManager = new QtFontPropertyManager(this);
d_ptr->m_typeToPropertyManager[QVariant::Font] = fontPropertyManager;
d_ptr->m_typeToValueType[QVariant::Font] = QVariant::Font;
- connect(fontPropertyManager, SIGNAL(valueChanged(QtProperty *, const QFont &)),
- this, SLOT(slotValueChanged(QtProperty *, const QFont &)));
- connect(fontPropertyManager->subIntPropertyManager(), SIGNAL(valueChanged(QtProperty *, int)),
- this, SLOT(slotValueChanged(QtProperty *, int)));
- connect(fontPropertyManager->subIntPropertyManager(), SIGNAL(rangeChanged(QtProperty *, int, int)),
- this, SLOT(slotRangeChanged(QtProperty *, int, int)));
- connect(fontPropertyManager->subEnumPropertyManager(), SIGNAL(valueChanged(QtProperty *, int)),
- this, SLOT(slotValueChanged(QtProperty *, int)));
+ connect(fontPropertyManager, SIGNAL(valueChanged(QtProperty*,QFont)),
+ this, SLOT(slotValueChanged(QtProperty*,QFont)));
+ connect(fontPropertyManager->subIntPropertyManager(), SIGNAL(valueChanged(QtProperty*,int)),
+ this, SLOT(slotValueChanged(QtProperty*,int)));
+ connect(fontPropertyManager->subIntPropertyManager(), SIGNAL(rangeChanged(QtProperty*,int,int)),
+ this, SLOT(slotRangeChanged(QtProperty*,int,int)));
+ connect(fontPropertyManager->subEnumPropertyManager(), SIGNAL(valueChanged(QtProperty*,int)),
+ this, SLOT(slotValueChanged(QtProperty*,int)));
connect(fontPropertyManager->subEnumPropertyManager(),
- SIGNAL(enumNamesChanged(QtProperty *, const QStringList &)),
- this, SLOT(slotEnumNamesChanged(QtProperty *, const QStringList &)));
- connect(fontPropertyManager->subBoolPropertyManager(), SIGNAL(valueChanged(QtProperty *, bool)),
- this, SLOT(slotValueChanged(QtProperty *, bool)));
- connect(fontPropertyManager, SIGNAL(propertyInserted(QtProperty *, QtProperty *, QtProperty *)),
- this, SLOT(slotPropertyInserted(QtProperty *, QtProperty *, QtProperty *)));
- connect(fontPropertyManager, SIGNAL(propertyRemoved(QtProperty *, QtProperty *)),
- this, SLOT(slotPropertyRemoved(QtProperty *, QtProperty *)));
+ SIGNAL(enumNamesChanged(QtProperty*,QStringList)),
+ this, SLOT(slotEnumNamesChanged(QtProperty*,QStringList)));
+ connect(fontPropertyManager->subBoolPropertyManager(), SIGNAL(valueChanged(QtProperty*,bool)),
+ this, SLOT(slotValueChanged(QtProperty*,bool)));
+ connect(fontPropertyManager, SIGNAL(propertyInserted(QtProperty*,QtProperty*,QtProperty*)),
+ this, SLOT(slotPropertyInserted(QtProperty*,QtProperty*,QtProperty*)));
+ connect(fontPropertyManager, SIGNAL(propertyRemoved(QtProperty*,QtProperty*)),
+ this, SLOT(slotPropertyRemoved(QtProperty*,QtProperty*)));
// CursorPropertyManager
QtCursorPropertyManager *cursorPropertyManager = new QtCursorPropertyManager(this);
d_ptr->m_typeToPropertyManager[QVariant::Cursor] = cursorPropertyManager;
d_ptr->m_typeToValueType[QVariant::Cursor] = QVariant::Cursor;
- connect(cursorPropertyManager, SIGNAL(valueChanged(QtProperty *, const QCursor &)),
- this, SLOT(slotValueChanged(QtProperty *, const QCursor &)));
+ connect(cursorPropertyManager, SIGNAL(valueChanged(QtProperty*,QCursor)),
+ this, SLOT(slotValueChanged(QtProperty*,QCursor)));
// FlagPropertyManager
int flagId = flagTypeId();
QtFlagPropertyManager *flagPropertyManager = new QtFlagPropertyManager(this);
@@ -1208,16 +1208,16 @@ QtVariantPropertyManager::QtVariantPropertyManager(QObject *parent)
d_ptr->m_typeToValueType[flagId] = QVariant::Int;
d_ptr->m_typeToAttributeToAttributeType[flagId][d_ptr->m_flagNamesAttribute] =
QVariant::StringList;
- connect(flagPropertyManager, SIGNAL(valueChanged(QtProperty *, int)),
- this, SLOT(slotValueChanged(QtProperty *, int)));
- connect(flagPropertyManager, SIGNAL(flagNamesChanged(QtProperty *, const QStringList &)),
- this, SLOT(slotFlagNamesChanged(QtProperty *, const QStringList &)));
- connect(flagPropertyManager->subBoolPropertyManager(), SIGNAL(valueChanged(QtProperty *, bool)),
- this, SLOT(slotValueChanged(QtProperty *, bool)));
- connect(flagPropertyManager, SIGNAL(propertyInserted(QtProperty *, QtProperty *, QtProperty *)),
- this, SLOT(slotPropertyInserted(QtProperty *, QtProperty *, QtProperty *)));
- connect(flagPropertyManager, SIGNAL(propertyRemoved(QtProperty *, QtProperty *)),
- this, SLOT(slotPropertyRemoved(QtProperty *, QtProperty *)));
+ connect(flagPropertyManager, SIGNAL(valueChanged(QtProperty*,int)),
+ this, SLOT(slotValueChanged(QtProperty*,int)));
+ connect(flagPropertyManager, SIGNAL(flagNamesChanged(QtProperty*,QStringList)),
+ this, SLOT(slotFlagNamesChanged(QtProperty*,QStringList)));
+ connect(flagPropertyManager->subBoolPropertyManager(), SIGNAL(valueChanged(QtProperty*,bool)),
+ this, SLOT(slotValueChanged(QtProperty*,bool)));
+ connect(flagPropertyManager, SIGNAL(propertyInserted(QtProperty*,QtProperty*,QtProperty*)),
+ this, SLOT(slotPropertyInserted(QtProperty*,QtProperty*,QtProperty*)));
+ connect(flagPropertyManager, SIGNAL(propertyRemoved(QtProperty*,QtProperty*)),
+ this, SLOT(slotPropertyRemoved(QtProperty*,QtProperty*)));
// FlagPropertyManager
int groupId = groupTypeId();
QtGroupPropertyManager *groupPropertyManager = new QtGroupPropertyManager(this);
diff --git a/tools/shared/qttoolbardialog/qttoolbardialog.cpp b/tools/shared/qttoolbardialog/qttoolbardialog.cpp
index dbc4138..c7cf3fe 100644
--- a/tools/shared/qttoolbardialog/qttoolbardialog.cpp
+++ b/tools/shared/qttoolbardialog/qttoolbardialog.cpp
@@ -1807,20 +1807,20 @@ QtToolBarDialog::QtToolBarDialog(QWidget *parent, Qt::WindowFlags flags)
connect(d_ptr->ui.buttonBox->button(QDialogButtonBox::Apply), SIGNAL(clicked()), this, SLOT(applyClicked()));
connect(d_ptr->ui.buttonBox->button(QDialogButtonBox::Cancel), SIGNAL(clicked()), this, SLOT(cancelClicked()));
- connect(d_ptr->ui.actionTree, SIGNAL(currentItemChanged(QTreeWidgetItem *, QTreeWidgetItem *)),
- this, SLOT(currentActionChanged(QTreeWidgetItem *)));
- connect(d_ptr->ui.toolBarList, SIGNAL(currentItemChanged(QListWidgetItem *, QListWidgetItem *)),
- this, SLOT(currentToolBarChanged(QListWidgetItem *)));
+ connect(d_ptr->ui.actionTree, SIGNAL(currentItemChanged(QTreeWidgetItem*,QTreeWidgetItem*)),
+ this, SLOT(currentActionChanged(QTreeWidgetItem*)));
+ connect(d_ptr->ui.toolBarList, SIGNAL(currentItemChanged(QListWidgetItem*,QListWidgetItem*)),
+ this, SLOT(currentToolBarChanged(QListWidgetItem*)));
connect(d_ptr->ui.currentToolBarList,
- SIGNAL(currentItemChanged(QListWidgetItem *, QListWidgetItem *)),
- this, SLOT(currentToolBarActionChanged(QListWidgetItem *)));
+ SIGNAL(currentItemChanged(QListWidgetItem*,QListWidgetItem*)),
+ this, SLOT(currentToolBarActionChanged(QListWidgetItem*)));
- connect(d_ptr->ui.actionTree, SIGNAL(itemDoubleClicked(QTreeWidgetItem *, int)),
+ connect(d_ptr->ui.actionTree, SIGNAL(itemDoubleClicked(QTreeWidgetItem*,int)),
this, SLOT(rightClicked()));
- connect(d_ptr->ui.currentToolBarList, SIGNAL(itemDoubleClicked(QListWidgetItem *)),
+ connect(d_ptr->ui.currentToolBarList, SIGNAL(itemDoubleClicked(QListWidgetItem*)),
this, SLOT(leftClicked()));
- connect(d_ptr->ui.toolBarList, SIGNAL(itemChanged(QListWidgetItem *)),
- this, SLOT(toolBarRenamed(QListWidgetItem *)));
+ connect(d_ptr->ui.toolBarList, SIGNAL(itemChanged(QListWidgetItem*)),
+ this, SLOT(toolBarRenamed(QListWidgetItem*)));
}
/*!
diff --git a/translations/assistant_fr.ts b/translations/assistant_fr.ts
index 9c5d651..4c6c5a0 100644
--- a/translations/assistant_fr.ts
+++ b/translations/assistant_fr.ts
@@ -39,12 +39,12 @@
<message>
<location/>
<source>Bookmark:</source>
- <translation>Signet :</translation>
+ <translation>Signet :</translation>
</message>
<message>
<location/>
<source>Add in Folder:</source>
- <translation>Ajouter dans le dossier :</translation>
+ <translation>Ajouter dans le dossier :</translation>
</message>
<message>
<location/>
@@ -91,7 +91,7 @@
<message>
<location line="+1"/>
<source>You are going to delete a Folder, this will also&lt;br&gt;remove it&apos;s content. Are you sure to continue?</source>
- <translation>Vous allez supprimer un dossier, ceci va aussi&lt;br&gt;supprimer son contenu. Voulez-vous continuer?</translation>
+ <translation>Vous allez supprimer un dossier, ceci va aussi&lt;br&gt;supprimer son contenu. Voulez-vous continuer ?</translation>
</message>
<message>
<location line="+143"/>
@@ -135,7 +135,7 @@
<message>
<location line="+38"/>
<source>Filter:</source>
- <translation>Filtre :</translation>
+ <translation>Filtre :</translation>
</message>
<message>
<location line="+24"/>
@@ -220,7 +220,7 @@
<message>
<location/>
<source>Filter Name:</source>
- <translation>Nom du filtre :</translation>
+ <translation>Nom du filtre :</translation>
</message>
</context>
<context>
@@ -325,7 +325,7 @@
<message>
<location filename="../tools/assistant/tools/assistant/indexwindow.cpp" line="+66"/>
<source>&amp;Look for:</source>
- <translation>&amp;Rechercher :</translation>
+ <translation>&amp;Rechercher :</translation>
</message>
<message>
<location line="+68"/>
@@ -349,7 +349,7 @@
<message>
<location/>
<source>Available Documentation:</source>
- <translation>Documentation disponible :</translation>
+ <translation>Documentation disponible :</translation>
</message>
<message>
<location/>
@@ -369,7 +369,7 @@
<message>
<location/>
<source>Installation Path:</source>
- <translation>Chemin d&apos;installation :</translation>
+ <translation>Chemin d&apos;installation :</translation>
</message>
<message>
<location/>
@@ -396,12 +396,12 @@
<message>
<location line="-90"/>
<source>The file %1 already exists. Do you want to overwrite it?</source>
- <translation>Le fichier %1 existe déjà. Voulez-vous l&apos;écraser?</translation>
+ <translation>Le fichier %1 existe déjà. Voulez-vous l&apos;écraser ?</translation>
</message>
<message>
<location line="+11"/>
<source>Unable to save the file %1: %2.</source>
- <translation>Impossible de sauver le fichier %1 : %2.</translation>
+ <translation>Impossible de sauver le fichier %1 : %2.</translation>
</message>
<message>
<location line="+8"/>
@@ -413,17 +413,17 @@
<location line="+42"/>
<location line="+38"/>
<source>Download failed: %1.</source>
- <translation>Échec du téléchargement : %1.</translation>
+ <translation>Échec du téléchargement : %1.</translation>
</message>
<message>
<location line="-70"/>
<source>Documentation info file is corrupt!</source>
- <translation>Le fichier d&apos;information de documentation est corrompu!</translation>
+ <translation>Le fichier d&apos;information de documentation est corrompu !</translation>
</message>
<message>
<location line="+37"/>
<source>Download failed: Downloaded file is corrupted.</source>
- <translation>Échec du téléchargement : le fichier téléchargé est corrompu.</translation>
+ <translation>Échec du téléchargement : le fichier téléchargé est corrompu.</translation>
</message>
<message>
<location line="+2"/>
@@ -434,7 +434,7 @@
<location line="+22"/>
<source>Error while installing documentation:
%1</source>
- <translation>Erreur durant l&apos;installation de la documentation :
+ <translation>Erreur durant l&apos;installation de la documentation :
%1</translation>
</message>
</context>
@@ -599,7 +599,7 @@
<message>
<location line="+2"/>
<source>&amp;Go</source>
- <translation>&amp;Aller</translation>
+ <translation>A&amp;ller</translation>
</message>
<message>
<location line="+1"/>
@@ -654,7 +654,7 @@
<message>
<location line="+3"/>
<source>&amp;Bookmarks</source>
- <translation>&amp;Signets</translation>
+ <translation>Si&amp;gnets</translation>
</message>
<message>
<location line="+1"/>
@@ -669,7 +669,7 @@
<message>
<location line="+2"/>
<source>&amp;Help</source>
- <translation>&amp;Aide</translation>
+ <translation>Ai&amp;de</translation>
</message>
<message>
<location line="+1"/>
@@ -714,7 +714,7 @@
<message>
<location line="+2"/>
<source>Filtered by:</source>
- <translation>Filtre :</translation>
+ <translation>Filtre :</translation>
</message>
<message>
<location line="+25"/>
@@ -724,7 +724,7 @@
<message>
<location line="+4"/>
<source>Address:</source>
- <translation>Adresse :</translation>
+ <translation>Adresse :</translation>
</message>
<message>
<location line="+114"/>
@@ -759,12 +759,12 @@
<message>
<location line="+29"/>
<source>The namespace %1 is already registered!</source>
- <translation>L&apos;espace de nom %1 existe déjà!</translation>
+ <translation>L&apos;espace de nom %1 existe déjà !</translation>
</message>
<message>
<location line="+8"/>
<source>The specified file is not a valid Qt Help File!</source>
- <translation>Le fichier spécifié n&apos;est pas un fichier d&apos;aide Qt valide!</translation>
+ <translation>Le fichier spécifié n&apos;est pas un fichier d&apos;aide Qt valide !</translation>
</message>
<message>
<location line="+23"/>
@@ -807,7 +807,7 @@
<message>
<location/>
<source>Font settings:</source>
- <translation>Configuration des polices :</translation>
+ <translation>Configuration des polices :</translation>
</message>
<message>
<location/>
@@ -827,12 +827,12 @@
<message>
<location/>
<source>Filter:</source>
- <translation>Filtre :</translation>
+ <translation>Filtre :</translation>
</message>
<message>
<location/>
<source>Attributes:</source>
- <translation>Attributs :</translation>
+ <translation>Attributs :</translation>
</message>
<message>
<location/>
@@ -858,7 +858,7 @@
<location/>
<source>Registered Documentation:</source>
<translatorcomment>documentation enregistrée ? ← je préfère référencée pour les deux...</translatorcomment>
- <translation>Documentation référencée :</translation>
+ <translation>Documentation référencée :</translation>
</message>
<message>
<location/>
@@ -873,7 +873,7 @@
<message>
<location/>
<source>On help start:</source>
- <translation>Au démarrage :</translation>
+ <translation>Au démarrage :</translation>
</message>
<message>
<location/>
@@ -916,58 +916,58 @@
<message>
<location filename="../tools/assistant/tools/assistant/cmdlineparser.cpp" line="+112"/>
<source>The specified collection file does not exist!</source>
- <translation>Le fichier de collection spécifié n&apos;existe pas!</translation>
+ <translation>Le fichier de collection spécifié n&apos;existe pas !</translation>
</message>
<message>
<location line="+4"/>
<source>Missing collection file!</source>
- <translation>Fichier de collection manquant!</translation>
+ <translation>Fichier de collection manquant !</translation>
</message>
<message>
<location line="+9"/>
<source>Invalid URL!</source>
- <translation>URL invalide!</translation>
+ <translation>URL invalide !</translation>
</message>
<message>
<location line="+4"/>
<source>Missing URL!</source>
- <translation>URL manquante!</translation>
+ <translation>URL manquante !</translation>
</message>
<message>
<location line="+17"/>
<location line="+19"/>
<location line="+19"/>
<source>Unknown widget: %1</source>
- <translation>Widget inconnu : %1</translation>
+ <translation>Widget inconnu : %1</translation>
</message>
<message>
<location line="-34"/>
<location line="+19"/>
<location line="+19"/>
<source>Missing widget!</source>
- <translation>Widget manquant!</translation>
+ <translation>Widget manquant !</translation>
</message>
<message>
<location line="+7"/>
<location line="+12"/>
<source>The specified Qt help file does not exist!</source>
- <translation>Le fichier d&apos;aide Qt spécifié n&apos;existe pas!</translation>
+ <translation>Le fichier d&apos;aide Qt spécifié n&apos;existe pas !</translation>
</message>
<message>
<location line="-7"/>
<location line="+12"/>
<source>Missing help file!</source>
- <translation>Fichier d&apos;aide manquant!</translation>
+ <translation>Fichier d&apos;aide manquant !</translation>
</message>
<message>
<location line="+7"/>
<source>Missing filter argument!</source>
- <translation>Argument de filtre manquant!</translation>
+ <translation>Argument de filtre manquant !</translation>
</message>
<message>
<location line="+12"/>
<source>Unknown option: %1</source>
- <translation>Option inconnue : %1</translation>
+ <translation>Option inconnue : %1</translation>
</message>
<message>
<location line="+30"/>
@@ -985,7 +985,7 @@ Reason:
<translation>Impossible d&apos;enregistrer le fichier de documentation
%1
-Raison :
+Raison :
%2</translation>
</message>
<message>
@@ -1008,18 +1008,18 @@ Reason:
<translation>Impossible d&apos;enregistrer le fichier de documentation
%1
-Raison :
+Raison :
%2</translation>
</message>
<message>
<location line="+37"/>
<source>Cannot load sqlite database driver!</source>
- <translation>Impossible de charger le driver de la base de données sqlite!</translation>
+ <translation>Impossible de charger le driver de la base de données sqlite !</translation>
</message>
<message>
<location line="+9"/>
<source>The specified collection file could not be read!</source>
- <translation>Le fichier de collection spécifié ne peut pas être lu!</translation>
+ <translation>Le fichier de collection spécifié ne peut pas être lu !</translation>
</message>
</context>
<context>
@@ -1032,7 +1032,7 @@ Raison :
<message>
<location line="+1"/>
<source>Received Command: %1 %2</source>
- <translation>Commande reçue : %1 %2</translation>
+ <translation>Commande reçue : %1 %2</translation>
</message>
</context>
<context>
@@ -1083,7 +1083,7 @@ Raison :
<message>
<location filename="../tools/assistant/tools/assistant/topicchooser.cpp" line="+54"/>
<source>Choose a topic for &lt;b&gt;%1&lt;/b&gt;:</source>
- <translation>Choisir le domaine pour &lt;b&gt;%1&lt;/b&gt; :</translation>
+ <translation>Choisir le domaine pour &lt;b&gt;%1&lt;/b&gt; :</translation>
</message>
</context>
</TS>
diff --git a/translations/designer_fr.ts b/translations/designer_fr.ts
new file mode 100644
index 0000000..7c18290
--- /dev/null
+++ b/translations/designer_fr.ts
@@ -0,0 +1,7046 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="fr_FR">
+<context>
+ <name>AbstractFindWidget</name>
+ <message>
+ <location filename="../tools/shared/findwidget/abstractfindwidget.cpp" line="127"/>
+ <source>&amp;Previous</source>
+ <translation>&amp;Précédent</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/findwidget/abstractfindwidget.cpp" line="135"/>
+ <source>&amp;Next</source>
+ <translation>&amp;Suivant</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/findwidget/abstractfindwidget.cpp" line="159"/>
+ <source>&amp;Case sensitive</source>
+ <translation>&amp;Sensible à la casse</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/findwidget/abstractfindwidget.cpp" line="167"/>
+ <source>Whole &amp;words</source>
+ <translation>M&amp;ots complets</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/findwidget/abstractfindwidget.cpp" line="179"/>
+ <source>&lt;img src=&quot;:/trolltech/shared/images/wrap.png&quot;&gt;&amp;nbsp;Search wrapped</source>
+ <translation>&lt;img src=&quot;:/trolltech/shared/images/wrap.png&quot;&gt;&amp;nbsp;Recherche à partir du début</translation>
+ </message>
+</context>
+<context>
+ <name>AddLinkDialog</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/addlinkdialog.ui" line="5"/>
+ <source>Insert Link</source>
+ <translation>Insérer lien</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/addlinkdialog.ui" line="19"/>
+ <source>Title:</source>
+ <translation>Titre :</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/addlinkdialog.ui" line="36"/>
+ <source>URL:</source>
+ <translation>URL :</translation>
+ </message>
+</context>
+<context>
+ <name>AppFontDialog</name>
+ <message>
+ <location filename="../tools/designer/src/designer/appfontdialog.cpp" line="418"/>
+ <source>Additional Fonts</source>
+ <translation>Polices additionnelles</translation>
+ </message>
+</context>
+<context>
+ <name>AppFontManager</name>
+ <message>
+ <location filename="../tools/designer/src/designer/appfontdialog.cpp" line="151"/>
+ <source>&apos;%1&apos; is not a file.</source>
+ <translation>&apos;%1&apos; n&apos;est pas un fichier.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/appfontdialog.cpp" line="155"/>
+ <source>The font file &apos;%1&apos; does not have read permissions.</source>
+ <translation>Le fichier de la police &apos;%1&apos; n&apos;a pas les permissions de lecture.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/appfontdialog.cpp" line="163"/>
+ <source>The font file &apos;%1&apos; is already loaded.</source>
+ <translation>Le fichier de la police &apos;%1&apos; est déjà chargé.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/appfontdialog.cpp" line="170"/>
+ <source>The font file &apos;%1&apos; could not be loaded.</source>
+ <translatorcomment>passé composé plutôt</translatorcomment>
+ <translation>Le fichier de la police &apos;%1&apos; n&apos;a pas pu chargé.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/appfontdialog.cpp" line="187"/>
+ <source>&apos;%1&apos; is not a valid font id.</source>
+ <translation>&apos;%1&apos; n&apos;est pas un identifiant de police valide.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/appfontdialog.cpp" line="198"/>
+ <source>There is no loaded font matching the id &apos;%1&apos;.</source>
+ <translation>Il n&apos;y a pas de police chargée correspondant à l&apos;identifiant &apos;%1&apos;.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/appfontdialog.cpp" line="213"/>
+ <source>The font &apos;%1&apos; (%2) could not be unloaded.</source>
+ <translation>La police &apos;%1&apos; (%2) ne peut pas être déchargée.</translation>
+ </message>
+</context>
+<context>
+ <name>AppFontWidget</name>
+ <message>
+ <location filename="../tools/designer/src/designer/appfontdialog.cpp" line="239"/>
+ <source>Fonts</source>
+ <translation>Polices</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/appfontdialog.cpp" line="297"/>
+ <source>Add font files</source>
+ <translation>Ajouter des fichiers de polices</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/appfontdialog.cpp" line="302"/>
+ <source>Remove current font file</source>
+ <translation>Retirer le fichier de police courant</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/appfontdialog.cpp" line="306"/>
+ <source>Remove all font files</source>
+ <translation>Retirer tous les fichiers de polices</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/appfontdialog.cpp" line="325"/>
+ <source>Add Font Files</source>
+ <translation>Ajouter des fichiers de polices</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/appfontdialog.cpp" line="326"/>
+ <source>Font files (*.ttf)</source>
+ <translation>Fichier de polices (*.ttf)</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/appfontdialog.cpp" line="339"/>
+ <source>Error Adding Fonts</source>
+ <translation>Erreur dans l&apos;ajout de polices</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/appfontdialog.cpp" line="363"/>
+ <source>Error Removing Fonts</source>
+ <translatorcomment>s/de/des/ pour être cohérent avec le suivant...</translatorcomment>
+ <translation>Erreur lors de la suppression des polices</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/appfontdialog.cpp" line="385"/>
+ <source>Remove Fonts</source>
+ <translation>Retirer les polices</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/appfontdialog.cpp" line="385"/>
+ <source>Would you like to remove all fonts?</source>
+ <translation>Voulez-vous supprimer toutes les polices ?</translation>
+ </message>
+</context>
+<context>
+ <name>AppearanceOptionsWidget</name>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_appearanceoptions.ui" line="14"/>
+ <source>Form</source>
+ <translation>Formulaire</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_appearanceoptions.ui" line="20"/>
+ <source>User Interface Mode</source>
+ <translation>Mode de l&apos;interface utilisateur</translation>
+ </message>
+</context>
+<context>
+ <name>AssistantClient</name>
+ <message>
+ <location filename="../tools/designer/src/designer/assistantclient.cpp" line="100"/>
+ <source>Unable to send request: Assistant is not responding.</source>
+ <translation>Impossible d&apos;envoyer la requête : Assistant ne répond pas.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/assistantclient.cpp" line="139"/>
+ <source>The binary &apos;%1&apos; does not exist.</source>
+ <translation>Le binaire &apos;%1&apos; n&apos;existe pas.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/assistantclient.cpp" line="148"/>
+ <source>Unable to launch assistant (%1).</source>
+ <translation>Impossible de démarrer Assistant (%1).</translation>
+ </message>
+</context>
+<context>
+ <name>BrushPropertyManager</name>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/brushpropertymanager.cpp" line="52"/>
+ <source>No brush</source>
+ <translation>Pas de pinceau</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/brushpropertymanager.cpp" line="53"/>
+ <source>Solid</source>
+ <translatorcomment>c&apos;est plutôt continu ou &quot;trait continu&quot; pour moi</translatorcomment>
+ <translation>Trait continu</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/brushpropertymanager.cpp" line="54"/>
+ <source>Dense 1</source>
+ <translation>Dense 1</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/brushpropertymanager.cpp" line="55"/>
+ <source>Dense 2</source>
+ <translation>Dense 2</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/brushpropertymanager.cpp" line="56"/>
+ <source>Dense 3</source>
+ <translation>Dense 3</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/brushpropertymanager.cpp" line="57"/>
+ <source>Dense 4</source>
+ <translation>Dense 4</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/brushpropertymanager.cpp" line="58"/>
+ <source>Dense 5</source>
+ <translation>Dense 5</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/brushpropertymanager.cpp" line="59"/>
+ <source>Dense 6</source>
+ <translation>Dense 6</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/brushpropertymanager.cpp" line="60"/>
+ <source>Dense 7</source>
+ <translation>Dense 7</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/brushpropertymanager.cpp" line="61"/>
+ <source>Horizontal</source>
+ <translation>Horizontal</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/brushpropertymanager.cpp" line="62"/>
+ <source>Vertical</source>
+ <translation>Vertical</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/brushpropertymanager.cpp" line="63"/>
+ <source>Cross</source>
+ <translation>Croix</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/brushpropertymanager.cpp" line="64"/>
+ <source>Backward diagonal</source>
+ <translation>Diagonale arrière</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/brushpropertymanager.cpp" line="65"/>
+ <source>Forward diagonal</source>
+ <translation>Diagonale avant</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/brushpropertymanager.cpp" line="66"/>
+ <source>Crossing diagonal</source>
+ <translation>Diagonale croisée</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/brushpropertymanager.cpp" line="149"/>
+ <source>Style</source>
+ <translation>Style</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/brushpropertymanager.cpp" line="160"/>
+ <source>Color</source>
+ <translation>Couleur</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/brushpropertymanager.cpp" line="265"/>
+ <source>[%1, %2]</source>
+ <translation>[%1, %2]</translation>
+ </message>
+</context>
+<context>
+ <name>Command</name>
+ <message>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor.cpp" line="208"/>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor.cpp" line="466"/>
+ <source>Change signal</source>
+ <translation>Modifier le signal</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor.cpp" line="210"/>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor.cpp" line="478"/>
+ <source>Change slot</source>
+ <translation>Modifier le slot</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor.cpp" line="258"/>
+ <source>Change signal-slot connection</source>
+ <translation>Modfier la connection signal-slot</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor.cpp" line="492"/>
+ <source>Change sender</source>
+ <translatorcomment>expéditeur/source</translatorcomment>
+ <translation>Modifier l&apos;envoyeur</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor.cpp" line="510"/>
+ <source>Change receiver</source>
+ <translatorcomment>destinataire++/cible?</translatorcomment>
+ <translation>Modifier le destinataire</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/button_taskmenu.cpp" line="221"/>
+ <source>Create button group</source>
+ <translation>Créer un groupe de boutons</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/button_taskmenu.cpp" line="248"/>
+ <source>Break button group</source>
+ <translation>Dissocier le groupe de bouton</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/button_taskmenu.cpp" line="257"/>
+ <source>Break button group &apos;%1&apos;</source>
+ <translation>Dissossier le groupe de bouton &apos;%1&apos;</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/button_taskmenu.cpp" line="274"/>
+ <source>Add buttons to group</source>
+ <translation>Ajouter les boutons au groupe</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/button_taskmenu.cpp" line="282"/>
+ <location filename="../tools/designer/src/lib/shared/formlayoutmenu.cpp" line="458"/>
+ <source>Add &apos;%1&apos; to &apos;%2&apos;</source>
+ <extracomment>Command description for adding buttons to a QButtonGroup</extracomment>
+ <translation>Ajouter &apos;%1&apos; à &apos;%2&apos;</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/button_taskmenu.cpp" line="296"/>
+ <source>Remove buttons from group</source>
+ <translation>Retirer les boutons du groupe</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/button_taskmenu.cpp" line="311"/>
+ <source>Remove &apos;%1&apos; from &apos;%2&apos;</source>
+ <extracomment>Command description for removing buttons from a QButtonGroup</extracomment>
+ <translation>Retirer &apos;%1&apos; de &apos;%2&apos;</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/connectionedit.cpp" line="143"/>
+ <source>Add connection</source>
+ <translation>Ajouter une connexion</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/connectionedit.cpp" line="197"/>
+ <source>Adjust connection</source>
+ <translation>Réajuster les connexions</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/connectionedit.cpp" line="216"/>
+ <source>Delete connections</source>
+ <translation>Supprimer les connexions</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/connectionedit.cpp" line="274"/>
+ <source>Change source</source>
+ <translation>Modifier la source</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/connectionedit.cpp" line="276"/>
+ <source>Change target</source>
+ <translation>Modifier la cible</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/morphmenu.cpp" line="349"/>
+ <source>Morph %1/&apos;%2&apos; into %3</source>
+ <extracomment>MorphWidgetCommand description</extracomment>
+ <translation>Transformer %1/&apos;%2&apos; en %3</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="149"/>
+ <source>Insert &apos;%1&apos;</source>
+ <translation>Insérer &apos;%1&apos;</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="282"/>
+ <source>Change Z-order of &apos;%1&apos;</source>
+ <translatorcomment>l&apos;ordre de &apos;%1&apos; sur l&apos;axe z? profondeur ?</translatorcomment>
+ <translation>Modifier la profondeur de &apos;%1&apos;</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="316"/>
+ <source>Raise &apos;%1&apos;</source>
+ <translation>Élever &apos;%1&apos;</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="349"/>
+ <source>Lower &apos;%1&apos;</source>
+ <translation>Abaisser &apos;%1&apos;</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="462"/>
+ <source>Delete &apos;%1&apos;</source>
+ <translation>Supprimer &apos;%1&apos;</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="581"/>
+ <source>Reparent &apos;%1&apos;</source>
+ <translation>Reparenter &apos;%1&apos;</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="634"/>
+ <source>Promote to custom widget</source>
+ <translation>Promouvoir en widget personnalisé</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="676"/>
+ <source>Demote from custom widget</source>
+ <translation>Annuler la promotion en widget personnalisé</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="755"/>
+ <source>Lay out using grid</source>
+ <translation>Mettre en page à l&apos;aide d&apos;une grille</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="758"/>
+ <source>Lay out vertically</source>
+ <translation>Mettre en page verticalement</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="761"/>
+ <source>Lay out horizontaly</source>
+ <translation>Mettre en page horizontalement</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="802"/>
+ <source>Break layout</source>
+ <translation>Casser la mise en page</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="907"/>
+ <source>Simplify Grid Layout</source>
+ <translation>Simplifier la mise en page en grille</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="1042"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="1277"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="1355"/>
+ <source>Move Page</source>
+ <translation>Déplacer la page</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="1076"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="1199"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="1387"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="2053"/>
+ <source>Delete Page</source>
+ <translation>Supprimer la page</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="1114"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="1237"/>
+ <source>Page</source>
+ <translation>Page</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="1119"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="1242"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="1428"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="2095"/>
+ <source>Insert Page</source>
+ <translation>Insérer une page</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="1448"/>
+ <source>Change Tab order</source>
+ <translation>Modifier l&apos;ordre des tabulations</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="1476"/>
+ <source>Create Menu Bar</source>
+ <translation>Créer une barre de menu</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="1520"/>
+ <source>Delete Menu Bar</source>
+ <translation>Supprimer la barre de menu</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="1567"/>
+ <source>Create Status Bar</source>
+ <translation>Créer une barre d&apos;état</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="1609"/>
+ <source>Delete Status Bar</source>
+ <translation>Supprimer la barre d&apos;état</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="1654"/>
+ <source>Add Tool Bar</source>
+ <translation>Ajouter une barre d&apos;outil</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="1713"/>
+ <source>Add Dock Window</source>
+ <translation>Ajouter une fenêtre ancrable</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="1766"/>
+ <source>Adjust Size of &apos;%1&apos;</source>
+ <translation>Ajuster les dimensions de &apos;%1&apos;</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="1823"/>
+ <source>Change Form Layout Item Geometry</source>
+ <translation>Modifier la géométrie de l&apos;élément de formulaire</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="1918"/>
+ <source>Change Layout Item Geometry</source>
+ <translation>Modifier la géométrie de l&apos;élément de mise en page</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="2056"/>
+ <source>Delete Subwindow</source>
+ <translation>Supprimer la sous-fenêtre</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="2097"/>
+ <source>page</source>
+ <translation>page</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="2100"/>
+ <source>Insert Subwindow</source>
+ <translation>Insérer une sous-fenêtre</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="2102"/>
+ <source>subwindow</source>
+ <translation>sous-fenêtre</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="2103"/>
+ <source>Subwindow</source>
+ <translation>Sous fenêtre</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="2494"/>
+ <source>Change Table Contents</source>
+ <translation>Modifier le contenu de la table</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="2601"/>
+ <source>Change Tree Contents</source>
+ <translation>Modifier le contenu de l&apos;arbre</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="2675"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="2821"/>
+ <source>Add action</source>
+ <translation>Ajouter une action</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="2701"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="2827"/>
+ <source>Remove action</source>
+ <translation>Supprimer l&apos;action</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="2880"/>
+ <source>Add menu</source>
+ <translation>Ajouter un menu</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="2886"/>
+ <source>Remove menu</source>
+ <translation>Supprimer le menu</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="2892"/>
+ <source>Create submenu</source>
+ <translation>Créer une sous-fenêtre</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="2923"/>
+ <source>Delete Tool Bar</source>
+ <translation>Supprimer la barre d&apos;outils</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command2.cpp" line="154"/>
+ <source>Change layout of &apos;%1&apos; from %2 to %3</source>
+ <translation>Modifier la mise en page de &apos;%1&apos; de %2 à %3</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="1195"/>
+ <source>Set action text</source>
+ <translation>Définir le texte de l&apos;action</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="1198"/>
+ <source>Insert action</source>
+ <translation>Insérer action</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="1287"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menubar.cpp" line="907"/>
+ <source>Move action</source>
+ <translation>Déplacer action</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menubar.cpp" line="483"/>
+ <source>Change Title</source>
+ <translation>Modifier le titre</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menubar.cpp" line="485"/>
+ <source>Insert Menu</source>
+ <translation>Insérer menu</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_propertycommand.cpp" line="1213"/>
+ <source>Changed &apos;%1&apos; of &apos;%2&apos;</source>
+ <translation>Modifier &apos;%1&apos; de &apos;%2&apos;</translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../tools/designer/src/lib/shared/qdesigner_propertycommand.cpp" line="1216"/>
+ <source>Changed &apos;%1&apos; of %n objects</source>
+ <translation>
+ <numerusform>Modifier &apos;%1&apos; de %n objet</numerusform>
+ <numerusform>Modifier &apos;%1&apos; de %n objets</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_propertycommand.cpp" line="1292"/>
+ <source>Reset &apos;%1&apos; of &apos;%2&apos;</source>
+ <translation>Réinitialiser &apos;%1&apos; de &apos;%2&apos;</translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../tools/designer/src/lib/shared/qdesigner_propertycommand.cpp" line="1295"/>
+ <source>Reset &apos;%1&apos; of %n objects</source>
+ <translation>
+ <numerusform>Réinitialiser &apos;%1&apos; de %n objet</numerusform>
+ <numerusform>Réinitialiser &apos;%1&apos; de %n objets</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_propertycommand.cpp" line="1384"/>
+ <source>Add dynamic property &apos;%1&apos; to &apos;%2&apos;</source>
+ <translation>Ajouter la propriété dynamique &apos;%1&apos; à &apos;%2&apos;</translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../tools/designer/src/lib/shared/qdesigner_propertycommand.cpp" line="1387"/>
+ <source>Add dynamic property &apos;%1&apos; to %n objects</source>
+ <translation>
+ <numerusform>Ajouter la propriété dynamique &apos;%1&apos; à %n objet</numerusform>
+ <numerusform>Ajouter la propriété dynamique &apos;%1&apos; à %n objets</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_propertycommand.cpp" line="1473"/>
+ <source>Remove dynamic property &apos;%1&apos; from &apos;%2&apos;</source>
+ <translation>Supprimer la propriété dynamique &apos;%1&apos; de &apos;%2&apos;</translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../tools/designer/src/lib/shared/qdesigner_propertycommand.cpp" line="1476"/>
+ <source>Remove dynamic property &apos;%1&apos; from %n objects</source>
+ <translation>
+ <numerusform>Supprimer la propriété dynamique &apos;%1&apos; de %n objet</numerusform>
+ <numerusform>Supprimer la propriété dynamique &apos;%1&apos; de %n objets</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/scriptcommand.cpp" line="55"/>
+ <source>Change script</source>
+ <translation>Modifier le script</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/signalslotdialog.cpp" line="202"/>
+ <source>Change signals/slots</source>
+ <translation>Modifier signaux/slots</translation>
+ </message>
+</context>
+<context>
+ <name>ConnectDialog</name>
+ <message>
+ <location filename="../tools/designer/src/components/signalsloteditor/connectdialog.ui" line="13"/>
+ <source>Configure Connection</source>
+ <translation>Configurer connexion</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/signalsloteditor/connectdialog.ui" line="19"/>
+ <location filename="../tools/designer/src/components/signalsloteditor/connectdialog.ui" line="59"/>
+ <source>GroupBox</source>
+ <translation>GroupBox</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/signalsloteditor/connectdialog.ui" line="34"/>
+ <location filename="../tools/designer/src/components/signalsloteditor/connectdialog.ui" line="74"/>
+ <source>Edit...</source>
+ <translation>Éditer...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/signalsloteditor/connectdialog.ui" line="99"/>
+ <source>Show signals and slots inherited from QWidget</source>
+ <translation>Afficher les signaux et slots hérités de QWidget</translation>
+ </message>
+</context>
+<context>
+ <name>ConnectionDelegate</name>
+ <message>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp" line="643"/>
+ <source>&lt;object&gt;</source>
+ <translation>&lt;objet&gt;</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp" line="661"/>
+ <source>&lt;signal&gt;</source>
+ <translation>&lt;signal&gt;</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp" line="661"/>
+ <source>&lt;slot&gt;</source>
+ <translation>&lt;slot&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>DPI_Chooser</name>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/dpi_chooser.cpp" line="69"/>
+ <source>Standard (96 x 96)</source>
+ <extracomment>Embedded device standard screen resolution</extracomment>
+ <translation>Standard (96 x 96)</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/dpi_chooser.cpp" line="71"/>
+ <source>Greenphone (179 x 185)</source>
+ <extracomment>Embedded device screen resolution</extracomment>
+ <translation>Greenphone (179 x 185)</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/dpi_chooser.cpp" line="73"/>
+ <source>High (192 x 192)</source>
+ <extracomment>Embedded device high definition screen resolution</extracomment>
+ <translatorcomment>&quot;haute resolution&quot; would be missleading</translatorcomment>
+ <translation>Grand (192 x 192)</translation>
+ </message>
+</context>
+<context>
+ <name>Designer</name>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="449"/>
+ <source>Qt Designer</source>
+ <translation>Qt Designer</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="459"/>
+ <source>This file contains top level spacers.&lt;br&gt;They have &lt;b&gt;NOT&lt;/b&gt; been saved into the form.</source>
+ <translation>Ce fichier contient des ressorts de premier niveau. &lt;br&gt;Ils ne sont &lt;b&gt;PAS&lt;/b&gt; sauvegardé dans le formulaire.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="461"/>
+ <source>Perhaps you forgot to create a layout?</source>
+ <translation>Peut-être avez-vous oublié de créer un layout ?</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="634"/>
+ <source>Invalid UI file: The root element &lt;ui&gt; is missing.</source>
+ <translation>Fichier UI invalide. L&apos;élément racine &lt;ui&gt; est manquant.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="640"/>
+ <source>An error has occurred while reading the UI file at line %1, column %2: %3</source>
+ <translation>Une erreur est survenue lors de la lecture du fichier UI à la ligne %1, colonne %2: %3</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="666"/>
+ <source>This file cannot be read because it was created using %1.</source>
+ <translation>Ce fichier ne peut pas être lu car il a été créé à l&apos;aide de %1.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="680"/>
+ <source>This file was created using Designer from Qt-%1 and cannot be read.</source>
+ <translation>Ce fichier a été créé à l&apos;aide du Designer de Qt-%1 et ne peut être lu.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="710"/>
+ <source>The converted file could not be read.</source>
+ <translation>Le fichier converti ne peut pas être lu.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="714"/>
+ <source>This file was created using Designer from Qt-%1 and will be converted to a new form by Qt Designer.</source>
+ <translation>Ce fichier a été créé par le Designer de Qt-%1 et sera converti au nouveau format par Qt Designer.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="717"/>
+ <source>The old form has not been touched, but you will have to save the form under a new name.</source>
+ <translation>L&apos;ancienne interface n&apos;a pas été modifiée, vous devez sauvergarder l&apos;interface sous un nouveau nom.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="728"/>
+ <source>This file was created using Designer from Qt-%1 and could not be read:
+%2</source>
+ <translation>Le fichier a été créé à l&apos;aide de Designer de Qt-%1 et ne peut pas être lu :
+%2</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="731"/>
+ <source>Please run it through &lt;b&gt;uic3&amp;nbsp;-convert&lt;/b&gt; to convert it to Qt-4&apos;s ui format.</source>
+ <translation>Veuillez le faire passer par &lt;b&gt;uic3&amp;nbsp;-convert&lt;/b&gt; pour le convertir au format de fichier de Qt 4.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="762"/>
+ <source>This file cannot be read because the extra info extension failed to load.</source>
+ <translation>Ce fichier ne peut pas être lu car les informations d&apos;extension n&apos;ont pu être chargées.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_utils.cpp" line="682"/>
+ <source>Unable to launch %1.</source>
+ <translation>Impossible de lancer %1.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_utils.cpp" line="686"/>
+ <source>%1 timed out.</source>
+ <translation>%1 est arrivé à échéance.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qsimpleresource.cpp" line="339"/>
+ <source>Custom Widgets</source>
+ <translation>Widgets personnalisés</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qsimpleresource.cpp" line="351"/>
+ <source>Promoted Widgets</source>
+ <translation>Widgets promus</translation>
+ </message>
+</context>
+<context>
+ <name>DesignerMetaEnum</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_utils.cpp" line="173"/>
+ <source>%1 is not a valid enumeration value of &apos;%2&apos;.</source>
+ <translation>%1 n&apos;est pas une valeur d&apos;énumeration valide de &apos;%2&apos;.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_utils.cpp" line="178"/>
+ <source>&apos;%1&apos; could not be converted to an enumeration value of type &apos;%2&apos;.</source>
+ <translation>&apos;%1&apos; ne peut pas être converti en une valeur d&apos;énumération de type &apos;%2&apos;.</translation>
+ </message>
+</context>
+<context>
+ <name>DesignerMetaFlags</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_utils.cpp" line="256"/>
+ <source>&apos;%1&apos; could not be converted to a flag value of type &apos;%2&apos;.</source>
+ <translation>&apos;%1&apos; ne peut pas être converti en un drapeau de type &apos;%2&apos;.</translation>
+ </message>
+</context>
+<context>
+ <name>DeviceProfile</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/deviceprofile.cpp" line="397"/>
+ <source>&apos;%1&apos; is not a number.</source>
+ <extracomment>Reading a number for an embedded device profile</extracomment>
+ <translation>&apos;%1&apos; n&apos;est pas un nombre.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/deviceprofile.cpp" line="420"/>
+ <source>An invalid tag &lt;%1&gt; was encountered.</source>
+ <translation>La balise invalide &lt;%1&gt; a été rencontré.</translation>
+ </message>
+</context>
+<context>
+ <name>DeviceProfileDialog</name>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/deviceprofiledialog.ui" line="20"/>
+ <source>&amp;Family</source>
+ <translation>&amp;Famille</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/deviceprofiledialog.ui" line="33"/>
+ <source>&amp;Point Size</source>
+ <translation>&amp;Taille en points</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/deviceprofiledialog.ui" line="46"/>
+ <source>Style</source>
+ <translation>Style</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/deviceprofiledialog.ui" line="59"/>
+ <source>Device DPI</source>
+ <translation>PPP/DPI de l&apos;appareil</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/deviceprofiledialog.ui" line="69"/>
+ <source>Name</source>
+ <translation>Nom</translation>
+ </message>
+</context>
+<context>
+ <name>DeviceSkin</name>
+ <message>
+ <location filename="../tools/shared/deviceskin/deviceskin.cpp" line="79"/>
+ <source>The image file &apos;%1&apos; could not be loaded.</source>
+ <translation>Le fichier image &apos;%1&apos; n&apos;a pas pu être chargé.</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/deviceskin/deviceskin.cpp" line="143"/>
+ <source>The skin directory &apos;%1&apos; does not contain a configuration file.</source>
+ <translation>Le repertoire de revêtement &apos;%1&apos; ne contient pas un fichier de configuration.</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/deviceskin/deviceskin.cpp" line="148"/>
+ <source>The skin configuration file &apos;%1&apos; could not be opened.</source>
+ <translation>Le fichier de configuration de revêtement &apos;%1&apos; ne peut pas être ouvert.</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/deviceskin/deviceskin.cpp" line="154"/>
+ <source>The skin configuration file &apos;%1&apos; could not be read: %2</source>
+ <translation>Le fichier de configuration de revêtement &apos;%1&apos; ne peut pas être lu: %2</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/deviceskin/deviceskin.cpp" line="224"/>
+ <source>Syntax error: %1</source>
+ <translation>Erreur de syntaxe : %1</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/deviceskin/deviceskin.cpp" line="245"/>
+ <source>The skin &quot;up&quot; image file &apos;%1&apos; does not exist.</source>
+ <translation>Le fichier image &quot;up&quot; de revêtement &apos;%1&apos; n&apos;existe pas.</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/deviceskin/deviceskin.cpp" line="255"/>
+ <source>The skin &quot;down&quot; image file &apos;%1&apos; does not exist.</source>
+ <translation>Le fichier image &quot;down&quot; de revêtement &apos;%1&apos; n&apos;existe pas.</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/deviceskin/deviceskin.cpp" line="266"/>
+ <source>The skin &quot;closed&quot; image file &apos;%1&apos; does not exist.</source>
+ <translation>Le fichier image &quot;closed&quot; de revêtement &apos;%1&apos; n&apos;existe pas.</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/deviceskin/deviceskin.cpp" line="278"/>
+ <source>The skin cursor image file &apos;%1&apos; does not exist.</source>
+ <translation>Le fichier image de revêtement &apos;%1&apos; n&apos;existe pas.</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/deviceskin/deviceskin.cpp" line="303"/>
+ <source>Syntax error in area definition: %1</source>
+ <translation>Erreur de syntaxe dans la zone de définition : %1</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/deviceskin/deviceskin.cpp" line="341"/>
+ <source>Mismatch in number of areas, expected %1, got %2.</source>
+ <translation>Incohérence dans le nombre de zones, %1 attendu, %2 reçu.</translation>
+ </message>
+</context>
+<context>
+ <name>EmbeddedOptionsControl</name>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/embeddedoptionspage.cpp" line="307"/>
+ <source>&lt;html&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Font&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%1, %2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Style&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Resolution&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%4 x %5&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/html&gt;</source>
+ <extracomment>Format embedded device profile description</extracomment>
+ <translation>&lt;html&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Police&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%1, %2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Style&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Résolution&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%4 x %5&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/html&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>EmbeddedOptionsPage</name>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/embeddedoptionspage.cpp" line="410"/>
+ <source>Embedded Design</source>
+ <extracomment>Tab in preferences dialog</extracomment>
+ <translation>Design pour appareil mobile</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/embeddedoptionspage.cpp" line="420"/>
+ <source>Device Profiles</source>
+ <extracomment>EmbeddedOptionsControl group box&quot;</extracomment>
+ <translation>Profils des appareils</translation>
+ </message>
+</context>
+<context>
+ <name>FontPanel</name>
+ <message>
+ <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="63"/>
+ <source>Font</source>
+ <translation>Police</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="74"/>
+ <source>&amp;Writing system</source>
+ <translation>&amp;Système d&apos;écriture</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="77"/>
+ <source>&amp;Family</source>
+ <translation>&amp;Famille</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="81"/>
+ <source>&amp;Style</source>
+ <translation>&amp;Style</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="85"/>
+ <source>&amp;Point size</source>
+ <translation>&amp;Taille en points</translation>
+ </message>
+</context>
+<context>
+ <name>FontPropertyManager</name>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/fontpropertymanager.cpp" line="62"/>
+ <source>PreferDefault</source>
+ <translation>PreferDefault</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/fontpropertymanager.cpp" line="63"/>
+ <source>NoAntialias</source>
+ <translation>NoAntialias</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/fontpropertymanager.cpp" line="64"/>
+ <source>PreferAntialias</source>
+ <translation>PreferAntialias</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/fontpropertymanager.cpp" line="125"/>
+ <source>Antialiasing</source>
+ <translation>Antialiasing</translation>
+ </message>
+</context>
+<context>
+ <name>FormBuilder</name>
+ <message>
+ <location filename="../tools/designer/src/lib/uilib/formbuilderextra.cpp" line="359"/>
+ <source>Invalid stretch value for &apos;%1&apos;: &apos;%2&apos;</source>
+ <extracomment>Parsing layout stretch values</extracomment>
+ <translation>Valeur d&apos;extension invalide pour &apos;%1&apos; : &apos;%2&apos;</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/uilib/formbuilderextra.cpp" line="421"/>
+ <source>Invalid minimum size for &apos;%1&apos;: &apos;%2&apos;</source>
+ <extracomment>Parsing grid layout minimum size values</extracomment>
+ <translation>Taille minimum invalide pour &apos;%1&apos; : &apos;%2&apos;</translation>
+ </message>
+</context>
+<context>
+ <name>FormEditorOptionsPage</name>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formeditor_optionspage.cpp" line="91"/>
+ <source>%1 %</source>
+ <translation>%1 %</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formeditor_optionspage.cpp" line="95"/>
+ <source>Preview Zoom</source>
+ <translation>Zoom de visualisation</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formeditor_optionspage.cpp" line="97"/>
+ <source>Default Zoom</source>
+ <translation>Zoom par défaut</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formeditor_optionspage.cpp" line="126"/>
+ <source>Forms</source>
+ <extracomment>Tab in preferences dialog</extracomment>
+ <translation>Formulaires</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formeditor_optionspage.cpp" line="139"/>
+ <source>Default Grid</source>
+ <translation>Grille par défaut</translation>
+ </message>
+</context>
+<context>
+ <name>FormLayoutRowDialog</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/formlayoutrowdialog.ui" line="6"/>
+ <source>Add Form Layout Row</source>
+ <translation>Ajouter une ligne de mise en page au formulaire</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/formlayoutrowdialog.ui" line="17"/>
+ <source>&amp;Label text:</source>
+ <translation>&amp;Texte du label :</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/formlayoutrowdialog.ui" line="40"/>
+ <source>Field &amp;type:</source>
+ <translation>&amp;Type du champ :</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/formlayoutrowdialog.ui" line="60"/>
+ <source>&amp;Field name:</source>
+ <translation>&amp;Nom du champ :</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/formlayoutrowdialog.ui" line="70"/>
+ <source>&amp;Buddy:</source>
+ <translatorcomment>copain c&apos;est un peu beaucoup ptet</translatorcomment>
+ <translation>&amp;Copain :</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/formlayoutrowdialog.ui" line="87"/>
+ <source>&amp;Row:</source>
+ <translation>&amp;Ligne :</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/formlayoutrowdialog.ui" line="103"/>
+ <source>Label &amp;name:</source>
+ <translation>&amp;Nom du label :</translation>
+ </message>
+</context>
+<context>
+ <name>FormWindow</name>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="1701"/>
+ <source>Unexpected element &lt;%1&gt;</source>
+ <translation>Element inattendu : &lt;%1&gt;</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="1708"/>
+ <source>Error while pasting clipboard contents at line %1, column %2: %3</source>
+ <translation>Erreur lors du collage du contenu du presse-papier à la ligne %1, colonne %2 : %3</translation>
+ </message>
+</context>
+<context>
+ <name>FormWindowSettings</name>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowsettings.ui" line="54"/>
+ <source>Form Settings</source>
+ <translation>Configuration du formulaire</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowsettings.ui" line="68"/>
+ <source>Layout &amp;Default</source>
+ <translation>Mise en page par &amp;défaut</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowsettings.ui" line="83"/>
+ <source>&amp;Spacing:</source>
+ <translation>&amp;Espacements :</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowsettings.ui" line="93"/>
+ <source>&amp;Margin:</source>
+ <translation>&amp;Marge :</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowsettings.ui" line="112"/>
+ <source>&amp;Layout Function</source>
+ <translation>&amp;Fonction de mise en page</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowsettings.ui" line="133"/>
+ <source>Ma&amp;rgin:</source>
+ <translation>Ma&amp;rge :</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowsettings.ui" line="143"/>
+ <source>Spa&amp;cing:</source>
+ <translation>Espa&amp;cement :</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowsettings.ui" line="166"/>
+ <source>&amp;Pixmap Function</source>
+ <translation>Function de &amp;pixmap</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowsettings.ui" line="219"/>
+ <source>&amp;Include Hints</source>
+ <translation>Indication d&apos;&amp;include</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowsettings.ui" line="237"/>
+ <source>Grid</source>
+ <translation>Grille</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowsettings.ui" line="244"/>
+ <source>Embedded Design</source>
+ <translation>Design pour appareil mobile</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowsettings.ui" line="260"/>
+ <source>&amp;Author</source>
+ <translation>&amp;Auteur</translation>
+ </message>
+</context>
+<context>
+ <name>IconSelector</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="352"/>
+ <source>All Pixmaps (</source>
+ <translation>Tous les pixmaps (</translation>
+ </message>
+</context>
+<context>
+ <name>ItemPropertyBrowser</name>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/itemlisteditor.cpp" line="66"/>
+ <source>XX Icon Selected off</source>
+ <extracomment>Sample string to determinate the width for the first column of the list item property browser</extracomment>
+ <translation>XX Icon Selected off</translation>
+ </message>
+</context>
+<context>
+ <name>MainWindowBase</name>
+ <message>
+ <location filename="../tools/designer/src/designer/mainwindow.cpp" line="119"/>
+ <source>Main</source>
+ <extracomment>Not currently used (main tool bar)</extracomment>
+ <translation>Principal</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/mainwindow.cpp" line="125"/>
+ <source>File</source>
+ <translation>Fichier</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/mainwindow.cpp" line="126"/>
+ <source>Edit</source>
+ <translation>Édition</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/mainwindow.cpp" line="127"/>
+ <source>Tools</source>
+ <translation>Outils</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/mainwindow.cpp" line="128"/>
+ <source>Form</source>
+ <translation>Formulaire</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/mainwindow.cpp" line="135"/>
+ <source>Qt Designer</source>
+ <translation>Qt Designer</translation>
+ </message>
+</context>
+<context>
+ <name>NewForm</name>
+ <message>
+ <location filename="../tools/designer/src/designer/newform.cpp" line="78"/>
+ <source>Show this Dialog on Startup</source>
+ <translation>Afficher cette boîte de dialogue au démarrage</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/newform.cpp" line="79"/>
+ <source>C&amp;reate</source>
+ <translation>C&amp;réer</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/newform.cpp" line="80"/>
+ <source>Recent</source>
+ <translation>Récent</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/newform.cpp" line="83"/>
+ <source>New Form</source>
+ <translation>Nouveau formulaire</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/newform.cpp" line="112"/>
+ <source>&amp;Close</source>
+ <translation>&amp;Fermer</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/newform.cpp" line="115"/>
+ <source>&amp;Open...</source>
+ <translation>&amp;Ouvrir...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/newform.cpp" line="119"/>
+ <source>&amp;Recent Forms</source>
+ <translation>&amp;Formulaires récents</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/newform.cpp" line="183"/>
+ <source>Read error</source>
+ <translation>Erreur de lecture</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/newform.cpp" line="206"/>
+ <source>A temporary form file could not be created in %1.</source>
+ <translation>Un fichier temporaire de formulaire n&apos;a pas pu être créé dans %1.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/newform.cpp" line="212"/>
+ <source>The temporary form file %1 could not be written.</source>
+ <translation>Le fichier temporaire de formulaire %1 n&apos;a pas pu être écrit.</translation>
+ </message>
+</context>
+<context>
+ <name>ObjectInspectorModel</name>
+ <message>
+ <location filename="../tools/designer/src/components/objectinspector/objectinspectormodel.cpp" line="360"/>
+ <source>Object</source>
+ <translation>Objet</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/objectinspector/objectinspectormodel.cpp" line="361"/>
+ <source>Class</source>
+ <translation>Classe</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/objectinspector/objectinspectormodel.cpp" line="396"/>
+ <source>separator</source>
+ <translation>séparateur</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/objectinspector/objectinspectormodel.cpp" line="494"/>
+ <source>&lt;noname&gt;</source>
+ <translation>&lt;sans nom&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>ObjectNameDialog</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_taskmenu.cpp" line="158"/>
+ <source>Change Object Name</source>
+ <translation>Modifier le nom de l&apos;objet</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_taskmenu.cpp" line="162"/>
+ <source>Object Name</source>
+ <translation>Nom de l&apos;objet</translation>
+ </message>
+</context>
+<context>
+ <name>PluginDialog</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/plugindialog.ui" line="54"/>
+ <source>Plugin Information</source>
+ <translation>Information du plugin</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/plugindialog.ui" line="80"/>
+ <source>1</source>
+ <translation>1</translation>
+ </message>
+</context>
+<context>
+ <name>PreferencesDialog</name>
+ <message>
+ <location filename="../tools/designer/src/designer/preferencesdialog.ui" line="20"/>
+ <source>Preferences</source>
+ <translation>Préférences</translation>
+ </message>
+</context>
+<context>
+ <name>PreviewConfigurationWidget</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/previewconfigurationwidget.ui" line="5"/>
+ <source>Form</source>
+ <translation>Formulaire</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/previewconfigurationwidget.ui" line="8"/>
+ <source>Print/Preview Configuration</source>
+ <translation>Configuration d&apos;impression/prévisualisation</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/previewconfigurationwidget.ui" line="17"/>
+ <source>Style</source>
+ <translation>Style</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/previewconfigurationwidget.ui" line="27"/>
+ <source>Style sheet</source>
+ <translation>Feuille de style</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/previewconfigurationwidget.ui" line="46"/>
+ <location filename="../tools/designer/src/lib/shared/previewconfigurationwidget.ui" line="53"/>
+ <location filename="../tools/designer/src/lib/shared/previewconfigurationwidget.ui" line="74"/>
+ <source>...</source>
+ <translation>...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/previewconfigurationwidget.ui" line="62"/>
+ <source>Device skin</source>
+ <translation>Revêtement de l&apos;appareil</translation>
+ </message>
+</context>
+<context>
+ <name>PromotionModel</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/promotionmodel.cpp" line="112"/>
+ <source>Not used</source>
+ <extracomment>Usage of promoted widgets</extracomment>
+ <translation>Non utilisé</translation>
+ </message>
+</context>
+<context>
+ <name>Q3WizardContainer</name>
+ <message>
+ <location filename="../tools/designer/src/plugins/widgets/q3wizard/q3wizard_container.cpp" line="172"/>
+ <location filename="../tools/designer/src/plugins/widgets/q3wizard/q3wizard_container.cpp" line="177"/>
+ <source>Page</source>
+ <translation>Page</translation>
+ </message>
+</context>
+<context>
+ <name>QAbstractFormBuilder</name>
+ <message>
+ <location filename="../tools/designer/src/lib/uilib/abstractformbuilder.cpp" line="206"/>
+ <source>Unexpected element &lt;%1&gt;</source>
+ <translation>Élément imprévu &lt;%1&gt;</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/uilib/abstractformbuilder.cpp" line="211"/>
+ <source>An error has occurred while reading the UI file at line %1, column %2: %3</source>
+ <translation>Une erreur s&apos;est produite lors de la lecture du fichier UI à la ligne %1, colonne %2 : %3</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/uilib/abstractformbuilder.cpp" line="217"/>
+ <source>Invalid UI file: The root element &lt;ui&gt; is missing.</source>
+ <translation>Fichier UI invalide : l&apos;élément racine &lt;ui&gt; est manquant.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/uilib/abstractformbuilder.cpp" line="336"/>
+ <source>The creation of a widget of the class &apos;%1&apos; failed.</source>
+ <translation>La création d&apos;un widget de la classe &apos;%1&apos; a échoué.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/uilib/abstractformbuilder.cpp" line="632"/>
+ <source>Attempt to add child that is not of class QWizardPage to QWizard.</source>
+ <translation>Tentative d&apos;ajout d&apos;enfant qui n&apos;est pas de la classe QWizardPage à QWizard.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/uilib/abstractformbuilder.cpp" line="718"/>
+ <source>Attempt to add a layout to a widget &apos;%1&apos; (%2) which already has a layout of non-box type %3.
+This indicates an inconsistency in the ui-file.</source>
+ <translation>Tentative d&apos;ajout d&apos;un layout au widget &apos;%1&apos; (%2) qui a déjà un layout dont le type n&apos;est pas boîte %3.
+Ceci indique une incohérence dans le fichier ui.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/uilib/abstractformbuilder.cpp" line="862"/>
+ <source>Empty widget item in %1 &apos;%2&apos;.</source>
+ <translation>Widget vide dans %1 &apos;%2&apos;.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/uilib/abstractformbuilder.cpp" line="1542"/>
+ <source>Flags property are not supported yet.</source>
+ <translation>Les propriétés de type drapeau ne sont pas supportées.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/uilib/abstractformbuilder.cpp" line="1623"/>
+ <source>While applying tab stops: The widget &apos;%1&apos; could not be found.</source>
+ <translation>Lors de l&apos;application des arrêts de tabulation : le widget &apos;%1&apos; ne peut pas être trouvé.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/uilib/abstractformbuilder.cpp" line="2531"/>
+ <source>Invalid QButtonGroup reference &apos;%1&apos; referenced by &apos;%2&apos;.</source>
+ <translation>Référence invalide &apos;%1&apos; à QButtonGroup, référencé par &apos;%2&apos;.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/uilib/abstractformbuilder.cpp" line="3042"/>
+ <source>This version of the uitools library is linked without script support.</source>
+ <translation>Cette version de la bibliothèque uitools n&apos;a pas le support des scripts.</translation>
+ </message>
+</context>
+<context>
+ <name>QAxWidgetPlugin</name>
+ <message>
+ <location filename="../tools/designer/src/plugins/activeqt/qaxwidgetplugin.cpp" line="75"/>
+ <source>ActiveX control</source>
+ <translation>Control ActiveX</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/plugins/activeqt/qaxwidgetplugin.cpp" line="80"/>
+ <source>ActiveX control widget</source>
+ <translation>Widget control ActiveX</translation>
+ </message>
+</context>
+<context>
+ <name>QAxWidgetTaskMenu</name>
+ <message>
+ <location filename="../tools/designer/src/plugins/activeqt/qaxwidgettaskmenu.cpp" line="119"/>
+ <source>Set Control</source>
+ <translation>Définir le contrôle</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/plugins/activeqt/qaxwidgettaskmenu.cpp" line="120"/>
+ <source>Reset Control</source>
+ <translation>Réinitialiser le contrôle</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/plugins/activeqt/qaxwidgettaskmenu.cpp" line="161"/>
+ <source>Licensed Control</source>
+ <translation>Contrôle licencié</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/plugins/activeqt/qaxwidgettaskmenu.cpp" line="162"/>
+ <source>The control requires a design-time license</source>
+ <translation>Le contrôle requiert une license par interface</translation>
+ </message>
+</context>
+<context>
+ <name>QCoreApplication</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_promotion.cpp" line="83"/>
+ <source>%1 is not a promoted class.</source>
+ <translation>%1 n&apos;est pas une classe promue.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_promotion.cpp" line="148"/>
+ <source>The base class %1 is invalid.</source>
+ <translation>La classe de base %1 est invalide.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_promotion.cpp" line="155"/>
+ <source>The class %1 already exists.</source>
+ <translation>La classe %1 existe déjà.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_promotion.cpp" line="164"/>
+ <source>Promoted Widgets</source>
+ <translation>Widgets promus</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_promotion.cpp" line="290"/>
+ <source>The class %1 cannot be removed</source>
+ <translation>La classe %1 ne peut pas être retirée</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_promotion.cpp" line="299"/>
+ <source>The class %1 cannot be removed because it is still referenced.</source>
+ <translation>La classe %1 ne peut pas être retirée car elle est toujours référencée.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_promotion.cpp" line="309"/>
+ <source>The class %1 cannot be renamed</source>
+ <translation>La classe %1 ne peut pas être renommée</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_promotion.cpp" line="316"/>
+ <source>The class %1 cannot be renamed to an empty name.</source>
+ <translation>La classe %1 ne peut pas être renommé avec un nom vide.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_promotion.cpp" line="321"/>
+ <source>There is already a class named %1.</source>
+ <translation>Une classe existe déjà avec le nom %1.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_promotion.cpp" line="350"/>
+ <source>Cannot set an empty include file.</source>
+ <translation>Impossible de créer un fichier include vide.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/uilib/formscriptrunner.cpp" line="88"/>
+ <source>Exception at line %1: %2</source>
+ <translation>Exception à la ligne %1 : %2</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/uilib/formscriptrunner.cpp" line="124"/>
+ <source>Unknown error</source>
+ <translation>Erreur inconnue</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/uilib/formscriptrunner.cpp" line="174"/>
+ <source>An error occurred while running the script for %1: %2
+Script: %3</source>
+ <translation>Une erreur s&apos;est produite lors de l&apos;exécution du script de %1 : %2
+Script : %3</translation>
+ </message>
+</context>
+<context>
+ <name>QDesigner</name>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner.cpp" line="141"/>
+ <source>%1 - warning</source>
+ <translation>Avertissement - %1</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner.cpp" line="237"/>
+ <source>Qt Designer</source>
+ <translation>Qt Designer</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner.cpp" line="238"/>
+ <source>This application cannot be used for the Console edition of Qt</source>
+ <translation>Cette application ne peut pas être utilisée avec l&apos;édition console de Qt</translation>
+ </message>
+</context>
+<context>
+ <name>QDesignerActions</name>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="128"/>
+ <source>Saved %1.</source>
+ <translation>%1 sauvé.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="154"/>
+ <source>%1 already exists.
+Do you want to replace it?</source>
+ <translation>%1 existe déjà.
+Voulez-vous le remplacer ?</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="178"/>
+ <source>Edit Widgets</source>
+ <translation>Éditer les widgets</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="179"/>
+ <source>&amp;New...</source>
+ <translation>&amp;Nouveau...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="180"/>
+ <source>&amp;Open...</source>
+ <translation>&amp;Ouvrir...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="181"/>
+ <source>&amp;Save</source>
+ <translation>&amp;Enregistrer</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="182"/>
+ <source>Save &amp;As...</source>
+ <translation>Enregistrer &amp;sous...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="183"/>
+ <source>Save A&amp;ll</source>
+ <translation>Enregistrer &amp;tout</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="184"/>
+ <source>Save As &amp;Template...</source>
+ <translation>Sauver comme &amp;modèle...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="185"/>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="1086"/>
+ <source>&amp;Close</source>
+ <translation>&amp;Fermer</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="186"/>
+ <source>Save &amp;Image...</source>
+ <translation>Enregistrer &amp;image...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="187"/>
+ <source>&amp;Print...</source>
+ <translation>Im&amp;primer...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="188"/>
+ <source>&amp;Quit</source>
+ <translation>&amp;Quitter</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="190"/>
+ <source>View &amp;Code...</source>
+ <translation>&amp;Visualizer le code...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="191"/>
+ <source>&amp;Minimize</source>
+ <translation>&amp;Minimiser</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="193"/>
+ <source>Bring All to Front</source>
+ <translation>Amener tout au premier plan</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="195"/>
+ <source>Preferences...</source>
+ <translation>Préférences...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="196"/>
+ <source>Additional Fonts...</source>
+ <translation>Polices additionnelles...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="258"/>
+ <source>ALT+CTRL+S</source>
+ <translation>ALT+CTRL+S</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="260"/>
+ <source>CTRL+SHIFT+S</source>
+ <translation>CTRL+SHIFT+S</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="373"/>
+ <source>CTRL+R</source>
+ <translation>CTRL+R</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="391"/>
+ <source>CTRL+M</source>
+ <translation>CTRL+M</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="422"/>
+ <source>Qt Designer &amp;Help</source>
+ <translation>&amp;Aide de Qt Designer</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="429"/>
+ <source>Current Widget Help</source>
+ <translation>Aide du widget courant</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="436"/>
+ <source>What&apos;s New in Qt Designer?</source>
+ <translation>Quoi de neuf dans Qt Designer ?</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="443"/>
+ <source>About Plugins</source>
+ <translation>À propos des plugins</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="449"/>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="1050"/>
+ <source>About Qt Designer</source>
+ <translation>À propos de Qt Designer</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="455"/>
+ <source>About Qt</source>
+ <translation>À propos de Qt</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="493"/>
+ <source>Clear &amp;Menu</source>
+ <translation>Réinitialiser le &amp;menu</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="499"/>
+ <source>&amp;Recent Forms</source>
+ <translation>Formulaires &amp;récents</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="576"/>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="773"/>
+ <source>Open Form</source>
+ <translation>Ouvrir le formulaire</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="577"/>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="614"/>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="774"/>
+ <source>Designer UI files (*.%1);;All Files (*)</source>
+ <translation>Fichier UI de Qt Designer (*.%1);;Tous les fichiers(*)</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="614"/>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="862"/>
+ <source>Save Form As</source>
+ <translation>Enregistrer le formulaire sous</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="701"/>
+ <source>Designer</source>
+ <translation>Designer</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="701"/>
+ <source>Feature not implemented yet!</source>
+ <translation>Cette fonctionnalité n&apos;est pas encore implémentée !</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="716"/>
+ <source>Code generation failed</source>
+ <translation>La génération du code à échoué</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="760"/>
+ <source>Read error</source>
+ <translation>Erreur de lecture</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="761"/>
+ <source>%1
+Do you want to update the file location or generate a new form?</source>
+ <translation>%1
+Voulez vous mettre à jour l&apos;emplacement du fichier ou générer un nouveau formulaire ?</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="764"/>
+ <source>&amp;Update</source>
+ <translation>&amp;Mettre à jour</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="765"/>
+ <source>&amp;New Form</source>
+ <translation>&amp;Nouveau formulaire</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="842"/>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="882"/>
+ <source>Save Form?</source>
+ <translation>Sauver le formulaire ?</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="843"/>
+ <source>Could not open file</source>
+ <translation>Impossible d&apos;ouvrir le fichier</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="847"/>
+ <source>The file %1 could not be opened.
+Reason: %2
+Would you like to retry or select a different file?</source>
+ <translation>Le fichier %1 ne peut pas être ouvert.
+Raison : %2
+Voulez-vous réessayer ou sélectionner un fichier différent ?</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="853"/>
+ <source>Select New File</source>
+ <translation>Sélectionner un nouveau fichier</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="883"/>
+ <source>Could not write file</source>
+ <translation>Impossible d&apos;écrire le fichier</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="886"/>
+ <source>It was not possible to write the entire file %1 to disk.
+Reason:%2
+Would you like to retry?</source>
+ <translation>Il n&apos;a pas été possible d&apos;écrire l&apos;intégralité du fichier %1 sur le disque.
+Raison : %2
+Voulez-vous réessayer ?</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="1044"/>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="1078"/>
+ <source>Assistant</source>
+ <translation>Assistant</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="1084"/>
+ <source>&amp;Close Preview</source>
+ <translation>&amp;Fermer la prévisualisation</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="1125"/>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="1148"/>
+ <source>The backup file %1 could not be written.</source>
+ <translation>Le fichier de backup %1 n&apos;a pas pu être écrit.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="1255"/>
+ <source>The backup directory %1 could not be created.</source>
+ <translation>Le dossier de backup %1 n&apos;a pas pu être créé.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="1261"/>
+ <source>The temporary backup directory %1 could not be created.</source>
+ <translation>Le dossier temporaire de backup %1 n&apos;a pas pu être créé.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="1291"/>
+ <source>Preview failed</source>
+ <translation>La prévisualisation a échoué</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="1315"/>
+ <source>Image files (*.%1)</source>
+ <translation>Fichiers image (*.%1)</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="1324"/>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="1341"/>
+ <source>Save Image</source>
+ <translation>Sauver image</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="1337"/>
+ <source>Saved image %1.</source>
+ <translation>Image %1 sauvée.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="1342"/>
+ <source>The file %1 could not be written.</source>
+ <translation>Le fichier %1 n&apos;a pas pu être écrit.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="1355"/>
+ <source>Please close all forms to enable the loading of additional fonts.</source>
+ <translation>Veuillez fermer tous les formulaires pour activer le chargement de polices additionnelles.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="1407"/>
+ <source>Printed %1.</source>
+ <translation>Impression de %1 terminée.</translation>
+ </message>
+</context>
+<context>
+ <name>QDesignerAppearanceOptionsPage</name>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_appearanceoptions.cpp" line="138"/>
+ <source>Appearance</source>
+ <extracomment>Tab in preferences dialog</extracomment>
+ <translation>Apparence</translation>
+ </message>
+</context>
+<context>
+ <name>QDesignerAppearanceOptionsWidget</name>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_appearanceoptions.cpp" line="85"/>
+ <source>Docked Window</source>
+ <translation>Fenêtre ancrable</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_appearanceoptions.cpp" line="86"/>
+ <source>Multiple Top-Level Windows</source>
+ <translation>Fenêtres multiples</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_appearanceoptions.cpp" line="91"/>
+ <source>Toolwindow Font</source>
+ <translation>Police des fenêtre d&apos;outils</translation>
+ </message>
+</context>
+<context>
+ <name>QDesignerAxWidget</name>
+ <message>
+ <location filename="../tools/designer/src/plugins/activeqt/qaxwidgettaskmenu.cpp" line="91"/>
+ <source>Reset control</source>
+ <translation>Réinitialiser les contrôles</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/plugins/activeqt/qaxwidgettaskmenu.cpp" line="93"/>
+ <source>Set control</source>
+ <translation>Définir les contrôles</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/plugins/activeqt/qdesigneraxwidget.cpp" line="179"/>
+ <source>Control loaded</source>
+ <translation>Contrôle chargé</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/plugins/activeqt/qdesigneraxwidget.cpp" line="219"/>
+ <source>A COM exception occurred when executing a meta call of type %1, index %2 of &quot;%3&quot;.</source>
+ <translation>Une exception COM a été levée lors de l&apos;execution du meta-appel de type %1, indice %2 de &quot;%3&quot;.</translation>
+ </message>
+</context>
+<context>
+ <name>QDesignerFormBuilder</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_formbuilder.cpp" line="89"/>
+ <source>Script errors occurred:</source>
+ <translation>Erreurs du script :</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_formbuilder.cpp" line="396"/>
+ <source>The preview failed to build.</source>
+ <translation>La construction de la prévisualisation a échoué.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_formbuilder.cpp" line="461"/>
+ <source>Designer</source>
+ <translation>Designer</translation>
+ </message>
+</context>
+<context>
+ <name>QDesignerFormWindow</name>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_formwindow.cpp" line="217"/>
+ <source>%1 - %2[*]</source>
+ <translation>%1 - %2[*]</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_formwindow.cpp" line="227"/>
+ <source>Save Form?</source>
+ <translation>Enregistrer le formulaire ?</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_formwindow.cpp" line="228"/>
+ <source>Do you want to save the changes to this document before closing?</source>
+ <translation>Voulez-vous enregistrer les changements de ce document avant de le fermer ?</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_formwindow.cpp" line="230"/>
+ <source>If you don&apos;t save, your changes will be lost.</source>
+ <translation>Si vous ne sauvegardez pas, les changements seront perdus.</translation>
+ </message>
+</context>
+<context>
+ <name>QDesignerMenu</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="106"/>
+ <source>Type Here</source>
+ <translation>Taper ici</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="109"/>
+ <source>Add Separator</source>
+ <translation>Ajouter séparateur</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="480"/>
+ <source>Insert separator</source>
+ <translation>Insérer séparateur</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="485"/>
+ <source>Remove separator</source>
+ <translation>Retirer séparateur</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="487"/>
+ <source>Remove action &apos;%1&apos;</source>
+ <translation>Supprimer l&apos;action &apos;%1&apos;</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="512"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="1162"/>
+ <source>Add separator</source>
+ <translation>Ajouter séparateur</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="814"/>
+ <source>Insert action</source>
+ <translation>Insérer action</translation>
+ </message>
+</context>
+<context>
+ <name>QDesignerMenuBar</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menubar.cpp" line="110"/>
+ <source>Type Here</source>
+ <translation>Taper ici</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menubar.cpp" line="408"/>
+ <source>Remove Menu &apos;%1&apos;</source>
+ <translation>Supprimer menu &apos;%1&apos;</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menubar.cpp" line="420"/>
+ <source>Remove Menu Bar</source>
+ <translation>Supprimer barre de menu</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menubar.cpp" line="490"/>
+ <source>Menu</source>
+ <translation>Menu</translation>
+ </message>
+</context>
+<context>
+ <name>QDesignerPluginManager</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/pluginmanager.cpp" line="271"/>
+ <source>An XML error was encountered when parsing the XML of the custom widget %1: %2</source>
+ <translation>Une erreur XML a été rencontrée lors de l&apos;analyse grammaticale du XML provenant du widget personnalisé %1 : %2</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/pluginmanager.cpp" line="276"/>
+ <source>A required attribute (&apos;%1&apos;) is missing.</source>
+ <translation>Un attribut obligatoire (&apos;%1&apos;) est manquant.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/pluginmanager.cpp" line="314"/>
+ <source>An invalid property specification (&apos;%1&apos;) was encountered. Supported types: %2</source>
+ <translation>Une spécification invalide de propriété (&apos;%1&apos;) a été rencontrée. Types supportés : %2</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/pluginmanager.cpp" line="334"/>
+ <source>&apos;%1&apos; is not a valid string property specification.</source>
+ <translation>&apos;%1&apos; n&apos;est pas une spécification valide de propriété chaîne de caractères.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/pluginmanager.cpp" line="374"/>
+ <source>The XML of the custom widget %1 does not contain any of the elements &lt;widget&gt; or &lt;ui&gt;.</source>
+ <translation>Le XML du widget personnalisé %1 ne contient aucun des éléments &lt;widget&gt; ou &lt;ui&gt;.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/pluginmanager.cpp" line="386"/>
+ <source>The class attribute for the class %1 is missing.</source>
+ <translation>L&apos;attribut de classe est manquant pour la classe %1.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/pluginmanager.cpp" line="390"/>
+ <source>The class attribute for the class %1 does not match the class name %2.</source>
+ <translation>L&apos;attribut de classe pour la classe %1 ne correspond pas au nom de la classe %2.</translation>
+ </message>
+</context>
+<context>
+ <name>QDesignerPropertySheet</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_propertysheet.cpp" line="754"/>
+ <source>Dynamic Properties</source>
+ <translation>Propriétés dynamiques</translation>
+ </message>
+</context>
+<context>
+ <name>QDesignerResource</name>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="1223"/>
+ <source>The layout type &apos;%1&apos; is not supported, defaulting to grid.</source>
+ <translation>Le type de layout &apos;%1&apos; n&apos;est pas supporté, replacement par une grille.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="1466"/>
+ <source>The container extension of the widget &apos;%1&apos; (%2) returned a widget not managed by Designer &apos;%3&apos; (%4) when queried for page #%5.
+Container pages should only be added by specifying them in XML returned by the domXml() method of the custom widget.</source>
+ <translation>L&apos;extension du widget &apos;%1&apos; (%2) a retourné un widget non géré par Designer &apos;%3&apos; (%4) lors de la requête pour la page #%5.
+Les pages du conteneur ne devraient être ajoutées que par spécification dans le XML retourné par la méthode domXml() du widget personnalisé.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="2065"/>
+ <source>Unexpected element &lt;%1&gt;</source>
+ <extracomment>Parsing clipboard contents</extracomment>
+ <translation>Élément inattendu &lt;%1&gt;</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="2071"/>
+ <source>Error while pasting clipboard contents at line %1, column %2: %3</source>
+ <extracomment>Parsing clipboard contents</extracomment>
+ <translation>Erreur lors du collage du contenu du presse-papier à la ligne %1, colonne %2 : %3</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="2077"/>
+ <source>Error while pasting clipboard contents: The root element &lt;ui&gt; is missing.</source>
+ <extracomment>Parsing clipboard contents</extracomment>
+ <translation>Erreur lors du collage du contenu du presse-papier. L&apos;élément racine &lt;ui&gt; est manquant.</translation>
+ </message>
+</context>
+<context>
+ <name>QDesignerSharedSettings</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/shared_settings.cpp" line="83"/>
+ <source>The template path %1 could not be created.</source>
+ <translation>Le chemin du modèle %1 n&apos;a pas pu être créé.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/shared_settings.cpp" line="267"/>
+ <source>An error has been encountered while parsing device profile XML: %1</source>
+ <translation>Une erreur a été rencontrée lors de l&apos;analyse grammaticale du XML du profil de l&apos;appareil : %1</translation>
+ </message>
+</context>
+<context>
+ <name>QDesignerToolWindow</name>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_toolwindow.cpp" line="190"/>
+ <source>Property Editor</source>
+ <translation>Éditeur de propriétés</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_toolwindow.cpp" line="244"/>
+ <source>Action Editor</source>
+ <translation>Éditeur d&apos;actions</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_toolwindow.cpp" line="286"/>
+ <source>Object Inspector</source>
+ <translation>Inspecteur d&apos;objet</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_toolwindow.cpp" line="321"/>
+ <source>Resource Browser</source>
+ <translatorcomment>plural</translatorcomment>
+ <translation>Explorateur de ressources</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_toolwindow.cpp" line="355"/>
+ <source>Signal/Slot Editor</source>
+ <translation>Éditeur de signaux et slots</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_toolwindow.cpp" line="396"/>
+ <source>Widget Box</source>
+ <translation>Boîte de widget</translation>
+ </message>
+</context>
+<context>
+ <name>QDesignerWorkbench</name>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_workbench.cpp" line="199"/>
+ <source>&amp;File</source>
+ <translation>&amp;Fichier</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_workbench.cpp" line="201"/>
+ <source>Edit</source>
+ <translation>Édition</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_workbench.cpp" line="205"/>
+ <source>F&amp;orm</source>
+ <translation>F&amp;ormulaire</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_workbench.cpp" line="206"/>
+ <source>Preview in</source>
+ <translation>Prévisualisation avec</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_workbench.cpp" line="210"/>
+ <source>&amp;View</source>
+ <translation>Afficha&amp;ge</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_workbench.cpp" line="212"/>
+ <source>&amp;Settings</source>
+ <translation>&amp;Configuration</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_workbench.cpp" line="214"/>
+ <source>&amp;Window</source>
+ <translation>Fe&amp;nêtre</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_workbench.cpp" line="216"/>
+ <source>&amp;Help</source>
+ <translation>&amp;Aide</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_workbench.cpp" line="239"/>
+ <source>Toolbars</source>
+ <translation>Barre d&apos;outils</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_workbench.cpp" line="416"/>
+ <source>Widget Box</source>
+ <translation>Boîte de widget</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_workbench.cpp" line="704"/>
+ <source>Save Forms?</source>
+ <translation>Enregistrer les formulaires ?</translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../tools/designer/src/designer/qdesigner_workbench.cpp" line="705"/>
+ <source>There are %n forms with unsaved changes. Do you want to review these changes before quitting?</source>
+ <translation>
+ <numerusform>Il y a %n formulaire avec des changements non-enregistrés. Voulez-vous vérifier les changements avant de quitter?</numerusform>
+ <numerusform>Il y a %n formulaires avec des changements non-enregistrés. Voulez-vous vérifier les changements avant de quitter?</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_workbench.cpp" line="708"/>
+ <source>If you do not review your documents, all your changes will be lost.</source>
+ <translation>Si vous ne vérifiez pas vos documents, tous les changements seront perdus.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_workbench.cpp" line="709"/>
+ <source>Discard Changes</source>
+ <translation>Abandonner les changements</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_workbench.cpp" line="711"/>
+ <source>Review Changes</source>
+ <translation>Vérifier les changements</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_workbench.cpp" line="806"/>
+ <source>Backup Information</source>
+ <translation>Informations de sauvegarde</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_workbench.cpp" line="807"/>
+ <source>The last session of Designer was not terminated correctly. Backup files were left behind. Do you want to load them?</source>
+ <translation>La dernière session de Designer n&apos;a pas été fermée correctement. Des fichiers de sauvegarde existent. Voulez-vous les charger ?</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_workbench.cpp" line="918"/>
+ <source>The file &lt;b&gt;%1&lt;/b&gt; could not be opened.</source>
+ <translation>Le fichier &lt;b&gt;%1&lt;/b&gt; n&apos;a pas pu être ouvert.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/qdesigner_workbench.cpp" line="964"/>
+ <source>The file &lt;b&gt;%1&lt;/b&gt; is not a valid Designer UI file.</source>
+ <translation>Le fichier &lt;b&gt;%1&lt;/b&gt; n&apos;est pas un fichier valide d&apos;UI de Designer.</translation>
+ </message>
+</context>
+<context>
+ <name>QFormBuilder</name>
+ <message>
+ <location filename="../tools/designer/src/lib/uilib/formbuilder.cpp" line="163"/>
+ <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</extracomment>
+ <translation>Un nom de classe vide a été passé à %1 (nom d&apos;objet &apos;%2&apos;).</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/uilib/formbuilder.cpp" line="219"/>
+ <source>QFormBuilder was unable to create a custom widget of the class &apos;%1&apos;; defaulting to base class &apos;%2&apos;.</source>
+ <translation>QFormBuilder n&apos;a pas pu créer le widget personnalisé de classe &apos;%1&apos;; passage à la classe de base &apos;%2&apos;.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/uilib/formbuilder.cpp" line="225"/>
+ <source>QFormBuilder was unable to create a widget of the class &apos;%1&apos;.</source>
+ <translation>QFormBuilder n&apos;a pas pu créer un widget de classe &apos;%1&apos;.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/uilib/formbuilder.cpp" line="286"/>
+ <source>The layout type `%1&apos; is not supported.</source>
+ <translation>Le type de layout &apos;%1&apos; n&apos;est pas supporté.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/uilib/properties.cpp" line="106"/>
+ <source>The set-type property %1 could not be read.</source>
+ <translation>Le type du setteur de propriété %1 n&apos;a pas pu être lu.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/uilib/properties.cpp" line="129"/>
+ <source>The enumeration-type property %1 could not be read.</source>
+ <translation>Le type d&apos;énumeration de propriété %1 n&apos;a pas pu être lu.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/uilib/properties.cpp" line="319"/>
+ <source>Reading properties of the type %1 is not supported yet.</source>
+ <translation>La lecture des propriétés de type %1 n&apos;est pas supporté.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/uilib/properties.cpp" line="585"/>
+ <source>The property %1 could not be written. The type %2 is not supported yet.</source>
+ <translation>La propriété %1 ne peut pas être écrite. Le type %2 n&apos;est pas encore supporté.</translation>
+ </message>
+</context>
+<context>
+ <name>QStackedWidgetEventFilter</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_stackedbox.cpp" line="194"/>
+ <source>Previous Page</source>
+ <translation>Page précédente</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_stackedbox.cpp" line="195"/>
+ <source>Next Page</source>
+ <translation>Page suivante</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_stackedbox.cpp" line="196"/>
+ <source>Delete</source>
+ <translation>Supprimer</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_stackedbox.cpp" line="197"/>
+ <source>Before Current Page</source>
+ <translation>Avant la page courante</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_stackedbox.cpp" line="198"/>
+ <source>After Current Page</source>
+ <translation>Après la page courante</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_stackedbox.cpp" line="199"/>
+ <source>Change Page Order...</source>
+ <translation>Modifier l&apos;ordre des pages...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_stackedbox.cpp" line="271"/>
+ <source>Change Page Order</source>
+ <translation>Modifier l&apos;ordre des pages</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_stackedbox.cpp" line="320"/>
+ <source>Page %1 of %2</source>
+ <translation>Page %1 de %2</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_stackedbox.cpp" line="330"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_stackedbox.cpp" line="334"/>
+ <source>Insert Page</source>
+ <translation>Insérer page</translation>
+ </message>
+</context>
+<context>
+ <name>QStackedWidgetPreviewEventFilter</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_stackedbox.cpp" line="181"/>
+ <source>Go to previous page of %1 &apos;%2&apos; (%3/%4).</source>
+ <translation>Aller à la page précédente de %1 &apos;%2&apos; (%3/%4).</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_stackedbox.cpp" line="185"/>
+ <source>Go to next page of %1 &apos;%2&apos; (%3/%4).</source>
+ <translation>Aller à la page suivante de %1 &apos;%2&apos; (%3/%4).</translation>
+ </message>
+</context>
+<context>
+ <name>QTabWidgetEventFilter</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_tabwidget.cpp" line="89"/>
+ <source>Delete</source>
+ <translation>Supprimer</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_tabwidget.cpp" line="90"/>
+ <source>Before Current Page</source>
+ <translation>Avant la page courante</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_tabwidget.cpp" line="91"/>
+ <source>After Current Page</source>
+ <translation>Après la page courante</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_tabwidget.cpp" line="374"/>
+ <source>Page %1 of %2</source>
+ <translation>Page %1 de %2</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_tabwidget.cpp" line="384"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_tabwidget.cpp" line="388"/>
+ <source>Insert Page</source>
+ <translation>Insérer page</translation>
+ </message>
+</context>
+<context>
+ <name>QToolBoxHelper</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_toolbox.cpp" line="64"/>
+ <source>Delete Page</source>
+ <translation>Supprimer page</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_toolbox.cpp" line="65"/>
+ <source>Before Current Page</source>
+ <translation>Avant la page courante</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_toolbox.cpp" line="66"/>
+ <source>After Current Page</source>
+ <translation>Après la page courante</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_toolbox.cpp" line="67"/>
+ <source>Change Page Order...</source>
+ <translation>Modifier l&apos;ordre des pages...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_toolbox.cpp" line="183"/>
+ <source>Change Page Order</source>
+ <translation>Modifier l&apos;ordre de pages</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_toolbox.cpp" line="227"/>
+ <source>Page %1 of %2</source>
+ <translation>Page %1 de %2</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_toolbox.cpp" line="239"/>
+ <source>Insert Page</source>
+ <translation>Insérer page</translation>
+ </message>
+</context>
+<context>
+ <name>QtBoolEdit</name>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="226"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="236"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="261"/>
+ <source>True</source>
+ <translation>Vrai</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="236"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="261"/>
+ <source>False</source>
+ <translation>Faux</translation>
+ </message>
+</context>
+<context>
+ <name>QtBoolPropertyManager</name>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="1469"/>
+ <source>True</source>
+ <translation>Vrai</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="1470"/>
+ <source>False</source>
+ <translation>Faux</translation>
+ </message>
+</context>
+<context>
+ <name>QtCharEdit</name>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qteditorfactory.cpp" line="1581"/>
+ <source>Clear Char</source>
+ <translation>Effacer caractère</translation>
+ </message>
+</context>
+<context>
+ <name>QtColorEditWidget</name>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qteditorfactory.cpp" line="2186"/>
+ <source>...</source>
+ <translation>...</translation>
+ </message>
+</context>
+<context>
+ <name>QtColorPropertyManager</name>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="6213"/>
+ <source>Red</source>
+ <translation>Rouge</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="6221"/>
+ <source>Green</source>
+ <translation>Vert</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="6229"/>
+ <source>Blue</source>
+ <translation>Bleu</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="6237"/>
+ <source>Alpha</source>
+ <translation>Alpha</translation>
+ </message>
+</context>
+<context>
+ <name>QtCursorDatabase</name>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="55"/>
+ <source>Arrow</source>
+ <translation>Flèche</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="57"/>
+ <source>Up Arrow</source>
+ <translation>Flèche vers le haut</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="59"/>
+ <source>Cross</source>
+ <translation>Croix</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="61"/>
+ <source>Wait</source>
+ <translation>Attendre</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="63"/>
+ <source>IBeam</source>
+ <translation>IBeam</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="65"/>
+ <source>Size Vertical</source>
+ <translation>Redimensionner verticalement</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="67"/>
+ <source>Size Horizontal</source>
+ <translation>Redimensionner horizontalement</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="69"/>
+ <source>Size Backslash</source>
+ <translation>Redimensionner diagonale droite</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="71"/>
+ <source>Size Slash</source>
+ <translation>Redimensionner diagonale gauche</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="73"/>
+ <source>Size All</source>
+ <translation>Redimensionner</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="75"/>
+ <source>Blank</source>
+ <translation>Vide</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="77"/>
+ <source>Split Vertical</source>
+ <translation>Scinder verticalement</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="79"/>
+ <source>Split Horizontal</source>
+ <translation>Scinder horizontalement</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="81"/>
+ <source>Pointing Hand</source>
+ <translation>Pointeur index</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="83"/>
+ <source>Forbidden</source>
+ <translation>Interdit</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="85"/>
+ <source>Open Hand</source>
+ <translation>Main ouverte</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="87"/>
+ <source>Closed Hand</source>
+ <translation>Main fermée</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="89"/>
+ <source>What&apos;s This</source>
+ <translation>Qu&apos;est-ce que c&apos;est ?</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="91"/>
+ <source>Busy</source>
+ <translation>Occupé</translation>
+ </message>
+</context>
+<context>
+ <name>QtFontEditWidget</name>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qteditorfactory.cpp" line="2384"/>
+ <source>...</source>
+ <translation>...</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qteditorfactory.cpp" line="2404"/>
+ <source>Select Font</source>
+ <translation>Selectionner police</translation>
+ </message>
+</context>
+<context>
+ <name>QtFontPropertyManager</name>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="5886"/>
+ <source>Family</source>
+ <translation>Famille</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="5899"/>
+ <source>Point Size</source>
+ <translation>Taille en points</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="5907"/>
+ <source>Bold</source>
+ <translation>Gras</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="5914"/>
+ <source>Italic</source>
+ <translation>Italique</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="5921"/>
+ <source>Underline</source>
+ <translation>Souligné</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="5928"/>
+ <source>Strikeout</source>
+ <translation>Barré</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="5935"/>
+ <source>Kerning</source>
+ <translation>Crénage</translation>
+ </message>
+</context>
+<context>
+ <name>QtGradientDialog</name>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientdialog.ui" line="53"/>
+ <source>Edit Gradient</source>
+ <translation>Modifier le gradient</translation>
+ </message>
+</context>
+<context>
+ <name>QtGradientEditor</name>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="53"/>
+ <source>Form</source>
+ <translation>Formulaire</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="101"/>
+ <source>Gradient Editor</source>
+ <translation>Éditeur de gradient</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="104"/>
+ <source>This area shows a preview of the gradient being edited. It also allows you to edit parameters specific to the gradient&apos;s type such as start and final point, radius, etc. by drag &amp; drop.</source>
+ <translation>Cette zone montre une prévisualisation du gradient édité. Elle permet aussi d&apos;éditer les paramètres spécifiques au type de gradient tel que les points de départ et d&apos;arrivée, le rayon, etc. par glisser-déposer.</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="120"/>
+ <source>1</source>
+ <translation>1</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="155"/>
+ <source>2</source>
+ <translation>2</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="190"/>
+ <source>3</source>
+ <translation>3</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="225"/>
+ <source>4</source>
+ <translation>4</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="260"/>
+ <source>5</source>
+ <translation>5</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="295"/>
+ <source>Gradient Stops Editor</source>
+ <translation>Éditeur de point d&apos;arrêt du gradient</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="298"/>
+ <source>This area allows you to edit gradient stops. Double click on the existing stop handle to duplicate it. Double click outside of the existing stop handles to create a new stop. Drag &amp; drop the handle to reposition it. Use right mouse button to popup context menu with extra actions.</source>
+ <translation>Cette zone vous permet d&apos;éditer les points d&apos;arrêt du gardient. Double-cliquez sur un point d&apos;arrêt existant pour le dupliquer. Double-cliquez à l&apos;exterieur d&apos;un point d&apos;arrêt pour en créer un nouveau. Glissez-déposez un point pour le repositionner. Utilisez le bouton droit de la souris pour afficher le menu contextuel avec des actions supplémentaires.</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="311"/>
+ <source>Zoom</source>
+ <translation>Zoom</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="330"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="333"/>
+ <source>Reset Zoom</source>
+ <translation>Réinitialiser le zoom</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="346"/>
+ <source>Position</source>
+ <translation>Position</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="365"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="414"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="436"/>
+ <source>Hue</source>
+ <translation>Teinte</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="368"/>
+ <source>H</source>
+ <translation>T</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="455"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="504"/>
+ <source>Saturation</source>
+ <translation>Saturation</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="458"/>
+ <source>S</source>
+ <translation>S</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="526"/>
+ <source>Sat</source>
+ <translation>Sat</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="545"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="594"/>
+ <source>Value</source>
+ <translation>Valeur</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="548"/>
+ <source>V</source>
+ <translation>V</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="616"/>
+ <source>Val</source>
+ <translation>Val</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="635"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="684"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="706"/>
+ <source>Alpha</source>
+ <translation>Alpha</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="638"/>
+ <source>A</source>
+ <translation>A</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="719"/>
+ <source>Type</source>
+ <translation>Type</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="732"/>
+ <source>Spread</source>
+ <translation>Étendue</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="751"/>
+ <source>Color</source>
+ <translation>Couleur</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="764"/>
+ <source>Current stop&apos;s color</source>
+ <translation>Couleur du point d&apos;arrêt courant</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="786"/>
+ <source>Show HSV specification</source>
+ <translation>Montrer les spécifications TSV/HSV</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="789"/>
+ <source>HSV</source>
+ <translation>TSV/HSV</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="811"/>
+ <source>Show RGB specification</source>
+ <translation>Affichier les spécifications RGB</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="814"/>
+ <source>RGB</source>
+ <translation>RGB</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="842"/>
+ <source>Current stop&apos;s position</source>
+ <translation>Position du point d&apos;arrêt courant</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="1030"/>
+ <source>%</source>
+ <translation>%</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="1141"/>
+ <source>Zoom In</source>
+ <translation>Zoomer</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="1148"/>
+ <source>Zoom Out</source>
+ <translation>Dézoomer</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="1183"/>
+ <source>Toggle details extension</source>
+ <translation>Inverser les détails d&apos;exention</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="1186"/>
+ <source>&gt;</source>
+ <translation>&gt;</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="1205"/>
+ <source>Linear Type</source>
+ <translation>Type linéaire</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="1208"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="1230"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="1252"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="1274"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="1296"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="1318"/>
+ <source>...</source>
+ <translation>...</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="1227"/>
+ <source>Radial Type</source>
+ <translation>Type radial</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="1249"/>
+ <source>Conical Type</source>
+ <translation>Type conique</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="1271"/>
+ <source>Pad Spread</source>
+ <translation>Étendue par remplissage</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="1293"/>
+ <source>Repeat Spread</source>
+ <translation>Étendue par répétition</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="1315"/>
+ <source>Reflect Spread</source>
+ <translation>Étendue par réflexion</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.cpp" line="431"/>
+ <source>Start X</source>
+ <translation>X de départ</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.cpp" line="435"/>
+ <source>Start Y</source>
+ <translation>Y de départ</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.cpp" line="439"/>
+ <source>Final X</source>
+ <translation>X de fin</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.cpp" line="443"/>
+ <source>Final Y</source>
+ <translation>Y de fin</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.cpp" line="450"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.cpp" line="474"/>
+ <source>Central X</source>
+ <translation>X central</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.cpp" line="454"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.cpp" line="478"/>
+ <source>Central Y</source>
+ <translation>Y central</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.cpp" line="458"/>
+ <source>Focal X</source>
+ <translation>X focal</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.cpp" line="462"/>
+ <source>Focal Y</source>
+ <translation>Y focal</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.cpp" line="466"/>
+ <source>Radius</source>
+ <translation>Rayon</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.cpp" line="482"/>
+ <source>Angle</source>
+ <translation>Angle</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.cpp" line="770"/>
+ <source>Linear</source>
+ <translation>Linéaire</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.cpp" line="771"/>
+ <source>Radial</source>
+ <translation>Radial</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.cpp" line="772"/>
+ <source>Conical</source>
+ <translation>Conique</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.cpp" line="792"/>
+ <source>Pad</source>
+ <translation>Remplissage</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.cpp" line="793"/>
+ <source>Repeat</source>
+ <translation>Répéter</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.cpp" line="794"/>
+ <source>Reflect</source>
+ <translation>Réflexion</translation>
+ </message>
+</context>
+<context>
+ <name>QtGradientStopsWidget</name>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientstopswidget.cpp" line="947"/>
+ <source>New Stop</source>
+ <translation>Nouveau point d&apos;arrêt</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientstopswidget.cpp" line="948"/>
+ <source>Delete</source>
+ <translation>Supprimer</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientstopswidget.cpp" line="949"/>
+ <source>Flip All</source>
+ <translation>Tout renverser</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientstopswidget.cpp" line="950"/>
+ <source>Select All</source>
+ <translation>Tout sélectionner</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientstopswidget.cpp" line="951"/>
+ <source>Zoom In</source>
+ <translation>Zoomer</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientstopswidget.cpp" line="952"/>
+ <source>Zoom Out</source>
+ <translation>Dézoomer</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientstopswidget.cpp" line="953"/>
+ <source>Reset Zoom</source>
+ <translation>Réinitialiser le zoom</translation>
+ </message>
+</context>
+<context>
+ <name>QtGradientView</name>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientview.ui" line="13"/>
+ <source>Gradient View</source>
+ <translation>Vue du gradient</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientview.ui" line="39"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientview.cpp" line="208"/>
+ <source>New...</source>
+ <translation>Nouveau...</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientview.ui" line="58"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientview.cpp" line="209"/>
+ <source>Edit...</source>
+ <translation>Éditer...</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientview.ui" line="77"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientview.cpp" line="210"/>
+ <source>Rename</source>
+ <translation>Renommer</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientview.ui" line="96"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientview.cpp" line="211"/>
+ <source>Remove</source>
+ <translation>Retirer</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientview.cpp" line="107"/>
+ <source>Grad</source>
+ <translation>Gradient</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientview.cpp" line="133"/>
+ <source>Remove Gradient</source>
+ <translation>Retirer gradient</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientview.cpp" line="134"/>
+ <source>Are you sure you want to remove the selected gradient?</source>
+ <translation>Êtes-vous sûr de vouloir supprimer le gradient sélectionné ?</translation>
+ </message>
+</context>
+<context>
+ <name>QtGradientViewDialog</name>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientviewdialog.ui" line="53"/>
+ <source>Select Gradient</source>
+ <translation>Sélectionner gradient</translation>
+ </message>
+</context>
+<context>
+ <name>QtKeySequenceEdit</name>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="312"/>
+ <source>Clear Shortcut</source>
+ <translation>Effacer les racourcis</translation>
+ </message>
+</context>
+<context>
+ <name>QtLocalePropertyManager</name>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="2394"/>
+ <source>%1, %2</source>
+ <translation>%1, %2</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="2447"/>
+ <source>Language</source>
+ <translation>Langue</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="2455"/>
+ <source>Country</source>
+ <translation>Pays</translation>
+ </message>
+</context>
+<context>
+ <name>QtPointFPropertyManager</name>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="2866"/>
+ <source>(%1, %2)</source>
+ <translation>(%1, %2)</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="2937"/>
+ <source>X</source>
+ <translation>X</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="2945"/>
+ <source>Y</source>
+ <translation>Y</translation>
+ </message>
+</context>
+<context>
+ <name>QtPointPropertyManager</name>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="2625"/>
+ <source>(%1, %2)</source>
+ <translation>(%1, %2)</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="2662"/>
+ <source>X</source>
+ <translation>X</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="2669"/>
+ <source>Y</source>
+ <translation>Y</translation>
+ </message>
+</context>
+<context>
+ <name>QtPropertyBrowserUtils</name>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="176"/>
+ <source>[%1, %2, %3] (%4)</source>
+ <translation>[%1, %2, %3] (%4)</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="206"/>
+ <source>[%1, %2]</source>
+ <translation>[%1, %2]</translation>
+ </message>
+</context>
+<context>
+ <name>QtRectFPropertyManager</name>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="4375"/>
+ <source>[(%1, %2), %3 x %4]</source>
+ <translation>[(%1, %2), %3 x %4]</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="4531"/>
+ <source>X</source>
+ <translation>X</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="4539"/>
+ <source>Y</source>
+ <translation>Y</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="4547"/>
+ <source>Width</source>
+ <translation>Largeur</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="4556"/>
+ <source>Height</source>
+ <translation>Hauteur</translation>
+ </message>
+</context>
+<context>
+ <name>QtRectPropertyManager</name>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="3944"/>
+ <source>[(%1, %2), %3 x %4]</source>
+ <translation>[(%1, %2), %3 x %4]</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="4064"/>
+ <source>X</source>
+ <translation>X</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="4071"/>
+ <source>Y</source>
+ <translation>Y</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="4078"/>
+ <source>Width</source>
+ <translation>Largeur</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="4086"/>
+ <source>Height</source>
+ <translation>Hauteur</translation>
+ </message>
+</context>
+<context>
+ <name>QtResourceEditorDialog</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.ui" line="13"/>
+ <source>Dialog</source>
+ <translation>Dialogue</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.ui" line="39"/>
+ <source>New File</source>
+ <translation>Nouveau fichier</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.ui" line="42"/>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.ui" line="92"/>
+ <source>N</source>
+ <translation>N</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.ui" line="49"/>
+ <source>Remove File</source>
+ <translation>Supprimer fichier</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.ui" line="52"/>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.ui" line="109"/>
+ <source>R</source>
+ <translation>S</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.ui" line="75"/>
+ <source>I</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.ui" line="89"/>
+ <source>New Resource</source>
+ <translation>Nouvelle ressource</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.ui" line="99"/>
+ <source>A</source>
+ <translation>A</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.ui" line="106"/>
+ <source>Remove Resource or File</source>
+ <translation>Supprimer ressource ou fichier</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="76"/>
+ <source>%1 already exists.
+Do you want to replace it?</source>
+ <translation>%1 existe déjà.
+Voulez-vous le remplacer ?</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="81"/>
+ <source>The file does not appear to be a resource file; element &apos;%1&apos; was found where &apos;%2&apos; was expected.</source>
+ <translation>Le fichier n&apos;est pas un fichier ressource; l&apos;élément &apos;%1&apos; a été trouvé à la place de %2.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="983"/>
+ <source>%1 [read-only]</source>
+ <translation>%1 [lecture seule]</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="985"/>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="1183"/>
+ <source>%1 [missing]</source>
+ <translation>%1 [manquant]</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="1111"/>
+ <source>&lt;no prefix&gt;</source>
+ <translation>&lt;pas de préfixe&gt;</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="1431"/>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="1997"/>
+ <source>New Resource File</source>
+ <translation>Nouveau fichier de ressource</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="1433"/>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="1458"/>
+ <source>Resource files (*.qrc)</source>
+ <translation>Fichier de ressource (*.qrc)</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="1456"/>
+ <source>Import Resource File</source>
+ <translation>Importer fichier de ressource</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="1568"/>
+ <source>newPrefix</source>
+ <translation>newPrefix</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="1584"/>
+ <source>&lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; The file&lt;/p&gt;&lt;p&gt;%1&lt;/p&gt;&lt;p&gt;is outside of the current resource file&apos;s parent directory.&lt;/p&gt;</source>
+ <translation>&lt;p&gt;&lt;b&gt;Avertissement :&lt;/b&gt; le fichier&lt;/p&gt;&lt;p&gt;%1&lt;/p&gt;&lt;p&gt;est en dehors du répertoire parent du fichier de ressource courant.&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="1592"/>
+ <source>&lt;p&gt;To resolve the issue, press:&lt;/p&gt;&lt;table&gt;&lt;tr&gt;&lt;th align=&quot;left&quot;&gt;Copy&lt;/th&gt;&lt;td&gt;to copy the file to the resource file&apos;s parent directory.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th align=&quot;left&quot;&gt;Copy As...&lt;/th&gt;&lt;td&gt;to copy the file into a subdirectory of the resource file&apos;s parent directory.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th align=&quot;left&quot;&gt;Keep&lt;/th&gt;&lt;td&gt;to use its current location.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
+ <translation>&lt;p&gt;Pour résoudre le problème, appuyez sur :&lt;/p&gt;&lt;table&gt;&lt;tr&gt;&lt;th align=&quot;left&quot;&gt;Copier&lt;/th&gt;&lt;td&gt;Pour copier le fichier dans le répertoire parent du fichier de ressource.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th align=&quot;left&quot;&gt;Copier sous...&lt;/th&gt;&lt;td&gt;Pour copier le fichier ressource dans un sous-répertoire du répertoire parent du fichier de ressource.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th align=&quot;left&quot;&gt;Conserver&lt;/th&gt;&lt;td&gt;pour conserver l&apos;emplacement courant.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="1617"/>
+ <source>Add Files</source>
+ <translation>Ajouter fichiers</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="1638"/>
+ <source>Incorrect Path</source>
+ <translation>Chemin incorrect</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="1641"/>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="1660"/>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="1872"/>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="1879"/>
+ <source>Copy</source>
+ <translation>Copier</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="1643"/>
+ <source>Copy As...</source>
+ <translation>Copier sous...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="1645"/>
+ <source>Keep</source>
+ <translation>Conserver</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="1647"/>
+ <source>Skip</source>
+ <translation>Passer</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="1734"/>
+ <source>Clone Prefix</source>
+ <translation>Cloner le préfixe</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="1735"/>
+ <source>Enter the suffix which you want to add to the names of the cloned files.
+This could for example be a language extension like &quot;_de&quot;.</source>
+ <translation>Entrez le suffixe que vous voulez ajouter aux noms des fichiers clonés.
+Ceci peut être une extension de langue par exemple, comme &quot;_fr&apos;.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="1848"/>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="1852"/>
+ <source>Copy As</source>
+ <translation>Copier sous</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="1853"/>
+ <source>&lt;p&gt;The selected file:&lt;/p&gt;&lt;p&gt;%1&lt;/p&gt;&lt;p&gt;is outside of the current resource file&apos;s directory:&lt;/p&gt;&lt;p&gt;%2&lt;/p&gt;&lt;p&gt;Please select another path within this directory.&lt;p&gt;</source>
+ <translation>&lt;p&gt;Le fichier sélectionné&lt;/p&gt;&lt;p&gt;%1&lt;/p&gt;&lt;p&gt;est en dehors du répertoire du fichier de ressource courant :&lt;/p&gt;&lt;p&gt;%2&lt;/p&gt;&lt;p&gt;Veuillez sélectionner un chemin dans le répertoire courant.&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="1873"/>
+ <source>Could not overwrite %1.</source>
+ <translation>Impossible d&apos;écraser %1.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="1880"/>
+ <source>Could not copy
+%1
+to
+%2</source>
+ <translation>Impossible de copier
+%1
+vers
+%2</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="1915"/>
+ <source>A parse error occurred at line %1, column %2 of %3:
+%4</source>
+ <translation>Une erreur d&apos;analyse grammaticale est apparue à la ligne %1, colonne %2 de %3 :
+%4</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="1927"/>
+ <source>Save Resource File</source>
+ <translation>Enregistrer le fichier de ressource</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="1928"/>
+ <source>Could not write %1: %2</source>
+ <translation>Impossible d&apos;écrire %1 : %2</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="1961"/>
+ <source>Edit Resources</source>
+ <translation>Éditer les ressources</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="1996"/>
+ <source>New...</source>
+ <translation>Nouveau...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="1998"/>
+ <source>Open...</source>
+ <translation>Ouvrir...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="1999"/>
+ <source>Open Resource File</source>
+ <translation>Ouvrir fichier de ressource</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="2000"/>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="2011"/>
+ <source>Remove</source>
+ <translation>Retirer</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="2001"/>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="2012"/>
+ <source>Move Up</source>
+ <translation>Vers le Haut</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="2002"/>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="2013"/>
+ <source>Move Down</source>
+ <translation>Vers le Bas</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="2004"/>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="2005"/>
+ <source>Add Prefix</source>
+ <translation>Ajouter préfixe</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="2006"/>
+ <source>Add Files...</source>
+ <translation>Ajouter fichiers...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="2007"/>
+ <source>Change Prefix</source>
+ <translation>Modifier le préfixe</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="2008"/>
+ <source>Change Language</source>
+ <translation>Modifier la langue</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="2009"/>
+ <source>Change Alias</source>
+ <translation>Modifier l&apos;alias</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="2010"/>
+ <source>Clone Prefix...</source>
+ <translation>Cloner le préfixe...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="2047"/>
+ <source>Prefix / Path</source>
+ <translation>Préfixe / chemin</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="2048"/>
+ <source>Language / Alias</source>
+ <translation>Langue / Alias</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="2165"/>
+ <source>&lt;html&gt;&lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; There have been problems while reloading the resources:&lt;/p&gt;&lt;pre&gt;%1&lt;/pre&gt;&lt;/html&gt;</source>
+ <translation>&lt;html&gt;&lt;p&gt;&lt;b&gt;Avertissement:&lt;/b&gt; Des problèmes sont apparus lors du rafraichissement des données des ressources :&lt;/p&gt;&lt;pre&gt;%1&lt;/pre&gt;&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="2167"/>
+ <source>Resource Warning</source>
+ <translation>Avertissement relatif aux ressources</translation>
+ </message>
+</context>
+<context>
+ <name>QtResourceView</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceview.cpp" line="566"/>
+ <source>Size: %1 x %2
+%3</source>
+ <translation>Taille : %1 x %2
+%3</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceview.cpp" line="586"/>
+ <source>Edit Resources...</source>
+ <translation>Éditer ressources...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceview.cpp" line="592"/>
+ <source>Reload</source>
+ <translation>Recharger</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceview.cpp" line="599"/>
+ <source>Copy Path</source>
+ <translation>Copier le chemin</translation>
+ </message>
+</context>
+<context>
+ <name>QtResourceViewDialog</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceview.cpp" line="849"/>
+ <source>Select Resource</source>
+ <translation>Séléctionner ressource</translation>
+ </message>
+</context>
+<context>
+ <name>QtSizeFPropertyManager</name>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="3551"/>
+ <source>%1 x %2</source>
+ <translation>%1 x %2</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="3681"/>
+ <source>Width</source>
+ <translation>Largeur</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="3690"/>
+ <source>Height</source>
+ <translation>Hauteur</translation>
+ </message>
+</context>
+<context>
+ <name>QtSizePolicyPropertyManager</name>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="5399"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="5400"/>
+ <source>&lt;Invalid&gt;</source>
+ <translation>&lt;Invalide&gt;</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="5401"/>
+ <source>[%1, %2, %3, %4]</source>
+ <translation>[%1, %2, %3, %4]</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="5446"/>
+ <source>Horizontal Policy</source>
+ <translation>Politique horizontale</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="5455"/>
+ <source>Vertical Policy</source>
+ <translation>Politique verticale</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="5464"/>
+ <source>Horizontal Stretch</source>
+ <translation>Étirement horizontal</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="5472"/>
+ <source>Vertical Stretch</source>
+ <translation>Étirement vertical</translation>
+ </message>
+</context>
+<context>
+ <name>QtSizePropertyManager</name>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="3186"/>
+ <source>%1 x %2</source>
+ <translation>%1 x %2</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="3282"/>
+ <source>Width</source>
+ <translation>Largeur</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="3290"/>
+ <source>Height</source>
+ <translation>Hauteur</translation>
+ </message>
+</context>
+<context>
+ <name>QtToolBarDialog</name>
+ <message>
+ <location filename="../tools/shared/qttoolbardialog/qttoolbardialog.ui" line="13"/>
+ <source>Customize Toolbars</source>
+ <translation>Personnaliser les barres d&apos;outils</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qttoolbardialog/qttoolbardialog.ui" line="26"/>
+ <source>1</source>
+ <translation>1</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qttoolbardialog/qttoolbardialog.ui" line="34"/>
+ <source>Actions</source>
+ <translation>Actions</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qttoolbardialog/qttoolbardialog.ui" line="49"/>
+ <source>Toolbars</source>
+ <translation>Barres d&apos;outils</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qttoolbardialog/qttoolbardialog.ui" line="56"/>
+ <source>Add new toolbar</source>
+ <translation>Ajouter une nouvelle barre d&apos;outils</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qttoolbardialog/qttoolbardialog.ui" line="59"/>
+ <source>New</source>
+ <translation>Nouveau</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qttoolbardialog/qttoolbardialog.ui" line="66"/>
+ <source>Remove selected toolbar</source>
+ <translation>Supprimer la barre d&apos;outils sélectionnée</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qttoolbardialog/qttoolbardialog.ui" line="69"/>
+ <source>Remove</source>
+ <translation>Supprimer</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qttoolbardialog/qttoolbardialog.ui" line="76"/>
+ <source>Rename toolbar</source>
+ <translation>Renommer la barre d&apos;outils</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qttoolbardialog/qttoolbardialog.ui" line="79"/>
+ <source>Rename</source>
+ <translation>Renommer</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qttoolbardialog/qttoolbardialog.ui" line="102"/>
+ <source>Move action up</source>
+ <translation>Déplacer l&apos;action vers le haut</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qttoolbardialog/qttoolbardialog.ui" line="105"/>
+ <source>Up</source>
+ <translation>Monter</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qttoolbardialog/qttoolbardialog.ui" line="118"/>
+ <source>Remove action from toolbar</source>
+ <translation>Retirer l&apos;action de la barre d&apos;outils</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qttoolbardialog/qttoolbardialog.ui" line="121"/>
+ <source>&lt;-</source>
+ <translation>&lt;-</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qttoolbardialog/qttoolbardialog.ui" line="134"/>
+ <source>Add action to toolbar</source>
+ <translation>Ajouter l&apos;action à la barre d&apos;outil</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qttoolbardialog/qttoolbardialog.ui" line="137"/>
+ <source>-&gt;</source>
+ <translation>-&gt;</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qttoolbardialog/qttoolbardialog.ui" line="150"/>
+ <source>Move action down</source>
+ <translation>Déplacer l&apos;action vers le bas</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qttoolbardialog/qttoolbardialog.ui" line="153"/>
+ <source>Down</source>
+ <translation>Descendre</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qttoolbardialog/qttoolbardialog.ui" line="178"/>
+ <source>Current Toolbar Actions</source>
+ <translation>Actions de la barre d&apos;outils courante</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qttoolbardialog/qttoolbardialog.cpp" line="1240"/>
+ <source>Custom Toolbar</source>
+ <translation>Barre d&apos;outils personnalisée</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qttoolbardialog/qttoolbardialog.cpp" line="1784"/>
+ <source>&lt; S E P A R A T O R &gt;</source>
+ <translation>&lt; S É P A R A T E U R &gt;</translation>
+ </message>
+</context>
+<context>
+ <name>QtTreePropertyBrowser</name>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qttreepropertybrowser.cpp" line="442"/>
+ <source>Property</source>
+ <translation>Propriété</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtpropertybrowser/qttreepropertybrowser.cpp" line="443"/>
+ <source>Value</source>
+ <translation>Valeur</translation>
+ </message>
+</context>
+<context>
+ <name>SaveFormAsTemplate</name>
+ <message>
+ <location filename="../tools/designer/src/designer/saveformastemplate.ui" line="45"/>
+ <source>Save Form As Template</source>
+ <translation>Enregistrer le formulaire comme un modèle</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/saveformastemplate.ui" line="59"/>
+ <source>&amp;Name:</source>
+ <translation>&amp;Nom :</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/saveformastemplate.ui" line="94"/>
+ <source>&amp;Category:</source>
+ <translation>&amp;Catégorie :</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/saveformastemplate.cpp" line="72"/>
+ <source>Add path...</source>
+ <translation>Ajouter chemin...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/saveformastemplate.cpp" line="95"/>
+ <source>Template Exists</source>
+ <translation>Le modèle existe</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/saveformastemplate.cpp" line="96"/>
+ <source>A template with the name %1 already exists.
+Do you want overwrite the template?</source>
+ <translation>Un modèle existe déjà avec le nom %1.
+Voulez-vous le remplacer ?</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/saveformastemplate.cpp" line="99"/>
+ <source>Overwrite Template</source>
+ <translation>Remplacer modèle</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/saveformastemplate.cpp" line="106"/>
+ <source>Open Error</source>
+ <translation>Erreur d&apos;ouverture</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/saveformastemplate.cpp" line="107"/>
+ <source>There was an error opening template %1 for writing. Reason: %2</source>
+ <translation>Une erreur s&apos;est produite à l&apos;ouverture du modèle %1 en écriture. Raison : %2</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/saveformastemplate.cpp" line="120"/>
+ <source>Write Error</source>
+ <translation>Erreur d&apos;écriture</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/saveformastemplate.cpp" line="121"/>
+ <source>There was an error writing the template %1 to disk. Reason: %2</source>
+ <translation>Une erreur s&apos;est produite lors de l&apos;écriture du modèle %1 sur le disque. Raison : %2</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/saveformastemplate.cpp" line="148"/>
+ <source>Pick a directory to save templates in</source>
+ <translation>Sélectionner le dossier dans lequel le modèle sera enregistré</translation>
+ </message>
+</context>
+<context>
+ <name>ScriptErrorDialog</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/scripterrordialog.cpp" line="59"/>
+ <source>An error occurred while running the scripts for &quot;%1&quot;:
+</source>
+ <translation>Une erreur est apparue lors de l&apos;execution des scripts de &quot;%1&quot; :
+</translation>
+ </message>
+</context>
+<context>
+ <name>SelectSignalDialog</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/selectsignaldialog.ui" line="14"/>
+ <source>Go to slot</source>
+ <translation>Aller au slot</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/selectsignaldialog.ui" line="20"/>
+ <source>Select signal</source>
+ <translation>Sélectionner signal</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/selectsignaldialog.ui" line="33"/>
+ <source>signal</source>
+ <translation>signal</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/selectsignaldialog.ui" line="38"/>
+ <source>class</source>
+ <translation>classe</translation>
+ </message>
+</context>
+<context>
+ <name>SignalSlotConnection</name>
+ <message>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor.cpp" line="152"/>
+ <source>SENDER(%1), SIGNAL(%2), RECEIVER(%3), SLOT(%4)</source>
+ <translation>ENVOYER(%1), SIGNAL(%2), RECEVEUR(%3), SLOT(%4)</translation>
+ </message>
+</context>
+<context>
+ <name>SignalSlotDialogClass</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/signalslotdialog.ui" line="13"/>
+ <source>Signals and slots</source>
+ <translation>Signaux et slots</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/signalslotdialog.ui" line="19"/>
+ <source>Slots</source>
+ <translation>Slots</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/signalslotdialog.ui" line="30"/>
+ <location filename="../tools/designer/src/lib/shared/signalslotdialog.ui" line="79"/>
+ <source>Add</source>
+ <translation>Ajouter</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/signalslotdialog.ui" line="33"/>
+ <location filename="../tools/designer/src/lib/shared/signalslotdialog.ui" line="43"/>
+ <location filename="../tools/designer/src/lib/shared/signalslotdialog.ui" line="82"/>
+ <location filename="../tools/designer/src/lib/shared/signalslotdialog.ui" line="92"/>
+ <source>...</source>
+ <translation>...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/signalslotdialog.ui" line="40"/>
+ <location filename="../tools/designer/src/lib/shared/signalslotdialog.ui" line="89"/>
+ <source>Delete</source>
+ <translation>Supprimer</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/signalslotdialog.ui" line="68"/>
+ <source>Signals</source>
+ <translation>Signaux</translation>
+ </message>
+</context>
+<context>
+ <name>Spacer</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/spacer_widget.cpp" line="275"/>
+ <source>Horizontal Spacer &apos;%1&apos;, %2 x %3</source>
+ <translation>Ressort horizontal &apos;%1&apos;, %2 x %3</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/spacer_widget.cpp" line="275"/>
+ <source>Vertical Spacer &apos;%1&apos;, %2 x %3</source>
+ <translation>Ressort vertical &apos;%1&apos;, %2 x %3</translation>
+ </message>
+</context>
+<context>
+ <name>TemplateOptionsPage</name>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/templateoptionspage.cpp" line="156"/>
+ <source>Template Paths</source>
+ <extracomment>Tab in preferences dialog</extracomment>
+ <translation>Chemins des modèles</translation>
+ </message>
+</context>
+<context>
+ <name>ToolBarManager</name>
+ <message>
+ <location filename="../tools/designer/src/designer/mainwindow.cpp" line="224"/>
+ <source>Configure Toolbars...</source>
+ <translation>Configurer les barres d&apos;outils...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/mainwindow.cpp" line="239"/>
+ <source>Window</source>
+ <translation>Fenêtre</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/mainwindow.cpp" line="240"/>
+ <source>Help</source>
+ <translation>Aide</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/mainwindow.cpp" line="247"/>
+ <source>Style</source>
+ <translation>Style</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/mainwindow.cpp" line="249"/>
+ <source>Dock views</source>
+ <translation>Ancrer les vues</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/mainwindow.cpp" line="255"/>
+ <source>Toolbars</source>
+ <translation>Barres d&apos;outils</translation>
+ </message>
+</context>
+<context>
+ <name>VersionDialog</name>
+ <message>
+ <location filename="../tools/designer/src/designer/versiondialog.cpp" line="171"/>
+ <source>&lt;h3&gt;%1&lt;/h3&gt;&lt;br/&gt;&lt;br/&gt;Version %2</source>
+ <translation>&lt;h3&gt;%1&lt;/h3&gt;&lt;br/&gt;&lt;br/&gt;Version %2</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/versiondialog.cpp" line="172"/>
+ <source>Qt Designer</source>
+ <translation>Qt Designer</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/versiondialog.cpp" line="173"/>
+ <source>&lt;br/&gt;Qt Designer is a graphical user interface designer for Qt applications.&lt;br/&gt;</source>
+ <translation>&lt;br/&gt;Qt Designer est une interface de création d&apos;interface graphique pour les applications Qt.&lt;br/&gt;</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/designer/versiondialog.cpp" line="175"/>
+ <source>%1&lt;br/&gt;Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).</source>
+ <translation>%1&lt;br/&gt;Copyright (C) 2009 Nokia Corporation et/ou ses filiales.</translation>
+ </message>
+</context>
+<context>
+ <name>WidgetDataBase</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/widgetdatabase.cpp" line="814"/>
+ <source>The file contains a custom widget &apos;%1&apos; whose base class (%2) differs from the current entry in the widget database (%3). The widget database is left unchanged.</source>
+ <translation>Le fichier contient un widget personnalisé &apos;%1&apos; dont la classe de base (%2) est différente de l&apos;entrée dans la base de données de widget (%3). La base de données de widget n&apos;a pas été modifiée.</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::ActionEditor</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/actioneditor.cpp" line="123"/>
+ <source>New...</source>
+ <translation>Nouveau...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/actioneditor.cpp" line="124"/>
+ <source>Edit...</source>
+ <translation>Éditer...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/actioneditor.cpp" line="125"/>
+ <source>Go to slot...</source>
+ <translation>Aller au slot...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/actioneditor.cpp" line="126"/>
+ <source>Copy</source>
+ <translation>Copier</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/actioneditor.cpp" line="127"/>
+ <source>Cut</source>
+ <translation>Couper</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/actioneditor.cpp" line="128"/>
+ <source>Paste</source>
+ <translation>Coller</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/actioneditor.cpp" line="129"/>
+ <source>Select all</source>
+ <translation>Tout sélectionner</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/actioneditor.cpp" line="130"/>
+ <source>Delete</source>
+ <translation>Supprimer</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/actioneditor.cpp" line="139"/>
+ <source>Actions</source>
+ <translation>Actions</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/actioneditor.cpp" line="188"/>
+ <source>Configure Action Editor</source>
+ <translation>Configurer l&apos;éditeur d&apos;action</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/actioneditor.cpp" line="191"/>
+ <source>Icon View</source>
+ <translation>Vue en icônes</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/actioneditor.cpp" line="197"/>
+ <source>Detailed View</source>
+ <translation>Vue détaillée</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/actioneditor.cpp" line="443"/>
+ <source>New action</source>
+ <translation>Nouvelle action</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/actioneditor.cpp" line="541"/>
+ <source>Edit action</source>
+ <translation>Editer action</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/actioneditor.cpp" line="610"/>
+ <source>Remove action &apos;%1&apos;</source>
+ <translation>Supprimer action &apos;%1&apos;</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/actioneditor.cpp" line="610"/>
+ <source>Remove actions</source>
+ <translation>Supprimer les actions</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/actioneditor.cpp" line="796"/>
+ <source>Used In</source>
+ <translation>Utilisé dans</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::ActionModel</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/actionrepository.cpp" line="95"/>
+ <source>Name</source>
+ <translation>Nom</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/actionrepository.cpp" line="96"/>
+ <source>Used</source>
+ <translation>Utilisé</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/actionrepository.cpp" line="97"/>
+ <source>Text</source>
+ <translation>Texte</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/actionrepository.cpp" line="98"/>
+ <source>Shortcut</source>
+ <translation>Raccourci</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/actionrepository.cpp" line="99"/>
+ <source>Checkable</source>
+ <translation>Vérifiable</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/actionrepository.cpp" line="100"/>
+ <source>ToolTip</source>
+ <translation>Info-bulle</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::BrushManagerProxy</name>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/brushmanagerproxy.cpp" line="219"/>
+ <source>The element &apos;%1&apos; is missing the required attribute &apos;%2&apos;.</source>
+ <translation>L&apos;attribut requis &apos;%2&apos; est manquant pour l&apos;élément &apos;%1&apos;.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/brushmanagerproxy.cpp" line="230"/>
+ <source>Empty brush name encountered.</source>
+ <translation>Un nom vide de pinceau a été rencontré.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/brushmanagerproxy.cpp" line="240"/>
+ <source>An unexpected element &apos;%1&apos; was encountered.</source>
+ <translation>L&apos;élément inattendu &apos;%1&apos; a été rencontré.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/brushmanagerproxy.cpp" line="247"/>
+ <source>An error occurred when reading the brush definition file &apos;%1&apos; at line line %2, column %3: %4</source>
+ <translation>Une erreur est apparue lors de la lecture du fichier &apos;%1&apos; de définition des pinceaux à la ligne %2, colonne %3: %4</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/brushmanagerproxy.cpp" line="290"/>
+ <source>An error occurred when reading the resource file &apos;%1&apos; at line %2, column %3: %4</source>
+ <translation>Une erreur est survenue lors de la lecture du fichier de ressource &apos;%1&apos; à la ligne %2, colonne %3 : %4</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::BuddyEditor</name>
+ <message>
+ <location filename="../tools/designer/src/components/buddyeditor/buddyeditor.cpp" line="261"/>
+ <source>Add buddy</source>
+ <translation>Ajouter un copain</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/buddyeditor/buddyeditor.cpp" line="313"/>
+ <source>Remove buddies</source>
+ <translation>Supprimer les copains</translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../tools/designer/src/components/buddyeditor/buddyeditor.cpp" line="337"/>
+ <source>Remove %n buddies</source>
+ <translation>
+ <numerusform>Supprimer %n copain</numerusform>
+ <numerusform>Supprimer %n copains</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../tools/designer/src/components/buddyeditor/buddyeditor.cpp" line="388"/>
+ <source>Add %n buddies</source>
+ <translation>
+ <numerusform>Ajouter %n copain</numerusform>
+ <numerusform>Ajouter %n copains</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/buddyeditor/buddyeditor.cpp" line="435"/>
+ <source>Set automatically</source>
+ <translation>Définir automatiquement</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::BuddyEditorPlugin</name>
+ <message>
+ <location filename="../tools/designer/src/components/buddyeditor/buddyeditor_plugin.cpp" line="73"/>
+ <source>Edit Buddies</source>
+ <translation>Éditer les copains</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::BuddyEditorTool</name>
+ <message>
+ <location filename="../tools/designer/src/components/buddyeditor/buddyeditor_tool.cpp" line="56"/>
+ <source>Edit Buddies</source>
+ <translation>Éditer les copains</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::ButtonGroupMenu</name>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/button_taskmenu.cpp" line="318"/>
+ <source>Select members</source>
+ <translation>Sélectionner les membres</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/button_taskmenu.cpp" line="319"/>
+ <source>Break</source>
+ <translation>Casser</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::ButtonTaskMenu</name>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/button_taskmenu.cpp" line="440"/>
+ <source>Assign to button group</source>
+ <translation>Assigner au groupe de boutons</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/button_taskmenu.cpp" line="442"/>
+ <source>Button group</source>
+ <translation>Groupe de boutons</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/button_taskmenu.cpp" line="443"/>
+ <source>New button group</source>
+ <translation>Nouveau groupe de boutons</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/button_taskmenu.cpp" line="444"/>
+ <source>Change text...</source>
+ <translation>Modifier le texte...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/button_taskmenu.cpp" line="445"/>
+ <source>None</source>
+ <translation>Aucun</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/button_taskmenu.cpp" line="546"/>
+ <source>Button group &apos;%1&apos;</source>
+ <translation>Groupe de boutons &apos;%1&apos;</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::CodeDialog</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/codedialog.cpp" line="95"/>
+ <source>Save...</source>
+ <translation>Enregistrer...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/codedialog.cpp" line="99"/>
+ <source>Copy All</source>
+ <translation>Tout copier</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/codedialog.cpp" line="104"/>
+ <source>&amp;Find in Text...</source>
+ <translation>&amp;Rechercher dans le texte...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/codedialog.cpp" line="179"/>
+ <source>A temporary form file could not be created in %1.</source>
+ <translation>Un fichier temporaire de formulaire n&apos;a pas pu être créé dans %1.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/codedialog.cpp" line="185"/>
+ <source>The temporary form file %1 could not be written.</source>
+ <translation>Le fichier temporaire de formulaire %1 n&apos;a pas pu être écrit.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/codedialog.cpp" line="206"/>
+ <source>%1 - [Code]</source>
+ <translation>%1 - [Code]</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/codedialog.cpp" line="229"/>
+ <source>Save Code</source>
+ <translation>Enregistrer le code</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/codedialog.cpp" line="229"/>
+ <source>Header Files (*.%1)</source>
+ <translation>Fichiers headers (*.%1)</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/codedialog.cpp" line="235"/>
+ <source>The file %1 could not be opened: %2</source>
+ <translation>Le fichier %1 ne peut pas être ouvert : %2</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/codedialog.cpp" line="240"/>
+ <source>The file %1 could not be written: %2</source>
+ <translation>Le fichier %1 ne peut pas être écrit : %2</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/codedialog.cpp" line="251"/>
+ <source>%1 - Error</source>
+ <translation>%1 - Erreur</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::ColorAction</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/richtexteditor.cpp" line="246"/>
+ <source>Text Color</source>
+ <translation>Couleur du texte</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::ComboBoxTaskMenu</name>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/combobox_taskmenu.cpp" line="68"/>
+ <source>Edit Items...</source>
+ <translation>Éditer les éléments...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/combobox_taskmenu.cpp" line="106"/>
+ <source>Change Combobox Contents</source>
+ <translation>Modifier le contenu du Combobox</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::CommandLinkButtonTaskMenu</name>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/button_taskmenu.cpp" line="702"/>
+ <source>Change description...</source>
+ <translation>Modifier la description...</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::ConnectionEdit</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/connectionedit.cpp" line="1589"/>
+ <source>Select All</source>
+ <translation>Tout sélectionner</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/connectionedit.cpp" line="1592"/>
+ <source>Deselect All</source>
+ <translation>Désélectionner tout</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/connectionedit.cpp" line="1597"/>
+ <source>Delete</source>
+ <translation>Supprimer</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::ConnectionModel</name>
+ <message>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp" line="196"/>
+ <source>Sender</source>
+ <translation>Émetteur</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp" line="197"/>
+ <source>Signal</source>
+ <translation>Signal</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp" line="198"/>
+ <source>Receiver</source>
+ <translation>Receveur</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp" line="199"/>
+ <source>Slot</source>
+ <translation>Slot</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp" line="289"/>
+ <source>&lt;sender&gt;</source>
+ <translation>&lt;émetteur&gt;</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp" line="290"/>
+ <source>&lt;signal&gt;</source>
+ <translation>&lt;signal&gt;</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp" line="291"/>
+ <source>&lt;receiver&gt;</source>
+ <translation>&lt;receveur&gt;</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp" line="292"/>
+ <source>&lt;slot&gt;</source>
+ <translation>&lt;slot&gt;</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp" line="400"/>
+ <source>The connection already exists!&lt;br&gt;%1</source>
+ <translation>La connexion existe déjà !&lt;br&gt;%1</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp" line="402"/>
+ <source>Signal and Slot Editor</source>
+ <translation>Éditeur de signaux et slots</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::ContainerWidgetTaskMenu</name>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/containerwidget_taskmenu.cpp" line="79"/>
+ <source>Delete</source>
+ <translation>Supprimer</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/containerwidget_taskmenu.cpp" line="104"/>
+ <source>Insert</source>
+ <translation>Insérer</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/containerwidget_taskmenu.cpp" line="107"/>
+ <source>Insert Page Before Current Page</source>
+ <translation>Insérer la page avant la page courante</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/containerwidget_taskmenu.cpp" line="111"/>
+ <source>Insert Page After Current Page</source>
+ <translation>Insérer la page après la page courante</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/containerwidget_taskmenu.cpp" line="119"/>
+ <source>Add Subwindow</source>
+ <translation>Ajouter sous-fenêtre</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/containerwidget_taskmenu.cpp" line="157"/>
+ <source>Subwindow</source>
+ <translation>Sous fenêtre</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/containerwidget_taskmenu.cpp" line="159"/>
+ <source>Page</source>
+ <translation>Page</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/containerwidget_taskmenu.cpp" line="160"/>
+ <source>Page %1 of %2</source>
+ <translation>Page %1 de %2</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::DPI_Chooser</name>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/dpi_chooser.cpp" line="100"/>
+ <source>System (%1 x %2)</source>
+ <extracomment>System resolution</extracomment>
+ <translation>Système (%1 x %2)</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/dpi_chooser.cpp" line="107"/>
+ <source>User defined</source>
+ <translation>Défini par l&apos;utilisateur</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/dpi_chooser.cpp" line="125"/>
+ <source> x </source>
+ <extracomment>DPI X/Y separator</extracomment>
+ <translation> x </translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::DesignerPropertyManager</name>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="647"/>
+ <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="653"/>
+ <source>AlignLeft</source>
+ <translation>AlignementGauche</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="648"/>
+ <source>AlignHCenter</source>
+ <translation>AlignementCentreH</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="649"/>
+ <source>AlignRight</source>
+ <translation>AlignementDroite</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="650"/>
+ <source>AlignJustify</source>
+ <translation>AlignementJustifié</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="659"/>
+ <source>AlignTop</source>
+ <translation>AlignementSommet</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="660"/>
+ <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="664"/>
+ <source>AlignVCenter</source>
+ <translation>AlignementCentreV</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="661"/>
+ <source>AlignBottom</source>
+ <translation>AlignementDessous</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="1226"/>
+ <source>%1, %2</source>
+ <translation>%1, %2</translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="1232"/>
+ <source>Customized (%n roles)</source>
+ <translation>
+ <numerusform>Personnalisé (%n rôle)</numerusform>
+ <numerusform>Personnalisé (%n rôles)</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="1233"/>
+ <source>Inherited</source>
+ <translatorcomment>pour la palette</translatorcomment>
+ <translation>Héritée</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="1799"/>
+ <source>Horizontal</source>
+ <translation>Horizontal</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="1808"/>
+ <source>Vertical</source>
+ <translation>Vertical</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="1823"/>
+ <source>Normal Off</source>
+ <translation>Arrêt normal</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="1824"/>
+ <source>Normal On</source>
+ <translation>Marche normal</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="1825"/>
+ <source>Disabled Off</source>
+ <translation>Arrêt désactivé</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="1826"/>
+ <source>Disabled On</source>
+ <translation>Marche désactivé</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="1827"/>
+ <source>Active Off</source>
+ <translation>Arrêt activé</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="1828"/>
+ <source>Active On</source>
+ <translation>Marche activé</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="1829"/>
+ <source>Selected Off</source>
+ <translation>Arrêt sélectionné</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="1830"/>
+ <source>Selected On</source>
+ <translation>Marche sélectionné</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="1837"/>
+ <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="1858"/>
+ <source>translatable</source>
+ <translation>Traduisible</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="1843"/>
+ <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="1864"/>
+ <source>disambiguation</source>
+ <translation>désambiguation</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="1849"/>
+ <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="1870"/>
+ <source>comment</source>
+ <translation>commentaire</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::DeviceProfileDialog</name>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/deviceprofiledialog.cpp" line="63"/>
+ <source>Device Profiles (*.%1)</source>
+ <translation>Profils d&apos;appareil (*.%1)</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/deviceprofiledialog.cpp" line="94"/>
+ <source>Default</source>
+ <translation>Par défaut</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/deviceprofiledialog.cpp" line="161"/>
+ <source>Save Profile</source>
+ <translation>Enregistrer le profil</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/deviceprofiledialog.cpp" line="171"/>
+ <source>Save Profile - Error</source>
+ <translation>Enregistrer le profile - Erreur</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/deviceprofiledialog.cpp" line="171"/>
+ <source>Unable to open the file &apos;%1&apos; for writing: %2</source>
+ <translation>Impossible d&apos;ouvrir le fichier &apos;%1&apos; en écriture : %2</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/deviceprofiledialog.cpp" line="179"/>
+ <source>Open profile</source>
+ <translation>Ouvrir profil</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/deviceprofiledialog.cpp" line="185"/>
+ <location filename="../tools/designer/src/components/formeditor/deviceprofiledialog.cpp" line="191"/>
+ <source>Open Profile - Error</source>
+ <translation>Ouvrir profil - Erreur</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/deviceprofiledialog.cpp" line="185"/>
+ <source>Unable to open the file &apos;%1&apos; for reading: %2</source>
+ <translation>Impossible d&apos;ouvrir le fichier &apos;%1&apos; en lecture : %2</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/deviceprofiledialog.cpp" line="191"/>
+ <source>&apos;%1&apos; is not a valid profile: %2</source>
+ <translation>&apos;%1&apos; n&apos;est pas un profil valide : %2</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::Dialog</name>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/stringlisteditor.ui" line="53"/>
+ <source>Dialog</source>
+ <translation>Boîte de dialogue</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/stringlisteditor.ui" line="65"/>
+ <source>StringList</source>
+ <translation>Liste de chaîne de caractères</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/stringlisteditor.ui" line="93"/>
+ <source>New String</source>
+ <translation>Nouvelle chaîne de caractères</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/stringlisteditor.ui" line="96"/>
+ <source>&amp;New</source>
+ <translation>&amp;Nouveau</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/stringlisteditor.ui" line="106"/>
+ <source>Delete String</source>
+ <translation>Supprimer la chaîne de caractères</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/stringlisteditor.ui" line="109"/>
+ <source>&amp;Delete</source>
+ <translation>&amp;Supprimer</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/stringlisteditor.ui" line="142"/>
+ <source>&amp;Value:</source>
+ <translation>&amp;Valeur : </translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/stringlisteditor.ui" line="180"/>
+ <source>Move String Up</source>
+ <translation>Déplacer la chaîne de caractères vers le haut</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/stringlisteditor.ui" line="183"/>
+ <source>Up</source>
+ <translation>Vers le haut</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/stringlisteditor.ui" line="190"/>
+ <source>Move String Down</source>
+ <translation>Déplacer la chaîne de caractères vers le bas</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/stringlisteditor.ui" line="193"/>
+ <source>Down</source>
+ <translation>Vers le bas</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::EmbeddedOptionsControl</name>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/embeddedoptionspage.cpp" line="160"/>
+ <source>None</source>
+ <translation>Aucun</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/embeddedoptionspage.cpp" line="164"/>
+ <source>Add a profile</source>
+ <translation>Ajouter un profil</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/embeddedoptionspage.cpp" line="170"/>
+ <source>Edit the selected profile</source>
+ <translation>Éditer le profile sélectionné</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/embeddedoptionspage.cpp" line="174"/>
+ <source>Delete the selected profile</source>
+ <translation>Supprimer le profil sélectionné</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/embeddedoptionspage.cpp" line="196"/>
+ <source>Add Profile</source>
+ <translation>Ajouter profil</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/embeddedoptionspage.cpp" line="203"/>
+ <source>New profile</source>
+ <translation>Nouveau profil</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/embeddedoptionspage.cpp" line="238"/>
+ <source>Edit Profile</source>
+ <translation>Éditer profil</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/embeddedoptionspage.cpp" line="264"/>
+ <source>Delete Profile</source>
+ <translation>Supprimer profil</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/embeddedoptionspage.cpp" line="265"/>
+ <source>Would you like to delete the profile &apos;%1&apos;?</source>
+ <translation>Voulez-vous supprimer le profil &apos;%1&apos; ?</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/embeddedoptionspage.cpp" line="320"/>
+ <source>Default</source>
+ <translation>Par défaut</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::FilterWidget</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/filterwidget.cpp" line="185"/>
+ <source>&lt;Filter&gt;</source>
+ <translation>&lt;Filtre&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::FormEditor</name>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formeditor.cpp" line="190"/>
+ <source>Resource File Changed</source>
+ <translation>Fichier de ressource modifié</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formeditor.cpp" line="191"/>
+ <source>The file &quot;%1&quot; has changed outside Designer. Do you want to reload it?</source>
+ <translation>Le fichier &quot;%1&quot; a été modifié en dehors de Designer. Voulez-vous le recharger ?</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::FormLayoutMenu</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/formlayoutmenu.cpp" line="482"/>
+ <source>Add form layout row...</source>
+ <translation>Ajouter une ligne au layout du formulaire...</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::FormWindow</name>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="441"/>
+ <source>Edit contents</source>
+ <translation>Éditer le contenu</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="442"/>
+ <source>F2</source>
+ <translation>F2</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="1216"/>
+ <source>Insert widget &apos;%1&apos;</source>
+ <translation>Insérer le widget &apos;%1&apos;</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="1283"/>
+ <source>Resize</source>
+ <translation>Redimensionner</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="1501"/>
+ <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="1516"/>
+ <source>Key Move</source>
+ <translation>Déplacement au clavier</translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="1727"/>
+ <source>Paste %n action(s)</source>
+ <translation>
+ <numerusform>Coller %n action</numerusform>
+ <numerusform>Coller %n actions</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="1729"/>
+ <source>Paste %n widget(s)</source>
+ <translation>
+ <numerusform>Coller %n widget</numerusform>
+ <numerusform>Coller %n widgets</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="1730"/>
+ <source>Paste (%1 widgets, %2 actions)</source>
+ <translation>Coller (%1 widgets, %2 actions)</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="1786"/>
+ <source>Cannot paste widgets. Designer could not find a container without a layout to paste into.</source>
+ <translation>Impossible de coller les widgets. Designer n&apos;a pas trouvé de conteneur sans layout pour coller.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="1788"/>
+ <source>Break the layout of the container you want to paste into, select this container and then paste again.</source>
+ <translation>Retirez le layout du conteneur dans lequel vous voulez coller, sélectionnez ce conteneur et collez à nouveau.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="1792"/>
+ <source>Paste error</source>
+ <translation>Erreur de collage</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="1975"/>
+ <source>Raise widgets</source>
+ <translation>Élever widgets</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="1992"/>
+ <source>Lower widgets</source>
+ <translation>Descendre widgets</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="2196"/>
+ <source>Select Ancestor</source>
+ <translation>Sélectionner les ancêtres</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="2237"/>
+ <source>Lay out</source>
+ <translation>Mettre en page</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="2730"/>
+ <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="2785"/>
+ <source>Drop widget</source>
+ <translation>Supprimer widget</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="2772"/>
+ <source>A QMainWindow-based form does not contain a central widget.</source>
+ <translation>Un formulaire basé sur QMainWindow ne contenant pas de widget central.</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::FormWindowBase</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/formwindowbase.cpp" line="393"/>
+ <source>Delete &apos;%1&apos;</source>
+ <translation>Supprimer &apos;%1&apos;</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/formwindowbase.cpp" line="393"/>
+ <source>Delete</source>
+ <translation>Supprimer</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::FormWindowManager</name>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="364"/>
+ <source>Cu&amp;t</source>
+ <translation>Co&amp;uper</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="367"/>
+ <source>Cuts the selected widgets and puts them on the clipboard</source>
+ <translation>Coupe les widgets sélectionnés et les place dans le presse-papiers</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="372"/>
+ <source>&amp;Copy</source>
+ <translation>Cop&amp;ier</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="375"/>
+ <source>Copies the selected widgets to the clipboard</source>
+ <translation>Copie les widgets sélectionnés dans le presse-papiers</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="380"/>
+ <source>&amp;Paste</source>
+ <translation>C&amp;oller</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="383"/>
+ <source>Pastes the clipboard&apos;s contents</source>
+ <translation>Colle le contenu du presse-papiers</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="388"/>
+ <source>&amp;Delete</source>
+ <translation>&amp;Supprimer</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="390"/>
+ <source>Deletes the selected widgets</source>
+ <translation>Supprime les widgets sélectionnés</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="395"/>
+ <source>Select &amp;All</source>
+ <translation>Tout &amp;sélectionner</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="398"/>
+ <source>Selects all widgets</source>
+ <translation>Sélectionne tous les widgets</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="403"/>
+ <source>Bring to &amp;Front</source>
+ <translation>Amener au premier &amp;plan</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="406"/>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="407"/>
+ <source>Raises the selected widgets</source>
+ <translation>Élève les widgets sélectionnés</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="411"/>
+ <source>Send to &amp;Back</source>
+ <translation>Placer en &amp;arrière plan</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="414"/>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="415"/>
+ <source>Lowers the selected widgets</source>
+ <translation>Descend les widgets sélectionnés</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="419"/>
+ <source>Adjust &amp;Size</source>
+ <translation>Ajuster les &amp;dimensions</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="422"/>
+ <source>Adjusts the size of the selected widget</source>
+ <translation>Ajuster les dimensions du widget sélectionné</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="428"/>
+ <source>Lay Out &amp;Horizontally</source>
+ <translation>Mettre en page &amp;horizontalement</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="431"/>
+ <source>Lays out the selected widgets horizontaly</source>
+ <translation>Mettre en page horizontalement les widgets sélectionnés</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="437"/>
+ <source>Lay Out &amp;Vertically</source>
+ <translation>Mettre en page &amp;verticalement</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="440"/>
+ <source>Lays out the selected widgets vertically</source>
+ <translation>Mettre en page verticalement les widgets sélectionnés</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="447"/>
+ <source>Lay Out in a &amp;Form Layout</source>
+ <translation>Mettre en page dans un layout de &amp;formulaire</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="450"/>
+ <source>Lays out the selected widgets in a form layout</source>
+ <translation>Mettre en page les widgets sélectionnés dans un layout de formulaire</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="457"/>
+ <source>Lay Out in a &amp;Grid</source>
+ <translation>Mettre en page dans une &amp;grille</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="460"/>
+ <source>Lays out the selected widgets in a grid</source>
+ <translation>Mettre en page les widgets sélectionnés dans une grille</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="467"/>
+ <source>Lay Out Horizontally in S&amp;plitter</source>
+ <translation>Mettre en page horizontalement avec un sé&amp;parateur</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="470"/>
+ <source>Lays out the selected widgets horizontaly in a splitter</source>
+ <translation>Met en page les widgets sélectionnés horizontalement à l&apos;aide d&apos;un séparateur</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="477"/>
+ <source>Lay Out Vertically in Sp&amp;litter</source>
+ <translation>Mettre en page verticalement avec un sépa&amp;rateur</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="480"/>
+ <source>Lays out the selected widgets vertically in a splitter</source>
+ <translation>Met en page les widgets sélectionnés verticalement à l&apos;aide d&apos;un séparateur</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="487"/>
+ <source>&amp;Break Layout</source>
+ <translation>&amp;Casser la mise en page</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="490"/>
+ <source>Breaks the selected layout</source>
+ <translation>Retire le layout sélectionné</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="495"/>
+ <source>Si&amp;mplify Grid Layout</source>
+ <translation>Si&amp;mplifier le layout de grille</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="497"/>
+ <source>Removes empty columns and rows</source>
+ <translation>Supprime les lignes et colonnes vides</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="503"/>
+ <source>&amp;Preview...</source>
+ <translation>&amp;Prévisualisation...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="505"/>
+ <source>Preview current form</source>
+ <translation>Prévisualise le formulaire courant</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="520"/>
+ <source>Form &amp;Settings...</source>
+ <translation>Paramètres du &amp;formulaire...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="612"/>
+ <source>Break Layout</source>
+ <translation>Casser la mise en page</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="638"/>
+ <source>Adjust Size</source>
+ <translation>Ajuster les dimensions</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="681"/>
+ <source>Could not create form preview</source>
+ <comment>Title of warning message box</comment>
+ <translation>Impossible de créer la prévisualisation du formulaire</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="1022"/>
+ <source>Form Settings - %1</source>
+ <translation>Paramètres du formulaire - %1</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::FormWindowSettings</name>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowsettings.cpp" line="193"/>
+ <source>None</source>
+ <translation>Aucun</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowsettings.cpp" line="194"/>
+ <source>Device Profile: %1</source>
+ <translation>Profil de périphérique : %1</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::GridPanel</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/gridpanel.ui" line="13"/>
+ <source>Form</source>
+ <translation>Formulaire</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/gridpanel.ui" line="31"/>
+ <source>Grid</source>
+ <translation>Grille</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/gridpanel.ui" line="43"/>
+ <source>Visible</source>
+ <translation>Visible</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/gridpanel.ui" line="50"/>
+ <source>Grid &amp;X</source>
+ <translation>Grille &amp;X</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/gridpanel.ui" line="76"/>
+ <location filename="../tools/designer/src/lib/shared/gridpanel.ui" line="133"/>
+ <source>Snap</source>
+ <translation>Grille aimantée</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/gridpanel.ui" line="85"/>
+ <source>Reset</source>
+ <translation>Réinitialisé</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/gridpanel.ui" line="107"/>
+ <source>Grid &amp;Y</source>
+ <translation>Grille &amp;Y</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::GroupBoxTaskMenu</name>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/groupbox_taskmenu.cpp" line="82"/>
+ <source>Change title...</source>
+ <translation>Modifier le titre...</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::HtmlTextEdit</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/richtexteditor.cpp" line="188"/>
+ <source>Insert HTML entity</source>
+ <translation>Insérer une entité HTML</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::IconSelector</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="328"/>
+ <source>The pixmap file &apos;%1&apos; cannot be read.</source>
+ <translation>Le fichier pixmap &apos;%1&apos; ne peut pas être lu.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="334"/>
+ <source>The file &apos;%1&apos; does not appear to be a valid pixmap file: %2</source>
+ <translation>Le fichier &apos;%1&apos; n&apos;est pas un fichier de pixmap valide : %2</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="343"/>
+ <source>The file &apos;%1&apos; could not be read: %2</source>
+ <translation>Le fichier &apos;%1&apos; ne peut pas être lu : %2</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="376"/>
+ <source>Choose a Pixmap</source>
+ <translation>Choisissez un pixmap</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="383"/>
+ <source>Pixmap Read Error</source>
+ <translation>Erreur de lecture de pixmap</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="437"/>
+ <source>...</source>
+ <translation>...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="443"/>
+ <source>Normal Off</source>
+ <translation>Arrêt normal</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="444"/>
+ <source>Normal On</source>
+ <translation>Marche normal</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="445"/>
+ <source>Disabled Off</source>
+ <translation>Arrêt désactivé</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="446"/>
+ <source>Disabled On</source>
+ <translation>Marche désactivé</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="447"/>
+ <source>Active Off</source>
+ <translation>Arrêt activé</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="448"/>
+ <source>Active On</source>
+ <translation>Marche activé</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="449"/>
+ <source>Selected Off</source>
+ <translation>Arrêt sélectionné</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="450"/>
+ <source>Selected On</source>
+ <translation>Marche sélectionné</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="458"/>
+ <source>Choose Resource...</source>
+ <translation>Choisir ressource...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="459"/>
+ <source>Choose File...</source>
+ <translation>Choisir un fichier...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="460"/>
+ <source>Reset</source>
+ <translation>Réinitialiser</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="461"/>
+ <source>Reset All</source>
+ <translation>Réinitialisé tout</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::ItemListEditor</name>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/itemlisteditor.ui" line="68"/>
+ <source>Items List</source>
+ <translation>Liste d&apos;éléments</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/itemlisteditor.ui" line="77"/>
+ <source>New Item</source>
+ <translation>Nouvel élément</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/itemlisteditor.ui" line="80"/>
+ <source>&amp;New</source>
+ <translation>&amp;Nouveau</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/itemlisteditor.ui" line="87"/>
+ <source>Delete Item</source>
+ <translation>Supprimer élément</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/itemlisteditor.ui" line="90"/>
+ <source>&amp;Delete</source>
+ <translation>&amp;Supprimer</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/itemlisteditor.ui" line="110"/>
+ <source>Move Item Up</source>
+ <translation>Déplacer l&apos;élément vers le haut</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/itemlisteditor.ui" line="113"/>
+ <source>U</source>
+ <translation>Monter</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/itemlisteditor.ui" line="120"/>
+ <source>Move Item Down</source>
+ <translation>Déplacer l&apos;élément vers le bas</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/itemlisteditor.ui" line="123"/>
+ <source>D</source>
+ <translation>Descendre</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/itemlisteditor.ui" line="143"/>
+ <location filename="../tools/designer/src/components/taskmenu/itemlisteditor.cpp" line="426"/>
+ <source>Properties &amp;&gt;&gt;</source>
+ <translation>Propriétés &amp;&gt;&gt;</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/itemlisteditor.cpp" line="424"/>
+ <source>Properties &amp;&lt;&lt;</source>
+ <translation>Propriétés &amp;&lt;&lt;</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::LabelTaskMenu</name>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/label_taskmenu.cpp" line="85"/>
+ <source>Change rich text...</source>
+ <translation>Modifier texte riche...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/label_taskmenu.cpp" line="86"/>
+ <source>Change plain text...</source>
+ <translation>Modifier texte simple...</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::LanguageResourceDialog</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="118"/>
+ <source>Choose Resource</source>
+ <translation>Choisir ressource</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::LineEditTaskMenu</name>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/lineedit_taskmenu.cpp" line="80"/>
+ <source>Change text...</source>
+ <translation>Modifier texte...</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::ListWidgetEditor</name>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/listwidgeteditor.cpp" line="69"/>
+ <source>New Item</source>
+ <translation>Nouvel élément</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/listwidgeteditor.cpp" line="101"/>
+ <source>Edit List Widget</source>
+ <translation>Éditer le widget de liste</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/listwidgeteditor.cpp" line="120"/>
+ <source>Edit Combobox</source>
+ <translation>Éditer le Combobox</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::ListWidgetTaskMenu</name>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/listwidget_taskmenu.cpp" line="67"/>
+ <source>Edit Items...</source>
+ <translation>Éditer les éléments...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/listwidget_taskmenu.cpp" line="105"/>
+ <source>Change List Contents</source>
+ <translation>Modifier le contenu de la liste</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::MdiContainerWidgetTaskMenu</name>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/containerwidget_taskmenu.cpp" line="278"/>
+ <source>Next Subwindow</source>
+ <translation>Sous-fenêtre suivante</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/containerwidget_taskmenu.cpp" line="279"/>
+ <source>Previous Subwindow</source>
+ <translation>Sous-fenêtre précédente</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/containerwidget_taskmenu.cpp" line="280"/>
+ <source>Tile</source>
+ <translation>Côte à côte</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/containerwidget_taskmenu.cpp" line="281"/>
+ <source>Cascade</source>
+ <translation>Cascade</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::MenuTaskMenu</name>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/menutaskmenu.cpp" line="56"/>
+ <source>Remove</source>
+ <translation>Supprimer</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::MorphMenu</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/morphmenu.cpp" line="613"/>
+ <source>Morph into</source>
+ <translation>Transformer en</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::NewActionDialog</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/newactiondialog.ui" line="46"/>
+ <source>New Action...</source>
+ <translation>Nouvelle action...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/newactiondialog.ui" line="54"/>
+ <source>&amp;Text:</source>
+ <translation>&amp;Texte :</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/newactiondialog.ui" line="74"/>
+ <source>Object &amp;name:</source>
+ <translation>&amp;Nom de l&apos;objet :</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/newactiondialog.ui" line="87"/>
+ <source>&amp;Icon:</source>
+ <translation>&amp;Icône :</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/newactiondialog.ui" line="117"/>
+ <source>Shortcut:</source>
+ <translation>Raccourci :</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/newactiondialog.ui" line="131"/>
+ <source>Checkable:</source>
+ <translation>Peut être cochée :</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/newactiondialog.ui" line="138"/>
+ <source>ToolTip:</source>
+ <translation>Info-bulle :</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/newactiondialog.ui" line="157"/>
+ <location filename="../tools/designer/src/lib/shared/newactiondialog.ui" line="178"/>
+ <source>...</source>
+ <translation>...</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::NewDynamicPropertyDialog</name>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/newdynamicpropertydialog.ui" line="13"/>
+ <source>Create Dynamic Property</source>
+ <translation>Créer une propriété dynamique</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/newdynamicpropertydialog.ui" line="37"/>
+ <source>Property Name</source>
+ <translation>Nom de la propriété</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/newdynamicpropertydialog.ui" line="49"/>
+ <source>horizontalSpacer</source>
+ <translation>Espaceur horizontal</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/newdynamicpropertydialog.ui" line="73"/>
+ <source>Property Type</source>
+ <translation>Type de la propriété</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/newdynamicpropertydialog.cpp" line="134"/>
+ <source>Set Property Name</source>
+ <translation>Définir le nom de la propriété</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/newdynamicpropertydialog.cpp" line="145"/>
+ <source>The current object already has a property named &apos;%1&apos;.
+Please select another, unique one.</source>
+ <translation>L&apos;objet courant possède déjà une propriété nommée &apos;%1&apos;.
+Veuillez-sélectionner un autre nom.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/newdynamicpropertydialog.cpp" line="149"/>
+ <source>The &apos;_q_&apos; prefix is reserved for the Qt library.
+Please select another name.</source>
+ <translation>Le préfixe «_q_» est réservé pour la bibliothèque Qt.
+Veuillez sélectionner un autre nom.</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::NewFormWidget</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/newformwidget.ui" line="82"/>
+ <source>0</source>
+ <translation>0</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/newformwidget.ui" line="101"/>
+ <source>Choose a template for a preview</source>
+ <translation>Choisir un modèle pour la prévisualisation</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/newformwidget.ui" line="145"/>
+ <source>Embedded Design</source>
+ <translation>Design pour appareil mobile</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/newformwidget.ui" line="157"/>
+ <source>Device:</source>
+ <translation>Appareil :</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/newformwidget.ui" line="164"/>
+ <source>Screen Size:</source>
+ <translation>Dimensions de l&apos;écran :</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/newformwidget.cpp" line="104"/>
+ <source>Default size</source>
+ <translation>Dimensions par défaut</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/newformwidget.cpp" line="105"/>
+ <source>QVGA portrait (240x320)</source>
+ <translation>QVGA portrait (240x320)</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/newformwidget.cpp" line="106"/>
+ <source>QVGA landscape (320x240)</source>
+ <translation>QVGA paysage (320x240)</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/newformwidget.cpp" line="107"/>
+ <source>VGA portrait (480x640)</source>
+ <translation>VGA portrait (480x640)</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/newformwidget.cpp" line="108"/>
+ <source>VGA landscape (640x480)</source>
+ <translation>VGA paysage (640x480)</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/newformwidget.cpp" line="174"/>
+ <source>Widgets</source>
+ <extracomment>New Form Dialog Categories</extracomment>
+ <translation>Widgets</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/newformwidget.cpp" line="175"/>
+ <source>Custom Widgets</source>
+ <translation>Widgets personnalisé</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/newformwidget.cpp" line="193"/>
+ <source>None</source>
+ <translation>Aucun</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/newformwidget.cpp" line="250"/>
+ <source>Error loading form</source>
+ <translation>Erreur de chargement du formulaire</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/newformwidget.cpp" line="494"/>
+ <source>Unable to open the form template file &apos;%1&apos;: %2</source>
+ <translation>Impossible d&apos;ouvrir le fichier de modèle de formulaire &apos;%1&apos; : %2</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/newformwidget.cpp" line="561"/>
+ <source>Internal error: No template selected.</source>
+ <translation>Erreur interne : aucun modèle sélectionné.</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::NewPromotedClassPanel</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_promotiondialog.cpp" line="92"/>
+ <source>Add</source>
+ <translation>Ajouter</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_promotiondialog.cpp" line="94"/>
+ <source>New Promoted Class</source>
+ <translation>Nouvelle classe promue</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_promotiondialog.cpp" line="109"/>
+ <source>Base class name:</source>
+ <translation>Nom de la classe de base :</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_promotiondialog.cpp" line="110"/>
+ <source>Promoted class name:</source>
+ <translation>Nom de la classe promue :</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_promotiondialog.cpp" line="111"/>
+ <source>Header file:</source>
+ <translation>Fichier d&apos;en-tête :</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_promotiondialog.cpp" line="112"/>
+ <source>Global include</source>
+ <translation>En-tête global</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_promotiondialog.cpp" line="123"/>
+ <source>Reset</source>
+ <translation>Réinitialiser</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::ObjectInspector</name>
+ <message>
+ <location filename="../tools/designer/src/components/objectinspector/objectinspector.cpp" line="754"/>
+ <source>&amp;Find in Text...</source>
+ <translation>&amp;Rechercher dans le texte...</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::ObjectInspector::ObjectInspectorPrivate</name>
+ <message>
+ <location filename="../tools/designer/src/components/objectinspector/objectinspector.cpp" line="316"/>
+ <source>Change Current Page</source>
+ <translation>Modifier la page courante</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::OrderDialog</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/orderdialog.ui" line="53"/>
+ <source>Change Page Order</source>
+ <translation>Modifier l&apos;ordre des pages</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/orderdialog.ui" line="59"/>
+ <source>Page Order</source>
+ <translation>Ordre des pages</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/orderdialog.ui" line="116"/>
+ <source>Move page up</source>
+ <translation>Déplacer la page vers le haut</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/orderdialog.ui" line="123"/>
+ <source>Move page down</source>
+ <translation>Déplacer la page vers le bas</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/orderdialog.cpp" line="109"/>
+ <source>Index %1 (%2)</source>
+ <translation>Indice %1 (%2)</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/orderdialog.cpp" line="112"/>
+ <source>%1 %2</source>
+ <translation>%1 %2</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::PaletteEditor</name>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/paletteeditor.ui" line="61"/>
+ <source>Edit Palette</source>
+ <translation>Éditer la palette</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/paletteeditor.ui" line="85"/>
+ <source>Tune Palette</source>
+ <translation>Ajuster la palette</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/paletteeditor.ui" line="122"/>
+ <source>Show Details</source>
+ <translation>Afficher les détails</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/paletteeditor.ui" line="129"/>
+ <source>Compute Details</source>
+ <translation>Calculer les détails</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/paletteeditor.ui" line="139"/>
+ <source>Quick</source>
+ <translation>Rapide</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/paletteeditor.ui" line="157"/>
+ <source>Preview</source>
+ <translation>Prévisualisation</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/paletteeditor.ui" line="169"/>
+ <source>Disabled</source>
+ <translation>Désactivé</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/paletteeditor.ui" line="176"/>
+ <source>Inactive</source>
+ <translation>Inactif</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/paletteeditor.ui" line="183"/>
+ <source>Active</source>
+ <translation>Actif</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::PaletteEditorButton</name>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/paletteeditorbutton.cpp" line="57"/>
+ <source>Change Palette</source>
+ <translation>Modifier la palette</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::PaletteModel</name>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/paletteeditor.cpp" line="374"/>
+ <source>Color Role</source>
+ <translation>Rôle de la couleur</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/paletteeditor.cpp" line="376"/>
+ <source>Active</source>
+ <translation>Actif</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/paletteeditor.cpp" line="378"/>
+ <source>Inactive</source>
+ <translation>Inactif</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/paletteeditor.cpp" line="380"/>
+ <source>Disabled</source>
+ <translation>Désactivé</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::PixmapEditor</name>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="329"/>
+ <source>Choose Resource...</source>
+ <translation>Choisir ressource...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="330"/>
+ <source>Choose File...</source>
+ <translation>Choisir fichier...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="331"/>
+ <source>Copy Path</source>
+ <translation>Chemin de copie</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="332"/>
+ <source>Paste Path</source>
+ <translation>Chemin de collage</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="338"/>
+ <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="354"/>
+ <source>...</source>
+ <translation>...</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::PlainTextEditorDialog</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/plaintexteditor.cpp" line="65"/>
+ <source>Edit text</source>
+ <translation>Éditer le texte</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::PluginDialog</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/plugindialog.cpp" line="72"/>
+ <source>Components</source>
+ <translation>Composants</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/plugindialog.cpp" line="85"/>
+ <source>Plugin Information</source>
+ <translation>Information sur les plugins</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/plugindialog.cpp" line="89"/>
+ <source>Refresh</source>
+ <translation>Rafraîchir</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/plugindialog.cpp" line="90"/>
+ <source>Scan for newly installed custom widget plugins.</source>
+ <translation>Recherche des plugins personnalisés récemment installés.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/plugindialog.cpp" line="138"/>
+ <source>Qt Designer couldn&apos;t find any plugins</source>
+ <translation>Qt Designer n&apos;a trouvé aucun plugin</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/plugindialog.cpp" line="141"/>
+ <source>Qt Designer found the following plugins</source>
+ <translation>Qt Designer a trouvé les plugins suivants</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/plugindialog.cpp" line="196"/>
+ <source>New custom widget plugins have been found.</source>
+ <translation>De nouveaux plugins de widgets ont été trouvés.</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::PreviewActionGroup</name>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/previewactiongroup.cpp" line="95"/>
+ <source>%1 Style</source>
+ <translation>Style %1</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::PreviewConfigurationWidget</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/previewconfigurationwidget.cpp" line="139"/>
+ <source>Default</source>
+ <translation>Par défaut</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/previewconfigurationwidget.cpp" line="161"/>
+ <source>None</source>
+ <translation>Aucun</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/previewconfigurationwidget.cpp" line="167"/>
+ <source>Browse...</source>
+ <translation>Parcourir...</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::PreviewConfigurationWidget::PreviewConfigurationWidgetPrivate</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/previewconfigurationwidget.cpp" line="285"/>
+ <source>Load Custom Device Skin</source>
+ <translation>Charger le revêtement d&apos;appareil personnalisé</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/previewconfigurationwidget.cpp" line="287"/>
+ <source>All QVFB Skins (*.%1)</source>
+ <translation>Tous les revêtements QVFB (*.%1)</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/previewconfigurationwidget.cpp" line="303"/>
+ <source>%1 - Duplicate Skin</source>
+ <translation>%1 - Revêtement doublon</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/previewconfigurationwidget.cpp" line="304"/>
+ <source>The skin &apos;%1&apos; already exists.</source>
+ <translation>Le revêtement &apos;%1&apos; existe déjà.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/previewconfigurationwidget.cpp" line="318"/>
+ <source>%1 - Error</source>
+ <translation>%1 - -Erreur</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/previewconfigurationwidget.cpp" line="319"/>
+ <source>%1 is not a valid skin directory:
+%2</source>
+ <translation>%1 n&apos;est pas un répertoire de revêtements valide :
+%2</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::PreviewDeviceSkin</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/previewmanager.cpp" line="259"/>
+ <source>&amp;Portrait</source>
+ <translation>&amp;Portrait</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/previewmanager.cpp" line="261"/>
+ <source>Landscape (&amp;CCW)</source>
+ <extracomment>Rotate form preview counter-clockwise</extracomment>
+ <translation>Paysage (&amp;dans le sens horaire)</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/previewmanager.cpp" line="263"/>
+ <source>&amp;Landscape (CW)</source>
+ <extracomment>Rotate form preview clockwise</extracomment>
+ <translation>Paysage (&amp;dans le sens anti-horaire)</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/previewmanager.cpp" line="264"/>
+ <source>&amp;Close</source>
+ <translation>&amp;Fermer</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::PreviewManager</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/previewmanager.cpp" line="690"/>
+ <source>%1 - [Preview]</source>
+ <translation>%1 - [prévisualisation]</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::PreviewMdiArea</name>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/previewframe.cpp" line="72"/>
+ <source>The moose in the noose
+ate the goose who was loose.</source>
+ <extracomment>Palette editor background</extracomment>
+ <translation>Au site de Bologne,
+je préfère les mines de Pompéi.</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::PreviewWidget</name>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/previewwidget.ui" line="61"/>
+ <source>Preview Window</source>
+ <translation>Fenêtre de prévisualisation</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/previewwidget.ui" line="81"/>
+ <source>LineEdit</source>
+ <translation>LineEdit</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/previewwidget.ui" line="89"/>
+ <source>ComboBox</source>
+ <translation>ComboBox</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/previewwidget.ui" line="108"/>
+ <source>PushButton</source>
+ <translation>PushButton</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/previewwidget.ui" line="166"/>
+ <source>ButtonGroup2</source>
+ <translation>ButtonGroup2</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/previewwidget.ui" line="178"/>
+ <source>CheckBox1</source>
+ <translation>CheckBox1</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/previewwidget.ui" line="188"/>
+ <source>CheckBox2</source>
+ <translation>CheckBox2</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/previewwidget.ui" line="198"/>
+ <source>ButtonGroup</source>
+ <translation>ButtonGroup</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/previewwidget.ui" line="210"/>
+ <source>RadioButton1</source>
+ <translation>RadioButton1</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/previewwidget.ui" line="220"/>
+ <source>RadioButton2</source>
+ <translation>RadioButton2</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/previewwidget.ui" line="227"/>
+ <source>RadioButton3</source>
+ <translation>BoutonRadio1</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::PromotionModel</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/promotionmodel.cpp" line="129"/>
+ <source>Name</source>
+ <translation>Nom</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/promotionmodel.cpp" line="130"/>
+ <source>Header file</source>
+ <translation>Fichier d&apos;en-tête</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/promotionmodel.cpp" line="131"/>
+ <source>Global include</source>
+ <translation>En-tête global</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/promotionmodel.cpp" line="132"/>
+ <source>Usage</source>
+ <translation>Usage</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::PromotionTaskMenu</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/promotiontaskmenu.cpp" line="85"/>
+ <source>Promoted widgets...</source>
+ <translation>Widgets promus...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/promotiontaskmenu.cpp" line="86"/>
+ <source>Promote to ...</source>
+ <translation>Promouvoir en...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/promotiontaskmenu.cpp" line="87"/>
+ <source>Change signals/slots...</source>
+ <translation>Modifier signaux/slots...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/promotiontaskmenu.cpp" line="88"/>
+ <source>Promote to</source>
+ <translation>Promouvoir en</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/promotiontaskmenu.cpp" line="89"/>
+ <source>Demote to %1</source>
+ <translation>Rétrograder en %1</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::PropertyEditor</name>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/propertyeditor.cpp" line="183"/>
+ <source>Add Dynamic Property...</source>
+ <translation>Ajouter une propriété dynamique...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/propertyeditor.cpp" line="184"/>
+ <source>Remove Dynamic Property</source>
+ <translation>Supprimer la propriété dynamique</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/propertyeditor.cpp" line="185"/>
+ <source>Sorting</source>
+ <translation>Tri</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/propertyeditor.cpp" line="186"/>
+ <source>Color Groups</source>
+ <translation>Groupes de couleur</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/propertyeditor.cpp" line="187"/>
+ <source>Tree View</source>
+ <translation>Vue arborescente</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/propertyeditor.cpp" line="188"/>
+ <source>Drop Down Button View</source>
+ <translation type="unfinished">Liste déroulante</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/propertyeditor.cpp" line="238"/>
+ <source>String...</source>
+ <translation>Chaîne de caractères...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/propertyeditor.cpp" line="241"/>
+ <source>Bool...</source>
+ <translation>Booléen...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/propertyeditor.cpp" line="245"/>
+ <source>Other...</source>
+ <translation>Autre...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/propertyeditor.cpp" line="252"/>
+ <source>Configure Property Editor</source>
+ <translation>Configurer l&apos;éditeur de propriétés</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/propertyeditor.cpp" line="785"/>
+ <source>Object: %1
+Class: %2</source>
+ <translation>Objet : %1
+Classe : %2</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::PropertyLineEdit</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/propertylineedit.cpp" line="88"/>
+ <source>Insert line break</source>
+ <translation>Insérer saut de ligne</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::QDesignerPromotionDialog</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_promotiondialog.cpp" line="208"/>
+ <source>Promoted Widgets</source>
+ <translation>Widgets promus</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_promotiondialog.cpp" line="215"/>
+ <source>Promoted Classes</source>
+ <translation>Classes promues</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_promotiondialog.cpp" line="275"/>
+ <source>Promote</source>
+ <translation>Promouvoir</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_promotiondialog.cpp" line="427"/>
+ <source>Change signals/slots...</source>
+ <translation>Modifier signaux/slots...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_promotiondialog.cpp" line="444"/>
+ <source>%1 - Error</source>
+ <translation>%1 - Erreur</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::QDesignerResource</name>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="2354"/>
+ <source>Loading qrc file</source>
+ <translation>Chargement du fichier qrc</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="2355"/>
+ <source>The specified qrc file &lt;p&gt;&lt;b&gt;%1&lt;/b&gt;&lt;/p&gt;&lt;p&gt;could not be found. Do you want to update the file location?&lt;/p&gt;</source>
+ <translation>Le fichier qrc spécifié &lt;p&gt;&lt;b&gt;%1&lt;/b&gt;&lt;/p&gt;&lt;p&gt;n&apos;a pas pu être trouvé. Voulez-vous mettre à jour l&apos;emplacement du fichier?&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="2361"/>
+ <source>New location for %1</source>
+ <translation>Nouvel emplacement pour %1</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="2362"/>
+ <source>Resource files (*.qrc)</source>
+ <translation>Fichier de ressource (*.qrc)</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::QDesignerTaskMenu</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_taskmenu.cpp" line="230"/>
+ <source>Change objectName...</source>
+ <translation>Modifier objectName...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_taskmenu.cpp" line="231"/>
+ <source>Change toolTip...</source>
+ <translation>Modifier toolTip...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_taskmenu.cpp" line="232"/>
+ <source>Change whatsThis...</source>
+ <translation>Modifier whatsThis...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_taskmenu.cpp" line="233"/>
+ <source>Change styleSheet...</source>
+ <translation>Modifier la feuille de style...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_taskmenu.cpp" line="236"/>
+ <source>Create Menu Bar</source>
+ <translation>Créer une barre de menus</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_taskmenu.cpp" line="237"/>
+ <source>Add Tool Bar</source>
+ <translation>Ajouter une barre d&apos;outils</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_taskmenu.cpp" line="238"/>
+ <source>Create Status Bar</source>
+ <translation>Créer une barre de status</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_taskmenu.cpp" line="239"/>
+ <source>Remove Status Bar</source>
+ <translation>Supprimer la barre de status</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_taskmenu.cpp" line="240"/>
+ <source>Change script...</source>
+ <translation>Modifier le script...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_taskmenu.cpp" line="241"/>
+ <source>Change signals/slots...</source>
+ <translation>Modifier signaux/slots...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_taskmenu.cpp" line="242"/>
+ <source>Go to slot...</source>
+ <translation>Aller au slot...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_taskmenu.cpp" line="245"/>
+ <source>Size Constraints</source>
+ <translation>Contrainte de taille</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_taskmenu.cpp" line="249"/>
+ <source>Set Minimum Width</source>
+ <translation>Définir la largeur minimum</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_taskmenu.cpp" line="253"/>
+ <source>Set Minimum Height</source>
+ <translation>Définir la hauteur minimum</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_taskmenu.cpp" line="257"/>
+ <source>Set Minimum Size</source>
+ <translation>Définir la taille minimum</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_taskmenu.cpp" line="263"/>
+ <source>Set Maximum Width</source>
+ <translation>Définir la largeur maximum</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_taskmenu.cpp" line="267"/>
+ <source>Set Maximum Height</source>
+ <translation>Définir la hauteur maximum</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_taskmenu.cpp" line="271"/>
+ <source>Set Maximum Size</source>
+ <translation>Définir la taille maximum</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_taskmenu.cpp" line="506"/>
+ <source>Edit ToolTip</source>
+ <translation>Éditer l&apos;info-bulle</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_taskmenu.cpp" line="511"/>
+ <source>Edit WhatsThis</source>
+ <translation>Éditer «Qu&apos;est-ce»</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_taskmenu.cpp" line="655"/>
+ <source>no signals available</source>
+ <translation>Aucun signal disponible</translation>
+ </message>
+ <message numerus="yes">
+ <location filename="../tools/designer/src/lib/shared/qdesigner_taskmenu.cpp" line="722"/>
+ <source>Set size constraint on %n widget(s)</source>
+ <translation>
+ <numerusform>Définir les contraintes de dimensions sur %n widget</numerusform>
+ <numerusform>Définir les contraintes de dimensions sur %n widgets</numerusform>
+ </translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::QDesignerWidgetBox</name>
+ <message>
+ <location filename="../tools/designer/src/components/widgetbox/widgetboxtreewidget.cpp" line="349"/>
+ <source>An error has been encountered at line %1 of %2: %3</source>
+ <translation>Une erreur a été rencontrée à la ligne %1 de %2 : %3</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/widgetbox/widgetboxtreewidget.cpp" line="488"/>
+ <source>Unexpected element &lt;%1&gt; encountered when parsing for &lt;widget&gt; or &lt;ui&gt;</source>
+ <translation>L&apos;élément inattendu &lt;%1&gt; a été rencontré lors de l&apos;analyse des élements &lt;widget&gt; et &lt;ui&gt;</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/widgetbox/widgetboxtreewidget.cpp" line="507"/>
+ <source>Unexpected end of file encountered when parsing widgets.</source>
+ <translation>Fin de fichier inattendue lors de l&apos;analyse grammaticale des widgets.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/widgetbox/widgetboxtreewidget.cpp" line="516"/>
+ <source>A widget element could not be found.</source>
+ <translation>Un élement de widget n&apos;a pas pu être trouvé.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_widgetbox.cpp" line="123"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_widgetbox.cpp" line="136"/>
+ <source>Unexpected element &lt;%1&gt;</source>
+ <translation>Élément &lt;%1&gt; inattendu</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_widgetbox.cpp" line="143"/>
+ <source>A parse error occurred at line %1, column %2 of the XML code specified for the widget %3: %4
+%5</source>
+ <translation>Une erreur d&apos;analyse grammaticale est apparue à la ligne %1, colonne %2 du code XML spécifiant le widget %3 : %4
+%5</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_widgetbox.cpp" line="152"/>
+ <source>The XML code specified for the widget %1 does not contain any widget elements.
+%2</source>
+ <translation>Le code XML spécifié pour le widget %1 ne contient aucun élément widget.
+%2</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::QtGradientStopsController</name>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientstopscontroller.cpp" line="173"/>
+ <source>H</source>
+ <translation>T</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientstopscontroller.cpp" line="174"/>
+ <source>S</source>
+ <translation>S</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientstopscontroller.cpp" line="175"/>
+ <source>V</source>
+ <translation>V</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientstopscontroller.cpp" line="181"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientstopscontroller.cpp" line="185"/>
+ <source>Hue</source>
+ <translation>Teinte</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientstopscontroller.cpp" line="182"/>
+ <source>Sat</source>
+ <translation>Sat</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientstopscontroller.cpp" line="183"/>
+ <source>Val</source>
+ <translation>Val</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientstopscontroller.cpp" line="186"/>
+ <source>Saturation</source>
+ <translation>Saturation</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientstopscontroller.cpp" line="187"/>
+ <source>Value</source>
+ <translation>Valeur</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientstopscontroller.cpp" line="209"/>
+ <source>R</source>
+ <translation>R</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientstopscontroller.cpp" line="210"/>
+ <source>G</source>
+ <translation>V</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientstopscontroller.cpp" line="211"/>
+ <source>B</source>
+ <translation>B</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientstopscontroller.cpp" line="217"/>
+ <source>Red</source>
+ <translation>Rouge</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientstopscontroller.cpp" line="218"/>
+ <source>Green</source>
+ <translation>Vert</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientstopscontroller.cpp" line="219"/>
+ <source>Blue</source>
+ <translation>Bleu</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::RichTextEditorDialog</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/richtexteditor.cpp" line="624"/>
+ <source>Edit text</source>
+ <translation>Éditer le texte</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/richtexteditor.cpp" line="647"/>
+ <source>Rich Text</source>
+ <translation>Texte riche</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/richtexteditor.cpp" line="648"/>
+ <source>Source</source>
+ <translation>Source</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/richtexteditor.cpp" line="654"/>
+ <source>&amp;OK</source>
+ <translation>&amp;OK</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/richtexteditor.cpp" line="656"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Annuler</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::RichTextEditorToolBar</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/richtexteditor.cpp" line="354"/>
+ <source>Bold</source>
+ <translation>Gras</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/richtexteditor.cpp" line="355"/>
+ <source>CTRL+B</source>
+ <translation>CTRL+B</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/richtexteditor.cpp" line="360"/>
+ <source>Italic</source>
+ <translation>Italique</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/richtexteditor.cpp" line="361"/>
+ <source>CTRL+I</source>
+ <translation>CTRL+I</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/richtexteditor.cpp" line="366"/>
+ <source>Underline</source>
+ <translation>Souligné</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/richtexteditor.cpp" line="367"/>
+ <source>CTRL+U</source>
+ <translation>CTRL+U</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/richtexteditor.cpp" line="380"/>
+ <source>Left Align</source>
+ <translation>Aligner à gauche</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/richtexteditor.cpp" line="385"/>
+ <source>Center</source>
+ <translation>Centrer</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/richtexteditor.cpp" line="390"/>
+ <source>Right Align</source>
+ <translation>Aligner à droite</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/richtexteditor.cpp" line="395"/>
+ <source>Justify</source>
+ <translation>Justifier</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/richtexteditor.cpp" line="404"/>
+ <source>Superscript</source>
+ <translation>Exposant</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/richtexteditor.cpp" line="410"/>
+ <source>Subscript</source>
+ <translation>Indice</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/richtexteditor.cpp" line="419"/>
+ <source>Insert &amp;Link</source>
+ <translation>Insérer &amp;lien</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/richtexteditor.cpp" line="424"/>
+ <source>Insert &amp;Image</source>
+ <translation>Insérer &amp;image</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::ScriptDialog</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/scriptdialog.cpp" line="66"/>
+ <source>Edit script</source>
+ <translation>Éditer le script</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/scriptdialog.cpp" line="71"/>
+ <source>&lt;html&gt;Enter a Qt Script snippet to be executed while loading the form.&lt;br&gt;The widget and its children are accessible via the variables &lt;i&gt;widget&lt;/i&gt; and &lt;i&gt;childWidgets&lt;/i&gt;, respectively.</source>
+ <translation>&lt;html&gt;Entrez un snippet de code Qt Script à exécuter lors du chargement du formulaire.&lt;br&gt;Le widget et ses enfants sont accessibles via les variables &lt;i&gt;widget&lt;/i&gt; et &lt;i&gt;childWidgets&lt;/i&gt;, respectivement.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/scriptdialog.cpp" line="122"/>
+ <source>Syntax error</source>
+ <translation>Erreur de syntaxe</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::ScriptErrorDialog</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/scripterrordialog.cpp" line="86"/>
+ <source>Script errors</source>
+ <translation>Erreurs de script</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::SignalSlotDialog</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/signalslotdialog.cpp" line="401"/>
+ <source>There is already a slot with the signature &apos;%1&apos;.</source>
+ <translation>Un slot existe déjà avec la signature &apos;%1&apos;.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/signalslotdialog.cpp" line="406"/>
+ <source>There is already a signal with the signature &apos;%1&apos;.</source>
+ <translation>Un signal existe déjà avec la signature &apos;%1&apos;.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/signalslotdialog.cpp" line="413"/>
+ <source>%1 - Duplicate Signature</source>
+ <translation>%1 - Signature double</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/signalslotdialog.cpp" line="434"/>
+ <location filename="../tools/designer/src/lib/shared/signalslotdialog.cpp" line="510"/>
+ <source>Signals/Slots of %1</source>
+ <translation>Signaux/slots de %1</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::SignalSlotEditorPlugin</name>
+ <message>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor_plugin.cpp" line="72"/>
+ <source>Edit Signals/Slots</source>
+ <translation>Éditer signaux/slots</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor_plugin.cpp" line="74"/>
+ <source>F4</source>
+ <translation>F4</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::SignalSlotEditorTool</name>
+ <message>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor_tool.cpp" line="58"/>
+ <source>Edit Signals/Slots</source>
+ <translation>Éditer signaux/slots</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::StatusBarTaskMenu</name>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/toolbar_taskmenu.cpp" line="81"/>
+ <source>Remove</source>
+ <translation>Supprimer</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::StringListEditorButton</name>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/stringlisteditorbutton.cpp" line="56"/>
+ <source>Change String List</source>
+ <translation>Modifier la liste de chaîne de caractères</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::StyleSheetEditorDialog</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/stylesheeteditor.cpp" line="90"/>
+ <location filename="../tools/designer/src/lib/shared/stylesheeteditor.cpp" line="370"/>
+ <source>Valid Style Sheet</source>
+ <translation>Feuille de style valide</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/stylesheeteditor.cpp" line="92"/>
+ <source>Add Resource...</source>
+ <translation>Ajouter ressource...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/stylesheeteditor.cpp" line="93"/>
+ <source>Add Gradient...</source>
+ <translation>Ajouter gradient...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/stylesheeteditor.cpp" line="94"/>
+ <source>Add Color...</source>
+ <translation>Ajouter couleur...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/stylesheeteditor.cpp" line="95"/>
+ <source>Add Font...</source>
+ <translation>Ajouter police...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/stylesheeteditor.cpp" line="97"/>
+ <source>Edit Style Sheet</source>
+ <translation>Éditer feuille de style</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/stylesheeteditor.cpp" line="373"/>
+ <source>Invalid Style Sheet</source>
+ <translation>Feuille de style invalide</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::TabOrderEditor</name>
+ <message>
+ <location filename="../tools/designer/src/components/tabordereditor/tabordereditor.cpp" line="363"/>
+ <source>Start from Here</source>
+ <translation>Démarrer à partir d&apos;ici</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/tabordereditor/tabordereditor.cpp" line="366"/>
+ <source>Restart</source>
+ <translation>Redémarrer</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/tabordereditor/tabordereditor.cpp" line="368"/>
+ <source>Tab Order List...</source>
+ <translation>Ordre de la liste de tabulation...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/tabordereditor/tabordereditor.cpp" line="412"/>
+ <source>Tab Order List</source>
+ <translation>Ordre de la liste de tabulation</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/tabordereditor/tabordereditor.cpp" line="413"/>
+ <source>Tab Order</source>
+ <translation>Ordre des tabulations</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::TabOrderEditorPlugin</name>
+ <message>
+ <location filename="../tools/designer/src/components/tabordereditor/tabordereditor_plugin.cpp" line="73"/>
+ <source>Edit Tab Order</source>
+ <translation>Éditer l&apos;ordre des tabulations</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::TabOrderEditorTool</name>
+ <message>
+ <location filename="../tools/designer/src/components/tabordereditor/tabordereditor_tool.cpp" line="57"/>
+ <source>Edit Tab Order</source>
+ <translation>Éditer l&apos;ordre des tabulations</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::TableWidgetEditor</name>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/tablewidgeteditor.ui" line="53"/>
+ <source>Edit Table Widget</source>
+ <translation>Éditer le widget de table</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/tablewidgeteditor.ui" line="63"/>
+ <source>&amp;Items</source>
+ <translation>&amp;Éléments</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/tablewidgeteditor.ui" line="75"/>
+ <source>Table Items</source>
+ <translation>Éléments de la table</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/tablewidgeteditor.ui" line="97"/>
+ <location filename="../tools/designer/src/components/taskmenu/tablewidgeteditor.cpp" line="218"/>
+ <source>Properties &amp;&gt;&gt;</source>
+ <translation>Propriétés &amp;&gt;&gt;</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/tablewidgeteditor.cpp" line="67"/>
+ <source>New Column</source>
+ <translation>Nouvelle colonne</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/tablewidgeteditor.cpp" line="70"/>
+ <source>New Row</source>
+ <translation>Nouvelle ligne</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/tablewidgeteditor.cpp" line="78"/>
+ <source>&amp;Columns</source>
+ <translation>&amp;Colonne</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/tablewidgeteditor.cpp" line="79"/>
+ <source>&amp;Rows</source>
+ <translation>&amp;Lignes</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/tablewidgeteditor.cpp" line="216"/>
+ <source>Properties &amp;&lt;&lt;</source>
+ <translation>Propriétés &amp;&lt;&lt;</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::TableWidgetTaskMenu</name>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/tablewidget_taskmenu.cpp" line="64"/>
+ <source>Edit Items...</source>
+ <translation>Éditer les éléments...</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::TemplateOptionsWidget</name>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/templateoptionspage.ui" line="13"/>
+ <source>Form</source>
+ <translation>Formulaire</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/templateoptionspage.ui" line="19"/>
+ <source>Additional Template Paths</source>
+ <translation>Chemins de modèles additionnels</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/templateoptionspage.ui" line="28"/>
+ <location filename="../tools/designer/src/components/formeditor/templateoptionspage.ui" line="35"/>
+ <source>...</source>
+ <translation>...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/templateoptionspage.cpp" line="138"/>
+ <source>Pick a directory to save templates in</source>
+ <translation>Choisir un répertoire où enregistrer les modèles</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::TextEditTaskMenu</name>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/textedit_taskmenu.cpp" line="58"/>
+ <source>Edit HTML</source>
+ <translation>Éditer le HTML</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/textedit_taskmenu.cpp" line="59"/>
+ <source>Change HTML...</source>
+ <translation>Modifier le HTML...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/textedit_taskmenu.cpp" line="68"/>
+ <source>Edit Text</source>
+ <translation>Éditer le texte</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/textedit_taskmenu.cpp" line="69"/>
+ <source>Change Plain Text...</source>
+ <translation>Modifier le texte simple...</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::TextEditor</name>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="150"/>
+ <source>Choose Resource...</source>
+ <translation>Choisir ressource...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="151"/>
+ <source>Choose File...</source>
+ <translation>Choisir fichier...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="156"/>
+ <source>...</source>
+ <translation>...</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="274"/>
+ <source>Choose a File</source>
+ <translation>Choisir un fichier</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::ToolBarEventFilter</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_toolbar.cpp" line="148"/>
+ <source>Insert Separator before &apos;%1&apos;</source>
+ <translation>Insérer un séparateur avant &apos;%1&apos;</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_toolbar.cpp" line="157"/>
+ <source>Append Separator</source>
+ <translation>Ajouter un séparateur à la fin</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_toolbar.cpp" line="169"/>
+ <source>Remove action &apos;%1&apos;</source>
+ <translation>Supprimer l&apos;action &apos;%1&apos;</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_toolbar.cpp" line="176"/>
+ <source>Remove Toolbar &apos;%1&apos;</source>
+ <translation>Supprimer la barre d&apos;outils &apos;%1&apos;</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_toolbar.cpp" line="234"/>
+ <source>Insert Separator</source>
+ <translation>Insérer un séparateur</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::TreeWidgetEditor</name>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.ui" line="53"/>
+ <source>Edit Tree Widget</source>
+ <translation>Éditer un widget d&apos;arborescence</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.ui" line="63"/>
+ <source>&amp;Items</source>
+ <translation>&amp;Éléments</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.ui" line="87"/>
+ <source>Tree Items</source>
+ <translation>Élément de l&apos;arbre</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.ui" line="91"/>
+ <source>1</source>
+ <translation>1</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.ui" line="101"/>
+ <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.cpp" line="199"/>
+ <source>New Item</source>
+ <translation>Nouvel élément</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.ui" line="104"/>
+ <source>&amp;New</source>
+ <translation>&amp;Nouveau</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.ui" line="111"/>
+ <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.cpp" line="218"/>
+ <source>New Subitem</source>
+ <translation>Nouveau sous-élément</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.ui" line="114"/>
+ <source>New &amp;Subitem</source>
+ <translation>Nouveau &amp;sous-élément</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.ui" line="121"/>
+ <source>Delete Item</source>
+ <translation>Supprimer l&apos;élément</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.ui" line="124"/>
+ <source>&amp;Delete</source>
+ <translation>&amp;Supprimer</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.ui" line="144"/>
+ <source>Move Item Left (before Parent Item)</source>
+ <translation>Déplacer l&apos;élément à gauche (avant l&apos;élément parent)</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.ui" line="147"/>
+ <source>L</source>
+ <translation>G</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.ui" line="154"/>
+ <source>Move Item Right (as a First Subitem of the Next Sibling Item)</source>
+ <translation>Déplacer l&apos;élément sur la droite (comme un premier sous-élément de l&apos;élément à droite)</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.ui" line="157"/>
+ <source>R</source>
+ <translation>D</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.ui" line="164"/>
+ <source>Move Item Up</source>
+ <translation>Déplacer l&apos;élément vers le haut</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.ui" line="167"/>
+ <source>U</source>
+ <translation>H</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.ui" line="174"/>
+ <source>Move Item Down</source>
+ <translation>Déplacer l&apos;élément vers le bas</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.ui" line="177"/>
+ <source>D</source>
+ <translation>B</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.ui" line="197"/>
+ <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.cpp" line="395"/>
+ <source>Properties &amp;&gt;&gt;</source>
+ <translation>Propriétés &amp;&gt;&gt;</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.cpp" line="68"/>
+ <source>New Column</source>
+ <translation>Nouvelle colonne</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.cpp" line="76"/>
+ <source>&amp;Columns</source>
+ <translation>&amp;Colonnes</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.cpp" line="145"/>
+ <source>Per column properties</source>
+ <translation>Propriétés par colonnes</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.cpp" line="146"/>
+ <source>Common properties</source>
+ <translation>Propritétés de colonnes</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.cpp" line="393"/>
+ <source>Properties &amp;&lt;&lt;</source>
+ <translation>Propriétés &amp;&lt;&lt;</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::TreeWidgetTaskMenu</name>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/treewidget_taskmenu.cpp" line="63"/>
+ <source>Edit Items...</source>
+ <translation>Éditer les éléments...</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::WidgetBox</name>
+ <message>
+ <location filename="../tools/designer/src/components/widgetbox/widgetbox_dnditem.cpp" line="115"/>
+ <source>Warning: Widget creation failed in the widget box. This could be caused by invalid custom widget XML.</source>
+ <translation>Avertissement : La création du widget a échoué dans la boîte de widget. Ceci peut être causé par un code XML invalide d&apos;un widget personnalisé.</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::WidgetBoxTreeWidget</name>
+ <message>
+ <location filename="../tools/designer/src/components/widgetbox/widgetboxtreewidget.cpp" line="248"/>
+ <source>Scratchpad</source>
+ <translation>bloc-notes</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/widgetbox/widgetboxtreewidget.cpp" line="618"/>
+ <source>Custom Widgets</source>
+ <translation>Widgets personnalisés</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/widgetbox/widgetboxtreewidget.cpp" line="881"/>
+ <source>Expand all</source>
+ <translation>Tout étendre</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/widgetbox/widgetboxtreewidget.cpp" line="882"/>
+ <source>Collapse all</source>
+ <translation>Tout replier</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/widgetbox/widgetboxtreewidget.cpp" line="885"/>
+ <source>List View</source>
+ <translation>Vue de liste</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/widgetbox/widgetboxtreewidget.cpp" line="886"/>
+ <source>Icon View</source>
+ <translation>Vue en icônes</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/widgetbox/widgetboxtreewidget.cpp" line="901"/>
+ <source>Remove</source>
+ <translation>Supprimer</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/widgetbox/widgetboxtreewidget.cpp" line="903"/>
+ <source>Edit name</source>
+ <translation>Éditer le nom</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::WidgetDataBase</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/widgetdatabase.cpp" line="403"/>
+ <source>A custom widget plugin whose class name (%1) matches that of an existing class has been found.</source>
+ <translation>Un plugin de widgets personnalisés dont un nom de classe (%1) correspond à une classe existante à été trouvé.</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::WidgetEditorTool</name>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/tool_widgeteditor.cpp" line="67"/>
+ <source>Edit Widgets</source>
+ <translation>Éditer les widgets</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::WidgetFactory</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/widgetfactory.cpp" line="263"/>
+ <source>The custom widget factory registered for widgets of class %1 returned 0.</source>
+ <translation>La fabrique (factory) de widget personnalisé, enregistrée pour les widgets de classe %1, a retourné 0.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/widgetfactory.cpp" line="307"/>
+ <source>A class name mismatch occurred when creating a widget using the custom widget factory registered for widgets of class %1. It returned a widget of class %2.</source>
+ <translation>Une discordance de nom de classe est apparue lors de la création d&apos;un nouveau widget à l&apos;aide de la fabrique de widget personnalisé enregistrée pour la classe %1. La fabrique a retourné un widget de classe %2.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/widgetfactory.cpp" line="406"/>
+ <source>%1 Widget</source>
+ <translation>%1 Widget</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/widgetfactory.cpp" line="496"/>
+ <source>The current page of the container &apos;%1&apos; (%2) could not be determined while creating a layout.This indicates an inconsistency in the ui-file, probably a layout being constructed on a container widget.</source>
+ <translation>Le conteneur &apos;%1&apos; de la page courante (%2) n&apos;a pas pu être déterminé lors de la création du layout. Ceci indique une incohérence dans le fichier ui, probablement un layout étant construit sur un widget conteneur.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/widgetfactory.cpp" line="549"/>
+ <source>Attempt to add a layout to a widget &apos;%1&apos; (%2) which already has an unmanaged layout of type %3.
+This indicates an inconsistency in the ui-file.</source>
+ <translation>Temptative d&apos;ajout d&apos;un layout sur le widget &apos;%1&apos; (%2) qui a déjà un layout non pris en charge de type %3.
+Ceci indique une inconsistance dans le fichier ui.</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/widgetfactory.cpp" line="760"/>
+ <source>Cannot create style &apos;%1&apos;.</source>
+ <translation>Impossible de créer le style &apos;%1&apos;.</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::WizardContainerWidgetTaskMenu</name>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/containerwidget_taskmenu.cpp" line="232"/>
+ <source>Next</source>
+ <translation>Suivant</translation>
+ </message>
+ <message>
+ <location filename="../tools/designer/src/components/taskmenu/containerwidget_taskmenu.cpp" line="233"/>
+ <source>Back</source>
+ <translation>Précédent</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::ZoomMenu</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/zoomwidget.cpp" line="84"/>
+ <source>%1 %</source>
+ <extracomment>Zoom factor</extracomment>
+ <translation>%1 %</translation>
+ </message>
+</context>
+<context>
+ <name>qdesigner_internal::ZoomablePreviewDeviceSkin</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/previewmanager.cpp" line="420"/>
+ <source>&amp;Zoom</source>
+ <translation>&amp;Zoom</translation>
+ </message>
+</context>
+</TS>
diff --git a/translations/qt_fr.ts b/translations/qt_fr.ts
index 9ea1f0b..20534c1 100644
--- a/translations/qt_fr.ts
+++ b/translations/qt_fr.ts
@@ -50,7 +50,7 @@
</message>
<message>
<source>remote media URL:</source>
- <translation type="obsolete">URL distante :</translation>
+ <translation type="obsolete">URL distante :</translation>
</message>
<message>
<source>run tests</source>
@@ -58,7 +58,7 @@
</message>
<message>
<source>testing: %p%</source>
- <translation type="obsolete">test de : %P%</translation>
+ <translation type="obsolete">test de : %P%</translation>
</message>
</context>
<context>
@@ -197,7 +197,7 @@ have libgstreamer-plugins-base installed.</source>
</message>
<message>
<source>Unknown media format: %1</source>
- <translation type="obsolete">Format inconnu : %1</translation>
+ <translation type="obsolete">Format inconnu : %1</translation>
</message>
<message>
<source>Unable to flush media pipeline</source>
@@ -332,13 +332,13 @@ have libgstreamer-plugins-base installed.</source>
<message>
<location line="+8"/>
<source>Read: %1</source>
- <translation>Lecture : %1</translation>
+ <translation>Lecture : %1</translation>
</message>
<message>
<location line="+6"/>
<location line="+30"/>
<source>Write: %1</source>
- <translation>Écriture : %1</translation>
+ <translation>Écriture : %1</translation>
</message>
<message>
<location line="-22"/>
@@ -388,19 +388,19 @@ have libgstreamer-plugins-base installed.</source>
<message>
<location line="-1991"/>
<source>Look &amp;in:</source>
- <translation>Chercher &amp;dans :</translation>
+ <translation>Chercher &amp;dans :</translation>
</message>
<message>
<location line="+1"/>
<location line="+1981"/>
<location line="+16"/>
<source>File &amp;name:</source>
- <translation>&amp;Nom de fichier :</translation>
+ <translation>&amp;Nom de fichier :</translation>
</message>
<message>
<location line="-1996"/>
<source>File &amp;type:</source>
- <translation>&amp;Type de fichier :</translation>
+ <translation>&amp;Type de fichier :</translation>
</message>
<message>
<location line="+7"/>
@@ -581,7 +581,7 @@ have libgstreamer-plugins-base installed.</source>
<message>
<location line="+1"/>
<source>&lt;qt&gt;Are you sure you wish to delete %1 &quot;%2&quot;?&lt;/qt&gt;</source>
- <translation>&lt;qt&gt;Voulez-vous vraiment supprimer %1 &quot;%2&quot;?&lt;/qt&gt;</translation>
+ <translation>&lt;qt&gt;Voulez-vous vraiment supprimer %1 &quot;%2&quot; ?&lt;/qt&gt;</translation>
</message>
<message>
<location line="+2"/>
@@ -622,7 +622,7 @@ have libgstreamer-plugins-base installed.</source>
<message>
<location line="-2"/>
<source>Directory:</source>
- <translation>Dossier :</translation>
+ <translation>Dossier :</translation>
</message>
<message>
<location line="+40"/>
@@ -774,7 +774,7 @@ en
<message>
<location line="+1"/>
<source>&amp;Redo</source>
- <translation>A&amp;nnuler Annuler</translation>
+ <translation>&amp;Rétablir</translation>
</message>
<message>
<location line="+5"/>
@@ -1038,7 +1038,7 @@ en
<message>
<location line="+2"/>
<source>Incompatible Qt Library Error</source>
- <translation>Erreur : bibliothèque Qt incompatible</translation>
+ <translation>Erreur : bibliothèque Qt incompatible</translation>
</message>
<message>
<location filename="../src/gui/accessible/qaccessibleobject.cpp" line="+376"/>
@@ -1071,7 +1071,7 @@ en
<message>
<location/>
<source>COM &amp;Object:</source>
- <translation>&amp;Objet COM :</translation>
+ <translation>&amp;Objet COM :</translation>
</message>
</context>
<context>
@@ -1097,37 +1097,37 @@ en
<message>
<location filename="../src/gui/dialogs/qcolordialog.cpp" line="+1253"/>
<source>Hu&amp;e:</source>
- <translation>&amp;Teinte :</translation>
+ <translation>&amp;Teinte :</translation>
</message>
<message>
<location line="+1"/>
<source>&amp;Sat:</source>
- <translation>&amp;Saturation :</translation>
+ <translation>&amp;Saturation :</translation>
</message>
<message>
<location line="+1"/>
<source>&amp;Val:</source>
- <translation>&amp;Valeur :</translation>
+ <translation>&amp;Valeur :</translation>
</message>
<message>
<location line="+1"/>
<source>&amp;Red:</source>
- <translation>&amp;Rouge :</translation>
+ <translation>&amp;Rouge :</translation>
</message>
<message>
<location line="+1"/>
<source>&amp;Green:</source>
- <translation>&amp;Vert :</translation>
+ <translation>&amp;Vert :</translation>
</message>
<message>
<location line="+1"/>
<source>Bl&amp;ue:</source>
- <translation>Ble&amp;u :</translation>
+ <translation>Ble&amp;u :</translation>
</message>
<message>
<location line="+1"/>
<source>A&amp;lpha channel:</source>
- <translation>Canal a&amp;lpha :</translation>
+ <translation>Canal a&amp;lpha :</translation>
</message>
<message>
<location line="+101"/>
@@ -1339,7 +1339,7 @@ en
<message>
<location filename="../src/gui/dialogs/qdialog.cpp" line="+597"/>
<source>What&apos;s This?</source>
- <translation>Qu&apos;est-ce que c&apos;est ?</translation>
+ <translation>Qu&apos;est-ce que c&apos;est ?</translation>
</message>
<message>
<location line="-115"/>
@@ -1572,7 +1572,7 @@ en
<message>
<location line="-108"/>
<source>Cannot remove source file</source>
- <translation type="unfinished"></translation>
+ <translation>Impossible de supprimer le fichier source</translation>
</message>
<message>
<location line="+120"/>
@@ -1669,7 +1669,7 @@ en
<location line="+1054"/>
<source>%1 already exists.
Do you want to replace it?</source>
- <translation>Le fichier %1 existe déjà. Voulez-vous l&apos;écraser ?</translation>
+ <translation>Le fichier %1 existe déjà. Voulez-vous l&apos;écraser ?</translation>
</message>
<message>
<location line="+20"/>
@@ -1683,7 +1683,7 @@ Veuillez vérifier que le nom du fichier est correct.</translation>
<message>
<location filename="../src/gui/itemviews/qdirmodel.cpp" line="+402"/>
<source>My Computer</source>
- <translation>Mon ordinateur</translation>
+ <translation>Poste de travail</translation>
</message>
<message>
<location filename="../src/gui/dialogs/qfiledialog.ui"/>
@@ -1695,13 +1695,13 @@ Veuillez vérifier que le nom du fichier est correct.</translation>
<location/>
<location filename="../src/gui/dialogs/qfiledialog_wince.ui"/>
<source>Files of type:</source>
- <translation>Fichiers de type :</translation>
+ <translation>Fichiers de type :</translation>
</message>
<message>
<location filename="../src/gui/dialogs/qfiledialog.cpp" line="-1496"/>
<location line="+648"/>
<source>Directory:</source>
- <translation>Dossier :</translation>
+ <translation>Dossier :</translation>
</message>
<message>
<source>
@@ -1726,12 +1726,12 @@ Veuillez vérifier que le nom du dossier est correct.</translation>
<source>&apos;%1&apos; is write protected.
Do you want to delete it anyway?</source>
<translation>&apos;%1&apos; est protégé en écriture.
-Voulez-vous quand même le supprimer?</translation>
+Voulez-vous quand même le supprimer ?</translation>
</message>
<message>
<location line="+5"/>
<source>Are sure you want to delete &apos;%1&apos;?</source>
- <translation>Etes-vous sûr de vouloir supprimer &apos;%1&apos;?</translation>
+ <translation>Etes-vous sûr de vouloir supprimer &apos;%1&apos; ?</translation>
</message>
<message>
<location line="+15"/>
@@ -1805,7 +1805,7 @@ Voulez-vous quand même le supprimer?</translation>
<location filename="../src/gui/dialogs/qfiledialog.cpp" line="-687"/>
<location line="+652"/>
<source>File &amp;name:</source>
- <translation>&amp;Nom de fichier :</translation>
+ <translation>&amp;Nom de fichier :</translation>
</message>
<message>
<location filename="../src/gui/dialogs/qfiledialog.ui"/>
@@ -2243,7 +2243,7 @@ Voulez-vous quand même le supprimer?</translation>
<location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/>
<source>Listing directory failed:
%1</source>
- <translation>Échec du listage du dossier :
+ <translation>Échec du listage du dossier :
%1</translation>
</message>
<message>
@@ -2251,7 +2251,7 @@ Voulez-vous quand même le supprimer?</translation>
<location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/>
<source>Changing directory failed:
%1</source>
- <translation>Échec du changement de dossier :
+ <translation>Échec du changement de dossier :
%1</translation>
</message>
<message>
@@ -2259,7 +2259,7 @@ Voulez-vous quand même le supprimer?</translation>
<location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/>
<source>Downloading file failed:
%1</source>
- <translation>Échec du téléchargement du fichier :
+ <translation>Échec du téléchargement du fichier :
%1</translation>
</message>
<message>
@@ -2267,7 +2267,7 @@ Voulez-vous quand même le supprimer?</translation>
<location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/>
<source>Uploading file failed:
%1</source>
- <translation>Échec du télédéchargement :
+ <translation>Échec du télédéchargement :
%1</translation>
</message>
<message>
@@ -2275,7 +2275,7 @@ Voulez-vous quand même le supprimer?</translation>
<location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/>
<source>Removing file failed:
%1</source>
- <translation>Échec de la suppression d&apos;un fichier :
+ <translation>Échec de la suppression d&apos;un fichier :
%1</translation>
</message>
<message>
@@ -2283,7 +2283,7 @@ Voulez-vous quand même le supprimer?</translation>
<location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/>
<source>Creating directory failed:
%1</source>
- <translation>Échec de la création d&apos;un dossier :
+ <translation>Échec de la création d&apos;un dossier :
%1</translation>
</message>
<message>
@@ -2291,7 +2291,7 @@ Voulez-vous quand même le supprimer?</translation>
<location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/>
<source>Removing directory failed:
%1</source>
- <translation>Échec de la suppression d&apos;un dossier :
+ <translation>Échec de la suppression d&apos;un dossier :
%1</translation>
</message>
<message>
@@ -2440,7 +2440,7 @@ Voulez-vous quand même le supprimer?</translation>
<message>
<location line="+28"/>
<source>Unknown authentication method</source>
- <translation type="unfinished"></translation>
+ <translation>Méthode d&apos;authentification inconnue</translation>
</message>
<message>
<location line="+97"/>
@@ -2718,7 +2718,7 @@ Voulez-vous quand même le supprimer?</translation>
<message>
<location filename="../src/gui/dialogs/qinputdialog.cpp" line="+223"/>
<source>Enter a value:</source>
- <translation>Entrer une valeur :</translation>
+ <translation>Entrer une valeur :</translation>
</message>
</context>
<context>
@@ -2738,7 +2738,7 @@ Voulez-vous quand même le supprimer?</translation>
<message>
<location filename="../src/corelib/plugin/qlibrary.cpp" line="+378"/>
<source>Could not mmap &apos;%1&apos;: %2</source>
- <translation>Impossible d&apos;établir la projection en mémoire de &apos;%1&apos; : %2</translation>
+ <translation>Impossible d&apos;établir la projection en mémoire de &apos;%1&apos; : %2</translation>
</message>
<message>
<location line="+22"/>
@@ -2748,7 +2748,7 @@ Voulez-vous quand même le supprimer?</translation>
<message>
<location line="+6"/>
<source>Could not unmap &apos;%1&apos;: %2</source>
- <translation>Impossible de supprimer la projection en mémoire de &apos;%1&apos; : %2</translation>
+ <translation>Impossible de supprimer la projection en mémoire de &apos;%1&apos; : %2</translation>
</message>
<message>
<location line="+302"/>
@@ -2785,19 +2785,19 @@ Voulez-vous quand même le supprimer?</translation>
<location filename="../src/corelib/plugin/qlibrary_unix.cpp" line="+209"/>
<location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+99"/>
<source>Cannot load library %1: %2</source>
- <translation>Impossible de charger la bibliothèque %1 : %2</translation>
+ <translation>Impossible de charger la bibliothèque %1 : %2</translation>
</message>
<message>
<location line="+16"/>
<location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+26"/>
<source>Cannot unload library %1: %2</source>
- <translation>Impossible de décharger la bibliothèque %1 : %2</translation>
+ <translation>Impossible de décharger la bibliothèque %1 : %2</translation>
</message>
<message>
<location line="+31"/>
<location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+15"/>
<source>Cannot resolve symbol &quot;%1&quot; in %2: %3</source>
- <translation>Impossible de résoudre le symbole &quot;%1&quot; dans %2 : %3</translation>
+ <translation>Impossible de résoudre le symbole &quot;%1&quot; dans %2 : %3</translation>
</message>
</context>
<context>
@@ -2815,7 +2815,7 @@ Voulez-vous quand même le supprimer?</translation>
<message>
<location line="+4"/>
<source>&amp;Redo</source>
- <translation>A&amp;nnuler Annuler</translation>
+ <translation>&amp;Rétablir</translation>
</message>
<message>
<location line="+7"/>
@@ -2925,7 +2925,7 @@ Voulez-vous quand même le supprimer?</translation>
<message>
<location line="+4"/>
<source>%1: Unknown error</source>
- <translation>%1 : erreur inconnue</translation>
+ <translation>%1 : erreur inconnue</translation>
</message>
<message>
<location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+4"/>
@@ -3424,22 +3424,22 @@ Voulez-vous quand même le supprimer?</translation>
<message>
<location line="+42"/>
<source>Error opening %1: %2</source>
- <translation>Erreur lors de l&apos;ouverture de %1 : %2</translation>
+ <translation>Erreur lors de l&apos;ouverture de %1 : %2</translation>
</message>
<message>
<location line="+56"/>
<source>Write error writing to %1: %2</source>
- <translation>Erreur d&apos;écriture de %1 : %2</translation>
+ <translation>Erreur d&apos;écriture de %1 : %2</translation>
</message>
<message>
<location line="+33"/>
<source>Cannot open %1: Path is a directory</source>
- <translation>Impossible d&apos;ouvrir %1 : le chemin est un dossier</translation>
+ <translation>Impossible d&apos;ouvrir %1 : le chemin est un dossier</translation>
</message>
<message>
<location line="+21"/>
<source>Read error reading from %1: %2</source>
- <translation>Erreur de lecture de %1 : %2</translation>
+ <translation>Erreur de lecture de %1 : %2</translation>
</message>
</context>
<context>
@@ -3452,22 +3452,22 @@ Voulez-vous quand même le supprimer?</translation>
<message>
<location line="+14"/>
<source>Cannot open %1: is a directory</source>
- <translation>Impossible d&apos;ouvrir %1 : le chemin est un dossier</translation>
+ <translation>Impossible d&apos;ouvrir %1 : le chemin est un dossier</translation>
</message>
<message>
<location line="+130"/>
<source>Logging in to %1 failed: authentication required</source>
- <translation>Connexion à %1 a échoué : authentification requise</translation>
+ <translation>Connexion à %1 a échoué : authentification requise</translation>
</message>
<message>
<location line="+39"/>
<source>Error while downloading %1: %2</source>
- <translation>Erreur lors du téléchargement de %1 : %2</translation>
+ <translation>Erreur lors du téléchargement de %1 : %2</translation>
</message>
<message>
<location line="+2"/>
<source>Error while uploading %1: %2</source>
- <translation>Erreur lors de l&apos;envoi de %1 : %2</translation>
+ <translation>Erreur lors de l&apos;envoi de %1 : %2</translation>
</message>
</context>
<context>
@@ -3673,22 +3673,22 @@ Voulez-vous quand même le supprimer?</translation>
<message>
<location line="+53"/>
<source>Invalid URI: %1</source>
- <translation>URI invalide : %1</translation>
+ <translation>URI invalide : %1</translation>
</message>
<message>
<location filename="../src/network/access/qnetworkaccessdebugpipebackend.cpp" line="+175"/>
<source>Write error writing to %1: %2</source>
- <translation>Erreur d&apos;écriture sur %1 : %2</translation>
+ <translation>Erreur d&apos;écriture sur %1 : %2</translation>
</message>
<message>
<location line="+57"/>
<source>Read error reading from %1: %2</source>
- <translation>Erreur de lecture sur %1 : %2</translation>
+ <translation>Erreur de lecture sur %1 : %2</translation>
</message>
<message>
<location line="+31"/>
<source>Socket error on %1: %2</source>
- <translation>Erreur de socket sur %1 : %2</translation>
+ <translation>Erreur de socket sur %1 : %2</translation>
</message>
<message>
<location line="+15"/>
@@ -3801,22 +3801,22 @@ Voulez-vous quand même le supprimer?</translation>
<message>
<location/>
<source>Page size:</source>
- <translation>Dimensions :</translation>
+ <translation>Dimensions :</translation>
</message>
<message>
<location/>
<source>Width:</source>
- <translation>Largeur :</translation>
+ <translation>Largeur :</translation>
</message>
<message>
<location/>
<source>Height:</source>
- <translation>Hauteur :</translation>
+ <translation>Hauteur :</translation>
</message>
<message>
<location/>
<source>Paper source:</source>
- <translation>Source du papier :</translation>
+ <translation>Source du papier :</translation>
</message>
<message>
<location/>
@@ -3924,7 +3924,7 @@ Voulez-vous quand même le supprimer?</translation>
</message>
<message>
<source>Number of copies:</source>
- <translation type="obsolete">Nombre de copies :</translation>
+ <translation type="obsolete">Nombre de copies :</translation>
</message>
<message>
<source>Paper format</source>
@@ -4067,7 +4067,7 @@ Voulez-vous quand même le supprimer?</translation>
<location filename="../src/gui/painting/qprinterinfo_unix.cpp" line="-647"/>
<location line="+225"/>
<source>Aliases: %1</source>
- <translation>Alias : %1</translation>
+ <translation>Alias : %1</translation>
</message>
<message>
<location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="-25"/>
@@ -4101,15 +4101,15 @@ Voulez-vous quand même le supprimer?</translation>
</message>
<message>
<source>Page size:</source>
- <translation type="obsolete">Dimensions :</translation>
+ <translation type="obsolete">Dimensions :</translation>
</message>
<message>
<source>Orientation:</source>
- <translation type="obsolete">Orientation :</translation>
+ <translation type="obsolete">Orientation :</translation>
</message>
<message>
<source>Paper source:</source>
- <translation type="obsolete">Source du papier :</translation>
+ <translation type="obsolete">Source du papier :</translation>
</message>
<message>
<location filename="../src/gui/dialogs/qabstractprintdialog.cpp" line="+110"/>
@@ -4137,7 +4137,7 @@ Voulez-vous quand même le supprimer?</translation>
</message>
<message>
<source>Size:</source>
- <translation type="obsolete">Taille :</translation>
+ <translation type="obsolete">Taille :</translation>
</message>
<message>
<source>Properties</source>
@@ -4145,7 +4145,7 @@ Voulez-vous quand même le supprimer?</translation>
</message>
<message>
<source>Printer info:</source>
- <translation type="obsolete">Informations sur l&apos;imprimante :</translation>
+ <translation type="obsolete">Informations sur l&apos;imprimante :</translation>
</message>
<message>
<source>Browse</source>
@@ -4195,7 +4195,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<source>%1 already exists.
Do you want to overwrite it?</source>
<translation>%1 existe.
-Voulez-vous l&apos;écraser?</translation>
+Voulez-vous l&apos;écraser ?</translation>
</message>
<message>
<location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="-228"/>
@@ -4205,7 +4205,7 @@ Voulez-vous l&apos;écraser?</translation>
<message>
<location line="+1"/>
<source>&lt;qt&gt;Do you want to overwrite it?&lt;/qt&gt;</source>
- <translation>&lt;qt&gt;voulez-vous l&apos;écraser?&lt;/qt&gt;</translation>
+ <translation>&lt;qt&gt;voulez-vous l&apos;écraser ?&lt;/qt&gt;</translation>
</message>
<message>
<location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="-8"/>
@@ -4666,7 +4666,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<message>
<location/>
<source>&amp;Name:</source>
- <translation>&amp;Nom :</translation>
+ <translation>&amp;Nom :</translation>
</message>
<message>
<location/>
@@ -4676,7 +4676,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<message>
<location/>
<source>Location:</source>
- <translation>Emplacement :</translation>
+ <translation>Emplacement :</translation>
</message>
<message>
<location/>
@@ -4716,7 +4716,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<message>
<location line="+235"/>
<source>Resource error (fork failure): %1</source>
- <translation>Erreur de ressouce (fork) : %1</translation>
+ <translation>Erreur de ressouce (fork) : %1</translation>
</message>
<message>
<location line="+259"/>
@@ -4754,7 +4754,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<message>
<location line="+912"/>
<source>No program defined</source>
- <translation type="unfinished"></translation>
+ <translation>Aucun programme défini</translation>
</message>
<message>
<location filename="../src/corelib/io/qprocess_win.cpp" line="-341"/>
@@ -5027,99 +5027,99 @@ Veuillez choisir un nom de fichier différent.</translation>
<message>
<location filename="../src/corelib/kernel/qsharedmemory.cpp" line="+207"/>
<source>%1: unable to set key on lock</source>
- <translation>%1 : impossible d&apos;affecter la clé au verrou</translation>
+ <translation>%1 : impossible d&apos;affecter la clé au verrou</translation>
</message>
<message>
<location line="+81"/>
<source>%1: create size is less then 0</source>
- <translation>%1 : taille de création est inférieur à 0</translation>
+ <translation>%1 : taille de création est inférieur à 0</translation>
</message>
<message>
<location line="+168"/>
<location filename="../src/corelib/kernel/qsharedmemory_p.h" line="+148"/>
<source>%1: unable to lock</source>
- <translation>%1 : impossible de vérrouiller</translation>
+ <translation>%1 : impossible de vérrouiller</translation>
</message>
<message>
<location line="+22"/>
<source>%1: unable to unlock</source>
- <translation>%1 : impossible de déverrouiller</translation>
+ <translation>%1 : impossible de déverrouiller</translation>
</message>
<message>
<location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+78"/>
<location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+87"/>
<source>%1: permission denied</source>
- <translation>%1 : permission refusée</translation>
+ <translation>%1 : permission refusée</translation>
</message>
<message>
<location line="+4"/>
<location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="-22"/>
<source>%1: already exists</source>
- <translation>%1 : existe déjà</translation>
+ <translation>%1 : existe déjà</translation>
</message>
<message>
<location line="+4"/>
<location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+9"/>
<source>%1: doesn&apos;t exists</source>
- <translation>%1 : n&apos;existe pas</translation>
+ <translation>%1 : n&apos;existe pas</translation>
</message>
<message>
<location line="+6"/>
<location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+9"/>
<source>%1: out of resources</source>
- <translation>%1 : plus de ressources disponibles</translation>
+ <translation>%1 : plus de ressources disponibles</translation>
</message>
<message>
<location line="+4"/>
<location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+7"/>
<source>%1: unknown error %2</source>
- <translation>%1 : erreur inconnue %2</translation>
+ <translation>%1 : erreur inconnue %2</translation>
</message>
<message>
<location line="+21"/>
<source>%1: key is empty</source>
- <translation>%1 : clé vide</translation>
+ <translation>%1 : clé vide</translation>
</message>
<message>
<location line="+8"/>
<source>%1: unix key file doesn&apos;t exists</source>
- <translation>%1 : le fichier de clé unix n&apos;existe pas</translation>
+ <translation>%1 : le fichier de clé unix n&apos;existe pas</translation>
</message>
<message>
<location line="+7"/>
<source>%1: ftok failed</source>
- <translation>%1 : ftok a échoué</translation>
+ <translation>%1 : ftok a échoué</translation>
</message>
<message>
<location line="+51"/>
<location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+15"/>
<source>%1: unable to make key</source>
- <translation>%1 : impossible de créer la clé</translation>
+ <translation>%1 : impossible de créer la clé</translation>
</message>
<message>
<location line="+20"/>
<source>%1: system-imposed size restrictions</source>
- <translation>%1 : le système impose des restrictions sur la taille</translation>
+ <translation>%1 : le système impose des restrictions sur la taille</translation>
</message>
<message>
<location line="+53"/>
<source>%1: not attached</source>
- <translation>%1 : non attaché</translation>
+ <translation>%1 : non attaché</translation>
</message>
<message>
<location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="-27"/>
<source>%1: invalid size</source>
- <translation>%1 : taille invalide</translation>
+ <translation>%1 : taille invalide</translation>
</message>
<message>
<location line="+68"/>
<source>%1: key error</source>
- <translation>%1 : erreur de clé</translation>
+ <translation>%1 : erreur de clé</translation>
</message>
<message>
<location line="+38"/>
<source>%1: size query failed</source>
- <translation>%1 : la requête de taille a échoué</translation>
+ <translation>%1 : la requête de taille a échoué</translation>
</message>
</context>
<context>
@@ -5648,7 +5648,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<message>
<location line="+1"/>
<source>Proxy authentication failed: %1</source>
- <translation>L&apos;authentification proxy a échoué : %1</translation>
+ <translation>L&apos;authentification proxy a échoué : %1</translation>
</message>
<message>
<location line="+9"/>
@@ -5683,7 +5683,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<message>
<location line="+5"/>
<source>Unknown SOCKSv5 proxy error code 0x%1</source>
- <translation>Erreur proxy SOCKSv5 inconnue : 0x%1</translation>
+ <translation>Erreur proxy SOCKSv5 inconnue : 0x%1</translation>
</message>
<message>
<source>Socks5 timeout error connecting to socks server</source>
@@ -5718,7 +5718,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<message>
<location line="+1"/>
<source>Delete this record?</source>
- <translation>Supprimer cet enregistrement ?</translation>
+ <translation>Supprimer cet enregistrement ?</translation>
</message>
<message>
<location line="+1"/>
@@ -5747,7 +5747,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<message>
<location line="+4"/>
<source>Save edits?</source>
- <translation>Enregistrer les modifications ?</translation>
+ <translation>Enregistrer les modifications ?</translation>
</message>
<message>
<location line="+3"/>
@@ -5762,7 +5762,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<message>
<location line="+1"/>
<source>Cancel your edits?</source>
- <translation>Annuler vos modifications ?</translation>
+ <translation>Annuler vos modifications ?</translation>
</message>
</context>
<context>
@@ -5770,17 +5770,17 @@ Veuillez choisir un nom de fichier différent.</translation>
<message>
<location filename="../src/network/ssl/qsslsocket_openssl.cpp" line="+569"/>
<source>Unable to write data: %1</source>
- <translation>Impossible d&apos;écrire les données : %1</translation>
+ <translation>Impossible d&apos;écrire les données : %1</translation>
</message>
<message>
<location line="+119"/>
<source>Error while reading: %1</source>
- <translation>Erreur lors de la lecture : %1</translation>
+ <translation>Erreur lors de la lecture : %1</translation>
</message>
<message>
<location line="+96"/>
<source>Error during SSL handshake: %1</source>
- <translation>Erreur lors de la poignée de main SSL : %1</translation>
+ <translation>Erreur lors de la poignée de main SSL : %1</translation>
</message>
<message>
<location line="-524"/>
@@ -5800,7 +5800,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<message>
<location line="+15"/>
<source>Error creating SSL session: %1</source>
- <translation>Erreur lors de la création de la session SSL : %1</translation>
+ <translation>Erreur lors de la création de la session SSL : %1</translation>
</message>
<message>
<location line="-61"/>
@@ -5844,12 +5844,12 @@ Veuillez choisir un nom de fichier différent.</translation>
<message>
<location line="+4"/>
<source>%1: already exists</source>
- <translation>%1 : existe déjà</translation>
+ <translation>%1 : existe déjà</translation>
</message>
<message>
<location line="+4"/>
<source>%1: does not exist</source>
- <translation>%1 : n&apos;existe pas</translation>
+ <translation>%1 : n&apos;existe pas</translation>
</message>
<message>
<location line="+9"/>
@@ -6396,7 +6396,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<location filename="../src/3rdparty/webkit/WebCore/platform/qt/Localizations.cpp" line="-291"/>
<source>This is a searchable index. Enter search keywords: </source>
<comment>text that appears at the start of nearly-obsolete web pages in the form of a &apos;searchable index&apos;</comment>
- <translation>Ceci est un index. Veuillez saisir les mots-clé :</translation>
+ <translation>Ceci est un index. Veuillez saisir les mots-clé :</translation>
</message>
<message>
<location filename="../src/3rdparty/webkit/WebCore/platform/qt/ScrollbarQt.cpp" line="+58"/>
@@ -6550,7 +6550,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<message>
<location line="+3"/>
<source>Select all</source>
- <translation type="unfinished"></translation>
+ <translation>Sélectionner tout</translation>
</message>
<message>
<location line="+3"/>
@@ -6625,12 +6625,12 @@ Veuillez choisir un nom de fichier différent.</translation>
<message>
<location line="+33"/>
<source>Insert a new paragraph</source>
- <translation type="unfinished"></translation>
+ <translation>Insérer un nouveau paragraphe</translation>
</message>
<message>
<location line="+3"/>
<source>Insert a new line</source>
- <translation type="unfinished"></translation>
+ <translation>Insérer une nouvelle ligne</translation>
</message>
</context>
<context>
@@ -6638,7 +6638,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<message>
<location filename="../src/gui/kernel/qwhatsthis.cpp" line="+522"/>
<source>What&apos;s This?</source>
- <translation>Qu&apos;est-ce que c&apos;est ?</translation>
+ <translation>Qu&apos;est-ce que c&apos;est ?</translation>
</message>
</context>
<context>
@@ -7152,7 +7152,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<message>
<location line="+115"/>
<source>Overflow: Date can&apos;t be represented.</source>
- <translation>Overflow : la date ne peut pas être représentée.</translation>
+ <translation>Overflow : la date ne peut pas être représentée.</translation>
</message>
<message>
<location filename="../src/xmlpatterns/data/qabstractduration.cpp" line="+99"/>
@@ -7304,7 +7304,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<message>
<location line="+8"/>
<source>Failure when casting from %1 to %2: %3</source>
- <translation>Echec en castant de %1 ver %2 : %3</translation>
+ <translation>Echec en castant de %1 ver %2 : %3</translation>
</message>
<message>
<location filename="../src/xmlpatterns/expr/qcommentconstructor.cpp" line="+67"/>
@@ -7481,7 +7481,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<message>
<location line="+30"/>
<source>%1 is an invalid flag for regular expressions. Valid flags are:</source>
- <translation>%1 est un flag invalide pour des expressions régulières. Les flags valides sont :</translation>
+ <translation>%1 est un flag invalide pour des expressions régulières. Les flags valides sont :</translation>
</message>
<message>
<location filename="../src/xmlpatterns/functions/qqnamefns.cpp" line="+17"/>
@@ -7804,7 +7804,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<message>
<location line="+15"/>
<source>Two namespace declaration attributes have the same name: %1.</source>
- <translation>Deux attributs de déclarations de namespace ont le même nom : %1.</translation>
+ <translation>Deux attributs de déclarations de namespace ont le même nom : %1.</translation>
</message>
<message>
<location line="+89"/>
@@ -7943,7 +7943,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<message>
<location filename="../src/xmlpatterns/expr/qcomputednamespaceconstructor.cpp" line="+69"/>
<source>In a namespace constructor, the value for a namespace cannot be an empty string.</source>
- <translation type="unfinished"></translation>
+ <translation>Dans un constructeur d&apos;espace de noms, la valeur pour un espace de noms ne peut pas être une chaîne vide.</translation>
</message>
<message>
<location line="+11"/>
@@ -8008,7 +8008,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<message>
<location line="+108"/>
<source>Unknown XSL-T attribute %1.</source>
- <translation>Attribut XSL-T inconnu : %1.</translation>
+ <translation>Attribut XSL-T inconnu : %1.</translation>
</message>
<message>
<location line="+23"/>
diff --git a/translations/translations.pri b/translations/translations.pri
index c77876a..5eb7328 100644
--- a/translations/translations.pri
+++ b/translations/translations.pri
@@ -8,13 +8,8 @@ defineReplace(prependAll) {
return ($$result)
}
-defineReplace(fixPath) {
- win32:1 ~= s|/|\\|
- return ($$1)
-}
-
-LUPDATE = $$fixPath($$QT_BUILD_TREE/bin/lupdate) -locations relative -no-ui-lines
-LRELEASE = $$fixPath($$QT_BUILD_TREE/bin/lrelease)
+LUPDATE = $$QT_BUILD_TREE/bin/lupdate -locations relative -no-ui-lines
+win32:isEmpty(QMAKE_SH):LUPDATE ~= s|/|\\|g
###### Qt Libraries
@@ -41,27 +36,18 @@ ts-qt.commands = (cd $$QT_SOURCE_TREE/src && $$LUPDATE \
-ts $$prependAll($$QT_SOURCE_TREE/translations/qt_,$$QT_TS,.ts))
ts-qt.depends = sub-tools
-qm-qt.commands = $$LRELEASE $$prependAll($$QT_SOURCE_TREE/translations/qt_,$$QT_TS,.ts)
-qm-qt.depends = sub-tools
-
###### Designer
ts-designer.commands = (cd $$QT_SOURCE_TREE/src && $$LUPDATE \
../tools/designer/translations/translations.pro)
ts-designer.depends = sub-tools
-qm-designer.commands = $$LRELEASE $$QT_SOURCE_TREE/tools/designer/translations/translations.pro
-qm-designer.depends = sub-tools
-
###### Linguist
ts-linguist.commands = (cd $$QT_SOURCE_TREE/src && $$LUPDATE \
../tools/linguist/linguist/linguist.pro)
ts-linguist.depends = sub-tools
-qm-linguist.commands = $$LRELEASE $$QT_SOURCE_TREE/tools/linguist/linguist/linguist.pro
-qm-linguist.depends = sub-tools
-
###### Assistant
ts-assistant.commands = (cd $$QT_SOURCE_TREE/src && $$LUPDATE \
@@ -72,36 +58,21 @@ ts-assistant.commands = (cd $$QT_SOURCE_TREE/src && $$LUPDATE \
../tools/assistant/translations/translations_adp.pro)
ts-assistant.depends = sub-tools
-qm-assistant.commands = ($$LRELEASE $$QT_SOURCE_TREE/tools/assistant/translations/translations.pro \
- && $$LRELEASE \
- $$QT_SOURCE_TREE/tools/assistant/translations/qt_help.pro \
- && $$LRELEASE \
- $$QT_SOURCE_TREE/tools/assistant/translations/translations_adp.pro)
-qm-assistant.depends = sub-tools
-
###### Qtconfig
ts-qtconfig.commands = (cd $$QT_SOURCE_TREE/src && $$LUPDATE \
../tools/qtconfig/translations/translations.pro)
ts-qtconfig.depends = sub-tools
-qm-qtconfig.commands = $$LRELEASE $$QT_SOURCE_TREE/tools/qtconfig/translations/translations.pro
-qm-qtconfig.depends = sub-tools
-
###### Qvfp
ts-qvfb.commands = (cd $$QT_SOURCE_TREE/src && $$LUPDATE \
../tools/qvfb/translations/translations.pro)
ts-qvfb.depends = sub-tools
-qm-qvfb.commands = $$LRELEASE $$QT_SOURCE_TREE/tools/qvfb/translations/translations.pro
-qm-qvfb.depends = sub-tools
-
###### Overall Rules
ts.depends = ts-qt ts-designer ts-linguist ts-assistant ts-qtconfig ts-qvfb
-qm.depends = qm-qt qm-designer qm-linguist qm-assistant qm-qtconfig qm-qvfb
QMAKE_EXTRA_TARGETS += ts-qt ts-designer ts-linguist ts-assistant ts-qtconfig ts-qvfb \
- qm-qt qm-designer qm-linguist qm-assistant qm-qtconfig qm-qvfb \
- ts qm
+ ts
diff --git a/translations/translations.pro b/translations/translations.pro
new file mode 100644
index 0000000..60f84e6
--- /dev/null
+++ b/translations/translations.pro
@@ -0,0 +1,42 @@
+TRANSLATIONS = $$files(*.ts)
+
+LRELEASE = $$QT_BUILD_TREE/bin/lrelease
+win32:isEmpty(QMAKE_SH):LRELEASE ~= s|/|\\|g
+
+contains(TEMPLATE_PREFIX, vc):vcproj = 1
+
+TEMPLATE = app
+TARGET = qm_phony_target
+CONFIG -= qt separate_debug_info
+QT =
+LIBS =
+
+updateqm.input = TRANSLATIONS
+updateqm.output = ${QMAKE_FILE_BASE}.qm
+isEmpty(vcproj):updateqm.variable_out = PRE_TARGETDEPS
+updateqm.commands = @echo lrelease ${QMAKE_FILE_IN}; $$LRELEASE ${QMAKE_FILE_IN} -qm ${QMAKE_FILE_OUT}
+updateqm.name = LRELEASE ${QMAKE_FILE_IN}
+updateqm.CONFIG += no_link
+QMAKE_EXTRA_COMPILERS += updateqm
+
+isEmpty(vcproj) {
+ QMAKE_LINK = @: IGNORE THIS LINE
+ OBJECTS_DIR =
+ win32:CONFIG -= embed_manifest_exe
+} else {
+ CONFIG += console
+ PHONY_DEPS = .
+ phony_src.input = PHONY_DEPS
+ phony_src.output = phony.c
+ phony_src.variable_out = GENERATED_SOURCES
+ phony_src.commands = echo int main() { return 0; } > phony.c
+ phony_src.name = CREATE phony.c
+ phony_src.CONFIG += combine
+ QMAKE_EXTRA_COMPILERS += phony_src
+}
+
+translations.path = $$[QT_INSTALL_TRANSLATIONS]
+translations.files = $$TRANSLATIONS
+translations.files ~= s,\\.ts$,.qm,g
+translations.CONFIG += no_check_exist
+INSTALLS += translations