summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xconfigure116
-rwxr-xr-xconfigure.exebin1173504 -> 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.0231
-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/compiler-notes.qdoc24
-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/.gitignore6
-rw-r--r--src/3rdparty/webkit/ChangeLog14
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/ChangeLog85
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/generated/Grammar.cpp1004
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/generated/Grammar.h109
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp9
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.cpp7
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/TimeoutChecker.h1
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h2
-rw-r--r--src/3rdparty/webkit/VERSION2
-rw-r--r--src/3rdparty/webkit/WebCore/ChangeLog229
-rw-r--r--src/3rdparty/webkit/WebCore/css/maketokenizer25
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Element.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/dom/XMLTokenizerQt.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/CSSGrammar.cpp882
-rw-r--r--src/3rdparty/webkit/WebCore/generated/CSSGrammar.h110
-rw-r--r--src/3rdparty/webkit/WebCore/generated/Grammar.cpp1004
-rw-r--r--src/3rdparty/webkit/WebCore/generated/Grammar.h109
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSInspectorBackend.cpp16
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSInspectorBackend.h1
-rw-r--r--src/3rdparty/webkit/WebCore/generated/XPathGrammar.cpp418
-rw-r--r--src/3rdparty/webkit/WebCore/generated/XPathGrammar.h64
-rw-r--r--src/3rdparty/webkit/WebCore/generated/tokenizer.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTokenizer.cpp3
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorBackend.cpp22
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorBackend.h1
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorBackend.idl1
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/InspectorControllerStub.js5
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/inspector.css6
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/inspector.js4
-rw-r--r--src/3rdparty/webkit/WebCore/loader/FrameLoader.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/loader/MainResourceLoader.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/page/PrintContext.cpp30
-rw-r--r--src/3rdparty/webkit/WebCore/page/Settings.cpp12
-rw-r--r--src/3rdparty/webkit/WebCore/page/Settings.h8
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/FontCacheQt.cpp11
-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/WebCore/platform/network/qt/QNetworkReplyHandler.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/qt/ResourceRequestQt.cpp7
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/QWebPageClient.h2
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderBlock.cpp15
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderInline.cpp13
-rw-r--r--src/3rdparty/webkit/WebCore/storage/Database.cpp4
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.cpp73
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebelement.cpp230
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebelement.h2
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebframe.cpp19
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp8
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.cpp73
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.h6
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp18
-rw-r--r--src/3rdparty/webkit/WebKit/qt/ChangeLog218
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp51
-rw-r--r--src/3rdparty/webkit/WebKit/qt/docs/docs.pri4
-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.cpp26
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp32
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp23
-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/global/qnamespace.qdoc2
-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/qfile.cpp2
-rw-r--r--src/corelib/io/qfilesystemwatcher_win.cpp8
-rw-r--r--src/corelib/io/qfsfileengine.cpp6
-rw-r--r--src/corelib/io/qiodevice.cpp211
-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.cpp9
-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/qscriptable.cpp22
-rw-r--r--src/script/api/qscriptable.h22
-rw-r--r--src/script/api/qscriptable_p.h22
-rw-r--r--src/script/api/qscriptclass.cpp22
-rw-r--r--src/script/api/qscriptclass.h22
-rw-r--r--src/script/api/qscriptclasspropertyiterator.cpp22
-rw-r--r--src/script/api/qscriptclasspropertyiterator.h22
-rw-r--r--src/script/api/qscriptcontext.cpp22
-rw-r--r--src/script/api/qscriptcontext.h22
-rw-r--r--src/script/api/qscriptcontext_p.h22
-rw-r--r--src/script/api/qscriptcontextinfo.cpp22
-rw-r--r--src/script/api/qscriptcontextinfo.h22
-rw-r--r--src/script/api/qscriptengine.cpp30
-rw-r--r--src/script/api/qscriptengine.h22
-rw-r--r--src/script/api/qscriptengine_p.h22
-rw-r--r--src/script/api/qscriptengineagent.cpp22
-rw-r--r--src/script/api/qscriptengineagent.h22
-rw-r--r--src/script/api/qscriptengineagent_p.h22
-rw-r--r--src/script/api/qscriptextensioninterface.h22
-rw-r--r--src/script/api/qscriptextensionplugin.cpp22
-rw-r--r--src/script/api/qscriptextensionplugin.h22
-rw-r--r--src/script/api/qscriptprogram.cpp22
-rw-r--r--src/script/api/qscriptprogram.h22
-rw-r--r--src/script/api/qscriptprogram_p.h22
-rw-r--r--src/script/api/qscriptstring.cpp22
-rw-r--r--src/script/api/qscriptstring.h22
-rw-r--r--src/script/api/qscriptstring_p.h22
-rw-r--r--src/script/api/qscriptvalue.cpp22
-rw-r--r--src/script/api/qscriptvalue.h22
-rw-r--r--src/script/api/qscriptvalue_p.h22
-rw-r--r--src/script/api/qscriptvalueiterator.cpp22
-rw-r--r--src/script/api/qscriptvalueiterator.h22
-rw-r--r--src/script/bridge/qscriptactivationobject.cpp22
-rw-r--r--src/script/bridge/qscriptactivationobject_p.h22
-rw-r--r--src/script/bridge/qscriptclassobject.cpp22
-rw-r--r--src/script/bridge/qscriptclassobject_p.h22
-rw-r--r--src/script/bridge/qscriptdeclarativeclass.cpp23
-rw-r--r--src/script/bridge/qscriptdeclarativeclass_p.h22
-rw-r--r--src/script/bridge/qscriptdeclarativeobject.cpp22
-rw-r--r--src/script/bridge/qscriptdeclarativeobject_p.h22
-rw-r--r--src/script/bridge/qscriptfunction.cpp22
-rw-r--r--src/script/bridge/qscriptfunction_p.h22
-rw-r--r--src/script/bridge/qscriptglobalobject.cpp22
-rw-r--r--src/script/bridge/qscriptglobalobject_p.h22
-rw-r--r--src/script/bridge/qscriptobject.cpp22
-rw-r--r--src/script/bridge/qscriptobject_p.h22
-rw-r--r--src/script/bridge/qscriptqobject.cpp22
-rw-r--r--src/script/bridge/qscriptqobject_p.h22
-rw-r--r--src/script/bridge/qscriptvariant.cpp22
-rw-r--r--src/script/bridge/qscriptvariant_p.h22
-rw-r--r--src/script/parser/qscript.g22
-rw-r--r--src/script/parser/qscriptast.cpp22
-rw-r--r--src/script/parser/qscriptast_p.h22
-rw-r--r--src/script/parser/qscriptastfwd_p.h22
-rw-r--r--src/script/parser/qscriptastvisitor.cpp22
-rw-r--r--src/script/parser/qscriptastvisitor_p.h22
-rw-r--r--src/script/parser/qscriptgrammar.cpp22
-rw-r--r--src/script/parser/qscriptgrammar_p.h22
-rw-r--r--src/script/parser/qscriptlexer.cpp22
-rw-r--r--src/script/parser/qscriptlexer_p.h22
-rw-r--r--src/script/parser/qscriptparser.cpp22
-rw-r--r--src/script/parser/qscriptparser_p.h22
-rw-r--r--src/script/parser/qscriptsyntaxchecker.cpp22
-rw-r--r--src/script/parser/qscriptsyntaxchecker_p.h22
-rw-r--r--src/script/utils/qscriptdate.cpp22
-rw-r--r--src/script/utils/qscriptdate_p.h22
-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/headers/tst_headers.cpp2
-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/qfile/tst_qfile.cpp17
-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.cpp5
-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/qttracereplay/main.cpp6
-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_de.ts74
-rw-r--r--translations/assistant_fr.ts84
-rw-r--r--translations/designer_de.ts28
-rw-r--r--translations/designer_fr.ts7046
-rw-r--r--translations/linguist_de.ts28
-rw-r--r--translations/qt_de.ts948
-rw-r--r--translations/qt_fr.ts228
-rw-r--r--translations/qt_help_de.ts69
-rw-r--r--translations/translations.pri35
-rw-r--r--translations/translations.pro42
545 files changed, 18298 insertions, 6943 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 7fe4a93..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 24d8fc0..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.
@@ -608,67 +631,49 @@ QtWebKit
* New functions for defining local URL schemes.
- QWebSettings
- * New options for text encoding, printing shrink factor and off-line web
- application cache (HTML5).
+ * New options for text encoding and off-line web application cache (HTML5).
- QWebView
* 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.
@@ -905,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
-----------------
@@ -974,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 *
****************************************************************************
@@ -1149,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 40b2f89..f0a6799 100644
--- a/doc/src/getting-started/examples.qdoc
+++ b/doc/src/getting-started/examples.qdoc
@@ -719,6 +719,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
@@ -806,6 +807,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/compiler-notes.qdoc b/doc/src/platforms/compiler-notes.qdoc
index 4577bf0..88e1e37 100644
--- a/doc/src/platforms/compiler-notes.qdoc
+++ b/doc/src/platforms/compiler-notes.qdoc
@@ -97,12 +97,28 @@
\o mingw32-make 3.80.0-3
\endlist
+ \note For users of the MinGW binary package: This package is now
+ based on MinGW 4.4. The installer no longer offers to download
+ MinGW for you, but rather offers to use a version of MinGW that
+ you already have installed on your machine. You just tell the
+ installer which directory MinGW is installed in. If you don't
+ already have MinGW 4.4 installed, you can download a .zip archive
+ from our \l{ftp://ftp.trolltech.com/misc/MinGW-gcc440_1.zip} {ftp
+ site}. This archive provides fixes to MinGW and support for
+ missing API, See the _patches directory in the archive for
+ details.
+
+ \note A MinGW installation is only needed to build against the
+ binary pacakge, not to run the pre-compiled binaries that are in
+ the package.
+
\section2 GCC 4.0.0
- The released package of the compiler has some bugs that lead to miscompilations.
- We recommend using GCC 4.0.1 or later, or to use a recent CVS snapshot of the
- GCC 4.0 branch. The version of GCC 4.0.0 that is shipped with Mac OS X 10.4
- "Tiger" is known to work with Qt for Mac OS X.
+ The released package of the compiler has some bugs that lead to
+ miscompilations. We recommend using GCC 4.0.1 or later, or to use
+ a recent CVS snapshot of the GCC 4.0 branch. The version of GCC
+ 4.0.0 that is shipped with Mac OS X 10.4 "Tiger" is known to work
+ with Qt for Mac OS X.
\section2 HP-UX
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/.gitignore b/src/3rdparty/webkit/.gitignore
new file mode 100644
index 0000000..b9595b3
--- /dev/null
+++ b/src/3rdparty/webkit/.gitignore
@@ -0,0 +1,6 @@
+*.mode*
+*.pbxuser
+*.perspective*
+*.pyc
+build/
+/WebKitBuild/
diff --git a/src/3rdparty/webkit/ChangeLog b/src/3rdparty/webkit/ChangeLog
index dc43e0e..26dbaf7 100644
--- a/src/3rdparty/webkit/ChangeLog
+++ b/src/3rdparty/webkit/ChangeLog
@@ -1,3 +1,17 @@
+2009-10-30 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ Teach git to ignore some files
+ https://bugs.webkit.org/show_bug.cgi?id=30951
+
+ Ignore WebKitBuild because we never want to version that directory.
+ Also, ignore the xcode project files so git clean doesn't blow away
+ your project settings. Finally, ignore the compiled python files in
+ WebKitTools/Script modules because they clutter up git status.
+
+ * .gitignore: Added.
+
2009-10-26 Holger Hans Peter Freyther <zecke@selfish.org>
Rubber-stamped by Darin Adler.
diff --git a/src/3rdparty/webkit/JavaScriptCore/ChangeLog b/src/3rdparty/webkit/JavaScriptCore/ChangeLog
index e6ab073..304f9ef 100644
--- a/src/3rdparty/webkit/JavaScriptCore/ChangeLog
+++ b/src/3rdparty/webkit/JavaScriptCore/ChangeLog
@@ -1,3 +1,88 @@
+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.
+
+ Fix Qt build on Windows CE 6.
+
+ * JavaScriptCore.pri: Add missing include path.
+ * wtf/Platform.h: Include ce_time.h for Windows CE 6.
+
+2009-11-12 Thiago Macieira <thiago.macieira@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Fix linking on Linux 32-bit.
+
+ It was missing the ".text" directive at the top of the file,
+ indicating that code would follow. Without it, the assembler created
+ "NOTYPE" symbols, which would result in linker errors.
+ https://bugs.webkit.org/show_bug.cgi?id=30863
+
+ * jit/JITStubs.cpp:
+
+2009-11-13 İsmail Dönmez <ismail@namtrac.org>
+
+ Reviewed by Antti Koivisto.
+
+ Fix typo, ce_time.cpp should be ce_time.c
+
+ * JavaScriptCore.pri:
+
+2009-11-12 Richard Moe Gustavsen <richard.gustavsen@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Disable pthread_setname_np.
+
+ This allows Qt builds on Mac from 10.6 to run on earlier version
+ where this symbol is not present.
+ https://bugs.webkit.org/show_bug.cgi?id=31403
+
+ * wtf/Platform.h:
+
+2009-11-02 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ REGRESSION (r48573): JSC may incorrectly cache chain lookups with a dictionary at the head of the chain
+ https://bugs.webkit.org/show_bug.cgi?id=31045
+
+ Add guards to prevent caching of prototype chain lookups with dictionaries at the
+ head of the chain. Also add a few tighter assertions to cached prototype lookups
+ to catch this in future.
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::tryCacheGetByID):
+ (JSC::Interpreter::privateExecute):
+ * jit/JITStubs.cpp:
+ (JSC::JITThunks::tryCacheGetByID):
+
+2009-10-30 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by NOBODY (OOPS!).
+
+ [Qt] Use the default timeout interval for JS as the HTML tokenizer delay for setHtml()
+
+ This ensures that long-running JavaScript (for example due to a modal alert() dialog),
+ will not trigger a deferred load after only 500ms (the default tokenizer delay) while
+ still giving a reasonable timeout (10 seconds) to prevent deadlock.
+
+ https://bugs.webkit.org/show_bug.cgi?id=29381
+
+ * runtime/TimeoutChecker.h: Add getter for the timeout interval
+
2009-10-29 Gabor Loki <loki@inf.u-szeged.hu>
Reviewed by Gavin Barraclough.
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/JavaScriptCore/generated/Grammar.cpp b/src/3rdparty/webkit/JavaScriptCore/generated/Grammar.cpp
index 5b1be71..4f78903 100644
--- a/src/3rdparty/webkit/JavaScriptCore/generated/Grammar.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/generated/Grammar.cpp
@@ -1,24 +1,23 @@
-/* A Bison parser, made by GNU Bison 2.3. */
-/* Skeleton implementation for Bison's Yacc-like parsers in C
+/* A Bison parser, made by GNU Bison 2.4.1. */
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+/* Skeleton implementation for Bison's Yacc-like parsers in C
+
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
+
+ This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
This program 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 General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA. */
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
@@ -29,7 +28,7 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
@@ -47,7 +46,7 @@
#define YYBISON 1
/* Bison version. */
-#define YYBISON_VERSION "2.3"
+#define YYBISON_VERSION "2.4.1"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@@ -55,159 +54,28 @@
/* Pure parsers. */
#define YYPURE 1
+/* Push parsers. */
+#define YYPUSH 0
+
+/* Pull parsers. */
+#define YYPULL 1
+
/* Using locations. */
#define YYLSP_NEEDED 1
/* Substitute the variable and function names. */
-#define yyparse jscyyparse
-#define yylex jscyylex
-#define yyerror jscyyerror
-#define yylval jscyylval
-#define yychar jscyychar
-#define yydebug jscyydebug
-#define yynerrs jscyynerrs
-#define yylloc jscyylloc
-
-/* Tokens. */
-#ifndef YYTOKENTYPE
-# define YYTOKENTYPE
- /* Put the tokens into the symbol table, so that GDB and other debuggers
- know about them. */
- enum yytokentype {
- NULLTOKEN = 258,
- TRUETOKEN = 259,
- FALSETOKEN = 260,
- BREAK = 261,
- CASE = 262,
- DEFAULT = 263,
- FOR = 264,
- NEW = 265,
- VAR = 266,
- CONSTTOKEN = 267,
- CONTINUE = 268,
- FUNCTION = 269,
- RETURN = 270,
- VOIDTOKEN = 271,
- DELETETOKEN = 272,
- IF = 273,
- THISTOKEN = 274,
- DO = 275,
- WHILE = 276,
- INTOKEN = 277,
- INSTANCEOF = 278,
- TYPEOF = 279,
- SWITCH = 280,
- WITH = 281,
- RESERVED = 282,
- THROW = 283,
- TRY = 284,
- CATCH = 285,
- FINALLY = 286,
- DEBUGGER = 287,
- IF_WITHOUT_ELSE = 288,
- ELSE = 289,
- EQEQ = 290,
- NE = 291,
- STREQ = 292,
- STRNEQ = 293,
- LE = 294,
- GE = 295,
- OR = 296,
- AND = 297,
- PLUSPLUS = 298,
- MINUSMINUS = 299,
- LSHIFT = 300,
- RSHIFT = 301,
- URSHIFT = 302,
- PLUSEQUAL = 303,
- MINUSEQUAL = 304,
- MULTEQUAL = 305,
- DIVEQUAL = 306,
- LSHIFTEQUAL = 307,
- RSHIFTEQUAL = 308,
- URSHIFTEQUAL = 309,
- ANDEQUAL = 310,
- MODEQUAL = 311,
- XOREQUAL = 312,
- OREQUAL = 313,
- OPENBRACE = 314,
- CLOSEBRACE = 315,
- NUMBER = 316,
- IDENT = 317,
- STRING = 318,
- AUTOPLUSPLUS = 319,
- AUTOMINUSMINUS = 320
- };
-#endif
-/* Tokens. */
-#define NULLTOKEN 258
-#define TRUETOKEN 259
-#define FALSETOKEN 260
-#define BREAK 261
-#define CASE 262
-#define DEFAULT 263
-#define FOR 264
-#define NEW 265
-#define VAR 266
-#define CONSTTOKEN 267
-#define CONTINUE 268
-#define FUNCTION 269
-#define RETURN 270
-#define VOIDTOKEN 271
-#define DELETETOKEN 272
-#define IF 273
-#define THISTOKEN 274
-#define DO 275
-#define WHILE 276
-#define INTOKEN 277
-#define INSTANCEOF 278
-#define TYPEOF 279
-#define SWITCH 280
-#define WITH 281
-#define RESERVED 282
-#define THROW 283
-#define TRY 284
-#define CATCH 285
-#define FINALLY 286
-#define DEBUGGER 287
-#define IF_WITHOUT_ELSE 288
-#define ELSE 289
-#define EQEQ 290
-#define NE 291
-#define STREQ 292
-#define STRNEQ 293
-#define LE 294
-#define GE 295
-#define OR 296
-#define AND 297
-#define PLUSPLUS 298
-#define MINUSMINUS 299
-#define LSHIFT 300
-#define RSHIFT 301
-#define URSHIFT 302
-#define PLUSEQUAL 303
-#define MINUSEQUAL 304
-#define MULTEQUAL 305
-#define DIVEQUAL 306
-#define LSHIFTEQUAL 307
-#define RSHIFTEQUAL 308
-#define URSHIFTEQUAL 309
-#define ANDEQUAL 310
-#define MODEQUAL 311
-#define XOREQUAL 312
-#define OREQUAL 313
-#define OPENBRACE 314
-#define CLOSEBRACE 315
-#define NUMBER 316
-#define IDENT 317
-#define STRING 318
-#define AUTOPLUSPLUS 319
-#define AUTOMINUSMINUS 320
-
-
-
+#define yyparse jscyyparse
+#define yylex jscyylex
+#define yyerror jscyyerror
+#define yylval jscyylval
+#define yychar jscyychar
+#define yydebug jscyydebug
+#define yynerrs jscyynerrs
+#define yylloc jscyylloc
/* Copy the first part of user declarations. */
+
+/* Line 189 of yacc.c */
#line 3 "../parser/Grammar.y"
@@ -352,6 +220,9 @@ static inline void appendToVarDeclarationList(JSGlobalData* globalData, ParserAr
+/* Line 189 of yacc.c */
+#line 225 "JavaScriptCore/tmp/../generated/Grammar.tab.c"
+
/* Enabling traces. */
#ifndef YYDEBUG
# define YYDEBUG 0
@@ -370,10 +241,88 @@ static inline void appendToVarDeclarationList(JSGlobalData* globalData, ParserAr
# define YYTOKEN_TABLE 0
#endif
+
+/* Tokens. */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ NULLTOKEN = 258,
+ TRUETOKEN = 259,
+ FALSETOKEN = 260,
+ BREAK = 261,
+ CASE = 262,
+ DEFAULT = 263,
+ FOR = 264,
+ NEW = 265,
+ VAR = 266,
+ CONSTTOKEN = 267,
+ CONTINUE = 268,
+ FUNCTION = 269,
+ RETURN = 270,
+ VOIDTOKEN = 271,
+ DELETETOKEN = 272,
+ IF = 273,
+ THISTOKEN = 274,
+ DO = 275,
+ WHILE = 276,
+ INTOKEN = 277,
+ INSTANCEOF = 278,
+ TYPEOF = 279,
+ SWITCH = 280,
+ WITH = 281,
+ RESERVED = 282,
+ THROW = 283,
+ TRY = 284,
+ CATCH = 285,
+ FINALLY = 286,
+ DEBUGGER = 287,
+ IF_WITHOUT_ELSE = 288,
+ ELSE = 289,
+ EQEQ = 290,
+ NE = 291,
+ STREQ = 292,
+ STRNEQ = 293,
+ LE = 294,
+ GE = 295,
+ OR = 296,
+ AND = 297,
+ PLUSPLUS = 298,
+ MINUSMINUS = 299,
+ LSHIFT = 300,
+ RSHIFT = 301,
+ URSHIFT = 302,
+ PLUSEQUAL = 303,
+ MINUSEQUAL = 304,
+ MULTEQUAL = 305,
+ DIVEQUAL = 306,
+ LSHIFTEQUAL = 307,
+ RSHIFTEQUAL = 308,
+ URSHIFTEQUAL = 309,
+ ANDEQUAL = 310,
+ MODEQUAL = 311,
+ XOREQUAL = 312,
+ OREQUAL = 313,
+ OPENBRACE = 314,
+ CLOSEBRACE = 315,
+ NUMBER = 316,
+ IDENT = 317,
+ STRING = 318,
+ AUTOPLUSPLUS = 319,
+ AUTOMINUSMINUS = 320
+ };
+#endif
+
+
+
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
-#line 146 "../parser/Grammar.y"
{
+
+/* Line 214 of yacc.c */
+#line 146 "../parser/Grammar.y"
+
int intValue;
double doubleValue;
const Identifier* ident;
@@ -403,13 +352,15 @@ typedef union YYSTYPE
ParameterListInfo parameterList;
Operator op;
-}
-/* Line 187 of yacc.c. */
-#line 409 "JavaScriptCore/tmp/../generated/Grammar.tab.c"
- YYSTYPE;
+
+
+
+/* Line 214 of yacc.c */
+#line 360 "JavaScriptCore/tmp/../generated/Grammar.tab.c"
+} YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
#endif
#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
@@ -427,6 +378,8 @@ typedef struct YYLTYPE
/* Copy the second part of user declarations. */
+
+/* Line 264 of yacc.c */
#line 178 "../parser/Grammar.y"
@@ -442,8 +395,8 @@ static inline void setExceptionLocation(ThrowableExpressionData* node, unsigned
-/* Line 216 of yacc.c. */
-#line 447 "JavaScriptCore/tmp/../generated/Grammar.tab.c"
+/* Line 264 of yacc.c */
+#line 400 "JavaScriptCore/tmp/../generated/Grammar.tab.c"
#ifdef short
# undef short
@@ -518,14 +471,14 @@ typedef short int yytype_int16;
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static int
-YYID (int i)
+YYID (int yyi)
#else
static int
-YYID (i)
- int i;
+YYID (yyi)
+ int yyi;
#endif
{
- return i;
+ return yyi;
}
#endif
@@ -607,9 +560,9 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */
/* A type that is properly aligned for any stack member. */
union yyalloc
{
- yytype_int16 yyss;
- YYSTYPE yyvs;
- YYLTYPE yyls;
+ yytype_int16 yyss_alloc;
+ YYSTYPE yyvs_alloc;
+ YYLTYPE yyls_alloc;
};
/* The size of the maximum gap between one aligned stack and the next. */
@@ -644,12 +597,12 @@ union yyalloc
elements in the stack, and YYPTR gives the new location of the
stack. Advance YYPTR to a properly aligned location for the next
stack. */
-# define YYSTACK_RELOCATE(Stack) \
+# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
do \
{ \
YYSIZE_T yynewbytes; \
- YYCOPY (&yyptr->Stack, Stack, yysize); \
- Stack = &yyptr->Stack; \
+ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
+ Stack = &yyptr->Stack_alloc; \
yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
yyptr += yynewbytes / sizeof (*yyptr); \
} \
@@ -2363,17 +2316,20 @@ yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp)
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static void
-yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
+yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
#else
static void
-yy_stack_print (bottom, top)
- yytype_int16 *bottom;
- yytype_int16 *top;
+yy_stack_print (yybottom, yytop)
+ yytype_int16 *yybottom;
+ yytype_int16 *yytop;
#endif
{
YYFPRINTF (stderr, "Stack now");
- for (; bottom <= top; ++bottom)
- YYFPRINTF (stderr, " %d", *bottom);
+ for (; yybottom <= yytop; yybottom++)
+ {
+ int yybot = *yybottom;
+ YYFPRINTF (stderr, " %d", yybot);
+ }
YYFPRINTF (stderr, "\n");
}
@@ -2408,11 +2364,11 @@ yy_reduce_print (yyvsp, yylsp, yyrule)
/* The symbols being reduced. */
for (yyi = 0; yyi < yynrhs; yyi++)
{
- fprintf (stderr, " $%d = ", yyi + 1);
+ YYFPRINTF (stderr, " $%d = ", yyi + 1);
yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
&(yyvsp[(yyi + 1) - (yynrhs)])
, &(yylsp[(yyi + 1) - (yynrhs)]) );
- fprintf (stderr, "\n");
+ YYFPRINTF (stderr, "\n");
}
}
@@ -2694,10 +2650,8 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
break;
}
}
-
/* Prevent warnings from -Wmissing-prototypes. */
-
#ifdef YYPARSE_PARAM
#if defined __STDC__ || defined __cplusplus
int yyparse (void *YYPARSE_PARAM);
@@ -2716,10 +2670,9 @@ int yyparse ();
-
-/*----------.
-| yyparse. |
-`----------*/
+/*-------------------------.
+| yyparse or yypush_parse. |
+`-------------------------*/
#ifdef YYPARSE_PARAM
#if (defined __STDC__ || defined __C99__FUNC__ \
@@ -2743,88 +2696,97 @@ yyparse ()
#endif
#endif
{
- /* The look-ahead symbol. */
+/* The lookahead symbol. */
int yychar;
-/* The semantic value of the look-ahead symbol. */
+/* The semantic value of the lookahead symbol. */
YYSTYPE yylval;
-/* Number of syntax errors so far. */
-int yynerrs;
-/* Location data for the look-ahead symbol. */
+/* Location data for the lookahead symbol. */
YYLTYPE yylloc;
- int yystate;
- int yyn;
- int yyresult;
- /* Number of tokens to shift before error messages enabled. */
- int yyerrstatus;
- /* Look-ahead token as an internal (translated) token number. */
- int yytoken = 0;
-#if YYERROR_VERBOSE
- /* Buffer for error messages, and its allocated size. */
- char yymsgbuf[128];
- char *yymsg = yymsgbuf;
- YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
-#endif
+ /* Number of syntax errors so far. */
+ int yynerrs;
- /* Three stacks and their tools:
- `yyss': related to states,
- `yyvs': related to semantic values,
- `yyls': related to locations.
+ int yystate;
+ /* Number of tokens to shift before error messages enabled. */
+ int yyerrstatus;
- Refer to the stacks thru separate pointers, to allow yyoverflow
- to reallocate them elsewhere. */
+ /* The stacks and their tools:
+ `yyss': related to states.
+ `yyvs': related to semantic values.
+ `yyls': related to locations.
- /* The state stack. */
- yytype_int16 yyssa[YYINITDEPTH];
- yytype_int16 *yyss = yyssa;
- yytype_int16 *yyssp;
+ Refer to the stacks thru separate pointers, to allow yyoverflow
+ to reallocate them elsewhere. */
- /* The semantic value stack. */
- YYSTYPE yyvsa[YYINITDEPTH];
- YYSTYPE *yyvs = yyvsa;
- YYSTYPE *yyvsp;
+ /* The state stack. */
+ yytype_int16 yyssa[YYINITDEPTH];
+ yytype_int16 *yyss;
+ yytype_int16 *yyssp;
- /* The location stack. */
- YYLTYPE yylsa[YYINITDEPTH];
- YYLTYPE *yyls = yylsa;
- YYLTYPE *yylsp;
- /* The locations where the error started and ended. */
- YYLTYPE yyerror_range[2];
+ /* The semantic value stack. */
+ YYSTYPE yyvsa[YYINITDEPTH];
+ YYSTYPE *yyvs;
+ YYSTYPE *yyvsp;
-#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
+ /* The location stack. */
+ YYLTYPE yylsa[YYINITDEPTH];
+ YYLTYPE *yyls;
+ YYLTYPE *yylsp;
- YYSIZE_T yystacksize = YYINITDEPTH;
+ /* The locations where the error started and ended. */
+ YYLTYPE yyerror_range[2];
+ YYSIZE_T yystacksize;
+
+ int yyn;
+ int yyresult;
+ /* Lookahead token as an internal (translated) token number. */
+ int yytoken;
/* The variables used to return semantic value and location from the
action routines. */
YYSTYPE yyval;
YYLTYPE yyloc;
+#if YYERROR_VERBOSE
+ /* Buffer for error messages, and its allocated size. */
+ char yymsgbuf[128];
+ char *yymsg = yymsgbuf;
+ YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
+#endif
+
+#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
+
/* The number of symbols on the RHS of the reduced rule.
Keep to zero when no symbol should be popped. */
int yylen = 0;
+ yytoken = 0;
+ yyss = yyssa;
+ yyvs = yyvsa;
+ yyls = yylsa;
+ yystacksize = YYINITDEPTH;
+
YYDPRINTF ((stderr, "Starting parse\n"));
yystate = 0;
yyerrstatus = 0;
yynerrs = 0;
- yychar = YYEMPTY; /* Cause a token to be read. */
+ yychar = YYEMPTY; /* Cause a token to be read. */
/* Initialize stack pointers.
Waste one element of value and location stack
so that they stay on the same level as the state stack.
The wasted elements are never initialized. */
-
yyssp = yyss;
yyvsp = yyvs;
yylsp = yyls;
+
#if YYLTYPE_IS_TRIVIAL
/* Initialize the default location before parsing starts. */
yylloc.first_line = yylloc.last_line = 1;
- yylloc.first_column = yylloc.last_column = 0;
+ yylloc.first_column = yylloc.last_column = 1;
#endif
goto yysetstate;
@@ -2863,6 +2825,7 @@ YYLTYPE yylloc;
&yyvs1, yysize * sizeof (*yyvsp),
&yyls1, yysize * sizeof (*yylsp),
&yystacksize);
+
yyls = yyls1;
yyss = yyss1;
yyvs = yyvs1;
@@ -2884,9 +2847,9 @@ YYLTYPE yylloc;
(union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
if (! yyptr)
goto yyexhaustedlab;
- YYSTACK_RELOCATE (yyss);
- YYSTACK_RELOCATE (yyvs);
- YYSTACK_RELOCATE (yyls);
+ YYSTACK_RELOCATE (yyss_alloc, yyss);
+ YYSTACK_RELOCATE (yyvs_alloc, yyvs);
+ YYSTACK_RELOCATE (yyls_alloc, yyls);
# undef YYSTACK_RELOCATE
if (yyss1 != yyssa)
YYSTACK_FREE (yyss1);
@@ -2907,6 +2870,9 @@ YYLTYPE yylloc;
YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+ if (yystate == YYFINAL)
+ YYACCEPT;
+
goto yybackup;
/*-----------.
@@ -2915,16 +2881,16 @@ YYLTYPE yylloc;
yybackup:
/* Do appropriate processing given the current state. Read a
- look-ahead token if we need one and don't already have one. */
+ lookahead token if we need one and don't already have one. */
- /* First try to decide what to do without reference to look-ahead token. */
+ /* First try to decide what to do without reference to lookahead token. */
yyn = yypact[yystate];
if (yyn == YYPACT_NINF)
goto yydefault;
- /* Not known => get a look-ahead token if don't already have one. */
+ /* Not known => get a lookahead token if don't already have one. */
- /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
+ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
if (yychar == YYEMPTY)
{
YYDPRINTF ((stderr, "Reading a token: "));
@@ -2956,20 +2922,16 @@ yybackup:
goto yyreduce;
}
- if (yyn == YYFINAL)
- YYACCEPT;
-
/* Count tokens shifted since error; after three, turn off error
status. */
if (yyerrstatus)
yyerrstatus--;
- /* Shift the look-ahead token. */
+ /* Shift the lookahead token. */
YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
- /* Discard the shifted token unless it is eof. */
- if (yychar != YYEOF)
- yychar = YYEMPTY;
+ /* Discard the shifted token. */
+ yychar = YYEMPTY;
yystate = yyn;
*++yyvsp = yylval;
@@ -3010,31 +2972,43 @@ yyreduce:
switch (yyn)
{
case 2:
+
+/* Line 1455 of yacc.c */
#line 293 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NullNode(GLOBAL_DATA), 0, 1); ;}
break;
case 3:
+
+/* Line 1455 of yacc.c */
#line 294 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BooleanNode(GLOBAL_DATA, true), 0, 1); ;}
break;
case 4:
+
+/* Line 1455 of yacc.c */
#line 295 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BooleanNode(GLOBAL_DATA, false), 0, 1); ;}
break;
case 5:
+
+/* Line 1455 of yacc.c */
#line 296 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeNumberNode(GLOBAL_DATA, (yyvsp[(1) - (1)].doubleValue)), 0, 1); ;}
break;
case 6:
+
+/* Line 1455 of yacc.c */
#line 297 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) StringNode(GLOBAL_DATA, *(yyvsp[(1) - (1)].ident)), 0, 1); ;}
break;
case 7:
+
+/* Line 1455 of yacc.c */
#line 298 "../parser/Grammar.y"
{
Lexer& l = *GLOBAL_DATA->lexer;
@@ -3050,6 +3024,8 @@ yyreduce:
break;
case 8:
+
+/* Line 1455 of yacc.c */
#line 309 "../parser/Grammar.y"
{
Lexer& l = *GLOBAL_DATA->lexer;
@@ -3065,26 +3041,36 @@ yyreduce:
break;
case 9:
+
+/* Line 1455 of yacc.c */
#line 323 "../parser/Grammar.y"
{ (yyval.propertyNode) = createNodeInfo<PropertyNode*>(new (GLOBAL_DATA) PropertyNode(GLOBAL_DATA, *(yyvsp[(1) - (3)].ident), (yyvsp[(3) - (3)].expressionNode).m_node, PropertyNode::Constant), (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 10:
+
+/* Line 1455 of yacc.c */
#line 324 "../parser/Grammar.y"
{ (yyval.propertyNode) = createNodeInfo<PropertyNode*>(new (GLOBAL_DATA) PropertyNode(GLOBAL_DATA, *(yyvsp[(1) - (3)].ident), (yyvsp[(3) - (3)].expressionNode).m_node, PropertyNode::Constant), (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 11:
+
+/* Line 1455 of yacc.c */
#line 325 "../parser/Grammar.y"
{ (yyval.propertyNode) = createNodeInfo<PropertyNode*>(new (GLOBAL_DATA) PropertyNode(GLOBAL_DATA, (yyvsp[(1) - (3)].doubleValue), (yyvsp[(3) - (3)].expressionNode).m_node, PropertyNode::Constant), (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 12:
+
+/* Line 1455 of yacc.c */
#line 326 "../parser/Grammar.y"
{ (yyval.propertyNode) = createNodeInfo<PropertyNode*>(makeGetterOrSetterPropertyNode(GLOBAL_DATA, *(yyvsp[(1) - (7)].ident), *(yyvsp[(2) - (7)].ident), 0, (yyvsp[(6) - (7)].functionBodyNode), GLOBAL_DATA->lexer->sourceCode((yyvsp[(5) - (7)].intValue), (yyvsp[(7) - (7)].intValue), (yylsp[(5) - (7)]).first_line)), ClosureFeature, 0); setStatementLocation((yyvsp[(6) - (7)].functionBodyNode), (yylsp[(5) - (7)]), (yylsp[(7) - (7)])); if (!(yyval.propertyNode).m_node) YYABORT; ;}
break;
case 13:
+
+/* Line 1455 of yacc.c */
#line 328 "../parser/Grammar.y"
{
(yyval.propertyNode) = createNodeInfo<PropertyNode*>(makeGetterOrSetterPropertyNode(GLOBAL_DATA, *(yyvsp[(1) - (8)].ident), *(yyvsp[(2) - (8)].ident), (yyvsp[(4) - (8)].parameterList).m_node.head, (yyvsp[(7) - (8)].functionBodyNode), GLOBAL_DATA->lexer->sourceCode((yyvsp[(6) - (8)].intValue), (yyvsp[(8) - (8)].intValue), (yylsp[(6) - (8)]).first_line)), (yyvsp[(4) - (8)].parameterList).m_features | ClosureFeature, 0);
@@ -3097,6 +3083,8 @@ yyreduce:
break;
case 14:
+
+/* Line 1455 of yacc.c */
#line 339 "../parser/Grammar.y"
{ (yyval.propertyList).m_node.head = new (GLOBAL_DATA) PropertyListNode(GLOBAL_DATA, (yyvsp[(1) - (1)].propertyNode).m_node);
(yyval.propertyList).m_node.tail = (yyval.propertyList).m_node.head;
@@ -3105,6 +3093,8 @@ yyreduce:
break;
case 15:
+
+/* Line 1455 of yacc.c */
#line 343 "../parser/Grammar.y"
{ (yyval.propertyList).m_node.head = (yyvsp[(1) - (3)].propertyList).m_node.head;
(yyval.propertyList).m_node.tail = new (GLOBAL_DATA) PropertyListNode(GLOBAL_DATA, (yyvsp[(3) - (3)].propertyNode).m_node, (yyvsp[(1) - (3)].propertyList).m_node.tail);
@@ -3113,51 +3103,71 @@ yyreduce:
break;
case 17:
+
+/* Line 1455 of yacc.c */
#line 351 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ObjectLiteralNode(GLOBAL_DATA), 0, 0); ;}
break;
case 18:
+
+/* Line 1455 of yacc.c */
#line 352 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ObjectLiteralNode(GLOBAL_DATA, (yyvsp[(2) - (3)].propertyList).m_node.head), (yyvsp[(2) - (3)].propertyList).m_features, (yyvsp[(2) - (3)].propertyList).m_numConstants); ;}
break;
case 19:
+
+/* Line 1455 of yacc.c */
#line 354 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ObjectLiteralNode(GLOBAL_DATA, (yyvsp[(2) - (4)].propertyList).m_node.head), (yyvsp[(2) - (4)].propertyList).m_features, (yyvsp[(2) - (4)].propertyList).m_numConstants); ;}
break;
case 20:
+
+/* Line 1455 of yacc.c */
#line 358 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ThisNode(GLOBAL_DATA), ThisFeature, 0); ;}
break;
case 23:
+
+/* Line 1455 of yacc.c */
#line 361 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ResolveNode(GLOBAL_DATA, *(yyvsp[(1) - (1)].ident), (yylsp[(1) - (1)]).first_column), (*(yyvsp[(1) - (1)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0, 0); ;}
break;
case 24:
+
+/* Line 1455 of yacc.c */
#line 362 "../parser/Grammar.y"
{ (yyval.expressionNode) = (yyvsp[(2) - (3)].expressionNode); ;}
break;
case 25:
+
+/* Line 1455 of yacc.c */
#line 366 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ArrayNode(GLOBAL_DATA, (yyvsp[(2) - (3)].intValue)), 0, (yyvsp[(2) - (3)].intValue) ? 1 : 0); ;}
break;
case 26:
+
+/* Line 1455 of yacc.c */
#line 367 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ArrayNode(GLOBAL_DATA, (yyvsp[(2) - (3)].elementList).m_node.head), (yyvsp[(2) - (3)].elementList).m_features, (yyvsp[(2) - (3)].elementList).m_numConstants); ;}
break;
case 27:
+
+/* Line 1455 of yacc.c */
#line 368 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ArrayNode(GLOBAL_DATA, (yyvsp[(4) - (5)].intValue), (yyvsp[(2) - (5)].elementList).m_node.head), (yyvsp[(2) - (5)].elementList).m_features, (yyvsp[(4) - (5)].intValue) ? (yyvsp[(2) - (5)].elementList).m_numConstants + 1 : (yyvsp[(2) - (5)].elementList).m_numConstants); ;}
break;
case 28:
+
+/* Line 1455 of yacc.c */
#line 372 "../parser/Grammar.y"
{ (yyval.elementList).m_node.head = new (GLOBAL_DATA) ElementNode(GLOBAL_DATA, (yyvsp[(1) - (2)].intValue), (yyvsp[(2) - (2)].expressionNode).m_node);
(yyval.elementList).m_node.tail = (yyval.elementList).m_node.head;
@@ -3166,6 +3176,8 @@ yyreduce:
break;
case 29:
+
+/* Line 1455 of yacc.c */
#line 377 "../parser/Grammar.y"
{ (yyval.elementList).m_node.head = (yyvsp[(1) - (4)].elementList).m_node.head;
(yyval.elementList).m_node.tail = new (GLOBAL_DATA) ElementNode(GLOBAL_DATA, (yyvsp[(1) - (4)].elementList).m_node.tail, (yyvsp[(3) - (4)].intValue), (yyvsp[(4) - (4)].expressionNode).m_node);
@@ -3174,26 +3186,36 @@ yyreduce:
break;
case 30:
+
+/* Line 1455 of yacc.c */
#line 384 "../parser/Grammar.y"
{ (yyval.intValue) = 0; ;}
break;
case 32:
+
+/* Line 1455 of yacc.c */
#line 389 "../parser/Grammar.y"
{ (yyval.intValue) = 1; ;}
break;
case 33:
+
+/* Line 1455 of yacc.c */
#line 390 "../parser/Grammar.y"
{ (yyval.intValue) = (yyvsp[(1) - (2)].intValue) + 1; ;}
break;
case 35:
+
+/* Line 1455 of yacc.c */
#line 395 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>((yyvsp[(1) - (1)].funcExprNode).m_node, (yyvsp[(1) - (1)].funcExprNode).m_features, (yyvsp[(1) - (1)].funcExprNode).m_numConstants); ;}
break;
case 36:
+
+/* Line 1455 of yacc.c */
#line 396 "../parser/Grammar.y"
{ BracketAccessorNode* node = new (GLOBAL_DATA) BracketAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_features & AssignFeature);
setExceptionLocation(node, (yylsp[(1) - (4)]).first_column, (yylsp[(1) - (4)]).last_column, (yylsp[(4) - (4)]).last_column);
@@ -3202,6 +3224,8 @@ yyreduce:
break;
case 37:
+
+/* Line 1455 of yacc.c */
#line 400 "../parser/Grammar.y"
{ DotAccessorNode* node = new (GLOBAL_DATA) DotAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, *(yyvsp[(3) - (3)].ident));
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(1) - (3)]).last_column, (yylsp[(3) - (3)]).last_column);
@@ -3210,6 +3234,8 @@ yyreduce:
break;
case 38:
+
+/* Line 1455 of yacc.c */
#line 404 "../parser/Grammar.y"
{ NewExprNode* node = new (GLOBAL_DATA) NewExprNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].argumentsNode).m_node);
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(3) - (3)]).last_column);
@@ -3218,6 +3244,8 @@ yyreduce:
break;
case 40:
+
+/* Line 1455 of yacc.c */
#line 412 "../parser/Grammar.y"
{ BracketAccessorNode* node = new (GLOBAL_DATA) BracketAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_features & AssignFeature);
setExceptionLocation(node, (yylsp[(1) - (4)]).first_column, (yylsp[(1) - (4)]).last_column, (yylsp[(4) - (4)]).last_column);
@@ -3226,6 +3254,8 @@ yyreduce:
break;
case 41:
+
+/* Line 1455 of yacc.c */
#line 416 "../parser/Grammar.y"
{ DotAccessorNode* node = new (GLOBAL_DATA) DotAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, *(yyvsp[(3) - (3)].ident));
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(1) - (3)]).last_column, (yylsp[(3) - (3)]).last_column);
@@ -3234,6 +3264,8 @@ yyreduce:
break;
case 42:
+
+/* Line 1455 of yacc.c */
#line 420 "../parser/Grammar.y"
{ NewExprNode* node = new (GLOBAL_DATA) NewExprNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].argumentsNode).m_node);
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(3) - (3)]).last_column);
@@ -3242,6 +3274,8 @@ yyreduce:
break;
case 44:
+
+/* Line 1455 of yacc.c */
#line 428 "../parser/Grammar.y"
{ NewExprNode* node = new (GLOBAL_DATA) NewExprNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node);
setExceptionLocation(node, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).last_column, (yylsp[(2) - (2)]).last_column);
@@ -3250,6 +3284,8 @@ yyreduce:
break;
case 46:
+
+/* Line 1455 of yacc.c */
#line 436 "../parser/Grammar.y"
{ NewExprNode* node = new (GLOBAL_DATA) NewExprNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node);
setExceptionLocation(node, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).last_column, (yylsp[(2) - (2)]).last_column);
@@ -3258,16 +3294,22 @@ yyreduce:
break;
case 47:
+
+/* Line 1455 of yacc.c */
#line 443 "../parser/Grammar.y"
{ (yyval.expressionNode) = makeFunctionCallNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode), (yyvsp[(2) - (2)].argumentsNode), (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column); ;}
break;
case 48:
+
+/* Line 1455 of yacc.c */
#line 444 "../parser/Grammar.y"
{ (yyval.expressionNode) = makeFunctionCallNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode), (yyvsp[(2) - (2)].argumentsNode), (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column); ;}
break;
case 49:
+
+/* Line 1455 of yacc.c */
#line 445 "../parser/Grammar.y"
{ BracketAccessorNode* node = new (GLOBAL_DATA) BracketAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_features & AssignFeature);
setExceptionLocation(node, (yylsp[(1) - (4)]).first_column, (yylsp[(1) - (4)]).last_column, (yylsp[(4) - (4)]).last_column);
@@ -3276,6 +3318,8 @@ yyreduce:
break;
case 50:
+
+/* Line 1455 of yacc.c */
#line 449 "../parser/Grammar.y"
{ DotAccessorNode* node = new (GLOBAL_DATA) DotAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, *(yyvsp[(3) - (3)].ident));
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(1) - (3)]).last_column, (yylsp[(3) - (3)]).last_column);
@@ -3283,16 +3327,22 @@ yyreduce:
break;
case 51:
+
+/* Line 1455 of yacc.c */
#line 455 "../parser/Grammar.y"
{ (yyval.expressionNode) = makeFunctionCallNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode), (yyvsp[(2) - (2)].argumentsNode), (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column); ;}
break;
case 52:
+
+/* Line 1455 of yacc.c */
#line 456 "../parser/Grammar.y"
{ (yyval.expressionNode) = makeFunctionCallNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode), (yyvsp[(2) - (2)].argumentsNode), (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column); ;}
break;
case 53:
+
+/* Line 1455 of yacc.c */
#line 457 "../parser/Grammar.y"
{ BracketAccessorNode* node = new (GLOBAL_DATA) BracketAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_features & AssignFeature);
setExceptionLocation(node, (yylsp[(1) - (4)]).first_column, (yylsp[(1) - (4)]).last_column, (yylsp[(4) - (4)]).last_column);
@@ -3301,6 +3351,8 @@ yyreduce:
break;
case 54:
+
+/* Line 1455 of yacc.c */
#line 461 "../parser/Grammar.y"
{ DotAccessorNode* node = new (GLOBAL_DATA) DotAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, *(yyvsp[(3) - (3)].ident));
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(1) - (3)]).last_column, (yylsp[(3) - (3)]).last_column);
@@ -3309,16 +3361,22 @@ yyreduce:
break;
case 55:
+
+/* Line 1455 of yacc.c */
#line 468 "../parser/Grammar.y"
{ (yyval.argumentsNode) = createNodeInfo<ArgumentsNode*>(new (GLOBAL_DATA) ArgumentsNode(GLOBAL_DATA), 0, 0); ;}
break;
case 56:
+
+/* Line 1455 of yacc.c */
#line 469 "../parser/Grammar.y"
{ (yyval.argumentsNode) = createNodeInfo<ArgumentsNode*>(new (GLOBAL_DATA) ArgumentsNode(GLOBAL_DATA, (yyvsp[(2) - (3)].argumentList).m_node.head), (yyvsp[(2) - (3)].argumentList).m_features, (yyvsp[(2) - (3)].argumentList).m_numConstants); ;}
break;
case 57:
+
+/* Line 1455 of yacc.c */
#line 473 "../parser/Grammar.y"
{ (yyval.argumentList).m_node.head = new (GLOBAL_DATA) ArgumentListNode(GLOBAL_DATA, (yyvsp[(1) - (1)].expressionNode).m_node);
(yyval.argumentList).m_node.tail = (yyval.argumentList).m_node.head;
@@ -3327,6 +3385,8 @@ yyreduce:
break;
case 58:
+
+/* Line 1455 of yacc.c */
#line 477 "../parser/Grammar.y"
{ (yyval.argumentList).m_node.head = (yyvsp[(1) - (3)].argumentList).m_node.head;
(yyval.argumentList).m_node.tail = new (GLOBAL_DATA) ArgumentListNode(GLOBAL_DATA, (yyvsp[(1) - (3)].argumentList).m_node.tail, (yyvsp[(3) - (3)].expressionNode).m_node);
@@ -3335,181 +3395,253 @@ yyreduce:
break;
case 64:
+
+/* Line 1455 of yacc.c */
#line 495 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePostfixNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode).m_node, OpPlusPlus, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column), (yyvsp[(1) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (2)].expressionNode).m_numConstants); ;}
break;
case 65:
+
+/* Line 1455 of yacc.c */
#line 496 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePostfixNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode).m_node, OpMinusMinus, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column), (yyvsp[(1) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (2)].expressionNode).m_numConstants); ;}
break;
case 67:
+
+/* Line 1455 of yacc.c */
#line 501 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePostfixNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode).m_node, OpPlusPlus, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column), (yyvsp[(1) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (2)].expressionNode).m_numConstants); ;}
break;
case 68:
+
+/* Line 1455 of yacc.c */
#line 502 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePostfixNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode).m_node, OpMinusMinus, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column), (yyvsp[(1) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (2)].expressionNode).m_numConstants); ;}
break;
case 69:
+
+/* Line 1455 of yacc.c */
#line 506 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeDeleteNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).last_column, (yylsp[(2) - (2)]).last_column), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 70:
+
+/* Line 1455 of yacc.c */
#line 507 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) VoidNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants + 1); ;}
break;
case 71:
+
+/* Line 1455 of yacc.c */
#line 508 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeTypeOfNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 72:
+
+/* Line 1455 of yacc.c */
#line 509 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePrefixNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node, OpPlusPlus, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).first_column + 1, (yylsp[(2) - (2)]).last_column), (yyvsp[(2) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 73:
+
+/* Line 1455 of yacc.c */
#line 510 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePrefixNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node, OpPlusPlus, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).first_column + 1, (yylsp[(2) - (2)]).last_column), (yyvsp[(2) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 74:
+
+/* Line 1455 of yacc.c */
#line 511 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePrefixNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node, OpMinusMinus, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).first_column + 1, (yylsp[(2) - (2)]).last_column), (yyvsp[(2) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 75:
+
+/* Line 1455 of yacc.c */
#line 512 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePrefixNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node, OpMinusMinus, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).first_column + 1, (yylsp[(2) - (2)]).last_column), (yyvsp[(2) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 76:
+
+/* Line 1455 of yacc.c */
#line 513 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) UnaryPlusNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 77:
+
+/* Line 1455 of yacc.c */
#line 514 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeNegateNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 78:
+
+/* Line 1455 of yacc.c */
#line 515 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeBitwiseNotNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 79:
+
+/* Line 1455 of yacc.c */
#line 516 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalNotNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 85:
+
+/* Line 1455 of yacc.c */
#line 530 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeMultNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 86:
+
+/* Line 1455 of yacc.c */
#line 531 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeDivNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 87:
+
+/* Line 1455 of yacc.c */
#line 532 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ModNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 89:
+
+/* Line 1455 of yacc.c */
#line 538 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeMultNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 90:
+
+/* Line 1455 of yacc.c */
#line 540 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeDivNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 91:
+
+/* Line 1455 of yacc.c */
#line 542 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ModNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 93:
+
+/* Line 1455 of yacc.c */
#line 547 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeAddNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 94:
+
+/* Line 1455 of yacc.c */
#line 548 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeSubNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 96:
+
+/* Line 1455 of yacc.c */
#line 554 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeAddNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 97:
+
+/* Line 1455 of yacc.c */
#line 556 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeSubNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 99:
+
+/* Line 1455 of yacc.c */
#line 561 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeLeftShiftNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 100:
+
+/* Line 1455 of yacc.c */
#line 562 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeRightShiftNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 101:
+
+/* Line 1455 of yacc.c */
#line 563 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) UnsignedRightShiftNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 103:
+
+/* Line 1455 of yacc.c */
#line 568 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeLeftShiftNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 104:
+
+/* Line 1455 of yacc.c */
#line 569 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeRightShiftNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 105:
+
+/* Line 1455 of yacc.c */
#line 570 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) UnsignedRightShiftNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 107:
+
+/* Line 1455 of yacc.c */
#line 575 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LessNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 108:
+
+/* Line 1455 of yacc.c */
#line 576 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) GreaterNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 109:
+
+/* Line 1455 of yacc.c */
#line 577 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LessEqNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 110:
+
+/* Line 1455 of yacc.c */
#line 578 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) GreaterEqNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 111:
+
+/* Line 1455 of yacc.c */
#line 579 "../parser/Grammar.y"
{ InstanceOfNode* node = new (GLOBAL_DATA) InstanceOfNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature);
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).first_column, (yylsp[(3) - (3)]).last_column);
@@ -3517,6 +3649,8 @@ yyreduce:
break;
case 112:
+
+/* Line 1455 of yacc.c */
#line 582 "../parser/Grammar.y"
{ InNode* node = new (GLOBAL_DATA) InNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature);
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).first_column, (yylsp[(3) - (3)]).last_column);
@@ -3524,26 +3658,36 @@ yyreduce:
break;
case 114:
+
+/* Line 1455 of yacc.c */
#line 589 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LessNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 115:
+
+/* Line 1455 of yacc.c */
#line 590 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) GreaterNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 116:
+
+/* Line 1455 of yacc.c */
#line 591 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LessEqNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 117:
+
+/* Line 1455 of yacc.c */
#line 592 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) GreaterEqNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 118:
+
+/* Line 1455 of yacc.c */
#line 594 "../parser/Grammar.y"
{ InstanceOfNode* node = new (GLOBAL_DATA) InstanceOfNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature);
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).first_column, (yylsp[(3) - (3)]).last_column);
@@ -3551,26 +3695,36 @@ yyreduce:
break;
case 120:
+
+/* Line 1455 of yacc.c */
#line 601 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LessNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 121:
+
+/* Line 1455 of yacc.c */
#line 602 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) GreaterNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 122:
+
+/* Line 1455 of yacc.c */
#line 603 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LessEqNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 123:
+
+/* Line 1455 of yacc.c */
#line 604 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) GreaterEqNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 124:
+
+/* Line 1455 of yacc.c */
#line 606 "../parser/Grammar.y"
{ InstanceOfNode* node = new (GLOBAL_DATA) InstanceOfNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature);
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).first_column, (yylsp[(3) - (3)]).last_column);
@@ -3578,6 +3732,8 @@ yyreduce:
break;
case 125:
+
+/* Line 1455 of yacc.c */
#line 610 "../parser/Grammar.y"
{ InNode* node = new (GLOBAL_DATA) InNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature);
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).first_column, (yylsp[(3) - (3)]).last_column);
@@ -3585,156 +3741,218 @@ yyreduce:
break;
case 127:
+
+/* Line 1455 of yacc.c */
#line 617 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) EqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 128:
+
+/* Line 1455 of yacc.c */
#line 618 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NotEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 129:
+
+/* Line 1455 of yacc.c */
#line 619 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) StrictEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 130:
+
+/* Line 1455 of yacc.c */
#line 620 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NotStrictEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 132:
+
+/* Line 1455 of yacc.c */
#line 626 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) EqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 133:
+
+/* Line 1455 of yacc.c */
#line 628 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NotEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 134:
+
+/* Line 1455 of yacc.c */
#line 630 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) StrictEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 135:
+
+/* Line 1455 of yacc.c */
#line 632 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NotStrictEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 137:
+
+/* Line 1455 of yacc.c */
#line 638 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) EqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 138:
+
+/* Line 1455 of yacc.c */
#line 639 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NotEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 139:
+
+/* Line 1455 of yacc.c */
#line 641 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) StrictEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 140:
+
+/* Line 1455 of yacc.c */
#line 643 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NotStrictEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 142:
+
+/* Line 1455 of yacc.c */
#line 648 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitAndNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 144:
+
+/* Line 1455 of yacc.c */
#line 654 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitAndNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 146:
+
+/* Line 1455 of yacc.c */
#line 659 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitAndNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 148:
+
+/* Line 1455 of yacc.c */
#line 664 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitXOrNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 150:
+
+/* Line 1455 of yacc.c */
#line 670 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitXOrNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 152:
+
+/* Line 1455 of yacc.c */
#line 676 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitXOrNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 154:
+
+/* Line 1455 of yacc.c */
#line 681 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitOrNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 156:
+
+/* Line 1455 of yacc.c */
#line 687 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitOrNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 158:
+
+/* Line 1455 of yacc.c */
#line 693 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitOrNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 160:
+
+/* Line 1455 of yacc.c */
#line 698 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalOpNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, OpLogicalAnd), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 162:
+
+/* Line 1455 of yacc.c */
#line 704 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalOpNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, OpLogicalAnd), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 164:
+
+/* Line 1455 of yacc.c */
#line 710 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalOpNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, OpLogicalAnd), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 166:
+
+/* Line 1455 of yacc.c */
#line 715 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalOpNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, OpLogicalOr), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 168:
+
+/* Line 1455 of yacc.c */
#line 721 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalOpNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, OpLogicalOr), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 170:
+
+/* Line 1455 of yacc.c */
#line 726 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalOpNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, OpLogicalOr), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 172:
+
+/* Line 1455 of yacc.c */
#line 732 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ConditionalNode(GLOBAL_DATA, (yyvsp[(1) - (5)].expressionNode).m_node, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].expressionNode).m_node), (yyvsp[(1) - (5)].expressionNode).m_features | (yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].expressionNode).m_features, (yyvsp[(1) - (5)].expressionNode).m_numConstants + (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].expressionNode).m_numConstants); ;}
break;
case 174:
+
+/* Line 1455 of yacc.c */
#line 738 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ConditionalNode(GLOBAL_DATA, (yyvsp[(1) - (5)].expressionNode).m_node, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].expressionNode).m_node), (yyvsp[(1) - (5)].expressionNode).m_features | (yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].expressionNode).m_features, (yyvsp[(1) - (5)].expressionNode).m_numConstants + (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].expressionNode).m_numConstants); ;}
break;
case 176:
+
+/* Line 1455 of yacc.c */
#line 744 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ConditionalNode(GLOBAL_DATA, (yyvsp[(1) - (5)].expressionNode).m_node, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].expressionNode).m_node), (yyvsp[(1) - (5)].expressionNode).m_features | (yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].expressionNode).m_features, (yyvsp[(1) - (5)].expressionNode).m_numConstants + (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].expressionNode).m_numConstants); ;}
break;
case 178:
+
+/* Line 1455 of yacc.c */
#line 750 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeAssignNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(2) - (3)].op), (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(1) - (3)].expressionNode).m_features & AssignFeature, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature,
(yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).first_column + 1, (yylsp[(3) - (3)]).last_column), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants);
@@ -3742,6 +3960,8 @@ yyreduce:
break;
case 180:
+
+/* Line 1455 of yacc.c */
#line 758 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeAssignNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(2) - (3)].op), (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(1) - (3)].expressionNode).m_features & AssignFeature, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature,
(yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).first_column + 1, (yylsp[(3) - (3)]).last_column), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants);
@@ -3749,6 +3969,8 @@ yyreduce:
break;
case 182:
+
+/* Line 1455 of yacc.c */
#line 766 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeAssignNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(2) - (3)].op), (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(1) - (3)].expressionNode).m_features & AssignFeature, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature,
(yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).first_column + 1, (yylsp[(3) - (3)]).last_column), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants);
@@ -3756,99 +3978,137 @@ yyreduce:
break;
case 183:
+
+/* Line 1455 of yacc.c */
#line 772 "../parser/Grammar.y"
{ (yyval.op) = OpEqual; ;}
break;
case 184:
+
+/* Line 1455 of yacc.c */
#line 773 "../parser/Grammar.y"
{ (yyval.op) = OpPlusEq; ;}
break;
case 185:
+
+/* Line 1455 of yacc.c */
#line 774 "../parser/Grammar.y"
{ (yyval.op) = OpMinusEq; ;}
break;
case 186:
+
+/* Line 1455 of yacc.c */
#line 775 "../parser/Grammar.y"
{ (yyval.op) = OpMultEq; ;}
break;
case 187:
+
+/* Line 1455 of yacc.c */
#line 776 "../parser/Grammar.y"
{ (yyval.op) = OpDivEq; ;}
break;
case 188:
+
+/* Line 1455 of yacc.c */
#line 777 "../parser/Grammar.y"
{ (yyval.op) = OpLShift; ;}
break;
case 189:
+
+/* Line 1455 of yacc.c */
#line 778 "../parser/Grammar.y"
{ (yyval.op) = OpRShift; ;}
break;
case 190:
+
+/* Line 1455 of yacc.c */
#line 779 "../parser/Grammar.y"
{ (yyval.op) = OpURShift; ;}
break;
case 191:
+
+/* Line 1455 of yacc.c */
#line 780 "../parser/Grammar.y"
{ (yyval.op) = OpAndEq; ;}
break;
case 192:
+
+/* Line 1455 of yacc.c */
#line 781 "../parser/Grammar.y"
{ (yyval.op) = OpXOrEq; ;}
break;
case 193:
+
+/* Line 1455 of yacc.c */
#line 782 "../parser/Grammar.y"
{ (yyval.op) = OpOrEq; ;}
break;
case 194:
+
+/* Line 1455 of yacc.c */
#line 783 "../parser/Grammar.y"
{ (yyval.op) = OpModEq; ;}
break;
case 196:
+
+/* Line 1455 of yacc.c */
#line 788 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(combineCommaNodes(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 198:
+
+/* Line 1455 of yacc.c */
#line 793 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(combineCommaNodes(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 200:
+
+/* Line 1455 of yacc.c */
#line 798 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(combineCommaNodes(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 218:
+
+/* Line 1455 of yacc.c */
#line 822 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) BlockNode(GLOBAL_DATA, 0), 0, 0, 0, 0);
setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(2) - (2)])); ;}
break;
case 219:
+
+/* Line 1455 of yacc.c */
#line 824 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) BlockNode(GLOBAL_DATA, (yyvsp[(2) - (3)].sourceElements).m_node), (yyvsp[(2) - (3)].sourceElements).m_varDeclarations, (yyvsp[(2) - (3)].sourceElements).m_funcDeclarations, (yyvsp[(2) - (3)].sourceElements).m_features, (yyvsp[(2) - (3)].sourceElements).m_numConstants);
setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(3) - (3)])); ;}
break;
case 220:
+
+/* Line 1455 of yacc.c */
#line 829 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(makeVarStatementNode(GLOBAL_DATA, (yyvsp[(2) - (3)].varDeclList).m_node), (yyvsp[(2) - (3)].varDeclList).m_varDeclarations, (yyvsp[(2) - (3)].varDeclList).m_funcDeclarations, (yyvsp[(2) - (3)].varDeclList).m_features, (yyvsp[(2) - (3)].varDeclList).m_numConstants);
setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(3) - (3)])); ;}
break;
case 221:
+
+/* Line 1455 of yacc.c */
#line 831 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(makeVarStatementNode(GLOBAL_DATA, (yyvsp[(2) - (3)].varDeclList).m_node), (yyvsp[(2) - (3)].varDeclList).m_varDeclarations, (yyvsp[(2) - (3)].varDeclList).m_funcDeclarations, (yyvsp[(2) - (3)].varDeclList).m_features, (yyvsp[(2) - (3)].varDeclList).m_numConstants);
setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(2) - (3)]));
@@ -3856,6 +4116,8 @@ yyreduce:
break;
case 222:
+
+/* Line 1455 of yacc.c */
#line 837 "../parser/Grammar.y"
{ (yyval.varDeclList).m_node = 0;
(yyval.varDeclList).m_varDeclarations = new (GLOBAL_DATA) ParserArenaData<DeclarationStacks::VarStack>;
@@ -3867,6 +4129,8 @@ yyreduce:
break;
case 223:
+
+/* Line 1455 of yacc.c */
#line 844 "../parser/Grammar.y"
{ AssignResolveNode* node = new (GLOBAL_DATA) AssignResolveNode(GLOBAL_DATA, *(yyvsp[(1) - (2)].ident), (yyvsp[(2) - (2)].expressionNode).m_node, (yyvsp[(2) - (2)].expressionNode).m_features & AssignFeature);
setExceptionLocation(node, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).first_column + 1, (yylsp[(2) - (2)]).last_column);
@@ -3880,6 +4144,8 @@ yyreduce:
break;
case 224:
+
+/* Line 1455 of yacc.c */
#line 854 "../parser/Grammar.y"
{ (yyval.varDeclList).m_node = (yyvsp[(1) - (3)].varDeclList).m_node;
(yyval.varDeclList).m_varDeclarations = (yyvsp[(1) - (3)].varDeclList).m_varDeclarations;
@@ -3891,6 +4157,8 @@ yyreduce:
break;
case 225:
+
+/* Line 1455 of yacc.c */
#line 862 "../parser/Grammar.y"
{ AssignResolveNode* node = new (GLOBAL_DATA) AssignResolveNode(GLOBAL_DATA, *(yyvsp[(3) - (4)].ident), (yyvsp[(4) - (4)].expressionNode).m_node, (yyvsp[(4) - (4)].expressionNode).m_features & AssignFeature);
setExceptionLocation(node, (yylsp[(3) - (4)]).first_column, (yylsp[(4) - (4)]).first_column + 1, (yylsp[(4) - (4)]).last_column);
@@ -3904,6 +4172,8 @@ yyreduce:
break;
case 226:
+
+/* Line 1455 of yacc.c */
#line 874 "../parser/Grammar.y"
{ (yyval.varDeclList).m_node = 0;
(yyval.varDeclList).m_varDeclarations = new (GLOBAL_DATA) ParserArenaData<DeclarationStacks::VarStack>;
@@ -3915,6 +4185,8 @@ yyreduce:
break;
case 227:
+
+/* Line 1455 of yacc.c */
#line 881 "../parser/Grammar.y"
{ AssignResolveNode* node = new (GLOBAL_DATA) AssignResolveNode(GLOBAL_DATA, *(yyvsp[(1) - (2)].ident), (yyvsp[(2) - (2)].expressionNode).m_node, (yyvsp[(2) - (2)].expressionNode).m_features & AssignFeature);
setExceptionLocation(node, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).first_column + 1, (yylsp[(2) - (2)]).last_column);
@@ -3928,6 +4200,8 @@ yyreduce:
break;
case 228:
+
+/* Line 1455 of yacc.c */
#line 891 "../parser/Grammar.y"
{ (yyval.varDeclList).m_node = (yyvsp[(1) - (3)].varDeclList).m_node;
(yyval.varDeclList).m_varDeclarations = (yyvsp[(1) - (3)].varDeclList).m_varDeclarations;
@@ -3939,6 +4213,8 @@ yyreduce:
break;
case 229:
+
+/* Line 1455 of yacc.c */
#line 899 "../parser/Grammar.y"
{ AssignResolveNode* node = new (GLOBAL_DATA) AssignResolveNode(GLOBAL_DATA, *(yyvsp[(3) - (4)].ident), (yyvsp[(4) - (4)].expressionNode).m_node, (yyvsp[(4) - (4)].expressionNode).m_features & AssignFeature);
setExceptionLocation(node, (yylsp[(3) - (4)]).first_column, (yylsp[(4) - (4)]).first_column + 1, (yylsp[(4) - (4)]).last_column);
@@ -3952,18 +4228,24 @@ yyreduce:
break;
case 230:
+
+/* Line 1455 of yacc.c */
#line 911 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) ConstStatementNode(GLOBAL_DATA, (yyvsp[(2) - (3)].constDeclList).m_node.head), (yyvsp[(2) - (3)].constDeclList).m_varDeclarations, (yyvsp[(2) - (3)].constDeclList).m_funcDeclarations, (yyvsp[(2) - (3)].constDeclList).m_features, (yyvsp[(2) - (3)].constDeclList).m_numConstants);
setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(3) - (3)])); ;}
break;
case 231:
+
+/* Line 1455 of yacc.c */
#line 914 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) ConstStatementNode(GLOBAL_DATA, (yyvsp[(2) - (3)].constDeclList).m_node.head), (yyvsp[(2) - (3)].constDeclList).m_varDeclarations, (yyvsp[(2) - (3)].constDeclList).m_funcDeclarations, (yyvsp[(2) - (3)].constDeclList).m_features, (yyvsp[(2) - (3)].constDeclList).m_numConstants);
setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(2) - (3)])); AUTO_SEMICOLON; ;}
break;
case 232:
+
+/* Line 1455 of yacc.c */
#line 919 "../parser/Grammar.y"
{ (yyval.constDeclList).m_node.head = (yyvsp[(1) - (1)].constDeclNode).m_node;
(yyval.constDeclList).m_node.tail = (yyval.constDeclList).m_node.head;
@@ -3976,6 +4258,8 @@ yyreduce:
break;
case 233:
+
+/* Line 1455 of yacc.c */
#line 928 "../parser/Grammar.y"
{ (yyval.constDeclList).m_node.head = (yyvsp[(1) - (3)].constDeclList).m_node.head;
(yyvsp[(1) - (3)].constDeclList).m_node.tail->m_next = (yyvsp[(3) - (3)].constDeclNode).m_node;
@@ -3988,49 +4272,67 @@ yyreduce:
break;
case 234:
+
+/* Line 1455 of yacc.c */
#line 939 "../parser/Grammar.y"
{ (yyval.constDeclNode) = createNodeInfo<ConstDeclNode*>(new (GLOBAL_DATA) ConstDeclNode(GLOBAL_DATA, *(yyvsp[(1) - (1)].ident), 0), (*(yyvsp[(1) - (1)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0, 0); ;}
break;
case 235:
+
+/* Line 1455 of yacc.c */
#line 940 "../parser/Grammar.y"
{ (yyval.constDeclNode) = createNodeInfo<ConstDeclNode*>(new (GLOBAL_DATA) ConstDeclNode(GLOBAL_DATA, *(yyvsp[(1) - (2)].ident), (yyvsp[(2) - (2)].expressionNode).m_node), ((*(yyvsp[(1) - (2)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0) | (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 236:
+
+/* Line 1455 of yacc.c */
#line 944 "../parser/Grammar.y"
{ (yyval.expressionNode) = (yyvsp[(2) - (2)].expressionNode); ;}
break;
case 237:
+
+/* Line 1455 of yacc.c */
#line 948 "../parser/Grammar.y"
{ (yyval.expressionNode) = (yyvsp[(2) - (2)].expressionNode); ;}
break;
case 238:
+
+/* Line 1455 of yacc.c */
#line 952 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) EmptyStatementNode(GLOBAL_DATA), 0, 0, 0, 0); ;}
break;
case 239:
+
+/* Line 1455 of yacc.c */
#line 956 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) ExprStatementNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode).m_node), 0, 0, (yyvsp[(1) - (2)].expressionNode).m_features, (yyvsp[(1) - (2)].expressionNode).m_numConstants);
setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(2) - (2)])); ;}
break;
case 240:
+
+/* Line 1455 of yacc.c */
#line 958 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) ExprStatementNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode).m_node), 0, 0, (yyvsp[(1) - (2)].expressionNode).m_features, (yyvsp[(1) - (2)].expressionNode).m_numConstants);
setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(1) - (2)])); AUTO_SEMICOLON; ;}
break;
case 241:
+
+/* Line 1455 of yacc.c */
#line 964 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) IfNode(GLOBAL_DATA, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].statementNode).m_node), (yyvsp[(5) - (5)].statementNode).m_varDeclarations, (yyvsp[(5) - (5)].statementNode).m_funcDeclarations, (yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].statementNode).m_features, (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].statementNode).m_numConstants);
setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (5)]), (yylsp[(4) - (5)])); ;}
break;
case 242:
+
+/* Line 1455 of yacc.c */
#line 967 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) IfElseNode(GLOBAL_DATA, (yyvsp[(3) - (7)].expressionNode).m_node, (yyvsp[(5) - (7)].statementNode).m_node, (yyvsp[(7) - (7)].statementNode).m_node),
mergeDeclarationLists((yyvsp[(5) - (7)].statementNode).m_varDeclarations, (yyvsp[(7) - (7)].statementNode).m_varDeclarations),
@@ -4041,24 +4343,32 @@ yyreduce:
break;
case 243:
+
+/* Line 1455 of yacc.c */
#line 976 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) DoWhileNode(GLOBAL_DATA, (yyvsp[(2) - (7)].statementNode).m_node, (yyvsp[(5) - (7)].expressionNode).m_node), (yyvsp[(2) - (7)].statementNode).m_varDeclarations, (yyvsp[(2) - (7)].statementNode).m_funcDeclarations, (yyvsp[(2) - (7)].statementNode).m_features | (yyvsp[(5) - (7)].expressionNode).m_features, (yyvsp[(2) - (7)].statementNode).m_numConstants + (yyvsp[(5) - (7)].expressionNode).m_numConstants);
setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (7)]), (yylsp[(3) - (7)])); ;}
break;
case 244:
+
+/* Line 1455 of yacc.c */
#line 978 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) DoWhileNode(GLOBAL_DATA, (yyvsp[(2) - (7)].statementNode).m_node, (yyvsp[(5) - (7)].expressionNode).m_node), (yyvsp[(2) - (7)].statementNode).m_varDeclarations, (yyvsp[(2) - (7)].statementNode).m_funcDeclarations, (yyvsp[(2) - (7)].statementNode).m_features | (yyvsp[(5) - (7)].expressionNode).m_features, (yyvsp[(2) - (7)].statementNode).m_numConstants + (yyvsp[(5) - (7)].expressionNode).m_numConstants);
setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (7)]), (yylsp[(3) - (7)])); ;}
break;
case 245:
+
+/* Line 1455 of yacc.c */
#line 980 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) WhileNode(GLOBAL_DATA, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].statementNode).m_node), (yyvsp[(5) - (5)].statementNode).m_varDeclarations, (yyvsp[(5) - (5)].statementNode).m_funcDeclarations, (yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].statementNode).m_features, (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].statementNode).m_numConstants);
setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (5)]), (yylsp[(4) - (5)])); ;}
break;
case 246:
+
+/* Line 1455 of yacc.c */
#line 983 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) ForNode(GLOBAL_DATA, (yyvsp[(3) - (9)].expressionNode).m_node, (yyvsp[(5) - (9)].expressionNode).m_node, (yyvsp[(7) - (9)].expressionNode).m_node, (yyvsp[(9) - (9)].statementNode).m_node, false), (yyvsp[(9) - (9)].statementNode).m_varDeclarations, (yyvsp[(9) - (9)].statementNode).m_funcDeclarations,
(yyvsp[(3) - (9)].expressionNode).m_features | (yyvsp[(5) - (9)].expressionNode).m_features | (yyvsp[(7) - (9)].expressionNode).m_features | (yyvsp[(9) - (9)].statementNode).m_features,
@@ -4068,6 +4378,8 @@ yyreduce:
break;
case 247:
+
+/* Line 1455 of yacc.c */
#line 989 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) ForNode(GLOBAL_DATA, (yyvsp[(4) - (10)].varDeclList).m_node, (yyvsp[(6) - (10)].expressionNode).m_node, (yyvsp[(8) - (10)].expressionNode).m_node, (yyvsp[(10) - (10)].statementNode).m_node, true),
mergeDeclarationLists((yyvsp[(4) - (10)].varDeclList).m_varDeclarations, (yyvsp[(10) - (10)].statementNode).m_varDeclarations),
@@ -4078,6 +4390,8 @@ yyreduce:
break;
case 248:
+
+/* Line 1455 of yacc.c */
#line 996 "../parser/Grammar.y"
{
ForInNode* node = new (GLOBAL_DATA) ForInNode(GLOBAL_DATA, (yyvsp[(3) - (7)].expressionNode).m_node, (yyvsp[(5) - (7)].expressionNode).m_node, (yyvsp[(7) - (7)].statementNode).m_node);
@@ -4090,6 +4404,8 @@ yyreduce:
break;
case 249:
+
+/* Line 1455 of yacc.c */
#line 1005 "../parser/Grammar.y"
{ ForInNode *forIn = new (GLOBAL_DATA) ForInNode(GLOBAL_DATA, *(yyvsp[(4) - (8)].ident), 0, (yyvsp[(6) - (8)].expressionNode).m_node, (yyvsp[(8) - (8)].statementNode).m_node, (yylsp[(5) - (8)]).first_column, (yylsp[(5) - (8)]).first_column - (yylsp[(4) - (8)]).first_column, (yylsp[(6) - (8)]).last_column - (yylsp[(5) - (8)]).first_column);
setExceptionLocation(forIn, (yylsp[(4) - (8)]).first_column, (yylsp[(5) - (8)]).first_column + 1, (yylsp[(6) - (8)]).last_column);
@@ -4099,6 +4415,8 @@ yyreduce:
break;
case 250:
+
+/* Line 1455 of yacc.c */
#line 1011 "../parser/Grammar.y"
{ ForInNode *forIn = new (GLOBAL_DATA) ForInNode(GLOBAL_DATA, *(yyvsp[(4) - (9)].ident), (yyvsp[(5) - (9)].expressionNode).m_node, (yyvsp[(7) - (9)].expressionNode).m_node, (yyvsp[(9) - (9)].statementNode).m_node, (yylsp[(5) - (9)]).first_column, (yylsp[(5) - (9)]).first_column - (yylsp[(4) - (9)]).first_column, (yylsp[(5) - (9)]).last_column - (yylsp[(5) - (9)]).first_column);
setExceptionLocation(forIn, (yylsp[(4) - (9)]).first_column, (yylsp[(6) - (9)]).first_column + 1, (yylsp[(7) - (9)]).last_column);
@@ -4110,16 +4428,22 @@ yyreduce:
break;
case 251:
+
+/* Line 1455 of yacc.c */
#line 1021 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(0, 0, 0); ;}
break;
case 253:
+
+/* Line 1455 of yacc.c */
#line 1026 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(0, 0, 0); ;}
break;
case 255:
+
+/* Line 1455 of yacc.c */
#line 1031 "../parser/Grammar.y"
{ ContinueNode* node = new (GLOBAL_DATA) ContinueNode(GLOBAL_DATA);
setExceptionLocation(node, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(1) - (2)]).last_column);
@@ -4128,6 +4452,8 @@ yyreduce:
break;
case 256:
+
+/* Line 1455 of yacc.c */
#line 1035 "../parser/Grammar.y"
{ ContinueNode* node = new (GLOBAL_DATA) ContinueNode(GLOBAL_DATA);
setExceptionLocation(node, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(1) - (2)]).last_column);
@@ -4136,6 +4462,8 @@ yyreduce:
break;
case 257:
+
+/* Line 1455 of yacc.c */
#line 1039 "../parser/Grammar.y"
{ ContinueNode* node = new (GLOBAL_DATA) ContinueNode(GLOBAL_DATA, *(yyvsp[(2) - (3)].ident));
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
@@ -4144,6 +4472,8 @@ yyreduce:
break;
case 258:
+
+/* Line 1455 of yacc.c */
#line 1043 "../parser/Grammar.y"
{ ContinueNode* node = new (GLOBAL_DATA) ContinueNode(GLOBAL_DATA, *(yyvsp[(2) - (3)].ident));
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
@@ -4152,6 +4482,8 @@ yyreduce:
break;
case 259:
+
+/* Line 1455 of yacc.c */
#line 1050 "../parser/Grammar.y"
{ BreakNode* node = new (GLOBAL_DATA) BreakNode(GLOBAL_DATA);
setExceptionLocation(node, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(1) - (2)]).last_column);
@@ -4159,6 +4491,8 @@ yyreduce:
break;
case 260:
+
+/* Line 1455 of yacc.c */
#line 1053 "../parser/Grammar.y"
{ BreakNode* node = new (GLOBAL_DATA) BreakNode(GLOBAL_DATA);
setExceptionLocation(node, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(1) - (2)]).last_column);
@@ -4166,6 +4500,8 @@ yyreduce:
break;
case 261:
+
+/* Line 1455 of yacc.c */
#line 1056 "../parser/Grammar.y"
{ BreakNode* node = new (GLOBAL_DATA) BreakNode(GLOBAL_DATA, *(yyvsp[(2) - (3)].ident));
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
@@ -4173,6 +4509,8 @@ yyreduce:
break;
case 262:
+
+/* Line 1455 of yacc.c */
#line 1059 "../parser/Grammar.y"
{ BreakNode* node = new (GLOBAL_DATA) BreakNode(GLOBAL_DATA, *(yyvsp[(2) - (3)].ident));
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
@@ -4180,6 +4518,8 @@ yyreduce:
break;
case 263:
+
+/* Line 1455 of yacc.c */
#line 1065 "../parser/Grammar.y"
{ ReturnNode* node = new (GLOBAL_DATA) ReturnNode(GLOBAL_DATA, 0);
setExceptionLocation(node, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(1) - (2)]).last_column);
@@ -4187,6 +4527,8 @@ yyreduce:
break;
case 264:
+
+/* Line 1455 of yacc.c */
#line 1068 "../parser/Grammar.y"
{ ReturnNode* node = new (GLOBAL_DATA) ReturnNode(GLOBAL_DATA, 0);
setExceptionLocation(node, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(1) - (2)]).last_column);
@@ -4194,6 +4536,8 @@ yyreduce:
break;
case 265:
+
+/* Line 1455 of yacc.c */
#line 1071 "../parser/Grammar.y"
{ ReturnNode* node = new (GLOBAL_DATA) ReturnNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node);
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
@@ -4201,6 +4545,8 @@ yyreduce:
break;
case 266:
+
+/* Line 1455 of yacc.c */
#line 1074 "../parser/Grammar.y"
{ ReturnNode* node = new (GLOBAL_DATA) ReturnNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node);
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
@@ -4208,6 +4554,8 @@ yyreduce:
break;
case 267:
+
+/* Line 1455 of yacc.c */
#line 1080 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) WithNode(GLOBAL_DATA, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].statementNode).m_node, (yylsp[(3) - (5)]).last_column, (yylsp[(3) - (5)]).last_column - (yylsp[(3) - (5)]).first_column),
(yyvsp[(5) - (5)].statementNode).m_varDeclarations, (yyvsp[(5) - (5)].statementNode).m_funcDeclarations, (yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].statementNode).m_features | WithFeature, (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].statementNode).m_numConstants);
@@ -4215,6 +4563,8 @@ yyreduce:
break;
case 268:
+
+/* Line 1455 of yacc.c */
#line 1086 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) SwitchNode(GLOBAL_DATA, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].caseBlockNode).m_node), (yyvsp[(5) - (5)].caseBlockNode).m_varDeclarations, (yyvsp[(5) - (5)].caseBlockNode).m_funcDeclarations,
(yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].caseBlockNode).m_features, (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].caseBlockNode).m_numConstants);
@@ -4222,11 +4572,15 @@ yyreduce:
break;
case 269:
+
+/* Line 1455 of yacc.c */
#line 1092 "../parser/Grammar.y"
{ (yyval.caseBlockNode) = createNodeDeclarationInfo<CaseBlockNode*>(new (GLOBAL_DATA) CaseBlockNode(GLOBAL_DATA, (yyvsp[(2) - (3)].clauseList).m_node.head, 0, 0), (yyvsp[(2) - (3)].clauseList).m_varDeclarations, (yyvsp[(2) - (3)].clauseList).m_funcDeclarations, (yyvsp[(2) - (3)].clauseList).m_features, (yyvsp[(2) - (3)].clauseList).m_numConstants); ;}
break;
case 270:
+
+/* Line 1455 of yacc.c */
#line 1094 "../parser/Grammar.y"
{ (yyval.caseBlockNode) = createNodeDeclarationInfo<CaseBlockNode*>(new (GLOBAL_DATA) CaseBlockNode(GLOBAL_DATA, (yyvsp[(2) - (5)].clauseList).m_node.head, (yyvsp[(3) - (5)].caseClauseNode).m_node, (yyvsp[(4) - (5)].clauseList).m_node.head),
mergeDeclarationLists(mergeDeclarationLists((yyvsp[(2) - (5)].clauseList).m_varDeclarations, (yyvsp[(3) - (5)].caseClauseNode).m_varDeclarations), (yyvsp[(4) - (5)].clauseList).m_varDeclarations),
@@ -4236,11 +4590,15 @@ yyreduce:
break;
case 271:
+
+/* Line 1455 of yacc.c */
#line 1102 "../parser/Grammar.y"
{ (yyval.clauseList).m_node.head = 0; (yyval.clauseList).m_node.tail = 0; (yyval.clauseList).m_varDeclarations = 0; (yyval.clauseList).m_funcDeclarations = 0; (yyval.clauseList).m_features = 0; (yyval.clauseList).m_numConstants = 0; ;}
break;
case 273:
+
+/* Line 1455 of yacc.c */
#line 1107 "../parser/Grammar.y"
{ (yyval.clauseList).m_node.head = new (GLOBAL_DATA) ClauseListNode(GLOBAL_DATA, (yyvsp[(1) - (1)].caseClauseNode).m_node);
(yyval.clauseList).m_node.tail = (yyval.clauseList).m_node.head;
@@ -4251,6 +4609,8 @@ yyreduce:
break;
case 274:
+
+/* Line 1455 of yacc.c */
#line 1113 "../parser/Grammar.y"
{ (yyval.clauseList).m_node.head = (yyvsp[(1) - (2)].clauseList).m_node.head;
(yyval.clauseList).m_node.tail = new (GLOBAL_DATA) ClauseListNode(GLOBAL_DATA, (yyvsp[(1) - (2)].clauseList).m_node.tail, (yyvsp[(2) - (2)].caseClauseNode).m_node);
@@ -4262,26 +4622,36 @@ yyreduce:
break;
case 275:
+
+/* Line 1455 of yacc.c */
#line 1123 "../parser/Grammar.y"
{ (yyval.caseClauseNode) = createNodeDeclarationInfo<CaseClauseNode*>(new (GLOBAL_DATA) CaseClauseNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node), 0, 0, (yyvsp[(2) - (3)].expressionNode).m_features, (yyvsp[(2) - (3)].expressionNode).m_numConstants); ;}
break;
case 276:
+
+/* Line 1455 of yacc.c */
#line 1124 "../parser/Grammar.y"
{ (yyval.caseClauseNode) = createNodeDeclarationInfo<CaseClauseNode*>(new (GLOBAL_DATA) CaseClauseNode(GLOBAL_DATA, (yyvsp[(2) - (4)].expressionNode).m_node, (yyvsp[(4) - (4)].sourceElements).m_node), (yyvsp[(4) - (4)].sourceElements).m_varDeclarations, (yyvsp[(4) - (4)].sourceElements).m_funcDeclarations, (yyvsp[(2) - (4)].expressionNode).m_features | (yyvsp[(4) - (4)].sourceElements).m_features, (yyvsp[(2) - (4)].expressionNode).m_numConstants + (yyvsp[(4) - (4)].sourceElements).m_numConstants); ;}
break;
case 277:
+
+/* Line 1455 of yacc.c */
#line 1128 "../parser/Grammar.y"
{ (yyval.caseClauseNode) = createNodeDeclarationInfo<CaseClauseNode*>(new (GLOBAL_DATA) CaseClauseNode(GLOBAL_DATA, 0), 0, 0, 0, 0); ;}
break;
case 278:
+
+/* Line 1455 of yacc.c */
#line 1129 "../parser/Grammar.y"
{ (yyval.caseClauseNode) = createNodeDeclarationInfo<CaseClauseNode*>(new (GLOBAL_DATA) CaseClauseNode(GLOBAL_DATA, 0, (yyvsp[(3) - (3)].sourceElements).m_node), (yyvsp[(3) - (3)].sourceElements).m_varDeclarations, (yyvsp[(3) - (3)].sourceElements).m_funcDeclarations, (yyvsp[(3) - (3)].sourceElements).m_features, (yyvsp[(3) - (3)].sourceElements).m_numConstants); ;}
break;
case 279:
+
+/* Line 1455 of yacc.c */
#line 1133 "../parser/Grammar.y"
{ LabelNode* node = new (GLOBAL_DATA) LabelNode(GLOBAL_DATA, *(yyvsp[(1) - (3)].ident), (yyvsp[(3) - (3)].statementNode).m_node);
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
@@ -4289,6 +4659,8 @@ yyreduce:
break;
case 280:
+
+/* Line 1455 of yacc.c */
#line 1139 "../parser/Grammar.y"
{ ThrowNode* node = new (GLOBAL_DATA) ThrowNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node);
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
@@ -4297,6 +4669,8 @@ yyreduce:
break;
case 281:
+
+/* Line 1455 of yacc.c */
#line 1143 "../parser/Grammar.y"
{ ThrowNode* node = new (GLOBAL_DATA) ThrowNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node);
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
@@ -4305,6 +4679,8 @@ yyreduce:
break;
case 282:
+
+/* Line 1455 of yacc.c */
#line 1150 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) TryNode(GLOBAL_DATA, (yyvsp[(2) - (4)].statementNode).m_node, GLOBAL_DATA->propertyNames->nullIdentifier, false, 0, (yyvsp[(4) - (4)].statementNode).m_node),
mergeDeclarationLists((yyvsp[(2) - (4)].statementNode).m_varDeclarations, (yyvsp[(4) - (4)].statementNode).m_varDeclarations),
@@ -4315,6 +4691,8 @@ yyreduce:
break;
case 283:
+
+/* Line 1455 of yacc.c */
#line 1156 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) TryNode(GLOBAL_DATA, (yyvsp[(2) - (7)].statementNode).m_node, *(yyvsp[(5) - (7)].ident), ((yyvsp[(7) - (7)].statementNode).m_features & EvalFeature) != 0, (yyvsp[(7) - (7)].statementNode).m_node, 0),
mergeDeclarationLists((yyvsp[(2) - (7)].statementNode).m_varDeclarations, (yyvsp[(7) - (7)].statementNode).m_varDeclarations),
@@ -4325,6 +4703,8 @@ yyreduce:
break;
case 284:
+
+/* Line 1455 of yacc.c */
#line 1163 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) TryNode(GLOBAL_DATA, (yyvsp[(2) - (9)].statementNode).m_node, *(yyvsp[(5) - (9)].ident), ((yyvsp[(7) - (9)].statementNode).m_features & EvalFeature) != 0, (yyvsp[(7) - (9)].statementNode).m_node, (yyvsp[(9) - (9)].statementNode).m_node),
mergeDeclarationLists(mergeDeclarationLists((yyvsp[(2) - (9)].statementNode).m_varDeclarations, (yyvsp[(7) - (9)].statementNode).m_varDeclarations), (yyvsp[(9) - (9)].statementNode).m_varDeclarations),
@@ -4335,23 +4715,31 @@ yyreduce:
break;
case 285:
+
+/* Line 1455 of yacc.c */
#line 1172 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) DebuggerStatementNode(GLOBAL_DATA), 0, 0, 0, 0);
setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(2) - (2)])); ;}
break;
case 286:
+
+/* Line 1455 of yacc.c */
#line 1174 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) DebuggerStatementNode(GLOBAL_DATA), 0, 0, 0, 0);
setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(1) - (2)])); AUTO_SEMICOLON; ;}
break;
case 287:
+
+/* Line 1455 of yacc.c */
#line 1179 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) FuncDeclNode(GLOBAL_DATA, *(yyvsp[(2) - (7)].ident), (yyvsp[(6) - (7)].functionBodyNode), GLOBAL_DATA->lexer->sourceCode((yyvsp[(5) - (7)].intValue), (yyvsp[(7) - (7)].intValue), (yylsp[(5) - (7)]).first_line)), 0, new (GLOBAL_DATA) ParserArenaData<DeclarationStacks::FunctionStack>, ((*(yyvsp[(2) - (7)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0) | ClosureFeature, 0); setStatementLocation((yyvsp[(6) - (7)].functionBodyNode), (yylsp[(5) - (7)]), (yylsp[(7) - (7)])); (yyval.statementNode).m_funcDeclarations->data.append(static_cast<FuncDeclNode*>((yyval.statementNode).m_node)->body()); ;}
break;
case 288:
+
+/* Line 1455 of yacc.c */
#line 1181 "../parser/Grammar.y"
{
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) FuncDeclNode(GLOBAL_DATA, *(yyvsp[(2) - (8)].ident), (yyvsp[(7) - (8)].functionBodyNode), GLOBAL_DATA->lexer->sourceCode((yyvsp[(6) - (8)].intValue), (yyvsp[(8) - (8)].intValue), (yylsp[(6) - (8)]).first_line), (yyvsp[(4) - (8)].parameterList).m_node.head), 0, new (GLOBAL_DATA) ParserArenaData<DeclarationStacks::FunctionStack>, ((*(yyvsp[(2) - (8)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0) | (yyvsp[(4) - (8)].parameterList).m_features | ClosureFeature, 0);
@@ -4363,11 +4751,15 @@ yyreduce:
break;
case 289:
+
+/* Line 1455 of yacc.c */
#line 1191 "../parser/Grammar.y"
{ (yyval.funcExprNode) = createNodeInfo(new (GLOBAL_DATA) FuncExprNode(GLOBAL_DATA, GLOBAL_DATA->propertyNames->nullIdentifier, (yyvsp[(5) - (6)].functionBodyNode), GLOBAL_DATA->lexer->sourceCode((yyvsp[(4) - (6)].intValue), (yyvsp[(6) - (6)].intValue), (yylsp[(4) - (6)]).first_line)), ClosureFeature, 0); setStatementLocation((yyvsp[(5) - (6)].functionBodyNode), (yylsp[(4) - (6)]), (yylsp[(6) - (6)])); ;}
break;
case 290:
+
+/* Line 1455 of yacc.c */
#line 1193 "../parser/Grammar.y"
{
(yyval.funcExprNode) = createNodeInfo(new (GLOBAL_DATA) FuncExprNode(GLOBAL_DATA, GLOBAL_DATA->propertyNames->nullIdentifier, (yyvsp[(6) - (7)].functionBodyNode), GLOBAL_DATA->lexer->sourceCode((yyvsp[(5) - (7)].intValue), (yyvsp[(7) - (7)].intValue), (yylsp[(5) - (7)]).first_line), (yyvsp[(3) - (7)].parameterList).m_node.head), (yyvsp[(3) - (7)].parameterList).m_features | ClosureFeature, 0);
@@ -4378,11 +4770,15 @@ yyreduce:
break;
case 291:
+
+/* Line 1455 of yacc.c */
#line 1199 "../parser/Grammar.y"
{ (yyval.funcExprNode) = createNodeInfo(new (GLOBAL_DATA) FuncExprNode(GLOBAL_DATA, *(yyvsp[(2) - (7)].ident), (yyvsp[(6) - (7)].functionBodyNode), GLOBAL_DATA->lexer->sourceCode((yyvsp[(5) - (7)].intValue), (yyvsp[(7) - (7)].intValue), (yylsp[(5) - (7)]).first_line)), ClosureFeature, 0); setStatementLocation((yyvsp[(6) - (7)].functionBodyNode), (yylsp[(5) - (7)]), (yylsp[(7) - (7)])); ;}
break;
case 292:
+
+/* Line 1455 of yacc.c */
#line 1201 "../parser/Grammar.y"
{
(yyval.funcExprNode) = createNodeInfo(new (GLOBAL_DATA) FuncExprNode(GLOBAL_DATA, *(yyvsp[(2) - (8)].ident), (yyvsp[(7) - (8)].functionBodyNode), GLOBAL_DATA->lexer->sourceCode((yyvsp[(6) - (8)].intValue), (yyvsp[(8) - (8)].intValue), (yylsp[(6) - (8)]).first_line), (yyvsp[(4) - (8)].parameterList).m_node.head), (yyvsp[(4) - (8)].parameterList).m_features | ClosureFeature, 0);
@@ -4393,6 +4789,8 @@ yyreduce:
break;
case 293:
+
+/* Line 1455 of yacc.c */
#line 1210 "../parser/Grammar.y"
{ (yyval.parameterList).m_node.head = new (GLOBAL_DATA) ParameterNode(GLOBAL_DATA, *(yyvsp[(1) - (1)].ident));
(yyval.parameterList).m_features = (*(yyvsp[(1) - (1)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0;
@@ -4400,6 +4798,8 @@ yyreduce:
break;
case 294:
+
+/* Line 1455 of yacc.c */
#line 1213 "../parser/Grammar.y"
{ (yyval.parameterList).m_node.head = (yyvsp[(1) - (3)].parameterList).m_node.head;
(yyval.parameterList).m_features = (yyvsp[(1) - (3)].parameterList).m_features | ((*(yyvsp[(3) - (3)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0);
@@ -4407,27 +4807,37 @@ yyreduce:
break;
case 295:
+
+/* Line 1455 of yacc.c */
#line 1219 "../parser/Grammar.y"
{ (yyval.functionBodyNode) = FunctionBodyNode::create(GLOBAL_DATA); ;}
break;
case 296:
+
+/* Line 1455 of yacc.c */
#line 1220 "../parser/Grammar.y"
{ (yyval.functionBodyNode) = FunctionBodyNode::create(GLOBAL_DATA); ;}
break;
case 297:
+
+/* Line 1455 of yacc.c */
#line 1224 "../parser/Grammar.y"
{ GLOBAL_DATA->parser->didFinishParsing(new (GLOBAL_DATA) SourceElements(GLOBAL_DATA), 0, 0, NoFeatures, (yylsp[(0) - (0)]).last_line, 0); ;}
break;
case 298:
+
+/* Line 1455 of yacc.c */
#line 1225 "../parser/Grammar.y"
{ GLOBAL_DATA->parser->didFinishParsing((yyvsp[(1) - (1)].sourceElements).m_node, (yyvsp[(1) - (1)].sourceElements).m_varDeclarations, (yyvsp[(1) - (1)].sourceElements).m_funcDeclarations, (yyvsp[(1) - (1)].sourceElements).m_features,
(yylsp[(1) - (1)]).last_line, (yyvsp[(1) - (1)].sourceElements).m_numConstants); ;}
break;
case 299:
+
+/* Line 1455 of yacc.c */
#line 1230 "../parser/Grammar.y"
{ (yyval.sourceElements).m_node = new (GLOBAL_DATA) SourceElements(GLOBAL_DATA);
(yyval.sourceElements).m_node->append((yyvsp[(1) - (1)].statementNode).m_node);
@@ -4439,6 +4849,8 @@ yyreduce:
break;
case 300:
+
+/* Line 1455 of yacc.c */
#line 1237 "../parser/Grammar.y"
{ (yyval.sourceElements).m_node->append((yyvsp[(2) - (2)].statementNode).m_node);
(yyval.sourceElements).m_varDeclarations = mergeDeclarationLists((yyvsp[(1) - (2)].sourceElements).m_varDeclarations, (yyvsp[(2) - (2)].statementNode).m_varDeclarations);
@@ -4449,188 +4861,261 @@ yyreduce:
break;
case 304:
+
+/* Line 1455 of yacc.c */
#line 1251 "../parser/Grammar.y"
{ ;}
break;
case 305:
+
+/* Line 1455 of yacc.c */
#line 1252 "../parser/Grammar.y"
{ ;}
break;
case 306:
+
+/* Line 1455 of yacc.c */
#line 1253 "../parser/Grammar.y"
{ if (!GLOBAL_DATA->lexer->skipRegExp()) YYABORT; ;}
break;
case 307:
+
+/* Line 1455 of yacc.c */
#line 1254 "../parser/Grammar.y"
{ if (!GLOBAL_DATA->lexer->skipRegExp()) YYABORT; ;}
break;
case 308:
+
+/* Line 1455 of yacc.c */
#line 1258 "../parser/Grammar.y"
{ ;}
break;
case 309:
+
+/* Line 1455 of yacc.c */
#line 1259 "../parser/Grammar.y"
{ ;}
break;
case 310:
+
+/* Line 1455 of yacc.c */
#line 1260 "../parser/Grammar.y"
{ ;}
break;
case 311:
+
+/* Line 1455 of yacc.c */
#line 1261 "../parser/Grammar.y"
{ if (*(yyvsp[(1) - (7)].ident) != "get" && *(yyvsp[(1) - (7)].ident) != "set") YYABORT; ;}
break;
case 312:
+
+/* Line 1455 of yacc.c */
#line 1262 "../parser/Grammar.y"
{ if (*(yyvsp[(1) - (8)].ident) != "get" && *(yyvsp[(1) - (8)].ident) != "set") YYABORT; ;}
break;
case 316:
+
+/* Line 1455 of yacc.c */
#line 1272 "../parser/Grammar.y"
{ ;}
break;
case 317:
+
+/* Line 1455 of yacc.c */
#line 1273 "../parser/Grammar.y"
{ ;}
break;
case 318:
+
+/* Line 1455 of yacc.c */
#line 1275 "../parser/Grammar.y"
{ ;}
break;
case 322:
+
+/* Line 1455 of yacc.c */
#line 1282 "../parser/Grammar.y"
{ ;}
break;
case 517:
+
+/* Line 1455 of yacc.c */
#line 1650 "../parser/Grammar.y"
{ ;}
break;
case 518:
+
+/* Line 1455 of yacc.c */
#line 1651 "../parser/Grammar.y"
{ ;}
break;
case 520:
+
+/* Line 1455 of yacc.c */
#line 1656 "../parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 521:
+
+/* Line 1455 of yacc.c */
#line 1660 "../parser/Grammar.y"
{ ;}
break;
case 522:
+
+/* Line 1455 of yacc.c */
#line 1661 "../parser/Grammar.y"
{ ;}
break;
case 525:
+
+/* Line 1455 of yacc.c */
#line 1667 "../parser/Grammar.y"
{ ;}
break;
case 526:
+
+/* Line 1455 of yacc.c */
#line 1668 "../parser/Grammar.y"
{ ;}
break;
case 530:
+
+/* Line 1455 of yacc.c */
#line 1675 "../parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 533:
+
+/* Line 1455 of yacc.c */
#line 1684 "../parser/Grammar.y"
{ ;}
break;
case 534:
+
+/* Line 1455 of yacc.c */
#line 1685 "../parser/Grammar.y"
{ ;}
break;
case 539:
+
+/* Line 1455 of yacc.c */
#line 1702 "../parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 555:
+
+/* Line 1455 of yacc.c */
#line 1733 "../parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 557:
+
+/* Line 1455 of yacc.c */
#line 1735 "../parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 559:
+
+/* Line 1455 of yacc.c */
#line 1740 "../parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 561:
+
+/* Line 1455 of yacc.c */
#line 1742 "../parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 563:
+
+/* Line 1455 of yacc.c */
#line 1747 "../parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 565:
+
+/* Line 1455 of yacc.c */
#line 1749 "../parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 568:
+
+/* Line 1455 of yacc.c */
#line 1761 "../parser/Grammar.y"
{ ;}
break;
case 569:
+
+/* Line 1455 of yacc.c */
#line 1762 "../parser/Grammar.y"
{ ;}
break;
case 578:
+
+/* Line 1455 of yacc.c */
#line 1786 "../parser/Grammar.y"
{ ;}
break;
case 580:
+
+/* Line 1455 of yacc.c */
#line 1791 "../parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 585:
+
+/* Line 1455 of yacc.c */
#line 1802 "../parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 592:
+
+/* Line 1455 of yacc.c */
#line 1818 "../parser/Grammar.y"
{ ;}
break;
-/* Line 1267 of yacc.c. */
-#line 4634 "JavaScriptCore/tmp/../generated/Grammar.tab.c"
+
+/* Line 1455 of yacc.c */
+#line 5119 "JavaScriptCore/tmp/../generated/Grammar.tab.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -4706,7 +5191,7 @@ yyerrlab:
if (yyerrstatus == 3)
{
- /* If just tried and failed to reuse look-ahead token after an
+ /* If just tried and failed to reuse lookahead token after an
error, discard it. */
if (yychar <= YYEOF)
@@ -4723,7 +5208,7 @@ yyerrlab:
}
}
- /* Else will try to reuse look-ahead token after shifting the error
+ /* Else will try to reuse lookahead token after shifting the error
token. */
goto yyerrlab1;
@@ -4781,14 +5266,11 @@ yyerrlab1:
YY_STACK_PRINT (yyss, yyssp);
}
- if (yyn == YYFINAL)
- YYACCEPT;
-
*++yyvsp = yylval;
yyerror_range[1] = yylloc;
/* Using YYLLOC is tempting, but would change the location of
- the look-ahead. YYLOC is available though. */
+ the lookahead. YYLOC is available though. */
YYLLOC_DEFAULT (yyloc, (yyerror_range - 1), 2);
*++yylsp = yyloc;
@@ -4813,7 +5295,7 @@ yyabortlab:
yyresult = 1;
goto yyreturn;
-#ifndef yyoverflow
+#if !defined(yyoverflow) || YYERROR_VERBOSE
/*-------------------------------------------------.
| yyexhaustedlab -- memory exhaustion comes here. |
`-------------------------------------------------*/
@@ -4824,7 +5306,7 @@ yyexhaustedlab:
#endif
yyreturn:
- if (yychar != YYEOF && yychar != YYEMPTY)
+ if (yychar != YYEMPTY)
yydestruct ("Cleanup: discarding lookahead",
yytoken, &yylval, &yylloc);
/* Do not reclaim the symbols of the rule which action triggered
@@ -4850,6 +5332,8 @@ yyreturn:
}
+
+/* Line 1675 of yacc.c */
#line 1834 "../parser/Grammar.y"
diff --git a/src/3rdparty/webkit/JavaScriptCore/generated/Grammar.h b/src/3rdparty/webkit/JavaScriptCore/generated/Grammar.h
index 1fdb035..a485e42 100644
--- a/src/3rdparty/webkit/JavaScriptCore/generated/Grammar.h
+++ b/src/3rdparty/webkit/JavaScriptCore/generated/Grammar.h
@@ -1,24 +1,23 @@
-/* A Bison parser, made by GNU Bison 2.3. */
-/* Skeleton interface for Bison's Yacc-like parsers in C
+/* A Bison parser, made by GNU Bison 2.4.1. */
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+/* Skeleton interface for Bison's Yacc-like parsers in C
+
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
+
+ This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
This program 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 General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA. */
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
@@ -29,10 +28,11 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
+
/* Tokens. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
@@ -104,78 +104,16 @@
AUTOMINUSMINUS = 320
};
#endif
-/* Tokens. */
-#define NULLTOKEN 258
-#define TRUETOKEN 259
-#define FALSETOKEN 260
-#define BREAK 261
-#define CASE 262
-#define DEFAULT 263
-#define FOR 264
-#define NEW 265
-#define VAR 266
-#define CONSTTOKEN 267
-#define CONTINUE 268
-#define FUNCTION 269
-#define RETURN 270
-#define VOIDTOKEN 271
-#define DELETETOKEN 272
-#define IF 273
-#define THISTOKEN 274
-#define DO 275
-#define WHILE 276
-#define INTOKEN 277
-#define INSTANCEOF 278
-#define TYPEOF 279
-#define SWITCH 280
-#define WITH 281
-#define RESERVED 282
-#define THROW 283
-#define TRY 284
-#define CATCH 285
-#define FINALLY 286
-#define DEBUGGER 287
-#define IF_WITHOUT_ELSE 288
-#define ELSE 289
-#define EQEQ 290
-#define NE 291
-#define STREQ 292
-#define STRNEQ 293
-#define LE 294
-#define GE 295
-#define OR 296
-#define AND 297
-#define PLUSPLUS 298
-#define MINUSMINUS 299
-#define LSHIFT 300
-#define RSHIFT 301
-#define URSHIFT 302
-#define PLUSEQUAL 303
-#define MINUSEQUAL 304
-#define MULTEQUAL 305
-#define DIVEQUAL 306
-#define LSHIFTEQUAL 307
-#define RSHIFTEQUAL 308
-#define URSHIFTEQUAL 309
-#define ANDEQUAL 310
-#define MODEQUAL 311
-#define XOREQUAL 312
-#define OREQUAL 313
-#define OPENBRACE 314
-#define CLOSEBRACE 315
-#define NUMBER 316
-#define IDENT 317
-#define STRING 318
-#define AUTOPLUSPLUS 319
-#define AUTOMINUSMINUS 320
-
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
-#line 146 "../parser/Grammar.y"
{
+
+/* Line 1676 of yacc.c */
+#line 146 "../parser/Grammar.y"
+
int intValue;
double doubleValue;
const Identifier* ident;
@@ -205,13 +143,15 @@ typedef union YYSTYPE
ParameterListInfo parameterList;
Operator op;
-}
-/* Line 1489 of yacc.c. */
-#line 211 "JavaScriptCore/tmp/../generated/Grammar.tab.h"
- YYSTYPE;
+
+
+
+/* Line 1676 of yacc.c */
+#line 151 "JavaScriptCore/tmp/../generated/Grammar.tab.h"
+} YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
#endif
@@ -230,3 +170,4 @@ typedef struct YYLTYPE
#endif
+
diff --git a/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp b/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp
index c77a0f1..db0edc4 100644
--- a/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp
@@ -1029,6 +1029,11 @@ NEVER_INLINE void Interpreter::tryCacheGetByID(CallFrame* callFrame, CodeBlock*
return;
}
+ if (structure->isDictionary()) {
+ vPC[0] = getOpcode(op_get_by_id_generic);
+ return;
+ }
+
if (slot.slotBase() == structure->prototypeForLookup(callFrame)) {
ASSERT(slot.slotBase().isObject());
@@ -1039,6 +1044,8 @@ NEVER_INLINE void Interpreter::tryCacheGetByID(CallFrame* callFrame, CodeBlock*
if (baseObject->structure()->isDictionary())
baseObject->setStructure(Structure::fromDictionaryTransition(baseObject->structure()));
+ ASSERT(!baseObject->structure()->isUncacheableDictionary());
+
vPC[0] = getOpcode(op_get_by_id_proto);
vPC[5] = baseObject->structure();
vPC[6] = slot.cachedOffset();
@@ -2134,6 +2141,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int offset = vPC[6].u.operand;
ASSERT(protoObject->get(callFrame, callFrame->codeBlock()->identifier(vPC[3].u.operand)) == protoObject->getDirectOffset(offset));
+ ASSERT(baseValue.get(callFrame, callFrame->codeBlock()->identifier(vPC[3].u.operand)) == protoObject->getDirectOffset(offset));
callFrame->r(dst) = JSValue(protoObject->getDirectOffset(offset));
vPC += OPCODE_LENGTH(op_get_by_id_proto);
@@ -2189,6 +2197,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int offset = vPC[7].u.operand;
ASSERT(baseObject->get(callFrame, callFrame->codeBlock()->identifier(vPC[3].u.operand)) == baseObject->getDirectOffset(offset));
+ ASSERT(baseValue.get(callFrame, callFrame->codeBlock()->identifier(vPC[3].u.operand)) == baseObject->getDirectOffset(offset));
callFrame->r(dst) = JSValue(baseObject->getDirectOffset(offset));
vPC += OPCODE_LENGTH(op_get_by_id_chain);
diff --git a/src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.cpp b/src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.cpp
index 470ed0b..8385f92 100644
--- a/src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.cpp
@@ -75,7 +75,7 @@ namespace JSC {
#define THUMB_FUNC_PARAM(name)
#endif
-#if PLATFORM(LINUX) && (PLATFORM(X86_64) || PLATFORM(X86))
+#if PLATFORM(LINUX) && PLATFORM(X86_64)
#define SYMBOL_STRING_RELOCATION(name) #name "@plt"
#else
#define SYMBOL_STRING_RELOCATION(name) SYMBOL_STRING(name)
@@ -795,6 +795,11 @@ NEVER_INLINE void JITThunks::tryCacheGetByID(CallFrame* callFrame, CodeBlock* co
return;
}
+ if (structure->isDictionary()) {
+ ctiPatchCallByReturnAddress(codeBlock, returnAddress, FunctionPtr(cti_op_get_by_id_generic));
+ return;
+ }
+
if (slot.slotBase() == structure->prototypeForLookup(callFrame)) {
ASSERT(slot.slotBase().isObject());
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/TimeoutChecker.h b/src/3rdparty/webkit/JavaScriptCore/runtime/TimeoutChecker.h
index 7bfa6d0..5925641 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/TimeoutChecker.h
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/TimeoutChecker.h
@@ -40,6 +40,7 @@ namespace JSC {
TimeoutChecker();
void setTimeoutInterval(unsigned timeoutInterval) { m_timeoutInterval = timeoutInterval; }
+ unsigned timeoutInterval() const { return m_timeoutInterval; }
unsigned ticksUntilNextCheck() { return m_ticksUntilNextCheck; }
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h b/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h
index 7bfde5b..cb6c9b9 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h
@@ -370,6 +370,8 @@
# if Q_BYTE_ORDER == Q_BIG_EDIAN
# define WTF_PLATFORM_BIG_ENDIAN 1
# endif
+
+# include <ce_time.h>
#endif
#if PLATFORM(WINCE) && PLATFORM(QT)
diff --git a/src/3rdparty/webkit/VERSION b/src/3rdparty/webkit/VERSION
index 4b84878..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
- 361c6ae17415602fedcce8924de445feafaddebb
+ 7bdf90f753d25fb1b5628b0980827df11110ad5a
diff --git a/src/3rdparty/webkit/WebCore/ChangeLog b/src/3rdparty/webkit/WebCore/ChangeLog
index a82b5ad..6daf411 100644
--- a/src/3rdparty/webkit/WebCore/ChangeLog
+++ b/src/3rdparty/webkit/WebCore/ChangeLog
@@ -1,3 +1,232 @@
+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.
+
+ [Qt] Broken back/forward after using ErrorPageExtension to set error page
+ https://bugs.webkit.org/show_bug.cgi?id=30573
+
+ Make FrameLoader::checkLoadCompleteForThisFrame method
+ to check for any working DocumentLoader instance (through
+ activeDocumentLoader()) instead of only checking for
+ 'm_provisionalDocumentLoader' in order to decide to if
+ it is going to reset of not the back and forward history.
+ after an error page has been loaded.
+
+ Test: LayoutTests/fast/history/back-forward-reset-after-error-handling.html
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
+
+2009-11-09 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Few classes have virtual functions but non-virtual destructor
+ https://bugs.webkit.org/show_bug.cgi?id=31269
+
+ No new tests as there is no functional change.
+
+ * platform/qt/QWebPageClient.h:
+ (QWebPageClient::~QWebPageClient): Add virtual destructor.
+
+2009-11-09 Yael Aharon <yael.aharon@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Allow setting HTTP headers with empty value in XMLHTTPRequest
+ https://bugs.webkit.org/show_bug.cgi?id=31140
+
+ QtNetwork interprets null string as request to remove the header, not add it.
+ Replace null values with empty values before passing them to QtNetwork.
+
+ Test: http/tests/xmlhttprequest/xmlhttprequest-setrequestheader-no-value.html
+
+ * platform/network/qt/ResourceRequestQt.cpp:
+ (WebCore::ResourceRequest::toNetworkRequest):
+
+2009-11-05 Jakub Wieczorek <faw217@gmail.com>
+
+ Reviewed by Holger Freyther.
+
+ [Qt] The XML tokenizer reports a parse error twice if it occurs before the document element is found.
+ https://bugs.webkit.org/show_bug.cgi?id=31144
+
+ XMLTokenizer::doEnd() uses an additional logic to report a parse failure in
+ documents that end prematurely but are not considered invalid by QXmlStream.
+ This is to stay compatible with the libxml2 implementation.
+ However, that code path would be also hit in situations when it should not,
+ i.e. the error would have already been caught and handled. As a result, the
+ same error would be reported twice.
+
+ No new tests, because the problem is already covered by
+ fast/parser/xml-declaration-missing-ending-mark.html.
+
+ * dom/XMLTokenizerQt.cpp:
+ (WebCore::XMLTokenizer::doEnd):
+
+2009-11-05 Yuta Kitamura <yutak@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Fix ASSERT(currentStyle = renderStyle()).
+ https://bugs.webkit.org/show_bug.cgi?id=31152
+
+ * dom/Element.cpp:
+ (WebCore::Element::pseudoStyleCacheIsInvalid): We should have used "==" instead of "=".
+
+2009-11-04 Yael Aharon <yael.aharon@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] ASSERT failure when receiving 401 HTTP Authentication response.
+ https://bugs.webkit.org/show_bug.cgi?id=31077
+
+ Allow sending the response body under the same conditions that we
+ allow it to finish without reporting an error.
+
+ * platform/network/qt/QNetworkReplyHandler.cpp:
+ (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
+
+2009-11-03 Evan Martin <evan@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Fix an off-by-one in the CSS lexer that causes memory corruption in
+ hard-to-trigger circumstances.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30827
+
+ Test: fast/css/end-of-buffer-crash.html
+
+ * css/maketokenizer: Add comments, fix off-by-one.
+
+2009-11-02 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Crash due to double-destroy related to CSS run-in property
+ https://bugs.webkit.org/show_bug.cgi?id=31034
+ rdar://problem/7328458
+
+ Test: fast/css/run-in-crash.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::destroy): Reorder destruction so the
+ continuation is destroyed after anonymous children. See comment
+ in the code for more details of why this is right.
+ * rendering/RenderInline.cpp:
+ (WebCore::RenderInline::destroy): Ditto.
+
+2009-10-30 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Holger Hans Peter Freyther.
+
+ If the owner widget of the page has a palette set, we
+ should use that one. This was only working when the
+ owner was a QWebView. This patch fixes that.
+
+ * platform/qt/RenderThemeQt.cpp:
+ (WebCore::RenderThemeQt::applyTheme):
+
+2009-10-29 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Oliver Hunt.
+
+ [GTK] Threading problems with some of the tests
+ https://bugs.webkit.org/show_bug.cgi?id=30814
+
+ Create strings shared among threads with crossThreadString
+ constructor method.
+
+ * storage/Database.cpp:
+ (WebCore::Database::Database):
+
+2009-10-30 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by NOBODY (OOPS!).
+
+ [Qt] Use the default timeout interval for JS as the HTML tokenizer delay for setHtml()
+
+ This ensures that long-running JavaScript (for example due to a modal alert() dialog),
+ will not trigger a deferred load after only 500ms (the default tokenizer delay) while
+ still giving a reasonable timeout (10 seconds) to prevent deadlock.
+
+ https://bugs.webkit.org/show_bug.cgi?id=29381
+
+ * html/HTMLTokenizer.cpp: Change debug output to print the actual tokenizer delay
+
+2009-10-30 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by NOBODY (OOPS!).
+
+ Clear the initial request when loading synchronously to prevent duplicate loads
+
+ MainResourceLoader uses the member m_initialRequest to store a request for future
+ deferred loads. When doing a synchronous load, in handleDataLoadNow(), we therefore
+ have to clear this request so that subsequent entries into the loader will not start
+ yet another load.
+
+ This can for example happen in setDefersLoading() as a result of a PageGroupLoadDeferrer
+ going out of scope when returning from Chrome::runJavaScriptAlert(), where the alert()
+ came from a script executed as part of the first/original load.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30879
+
+ * loader/MainResourceLoader.cpp:
+ (WebCore::MainResourceLoader::handleDataLoadNow): clear m_initialRequest
+
+2009-11-04 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Timothy Hatcher.
+
+ WebInspector: Use a different method to identify the webkit port in
+ InspectorBackent::platform().
+ This corrects the inspector expected behavior with Qt on Windows.
+ https://bugs.webkit.org/show_bug.cgi?id=31116
+
+ * inspector/InspectorBackend.cpp:
+ (WebCore::InspectorBackend::platform):
+ (WebCore::InspectorBackend::port):
+ * inspector/InspectorBackend.h:
+ * inspector/InspectorBackend.idl:
+ * inspector/front-end/InspectorControllerStub.js:
+ (.WebInspector.InspectorControllerStub.prototype.port):
+ * inspector/front-end/inspector.css:
+ * inspector/front-end/inspector.js:
+ (WebInspector.loaded):
+ (WebInspector.toolbarDragStart):
+
+2009-11-12 Benjamin Poulain <benjamin.poulain@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Custom printing shrink factors
+ https://bugs.webkit.org/show_bug.cgi?id=29042
+
+ This reverts commit r49769. The public API for this needs to be reviewed
+ before its inclusion in Qt.
+
+ * page/PrintContext.cpp:
+ (WebCore::PrintContext::begin):
+ * page/Settings.cpp:
+ (WebCore::Settings::Settings):
+ * page/Settings.h:
+
2009-11-09 Norbert Leser <norbert.leser@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
diff --git a/src/3rdparty/webkit/WebCore/css/maketokenizer b/src/3rdparty/webkit/WebCore/css/maketokenizer
index d14b37a..efac3c6 100644
--- a/src/3rdparty/webkit/WebCore/css/maketokenizer
+++ b/src/3rdparty/webkit/WebCore/css/maketokenizer
@@ -73,30 +73,36 @@ typedef unsigned int flex_uint32_t;
END
}
-
+# Skip over the flex output prologue: the above typedefs, forward declarations, etc.
+# Stop when we get to the declarations of tables.
while (<>) {
last if /YY_NUM_RULES/;
}
+# Dump the generated tables. /yy_last_accepting/ matches the first declaration after the tables.
print;
while (<>) {
last if /yy_last_accepting/;
print;
}
-# media query, tokenizer state support
+# Skip down the the declaration of yytext; the body of the flex output begins after it.
while (<>) {
last if /yytext/;
}
+# Dump the definitions of states (INITIAL, media query, tokenizer state support).
while (<>) {
last if not (/define/ || /line/) ;
print;
}
+# Skip to main scanner function.
while (<>) {
last if /^YY_DECL/;
}
+# Dump main scanner declarations, substituting in our 16-bit character type.
+# Declarations end with the declaration matching /yy_act/.
print;
while (<>) {
s/char/UChar/;
@@ -104,23 +110,34 @@ while (<>) {
last if /yy_act/;
}
+# Skip past initialization code, down to main loop.
while (<>) {
last if /while \( 1 \)/;
}
+# Dump the main loop, skipping over labels we don't use.
+# Stop before dumping the end-of-buffer handling, because we output our own custom end-of-buffer handling.
print;
while (<>) {
next if /^yy_match:/;
next if /^do_action:/;
last if /YY_END_OF_BUFFER/;
+ if (/^case YY_STATE_EOF\(INITIAL\):/) {
+ print "case YY_END_OF_BUFFER:\n";
+ # flex outputs a ton of logic related to end-of-buffer handling; we just want to fall through to
+ # the yyterminate() found in other EOF states. But we need to be careful to back up to behind
+ # the terminating double-NUL so that subsequent calls to flex will have the pointers in order,
+ # so this logic is a reduction of the normal flex-generated YY_END_OF_BUFFER code.
+ print "\tyy_c_buf_p = yy_cp - 1;\n";
+ print "\tyy_cp = yy_c_buf_p;\n";
+ }
print;
- print "case YY_END_OF_BUFFER:\n" if /^case YY_STATE_EOF\(INITIAL\):/;
}
+# Skip over the end-of-buffer handling; dump the rest of the function.
while (<>) {
last if /default:/;
}
-
print;
while (<>) {
print;
diff --git a/src/3rdparty/webkit/WebCore/dom/Element.cpp b/src/3rdparty/webkit/WebCore/dom/Element.cpp
index 9edde25..6924773 100644
--- a/src/3rdparty/webkit/WebCore/dom/Element.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/Element.cpp
@@ -752,7 +752,7 @@ void Element::detach()
bool Element::pseudoStyleCacheIsInvalid(const RenderStyle* currentStyle, RenderStyle* newStyle)
{
- ASSERT(currentStyle = renderStyle());
+ ASSERT(currentStyle == renderStyle());
if (!renderer() || !currentStyle)
return false;
diff --git a/src/3rdparty/webkit/WebCore/dom/XMLTokenizerQt.cpp b/src/3rdparty/webkit/WebCore/dom/XMLTokenizerQt.cpp
index c6e73ba..79fc51e 100644
--- a/src/3rdparty/webkit/WebCore/dom/XMLTokenizerQt.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/XMLTokenizerQt.cpp
@@ -256,7 +256,7 @@ void XMLTokenizer::doEnd()
#endif
if (m_stream.error() == QXmlStreamReader::PrematureEndOfDocumentError
- || (m_wroteText && !m_sawFirstElement && !m_sawXSLTransform))
+ || (m_wroteText && !m_sawFirstElement && !m_sawXSLTransform && !m_sawError))
handleError(fatal, qPrintable(m_stream.errorString()), lineNumber(), columnNumber());
}
diff --git a/src/3rdparty/webkit/WebCore/generated/CSSGrammar.cpp b/src/3rdparty/webkit/WebCore/generated/CSSGrammar.cpp
index 335562e..20e3fcb 100644
--- a/src/3rdparty/webkit/WebCore/generated/CSSGrammar.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/CSSGrammar.cpp
@@ -1,24 +1,23 @@
-/* A Bison parser, made by GNU Bison 2.3. */
-/* Skeleton implementation for Bison's Yacc-like parsers in C
+/* A Bison parser, made by GNU Bison 2.4.1. */
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+/* Skeleton implementation for Bison's Yacc-like parsers in C
+
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
+
+ This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
This program 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 General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA. */
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
@@ -29,7 +28,7 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
@@ -47,7 +46,7 @@
#define YYBISON 1
/* Bison version. */
-#define YYBISON_VERSION "2.3"
+#define YYBISON_VERSION "2.4.1"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@@ -55,161 +54,28 @@
/* Pure parsers. */
#define YYPURE 1
+/* Push parsers. */
+#define YYPUSH 0
+
+/* Pull parsers. */
+#define YYPULL 1
+
/* Using locations. */
#define YYLSP_NEEDED 0
/* Substitute the variable and function names. */
-#define yyparse cssyyparse
-#define yylex cssyylex
-#define yyerror cssyyerror
-#define yylval cssyylval
-#define yychar cssyychar
-#define yydebug cssyydebug
-#define yynerrs cssyynerrs
-
-
-/* Tokens. */
-#ifndef YYTOKENTYPE
-# define YYTOKENTYPE
- /* Put the tokens into the symbol table, so that GDB and other debuggers
- know about them. */
- enum yytokentype {
- TOKEN_EOF = 0,
- LOWEST_PREC = 258,
- UNIMPORTANT_TOK = 259,
- WHITESPACE = 260,
- SGML_CD = 261,
- INCLUDES = 262,
- DASHMATCH = 263,
- BEGINSWITH = 264,
- ENDSWITH = 265,
- CONTAINS = 266,
- STRING = 267,
- IDENT = 268,
- NTH = 269,
- HEX = 270,
- IDSEL = 271,
- IMPORT_SYM = 272,
- PAGE_SYM = 273,
- MEDIA_SYM = 274,
- FONT_FACE_SYM = 275,
- CHARSET_SYM = 276,
- NAMESPACE_SYM = 277,
- WEBKIT_RULE_SYM = 278,
- WEBKIT_DECLS_SYM = 279,
- WEBKIT_KEYFRAME_RULE_SYM = 280,
- WEBKIT_KEYFRAMES_SYM = 281,
- WEBKIT_VALUE_SYM = 282,
- WEBKIT_MEDIAQUERY_SYM = 283,
- WEBKIT_SELECTOR_SYM = 284,
- WEBKIT_VARIABLES_SYM = 285,
- WEBKIT_DEFINE_SYM = 286,
- VARIABLES_FOR = 287,
- WEBKIT_VARIABLES_DECLS_SYM = 288,
- ATKEYWORD = 289,
- IMPORTANT_SYM = 290,
- MEDIA_ONLY = 291,
- MEDIA_NOT = 292,
- MEDIA_AND = 293,
- REMS = 294,
- QEMS = 295,
- EMS = 296,
- EXS = 297,
- PXS = 298,
- CMS = 299,
- MMS = 300,
- INS = 301,
- PTS = 302,
- PCS = 303,
- DEGS = 304,
- RADS = 305,
- GRADS = 306,
- TURNS = 307,
- MSECS = 308,
- SECS = 309,
- HERZ = 310,
- KHERZ = 311,
- DIMEN = 312,
- PERCENTAGE = 313,
- FLOATTOKEN = 314,
- INTEGER = 315,
- URI = 316,
- FUNCTION = 317,
- NOTFUNCTION = 318,
- UNICODERANGE = 319,
- VARCALL = 320
- };
-#endif
-/* Tokens. */
-#define TOKEN_EOF 0
-#define LOWEST_PREC 258
-#define UNIMPORTANT_TOK 259
-#define WHITESPACE 260
-#define SGML_CD 261
-#define INCLUDES 262
-#define DASHMATCH 263
-#define BEGINSWITH 264
-#define ENDSWITH 265
-#define CONTAINS 266
-#define STRING 267
-#define IDENT 268
-#define NTH 269
-#define HEX 270
-#define IDSEL 271
-#define IMPORT_SYM 272
-#define PAGE_SYM 273
-#define MEDIA_SYM 274
-#define FONT_FACE_SYM 275
-#define CHARSET_SYM 276
-#define NAMESPACE_SYM 277
-#define WEBKIT_RULE_SYM 278
-#define WEBKIT_DECLS_SYM 279
-#define WEBKIT_KEYFRAME_RULE_SYM 280
-#define WEBKIT_KEYFRAMES_SYM 281
-#define WEBKIT_VALUE_SYM 282
-#define WEBKIT_MEDIAQUERY_SYM 283
-#define WEBKIT_SELECTOR_SYM 284
-#define WEBKIT_VARIABLES_SYM 285
-#define WEBKIT_DEFINE_SYM 286
-#define VARIABLES_FOR 287
-#define WEBKIT_VARIABLES_DECLS_SYM 288
-#define ATKEYWORD 289
-#define IMPORTANT_SYM 290
-#define MEDIA_ONLY 291
-#define MEDIA_NOT 292
-#define MEDIA_AND 293
-#define REMS 294
-#define QEMS 295
-#define EMS 296
-#define EXS 297
-#define PXS 298
-#define CMS 299
-#define MMS 300
-#define INS 301
-#define PTS 302
-#define PCS 303
-#define DEGS 304
-#define RADS 305
-#define GRADS 306
-#define TURNS 307
-#define MSECS 308
-#define SECS 309
-#define HERZ 310
-#define KHERZ 311
-#define DIMEN 312
-#define PERCENTAGE 313
-#define FLOATTOKEN 314
-#define INTEGER 315
-#define URI 316
-#define FUNCTION 317
-#define NOTFUNCTION 318
-#define UNICODERANGE 319
-#define VARCALL 320
-
-
+#define yyparse cssyyparse
+#define yylex cssyylex
+#define yyerror cssyyerror
+#define yylval cssyylval
+#define yychar cssyychar
+#define yydebug cssyydebug
+#define yynerrs cssyynerrs
/* Copy the first part of user declarations. */
+
+/* Line 189 of yacc.c */
#line 1 "../css/CSSGrammar.y"
@@ -270,6 +136,9 @@ using namespace HTMLNames;
+/* Line 189 of yacc.c */
+#line 141 "WebCore/tmp/../generated/CSSGrammar.tab.c"
+
/* Enabling traces. */
#ifndef YYDEBUG
# define YYDEBUG 0
@@ -288,10 +157,89 @@ using namespace HTMLNames;
# define YYTOKEN_TABLE 0
#endif
+
+/* Tokens. */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ TOKEN_EOF = 0,
+ LOWEST_PREC = 258,
+ UNIMPORTANT_TOK = 259,
+ WHITESPACE = 260,
+ SGML_CD = 261,
+ INCLUDES = 262,
+ DASHMATCH = 263,
+ BEGINSWITH = 264,
+ ENDSWITH = 265,
+ CONTAINS = 266,
+ STRING = 267,
+ IDENT = 268,
+ NTH = 269,
+ HEX = 270,
+ IDSEL = 271,
+ IMPORT_SYM = 272,
+ PAGE_SYM = 273,
+ MEDIA_SYM = 274,
+ FONT_FACE_SYM = 275,
+ CHARSET_SYM = 276,
+ NAMESPACE_SYM = 277,
+ WEBKIT_RULE_SYM = 278,
+ WEBKIT_DECLS_SYM = 279,
+ WEBKIT_KEYFRAME_RULE_SYM = 280,
+ WEBKIT_KEYFRAMES_SYM = 281,
+ WEBKIT_VALUE_SYM = 282,
+ WEBKIT_MEDIAQUERY_SYM = 283,
+ WEBKIT_SELECTOR_SYM = 284,
+ WEBKIT_VARIABLES_SYM = 285,
+ WEBKIT_DEFINE_SYM = 286,
+ VARIABLES_FOR = 287,
+ WEBKIT_VARIABLES_DECLS_SYM = 288,
+ ATKEYWORD = 289,
+ IMPORTANT_SYM = 290,
+ MEDIA_ONLY = 291,
+ MEDIA_NOT = 292,
+ MEDIA_AND = 293,
+ REMS = 294,
+ QEMS = 295,
+ EMS = 296,
+ EXS = 297,
+ PXS = 298,
+ CMS = 299,
+ MMS = 300,
+ INS = 301,
+ PTS = 302,
+ PCS = 303,
+ DEGS = 304,
+ RADS = 305,
+ GRADS = 306,
+ TURNS = 307,
+ MSECS = 308,
+ SECS = 309,
+ HERZ = 310,
+ KHERZ = 311,
+ DIMEN = 312,
+ PERCENTAGE = 313,
+ FLOATTOKEN = 314,
+ INTEGER = 315,
+ URI = 316,
+ FUNCTION = 317,
+ NOTFUNCTION = 318,
+ UNICODERANGE = 319,
+ VARCALL = 320
+ };
+#endif
+
+
+
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
-#line 62 "../css/CSSGrammar.y"
{
+
+/* Line 214 of yacc.c */
+#line 62 "../css/CSSGrammar.y"
+
bool boolean;
char character;
int integer;
@@ -313,18 +261,21 @@ typedef union YYSTYPE
WebKitCSSKeyframeRule* keyframeRule;
WebKitCSSKeyframesRule* keyframesRule;
float val;
-}
-/* Line 187 of yacc.c. */
-#line 319 "WebCore/tmp/../generated/CSSGrammar.tab.c"
- YYSTYPE;
+
+
+
+/* Line 214 of yacc.c */
+#line 269 "WebCore/tmp/../generated/CSSGrammar.tab.c"
+} YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
#endif
-
/* Copy the second part of user declarations. */
+
+/* Line 264 of yacc.c */
#line 86 "../css/CSSGrammar.y"
@@ -340,8 +291,8 @@ static int cssyylex(YYSTYPE* yylval, void* parser)
-/* Line 216 of yacc.c. */
-#line 345 "WebCore/tmp/../generated/CSSGrammar.tab.c"
+/* Line 264 of yacc.c */
+#line 296 "WebCore/tmp/../generated/CSSGrammar.tab.c"
#ifdef short
# undef short
@@ -416,14 +367,14 @@ typedef short int yytype_int16;
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static int
-YYID (int i)
+YYID (int yyi)
#else
static int
-YYID (i)
- int i;
+YYID (yyi)
+ int yyi;
#endif
{
- return i;
+ return yyi;
}
#endif
@@ -504,9 +455,9 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */
/* A type that is properly aligned for any stack member. */
union yyalloc
{
- yytype_int16 yyss;
- YYSTYPE yyvs;
- };
+ yytype_int16 yyss_alloc;
+ YYSTYPE yyvs_alloc;
+};
/* The size of the maximum gap between one aligned stack and the next. */
# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
@@ -540,12 +491,12 @@ union yyalloc
elements in the stack, and YYPTR gives the new location of the
stack. Advance YYPTR to a properly aligned location for the next
stack. */
-# define YYSTACK_RELOCATE(Stack) \
+# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
do \
{ \
YYSIZE_T yynewbytes; \
- YYCOPY (&yyptr->Stack, Stack, yysize); \
- Stack = &yyptr->Stack; \
+ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
+ Stack = &yyptr->Stack_alloc; \
yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
yyptr += yynewbytes / sizeof (*yyptr); \
} \
@@ -1557,17 +1508,20 @@ yy_symbol_print (yyoutput, yytype, yyvaluep)
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static void
-yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
+yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
#else
static void
-yy_stack_print (bottom, top)
- yytype_int16 *bottom;
- yytype_int16 *top;
+yy_stack_print (yybottom, yytop)
+ yytype_int16 *yybottom;
+ yytype_int16 *yytop;
#endif
{
YYFPRINTF (stderr, "Stack now");
- for (; bottom <= top; ++bottom)
- YYFPRINTF (stderr, " %d", *bottom);
+ for (; yybottom <= yytop; yybottom++)
+ {
+ int yybot = *yybottom;
+ YYFPRINTF (stderr, " %d", yybot);
+ }
YYFPRINTF (stderr, "\n");
}
@@ -1601,11 +1555,11 @@ yy_reduce_print (yyvsp, yyrule)
/* The symbols being reduced. */
for (yyi = 0; yyi < yynrhs; yyi++)
{
- fprintf (stderr, " $%d = ", yyi + 1);
+ YYFPRINTF (stderr, " $%d = ", yyi + 1);
yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
&(yyvsp[(yyi + 1) - (yynrhs)])
);
- fprintf (stderr, "\n");
+ YYFPRINTF (stderr, "\n");
}
}
@@ -1885,10 +1839,8 @@ yydestruct (yymsg, yytype, yyvaluep)
break;
}
}
-
/* Prevent warnings from -Wmissing-prototypes. */
-
#ifdef YYPARSE_PARAM
#if defined __STDC__ || defined __cplusplus
int yyparse (void *YYPARSE_PARAM);
@@ -1907,10 +1859,9 @@ int yyparse ();
-
-/*----------.
-| yyparse. |
-`----------*/
+/*-------------------------.
+| yyparse or yypush_parse. |
+`-------------------------*/
#ifdef YYPARSE_PARAM
#if (defined __STDC__ || defined __C99__FUNC__ \
@@ -1934,74 +1885,75 @@ yyparse ()
#endif
#endif
{
- /* The look-ahead symbol. */
+/* The lookahead symbol. */
int yychar;
-/* The semantic value of the look-ahead symbol. */
+/* The semantic value of the lookahead symbol. */
YYSTYPE yylval;
-/* Number of syntax errors so far. */
-int yynerrs;
+ /* Number of syntax errors so far. */
+ int yynerrs;
- int yystate;
- int yyn;
- int yyresult;
- /* Number of tokens to shift before error messages enabled. */
- int yyerrstatus;
- /* Look-ahead token as an internal (translated) token number. */
- int yytoken = 0;
-#if YYERROR_VERBOSE
- /* Buffer for error messages, and its allocated size. */
- char yymsgbuf[128];
- char *yymsg = yymsgbuf;
- YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
-#endif
-
- /* Three stacks and their tools:
- `yyss': related to states,
- `yyvs': related to semantic values,
- `yyls': related to locations.
-
- Refer to the stacks thru separate pointers, to allow yyoverflow
- to reallocate them elsewhere. */
-
- /* The state stack. */
- yytype_int16 yyssa[YYINITDEPTH];
- yytype_int16 *yyss = yyssa;
- yytype_int16 *yyssp;
+ int yystate;
+ /* Number of tokens to shift before error messages enabled. */
+ int yyerrstatus;
- /* The semantic value stack. */
- YYSTYPE yyvsa[YYINITDEPTH];
- YYSTYPE *yyvs = yyvsa;
- YYSTYPE *yyvsp;
+ /* The stacks and their tools:
+ `yyss': related to states.
+ `yyvs': related to semantic values.
+ Refer to the stacks thru separate pointers, to allow yyoverflow
+ to reallocate them elsewhere. */
+ /* The state stack. */
+ yytype_int16 yyssa[YYINITDEPTH];
+ yytype_int16 *yyss;
+ yytype_int16 *yyssp;
-#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
+ /* The semantic value stack. */
+ YYSTYPE yyvsa[YYINITDEPTH];
+ YYSTYPE *yyvs;
+ YYSTYPE *yyvsp;
- YYSIZE_T yystacksize = YYINITDEPTH;
+ YYSIZE_T yystacksize;
+ int yyn;
+ int yyresult;
+ /* Lookahead token as an internal (translated) token number. */
+ int yytoken;
/* The variables used to return semantic value and location from the
action routines. */
YYSTYPE yyval;
+#if YYERROR_VERBOSE
+ /* Buffer for error messages, and its allocated size. */
+ char yymsgbuf[128];
+ char *yymsg = yymsgbuf;
+ YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
+#endif
+
+#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
/* The number of symbols on the RHS of the reduced rule.
Keep to zero when no symbol should be popped. */
int yylen = 0;
+ yytoken = 0;
+ yyss = yyssa;
+ yyvs = yyvsa;
+ yystacksize = YYINITDEPTH;
+
YYDPRINTF ((stderr, "Starting parse\n"));
yystate = 0;
yyerrstatus = 0;
yynerrs = 0;
- yychar = YYEMPTY; /* Cause a token to be read. */
+ yychar = YYEMPTY; /* Cause a token to be read. */
/* Initialize stack pointers.
Waste one element of value and location stack
so that they stay on the same level as the state stack.
The wasted elements are never initialized. */
-
yyssp = yyss;
yyvsp = yyvs;
@@ -2031,7 +1983,6 @@ int yynerrs;
YYSTYPE *yyvs1 = yyvs;
yytype_int16 *yyss1 = yyss;
-
/* Each stack pointer address is followed by the size of the
data in use in that stack, in bytes. This used to be a
conditional around just the two extra args, but that might
@@ -2039,7 +1990,6 @@ int yynerrs;
yyoverflow (YY_("memory exhausted"),
&yyss1, yysize * sizeof (*yyssp),
&yyvs1, yysize * sizeof (*yyvsp),
-
&yystacksize);
yyss = yyss1;
@@ -2062,9 +2012,8 @@ int yynerrs;
(union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
if (! yyptr)
goto yyexhaustedlab;
- YYSTACK_RELOCATE (yyss);
- YYSTACK_RELOCATE (yyvs);
-
+ YYSTACK_RELOCATE (yyss_alloc, yyss);
+ YYSTACK_RELOCATE (yyvs_alloc, yyvs);
# undef YYSTACK_RELOCATE
if (yyss1 != yyssa)
YYSTACK_FREE (yyss1);
@@ -2075,7 +2024,6 @@ int yynerrs;
yyssp = yyss + yysize - 1;
yyvsp = yyvs + yysize - 1;
-
YYDPRINTF ((stderr, "Stack size increased to %lu\n",
(unsigned long int) yystacksize));
@@ -2085,6 +2033,9 @@ int yynerrs;
YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+ if (yystate == YYFINAL)
+ YYACCEPT;
+
goto yybackup;
/*-----------.
@@ -2093,16 +2044,16 @@ int yynerrs;
yybackup:
/* Do appropriate processing given the current state. Read a
- look-ahead token if we need one and don't already have one. */
+ lookahead token if we need one and don't already have one. */
- /* First try to decide what to do without reference to look-ahead token. */
+ /* First try to decide what to do without reference to lookahead token. */
yyn = yypact[yystate];
if (yyn == YYPACT_NINF)
goto yydefault;
- /* Not known => get a look-ahead token if don't already have one. */
+ /* Not known => get a lookahead token if don't already have one. */
- /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
+ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
if (yychar == YYEMPTY)
{
YYDPRINTF ((stderr, "Reading a token: "));
@@ -2134,20 +2085,16 @@ yybackup:
goto yyreduce;
}
- if (yyn == YYFINAL)
- YYACCEPT;
-
/* Count tokens shifted since error; after three, turn off error
status. */
if (yyerrstatus)
yyerrstatus--;
- /* Shift the look-ahead token. */
+ /* Shift the lookahead token. */
YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
- /* Discard the shifted token unless it is eof. */
- if (yychar != YYEOF)
- yychar = YYEMPTY;
+ /* Discard the shifted token. */
+ yychar = YYEMPTY;
yystate = yyn;
*++yyvsp = yylval;
@@ -2187,6 +2134,8 @@ yyreduce:
switch (yyn)
{
case 12:
+
+/* Line 1455 of yacc.c */
#line 287 "../css/CSSGrammar.y"
{
static_cast<CSSParser*>(parser)->m_rule = (yyvsp[(4) - (6)].rule);
@@ -2194,6 +2143,8 @@ yyreduce:
break;
case 13:
+
+/* Line 1455 of yacc.c */
#line 293 "../css/CSSGrammar.y"
{
static_cast<CSSParser*>(parser)->m_keyframe = (yyvsp[(4) - (6)].keyframeRule);
@@ -2201,6 +2152,8 @@ yyreduce:
break;
case 14:
+
+/* Line 1455 of yacc.c */
#line 299 "../css/CSSGrammar.y"
{
/* can be empty */
@@ -2208,6 +2161,8 @@ yyreduce:
break;
case 15:
+
+/* Line 1455 of yacc.c */
#line 305 "../css/CSSGrammar.y"
{
/* can be empty */
@@ -2215,6 +2170,8 @@ yyreduce:
break;
case 16:
+
+/* Line 1455 of yacc.c */
#line 311 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -2230,6 +2187,8 @@ yyreduce:
break;
case 17:
+
+/* Line 1455 of yacc.c */
#line 325 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -2238,6 +2197,8 @@ yyreduce:
break;
case 18:
+
+/* Line 1455 of yacc.c */
#line 332 "../css/CSSGrammar.y"
{
if ((yyvsp[(4) - (5)].selectorList)) {
@@ -2249,12 +2210,16 @@ yyreduce:
break;
case 25:
+
+/* Line 1455 of yacc.c */
#line 354 "../css/CSSGrammar.y"
{
;}
break;
case 28:
+
+/* Line 1455 of yacc.c */
#line 364 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -2265,18 +2230,24 @@ yyreduce:
break;
case 29:
+
+/* Line 1455 of yacc.c */
#line 370 "../css/CSSGrammar.y"
{
;}
break;
case 30:
+
+/* Line 1455 of yacc.c */
#line 372 "../css/CSSGrammar.y"
{
;}
break;
case 32:
+
+/* Line 1455 of yacc.c */
#line 378 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -2286,12 +2257,16 @@ yyreduce:
break;
case 33:
+
+/* Line 1455 of yacc.c */
#line 383 "../css/CSSGrammar.y"
{
;}
break;
case 35:
+
+/* Line 1455 of yacc.c */
#line 389 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -2301,6 +2276,8 @@ yyreduce:
break;
case 39:
+
+/* Line 1455 of yacc.c */
#line 403 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -2310,11 +2287,15 @@ yyreduce:
break;
case 49:
+
+/* Line 1455 of yacc.c */
#line 426 "../css/CSSGrammar.y"
{ (yyval.ruleList) = 0; ;}
break;
case 50:
+
+/* Line 1455 of yacc.c */
#line 427 "../css/CSSGrammar.y"
{
(yyval.ruleList) = (yyvsp[(1) - (3)].ruleList);
@@ -2327,6 +2308,8 @@ yyreduce:
break;
case 60:
+
+/* Line 1455 of yacc.c */
#line 454 "../css/CSSGrammar.y"
{
(yyval.rule) = static_cast<CSSParser*>(parser)->createImportRule((yyvsp[(3) - (6)].string), (yyvsp[(5) - (6)].mediaList));
@@ -2334,6 +2317,8 @@ yyreduce:
break;
case 61:
+
+/* Line 1455 of yacc.c */
#line 457 "../css/CSSGrammar.y"
{
(yyval.rule) = 0;
@@ -2341,6 +2326,8 @@ yyreduce:
break;
case 62:
+
+/* Line 1455 of yacc.c */
#line 460 "../css/CSSGrammar.y"
{
(yyval.rule) = 0;
@@ -2348,6 +2335,8 @@ yyreduce:
break;
case 63:
+
+/* Line 1455 of yacc.c */
#line 463 "../css/CSSGrammar.y"
{
(yyval.rule) = 0;
@@ -2355,6 +2344,8 @@ yyreduce:
break;
case 64:
+
+/* Line 1455 of yacc.c */
#line 469 "../css/CSSGrammar.y"
{
(yyval.rule) = static_cast<CSSParser*>(parser)->createVariablesRule((yyvsp[(3) - (7)].mediaList), true);
@@ -2362,6 +2353,8 @@ yyreduce:
break;
case 65:
+
+/* Line 1455 of yacc.c */
#line 473 "../css/CSSGrammar.y"
{
(yyval.rule) = static_cast<CSSParser*>(parser)->createVariablesRule((yyvsp[(3) - (7)].mediaList), false);
@@ -2369,6 +2362,8 @@ yyreduce:
break;
case 66:
+
+/* Line 1455 of yacc.c */
#line 479 "../css/CSSGrammar.y"
{
(yyval.mediaList) = static_cast<CSSParser*>(parser)->createMediaList();
@@ -2376,6 +2371,8 @@ yyreduce:
break;
case 67:
+
+/* Line 1455 of yacc.c */
#line 483 "../css/CSSGrammar.y"
{
(yyval.mediaList) = (yyvsp[(3) - (3)].mediaList);
@@ -2383,6 +2380,8 @@ yyreduce:
break;
case 68:
+
+/* Line 1455 of yacc.c */
#line 489 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (1)].boolean);
@@ -2390,6 +2389,8 @@ yyreduce:
break;
case 69:
+
+/* Line 1455 of yacc.c */
#line 492 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (2)].boolean);
@@ -2399,6 +2400,8 @@ yyreduce:
break;
case 70:
+
+/* Line 1455 of yacc.c */
#line 497 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (1)].boolean);
@@ -2406,6 +2409,8 @@ yyreduce:
break;
case 71:
+
+/* Line 1455 of yacc.c */
#line 500 "../css/CSSGrammar.y"
{
(yyval.boolean) = false;
@@ -2413,6 +2418,8 @@ yyreduce:
break;
case 72:
+
+/* Line 1455 of yacc.c */
#line 503 "../css/CSSGrammar.y"
{
(yyval.boolean) = false;
@@ -2420,6 +2427,8 @@ yyreduce:
break;
case 73:
+
+/* Line 1455 of yacc.c */
#line 506 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (2)].boolean);
@@ -2427,6 +2436,8 @@ yyreduce:
break;
case 74:
+
+/* Line 1455 of yacc.c */
#line 512 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (3)].boolean);
@@ -2434,6 +2445,8 @@ yyreduce:
break;
case 75:
+
+/* Line 1455 of yacc.c */
#line 515 "../css/CSSGrammar.y"
{
(yyval.boolean) = false;
@@ -2441,6 +2454,8 @@ yyreduce:
break;
case 76:
+
+/* Line 1455 of yacc.c */
#line 518 "../css/CSSGrammar.y"
{
(yyval.boolean) = false;
@@ -2448,6 +2463,8 @@ yyreduce:
break;
case 77:
+
+/* Line 1455 of yacc.c */
#line 521 "../css/CSSGrammar.y"
{
(yyval.boolean) = false;
@@ -2455,6 +2472,8 @@ yyreduce:
break;
case 78:
+
+/* Line 1455 of yacc.c */
#line 524 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (4)].boolean);
@@ -2464,6 +2483,8 @@ yyreduce:
break;
case 79:
+
+/* Line 1455 of yacc.c */
#line 529 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (4)].boolean);
@@ -2471,6 +2492,8 @@ yyreduce:
break;
case 80:
+
+/* Line 1455 of yacc.c */
#line 532 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (6)].boolean);
@@ -2478,6 +2501,8 @@ yyreduce:
break;
case 81:
+
+/* Line 1455 of yacc.c */
#line 538 "../css/CSSGrammar.y"
{
(yyval.boolean) = static_cast<CSSParser*>(parser)->addVariable((yyvsp[(1) - (4)].string), (yyvsp[(4) - (4)].valueList));
@@ -2485,6 +2510,8 @@ yyreduce:
break;
case 82:
+
+/* Line 1455 of yacc.c */
#line 542 "../css/CSSGrammar.y"
{
(yyval.boolean) = static_cast<CSSParser*>(parser)->addVariableDeclarationBlock((yyvsp[(1) - (7)].string));
@@ -2492,6 +2519,8 @@ yyreduce:
break;
case 83:
+
+/* Line 1455 of yacc.c */
#line 546 "../css/CSSGrammar.y"
{
(yyval.boolean) = false;
@@ -2499,6 +2528,8 @@ yyreduce:
break;
case 84:
+
+/* Line 1455 of yacc.c */
#line 550 "../css/CSSGrammar.y"
{
(yyval.boolean) = false;
@@ -2506,6 +2537,8 @@ yyreduce:
break;
case 85:
+
+/* Line 1455 of yacc.c */
#line 554 "../css/CSSGrammar.y"
{
/* @variables { varname: } Just reduce away this variable with no value. */
@@ -2514,6 +2547,8 @@ yyreduce:
break;
case 86:
+
+/* Line 1455 of yacc.c */
#line 559 "../css/CSSGrammar.y"
{
/* if we come across rules with invalid values like this case: @variables { varname: *; }, just discard the property/value pair */
@@ -2522,6 +2557,8 @@ yyreduce:
break;
case 87:
+
+/* Line 1455 of yacc.c */
#line 566 "../css/CSSGrammar.y"
{
(yyval.string) = (yyvsp[(1) - (2)].string);
@@ -2529,6 +2566,8 @@ yyreduce:
break;
case 88:
+
+/* Line 1455 of yacc.c */
#line 572 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -2538,16 +2577,22 @@ yyreduce:
break;
case 91:
+
+/* Line 1455 of yacc.c */
#line 582 "../css/CSSGrammar.y"
{ (yyval.string).characters = 0; ;}
break;
case 92:
+
+/* Line 1455 of yacc.c */
#line 583 "../css/CSSGrammar.y"
{ (yyval.string) = (yyvsp[(1) - (2)].string); ;}
break;
case 95:
+
+/* Line 1455 of yacc.c */
#line 592 "../css/CSSGrammar.y"
{
(yyval.string) = (yyvsp[(1) - (2)].string);
@@ -2555,6 +2600,8 @@ yyreduce:
break;
case 96:
+
+/* Line 1455 of yacc.c */
#line 598 "../css/CSSGrammar.y"
{
(yyval.valueList) = 0;
@@ -2562,6 +2609,8 @@ yyreduce:
break;
case 97:
+
+/* Line 1455 of yacc.c */
#line 601 "../css/CSSGrammar.y"
{
(yyval.valueList) = (yyvsp[(3) - (4)].valueList);
@@ -2569,6 +2618,8 @@ yyreduce:
break;
case 98:
+
+/* Line 1455 of yacc.c */
#line 607 "../css/CSSGrammar.y"
{
(yyvsp[(3) - (7)].string).lower();
@@ -2577,6 +2628,8 @@ yyreduce:
break;
case 99:
+
+/* Line 1455 of yacc.c */
#line 614 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -2586,6 +2639,8 @@ yyreduce:
break;
case 100:
+
+/* Line 1455 of yacc.c */
#line 619 "../css/CSSGrammar.y"
{
(yyval.mediaQueryExpList) = (yyvsp[(1) - (5)].mediaQueryExpList);
@@ -2594,6 +2649,8 @@ yyreduce:
break;
case 101:
+
+/* Line 1455 of yacc.c */
#line 626 "../css/CSSGrammar.y"
{
(yyval.mediaQueryExpList) = static_cast<CSSParser*>(parser)->createFloatingMediaQueryExpList();
@@ -2601,6 +2658,8 @@ yyreduce:
break;
case 102:
+
+/* Line 1455 of yacc.c */
#line 629 "../css/CSSGrammar.y"
{
(yyval.mediaQueryExpList) = (yyvsp[(3) - (3)].mediaQueryExpList);
@@ -2608,6 +2667,8 @@ yyreduce:
break;
case 103:
+
+/* Line 1455 of yacc.c */
#line 635 "../css/CSSGrammar.y"
{
(yyval.mediaQueryRestrictor) = MediaQuery::None;
@@ -2615,6 +2676,8 @@ yyreduce:
break;
case 104:
+
+/* Line 1455 of yacc.c */
#line 638 "../css/CSSGrammar.y"
{
(yyval.mediaQueryRestrictor) = MediaQuery::Only;
@@ -2622,6 +2685,8 @@ yyreduce:
break;
case 105:
+
+/* Line 1455 of yacc.c */
#line 641 "../css/CSSGrammar.y"
{
(yyval.mediaQueryRestrictor) = MediaQuery::Not;
@@ -2629,6 +2694,8 @@ yyreduce:
break;
case 106:
+
+/* Line 1455 of yacc.c */
#line 647 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -2637,6 +2704,8 @@ yyreduce:
break;
case 107:
+
+/* Line 1455 of yacc.c */
#line 652 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -2646,6 +2715,8 @@ yyreduce:
break;
case 108:
+
+/* Line 1455 of yacc.c */
#line 660 "../css/CSSGrammar.y"
{
(yyval.mediaList) = static_cast<CSSParser*>(parser)->createMediaList();
@@ -2653,6 +2724,8 @@ yyreduce:
break;
case 110:
+
+/* Line 1455 of yacc.c */
#line 667 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -2662,6 +2735,8 @@ yyreduce:
break;
case 111:
+
+/* Line 1455 of yacc.c */
#line 672 "../css/CSSGrammar.y"
{
(yyval.mediaList) = (yyvsp[(1) - (4)].mediaList);
@@ -2671,6 +2746,8 @@ yyreduce:
break;
case 112:
+
+/* Line 1455 of yacc.c */
#line 677 "../css/CSSGrammar.y"
{
(yyval.mediaList) = 0;
@@ -2678,6 +2755,8 @@ yyreduce:
break;
case 113:
+
+/* Line 1455 of yacc.c */
#line 683 "../css/CSSGrammar.y"
{
(yyval.rule) = static_cast<CSSParser*>(parser)->createMediaRule((yyvsp[(3) - (7)].mediaList), (yyvsp[(6) - (7)].ruleList));
@@ -2685,6 +2764,8 @@ yyreduce:
break;
case 114:
+
+/* Line 1455 of yacc.c */
#line 686 "../css/CSSGrammar.y"
{
(yyval.rule) = static_cast<CSSParser*>(parser)->createMediaRule(0, (yyvsp[(5) - (6)].ruleList));
@@ -2692,6 +2773,8 @@ yyreduce:
break;
case 115:
+
+/* Line 1455 of yacc.c */
#line 692 "../css/CSSGrammar.y"
{
(yyval.string) = (yyvsp[(1) - (2)].string);
@@ -2699,6 +2782,8 @@ yyreduce:
break;
case 116:
+
+/* Line 1455 of yacc.c */
#line 698 "../css/CSSGrammar.y"
{
(yyval.rule) = (yyvsp[(7) - (8)].keyframesRule);
@@ -2707,11 +2792,15 @@ yyreduce:
break;
case 119:
+
+/* Line 1455 of yacc.c */
#line 710 "../css/CSSGrammar.y"
{ (yyval.keyframesRule) = static_cast<CSSParser*>(parser)->createKeyframesRule(); ;}
break;
case 120:
+
+/* Line 1455 of yacc.c */
#line 711 "../css/CSSGrammar.y"
{
(yyval.keyframesRule) = (yyvsp[(1) - (3)].keyframesRule);
@@ -2721,6 +2810,8 @@ yyreduce:
break;
case 121:
+
+/* Line 1455 of yacc.c */
#line 719 "../css/CSSGrammar.y"
{
(yyval.keyframeRule) = static_cast<CSSParser*>(parser)->createKeyframeRule((yyvsp[(1) - (6)].valueList));
@@ -2728,6 +2819,8 @@ yyreduce:
break;
case 122:
+
+/* Line 1455 of yacc.c */
#line 725 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -2737,6 +2830,8 @@ yyreduce:
break;
case 123:
+
+/* Line 1455 of yacc.c */
#line 730 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -2747,11 +2842,15 @@ yyreduce:
break;
case 124:
+
+/* Line 1455 of yacc.c */
#line 739 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).isInt = false; (yyval.value).fValue = (yyvsp[(1) - (1)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_NUMBER; ;}
break;
case 125:
+
+/* Line 1455 of yacc.c */
#line 740 "../css/CSSGrammar.y"
{
(yyval.value).id = 0; (yyval.value).isInt = false; (yyval.value).unit = CSSPrimitiveValue::CSS_NUMBER;
@@ -2766,6 +2865,8 @@ yyreduce:
break;
case 126:
+
+/* Line 1455 of yacc.c */
#line 764 "../css/CSSGrammar.y"
{
(yyval.rule) = 0;
@@ -2773,6 +2874,8 @@ yyreduce:
break;
case 127:
+
+/* Line 1455 of yacc.c */
#line 767 "../css/CSSGrammar.y"
{
(yyval.rule) = 0;
@@ -2780,6 +2883,8 @@ yyreduce:
break;
case 128:
+
+/* Line 1455 of yacc.c */
#line 774 "../css/CSSGrammar.y"
{
(yyval.rule) = static_cast<CSSParser*>(parser)->createFontFaceRule();
@@ -2787,6 +2892,8 @@ yyreduce:
break;
case 129:
+
+/* Line 1455 of yacc.c */
#line 777 "../css/CSSGrammar.y"
{
(yyval.rule) = 0;
@@ -2794,6 +2901,8 @@ yyreduce:
break;
case 130:
+
+/* Line 1455 of yacc.c */
#line 780 "../css/CSSGrammar.y"
{
(yyval.rule) = 0;
@@ -2801,31 +2910,43 @@ yyreduce:
break;
case 131:
+
+/* Line 1455 of yacc.c */
#line 786 "../css/CSSGrammar.y"
{ (yyval.relation) = CSSSelector::DirectAdjacent; ;}
break;
case 132:
+
+/* Line 1455 of yacc.c */
#line 787 "../css/CSSGrammar.y"
{ (yyval.relation) = CSSSelector::IndirectAdjacent; ;}
break;
case 133:
+
+/* Line 1455 of yacc.c */
#line 788 "../css/CSSGrammar.y"
{ (yyval.relation) = CSSSelector::Child; ;}
break;
case 134:
+
+/* Line 1455 of yacc.c */
#line 792 "../css/CSSGrammar.y"
{ (yyval.integer) = -1; ;}
break;
case 135:
+
+/* Line 1455 of yacc.c */
#line 793 "../css/CSSGrammar.y"
{ (yyval.integer) = 1; ;}
break;
case 136:
+
+/* Line 1455 of yacc.c */
#line 797 "../css/CSSGrammar.y"
{
(yyval.rule) = static_cast<CSSParser*>(parser)->createStyleRule((yyvsp[(1) - (5)].selectorList));
@@ -2833,6 +2954,8 @@ yyreduce:
break;
case 137:
+
+/* Line 1455 of yacc.c */
#line 803 "../css/CSSGrammar.y"
{
if ((yyvsp[(1) - (1)].selector)) {
@@ -2846,6 +2969,8 @@ yyreduce:
break;
case 138:
+
+/* Line 1455 of yacc.c */
#line 812 "../css/CSSGrammar.y"
{
if ((yyvsp[(1) - (4)].selectorList) && (yyvsp[(4) - (4)].selector)) {
@@ -2858,6 +2983,8 @@ yyreduce:
break;
case 139:
+
+/* Line 1455 of yacc.c */
#line 820 "../css/CSSGrammar.y"
{
(yyval.selectorList) = 0;
@@ -2865,6 +2992,8 @@ yyreduce:
break;
case 140:
+
+/* Line 1455 of yacc.c */
#line 826 "../css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(1) - (2)].selector);
@@ -2872,6 +3001,8 @@ yyreduce:
break;
case 141:
+
+/* Line 1455 of yacc.c */
#line 832 "../css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(1) - (1)].selector);
@@ -2879,6 +3010,8 @@ yyreduce:
break;
case 142:
+
+/* Line 1455 of yacc.c */
#line 836 "../css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(1) - (1)].selector);
@@ -2886,6 +3019,8 @@ yyreduce:
break;
case 143:
+
+/* Line 1455 of yacc.c */
#line 840 "../css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(2) - (2)].selector);
@@ -2905,6 +3040,8 @@ yyreduce:
break;
case 144:
+
+/* Line 1455 of yacc.c */
#line 855 "../css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(3) - (3)].selector);
@@ -2929,6 +3066,8 @@ yyreduce:
break;
case 145:
+
+/* Line 1455 of yacc.c */
#line 875 "../css/CSSGrammar.y"
{
(yyval.selector) = 0;
@@ -2936,21 +3075,29 @@ yyreduce:
break;
case 146:
+
+/* Line 1455 of yacc.c */
#line 881 "../css/CSSGrammar.y"
{ (yyval.string).characters = 0; (yyval.string).length = 0; ;}
break;
case 147:
+
+/* Line 1455 of yacc.c */
#line 882 "../css/CSSGrammar.y"
{ static UChar star = '*'; (yyval.string).characters = &star; (yyval.string).length = 1; ;}
break;
case 148:
+
+/* Line 1455 of yacc.c */
#line 883 "../css/CSSGrammar.y"
{ (yyval.string) = (yyvsp[(1) - (2)].string); ;}
break;
case 149:
+
+/* Line 1455 of yacc.c */
#line 887 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -2960,6 +3107,8 @@ yyreduce:
break;
case 150:
+
+/* Line 1455 of yacc.c */
#line 892 "../css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(2) - (2)].selector);
@@ -2971,6 +3120,8 @@ yyreduce:
break;
case 151:
+
+/* Line 1455 of yacc.c */
#line 899 "../css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(1) - (1)].selector);
@@ -2981,6 +3132,8 @@ yyreduce:
break;
case 152:
+
+/* Line 1455 of yacc.c */
#line 905 "../css/CSSGrammar.y"
{
AtomicString namespacePrefix = (yyvsp[(1) - (2)].string);
@@ -2995,6 +3148,8 @@ yyreduce:
break;
case 153:
+
+/* Line 1455 of yacc.c */
#line 915 "../css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(3) - (3)].selector);
@@ -3011,6 +3166,8 @@ yyreduce:
break;
case 154:
+
+/* Line 1455 of yacc.c */
#line 927 "../css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(2) - (2)].selector);
@@ -3025,6 +3182,8 @@ yyreduce:
break;
case 155:
+
+/* Line 1455 of yacc.c */
#line 940 "../css/CSSGrammar.y"
{
CSSParserString& str = (yyvsp[(1) - (1)].string);
@@ -3037,6 +3196,8 @@ yyreduce:
break;
case 156:
+
+/* Line 1455 of yacc.c */
#line 948 "../css/CSSGrammar.y"
{
static UChar star = '*';
@@ -3046,6 +3207,8 @@ yyreduce:
break;
case 157:
+
+/* Line 1455 of yacc.c */
#line 956 "../css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(1) - (1)].selector);
@@ -3053,6 +3216,8 @@ yyreduce:
break;
case 158:
+
+/* Line 1455 of yacc.c */
#line 959 "../css/CSSGrammar.y"
{
if (!(yyvsp[(2) - (2)].selector))
@@ -3070,6 +3235,8 @@ yyreduce:
break;
case 159:
+
+/* Line 1455 of yacc.c */
#line 972 "../css/CSSGrammar.y"
{
(yyval.selector) = 0;
@@ -3077,6 +3244,8 @@ yyreduce:
break;
case 160:
+
+/* Line 1455 of yacc.c */
#line 978 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -3089,6 +3258,8 @@ yyreduce:
break;
case 161:
+
+/* Line 1455 of yacc.c */
#line 986 "../css/CSSGrammar.y"
{
if ((yyvsp[(1) - (1)].string).characters[0] >= '0' && (yyvsp[(1) - (1)].string).characters[0] <= '9') {
@@ -3105,6 +3276,8 @@ yyreduce:
break;
case 165:
+
+/* Line 1455 of yacc.c */
#line 1004 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -3117,6 +3290,8 @@ yyreduce:
break;
case 166:
+
+/* Line 1455 of yacc.c */
#line 1015 "../css/CSSGrammar.y"
{
CSSParserString& str = (yyvsp[(1) - (2)].string);
@@ -3129,6 +3304,8 @@ yyreduce:
break;
case 167:
+
+/* Line 1455 of yacc.c */
#line 1026 "../css/CSSGrammar.y"
{
(yyval.selector) = static_cast<CSSParser*>(parser)->createFloatingSelector();
@@ -3138,6 +3315,8 @@ yyreduce:
break;
case 168:
+
+/* Line 1455 of yacc.c */
#line 1031 "../css/CSSGrammar.y"
{
(yyval.selector) = static_cast<CSSParser*>(parser)->createFloatingSelector();
@@ -3148,6 +3327,8 @@ yyreduce:
break;
case 169:
+
+/* Line 1455 of yacc.c */
#line 1037 "../css/CSSGrammar.y"
{
AtomicString namespacePrefix = (yyvsp[(3) - (5)].string);
@@ -3160,6 +3341,8 @@ yyreduce:
break;
case 170:
+
+/* Line 1455 of yacc.c */
#line 1045 "../css/CSSGrammar.y"
{
AtomicString namespacePrefix = (yyvsp[(3) - (9)].string);
@@ -3173,6 +3356,8 @@ yyreduce:
break;
case 171:
+
+/* Line 1455 of yacc.c */
#line 1057 "../css/CSSGrammar.y"
{
(yyval.integer) = CSSSelector::Exact;
@@ -3180,6 +3365,8 @@ yyreduce:
break;
case 172:
+
+/* Line 1455 of yacc.c */
#line 1060 "../css/CSSGrammar.y"
{
(yyval.integer) = CSSSelector::List;
@@ -3187,6 +3374,8 @@ yyreduce:
break;
case 173:
+
+/* Line 1455 of yacc.c */
#line 1063 "../css/CSSGrammar.y"
{
(yyval.integer) = CSSSelector::Hyphen;
@@ -3194,6 +3383,8 @@ yyreduce:
break;
case 174:
+
+/* Line 1455 of yacc.c */
#line 1066 "../css/CSSGrammar.y"
{
(yyval.integer) = CSSSelector::Begin;
@@ -3201,6 +3392,8 @@ yyreduce:
break;
case 175:
+
+/* Line 1455 of yacc.c */
#line 1069 "../css/CSSGrammar.y"
{
(yyval.integer) = CSSSelector::End;
@@ -3208,6 +3401,8 @@ yyreduce:
break;
case 176:
+
+/* Line 1455 of yacc.c */
#line 1072 "../css/CSSGrammar.y"
{
(yyval.integer) = CSSSelector::Contain;
@@ -3215,6 +3410,8 @@ yyreduce:
break;
case 179:
+
+/* Line 1455 of yacc.c */
#line 1083 "../css/CSSGrammar.y"
{
(yyval.selector) = static_cast<CSSParser*>(parser)->createFloatingSelector();
@@ -3249,6 +3446,8 @@ yyreduce:
break;
case 180:
+
+/* Line 1455 of yacc.c */
#line 1113 "../css/CSSGrammar.y"
{
(yyval.selector) = static_cast<CSSParser*>(parser)->createFloatingSelector();
@@ -3272,6 +3471,8 @@ yyreduce:
break;
case 181:
+
+/* Line 1455 of yacc.c */
#line 1133 "../css/CSSGrammar.y"
{
CSSParser *p = static_cast<CSSParser*>(parser);
@@ -3293,6 +3494,8 @@ yyreduce:
break;
case 182:
+
+/* Line 1455 of yacc.c */
#line 1151 "../css/CSSGrammar.y"
{
CSSParser *p = static_cast<CSSParser*>(parser);
@@ -3314,6 +3517,8 @@ yyreduce:
break;
case 183:
+
+/* Line 1455 of yacc.c */
#line 1169 "../css/CSSGrammar.y"
{
CSSParser *p = static_cast<CSSParser*>(parser);
@@ -3336,6 +3541,8 @@ yyreduce:
break;
case 184:
+
+/* Line 1455 of yacc.c */
#line 1188 "../css/CSSGrammar.y"
{
if (!(yyvsp[(4) - (6)].selector) || (yyvsp[(4) - (6)].selector)->simpleSelector() || (yyvsp[(4) - (6)].selector)->tagHistory())
@@ -3352,6 +3559,8 @@ yyreduce:
break;
case 185:
+
+/* Line 1455 of yacc.c */
#line 1203 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (1)].boolean);
@@ -3359,6 +3568,8 @@ yyreduce:
break;
case 186:
+
+/* Line 1455 of yacc.c */
#line 1206 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (2)].boolean);
@@ -3368,6 +3579,8 @@ yyreduce:
break;
case 187:
+
+/* Line 1455 of yacc.c */
#line 1211 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (1)].boolean);
@@ -3375,6 +3588,8 @@ yyreduce:
break;
case 188:
+
+/* Line 1455 of yacc.c */
#line 1214 "../css/CSSGrammar.y"
{
(yyval.boolean) = false;
@@ -3382,6 +3597,8 @@ yyreduce:
break;
case 189:
+
+/* Line 1455 of yacc.c */
#line 1217 "../css/CSSGrammar.y"
{
(yyval.boolean) = false;
@@ -3389,6 +3606,8 @@ yyreduce:
break;
case 190:
+
+/* Line 1455 of yacc.c */
#line 1220 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (2)].boolean);
@@ -3396,6 +3615,8 @@ yyreduce:
break;
case 191:
+
+/* Line 1455 of yacc.c */
#line 1223 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (2)].boolean);
@@ -3403,6 +3624,8 @@ yyreduce:
break;
case 192:
+
+/* Line 1455 of yacc.c */
#line 1229 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (3)].boolean);
@@ -3410,6 +3633,8 @@ yyreduce:
break;
case 193:
+
+/* Line 1455 of yacc.c */
#line 1232 "../css/CSSGrammar.y"
{
(yyval.boolean) = false;
@@ -3417,6 +3642,8 @@ yyreduce:
break;
case 194:
+
+/* Line 1455 of yacc.c */
#line 1235 "../css/CSSGrammar.y"
{
(yyval.boolean) = false;
@@ -3424,6 +3651,8 @@ yyreduce:
break;
case 195:
+
+/* Line 1455 of yacc.c */
#line 1238 "../css/CSSGrammar.y"
{
(yyval.boolean) = false;
@@ -3431,6 +3660,8 @@ yyreduce:
break;
case 196:
+
+/* Line 1455 of yacc.c */
#line 1241 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (4)].boolean);
@@ -3440,6 +3671,8 @@ yyreduce:
break;
case 197:
+
+/* Line 1455 of yacc.c */
#line 1246 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (4)].boolean);
@@ -3447,6 +3680,8 @@ yyreduce:
break;
case 198:
+
+/* Line 1455 of yacc.c */
#line 1249 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (6)].boolean);
@@ -3454,6 +3689,8 @@ yyreduce:
break;
case 199:
+
+/* Line 1455 of yacc.c */
#line 1255 "../css/CSSGrammar.y"
{
(yyval.boolean) = false;
@@ -3471,6 +3708,8 @@ yyreduce:
break;
case 200:
+
+/* Line 1455 of yacc.c */
#line 1269 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -3486,6 +3725,8 @@ yyreduce:
break;
case 201:
+
+/* Line 1455 of yacc.c */
#line 1281 "../css/CSSGrammar.y"
{
(yyval.boolean) = false;
@@ -3493,6 +3734,8 @@ yyreduce:
break;
case 202:
+
+/* Line 1455 of yacc.c */
#line 1285 "../css/CSSGrammar.y"
{
/* The default movable type template has letter-spacing: .none; Handle this by looking for
@@ -3503,6 +3746,8 @@ yyreduce:
break;
case 203:
+
+/* Line 1455 of yacc.c */
#line 1292 "../css/CSSGrammar.y"
{
/* When we encounter something like p {color: red !important fail;} we should drop the declaration */
@@ -3511,6 +3756,8 @@ yyreduce:
break;
case 204:
+
+/* Line 1455 of yacc.c */
#line 1297 "../css/CSSGrammar.y"
{
/* Handle this case: div { text-align: center; !important } Just reduce away the stray !important. */
@@ -3519,6 +3766,8 @@ yyreduce:
break;
case 205:
+
+/* Line 1455 of yacc.c */
#line 1302 "../css/CSSGrammar.y"
{
/* div { font-family: } Just reduce away this property with no value. */
@@ -3527,6 +3776,8 @@ yyreduce:
break;
case 206:
+
+/* Line 1455 of yacc.c */
#line 1307 "../css/CSSGrammar.y"
{
/* if we come across rules with invalid values like this case: p { weight: *; }, just discard the rule */
@@ -3535,6 +3786,8 @@ yyreduce:
break;
case 207:
+
+/* Line 1455 of yacc.c */
#line 1312 "../css/CSSGrammar.y"
{
/* if we come across: div { color{;color:maroon} }, ignore everything within curly brackets */
@@ -3543,6 +3796,8 @@ yyreduce:
break;
case 208:
+
+/* Line 1455 of yacc.c */
#line 1319 "../css/CSSGrammar.y"
{
(yyval.integer) = cssPropertyID((yyvsp[(1) - (2)].string));
@@ -3550,16 +3805,22 @@ yyreduce:
break;
case 209:
+
+/* Line 1455 of yacc.c */
#line 1325 "../css/CSSGrammar.y"
{ (yyval.boolean) = true; ;}
break;
case 210:
+
+/* Line 1455 of yacc.c */
#line 1326 "../css/CSSGrammar.y"
{ (yyval.boolean) = false; ;}
break;
case 211:
+
+/* Line 1455 of yacc.c */
#line 1330 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -3569,6 +3830,8 @@ yyreduce:
break;
case 212:
+
+/* Line 1455 of yacc.c */
#line 1335 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -3587,6 +3850,8 @@ yyreduce:
break;
case 213:
+
+/* Line 1455 of yacc.c */
#line 1349 "../css/CSSGrammar.y"
{
(yyval.valueList) = 0;
@@ -3594,6 +3859,8 @@ yyreduce:
break;
case 214:
+
+/* Line 1455 of yacc.c */
#line 1355 "../css/CSSGrammar.y"
{
(yyval.character) = '/';
@@ -3601,6 +3868,8 @@ yyreduce:
break;
case 215:
+
+/* Line 1455 of yacc.c */
#line 1358 "../css/CSSGrammar.y"
{
(yyval.character) = ',';
@@ -3608,6 +3877,8 @@ yyreduce:
break;
case 216:
+
+/* Line 1455 of yacc.c */
#line 1361 "../css/CSSGrammar.y"
{
(yyval.character) = 0;
@@ -3615,21 +3886,29 @@ yyreduce:
break;
case 217:
+
+/* Line 1455 of yacc.c */
#line 1367 "../css/CSSGrammar.y"
{ (yyval.value) = (yyvsp[(1) - (1)].value); ;}
break;
case 218:
+
+/* Line 1455 of yacc.c */
#line 1368 "../css/CSSGrammar.y"
{ (yyval.value) = (yyvsp[(2) - (2)].value); (yyval.value).fValue *= (yyvsp[(1) - (2)].integer); ;}
break;
case 219:
+
+/* Line 1455 of yacc.c */
#line 1369 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).string = (yyvsp[(1) - (2)].string); (yyval.value).unit = CSSPrimitiveValue::CSS_STRING; ;}
break;
case 220:
+
+/* Line 1455 of yacc.c */
#line 1370 "../css/CSSGrammar.y"
{
(yyval.value).id = cssValueKeywordID((yyvsp[(1) - (2)].string));
@@ -3639,36 +3918,50 @@ yyreduce:
break;
case 221:
+
+/* Line 1455 of yacc.c */
#line 1376 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).string = (yyvsp[(1) - (2)].string); (yyval.value).unit = CSSPrimitiveValue::CSS_DIMENSION; ;}
break;
case 222:
+
+/* Line 1455 of yacc.c */
#line 1377 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).string = (yyvsp[(2) - (3)].string); (yyval.value).unit = CSSPrimitiveValue::CSS_DIMENSION; ;}
break;
case 223:
+
+/* Line 1455 of yacc.c */
#line 1378 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).string = (yyvsp[(1) - (2)].string); (yyval.value).unit = CSSPrimitiveValue::CSS_URI; ;}
break;
case 224:
+
+/* Line 1455 of yacc.c */
#line 1379 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).string = (yyvsp[(1) - (2)].string); (yyval.value).unit = CSSPrimitiveValue::CSS_UNICODE_RANGE; ;}
break;
case 225:
+
+/* Line 1455 of yacc.c */
#line 1380 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).string = (yyvsp[(1) - (1)].string); (yyval.value).unit = CSSPrimitiveValue::CSS_PARSER_HEXCOLOR; ;}
break;
case 226:
+
+/* Line 1455 of yacc.c */
#line 1381 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).string = CSSParserString(); (yyval.value).unit = CSSPrimitiveValue::CSS_PARSER_HEXCOLOR; ;}
break;
case 227:
+
+/* Line 1455 of yacc.c */
#line 1383 "../css/CSSGrammar.y"
{
(yyval.value) = (yyvsp[(1) - (1)].value);
@@ -3676,6 +3969,8 @@ yyreduce:
break;
case 228:
+
+/* Line 1455 of yacc.c */
#line 1386 "../css/CSSGrammar.y"
{
(yyval.value) = (yyvsp[(1) - (2)].value);
@@ -3683,6 +3978,8 @@ yyreduce:
break;
case 229:
+
+/* Line 1455 of yacc.c */
#line 1389 "../css/CSSGrammar.y"
{ /* Handle width: %; */
(yyval.value).id = 0; (yyval.value).unit = 0;
@@ -3690,106 +3987,148 @@ yyreduce:
break;
case 230:
+
+/* Line 1455 of yacc.c */
#line 1395 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).isInt = true; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_NUMBER; ;}
break;
case 231:
+
+/* Line 1455 of yacc.c */
#line 1396 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).isInt = false; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_NUMBER; ;}
break;
case 232:
+
+/* Line 1455 of yacc.c */
#line 1397 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_PERCENTAGE; ;}
break;
case 233:
+
+/* Line 1455 of yacc.c */
#line 1398 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_PX; ;}
break;
case 234:
+
+/* Line 1455 of yacc.c */
#line 1399 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_CM; ;}
break;
case 235:
+
+/* Line 1455 of yacc.c */
#line 1400 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_MM; ;}
break;
case 236:
+
+/* Line 1455 of yacc.c */
#line 1401 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_IN; ;}
break;
case 237:
+
+/* Line 1455 of yacc.c */
#line 1402 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_PT; ;}
break;
case 238:
+
+/* Line 1455 of yacc.c */
#line 1403 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_PC; ;}
break;
case 239:
+
+/* Line 1455 of yacc.c */
#line 1404 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_DEG; ;}
break;
case 240:
+
+/* Line 1455 of yacc.c */
#line 1405 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_RAD; ;}
break;
case 241:
+
+/* Line 1455 of yacc.c */
#line 1406 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_GRAD; ;}
break;
case 242:
+
+/* Line 1455 of yacc.c */
#line 1407 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_TURN; ;}
break;
case 243:
+
+/* Line 1455 of yacc.c */
#line 1408 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_MS; ;}
break;
case 244:
+
+/* Line 1455 of yacc.c */
#line 1409 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_S; ;}
break;
case 245:
+
+/* Line 1455 of yacc.c */
#line 1410 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_HZ; ;}
break;
case 246:
+
+/* Line 1455 of yacc.c */
#line 1411 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_KHZ; ;}
break;
case 247:
+
+/* Line 1455 of yacc.c */
#line 1412 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_EMS; ;}
break;
case 248:
+
+/* Line 1455 of yacc.c */
#line 1413 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSParserValue::Q_EMS; ;}
break;
case 249:
+
+/* Line 1455 of yacc.c */
#line 1414 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_EXS; ;}
break;
case 250:
+
+/* Line 1455 of yacc.c */
#line 1415 "../css/CSSGrammar.y"
{
(yyval.value).id = 0;
@@ -3802,6 +4141,8 @@ yyreduce:
break;
case 251:
+
+/* Line 1455 of yacc.c */
#line 1426 "../css/CSSGrammar.y"
{
(yyval.value).id = 0;
@@ -3811,6 +4152,8 @@ yyreduce:
break;
case 252:
+
+/* Line 1455 of yacc.c */
#line 1434 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -3824,6 +4167,8 @@ yyreduce:
break;
case 253:
+
+/* Line 1455 of yacc.c */
#line 1443 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -3837,16 +4182,22 @@ yyreduce:
break;
case 254:
+
+/* Line 1455 of yacc.c */
#line 1459 "../css/CSSGrammar.y"
{ (yyval.string) = (yyvsp[(1) - (2)].string); ;}
break;
case 255:
+
+/* Line 1455 of yacc.c */
#line 1460 "../css/CSSGrammar.y"
{ (yyval.string) = (yyvsp[(1) - (2)].string); ;}
break;
case 256:
+
+/* Line 1455 of yacc.c */
#line 1467 "../css/CSSGrammar.y"
{
(yyval.rule) = 0;
@@ -3854,6 +4205,8 @@ yyreduce:
break;
case 257:
+
+/* Line 1455 of yacc.c */
#line 1470 "../css/CSSGrammar.y"
{
(yyval.rule) = 0;
@@ -3861,6 +4214,8 @@ yyreduce:
break;
case 258:
+
+/* Line 1455 of yacc.c */
#line 1476 "../css/CSSGrammar.y"
{
(yyval.rule) = 0;
@@ -3868,6 +4223,8 @@ yyreduce:
break;
case 259:
+
+/* Line 1455 of yacc.c */
#line 1479 "../css/CSSGrammar.y"
{
(yyval.rule) = 0;
@@ -3875,6 +4232,8 @@ yyreduce:
break;
case 262:
+
+/* Line 1455 of yacc.c */
#line 1490 "../css/CSSGrammar.y"
{
(yyval.rule) = 0;
@@ -3882,6 +4241,8 @@ yyreduce:
break;
case 263:
+
+/* Line 1455 of yacc.c */
#line 1496 "../css/CSSGrammar.y"
{
(yyval.rule) = 0;
@@ -3889,6 +4250,8 @@ yyreduce:
break;
case 264:
+
+/* Line 1455 of yacc.c */
#line 1502 "../css/CSSGrammar.y"
{
(yyval.rule) = 0;
@@ -3896,8 +4259,9 @@ yyreduce:
break;
-/* Line 1267 of yacc.c. */
-#line 3901 "WebCore/tmp/../generated/CSSGrammar.tab.c"
+
+/* Line 1455 of yacc.c */
+#line 4265 "WebCore/tmp/../generated/CSSGrammar.tab.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -3908,7 +4272,6 @@ yyreduce:
*++yyvsp = yyval;
-
/* Now `shift' the result of the reduction. Determine what state
that goes to, based on the state we popped back to and the rule
number reduced by. */
@@ -3973,7 +4336,7 @@ yyerrlab:
if (yyerrstatus == 3)
{
- /* If just tried and failed to reuse look-ahead token after an
+ /* If just tried and failed to reuse lookahead token after an
error, discard it. */
if (yychar <= YYEOF)
@@ -3990,7 +4353,7 @@ yyerrlab:
}
}
- /* Else will try to reuse look-ahead token after shifting the error
+ /* Else will try to reuse lookahead token after shifting the error
token. */
goto yyerrlab1;
@@ -4047,9 +4410,6 @@ yyerrlab1:
YY_STACK_PRINT (yyss, yyssp);
}
- if (yyn == YYFINAL)
- YYACCEPT;
-
*++yyvsp = yylval;
@@ -4074,7 +4434,7 @@ yyabortlab:
yyresult = 1;
goto yyreturn;
-#ifndef yyoverflow
+#if !defined(yyoverflow) || YYERROR_VERBOSE
/*-------------------------------------------------.
| yyexhaustedlab -- memory exhaustion comes here. |
`-------------------------------------------------*/
@@ -4085,7 +4445,7 @@ yyexhaustedlab:
#endif
yyreturn:
- if (yychar != YYEOF && yychar != YYEMPTY)
+ if (yychar != YYEMPTY)
yydestruct ("Cleanup: discarding lookahead",
yytoken, &yylval);
/* Do not reclaim the symbols of the rule which action triggered
@@ -4111,6 +4471,8 @@ yyreturn:
}
+
+/* Line 1675 of yacc.c */
#line 1529 "../css/CSSGrammar.y"
diff --git a/src/3rdparty/webkit/WebCore/generated/CSSGrammar.h b/src/3rdparty/webkit/WebCore/generated/CSSGrammar.h
index e718f52..ad6b20a 100644
--- a/src/3rdparty/webkit/WebCore/generated/CSSGrammar.h
+++ b/src/3rdparty/webkit/WebCore/generated/CSSGrammar.h
@@ -1,26 +1,25 @@
#ifndef CSSGRAMMAR_H
#define CSSGRAMMAR_H
-/* A Bison parser, made by GNU Bison 2.3. */
-/* Skeleton interface for Bison's Yacc-like parsers in C
+/* A Bison parser, made by GNU Bison 2.4.1. */
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+/* Skeleton interface for Bison's Yacc-like parsers in C
+
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
+
+ This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
This program 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 General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA. */
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
@@ -31,10 +30,11 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
+
/* Tokens. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
@@ -107,79 +107,16 @@
VARCALL = 320
};
#endif
-/* Tokens. */
-#define TOKEN_EOF 0
-#define LOWEST_PREC 258
-#define UNIMPORTANT_TOK 259
-#define WHITESPACE 260
-#define SGML_CD 261
-#define INCLUDES 262
-#define DASHMATCH 263
-#define BEGINSWITH 264
-#define ENDSWITH 265
-#define CONTAINS 266
-#define STRING 267
-#define IDENT 268
-#define NTH 269
-#define HEX 270
-#define IDSEL 271
-#define IMPORT_SYM 272
-#define PAGE_SYM 273
-#define MEDIA_SYM 274
-#define FONT_FACE_SYM 275
-#define CHARSET_SYM 276
-#define NAMESPACE_SYM 277
-#define WEBKIT_RULE_SYM 278
-#define WEBKIT_DECLS_SYM 279
-#define WEBKIT_KEYFRAME_RULE_SYM 280
-#define WEBKIT_KEYFRAMES_SYM 281
-#define WEBKIT_VALUE_SYM 282
-#define WEBKIT_MEDIAQUERY_SYM 283
-#define WEBKIT_SELECTOR_SYM 284
-#define WEBKIT_VARIABLES_SYM 285
-#define WEBKIT_DEFINE_SYM 286
-#define VARIABLES_FOR 287
-#define WEBKIT_VARIABLES_DECLS_SYM 288
-#define ATKEYWORD 289
-#define IMPORTANT_SYM 290
-#define MEDIA_ONLY 291
-#define MEDIA_NOT 292
-#define MEDIA_AND 293
-#define REMS 294
-#define QEMS 295
-#define EMS 296
-#define EXS 297
-#define PXS 298
-#define CMS 299
-#define MMS 300
-#define INS 301
-#define PTS 302
-#define PCS 303
-#define DEGS 304
-#define RADS 305
-#define GRADS 306
-#define TURNS 307
-#define MSECS 308
-#define SECS 309
-#define HERZ 310
-#define KHERZ 311
-#define DIMEN 312
-#define PERCENTAGE 313
-#define FLOATTOKEN 314
-#define INTEGER 315
-#define URI 316
-#define FUNCTION 317
-#define NOTFUNCTION 318
-#define UNICODERANGE 319
-#define VARCALL 320
-
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
-#line 62 "../css/CSSGrammar.y"
{
+
+/* Line 1676 of yacc.c */
+#line 62 "../css/CSSGrammar.y"
+
bool boolean;
char character;
int integer;
@@ -201,15 +138,18 @@ typedef union YYSTYPE
WebKitCSSKeyframeRule* keyframeRule;
WebKitCSSKeyframesRule* keyframesRule;
float val;
-}
-/* Line 1489 of yacc.c. */
-#line 205 "WebCore/tmp/../generated/CSSGrammar.tab.h"
- YYSTYPE;
+
+
+
+/* Line 1676 of yacc.c */
+#line 144 "WebCore/tmp/../generated/CSSGrammar.tab.h"
+} YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
#endif
+
#endif
diff --git a/src/3rdparty/webkit/WebCore/generated/Grammar.cpp b/src/3rdparty/webkit/WebCore/generated/Grammar.cpp
index ee402fc..95fc52d 100644
--- a/src/3rdparty/webkit/WebCore/generated/Grammar.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/Grammar.cpp
@@ -1,24 +1,23 @@
-/* A Bison parser, made by GNU Bison 2.3. */
-/* Skeleton implementation for Bison's Yacc-like parsers in C
+/* A Bison parser, made by GNU Bison 2.4.1. */
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+/* Skeleton implementation for Bison's Yacc-like parsers in C
+
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
+
+ This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
This program 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 General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA. */
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
@@ -29,7 +28,7 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
@@ -47,7 +46,7 @@
#define YYBISON 1
/* Bison version. */
-#define YYBISON_VERSION "2.3"
+#define YYBISON_VERSION "2.4.1"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@@ -55,159 +54,28 @@
/* Pure parsers. */
#define YYPURE 1
+/* Push parsers. */
+#define YYPUSH 0
+
+/* Pull parsers. */
+#define YYPULL 1
+
/* Using locations. */
#define YYLSP_NEEDED 1
/* Substitute the variable and function names. */
-#define yyparse jscyyparse
-#define yylex jscyylex
-#define yyerror jscyyerror
-#define yylval jscyylval
-#define yychar jscyychar
-#define yydebug jscyydebug
-#define yynerrs jscyynerrs
-#define yylloc jscyylloc
-
-/* Tokens. */
-#ifndef YYTOKENTYPE
-# define YYTOKENTYPE
- /* Put the tokens into the symbol table, so that GDB and other debuggers
- know about them. */
- enum yytokentype {
- NULLTOKEN = 258,
- TRUETOKEN = 259,
- FALSETOKEN = 260,
- BREAK = 261,
- CASE = 262,
- DEFAULT = 263,
- FOR = 264,
- NEW = 265,
- VAR = 266,
- CONSTTOKEN = 267,
- CONTINUE = 268,
- FUNCTION = 269,
- RETURN = 270,
- VOIDTOKEN = 271,
- DELETETOKEN = 272,
- IF = 273,
- THISTOKEN = 274,
- DO = 275,
- WHILE = 276,
- INTOKEN = 277,
- INSTANCEOF = 278,
- TYPEOF = 279,
- SWITCH = 280,
- WITH = 281,
- RESERVED = 282,
- THROW = 283,
- TRY = 284,
- CATCH = 285,
- FINALLY = 286,
- DEBUGGER = 287,
- IF_WITHOUT_ELSE = 288,
- ELSE = 289,
- EQEQ = 290,
- NE = 291,
- STREQ = 292,
- STRNEQ = 293,
- LE = 294,
- GE = 295,
- OR = 296,
- AND = 297,
- PLUSPLUS = 298,
- MINUSMINUS = 299,
- LSHIFT = 300,
- RSHIFT = 301,
- URSHIFT = 302,
- PLUSEQUAL = 303,
- MINUSEQUAL = 304,
- MULTEQUAL = 305,
- DIVEQUAL = 306,
- LSHIFTEQUAL = 307,
- RSHIFTEQUAL = 308,
- URSHIFTEQUAL = 309,
- ANDEQUAL = 310,
- MODEQUAL = 311,
- XOREQUAL = 312,
- OREQUAL = 313,
- OPENBRACE = 314,
- CLOSEBRACE = 315,
- NUMBER = 316,
- IDENT = 317,
- STRING = 318,
- AUTOPLUSPLUS = 319,
- AUTOMINUSMINUS = 320
- };
-#endif
-/* Tokens. */
-#define NULLTOKEN 258
-#define TRUETOKEN 259
-#define FALSETOKEN 260
-#define BREAK 261
-#define CASE 262
-#define DEFAULT 263
-#define FOR 264
-#define NEW 265
-#define VAR 266
-#define CONSTTOKEN 267
-#define CONTINUE 268
-#define FUNCTION 269
-#define RETURN 270
-#define VOIDTOKEN 271
-#define DELETETOKEN 272
-#define IF 273
-#define THISTOKEN 274
-#define DO 275
-#define WHILE 276
-#define INTOKEN 277
-#define INSTANCEOF 278
-#define TYPEOF 279
-#define SWITCH 280
-#define WITH 281
-#define RESERVED 282
-#define THROW 283
-#define TRY 284
-#define CATCH 285
-#define FINALLY 286
-#define DEBUGGER 287
-#define IF_WITHOUT_ELSE 288
-#define ELSE 289
-#define EQEQ 290
-#define NE 291
-#define STREQ 292
-#define STRNEQ 293
-#define LE 294
-#define GE 295
-#define OR 296
-#define AND 297
-#define PLUSPLUS 298
-#define MINUSMINUS 299
-#define LSHIFT 300
-#define RSHIFT 301
-#define URSHIFT 302
-#define PLUSEQUAL 303
-#define MINUSEQUAL 304
-#define MULTEQUAL 305
-#define DIVEQUAL 306
-#define LSHIFTEQUAL 307
-#define RSHIFTEQUAL 308
-#define URSHIFTEQUAL 309
-#define ANDEQUAL 310
-#define MODEQUAL 311
-#define XOREQUAL 312
-#define OREQUAL 313
-#define OPENBRACE 314
-#define CLOSEBRACE 315
-#define NUMBER 316
-#define IDENT 317
-#define STRING 318
-#define AUTOPLUSPLUS 319
-#define AUTOMINUSMINUS 320
-
-
-
+#define yyparse jscyyparse
+#define yylex jscyylex
+#define yyerror jscyyerror
+#define yylval jscyylval
+#define yychar jscyychar
+#define yydebug jscyydebug
+#define yynerrs jscyynerrs
+#define yylloc jscyylloc
/* Copy the first part of user declarations. */
+
+/* Line 189 of yacc.c */
#line 3 "../../JavaScriptCore/parser/Grammar.y"
@@ -352,6 +220,9 @@ static inline void appendToVarDeclarationList(JSGlobalData* globalData, ParserAr
+/* Line 189 of yacc.c */
+#line 225 "WebCore/tmp/../generated/Grammar.tab.c"
+
/* Enabling traces. */
#ifndef YYDEBUG
# define YYDEBUG 0
@@ -370,10 +241,88 @@ static inline void appendToVarDeclarationList(JSGlobalData* globalData, ParserAr
# define YYTOKEN_TABLE 0
#endif
+
+/* Tokens. */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ NULLTOKEN = 258,
+ TRUETOKEN = 259,
+ FALSETOKEN = 260,
+ BREAK = 261,
+ CASE = 262,
+ DEFAULT = 263,
+ FOR = 264,
+ NEW = 265,
+ VAR = 266,
+ CONSTTOKEN = 267,
+ CONTINUE = 268,
+ FUNCTION = 269,
+ RETURN = 270,
+ VOIDTOKEN = 271,
+ DELETETOKEN = 272,
+ IF = 273,
+ THISTOKEN = 274,
+ DO = 275,
+ WHILE = 276,
+ INTOKEN = 277,
+ INSTANCEOF = 278,
+ TYPEOF = 279,
+ SWITCH = 280,
+ WITH = 281,
+ RESERVED = 282,
+ THROW = 283,
+ TRY = 284,
+ CATCH = 285,
+ FINALLY = 286,
+ DEBUGGER = 287,
+ IF_WITHOUT_ELSE = 288,
+ ELSE = 289,
+ EQEQ = 290,
+ NE = 291,
+ STREQ = 292,
+ STRNEQ = 293,
+ LE = 294,
+ GE = 295,
+ OR = 296,
+ AND = 297,
+ PLUSPLUS = 298,
+ MINUSMINUS = 299,
+ LSHIFT = 300,
+ RSHIFT = 301,
+ URSHIFT = 302,
+ PLUSEQUAL = 303,
+ MINUSEQUAL = 304,
+ MULTEQUAL = 305,
+ DIVEQUAL = 306,
+ LSHIFTEQUAL = 307,
+ RSHIFTEQUAL = 308,
+ URSHIFTEQUAL = 309,
+ ANDEQUAL = 310,
+ MODEQUAL = 311,
+ XOREQUAL = 312,
+ OREQUAL = 313,
+ OPENBRACE = 314,
+ CLOSEBRACE = 315,
+ NUMBER = 316,
+ IDENT = 317,
+ STRING = 318,
+ AUTOPLUSPLUS = 319,
+ AUTOMINUSMINUS = 320
+ };
+#endif
+
+
+
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
-#line 146 "../../JavaScriptCore/parser/Grammar.y"
{
+
+/* Line 214 of yacc.c */
+#line 146 "../../JavaScriptCore/parser/Grammar.y"
+
int intValue;
double doubleValue;
const Identifier* ident;
@@ -403,13 +352,15 @@ typedef union YYSTYPE
ParameterListInfo parameterList;
Operator op;
-}
-/* Line 187 of yacc.c. */
-#line 409 "WebCore/tmp/../generated/Grammar.tab.c"
- YYSTYPE;
+
+
+
+/* Line 214 of yacc.c */
+#line 360 "WebCore/tmp/../generated/Grammar.tab.c"
+} YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
#endif
#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
@@ -427,6 +378,8 @@ typedef struct YYLTYPE
/* Copy the second part of user declarations. */
+
+/* Line 264 of yacc.c */
#line 178 "../../JavaScriptCore/parser/Grammar.y"
@@ -442,8 +395,8 @@ static inline void setExceptionLocation(ThrowableExpressionData* node, unsigned
-/* Line 216 of yacc.c. */
-#line 447 "WebCore/tmp/../generated/Grammar.tab.c"
+/* Line 264 of yacc.c */
+#line 400 "WebCore/tmp/../generated/Grammar.tab.c"
#ifdef short
# undef short
@@ -518,14 +471,14 @@ typedef short int yytype_int16;
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static int
-YYID (int i)
+YYID (int yyi)
#else
static int
-YYID (i)
- int i;
+YYID (yyi)
+ int yyi;
#endif
{
- return i;
+ return yyi;
}
#endif
@@ -607,9 +560,9 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */
/* A type that is properly aligned for any stack member. */
union yyalloc
{
- yytype_int16 yyss;
- YYSTYPE yyvs;
- YYLTYPE yyls;
+ yytype_int16 yyss_alloc;
+ YYSTYPE yyvs_alloc;
+ YYLTYPE yyls_alloc;
};
/* The size of the maximum gap between one aligned stack and the next. */
@@ -644,12 +597,12 @@ union yyalloc
elements in the stack, and YYPTR gives the new location of the
stack. Advance YYPTR to a properly aligned location for the next
stack. */
-# define YYSTACK_RELOCATE(Stack) \
+# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
do \
{ \
YYSIZE_T yynewbytes; \
- YYCOPY (&yyptr->Stack, Stack, yysize); \
- Stack = &yyptr->Stack; \
+ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
+ Stack = &yyptr->Stack_alloc; \
yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
yyptr += yynewbytes / sizeof (*yyptr); \
} \
@@ -2363,17 +2316,20 @@ yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp)
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static void
-yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
+yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
#else
static void
-yy_stack_print (bottom, top)
- yytype_int16 *bottom;
- yytype_int16 *top;
+yy_stack_print (yybottom, yytop)
+ yytype_int16 *yybottom;
+ yytype_int16 *yytop;
#endif
{
YYFPRINTF (stderr, "Stack now");
- for (; bottom <= top; ++bottom)
- YYFPRINTF (stderr, " %d", *bottom);
+ for (; yybottom <= yytop; yybottom++)
+ {
+ int yybot = *yybottom;
+ YYFPRINTF (stderr, " %d", yybot);
+ }
YYFPRINTF (stderr, "\n");
}
@@ -2408,11 +2364,11 @@ yy_reduce_print (yyvsp, yylsp, yyrule)
/* The symbols being reduced. */
for (yyi = 0; yyi < yynrhs; yyi++)
{
- fprintf (stderr, " $%d = ", yyi + 1);
+ YYFPRINTF (stderr, " $%d = ", yyi + 1);
yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
&(yyvsp[(yyi + 1) - (yynrhs)])
, &(yylsp[(yyi + 1) - (yynrhs)]) );
- fprintf (stderr, "\n");
+ YYFPRINTF (stderr, "\n");
}
}
@@ -2694,10 +2650,8 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
break;
}
}
-
/* Prevent warnings from -Wmissing-prototypes. */
-
#ifdef YYPARSE_PARAM
#if defined __STDC__ || defined __cplusplus
int yyparse (void *YYPARSE_PARAM);
@@ -2716,10 +2670,9 @@ int yyparse ();
-
-/*----------.
-| yyparse. |
-`----------*/
+/*-------------------------.
+| yyparse or yypush_parse. |
+`-------------------------*/
#ifdef YYPARSE_PARAM
#if (defined __STDC__ || defined __C99__FUNC__ \
@@ -2743,88 +2696,97 @@ yyparse ()
#endif
#endif
{
- /* The look-ahead symbol. */
+/* The lookahead symbol. */
int yychar;
-/* The semantic value of the look-ahead symbol. */
+/* The semantic value of the lookahead symbol. */
YYSTYPE yylval;
-/* Number of syntax errors so far. */
-int yynerrs;
-/* Location data for the look-ahead symbol. */
+/* Location data for the lookahead symbol. */
YYLTYPE yylloc;
- int yystate;
- int yyn;
- int yyresult;
- /* Number of tokens to shift before error messages enabled. */
- int yyerrstatus;
- /* Look-ahead token as an internal (translated) token number. */
- int yytoken = 0;
-#if YYERROR_VERBOSE
- /* Buffer for error messages, and its allocated size. */
- char yymsgbuf[128];
- char *yymsg = yymsgbuf;
- YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
-#endif
+ /* Number of syntax errors so far. */
+ int yynerrs;
- /* Three stacks and their tools:
- `yyss': related to states,
- `yyvs': related to semantic values,
- `yyls': related to locations.
+ int yystate;
+ /* Number of tokens to shift before error messages enabled. */
+ int yyerrstatus;
- Refer to the stacks thru separate pointers, to allow yyoverflow
- to reallocate them elsewhere. */
+ /* The stacks and their tools:
+ `yyss': related to states.
+ `yyvs': related to semantic values.
+ `yyls': related to locations.
- /* The state stack. */
- yytype_int16 yyssa[YYINITDEPTH];
- yytype_int16 *yyss = yyssa;
- yytype_int16 *yyssp;
+ Refer to the stacks thru separate pointers, to allow yyoverflow
+ to reallocate them elsewhere. */
- /* The semantic value stack. */
- YYSTYPE yyvsa[YYINITDEPTH];
- YYSTYPE *yyvs = yyvsa;
- YYSTYPE *yyvsp;
+ /* The state stack. */
+ yytype_int16 yyssa[YYINITDEPTH];
+ yytype_int16 *yyss;
+ yytype_int16 *yyssp;
- /* The location stack. */
- YYLTYPE yylsa[YYINITDEPTH];
- YYLTYPE *yyls = yylsa;
- YYLTYPE *yylsp;
- /* The locations where the error started and ended. */
- YYLTYPE yyerror_range[2];
+ /* The semantic value stack. */
+ YYSTYPE yyvsa[YYINITDEPTH];
+ YYSTYPE *yyvs;
+ YYSTYPE *yyvsp;
-#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
+ /* The location stack. */
+ YYLTYPE yylsa[YYINITDEPTH];
+ YYLTYPE *yyls;
+ YYLTYPE *yylsp;
- YYSIZE_T yystacksize = YYINITDEPTH;
+ /* The locations where the error started and ended. */
+ YYLTYPE yyerror_range[2];
+ YYSIZE_T yystacksize;
+
+ int yyn;
+ int yyresult;
+ /* Lookahead token as an internal (translated) token number. */
+ int yytoken;
/* The variables used to return semantic value and location from the
action routines. */
YYSTYPE yyval;
YYLTYPE yyloc;
+#if YYERROR_VERBOSE
+ /* Buffer for error messages, and its allocated size. */
+ char yymsgbuf[128];
+ char *yymsg = yymsgbuf;
+ YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
+#endif
+
+#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
+
/* The number of symbols on the RHS of the reduced rule.
Keep to zero when no symbol should be popped. */
int yylen = 0;
+ yytoken = 0;
+ yyss = yyssa;
+ yyvs = yyvsa;
+ yyls = yylsa;
+ yystacksize = YYINITDEPTH;
+
YYDPRINTF ((stderr, "Starting parse\n"));
yystate = 0;
yyerrstatus = 0;
yynerrs = 0;
- yychar = YYEMPTY; /* Cause a token to be read. */
+ yychar = YYEMPTY; /* Cause a token to be read. */
/* Initialize stack pointers.
Waste one element of value and location stack
so that they stay on the same level as the state stack.
The wasted elements are never initialized. */
-
yyssp = yyss;
yyvsp = yyvs;
yylsp = yyls;
+
#if YYLTYPE_IS_TRIVIAL
/* Initialize the default location before parsing starts. */
yylloc.first_line = yylloc.last_line = 1;
- yylloc.first_column = yylloc.last_column = 0;
+ yylloc.first_column = yylloc.last_column = 1;
#endif
goto yysetstate;
@@ -2863,6 +2825,7 @@ YYLTYPE yylloc;
&yyvs1, yysize * sizeof (*yyvsp),
&yyls1, yysize * sizeof (*yylsp),
&yystacksize);
+
yyls = yyls1;
yyss = yyss1;
yyvs = yyvs1;
@@ -2884,9 +2847,9 @@ YYLTYPE yylloc;
(union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
if (! yyptr)
goto yyexhaustedlab;
- YYSTACK_RELOCATE (yyss);
- YYSTACK_RELOCATE (yyvs);
- YYSTACK_RELOCATE (yyls);
+ YYSTACK_RELOCATE (yyss_alloc, yyss);
+ YYSTACK_RELOCATE (yyvs_alloc, yyvs);
+ YYSTACK_RELOCATE (yyls_alloc, yyls);
# undef YYSTACK_RELOCATE
if (yyss1 != yyssa)
YYSTACK_FREE (yyss1);
@@ -2907,6 +2870,9 @@ YYLTYPE yylloc;
YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+ if (yystate == YYFINAL)
+ YYACCEPT;
+
goto yybackup;
/*-----------.
@@ -2915,16 +2881,16 @@ YYLTYPE yylloc;
yybackup:
/* Do appropriate processing given the current state. Read a
- look-ahead token if we need one and don't already have one. */
+ lookahead token if we need one and don't already have one. */
- /* First try to decide what to do without reference to look-ahead token. */
+ /* First try to decide what to do without reference to lookahead token. */
yyn = yypact[yystate];
if (yyn == YYPACT_NINF)
goto yydefault;
- /* Not known => get a look-ahead token if don't already have one. */
+ /* Not known => get a lookahead token if don't already have one. */
- /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
+ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
if (yychar == YYEMPTY)
{
YYDPRINTF ((stderr, "Reading a token: "));
@@ -2956,20 +2922,16 @@ yybackup:
goto yyreduce;
}
- if (yyn == YYFINAL)
- YYACCEPT;
-
/* Count tokens shifted since error; after three, turn off error
status. */
if (yyerrstatus)
yyerrstatus--;
- /* Shift the look-ahead token. */
+ /* Shift the lookahead token. */
YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
- /* Discard the shifted token unless it is eof. */
- if (yychar != YYEOF)
- yychar = YYEMPTY;
+ /* Discard the shifted token. */
+ yychar = YYEMPTY;
yystate = yyn;
*++yyvsp = yylval;
@@ -3010,31 +2972,43 @@ yyreduce:
switch (yyn)
{
case 2:
+
+/* Line 1455 of yacc.c */
#line 293 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NullNode(GLOBAL_DATA), 0, 1); ;}
break;
case 3:
+
+/* Line 1455 of yacc.c */
#line 294 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BooleanNode(GLOBAL_DATA, true), 0, 1); ;}
break;
case 4:
+
+/* Line 1455 of yacc.c */
#line 295 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BooleanNode(GLOBAL_DATA, false), 0, 1); ;}
break;
case 5:
+
+/* Line 1455 of yacc.c */
#line 296 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeNumberNode(GLOBAL_DATA, (yyvsp[(1) - (1)].doubleValue)), 0, 1); ;}
break;
case 6:
+
+/* Line 1455 of yacc.c */
#line 297 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) StringNode(GLOBAL_DATA, *(yyvsp[(1) - (1)].ident)), 0, 1); ;}
break;
case 7:
+
+/* Line 1455 of yacc.c */
#line 298 "../../JavaScriptCore/parser/Grammar.y"
{
Lexer& l = *GLOBAL_DATA->lexer;
@@ -3050,6 +3024,8 @@ yyreduce:
break;
case 8:
+
+/* Line 1455 of yacc.c */
#line 309 "../../JavaScriptCore/parser/Grammar.y"
{
Lexer& l = *GLOBAL_DATA->lexer;
@@ -3065,26 +3041,36 @@ yyreduce:
break;
case 9:
+
+/* Line 1455 of yacc.c */
#line 323 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.propertyNode) = createNodeInfo<PropertyNode*>(new (GLOBAL_DATA) PropertyNode(GLOBAL_DATA, *(yyvsp[(1) - (3)].ident), (yyvsp[(3) - (3)].expressionNode).m_node, PropertyNode::Constant), (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 10:
+
+/* Line 1455 of yacc.c */
#line 324 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.propertyNode) = createNodeInfo<PropertyNode*>(new (GLOBAL_DATA) PropertyNode(GLOBAL_DATA, *(yyvsp[(1) - (3)].ident), (yyvsp[(3) - (3)].expressionNode).m_node, PropertyNode::Constant), (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 11:
+
+/* Line 1455 of yacc.c */
#line 325 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.propertyNode) = createNodeInfo<PropertyNode*>(new (GLOBAL_DATA) PropertyNode(GLOBAL_DATA, (yyvsp[(1) - (3)].doubleValue), (yyvsp[(3) - (3)].expressionNode).m_node, PropertyNode::Constant), (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 12:
+
+/* Line 1455 of yacc.c */
#line 326 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.propertyNode) = createNodeInfo<PropertyNode*>(makeGetterOrSetterPropertyNode(GLOBAL_DATA, *(yyvsp[(1) - (7)].ident), *(yyvsp[(2) - (7)].ident), 0, (yyvsp[(6) - (7)].functionBodyNode), GLOBAL_DATA->lexer->sourceCode((yyvsp[(5) - (7)].intValue), (yyvsp[(7) - (7)].intValue), (yylsp[(5) - (7)]).first_line)), ClosureFeature, 0); setStatementLocation((yyvsp[(6) - (7)].functionBodyNode), (yylsp[(5) - (7)]), (yylsp[(7) - (7)])); if (!(yyval.propertyNode).m_node) YYABORT; ;}
break;
case 13:
+
+/* Line 1455 of yacc.c */
#line 328 "../../JavaScriptCore/parser/Grammar.y"
{
(yyval.propertyNode) = createNodeInfo<PropertyNode*>(makeGetterOrSetterPropertyNode(GLOBAL_DATA, *(yyvsp[(1) - (8)].ident), *(yyvsp[(2) - (8)].ident), (yyvsp[(4) - (8)].parameterList).m_node.head, (yyvsp[(7) - (8)].functionBodyNode), GLOBAL_DATA->lexer->sourceCode((yyvsp[(6) - (8)].intValue), (yyvsp[(8) - (8)].intValue), (yylsp[(6) - (8)]).first_line)), (yyvsp[(4) - (8)].parameterList).m_features | ClosureFeature, 0);
@@ -3097,6 +3083,8 @@ yyreduce:
break;
case 14:
+
+/* Line 1455 of yacc.c */
#line 339 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.propertyList).m_node.head = new (GLOBAL_DATA) PropertyListNode(GLOBAL_DATA, (yyvsp[(1) - (1)].propertyNode).m_node);
(yyval.propertyList).m_node.tail = (yyval.propertyList).m_node.head;
@@ -3105,6 +3093,8 @@ yyreduce:
break;
case 15:
+
+/* Line 1455 of yacc.c */
#line 343 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.propertyList).m_node.head = (yyvsp[(1) - (3)].propertyList).m_node.head;
(yyval.propertyList).m_node.tail = new (GLOBAL_DATA) PropertyListNode(GLOBAL_DATA, (yyvsp[(3) - (3)].propertyNode).m_node, (yyvsp[(1) - (3)].propertyList).m_node.tail);
@@ -3113,51 +3103,71 @@ yyreduce:
break;
case 17:
+
+/* Line 1455 of yacc.c */
#line 351 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ObjectLiteralNode(GLOBAL_DATA), 0, 0); ;}
break;
case 18:
+
+/* Line 1455 of yacc.c */
#line 352 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ObjectLiteralNode(GLOBAL_DATA, (yyvsp[(2) - (3)].propertyList).m_node.head), (yyvsp[(2) - (3)].propertyList).m_features, (yyvsp[(2) - (3)].propertyList).m_numConstants); ;}
break;
case 19:
+
+/* Line 1455 of yacc.c */
#line 354 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ObjectLiteralNode(GLOBAL_DATA, (yyvsp[(2) - (4)].propertyList).m_node.head), (yyvsp[(2) - (4)].propertyList).m_features, (yyvsp[(2) - (4)].propertyList).m_numConstants); ;}
break;
case 20:
+
+/* Line 1455 of yacc.c */
#line 358 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ThisNode(GLOBAL_DATA), ThisFeature, 0); ;}
break;
case 23:
+
+/* Line 1455 of yacc.c */
#line 361 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ResolveNode(GLOBAL_DATA, *(yyvsp[(1) - (1)].ident), (yylsp[(1) - (1)]).first_column), (*(yyvsp[(1) - (1)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0, 0); ;}
break;
case 24:
+
+/* Line 1455 of yacc.c */
#line 362 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = (yyvsp[(2) - (3)].expressionNode); ;}
break;
case 25:
+
+/* Line 1455 of yacc.c */
#line 366 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ArrayNode(GLOBAL_DATA, (yyvsp[(2) - (3)].intValue)), 0, (yyvsp[(2) - (3)].intValue) ? 1 : 0); ;}
break;
case 26:
+
+/* Line 1455 of yacc.c */
#line 367 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ArrayNode(GLOBAL_DATA, (yyvsp[(2) - (3)].elementList).m_node.head), (yyvsp[(2) - (3)].elementList).m_features, (yyvsp[(2) - (3)].elementList).m_numConstants); ;}
break;
case 27:
+
+/* Line 1455 of yacc.c */
#line 368 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ArrayNode(GLOBAL_DATA, (yyvsp[(4) - (5)].intValue), (yyvsp[(2) - (5)].elementList).m_node.head), (yyvsp[(2) - (5)].elementList).m_features, (yyvsp[(4) - (5)].intValue) ? (yyvsp[(2) - (5)].elementList).m_numConstants + 1 : (yyvsp[(2) - (5)].elementList).m_numConstants); ;}
break;
case 28:
+
+/* Line 1455 of yacc.c */
#line 372 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.elementList).m_node.head = new (GLOBAL_DATA) ElementNode(GLOBAL_DATA, (yyvsp[(1) - (2)].intValue), (yyvsp[(2) - (2)].expressionNode).m_node);
(yyval.elementList).m_node.tail = (yyval.elementList).m_node.head;
@@ -3166,6 +3176,8 @@ yyreduce:
break;
case 29:
+
+/* Line 1455 of yacc.c */
#line 377 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.elementList).m_node.head = (yyvsp[(1) - (4)].elementList).m_node.head;
(yyval.elementList).m_node.tail = new (GLOBAL_DATA) ElementNode(GLOBAL_DATA, (yyvsp[(1) - (4)].elementList).m_node.tail, (yyvsp[(3) - (4)].intValue), (yyvsp[(4) - (4)].expressionNode).m_node);
@@ -3174,26 +3186,36 @@ yyreduce:
break;
case 30:
+
+/* Line 1455 of yacc.c */
#line 384 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.intValue) = 0; ;}
break;
case 32:
+
+/* Line 1455 of yacc.c */
#line 389 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.intValue) = 1; ;}
break;
case 33:
+
+/* Line 1455 of yacc.c */
#line 390 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.intValue) = (yyvsp[(1) - (2)].intValue) + 1; ;}
break;
case 35:
+
+/* Line 1455 of yacc.c */
#line 395 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>((yyvsp[(1) - (1)].funcExprNode).m_node, (yyvsp[(1) - (1)].funcExprNode).m_features, (yyvsp[(1) - (1)].funcExprNode).m_numConstants); ;}
break;
case 36:
+
+/* Line 1455 of yacc.c */
#line 396 "../../JavaScriptCore/parser/Grammar.y"
{ BracketAccessorNode* node = new (GLOBAL_DATA) BracketAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_features & AssignFeature);
setExceptionLocation(node, (yylsp[(1) - (4)]).first_column, (yylsp[(1) - (4)]).last_column, (yylsp[(4) - (4)]).last_column);
@@ -3202,6 +3224,8 @@ yyreduce:
break;
case 37:
+
+/* Line 1455 of yacc.c */
#line 400 "../../JavaScriptCore/parser/Grammar.y"
{ DotAccessorNode* node = new (GLOBAL_DATA) DotAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, *(yyvsp[(3) - (3)].ident));
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(1) - (3)]).last_column, (yylsp[(3) - (3)]).last_column);
@@ -3210,6 +3234,8 @@ yyreduce:
break;
case 38:
+
+/* Line 1455 of yacc.c */
#line 404 "../../JavaScriptCore/parser/Grammar.y"
{ NewExprNode* node = new (GLOBAL_DATA) NewExprNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].argumentsNode).m_node);
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(3) - (3)]).last_column);
@@ -3218,6 +3244,8 @@ yyreduce:
break;
case 40:
+
+/* Line 1455 of yacc.c */
#line 412 "../../JavaScriptCore/parser/Grammar.y"
{ BracketAccessorNode* node = new (GLOBAL_DATA) BracketAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_features & AssignFeature);
setExceptionLocation(node, (yylsp[(1) - (4)]).first_column, (yylsp[(1) - (4)]).last_column, (yylsp[(4) - (4)]).last_column);
@@ -3226,6 +3254,8 @@ yyreduce:
break;
case 41:
+
+/* Line 1455 of yacc.c */
#line 416 "../../JavaScriptCore/parser/Grammar.y"
{ DotAccessorNode* node = new (GLOBAL_DATA) DotAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, *(yyvsp[(3) - (3)].ident));
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(1) - (3)]).last_column, (yylsp[(3) - (3)]).last_column);
@@ -3234,6 +3264,8 @@ yyreduce:
break;
case 42:
+
+/* Line 1455 of yacc.c */
#line 420 "../../JavaScriptCore/parser/Grammar.y"
{ NewExprNode* node = new (GLOBAL_DATA) NewExprNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].argumentsNode).m_node);
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(3) - (3)]).last_column);
@@ -3242,6 +3274,8 @@ yyreduce:
break;
case 44:
+
+/* Line 1455 of yacc.c */
#line 428 "../../JavaScriptCore/parser/Grammar.y"
{ NewExprNode* node = new (GLOBAL_DATA) NewExprNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node);
setExceptionLocation(node, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).last_column, (yylsp[(2) - (2)]).last_column);
@@ -3250,6 +3284,8 @@ yyreduce:
break;
case 46:
+
+/* Line 1455 of yacc.c */
#line 436 "../../JavaScriptCore/parser/Grammar.y"
{ NewExprNode* node = new (GLOBAL_DATA) NewExprNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node);
setExceptionLocation(node, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).last_column, (yylsp[(2) - (2)]).last_column);
@@ -3258,16 +3294,22 @@ yyreduce:
break;
case 47:
+
+/* Line 1455 of yacc.c */
#line 443 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = makeFunctionCallNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode), (yyvsp[(2) - (2)].argumentsNode), (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column); ;}
break;
case 48:
+
+/* Line 1455 of yacc.c */
#line 444 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = makeFunctionCallNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode), (yyvsp[(2) - (2)].argumentsNode), (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column); ;}
break;
case 49:
+
+/* Line 1455 of yacc.c */
#line 445 "../../JavaScriptCore/parser/Grammar.y"
{ BracketAccessorNode* node = new (GLOBAL_DATA) BracketAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_features & AssignFeature);
setExceptionLocation(node, (yylsp[(1) - (4)]).first_column, (yylsp[(1) - (4)]).last_column, (yylsp[(4) - (4)]).last_column);
@@ -3276,6 +3318,8 @@ yyreduce:
break;
case 50:
+
+/* Line 1455 of yacc.c */
#line 449 "../../JavaScriptCore/parser/Grammar.y"
{ DotAccessorNode* node = new (GLOBAL_DATA) DotAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, *(yyvsp[(3) - (3)].ident));
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(1) - (3)]).last_column, (yylsp[(3) - (3)]).last_column);
@@ -3283,16 +3327,22 @@ yyreduce:
break;
case 51:
+
+/* Line 1455 of yacc.c */
#line 455 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = makeFunctionCallNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode), (yyvsp[(2) - (2)].argumentsNode), (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column); ;}
break;
case 52:
+
+/* Line 1455 of yacc.c */
#line 456 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = makeFunctionCallNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode), (yyvsp[(2) - (2)].argumentsNode), (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column); ;}
break;
case 53:
+
+/* Line 1455 of yacc.c */
#line 457 "../../JavaScriptCore/parser/Grammar.y"
{ BracketAccessorNode* node = new (GLOBAL_DATA) BracketAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_features & AssignFeature);
setExceptionLocation(node, (yylsp[(1) - (4)]).first_column, (yylsp[(1) - (4)]).last_column, (yylsp[(4) - (4)]).last_column);
@@ -3301,6 +3351,8 @@ yyreduce:
break;
case 54:
+
+/* Line 1455 of yacc.c */
#line 461 "../../JavaScriptCore/parser/Grammar.y"
{ DotAccessorNode* node = new (GLOBAL_DATA) DotAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, *(yyvsp[(3) - (3)].ident));
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(1) - (3)]).last_column, (yylsp[(3) - (3)]).last_column);
@@ -3309,16 +3361,22 @@ yyreduce:
break;
case 55:
+
+/* Line 1455 of yacc.c */
#line 468 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.argumentsNode) = createNodeInfo<ArgumentsNode*>(new (GLOBAL_DATA) ArgumentsNode(GLOBAL_DATA), 0, 0); ;}
break;
case 56:
+
+/* Line 1455 of yacc.c */
#line 469 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.argumentsNode) = createNodeInfo<ArgumentsNode*>(new (GLOBAL_DATA) ArgumentsNode(GLOBAL_DATA, (yyvsp[(2) - (3)].argumentList).m_node.head), (yyvsp[(2) - (3)].argumentList).m_features, (yyvsp[(2) - (3)].argumentList).m_numConstants); ;}
break;
case 57:
+
+/* Line 1455 of yacc.c */
#line 473 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.argumentList).m_node.head = new (GLOBAL_DATA) ArgumentListNode(GLOBAL_DATA, (yyvsp[(1) - (1)].expressionNode).m_node);
(yyval.argumentList).m_node.tail = (yyval.argumentList).m_node.head;
@@ -3327,6 +3385,8 @@ yyreduce:
break;
case 58:
+
+/* Line 1455 of yacc.c */
#line 477 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.argumentList).m_node.head = (yyvsp[(1) - (3)].argumentList).m_node.head;
(yyval.argumentList).m_node.tail = new (GLOBAL_DATA) ArgumentListNode(GLOBAL_DATA, (yyvsp[(1) - (3)].argumentList).m_node.tail, (yyvsp[(3) - (3)].expressionNode).m_node);
@@ -3335,181 +3395,253 @@ yyreduce:
break;
case 64:
+
+/* Line 1455 of yacc.c */
#line 495 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePostfixNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode).m_node, OpPlusPlus, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column), (yyvsp[(1) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (2)].expressionNode).m_numConstants); ;}
break;
case 65:
+
+/* Line 1455 of yacc.c */
#line 496 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePostfixNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode).m_node, OpMinusMinus, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column), (yyvsp[(1) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (2)].expressionNode).m_numConstants); ;}
break;
case 67:
+
+/* Line 1455 of yacc.c */
#line 501 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePostfixNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode).m_node, OpPlusPlus, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column), (yyvsp[(1) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (2)].expressionNode).m_numConstants); ;}
break;
case 68:
+
+/* Line 1455 of yacc.c */
#line 502 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePostfixNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode).m_node, OpMinusMinus, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column), (yyvsp[(1) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (2)].expressionNode).m_numConstants); ;}
break;
case 69:
+
+/* Line 1455 of yacc.c */
#line 506 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeDeleteNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).last_column, (yylsp[(2) - (2)]).last_column), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 70:
+
+/* Line 1455 of yacc.c */
#line 507 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) VoidNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants + 1); ;}
break;
case 71:
+
+/* Line 1455 of yacc.c */
#line 508 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeTypeOfNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 72:
+
+/* Line 1455 of yacc.c */
#line 509 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePrefixNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node, OpPlusPlus, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).first_column + 1, (yylsp[(2) - (2)]).last_column), (yyvsp[(2) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 73:
+
+/* Line 1455 of yacc.c */
#line 510 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePrefixNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node, OpPlusPlus, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).first_column + 1, (yylsp[(2) - (2)]).last_column), (yyvsp[(2) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 74:
+
+/* Line 1455 of yacc.c */
#line 511 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePrefixNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node, OpMinusMinus, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).first_column + 1, (yylsp[(2) - (2)]).last_column), (yyvsp[(2) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 75:
+
+/* Line 1455 of yacc.c */
#line 512 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePrefixNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node, OpMinusMinus, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).first_column + 1, (yylsp[(2) - (2)]).last_column), (yyvsp[(2) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 76:
+
+/* Line 1455 of yacc.c */
#line 513 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) UnaryPlusNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 77:
+
+/* Line 1455 of yacc.c */
#line 514 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeNegateNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 78:
+
+/* Line 1455 of yacc.c */
#line 515 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeBitwiseNotNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 79:
+
+/* Line 1455 of yacc.c */
#line 516 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalNotNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 85:
+
+/* Line 1455 of yacc.c */
#line 530 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeMultNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 86:
+
+/* Line 1455 of yacc.c */
#line 531 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeDivNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 87:
+
+/* Line 1455 of yacc.c */
#line 532 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ModNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 89:
+
+/* Line 1455 of yacc.c */
#line 538 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeMultNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 90:
+
+/* Line 1455 of yacc.c */
#line 540 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeDivNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 91:
+
+/* Line 1455 of yacc.c */
#line 542 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ModNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 93:
+
+/* Line 1455 of yacc.c */
#line 547 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeAddNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 94:
+
+/* Line 1455 of yacc.c */
#line 548 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeSubNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 96:
+
+/* Line 1455 of yacc.c */
#line 554 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeAddNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 97:
+
+/* Line 1455 of yacc.c */
#line 556 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeSubNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 99:
+
+/* Line 1455 of yacc.c */
#line 561 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeLeftShiftNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 100:
+
+/* Line 1455 of yacc.c */
#line 562 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeRightShiftNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 101:
+
+/* Line 1455 of yacc.c */
#line 563 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) UnsignedRightShiftNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 103:
+
+/* Line 1455 of yacc.c */
#line 568 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeLeftShiftNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 104:
+
+/* Line 1455 of yacc.c */
#line 569 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeRightShiftNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 105:
+
+/* Line 1455 of yacc.c */
#line 570 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) UnsignedRightShiftNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 107:
+
+/* Line 1455 of yacc.c */
#line 575 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LessNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 108:
+
+/* Line 1455 of yacc.c */
#line 576 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) GreaterNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 109:
+
+/* Line 1455 of yacc.c */
#line 577 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LessEqNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 110:
+
+/* Line 1455 of yacc.c */
#line 578 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) GreaterEqNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 111:
+
+/* Line 1455 of yacc.c */
#line 579 "../../JavaScriptCore/parser/Grammar.y"
{ InstanceOfNode* node = new (GLOBAL_DATA) InstanceOfNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature);
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).first_column, (yylsp[(3) - (3)]).last_column);
@@ -3517,6 +3649,8 @@ yyreduce:
break;
case 112:
+
+/* Line 1455 of yacc.c */
#line 582 "../../JavaScriptCore/parser/Grammar.y"
{ InNode* node = new (GLOBAL_DATA) InNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature);
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).first_column, (yylsp[(3) - (3)]).last_column);
@@ -3524,26 +3658,36 @@ yyreduce:
break;
case 114:
+
+/* Line 1455 of yacc.c */
#line 589 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LessNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 115:
+
+/* Line 1455 of yacc.c */
#line 590 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) GreaterNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 116:
+
+/* Line 1455 of yacc.c */
#line 591 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LessEqNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 117:
+
+/* Line 1455 of yacc.c */
#line 592 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) GreaterEqNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 118:
+
+/* Line 1455 of yacc.c */
#line 594 "../../JavaScriptCore/parser/Grammar.y"
{ InstanceOfNode* node = new (GLOBAL_DATA) InstanceOfNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature);
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).first_column, (yylsp[(3) - (3)]).last_column);
@@ -3551,26 +3695,36 @@ yyreduce:
break;
case 120:
+
+/* Line 1455 of yacc.c */
#line 601 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LessNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 121:
+
+/* Line 1455 of yacc.c */
#line 602 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) GreaterNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 122:
+
+/* Line 1455 of yacc.c */
#line 603 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LessEqNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 123:
+
+/* Line 1455 of yacc.c */
#line 604 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) GreaterEqNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 124:
+
+/* Line 1455 of yacc.c */
#line 606 "../../JavaScriptCore/parser/Grammar.y"
{ InstanceOfNode* node = new (GLOBAL_DATA) InstanceOfNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature);
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).first_column, (yylsp[(3) - (3)]).last_column);
@@ -3578,6 +3732,8 @@ yyreduce:
break;
case 125:
+
+/* Line 1455 of yacc.c */
#line 610 "../../JavaScriptCore/parser/Grammar.y"
{ InNode* node = new (GLOBAL_DATA) InNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature);
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).first_column, (yylsp[(3) - (3)]).last_column);
@@ -3585,156 +3741,218 @@ yyreduce:
break;
case 127:
+
+/* Line 1455 of yacc.c */
#line 617 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) EqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 128:
+
+/* Line 1455 of yacc.c */
#line 618 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NotEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 129:
+
+/* Line 1455 of yacc.c */
#line 619 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) StrictEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 130:
+
+/* Line 1455 of yacc.c */
#line 620 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NotStrictEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 132:
+
+/* Line 1455 of yacc.c */
#line 626 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) EqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 133:
+
+/* Line 1455 of yacc.c */
#line 628 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NotEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 134:
+
+/* Line 1455 of yacc.c */
#line 630 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) StrictEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 135:
+
+/* Line 1455 of yacc.c */
#line 632 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NotStrictEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 137:
+
+/* Line 1455 of yacc.c */
#line 638 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) EqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 138:
+
+/* Line 1455 of yacc.c */
#line 639 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NotEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 139:
+
+/* Line 1455 of yacc.c */
#line 641 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) StrictEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 140:
+
+/* Line 1455 of yacc.c */
#line 643 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NotStrictEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 142:
+
+/* Line 1455 of yacc.c */
#line 648 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitAndNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 144:
+
+/* Line 1455 of yacc.c */
#line 654 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitAndNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 146:
+
+/* Line 1455 of yacc.c */
#line 659 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitAndNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 148:
+
+/* Line 1455 of yacc.c */
#line 664 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitXOrNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 150:
+
+/* Line 1455 of yacc.c */
#line 670 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitXOrNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 152:
+
+/* Line 1455 of yacc.c */
#line 676 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitXOrNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 154:
+
+/* Line 1455 of yacc.c */
#line 681 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitOrNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 156:
+
+/* Line 1455 of yacc.c */
#line 687 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitOrNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 158:
+
+/* Line 1455 of yacc.c */
#line 693 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitOrNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 160:
+
+/* Line 1455 of yacc.c */
#line 698 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalOpNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, OpLogicalAnd), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 162:
+
+/* Line 1455 of yacc.c */
#line 704 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalOpNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, OpLogicalAnd), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 164:
+
+/* Line 1455 of yacc.c */
#line 710 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalOpNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, OpLogicalAnd), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 166:
+
+/* Line 1455 of yacc.c */
#line 715 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalOpNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, OpLogicalOr), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 168:
+
+/* Line 1455 of yacc.c */
#line 721 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalOpNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, OpLogicalOr), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 170:
+
+/* Line 1455 of yacc.c */
#line 726 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalOpNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, OpLogicalOr), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 172:
+
+/* Line 1455 of yacc.c */
#line 732 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ConditionalNode(GLOBAL_DATA, (yyvsp[(1) - (5)].expressionNode).m_node, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].expressionNode).m_node), (yyvsp[(1) - (5)].expressionNode).m_features | (yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].expressionNode).m_features, (yyvsp[(1) - (5)].expressionNode).m_numConstants + (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].expressionNode).m_numConstants); ;}
break;
case 174:
+
+/* Line 1455 of yacc.c */
#line 738 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ConditionalNode(GLOBAL_DATA, (yyvsp[(1) - (5)].expressionNode).m_node, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].expressionNode).m_node), (yyvsp[(1) - (5)].expressionNode).m_features | (yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].expressionNode).m_features, (yyvsp[(1) - (5)].expressionNode).m_numConstants + (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].expressionNode).m_numConstants); ;}
break;
case 176:
+
+/* Line 1455 of yacc.c */
#line 744 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ConditionalNode(GLOBAL_DATA, (yyvsp[(1) - (5)].expressionNode).m_node, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].expressionNode).m_node), (yyvsp[(1) - (5)].expressionNode).m_features | (yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].expressionNode).m_features, (yyvsp[(1) - (5)].expressionNode).m_numConstants + (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].expressionNode).m_numConstants); ;}
break;
case 178:
+
+/* Line 1455 of yacc.c */
#line 750 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeAssignNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(2) - (3)].op), (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(1) - (3)].expressionNode).m_features & AssignFeature, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature,
(yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).first_column + 1, (yylsp[(3) - (3)]).last_column), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants);
@@ -3742,6 +3960,8 @@ yyreduce:
break;
case 180:
+
+/* Line 1455 of yacc.c */
#line 758 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeAssignNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(2) - (3)].op), (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(1) - (3)].expressionNode).m_features & AssignFeature, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature,
(yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).first_column + 1, (yylsp[(3) - (3)]).last_column), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants);
@@ -3749,6 +3969,8 @@ yyreduce:
break;
case 182:
+
+/* Line 1455 of yacc.c */
#line 766 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeAssignNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(2) - (3)].op), (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(1) - (3)].expressionNode).m_features & AssignFeature, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature,
(yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).first_column + 1, (yylsp[(3) - (3)]).last_column), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants);
@@ -3756,99 +3978,137 @@ yyreduce:
break;
case 183:
+
+/* Line 1455 of yacc.c */
#line 772 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.op) = OpEqual; ;}
break;
case 184:
+
+/* Line 1455 of yacc.c */
#line 773 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.op) = OpPlusEq; ;}
break;
case 185:
+
+/* Line 1455 of yacc.c */
#line 774 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.op) = OpMinusEq; ;}
break;
case 186:
+
+/* Line 1455 of yacc.c */
#line 775 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.op) = OpMultEq; ;}
break;
case 187:
+
+/* Line 1455 of yacc.c */
#line 776 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.op) = OpDivEq; ;}
break;
case 188:
+
+/* Line 1455 of yacc.c */
#line 777 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.op) = OpLShift; ;}
break;
case 189:
+
+/* Line 1455 of yacc.c */
#line 778 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.op) = OpRShift; ;}
break;
case 190:
+
+/* Line 1455 of yacc.c */
#line 779 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.op) = OpURShift; ;}
break;
case 191:
+
+/* Line 1455 of yacc.c */
#line 780 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.op) = OpAndEq; ;}
break;
case 192:
+
+/* Line 1455 of yacc.c */
#line 781 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.op) = OpXOrEq; ;}
break;
case 193:
+
+/* Line 1455 of yacc.c */
#line 782 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.op) = OpOrEq; ;}
break;
case 194:
+
+/* Line 1455 of yacc.c */
#line 783 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.op) = OpModEq; ;}
break;
case 196:
+
+/* Line 1455 of yacc.c */
#line 788 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(combineCommaNodes(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 198:
+
+/* Line 1455 of yacc.c */
#line 793 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(combineCommaNodes(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 200:
+
+/* Line 1455 of yacc.c */
#line 798 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(combineCommaNodes(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 218:
+
+/* Line 1455 of yacc.c */
#line 822 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) BlockNode(GLOBAL_DATA, 0), 0, 0, 0, 0);
setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(2) - (2)])); ;}
break;
case 219:
+
+/* Line 1455 of yacc.c */
#line 824 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) BlockNode(GLOBAL_DATA, (yyvsp[(2) - (3)].sourceElements).m_node), (yyvsp[(2) - (3)].sourceElements).m_varDeclarations, (yyvsp[(2) - (3)].sourceElements).m_funcDeclarations, (yyvsp[(2) - (3)].sourceElements).m_features, (yyvsp[(2) - (3)].sourceElements).m_numConstants);
setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(3) - (3)])); ;}
break;
case 220:
+
+/* Line 1455 of yacc.c */
#line 829 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(makeVarStatementNode(GLOBAL_DATA, (yyvsp[(2) - (3)].varDeclList).m_node), (yyvsp[(2) - (3)].varDeclList).m_varDeclarations, (yyvsp[(2) - (3)].varDeclList).m_funcDeclarations, (yyvsp[(2) - (3)].varDeclList).m_features, (yyvsp[(2) - (3)].varDeclList).m_numConstants);
setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(3) - (3)])); ;}
break;
case 221:
+
+/* Line 1455 of yacc.c */
#line 831 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(makeVarStatementNode(GLOBAL_DATA, (yyvsp[(2) - (3)].varDeclList).m_node), (yyvsp[(2) - (3)].varDeclList).m_varDeclarations, (yyvsp[(2) - (3)].varDeclList).m_funcDeclarations, (yyvsp[(2) - (3)].varDeclList).m_features, (yyvsp[(2) - (3)].varDeclList).m_numConstants);
setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(2) - (3)]));
@@ -3856,6 +4116,8 @@ yyreduce:
break;
case 222:
+
+/* Line 1455 of yacc.c */
#line 837 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.varDeclList).m_node = 0;
(yyval.varDeclList).m_varDeclarations = new (GLOBAL_DATA) ParserArenaData<DeclarationStacks::VarStack>;
@@ -3867,6 +4129,8 @@ yyreduce:
break;
case 223:
+
+/* Line 1455 of yacc.c */
#line 844 "../../JavaScriptCore/parser/Grammar.y"
{ AssignResolveNode* node = new (GLOBAL_DATA) AssignResolveNode(GLOBAL_DATA, *(yyvsp[(1) - (2)].ident), (yyvsp[(2) - (2)].expressionNode).m_node, (yyvsp[(2) - (2)].expressionNode).m_features & AssignFeature);
setExceptionLocation(node, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).first_column + 1, (yylsp[(2) - (2)]).last_column);
@@ -3880,6 +4144,8 @@ yyreduce:
break;
case 224:
+
+/* Line 1455 of yacc.c */
#line 854 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.varDeclList).m_node = (yyvsp[(1) - (3)].varDeclList).m_node;
(yyval.varDeclList).m_varDeclarations = (yyvsp[(1) - (3)].varDeclList).m_varDeclarations;
@@ -3891,6 +4157,8 @@ yyreduce:
break;
case 225:
+
+/* Line 1455 of yacc.c */
#line 862 "../../JavaScriptCore/parser/Grammar.y"
{ AssignResolveNode* node = new (GLOBAL_DATA) AssignResolveNode(GLOBAL_DATA, *(yyvsp[(3) - (4)].ident), (yyvsp[(4) - (4)].expressionNode).m_node, (yyvsp[(4) - (4)].expressionNode).m_features & AssignFeature);
setExceptionLocation(node, (yylsp[(3) - (4)]).first_column, (yylsp[(4) - (4)]).first_column + 1, (yylsp[(4) - (4)]).last_column);
@@ -3904,6 +4172,8 @@ yyreduce:
break;
case 226:
+
+/* Line 1455 of yacc.c */
#line 874 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.varDeclList).m_node = 0;
(yyval.varDeclList).m_varDeclarations = new (GLOBAL_DATA) ParserArenaData<DeclarationStacks::VarStack>;
@@ -3915,6 +4185,8 @@ yyreduce:
break;
case 227:
+
+/* Line 1455 of yacc.c */
#line 881 "../../JavaScriptCore/parser/Grammar.y"
{ AssignResolveNode* node = new (GLOBAL_DATA) AssignResolveNode(GLOBAL_DATA, *(yyvsp[(1) - (2)].ident), (yyvsp[(2) - (2)].expressionNode).m_node, (yyvsp[(2) - (2)].expressionNode).m_features & AssignFeature);
setExceptionLocation(node, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).first_column + 1, (yylsp[(2) - (2)]).last_column);
@@ -3928,6 +4200,8 @@ yyreduce:
break;
case 228:
+
+/* Line 1455 of yacc.c */
#line 891 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.varDeclList).m_node = (yyvsp[(1) - (3)].varDeclList).m_node;
(yyval.varDeclList).m_varDeclarations = (yyvsp[(1) - (3)].varDeclList).m_varDeclarations;
@@ -3939,6 +4213,8 @@ yyreduce:
break;
case 229:
+
+/* Line 1455 of yacc.c */
#line 899 "../../JavaScriptCore/parser/Grammar.y"
{ AssignResolveNode* node = new (GLOBAL_DATA) AssignResolveNode(GLOBAL_DATA, *(yyvsp[(3) - (4)].ident), (yyvsp[(4) - (4)].expressionNode).m_node, (yyvsp[(4) - (4)].expressionNode).m_features & AssignFeature);
setExceptionLocation(node, (yylsp[(3) - (4)]).first_column, (yylsp[(4) - (4)]).first_column + 1, (yylsp[(4) - (4)]).last_column);
@@ -3952,18 +4228,24 @@ yyreduce:
break;
case 230:
+
+/* Line 1455 of yacc.c */
#line 911 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) ConstStatementNode(GLOBAL_DATA, (yyvsp[(2) - (3)].constDeclList).m_node.head), (yyvsp[(2) - (3)].constDeclList).m_varDeclarations, (yyvsp[(2) - (3)].constDeclList).m_funcDeclarations, (yyvsp[(2) - (3)].constDeclList).m_features, (yyvsp[(2) - (3)].constDeclList).m_numConstants);
setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(3) - (3)])); ;}
break;
case 231:
+
+/* Line 1455 of yacc.c */
#line 914 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) ConstStatementNode(GLOBAL_DATA, (yyvsp[(2) - (3)].constDeclList).m_node.head), (yyvsp[(2) - (3)].constDeclList).m_varDeclarations, (yyvsp[(2) - (3)].constDeclList).m_funcDeclarations, (yyvsp[(2) - (3)].constDeclList).m_features, (yyvsp[(2) - (3)].constDeclList).m_numConstants);
setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(2) - (3)])); AUTO_SEMICOLON; ;}
break;
case 232:
+
+/* Line 1455 of yacc.c */
#line 919 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.constDeclList).m_node.head = (yyvsp[(1) - (1)].constDeclNode).m_node;
(yyval.constDeclList).m_node.tail = (yyval.constDeclList).m_node.head;
@@ -3976,6 +4258,8 @@ yyreduce:
break;
case 233:
+
+/* Line 1455 of yacc.c */
#line 928 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.constDeclList).m_node.head = (yyvsp[(1) - (3)].constDeclList).m_node.head;
(yyvsp[(1) - (3)].constDeclList).m_node.tail->m_next = (yyvsp[(3) - (3)].constDeclNode).m_node;
@@ -3988,49 +4272,67 @@ yyreduce:
break;
case 234:
+
+/* Line 1455 of yacc.c */
#line 939 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.constDeclNode) = createNodeInfo<ConstDeclNode*>(new (GLOBAL_DATA) ConstDeclNode(GLOBAL_DATA, *(yyvsp[(1) - (1)].ident), 0), (*(yyvsp[(1) - (1)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0, 0); ;}
break;
case 235:
+
+/* Line 1455 of yacc.c */
#line 940 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.constDeclNode) = createNodeInfo<ConstDeclNode*>(new (GLOBAL_DATA) ConstDeclNode(GLOBAL_DATA, *(yyvsp[(1) - (2)].ident), (yyvsp[(2) - (2)].expressionNode).m_node), ((*(yyvsp[(1) - (2)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0) | (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 236:
+
+/* Line 1455 of yacc.c */
#line 944 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = (yyvsp[(2) - (2)].expressionNode); ;}
break;
case 237:
+
+/* Line 1455 of yacc.c */
#line 948 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = (yyvsp[(2) - (2)].expressionNode); ;}
break;
case 238:
+
+/* Line 1455 of yacc.c */
#line 952 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) EmptyStatementNode(GLOBAL_DATA), 0, 0, 0, 0); ;}
break;
case 239:
+
+/* Line 1455 of yacc.c */
#line 956 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) ExprStatementNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode).m_node), 0, 0, (yyvsp[(1) - (2)].expressionNode).m_features, (yyvsp[(1) - (2)].expressionNode).m_numConstants);
setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(2) - (2)])); ;}
break;
case 240:
+
+/* Line 1455 of yacc.c */
#line 958 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) ExprStatementNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode).m_node), 0, 0, (yyvsp[(1) - (2)].expressionNode).m_features, (yyvsp[(1) - (2)].expressionNode).m_numConstants);
setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(1) - (2)])); AUTO_SEMICOLON; ;}
break;
case 241:
+
+/* Line 1455 of yacc.c */
#line 964 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) IfNode(GLOBAL_DATA, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].statementNode).m_node), (yyvsp[(5) - (5)].statementNode).m_varDeclarations, (yyvsp[(5) - (5)].statementNode).m_funcDeclarations, (yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].statementNode).m_features, (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].statementNode).m_numConstants);
setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (5)]), (yylsp[(4) - (5)])); ;}
break;
case 242:
+
+/* Line 1455 of yacc.c */
#line 967 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) IfElseNode(GLOBAL_DATA, (yyvsp[(3) - (7)].expressionNode).m_node, (yyvsp[(5) - (7)].statementNode).m_node, (yyvsp[(7) - (7)].statementNode).m_node),
mergeDeclarationLists((yyvsp[(5) - (7)].statementNode).m_varDeclarations, (yyvsp[(7) - (7)].statementNode).m_varDeclarations),
@@ -4041,24 +4343,32 @@ yyreduce:
break;
case 243:
+
+/* Line 1455 of yacc.c */
#line 976 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) DoWhileNode(GLOBAL_DATA, (yyvsp[(2) - (7)].statementNode).m_node, (yyvsp[(5) - (7)].expressionNode).m_node), (yyvsp[(2) - (7)].statementNode).m_varDeclarations, (yyvsp[(2) - (7)].statementNode).m_funcDeclarations, (yyvsp[(2) - (7)].statementNode).m_features | (yyvsp[(5) - (7)].expressionNode).m_features, (yyvsp[(2) - (7)].statementNode).m_numConstants + (yyvsp[(5) - (7)].expressionNode).m_numConstants);
setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (7)]), (yylsp[(3) - (7)])); ;}
break;
case 244:
+
+/* Line 1455 of yacc.c */
#line 978 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) DoWhileNode(GLOBAL_DATA, (yyvsp[(2) - (7)].statementNode).m_node, (yyvsp[(5) - (7)].expressionNode).m_node), (yyvsp[(2) - (7)].statementNode).m_varDeclarations, (yyvsp[(2) - (7)].statementNode).m_funcDeclarations, (yyvsp[(2) - (7)].statementNode).m_features | (yyvsp[(5) - (7)].expressionNode).m_features, (yyvsp[(2) - (7)].statementNode).m_numConstants + (yyvsp[(5) - (7)].expressionNode).m_numConstants);
setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (7)]), (yylsp[(3) - (7)])); ;}
break;
case 245:
+
+/* Line 1455 of yacc.c */
#line 980 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) WhileNode(GLOBAL_DATA, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].statementNode).m_node), (yyvsp[(5) - (5)].statementNode).m_varDeclarations, (yyvsp[(5) - (5)].statementNode).m_funcDeclarations, (yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].statementNode).m_features, (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].statementNode).m_numConstants);
setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (5)]), (yylsp[(4) - (5)])); ;}
break;
case 246:
+
+/* Line 1455 of yacc.c */
#line 983 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) ForNode(GLOBAL_DATA, (yyvsp[(3) - (9)].expressionNode).m_node, (yyvsp[(5) - (9)].expressionNode).m_node, (yyvsp[(7) - (9)].expressionNode).m_node, (yyvsp[(9) - (9)].statementNode).m_node, false), (yyvsp[(9) - (9)].statementNode).m_varDeclarations, (yyvsp[(9) - (9)].statementNode).m_funcDeclarations,
(yyvsp[(3) - (9)].expressionNode).m_features | (yyvsp[(5) - (9)].expressionNode).m_features | (yyvsp[(7) - (9)].expressionNode).m_features | (yyvsp[(9) - (9)].statementNode).m_features,
@@ -4068,6 +4378,8 @@ yyreduce:
break;
case 247:
+
+/* Line 1455 of yacc.c */
#line 989 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) ForNode(GLOBAL_DATA, (yyvsp[(4) - (10)].varDeclList).m_node, (yyvsp[(6) - (10)].expressionNode).m_node, (yyvsp[(8) - (10)].expressionNode).m_node, (yyvsp[(10) - (10)].statementNode).m_node, true),
mergeDeclarationLists((yyvsp[(4) - (10)].varDeclList).m_varDeclarations, (yyvsp[(10) - (10)].statementNode).m_varDeclarations),
@@ -4078,6 +4390,8 @@ yyreduce:
break;
case 248:
+
+/* Line 1455 of yacc.c */
#line 996 "../../JavaScriptCore/parser/Grammar.y"
{
ForInNode* node = new (GLOBAL_DATA) ForInNode(GLOBAL_DATA, (yyvsp[(3) - (7)].expressionNode).m_node, (yyvsp[(5) - (7)].expressionNode).m_node, (yyvsp[(7) - (7)].statementNode).m_node);
@@ -4090,6 +4404,8 @@ yyreduce:
break;
case 249:
+
+/* Line 1455 of yacc.c */
#line 1005 "../../JavaScriptCore/parser/Grammar.y"
{ ForInNode *forIn = new (GLOBAL_DATA) ForInNode(GLOBAL_DATA, *(yyvsp[(4) - (8)].ident), 0, (yyvsp[(6) - (8)].expressionNode).m_node, (yyvsp[(8) - (8)].statementNode).m_node, (yylsp[(5) - (8)]).first_column, (yylsp[(5) - (8)]).first_column - (yylsp[(4) - (8)]).first_column, (yylsp[(6) - (8)]).last_column - (yylsp[(5) - (8)]).first_column);
setExceptionLocation(forIn, (yylsp[(4) - (8)]).first_column, (yylsp[(5) - (8)]).first_column + 1, (yylsp[(6) - (8)]).last_column);
@@ -4099,6 +4415,8 @@ yyreduce:
break;
case 250:
+
+/* Line 1455 of yacc.c */
#line 1011 "../../JavaScriptCore/parser/Grammar.y"
{ ForInNode *forIn = new (GLOBAL_DATA) ForInNode(GLOBAL_DATA, *(yyvsp[(4) - (9)].ident), (yyvsp[(5) - (9)].expressionNode).m_node, (yyvsp[(7) - (9)].expressionNode).m_node, (yyvsp[(9) - (9)].statementNode).m_node, (yylsp[(5) - (9)]).first_column, (yylsp[(5) - (9)]).first_column - (yylsp[(4) - (9)]).first_column, (yylsp[(5) - (9)]).last_column - (yylsp[(5) - (9)]).first_column);
setExceptionLocation(forIn, (yylsp[(4) - (9)]).first_column, (yylsp[(6) - (9)]).first_column + 1, (yylsp[(7) - (9)]).last_column);
@@ -4110,16 +4428,22 @@ yyreduce:
break;
case 251:
+
+/* Line 1455 of yacc.c */
#line 1021 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(0, 0, 0); ;}
break;
case 253:
+
+/* Line 1455 of yacc.c */
#line 1026 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(0, 0, 0); ;}
break;
case 255:
+
+/* Line 1455 of yacc.c */
#line 1031 "../../JavaScriptCore/parser/Grammar.y"
{ ContinueNode* node = new (GLOBAL_DATA) ContinueNode(GLOBAL_DATA);
setExceptionLocation(node, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(1) - (2)]).last_column);
@@ -4128,6 +4452,8 @@ yyreduce:
break;
case 256:
+
+/* Line 1455 of yacc.c */
#line 1035 "../../JavaScriptCore/parser/Grammar.y"
{ ContinueNode* node = new (GLOBAL_DATA) ContinueNode(GLOBAL_DATA);
setExceptionLocation(node, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(1) - (2)]).last_column);
@@ -4136,6 +4462,8 @@ yyreduce:
break;
case 257:
+
+/* Line 1455 of yacc.c */
#line 1039 "../../JavaScriptCore/parser/Grammar.y"
{ ContinueNode* node = new (GLOBAL_DATA) ContinueNode(GLOBAL_DATA, *(yyvsp[(2) - (3)].ident));
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
@@ -4144,6 +4472,8 @@ yyreduce:
break;
case 258:
+
+/* Line 1455 of yacc.c */
#line 1043 "../../JavaScriptCore/parser/Grammar.y"
{ ContinueNode* node = new (GLOBAL_DATA) ContinueNode(GLOBAL_DATA, *(yyvsp[(2) - (3)].ident));
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
@@ -4152,6 +4482,8 @@ yyreduce:
break;
case 259:
+
+/* Line 1455 of yacc.c */
#line 1050 "../../JavaScriptCore/parser/Grammar.y"
{ BreakNode* node = new (GLOBAL_DATA) BreakNode(GLOBAL_DATA);
setExceptionLocation(node, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(1) - (2)]).last_column);
@@ -4159,6 +4491,8 @@ yyreduce:
break;
case 260:
+
+/* Line 1455 of yacc.c */
#line 1053 "../../JavaScriptCore/parser/Grammar.y"
{ BreakNode* node = new (GLOBAL_DATA) BreakNode(GLOBAL_DATA);
setExceptionLocation(node, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(1) - (2)]).last_column);
@@ -4166,6 +4500,8 @@ yyreduce:
break;
case 261:
+
+/* Line 1455 of yacc.c */
#line 1056 "../../JavaScriptCore/parser/Grammar.y"
{ BreakNode* node = new (GLOBAL_DATA) BreakNode(GLOBAL_DATA, *(yyvsp[(2) - (3)].ident));
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
@@ -4173,6 +4509,8 @@ yyreduce:
break;
case 262:
+
+/* Line 1455 of yacc.c */
#line 1059 "../../JavaScriptCore/parser/Grammar.y"
{ BreakNode* node = new (GLOBAL_DATA) BreakNode(GLOBAL_DATA, *(yyvsp[(2) - (3)].ident));
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
@@ -4180,6 +4518,8 @@ yyreduce:
break;
case 263:
+
+/* Line 1455 of yacc.c */
#line 1065 "../../JavaScriptCore/parser/Grammar.y"
{ ReturnNode* node = new (GLOBAL_DATA) ReturnNode(GLOBAL_DATA, 0);
setExceptionLocation(node, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(1) - (2)]).last_column);
@@ -4187,6 +4527,8 @@ yyreduce:
break;
case 264:
+
+/* Line 1455 of yacc.c */
#line 1068 "../../JavaScriptCore/parser/Grammar.y"
{ ReturnNode* node = new (GLOBAL_DATA) ReturnNode(GLOBAL_DATA, 0);
setExceptionLocation(node, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(1) - (2)]).last_column);
@@ -4194,6 +4536,8 @@ yyreduce:
break;
case 265:
+
+/* Line 1455 of yacc.c */
#line 1071 "../../JavaScriptCore/parser/Grammar.y"
{ ReturnNode* node = new (GLOBAL_DATA) ReturnNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node);
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
@@ -4201,6 +4545,8 @@ yyreduce:
break;
case 266:
+
+/* Line 1455 of yacc.c */
#line 1074 "../../JavaScriptCore/parser/Grammar.y"
{ ReturnNode* node = new (GLOBAL_DATA) ReturnNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node);
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
@@ -4208,6 +4554,8 @@ yyreduce:
break;
case 267:
+
+/* Line 1455 of yacc.c */
#line 1080 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) WithNode(GLOBAL_DATA, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].statementNode).m_node, (yylsp[(3) - (5)]).last_column, (yylsp[(3) - (5)]).last_column - (yylsp[(3) - (5)]).first_column),
(yyvsp[(5) - (5)].statementNode).m_varDeclarations, (yyvsp[(5) - (5)].statementNode).m_funcDeclarations, (yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].statementNode).m_features | WithFeature, (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].statementNode).m_numConstants);
@@ -4215,6 +4563,8 @@ yyreduce:
break;
case 268:
+
+/* Line 1455 of yacc.c */
#line 1086 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) SwitchNode(GLOBAL_DATA, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].caseBlockNode).m_node), (yyvsp[(5) - (5)].caseBlockNode).m_varDeclarations, (yyvsp[(5) - (5)].caseBlockNode).m_funcDeclarations,
(yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].caseBlockNode).m_features, (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].caseBlockNode).m_numConstants);
@@ -4222,11 +4572,15 @@ yyreduce:
break;
case 269:
+
+/* Line 1455 of yacc.c */
#line 1092 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.caseBlockNode) = createNodeDeclarationInfo<CaseBlockNode*>(new (GLOBAL_DATA) CaseBlockNode(GLOBAL_DATA, (yyvsp[(2) - (3)].clauseList).m_node.head, 0, 0), (yyvsp[(2) - (3)].clauseList).m_varDeclarations, (yyvsp[(2) - (3)].clauseList).m_funcDeclarations, (yyvsp[(2) - (3)].clauseList).m_features, (yyvsp[(2) - (3)].clauseList).m_numConstants); ;}
break;
case 270:
+
+/* Line 1455 of yacc.c */
#line 1094 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.caseBlockNode) = createNodeDeclarationInfo<CaseBlockNode*>(new (GLOBAL_DATA) CaseBlockNode(GLOBAL_DATA, (yyvsp[(2) - (5)].clauseList).m_node.head, (yyvsp[(3) - (5)].caseClauseNode).m_node, (yyvsp[(4) - (5)].clauseList).m_node.head),
mergeDeclarationLists(mergeDeclarationLists((yyvsp[(2) - (5)].clauseList).m_varDeclarations, (yyvsp[(3) - (5)].caseClauseNode).m_varDeclarations), (yyvsp[(4) - (5)].clauseList).m_varDeclarations),
@@ -4236,11 +4590,15 @@ yyreduce:
break;
case 271:
+
+/* Line 1455 of yacc.c */
#line 1102 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.clauseList).m_node.head = 0; (yyval.clauseList).m_node.tail = 0; (yyval.clauseList).m_varDeclarations = 0; (yyval.clauseList).m_funcDeclarations = 0; (yyval.clauseList).m_features = 0; (yyval.clauseList).m_numConstants = 0; ;}
break;
case 273:
+
+/* Line 1455 of yacc.c */
#line 1107 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.clauseList).m_node.head = new (GLOBAL_DATA) ClauseListNode(GLOBAL_DATA, (yyvsp[(1) - (1)].caseClauseNode).m_node);
(yyval.clauseList).m_node.tail = (yyval.clauseList).m_node.head;
@@ -4251,6 +4609,8 @@ yyreduce:
break;
case 274:
+
+/* Line 1455 of yacc.c */
#line 1113 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.clauseList).m_node.head = (yyvsp[(1) - (2)].clauseList).m_node.head;
(yyval.clauseList).m_node.tail = new (GLOBAL_DATA) ClauseListNode(GLOBAL_DATA, (yyvsp[(1) - (2)].clauseList).m_node.tail, (yyvsp[(2) - (2)].caseClauseNode).m_node);
@@ -4262,26 +4622,36 @@ yyreduce:
break;
case 275:
+
+/* Line 1455 of yacc.c */
#line 1123 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.caseClauseNode) = createNodeDeclarationInfo<CaseClauseNode*>(new (GLOBAL_DATA) CaseClauseNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node), 0, 0, (yyvsp[(2) - (3)].expressionNode).m_features, (yyvsp[(2) - (3)].expressionNode).m_numConstants); ;}
break;
case 276:
+
+/* Line 1455 of yacc.c */
#line 1124 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.caseClauseNode) = createNodeDeclarationInfo<CaseClauseNode*>(new (GLOBAL_DATA) CaseClauseNode(GLOBAL_DATA, (yyvsp[(2) - (4)].expressionNode).m_node, (yyvsp[(4) - (4)].sourceElements).m_node), (yyvsp[(4) - (4)].sourceElements).m_varDeclarations, (yyvsp[(4) - (4)].sourceElements).m_funcDeclarations, (yyvsp[(2) - (4)].expressionNode).m_features | (yyvsp[(4) - (4)].sourceElements).m_features, (yyvsp[(2) - (4)].expressionNode).m_numConstants + (yyvsp[(4) - (4)].sourceElements).m_numConstants); ;}
break;
case 277:
+
+/* Line 1455 of yacc.c */
#line 1128 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.caseClauseNode) = createNodeDeclarationInfo<CaseClauseNode*>(new (GLOBAL_DATA) CaseClauseNode(GLOBAL_DATA, 0), 0, 0, 0, 0); ;}
break;
case 278:
+
+/* Line 1455 of yacc.c */
#line 1129 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.caseClauseNode) = createNodeDeclarationInfo<CaseClauseNode*>(new (GLOBAL_DATA) CaseClauseNode(GLOBAL_DATA, 0, (yyvsp[(3) - (3)].sourceElements).m_node), (yyvsp[(3) - (3)].sourceElements).m_varDeclarations, (yyvsp[(3) - (3)].sourceElements).m_funcDeclarations, (yyvsp[(3) - (3)].sourceElements).m_features, (yyvsp[(3) - (3)].sourceElements).m_numConstants); ;}
break;
case 279:
+
+/* Line 1455 of yacc.c */
#line 1133 "../../JavaScriptCore/parser/Grammar.y"
{ LabelNode* node = new (GLOBAL_DATA) LabelNode(GLOBAL_DATA, *(yyvsp[(1) - (3)].ident), (yyvsp[(3) - (3)].statementNode).m_node);
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
@@ -4289,6 +4659,8 @@ yyreduce:
break;
case 280:
+
+/* Line 1455 of yacc.c */
#line 1139 "../../JavaScriptCore/parser/Grammar.y"
{ ThrowNode* node = new (GLOBAL_DATA) ThrowNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node);
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
@@ -4297,6 +4669,8 @@ yyreduce:
break;
case 281:
+
+/* Line 1455 of yacc.c */
#line 1143 "../../JavaScriptCore/parser/Grammar.y"
{ ThrowNode* node = new (GLOBAL_DATA) ThrowNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node);
setExceptionLocation(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
@@ -4305,6 +4679,8 @@ yyreduce:
break;
case 282:
+
+/* Line 1455 of yacc.c */
#line 1150 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) TryNode(GLOBAL_DATA, (yyvsp[(2) - (4)].statementNode).m_node, GLOBAL_DATA->propertyNames->nullIdentifier, false, 0, (yyvsp[(4) - (4)].statementNode).m_node),
mergeDeclarationLists((yyvsp[(2) - (4)].statementNode).m_varDeclarations, (yyvsp[(4) - (4)].statementNode).m_varDeclarations),
@@ -4315,6 +4691,8 @@ yyreduce:
break;
case 283:
+
+/* Line 1455 of yacc.c */
#line 1156 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) TryNode(GLOBAL_DATA, (yyvsp[(2) - (7)].statementNode).m_node, *(yyvsp[(5) - (7)].ident), ((yyvsp[(7) - (7)].statementNode).m_features & EvalFeature) != 0, (yyvsp[(7) - (7)].statementNode).m_node, 0),
mergeDeclarationLists((yyvsp[(2) - (7)].statementNode).m_varDeclarations, (yyvsp[(7) - (7)].statementNode).m_varDeclarations),
@@ -4325,6 +4703,8 @@ yyreduce:
break;
case 284:
+
+/* Line 1455 of yacc.c */
#line 1163 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) TryNode(GLOBAL_DATA, (yyvsp[(2) - (9)].statementNode).m_node, *(yyvsp[(5) - (9)].ident), ((yyvsp[(7) - (9)].statementNode).m_features & EvalFeature) != 0, (yyvsp[(7) - (9)].statementNode).m_node, (yyvsp[(9) - (9)].statementNode).m_node),
mergeDeclarationLists(mergeDeclarationLists((yyvsp[(2) - (9)].statementNode).m_varDeclarations, (yyvsp[(7) - (9)].statementNode).m_varDeclarations), (yyvsp[(9) - (9)].statementNode).m_varDeclarations),
@@ -4335,23 +4715,31 @@ yyreduce:
break;
case 285:
+
+/* Line 1455 of yacc.c */
#line 1172 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) DebuggerStatementNode(GLOBAL_DATA), 0, 0, 0, 0);
setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(2) - (2)])); ;}
break;
case 286:
+
+/* Line 1455 of yacc.c */
#line 1174 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) DebuggerStatementNode(GLOBAL_DATA), 0, 0, 0, 0);
setStatementLocation((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(1) - (2)])); AUTO_SEMICOLON; ;}
break;
case 287:
+
+/* Line 1455 of yacc.c */
#line 1179 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) FuncDeclNode(GLOBAL_DATA, *(yyvsp[(2) - (7)].ident), (yyvsp[(6) - (7)].functionBodyNode), GLOBAL_DATA->lexer->sourceCode((yyvsp[(5) - (7)].intValue), (yyvsp[(7) - (7)].intValue), (yylsp[(5) - (7)]).first_line)), 0, new (GLOBAL_DATA) ParserArenaData<DeclarationStacks::FunctionStack>, ((*(yyvsp[(2) - (7)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0) | ClosureFeature, 0); setStatementLocation((yyvsp[(6) - (7)].functionBodyNode), (yylsp[(5) - (7)]), (yylsp[(7) - (7)])); (yyval.statementNode).m_funcDeclarations->data.append(static_cast<FuncDeclNode*>((yyval.statementNode).m_node)->body()); ;}
break;
case 288:
+
+/* Line 1455 of yacc.c */
#line 1181 "../../JavaScriptCore/parser/Grammar.y"
{
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) FuncDeclNode(GLOBAL_DATA, *(yyvsp[(2) - (8)].ident), (yyvsp[(7) - (8)].functionBodyNode), GLOBAL_DATA->lexer->sourceCode((yyvsp[(6) - (8)].intValue), (yyvsp[(8) - (8)].intValue), (yylsp[(6) - (8)]).first_line), (yyvsp[(4) - (8)].parameterList).m_node.head), 0, new (GLOBAL_DATA) ParserArenaData<DeclarationStacks::FunctionStack>, ((*(yyvsp[(2) - (8)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0) | (yyvsp[(4) - (8)].parameterList).m_features | ClosureFeature, 0);
@@ -4363,11 +4751,15 @@ yyreduce:
break;
case 289:
+
+/* Line 1455 of yacc.c */
#line 1191 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.funcExprNode) = createNodeInfo(new (GLOBAL_DATA) FuncExprNode(GLOBAL_DATA, GLOBAL_DATA->propertyNames->nullIdentifier, (yyvsp[(5) - (6)].functionBodyNode), GLOBAL_DATA->lexer->sourceCode((yyvsp[(4) - (6)].intValue), (yyvsp[(6) - (6)].intValue), (yylsp[(4) - (6)]).first_line)), ClosureFeature, 0); setStatementLocation((yyvsp[(5) - (6)].functionBodyNode), (yylsp[(4) - (6)]), (yylsp[(6) - (6)])); ;}
break;
case 290:
+
+/* Line 1455 of yacc.c */
#line 1193 "../../JavaScriptCore/parser/Grammar.y"
{
(yyval.funcExprNode) = createNodeInfo(new (GLOBAL_DATA) FuncExprNode(GLOBAL_DATA, GLOBAL_DATA->propertyNames->nullIdentifier, (yyvsp[(6) - (7)].functionBodyNode), GLOBAL_DATA->lexer->sourceCode((yyvsp[(5) - (7)].intValue), (yyvsp[(7) - (7)].intValue), (yylsp[(5) - (7)]).first_line), (yyvsp[(3) - (7)].parameterList).m_node.head), (yyvsp[(3) - (7)].parameterList).m_features | ClosureFeature, 0);
@@ -4378,11 +4770,15 @@ yyreduce:
break;
case 291:
+
+/* Line 1455 of yacc.c */
#line 1199 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.funcExprNode) = createNodeInfo(new (GLOBAL_DATA) FuncExprNode(GLOBAL_DATA, *(yyvsp[(2) - (7)].ident), (yyvsp[(6) - (7)].functionBodyNode), GLOBAL_DATA->lexer->sourceCode((yyvsp[(5) - (7)].intValue), (yyvsp[(7) - (7)].intValue), (yylsp[(5) - (7)]).first_line)), ClosureFeature, 0); setStatementLocation((yyvsp[(6) - (7)].functionBodyNode), (yylsp[(5) - (7)]), (yylsp[(7) - (7)])); ;}
break;
case 292:
+
+/* Line 1455 of yacc.c */
#line 1201 "../../JavaScriptCore/parser/Grammar.y"
{
(yyval.funcExprNode) = createNodeInfo(new (GLOBAL_DATA) FuncExprNode(GLOBAL_DATA, *(yyvsp[(2) - (8)].ident), (yyvsp[(7) - (8)].functionBodyNode), GLOBAL_DATA->lexer->sourceCode((yyvsp[(6) - (8)].intValue), (yyvsp[(8) - (8)].intValue), (yylsp[(6) - (8)]).first_line), (yyvsp[(4) - (8)].parameterList).m_node.head), (yyvsp[(4) - (8)].parameterList).m_features | ClosureFeature, 0);
@@ -4393,6 +4789,8 @@ yyreduce:
break;
case 293:
+
+/* Line 1455 of yacc.c */
#line 1210 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.parameterList).m_node.head = new (GLOBAL_DATA) ParameterNode(GLOBAL_DATA, *(yyvsp[(1) - (1)].ident));
(yyval.parameterList).m_features = (*(yyvsp[(1) - (1)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0;
@@ -4400,6 +4798,8 @@ yyreduce:
break;
case 294:
+
+/* Line 1455 of yacc.c */
#line 1213 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.parameterList).m_node.head = (yyvsp[(1) - (3)].parameterList).m_node.head;
(yyval.parameterList).m_features = (yyvsp[(1) - (3)].parameterList).m_features | ((*(yyvsp[(3) - (3)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0);
@@ -4407,27 +4807,37 @@ yyreduce:
break;
case 295:
+
+/* Line 1455 of yacc.c */
#line 1219 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.functionBodyNode) = FunctionBodyNode::create(GLOBAL_DATA); ;}
break;
case 296:
+
+/* Line 1455 of yacc.c */
#line 1220 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.functionBodyNode) = FunctionBodyNode::create(GLOBAL_DATA); ;}
break;
case 297:
+
+/* Line 1455 of yacc.c */
#line 1224 "../../JavaScriptCore/parser/Grammar.y"
{ GLOBAL_DATA->parser->didFinishParsing(new (GLOBAL_DATA) SourceElements(GLOBAL_DATA), 0, 0, NoFeatures, (yylsp[(0) - (0)]).last_line, 0); ;}
break;
case 298:
+
+/* Line 1455 of yacc.c */
#line 1225 "../../JavaScriptCore/parser/Grammar.y"
{ GLOBAL_DATA->parser->didFinishParsing((yyvsp[(1) - (1)].sourceElements).m_node, (yyvsp[(1) - (1)].sourceElements).m_varDeclarations, (yyvsp[(1) - (1)].sourceElements).m_funcDeclarations, (yyvsp[(1) - (1)].sourceElements).m_features,
(yylsp[(1) - (1)]).last_line, (yyvsp[(1) - (1)].sourceElements).m_numConstants); ;}
break;
case 299:
+
+/* Line 1455 of yacc.c */
#line 1230 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.sourceElements).m_node = new (GLOBAL_DATA) SourceElements(GLOBAL_DATA);
(yyval.sourceElements).m_node->append((yyvsp[(1) - (1)].statementNode).m_node);
@@ -4439,6 +4849,8 @@ yyreduce:
break;
case 300:
+
+/* Line 1455 of yacc.c */
#line 1237 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.sourceElements).m_node->append((yyvsp[(2) - (2)].statementNode).m_node);
(yyval.sourceElements).m_varDeclarations = mergeDeclarationLists((yyvsp[(1) - (2)].sourceElements).m_varDeclarations, (yyvsp[(2) - (2)].statementNode).m_varDeclarations);
@@ -4449,188 +4861,261 @@ yyreduce:
break;
case 304:
+
+/* Line 1455 of yacc.c */
#line 1251 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 305:
+
+/* Line 1455 of yacc.c */
#line 1252 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 306:
+
+/* Line 1455 of yacc.c */
#line 1253 "../../JavaScriptCore/parser/Grammar.y"
{ if (!GLOBAL_DATA->lexer->skipRegExp()) YYABORT; ;}
break;
case 307:
+
+/* Line 1455 of yacc.c */
#line 1254 "../../JavaScriptCore/parser/Grammar.y"
{ if (!GLOBAL_DATA->lexer->skipRegExp()) YYABORT; ;}
break;
case 308:
+
+/* Line 1455 of yacc.c */
#line 1258 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 309:
+
+/* Line 1455 of yacc.c */
#line 1259 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 310:
+
+/* Line 1455 of yacc.c */
#line 1260 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 311:
+
+/* Line 1455 of yacc.c */
#line 1261 "../../JavaScriptCore/parser/Grammar.y"
{ if (*(yyvsp[(1) - (7)].ident) != "get" && *(yyvsp[(1) - (7)].ident) != "set") YYABORT; ;}
break;
case 312:
+
+/* Line 1455 of yacc.c */
#line 1262 "../../JavaScriptCore/parser/Grammar.y"
{ if (*(yyvsp[(1) - (8)].ident) != "get" && *(yyvsp[(1) - (8)].ident) != "set") YYABORT; ;}
break;
case 316:
+
+/* Line 1455 of yacc.c */
#line 1272 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 317:
+
+/* Line 1455 of yacc.c */
#line 1273 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 318:
+
+/* Line 1455 of yacc.c */
#line 1275 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 322:
+
+/* Line 1455 of yacc.c */
#line 1282 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 517:
+
+/* Line 1455 of yacc.c */
#line 1650 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 518:
+
+/* Line 1455 of yacc.c */
#line 1651 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 520:
+
+/* Line 1455 of yacc.c */
#line 1656 "../../JavaScriptCore/parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 521:
+
+/* Line 1455 of yacc.c */
#line 1660 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 522:
+
+/* Line 1455 of yacc.c */
#line 1661 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 525:
+
+/* Line 1455 of yacc.c */
#line 1667 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 526:
+
+/* Line 1455 of yacc.c */
#line 1668 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 530:
+
+/* Line 1455 of yacc.c */
#line 1675 "../../JavaScriptCore/parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 533:
+
+/* Line 1455 of yacc.c */
#line 1684 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 534:
+
+/* Line 1455 of yacc.c */
#line 1685 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 539:
+
+/* Line 1455 of yacc.c */
#line 1702 "../../JavaScriptCore/parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 555:
+
+/* Line 1455 of yacc.c */
#line 1733 "../../JavaScriptCore/parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 557:
+
+/* Line 1455 of yacc.c */
#line 1735 "../../JavaScriptCore/parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 559:
+
+/* Line 1455 of yacc.c */
#line 1740 "../../JavaScriptCore/parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 561:
+
+/* Line 1455 of yacc.c */
#line 1742 "../../JavaScriptCore/parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 563:
+
+/* Line 1455 of yacc.c */
#line 1747 "../../JavaScriptCore/parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 565:
+
+/* Line 1455 of yacc.c */
#line 1749 "../../JavaScriptCore/parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 568:
+
+/* Line 1455 of yacc.c */
#line 1761 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 569:
+
+/* Line 1455 of yacc.c */
#line 1762 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 578:
+
+/* Line 1455 of yacc.c */
#line 1786 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 580:
+
+/* Line 1455 of yacc.c */
#line 1791 "../../JavaScriptCore/parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 585:
+
+/* Line 1455 of yacc.c */
#line 1802 "../../JavaScriptCore/parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 592:
+
+/* Line 1455 of yacc.c */
#line 1818 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
-/* Line 1267 of yacc.c. */
-#line 4634 "WebCore/tmp/../generated/Grammar.tab.c"
+
+/* Line 1455 of yacc.c */
+#line 5119 "WebCore/tmp/../generated/Grammar.tab.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -4706,7 +5191,7 @@ yyerrlab:
if (yyerrstatus == 3)
{
- /* If just tried and failed to reuse look-ahead token after an
+ /* If just tried and failed to reuse lookahead token after an
error, discard it. */
if (yychar <= YYEOF)
@@ -4723,7 +5208,7 @@ yyerrlab:
}
}
- /* Else will try to reuse look-ahead token after shifting the error
+ /* Else will try to reuse lookahead token after shifting the error
token. */
goto yyerrlab1;
@@ -4781,14 +5266,11 @@ yyerrlab1:
YY_STACK_PRINT (yyss, yyssp);
}
- if (yyn == YYFINAL)
- YYACCEPT;
-
*++yyvsp = yylval;
yyerror_range[1] = yylloc;
/* Using YYLLOC is tempting, but would change the location of
- the look-ahead. YYLOC is available though. */
+ the lookahead. YYLOC is available though. */
YYLLOC_DEFAULT (yyloc, (yyerror_range - 1), 2);
*++yylsp = yyloc;
@@ -4813,7 +5295,7 @@ yyabortlab:
yyresult = 1;
goto yyreturn;
-#ifndef yyoverflow
+#if !defined(yyoverflow) || YYERROR_VERBOSE
/*-------------------------------------------------.
| yyexhaustedlab -- memory exhaustion comes here. |
`-------------------------------------------------*/
@@ -4824,7 +5306,7 @@ yyexhaustedlab:
#endif
yyreturn:
- if (yychar != YYEOF && yychar != YYEMPTY)
+ if (yychar != YYEMPTY)
yydestruct ("Cleanup: discarding lookahead",
yytoken, &yylval, &yylloc);
/* Do not reclaim the symbols of the rule which action triggered
@@ -4850,6 +5332,8 @@ yyreturn:
}
+
+/* Line 1675 of yacc.c */
#line 1834 "../../JavaScriptCore/parser/Grammar.y"
diff --git a/src/3rdparty/webkit/WebCore/generated/Grammar.h b/src/3rdparty/webkit/WebCore/generated/Grammar.h
index 63b66ce..e555cfb 100644
--- a/src/3rdparty/webkit/WebCore/generated/Grammar.h
+++ b/src/3rdparty/webkit/WebCore/generated/Grammar.h
@@ -1,24 +1,23 @@
-/* A Bison parser, made by GNU Bison 2.3. */
-/* Skeleton interface for Bison's Yacc-like parsers in C
+/* A Bison parser, made by GNU Bison 2.4.1. */
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+/* Skeleton interface for Bison's Yacc-like parsers in C
+
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
+
+ This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
This program 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 General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA. */
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
@@ -29,10 +28,11 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
+
/* Tokens. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
@@ -104,78 +104,16 @@
AUTOMINUSMINUS = 320
};
#endif
-/* Tokens. */
-#define NULLTOKEN 258
-#define TRUETOKEN 259
-#define FALSETOKEN 260
-#define BREAK 261
-#define CASE 262
-#define DEFAULT 263
-#define FOR 264
-#define NEW 265
-#define VAR 266
-#define CONSTTOKEN 267
-#define CONTINUE 268
-#define FUNCTION 269
-#define RETURN 270
-#define VOIDTOKEN 271
-#define DELETETOKEN 272
-#define IF 273
-#define THISTOKEN 274
-#define DO 275
-#define WHILE 276
-#define INTOKEN 277
-#define INSTANCEOF 278
-#define TYPEOF 279
-#define SWITCH 280
-#define WITH 281
-#define RESERVED 282
-#define THROW 283
-#define TRY 284
-#define CATCH 285
-#define FINALLY 286
-#define DEBUGGER 287
-#define IF_WITHOUT_ELSE 288
-#define ELSE 289
-#define EQEQ 290
-#define NE 291
-#define STREQ 292
-#define STRNEQ 293
-#define LE 294
-#define GE 295
-#define OR 296
-#define AND 297
-#define PLUSPLUS 298
-#define MINUSMINUS 299
-#define LSHIFT 300
-#define RSHIFT 301
-#define URSHIFT 302
-#define PLUSEQUAL 303
-#define MINUSEQUAL 304
-#define MULTEQUAL 305
-#define DIVEQUAL 306
-#define LSHIFTEQUAL 307
-#define RSHIFTEQUAL 308
-#define URSHIFTEQUAL 309
-#define ANDEQUAL 310
-#define MODEQUAL 311
-#define XOREQUAL 312
-#define OREQUAL 313
-#define OPENBRACE 314
-#define CLOSEBRACE 315
-#define NUMBER 316
-#define IDENT 317
-#define STRING 318
-#define AUTOPLUSPLUS 319
-#define AUTOMINUSMINUS 320
-
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
-#line 146 "../../JavaScriptCore/parser/Grammar.y"
{
+
+/* Line 1676 of yacc.c */
+#line 146 "../../JavaScriptCore/parser/Grammar.y"
+
int intValue;
double doubleValue;
const Identifier* ident;
@@ -205,13 +143,15 @@ typedef union YYSTYPE
ParameterListInfo parameterList;
Operator op;
-}
-/* Line 1489 of yacc.c. */
-#line 211 "WebCore/tmp/../generated/Grammar.tab.h"
- YYSTYPE;
+
+
+
+/* Line 1676 of yacc.c */
+#line 151 "WebCore/tmp/../generated/Grammar.tab.h"
+} YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
#endif
@@ -230,3 +170,4 @@ typedef struct YYLTYPE
#endif
+
diff --git a/src/3rdparty/webkit/WebCore/generated/JSInspectorBackend.cpp b/src/3rdparty/webkit/WebCore/generated/JSInspectorBackend.cpp
index f72baaa..bea3845 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSInspectorBackend.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSInspectorBackend.cpp
@@ -99,7 +99,7 @@ bool JSInspectorBackendConstructor::getOwnPropertyDescriptor(ExecState* exec, co
/* Hash table for prototype */
-static const HashTableValue JSInspectorBackendPrototypeTableValues[77] =
+static const HashTableValue JSInspectorBackendPrototypeTableValues[78] =
{
{ "hideDOMNodeHighlight", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionHideDOMNodeHighlight, (intptr_t)0 },
{ "highlightDOMNode", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionHighlightDOMNode, (intptr_t)1 },
@@ -122,6 +122,7 @@ static const HashTableValue JSInspectorBackendPrototypeTableValues[77] =
{ "localizedStringsURL", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionLocalizedStringsURL, (intptr_t)0 },
{ "hiddenPanels", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionHiddenPanels, (intptr_t)0 },
{ "platform", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionPlatform, (intptr_t)0 },
+ { "port", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionPort, (intptr_t)0 },
{ "startTimelineProfiler", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionStartTimelineProfiler, (intptr_t)0 },
{ "stopTimelineProfiler", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionStopTimelineProfiler, (intptr_t)0 },
{ "timelineProfilerEnabled", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionTimelineProfilerEnabled, (intptr_t)0 },
@@ -493,6 +494,19 @@ JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionPlatform(ExecState* exe
return result;
}
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionPort(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.inherits(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+
+ JSC::JSValue result = jsString(exec, imp->port());
+ return result;
+}
+
JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionStartTimelineProfiler(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
UNUSED_PARAM(args);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSInspectorBackend.h b/src/3rdparty/webkit/WebCore/generated/JSInspectorBackend.h
index f4a1925..7c220dc 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSInspectorBackend.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSInspectorBackend.h
@@ -114,6 +114,7 @@ JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionInspectedWindow(JS
JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionLocalizedStringsURL(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionHiddenPanels(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionPlatform(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionPort(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionStartTimelineProfiler(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionStopTimelineProfiler(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionTimelineProfilerEnabled(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
diff --git a/src/3rdparty/webkit/WebCore/generated/XPathGrammar.cpp b/src/3rdparty/webkit/WebCore/generated/XPathGrammar.cpp
index 1120387..5f34852 100644
--- a/src/3rdparty/webkit/WebCore/generated/XPathGrammar.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/XPathGrammar.cpp
@@ -1,24 +1,23 @@
-/* A Bison parser, made by GNU Bison 2.3. */
-/* Skeleton implementation for Bison's Yacc-like parsers in C
+/* A Bison parser, made by GNU Bison 2.4.1. */
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+/* Skeleton implementation for Bison's Yacc-like parsers in C
+
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
+
+ This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
This program 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 General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA. */
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
@@ -29,7 +28,7 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
@@ -47,7 +46,7 @@
#define YYBISON 1
/* Bison version. */
-#define YYBISON_VERSION "2.3"
+#define YYBISON_VERSION "2.4.1"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@@ -55,69 +54,28 @@
/* Pure parsers. */
#define YYPURE 1
+/* Push parsers. */
+#define YYPUSH 0
+
+/* Pull parsers. */
+#define YYPULL 1
+
/* Using locations. */
#define YYLSP_NEEDED 0
/* Substitute the variable and function names. */
-#define yyparse xpathyyparse
-#define yylex xpathyylex
-#define yyerror xpathyyerror
-#define yylval xpathyylval
-#define yychar xpathyychar
-#define yydebug xpathyydebug
-#define yynerrs xpathyynerrs
-
-
-/* Tokens. */
-#ifndef YYTOKENTYPE
-# define YYTOKENTYPE
- /* Put the tokens into the symbol table, so that GDB and other debuggers
- know about them. */
- enum yytokentype {
- MULOP = 258,
- RELOP = 259,
- EQOP = 260,
- MINUS = 261,
- PLUS = 262,
- AND = 263,
- OR = 264,
- AXISNAME = 265,
- NODETYPE = 266,
- PI = 267,
- FUNCTIONNAME = 268,
- LITERAL = 269,
- VARIABLEREFERENCE = 270,
- NUMBER = 271,
- DOTDOT = 272,
- SLASHSLASH = 273,
- NAMETEST = 274,
- XPATH_ERROR = 275
- };
-#endif
-/* Tokens. */
-#define MULOP 258
-#define RELOP 259
-#define EQOP 260
-#define MINUS 261
-#define PLUS 262
-#define AND 263
-#define OR 264
-#define AXISNAME 265
-#define NODETYPE 266
-#define PI 267
-#define FUNCTIONNAME 268
-#define LITERAL 269
-#define VARIABLEREFERENCE 270
-#define NUMBER 271
-#define DOTDOT 272
-#define SLASHSLASH 273
-#define NAMETEST 274
-#define XPATH_ERROR 275
-
-
+#define yyparse xpathyyparse
+#define yylex xpathyylex
+#define yyerror xpathyyerror
+#define yylval xpathyylval
+#define yychar xpathyychar
+#define yydebug xpathyydebug
+#define yynerrs xpathyynerrs
/* Copy the first part of user declarations. */
+
+/* Line 189 of yacc.c */
#line 28 "../xml/XPathGrammar.y"
@@ -148,6 +106,9 @@ using namespace XPath;
+/* Line 189 of yacc.c */
+#line 111 "WebCore/tmp/../generated/XPathGrammar.tab.c"
+
/* Enabling traces. */
#ifndef YYDEBUG
# define YYDEBUG 0
@@ -166,10 +127,43 @@ using namespace XPath;
# define YYTOKEN_TABLE 0
#endif
+
+/* Tokens. */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ MULOP = 258,
+ RELOP = 259,
+ EQOP = 260,
+ MINUS = 261,
+ PLUS = 262,
+ AND = 263,
+ OR = 264,
+ AXISNAME = 265,
+ NODETYPE = 266,
+ PI = 267,
+ FUNCTIONNAME = 268,
+ LITERAL = 269,
+ VARIABLEREFERENCE = 270,
+ NUMBER = 271,
+ DOTDOT = 272,
+ SLASHSLASH = 273,
+ NAMETEST = 274,
+ XPATH_ERROR = 275
+ };
+#endif
+
+
+
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
-#line 60 "../xml/XPathGrammar.y"
{
+
+/* Line 214 of yacc.c */
+#line 60 "../xml/XPathGrammar.y"
+
Step::Axis axis;
Step::NodeTest* nodeTest;
NumericOp::Opcode numop;
@@ -180,18 +174,21 @@ typedef union YYSTYPE
Vector<Expression*>* argList;
Step* step;
LocationPath* locationPath;
-}
-/* Line 187 of yacc.c. */
-#line 186 "WebCore/tmp/../generated/XPathGrammar.tab.c"
- YYSTYPE;
+
+
+
+/* Line 214 of yacc.c */
+#line 182 "WebCore/tmp/../generated/XPathGrammar.tab.c"
+} YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
#endif
-
/* Copy the second part of user declarations. */
+
+/* Line 264 of yacc.c */
#line 73 "../xml/XPathGrammar.y"
@@ -200,8 +197,8 @@ static void xpathyyerror(const char*) { }
-/* Line 216 of yacc.c. */
-#line 205 "WebCore/tmp/../generated/XPathGrammar.tab.c"
+/* Line 264 of yacc.c */
+#line 202 "WebCore/tmp/../generated/XPathGrammar.tab.c"
#ifdef short
# undef short
@@ -276,14 +273,14 @@ typedef short int yytype_int16;
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static int
-YYID (int i)
+YYID (int yyi)
#else
static int
-YYID (i)
- int i;
+YYID (yyi)
+ int yyi;
#endif
{
- return i;
+ return yyi;
}
#endif
@@ -364,9 +361,9 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */
/* A type that is properly aligned for any stack member. */
union yyalloc
{
- yytype_int16 yyss;
- YYSTYPE yyvs;
- };
+ yytype_int16 yyss_alloc;
+ YYSTYPE yyvs_alloc;
+};
/* The size of the maximum gap between one aligned stack and the next. */
# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
@@ -400,12 +397,12 @@ union yyalloc
elements in the stack, and YYPTR gives the new location of the
stack. Advance YYPTR to a properly aligned location for the next
stack. */
-# define YYSTACK_RELOCATE(Stack) \
+# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
do \
{ \
YYSIZE_T yynewbytes; \
- YYCOPY (&yyptr->Stack, Stack, yysize); \
- Stack = &yyptr->Stack; \
+ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
+ Stack = &yyptr->Stack_alloc; \
yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
yyptr += yynewbytes / sizeof (*yyptr); \
} \
@@ -858,17 +855,20 @@ yy_symbol_print (yyoutput, yytype, yyvaluep)
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static void
-yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
+yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
#else
static void
-yy_stack_print (bottom, top)
- yytype_int16 *bottom;
- yytype_int16 *top;
+yy_stack_print (yybottom, yytop)
+ yytype_int16 *yybottom;
+ yytype_int16 *yytop;
#endif
{
YYFPRINTF (stderr, "Stack now");
- for (; bottom <= top; ++bottom)
- YYFPRINTF (stderr, " %d", *bottom);
+ for (; yybottom <= yytop; yybottom++)
+ {
+ int yybot = *yybottom;
+ YYFPRINTF (stderr, " %d", yybot);
+ }
YYFPRINTF (stderr, "\n");
}
@@ -902,11 +902,11 @@ yy_reduce_print (yyvsp, yyrule)
/* The symbols being reduced. */
for (yyi = 0; yyi < yynrhs; yyi++)
{
- fprintf (stderr, " $%d = ", yyi + 1);
+ YYFPRINTF (stderr, " $%d = ", yyi + 1);
yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
&(yyvsp[(yyi + 1) - (yynrhs)])
);
- fprintf (stderr, "\n");
+ YYFPRINTF (stderr, "\n");
}
}
@@ -1186,10 +1186,8 @@ yydestruct (yymsg, yytype, yyvaluep)
break;
}
}
-
/* Prevent warnings from -Wmissing-prototypes. */
-
#ifdef YYPARSE_PARAM
#if defined __STDC__ || defined __cplusplus
int yyparse (void *YYPARSE_PARAM);
@@ -1208,10 +1206,9 @@ int yyparse ();
-
-/*----------.
-| yyparse. |
-`----------*/
+/*-------------------------.
+| yyparse or yypush_parse. |
+`-------------------------*/
#ifdef YYPARSE_PARAM
#if (defined __STDC__ || defined __C99__FUNC__ \
@@ -1235,74 +1232,75 @@ yyparse ()
#endif
#endif
{
- /* The look-ahead symbol. */
+/* The lookahead symbol. */
int yychar;
-/* The semantic value of the look-ahead symbol. */
+/* The semantic value of the lookahead symbol. */
YYSTYPE yylval;
-/* Number of syntax errors so far. */
-int yynerrs;
-
- int yystate;
- int yyn;
- int yyresult;
- /* Number of tokens to shift before error messages enabled. */
- int yyerrstatus;
- /* Look-ahead token as an internal (translated) token number. */
- int yytoken = 0;
-#if YYERROR_VERBOSE
- /* Buffer for error messages, and its allocated size. */
- char yymsgbuf[128];
- char *yymsg = yymsgbuf;
- YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
-#endif
-
- /* Three stacks and their tools:
- `yyss': related to states,
- `yyvs': related to semantic values,
- `yyls': related to locations.
-
- Refer to the stacks thru separate pointers, to allow yyoverflow
- to reallocate them elsewhere. */
+ /* Number of syntax errors so far. */
+ int yynerrs;
- /* The state stack. */
- yytype_int16 yyssa[YYINITDEPTH];
- yytype_int16 *yyss = yyssa;
- yytype_int16 *yyssp;
+ int yystate;
+ /* Number of tokens to shift before error messages enabled. */
+ int yyerrstatus;
- /* The semantic value stack. */
- YYSTYPE yyvsa[YYINITDEPTH];
- YYSTYPE *yyvs = yyvsa;
- YYSTYPE *yyvsp;
+ /* The stacks and their tools:
+ `yyss': related to states.
+ `yyvs': related to semantic values.
+ Refer to the stacks thru separate pointers, to allow yyoverflow
+ to reallocate them elsewhere. */
+ /* The state stack. */
+ yytype_int16 yyssa[YYINITDEPTH];
+ yytype_int16 *yyss;
+ yytype_int16 *yyssp;
-#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
+ /* The semantic value stack. */
+ YYSTYPE yyvsa[YYINITDEPTH];
+ YYSTYPE *yyvs;
+ YYSTYPE *yyvsp;
- YYSIZE_T yystacksize = YYINITDEPTH;
+ YYSIZE_T yystacksize;
+ int yyn;
+ int yyresult;
+ /* Lookahead token as an internal (translated) token number. */
+ int yytoken;
/* The variables used to return semantic value and location from the
action routines. */
YYSTYPE yyval;
+#if YYERROR_VERBOSE
+ /* Buffer for error messages, and its allocated size. */
+ char yymsgbuf[128];
+ char *yymsg = yymsgbuf;
+ YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
+#endif
+
+#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
/* The number of symbols on the RHS of the reduced rule.
Keep to zero when no symbol should be popped. */
int yylen = 0;
+ yytoken = 0;
+ yyss = yyssa;
+ yyvs = yyvsa;
+ yystacksize = YYINITDEPTH;
+
YYDPRINTF ((stderr, "Starting parse\n"));
yystate = 0;
yyerrstatus = 0;
yynerrs = 0;
- yychar = YYEMPTY; /* Cause a token to be read. */
+ yychar = YYEMPTY; /* Cause a token to be read. */
/* Initialize stack pointers.
Waste one element of value and location stack
so that they stay on the same level as the state stack.
The wasted elements are never initialized. */
-
yyssp = yyss;
yyvsp = yyvs;
@@ -1332,7 +1330,6 @@ int yynerrs;
YYSTYPE *yyvs1 = yyvs;
yytype_int16 *yyss1 = yyss;
-
/* Each stack pointer address is followed by the size of the
data in use in that stack, in bytes. This used to be a
conditional around just the two extra args, but that might
@@ -1340,7 +1337,6 @@ int yynerrs;
yyoverflow (YY_("memory exhausted"),
&yyss1, yysize * sizeof (*yyssp),
&yyvs1, yysize * sizeof (*yyvsp),
-
&yystacksize);
yyss = yyss1;
@@ -1363,9 +1359,8 @@ int yynerrs;
(union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
if (! yyptr)
goto yyexhaustedlab;
- YYSTACK_RELOCATE (yyss);
- YYSTACK_RELOCATE (yyvs);
-
+ YYSTACK_RELOCATE (yyss_alloc, yyss);
+ YYSTACK_RELOCATE (yyvs_alloc, yyvs);
# undef YYSTACK_RELOCATE
if (yyss1 != yyssa)
YYSTACK_FREE (yyss1);
@@ -1376,7 +1371,6 @@ int yynerrs;
yyssp = yyss + yysize - 1;
yyvsp = yyvs + yysize - 1;
-
YYDPRINTF ((stderr, "Stack size increased to %lu\n",
(unsigned long int) yystacksize));
@@ -1386,6 +1380,9 @@ int yynerrs;
YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+ if (yystate == YYFINAL)
+ YYACCEPT;
+
goto yybackup;
/*-----------.
@@ -1394,16 +1391,16 @@ int yynerrs;
yybackup:
/* Do appropriate processing given the current state. Read a
- look-ahead token if we need one and don't already have one. */
+ lookahead token if we need one and don't already have one. */
- /* First try to decide what to do without reference to look-ahead token. */
+ /* First try to decide what to do without reference to lookahead token. */
yyn = yypact[yystate];
if (yyn == YYPACT_NINF)
goto yydefault;
- /* Not known => get a look-ahead token if don't already have one. */
+ /* Not known => get a lookahead token if don't already have one. */
- /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
+ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
if (yychar == YYEMPTY)
{
YYDPRINTF ((stderr, "Reading a token: "));
@@ -1435,20 +1432,16 @@ yybackup:
goto yyreduce;
}
- if (yyn == YYFINAL)
- YYACCEPT;
-
/* Count tokens shifted since error; after three, turn off error
status. */
if (yyerrstatus)
yyerrstatus--;
- /* Shift the look-ahead token. */
+ /* Shift the lookahead token. */
YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
- /* Discard the shifted token unless it is eof. */
- if (yychar != YYEOF)
- yychar = YYEMPTY;
+ /* Discard the shifted token. */
+ yychar = YYEMPTY;
yystate = yyn;
*++yyvsp = yylval;
@@ -1488,6 +1481,8 @@ yyreduce:
switch (yyn)
{
case 2:
+
+/* Line 1455 of yacc.c */
#line 122 "../xml/XPathGrammar.y"
{
PARSER->m_topExpr = (yyvsp[(1) - (1)].expr);
@@ -1495,6 +1490,8 @@ yyreduce:
break;
case 3:
+
+/* Line 1455 of yacc.c */
#line 129 "../xml/XPathGrammar.y"
{
(yyval.locationPath)->setAbsolute(false);
@@ -1502,6 +1499,8 @@ yyreduce:
break;
case 4:
+
+/* Line 1455 of yacc.c */
#line 134 "../xml/XPathGrammar.y"
{
(yyval.locationPath)->setAbsolute(true);
@@ -1509,6 +1508,8 @@ yyreduce:
break;
case 5:
+
+/* Line 1455 of yacc.c */
#line 141 "../xml/XPathGrammar.y"
{
(yyval.locationPath) = new LocationPath;
@@ -1517,6 +1518,8 @@ yyreduce:
break;
case 6:
+
+/* Line 1455 of yacc.c */
#line 147 "../xml/XPathGrammar.y"
{
(yyval.locationPath) = (yyvsp[(2) - (2)].locationPath);
@@ -1524,6 +1527,8 @@ yyreduce:
break;
case 7:
+
+/* Line 1455 of yacc.c */
#line 152 "../xml/XPathGrammar.y"
{
(yyval.locationPath) = (yyvsp[(2) - (2)].locationPath);
@@ -1533,6 +1538,8 @@ yyreduce:
break;
case 8:
+
+/* Line 1455 of yacc.c */
#line 161 "../xml/XPathGrammar.y"
{
(yyval.locationPath) = new LocationPath;
@@ -1543,6 +1550,8 @@ yyreduce:
break;
case 9:
+
+/* Line 1455 of yacc.c */
#line 169 "../xml/XPathGrammar.y"
{
(yyval.locationPath)->appendStep((yyvsp[(3) - (3)].step));
@@ -1551,6 +1560,8 @@ yyreduce:
break;
case 10:
+
+/* Line 1455 of yacc.c */
#line 175 "../xml/XPathGrammar.y"
{
(yyval.locationPath)->appendStep((yyvsp[(2) - (3)].step));
@@ -1561,6 +1572,8 @@ yyreduce:
break;
case 11:
+
+/* Line 1455 of yacc.c */
#line 185 "../xml/XPathGrammar.y"
{
if ((yyvsp[(2) - (2)].predList)) {
@@ -1574,6 +1587,8 @@ yyreduce:
break;
case 12:
+
+/* Line 1455 of yacc.c */
#line 196 "../xml/XPathGrammar.y"
{
String localName;
@@ -1594,6 +1609,8 @@ yyreduce:
break;
case 13:
+
+/* Line 1455 of yacc.c */
#line 214 "../xml/XPathGrammar.y"
{
if ((yyvsp[(3) - (3)].predList)) {
@@ -1607,6 +1624,8 @@ yyreduce:
break;
case 14:
+
+/* Line 1455 of yacc.c */
#line 225 "../xml/XPathGrammar.y"
{
String localName;
@@ -1627,6 +1646,8 @@ yyreduce:
break;
case 17:
+
+/* Line 1455 of yacc.c */
#line 249 "../xml/XPathGrammar.y"
{
(yyval.axis) = Step::AttributeAxis;
@@ -1634,6 +1655,8 @@ yyreduce:
break;
case 18:
+
+/* Line 1455 of yacc.c */
#line 256 "../xml/XPathGrammar.y"
{
if (*(yyvsp[(1) - (3)].str) == "node")
@@ -1649,6 +1672,8 @@ yyreduce:
break;
case 19:
+
+/* Line 1455 of yacc.c */
#line 269 "../xml/XPathGrammar.y"
{
(yyval.nodeTest) = new Step::NodeTest(Step::NodeTest::ProcessingInstructionNodeTest);
@@ -1658,6 +1683,8 @@ yyreduce:
break;
case 20:
+
+/* Line 1455 of yacc.c */
#line 276 "../xml/XPathGrammar.y"
{
(yyval.nodeTest) = new Step::NodeTest(Step::NodeTest::ProcessingInstructionNodeTest, (yyvsp[(3) - (4)].str)->stripWhiteSpace());
@@ -1668,6 +1695,8 @@ yyreduce:
break;
case 21:
+
+/* Line 1455 of yacc.c */
#line 286 "../xml/XPathGrammar.y"
{
(yyval.predList) = 0;
@@ -1675,6 +1704,8 @@ yyreduce:
break;
case 23:
+
+/* Line 1455 of yacc.c */
#line 295 "../xml/XPathGrammar.y"
{
(yyval.predList) = new Vector<Predicate*>;
@@ -1685,6 +1716,8 @@ yyreduce:
break;
case 24:
+
+/* Line 1455 of yacc.c */
#line 303 "../xml/XPathGrammar.y"
{
(yyval.predList)->append(new Predicate((yyvsp[(2) - (2)].expr)));
@@ -1693,6 +1726,8 @@ yyreduce:
break;
case 25:
+
+/* Line 1455 of yacc.c */
#line 311 "../xml/XPathGrammar.y"
{
(yyval.expr) = (yyvsp[(2) - (3)].expr);
@@ -1700,6 +1735,8 @@ yyreduce:
break;
case 26:
+
+/* Line 1455 of yacc.c */
#line 318 "../xml/XPathGrammar.y"
{
(yyval.step) = new Step(Step::DescendantOrSelfAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest));
@@ -1708,6 +1745,8 @@ yyreduce:
break;
case 27:
+
+/* Line 1455 of yacc.c */
#line 326 "../xml/XPathGrammar.y"
{
(yyval.step) = new Step(Step::SelfAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest));
@@ -1716,6 +1755,8 @@ yyreduce:
break;
case 28:
+
+/* Line 1455 of yacc.c */
#line 332 "../xml/XPathGrammar.y"
{
(yyval.step) = new Step(Step::ParentAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest));
@@ -1724,6 +1765,8 @@ yyreduce:
break;
case 29:
+
+/* Line 1455 of yacc.c */
#line 340 "../xml/XPathGrammar.y"
{
(yyval.expr) = new VariableReference(*(yyvsp[(1) - (1)].str));
@@ -1733,6 +1776,8 @@ yyreduce:
break;
case 30:
+
+/* Line 1455 of yacc.c */
#line 347 "../xml/XPathGrammar.y"
{
(yyval.expr) = (yyvsp[(2) - (3)].expr);
@@ -1740,6 +1785,8 @@ yyreduce:
break;
case 31:
+
+/* Line 1455 of yacc.c */
#line 352 "../xml/XPathGrammar.y"
{
(yyval.expr) = new StringExpression(*(yyvsp[(1) - (1)].str));
@@ -1749,6 +1796,8 @@ yyreduce:
break;
case 32:
+
+/* Line 1455 of yacc.c */
#line 359 "../xml/XPathGrammar.y"
{
(yyval.expr) = new Number((yyvsp[(1) - (1)].str)->toDouble());
@@ -1758,6 +1807,8 @@ yyreduce:
break;
case 34:
+
+/* Line 1455 of yacc.c */
#line 370 "../xml/XPathGrammar.y"
{
(yyval.expr) = createFunction(*(yyvsp[(1) - (3)].str));
@@ -1769,6 +1820,8 @@ yyreduce:
break;
case 35:
+
+/* Line 1455 of yacc.c */
#line 379 "../xml/XPathGrammar.y"
{
(yyval.expr) = createFunction(*(yyvsp[(1) - (4)].str), *(yyvsp[(3) - (4)].argList));
@@ -1781,6 +1834,8 @@ yyreduce:
break;
case 36:
+
+/* Line 1455 of yacc.c */
#line 391 "../xml/XPathGrammar.y"
{
(yyval.argList) = new Vector<Expression*>;
@@ -1791,6 +1846,8 @@ yyreduce:
break;
case 37:
+
+/* Line 1455 of yacc.c */
#line 399 "../xml/XPathGrammar.y"
{
(yyval.argList)->append((yyvsp[(3) - (3)].expr));
@@ -1799,6 +1856,8 @@ yyreduce:
break;
case 40:
+
+/* Line 1455 of yacc.c */
#line 413 "../xml/XPathGrammar.y"
{
(yyval.expr) = new Union;
@@ -1811,6 +1870,8 @@ yyreduce:
break;
case 41:
+
+/* Line 1455 of yacc.c */
#line 425 "../xml/XPathGrammar.y"
{
(yyval.expr) = (yyvsp[(1) - (1)].locationPath);
@@ -1818,6 +1879,8 @@ yyreduce:
break;
case 43:
+
+/* Line 1455 of yacc.c */
#line 432 "../xml/XPathGrammar.y"
{
(yyvsp[(3) - (3)].locationPath)->setAbsolute(true);
@@ -1829,6 +1892,8 @@ yyreduce:
break;
case 44:
+
+/* Line 1455 of yacc.c */
#line 441 "../xml/XPathGrammar.y"
{
(yyvsp[(3) - (3)].locationPath)->insertFirstStep((yyvsp[(2) - (3)].step));
@@ -1842,6 +1907,8 @@ yyreduce:
break;
case 46:
+
+/* Line 1455 of yacc.c */
#line 456 "../xml/XPathGrammar.y"
{
(yyval.expr) = new Filter((yyvsp[(1) - (2)].expr), *(yyvsp[(2) - (2)].predList));
@@ -1852,6 +1919,8 @@ yyreduce:
break;
case 48:
+
+/* Line 1455 of yacc.c */
#line 468 "../xml/XPathGrammar.y"
{
(yyval.expr) = new LogicalOp(LogicalOp::OP_Or, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr));
@@ -1862,6 +1931,8 @@ yyreduce:
break;
case 50:
+
+/* Line 1455 of yacc.c */
#line 480 "../xml/XPathGrammar.y"
{
(yyval.expr) = new LogicalOp(LogicalOp::OP_And, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr));
@@ -1872,6 +1943,8 @@ yyreduce:
break;
case 52:
+
+/* Line 1455 of yacc.c */
#line 492 "../xml/XPathGrammar.y"
{
(yyval.expr) = new EqTestOp((yyvsp[(2) - (3)].eqop), (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr));
@@ -1882,6 +1955,8 @@ yyreduce:
break;
case 54:
+
+/* Line 1455 of yacc.c */
#line 504 "../xml/XPathGrammar.y"
{
(yyval.expr) = new EqTestOp((yyvsp[(2) - (3)].eqop), (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr));
@@ -1892,6 +1967,8 @@ yyreduce:
break;
case 56:
+
+/* Line 1455 of yacc.c */
#line 516 "../xml/XPathGrammar.y"
{
(yyval.expr) = new NumericOp(NumericOp::OP_Add, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr));
@@ -1902,6 +1979,8 @@ yyreduce:
break;
case 57:
+
+/* Line 1455 of yacc.c */
#line 524 "../xml/XPathGrammar.y"
{
(yyval.expr) = new NumericOp(NumericOp::OP_Sub, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr));
@@ -1912,6 +1991,8 @@ yyreduce:
break;
case 59:
+
+/* Line 1455 of yacc.c */
#line 536 "../xml/XPathGrammar.y"
{
(yyval.expr) = new NumericOp((yyvsp[(2) - (3)].numop), (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr));
@@ -1922,6 +2003,8 @@ yyreduce:
break;
case 61:
+
+/* Line 1455 of yacc.c */
#line 548 "../xml/XPathGrammar.y"
{
(yyval.expr) = new Negative;
@@ -1932,8 +2015,9 @@ yyreduce:
break;
-/* Line 1267 of yacc.c. */
-#line 1937 "WebCore/tmp/../generated/XPathGrammar.tab.c"
+
+/* Line 1455 of yacc.c */
+#line 2021 "WebCore/tmp/../generated/XPathGrammar.tab.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -1944,7 +2028,6 @@ yyreduce:
*++yyvsp = yyval;
-
/* Now `shift' the result of the reduction. Determine what state
that goes to, based on the state we popped back to and the rule
number reduced by. */
@@ -2009,7 +2092,7 @@ yyerrlab:
if (yyerrstatus == 3)
{
- /* If just tried and failed to reuse look-ahead token after an
+ /* If just tried and failed to reuse lookahead token after an
error, discard it. */
if (yychar <= YYEOF)
@@ -2026,7 +2109,7 @@ yyerrlab:
}
}
- /* Else will try to reuse look-ahead token after shifting the error
+ /* Else will try to reuse lookahead token after shifting the error
token. */
goto yyerrlab1;
@@ -2083,9 +2166,6 @@ yyerrlab1:
YY_STACK_PRINT (yyss, yyssp);
}
- if (yyn == YYFINAL)
- YYACCEPT;
-
*++yyvsp = yylval;
@@ -2110,7 +2190,7 @@ yyabortlab:
yyresult = 1;
goto yyreturn;
-#ifndef yyoverflow
+#if !defined(yyoverflow) || YYERROR_VERBOSE
/*-------------------------------------------------.
| yyexhaustedlab -- memory exhaustion comes here. |
`-------------------------------------------------*/
@@ -2121,7 +2201,7 @@ yyexhaustedlab:
#endif
yyreturn:
- if (yychar != YYEOF && yychar != YYEMPTY)
+ if (yychar != YYEMPTY)
yydestruct ("Cleanup: discarding lookahead",
yytoken, &yylval);
/* Do not reclaim the symbols of the rule which action triggered
@@ -2147,6 +2227,8 @@ yyreturn:
}
+
+/* Line 1675 of yacc.c */
#line 556 "../xml/XPathGrammar.y"
diff --git a/src/3rdparty/webkit/WebCore/generated/XPathGrammar.h b/src/3rdparty/webkit/WebCore/generated/XPathGrammar.h
index 0276481..cdf2b32 100644
--- a/src/3rdparty/webkit/WebCore/generated/XPathGrammar.h
+++ b/src/3rdparty/webkit/WebCore/generated/XPathGrammar.h
@@ -1,24 +1,23 @@
-/* A Bison parser, made by GNU Bison 2.3. */
-/* Skeleton interface for Bison's Yacc-like parsers in C
+/* A Bison parser, made by GNU Bison 2.4.1. */
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+/* Skeleton interface for Bison's Yacc-like parsers in C
+
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
+
+ This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
This program 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 General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA. */
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
@@ -29,10 +28,11 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
+
/* Tokens. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
@@ -59,33 +59,16 @@
XPATH_ERROR = 275
};
#endif
-/* Tokens. */
-#define MULOP 258
-#define RELOP 259
-#define EQOP 260
-#define MINUS 261
-#define PLUS 262
-#define AND 263
-#define OR 264
-#define AXISNAME 265
-#define NODETYPE 266
-#define PI 267
-#define FUNCTIONNAME 268
-#define LITERAL 269
-#define VARIABLEREFERENCE 270
-#define NUMBER 271
-#define DOTDOT 272
-#define SLASHSLASH 273
-#define NAMETEST 274
-#define XPATH_ERROR 275
-
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
-#line 60 "../xml/XPathGrammar.y"
{
+
+/* Line 1676 of yacc.c */
+#line 60 "../xml/XPathGrammar.y"
+
Step::Axis axis;
Step::NodeTest* nodeTest;
NumericOp::Opcode numop;
@@ -96,14 +79,17 @@ typedef union YYSTYPE
Vector<Expression*>* argList;
Step* step;
LocationPath* locationPath;
-}
-/* Line 1489 of yacc.c. */
-#line 102 "WebCore/tmp/../generated/XPathGrammar.tab.h"
- YYSTYPE;
+
+
+
+/* Line 1676 of yacc.c */
+#line 87 "WebCore/tmp/../generated/XPathGrammar.tab.h"
+} YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
#endif
+
diff --git a/src/3rdparty/webkit/WebCore/generated/tokenizer.cpp b/src/3rdparty/webkit/WebCore/generated/tokenizer.cpp
index 1f1ff89..a0f10b5 100644
--- a/src/3rdparty/webkit/WebCore/generated/tokenizer.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/tokenizer.cpp
@@ -2193,8 +2193,10 @@ YY_RULE_SETUP
ECHO;
YY_BREAK
#line 2745 "<stdout>"
-case YY_STATE_EOF(INITIAL):
case YY_END_OF_BUFFER:
+ yy_c_buf_p = yy_cp - 1;
+ yy_cp = yy_c_buf_p;
+case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(mediaquery):
case YY_STATE_EOF(forkeyword):
yyterminate();
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLTokenizer.cpp b/src/3rdparty/webkit/WebCore/html/HTMLTokenizer.cpp
index 91285d9..9d8136b 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLTokenizer.cpp
+++ b/src/3rdparty/webkit/WebCore/html/HTMLTokenizer.cpp
@@ -1615,7 +1615,8 @@ inline bool HTMLTokenizer::continueProcessing(int& processedCount, double startT
m_timer.startOneShot(0);
#ifdef INSTRUMENT_LAYOUT_SCHEDULING
if (currentTime() - startTime > m_tokenizerTimeDelay)
- printf("Deferring processing of data because 500ms elapsed away from event loop.\n");
+ printf("Deferring processing of data because %dms elapsed away from event loop.\n",
+ int(m_tokenizerTimeDelay * 1000));
#endif
return false;
}
diff --git a/src/3rdparty/webkit/WebCore/inspector/InspectorBackend.cpp b/src/3rdparty/webkit/WebCore/inspector/InspectorBackend.cpp
index 83a9719..67c08b9 100644
--- a/src/3rdparty/webkit/WebCore/inspector/InspectorBackend.cpp
+++ b/src/3rdparty/webkit/WebCore/inspector/InspectorBackend.cpp
@@ -245,12 +245,6 @@ const String& InspectorBackend::platform() const
#endif
#elif PLATFORM(WIN_OS)
DEFINE_STATIC_LOCAL(const String, platform, ("windows"));
-#elif PLATFORM(QT)
- DEFINE_STATIC_LOCAL(const String, platform, ("qt"));
-#elif PLATFORM(GTK)
- DEFINE_STATIC_LOCAL(const String, platform, ("gtk"));
-#elif PLATFORM(WX)
- DEFINE_STATIC_LOCAL(const String, platform, ("wx"));
#else
DEFINE_STATIC_LOCAL(const String, platform, ("unknown"));
#endif
@@ -258,6 +252,22 @@ const String& InspectorBackend::platform() const
return platform;
}
+
+const String& InspectorBackend::port() const
+{
+#if PLATFORM(QT)
+ DEFINE_STATIC_LOCAL(const String, port, ("qt"));
+#elif PLATFORM(GTK)
+ DEFINE_STATIC_LOCAL(const String, port, ("gtk"));
+#elif PLATFORM(WX)
+ DEFINE_STATIC_LOCAL(const String, port, ("wx"));
+#else
+ DEFINE_STATIC_LOCAL(const String, port, ("unknown"));
+#endif
+
+ return port;
+}
+
void InspectorBackend::startTimelineProfiler()
{
if (m_inspectorController)
diff --git a/src/3rdparty/webkit/WebCore/inspector/InspectorBackend.h b/src/3rdparty/webkit/WebCore/inspector/InspectorBackend.h
index 9d75e2f..08bb5e5 100644
--- a/src/3rdparty/webkit/WebCore/inspector/InspectorBackend.h
+++ b/src/3rdparty/webkit/WebCore/inspector/InspectorBackend.h
@@ -94,6 +94,7 @@ public:
void closeWindow();
const String& platform() const;
+ const String& port() const;
void startTimelineProfiler();
void stopTimelineProfiler();
diff --git a/src/3rdparty/webkit/WebCore/inspector/InspectorBackend.idl b/src/3rdparty/webkit/WebCore/inspector/InspectorBackend.idl
index 7a00c6a..fd5dd79 100644
--- a/src/3rdparty/webkit/WebCore/inspector/InspectorBackend.idl
+++ b/src/3rdparty/webkit/WebCore/inspector/InspectorBackend.idl
@@ -61,6 +61,7 @@ module core {
DOMString localizedStringsURL();
DOMString hiddenPanels();
DOMString platform();
+ DOMString port();
void startTimelineProfiler();
void stopTimelineProfiler();
boolean timelineProfilerEnabled();
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/InspectorControllerStub.js b/src/3rdparty/webkit/WebCore/inspector/front-end/InspectorControllerStub.js
index 6fb5a1b..f78c9bd 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/InspectorControllerStub.js
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/InspectorControllerStub.js
@@ -58,6 +58,11 @@ WebInspector.InspectorControllerStub.prototype = {
return "mac-leopard";
},
+ port: function()
+ {
+ return "unknown";
+ },
+
closeWindow: function()
{
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/inspector.css b/src/3rdparty/webkit/WebCore/inspector/front-end/inspector.css
index 78ab23d..a83d38b 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/inspector.css
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/inspector.css
@@ -94,7 +94,7 @@ body.attached #toolbar {
padding-left: 0;
}
-body.attached.platform-qt #toolbar {
+body.attached.port-qt #toolbar {
cursor: auto;
}
@@ -237,7 +237,7 @@ body.detached .toolbar-item.close-left, body.detached .toolbar-item.close-right
display: none;
}
-body.attached.platform-qt .toolbar-item.close-left, body.attached.platform-qt .toolbar-item.close-right {
+body.attached.port-qt .toolbar-item.close-left, body.attached.port-qt .toolbar-item.close-right {
display: none;
}
@@ -392,7 +392,7 @@ body.detached #dock-status-bar-item .glyph {
-webkit-mask-image: url(Images/dockButtonGlyph.png);
}
-body.platform-qt #dock-status-bar-item {
+body.port-qt #dock-status-bar-item {
display: none
}
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/inspector.js b/src/3rdparty/webkit/WebCore/inspector/front-end/inspector.js
index c24d589..083a0af 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/inspector.js
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/inspector.js
@@ -370,6 +370,8 @@ WebInspector.loaded = function()
{
var platform = InspectorController.platform();
document.body.addStyleClass("platform-" + platform);
+ var port = InspectorController.port();
+ document.body.addStyleClass("port-" + port);
this._loadPreferences();
this.pendingDispatches = 0;
@@ -821,7 +823,7 @@ WebInspector.toggleAttach = function()
WebInspector.toolbarDragStart = function(event)
{
- if ((!WebInspector.attached && InspectorController.platform() !== "mac-leopard") || InspectorController.platform() == "qt")
+ if ((!WebInspector.attached && InspectorController.platform() !== "mac-leopard") || InspectorController.port() == "qt")
return;
var target = event.target;
diff --git a/src/3rdparty/webkit/WebCore/loader/FrameLoader.cpp b/src/3rdparty/webkit/WebCore/loader/FrameLoader.cpp
index 9b15448..a85dcf5 100644
--- a/src/3rdparty/webkit/WebCore/loader/FrameLoader.cpp
+++ b/src/3rdparty/webkit/WebCore/loader/FrameLoader.cpp
@@ -2890,8 +2890,8 @@ void FrameLoader::checkLoadCompleteForThisFrame()
// delegate callback.
if (pdl == m_provisionalDocumentLoader)
clearProvisionalLoad();
- else if (m_provisionalDocumentLoader) {
- KURL unreachableURL = m_provisionalDocumentLoader->unreachableURL();
+ else if (activeDocumentLoader()) {
+ KURL unreachableURL = activeDocumentLoader()->unreachableURL();
if (!unreachableURL.isEmpty() && unreachableURL == pdl->request().url())
shouldReset = false;
}
diff --git a/src/3rdparty/webkit/WebCore/loader/MainResourceLoader.cpp b/src/3rdparty/webkit/WebCore/loader/MainResourceLoader.cpp
index c37daef..4970f06 100644
--- a/src/3rdparty/webkit/WebCore/loader/MainResourceLoader.cpp
+++ b/src/3rdparty/webkit/WebCore/loader/MainResourceLoader.cpp
@@ -433,6 +433,10 @@ void MainResourceLoader::handleDataLoadNow(MainResourceLoaderTimer*)
KURL url = m_substituteData.responseURL();
if (url.isEmpty())
url = m_initialRequest.url();
+
+ // Clear the initial request here so that subsequent entries into the
+ // loader will not think there's still a deferred load left to do.
+ m_initialRequest = ResourceRequest();
ResourceResponse response(url, m_substituteData.mimeType(), m_substituteData.content()->size(), m_substituteData.textEncoding(), "");
didReceiveResponse(response);
diff --git a/src/3rdparty/webkit/WebCore/page/PrintContext.cpp b/src/3rdparty/webkit/WebCore/page/PrintContext.cpp
index bba678a..4d3a839 100644
--- a/src/3rdparty/webkit/WebCore/page/PrintContext.cpp
+++ b/src/3rdparty/webkit/WebCore/page/PrintContext.cpp
@@ -25,7 +25,6 @@
#include "Frame.h"
#include "FrameView.h"
#include "RenderView.h"
-#include "Settings.h"
using namespace WebCore;
@@ -96,23 +95,18 @@ void PrintContext::computePageRects(const FloatRect& printRect, float headerHeig
void PrintContext::begin(float width)
{
- float PrintingMinimumShrinkFactor = m_frame->settings() ? m_frame->settings()->printingMinimumShrinkFactor() : 0.0f;
- float PrintingMaximumShrinkFactor = m_frame->settings() ? m_frame->settings()->printingMaximumShrinkFactor() : 0.0f;
-
- if (PrintingMaximumShrinkFactor < PrintingMinimumShrinkFactor || PrintingMinimumShrinkFactor <= 0.0f) {
- // By imaging to a width a little wider than the available pixels,
- // thin pages will be scaled down a little, matching the way they
- // print in IE and Camino. This lets them use fewer sheets than they
- // would otherwise, which is presumably why other browsers do this.
- // Wide pages will be scaled down more than this.
- PrintingMinimumShrinkFactor = 1.25f;
-
- // This number determines how small we are willing to reduce the page content
- // in order to accommodate the widest line. If the page would have to be
- // reduced smaller to make the widest line fit, we just clip instead (this
- // behavior matches MacIE and Mozilla, at least)
- PrintingMaximumShrinkFactor = 2.0f;
- }
+ // By imaging to a width a little wider than the available pixels,
+ // thin pages will be scaled down a little, matching the way they
+ // print in IE and Camino. This lets them use fewer sheets than they
+ // would otherwise, which is presumably why other browsers do this.
+ // Wide pages will be scaled down more than this.
+ const float PrintingMinimumShrinkFactor = 1.25f;
+
+ // This number determines how small we are willing to reduce the page content
+ // in order to accommodate the widest line. If the page would have to be
+ // reduced smaller to make the widest line fit, we just clip instead (this
+ // behavior matches MacIE and Mozilla, at least)
+ const float PrintingMaximumShrinkFactor = 2.0f;
float minLayoutWidth = width * PrintingMinimumShrinkFactor;
float maxLayoutWidth = width * PrintingMaximumShrinkFactor;
diff --git a/src/3rdparty/webkit/WebCore/page/Settings.cpp b/src/3rdparty/webkit/WebCore/page/Settings.cpp
index 48f310b..f528f37 100644
--- a/src/3rdparty/webkit/WebCore/page/Settings.cpp
+++ b/src/3rdparty/webkit/WebCore/page/Settings.cpp
@@ -63,8 +63,6 @@ Settings::Settings(Page* page)
, m_maximumDecodedImageSize(numeric_limits<size_t>::max())
, m_localStorageQuota(5 * 1024 * 1024) // Suggested by the HTML5 spec.
, m_pluginAllowedRunTime(numeric_limits<unsigned>::max())
- , m_printingMinimumShrinkFactor(0.0f)
- , m_printingMaximumShrinkFactor(0.0f)
, m_isJavaEnabled(false)
, m_loadsImagesAutomatically(false)
, m_privateBrowsingEnabled(false)
@@ -531,14 +529,4 @@ void Settings::setWebGLEnabled(bool enabled)
m_webGLEnabled = enabled;
}
-void Settings::setPrintingMinimumShrinkFactor(float printingMinimumShrinkFactor)
-{
- m_printingMinimumShrinkFactor = printingMinimumShrinkFactor;
-}
-
-void Settings::setPrintingMaximumShrinkFactor(float printingMaximumShrinkFactor)
-{
- m_printingMaximumShrinkFactor = printingMaximumShrinkFactor;
-}
-
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/page/Settings.h b/src/3rdparty/webkit/WebCore/page/Settings.h
index bdb07b9..09b5bec 100644
--- a/src/3rdparty/webkit/WebCore/page/Settings.h
+++ b/src/3rdparty/webkit/WebCore/page/Settings.h
@@ -270,12 +270,6 @@ namespace WebCore {
void setWebGLEnabled(bool);
bool webGLEnabled() const { return m_webGLEnabled; }
- void setPrintingMinimumShrinkFactor(float);
- float printingMinimumShrinkFactor() const { return m_printingMinimumShrinkFactor; }
-
- void setPrintingMaximumShrinkFactor(float);
- float printingMaximumShrinkFactor() const { return m_printingMaximumShrinkFactor; }
-
private:
Page* m_page;
@@ -298,8 +292,6 @@ namespace WebCore {
size_t m_maximumDecodedImageSize;
unsigned m_localStorageQuota;
unsigned m_pluginAllowedRunTime;
- float m_printingMinimumShrinkFactor;
- float m_printingMaximumShrinkFactor;
bool m_isJavaEnabled : 1;
bool m_loadsImagesAutomatically : 1;
bool m_privateBrowsingEnabled : 1;
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontCacheQt.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontCacheQt.cpp
index 1113eae..469a72e 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontCacheQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontCacheQt.cpp
@@ -177,15 +177,20 @@ typedef HashMap<FontPlatformDataCacheKey, FontPlatformData*, FontPlatformDataCac
// using Q_GLOBAL_STATIC leads to crash. TODO investigate the way to fix this.
static FontPlatformDataCache* gFontPlatformDataCache = 0;
-FontPlatformData* FontCache::getCachedFontPlatformData(const FontDescription& description, const AtomicString&, bool)
+FontPlatformData* FontCache::getCachedFontPlatformData(const FontDescription& description, const AtomicString& family, bool)
{
if (!gFontPlatformDataCache)
gFontPlatformDataCache = new FontPlatformDataCache;
- FontPlatformDataCacheKey key(description);
+ FontDescription descriptionWithResolvedFamily(description);
+ FontFamily resolvedFamily;
+ resolvedFamily.setFamily(family);
+ descriptionWithResolvedFamily.setFamily(resolvedFamily);
+
+ FontPlatformDataCacheKey key(descriptionWithResolvedFamily);
FontPlatformData* platformData = gFontPlatformDataCache->get(key);
if (!platformData) {
- platformData = new FontPlatformData(description);
+ platformData = new FontPlatformData(descriptionWithResolvedFamily);
gFontPlatformDataCache->add(key, platformData);
}
return platformData;
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/WebCore/platform/network/qt/QNetworkReplyHandler.cpp b/src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp
index bbf5525..2f4722f 100644
--- a/src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp
@@ -259,7 +259,7 @@ void QNetworkReplyHandler::sendResponseIfNeeded()
if (m_shouldSendResponse)
return;
- if (m_reply->error())
+ if (m_reply->error() && !ignoreHttpError(m_reply, m_responseDataSent))
return;
if (m_responseSent || !m_resourceHandle)
diff --git a/src/3rdparty/webkit/WebCore/platform/network/qt/ResourceRequestQt.cpp b/src/3rdparty/webkit/WebCore/platform/network/qt/ResourceRequestQt.cpp
index c866a54..a183c40 100644
--- a/src/3rdparty/webkit/WebCore/platform/network/qt/ResourceRequestQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/network/qt/ResourceRequestQt.cpp
@@ -41,7 +41,12 @@ QNetworkRequest ResourceRequest::toNetworkRequest(QObject* originatingFrame) con
it != end; ++it) {
QByteArray name = QString(it->first).toAscii();
QByteArray value = QString(it->second).toAscii();
- request.setRawHeader(name, value);
+ // QNetworkRequest::setRawHeader() would remove the header if the value is null
+ // Make sure to set an empty header instead of null header.
+ if (!value.isNull())
+ request.setRawHeader(name, value);
+ else
+ request.setRawHeader(name, "");
}
switch (cachePolicy()) {
diff --git a/src/3rdparty/webkit/WebCore/platform/qt/QWebPageClient.h b/src/3rdparty/webkit/WebCore/platform/qt/QWebPageClient.h
index 037f779..61adb97 100644
--- a/src/3rdparty/webkit/WebCore/platform/qt/QWebPageClient.h
+++ b/src/3rdparty/webkit/WebCore/platform/qt/QWebPageClient.h
@@ -30,6 +30,8 @@
class QWebPageClient {
public:
+ virtual ~QWebPageClient() { }
+
virtual void scroll(int dx, int dy, const QRect&) = 0;
virtual void update(const QRect&) = 0;
virtual void setInputMethodEnabled(bool enable) = 0;
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderBlock.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderBlock.cpp
index 237478d..d5bb778 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderBlock.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderBlock.cpp
@@ -163,15 +163,18 @@ RenderBlock::~RenderBlock()
void RenderBlock::destroy()
{
- // Detach our continuation first.
- if (m_inlineContinuation)
- m_inlineContinuation->destroy();
- m_inlineContinuation = 0;
-
// Make sure to destroy anonymous children first while they are still connected to the rest of the tree, so that they will
- // properly dirty line boxes that they are removed from. Effects that do :before/:after only on hover could crash otherwise.
+ // properly dirty line boxes that they are removed from. Effects that do :before/:after only on hover could crash otherwise.
children()->destroyLeftoverChildren();
+ // Destroy our continuation before anything other than anonymous children.
+ // The reason we don't destroy it before anonymous children is that they may
+ // have continuations of their own that are anonymous children of our continuation.
+ if (m_inlineContinuation) {
+ m_inlineContinuation->destroy();
+ m_inlineContinuation = 0;
+ }
+
if (!documentBeingDestroyed()) {
if (firstLineBox()) {
// We can't wait for RenderBox::destroy to clear the selection,
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderInline.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderInline.cpp
index 0302113..2f9a247 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderInline.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderInline.cpp
@@ -52,15 +52,18 @@ RenderInline::RenderInline(Node* node)
void RenderInline::destroy()
{
- // Detach our continuation first.
- if (m_continuation)
- m_continuation->destroy();
- m_continuation = 0;
-
// Make sure to destroy anonymous children first while they are still connected to the rest of the tree, so that they will
// properly dirty line boxes that they are removed from. Effects that do :before/:after only on hover could crash otherwise.
children()->destroyLeftoverChildren();
+ // Destroy our continuation before anything other than anonymous children.
+ // The reason we don't destroy it before anonymous children is that they may
+ // have continuations of their own that are anonymous children of our continuation.
+ if (m_continuation) {
+ m_continuation->destroy();
+ m_continuation = 0;
+ }
+
if (!documentBeingDestroyed()) {
if (firstLineBox()) {
// We can't wait for RenderBoxModelObject::destroy to clear the selection,
diff --git a/src/3rdparty/webkit/WebCore/storage/Database.cpp b/src/3rdparty/webkit/WebCore/storage/Database.cpp
index 5aaa26f..2f82743 100644
--- a/src/3rdparty/webkit/WebCore/storage/Database.cpp
+++ b/src/3rdparty/webkit/WebCore/storage/Database.cpp
@@ -152,8 +152,8 @@ Database::Database(Document* document, const String& name, const String& expecte
, m_document(document)
, m_name(name.crossThreadString())
, m_guid(0)
- , m_expectedVersion(expectedVersion)
- , m_displayName(displayName)
+ , m_expectedVersion(expectedVersion.crossThreadString())
+ , m_displayName(displayName.crossThreadString())
, m_estimatedSize(estimatedSize)
, m_deleted(false)
, m_stopped(false)
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.cpp
index ec0bb53..ceb5ee1 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.cpp
@@ -41,6 +41,7 @@ public:
, page(0)
{}
+ virtual ~QGraphicsWebViewPrivate();
virtual void scroll(int dx, int dy, const QRect&);
virtual void update(const QRect& dirtyRect);
virtual void setInputMethodEnabled(bool enable);
@@ -66,6 +67,10 @@ public:
QWebPage* page;
};
+QGraphicsWebViewPrivate::~QGraphicsWebViewPrivate()
+{
+}
+
void QGraphicsWebViewPrivate::_q_doLoadFinished(bool success)
{
// If the page had no title, still make sure it gets the signal
@@ -159,9 +164,9 @@ QObject* QGraphicsWebViewPrivate::pluginParent() const
An instance of this class renders Web content from a URL or supplied as data, using
features of the QtWebKit module.
- If the width and height of the item is not set, they will dynamically adjust to
- a size appropriate for the content. This width may be large (e.g., 980 pixels or
- more) for typical online Web pages.
+ If the width and height of the item are not set, they will default to 800 and 600,
+ respectively. If the Web page contents is larger than that, scrollbars will be shown
+ if not disabled explicitly.
\section1 Browser Features
@@ -198,12 +203,6 @@ QObject* QGraphicsWebViewPrivate::pluginParent() const
*/
/*!
- \fn void QGraphicsWebView::statusChanged()
-
- This signal is emitted when the status bar text is changed by the page.
-*/
-
-/*!
\fn void QGraphicsWebView::iconChanged()
This signal is emitted whenever the icon of the page is loaded or changes.
@@ -219,7 +218,7 @@ QObject* QGraphicsWebViewPrivate::pluginParent() const
This signal is emitted when a new load of the page is started.
- \sa progressChanged(), loadFinished()
+ \sa loadProgress(), loadFinished()
*/
/*!
@@ -232,22 +231,6 @@ QObject* QGraphicsWebViewPrivate::pluginParent() const
*/
/*!
- \fn void QGraphicsWebView::progressChanged(qreal progress)
-
- This signal is emitted every time an element in the web page
- completes loading and the overall loading progress advances.
-
- This signal tracks the progress of all child frames.
-
- The current value is provided by \a progress and scales from 0.0 to 1.0,
- which is the default range of QProgressBar.
-
- \sa loadStarted(), loadFinished()
-*/
-
-
-
-/*!
Constructs an empty QGraphicsWebView with parent \a parent.
\sa load()
@@ -436,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)));
}
/*!
@@ -746,7 +729,7 @@ void QGraphicsWebView::triggerPageAction(QWebPage::WebAction action, bool checke
Returns true if \a subString was found; otherwise returns false.
- \sa selectedText(), selectionChanged()
+ \sa QWebPage::selectedText(), QWebPage::selectionChanged()
*/
bool QGraphicsWebView::findText(const QString &subString, QWebPage::FindFlags options)
{
@@ -996,6 +979,26 @@ void QGraphicsWebView::inputMethodEvent(QInputMethodEvent* ev)
}
/*!
+ \fn void QGraphicsWebView::statusBarMessage(const QString& text)
+
+ This signal is emitted when the statusbar \a text is changed by the page.
+*/
+
+/*!
+ \fn void QGraphicsWebView::loadProgress(int progress)
+
+ This signal is emitted every time an element in the web page
+ completes loading and the overall loading progress advances.
+
+ This signal tracks the progress of all child frames.
+
+ The current value is provided by \a progress and scales from 0 to 100,
+ which is the default range of QProgressBar.
+
+ \sa loadStarted(), loadFinished()
+*/
+
+/*!
\fn void QGraphicsWebView::linkClicked(const QUrl &url)
This signal is emitted whenever the user clicks on a link and the page's linkDelegationPolicy
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebelement.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebelement.cpp
index 6305d10..8922150 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebelement.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebelement.cpp
@@ -453,6 +453,30 @@ bool QWebElement::hasAttributes() const
}
/*!
+ Return the list of attributes for the namespace given as \a namespaceUri.
+
+ \sa attribute(), setAttribute()
+*/
+QStringList QWebElement::attributeNames(const QString& namespaceUri) const
+{
+ if (!m_element)
+ return QStringList();
+
+ QStringList attributeNameList;
+ const NamedNodeMap* const attrs = m_element->attributes(/* read only = */ true);
+ if (attrs) {
+ const String namespaceUriString(namespaceUri); // convert QString -> String once
+ const unsigned attrsCount = attrs->length();
+ for (unsigned i = 0; i < attrsCount; ++i) {
+ const Attribute* const attribute = attrs->attributeItem(i);
+ if (namespaceUriString == attribute->namespaceURI())
+ attributeNameList.append(attribute->localName());
+ }
+ }
+ return attributeNameList;
+}
+
+/*!
Returns true if the element has keyboard input focus; otherwise, returns false
\sa setFocus()
@@ -1661,22 +1685,6 @@ QList<QWebElement> QWebElementCollection::toList() const
QWebElementCollection provides STL style const iterators for fast low-level access to the elements.
QWebElementCollection::const_iterator allows you to iterate over a QWebElementCollection.
-
- The default QWebElementCollection::const_iterator constructors creates an uninitialized iterator. You must initialize
- it using a QWebElementCollection function like QWebElementCollection::begin() or QWebElementCollection::end() before you
- can start iterating.
-*/
-
-/*!
- \fn QWebElementCollection::const_iterator::const_iterator()
-
- Constructs an uninitialized iterator.
-
- Functions like operator*() and operator++() should not be called on
- an uninitialized iterator. Use operator=() to assign a value
- to it before using it.
-
- \sa QWebElementCollection::begin()
*/
/*!
@@ -1824,3 +1832,193 @@ QList<QWebElement> QWebElementCollection::toList() const
Returns true if the element pointed to by this iterator is greater than or equal to the
element pointed to by the \a other iterator.
*/
+
+/*!
+ \fn QWebElementCollection::iterator QWebElementCollection::begin()
+
+ Returns an STL-style iterator pointing to the first element in the collection.
+
+ \sa end()
+*/
+
+/*!
+ \fn QWebElementCollection::iterator QWebElementCollection::end()
+
+ Returns an STL-style iterator pointing to the imaginary element after the
+ last element in the list.
+
+ \sa begin()
+*/
+
+/*!
+ \fn QWebElementCollection::const_iterator QWebElementCollection::constBegin() const
+
+ Returns an STL-style iterator pointing to the first element in the collection.
+
+ \sa end()
+*/
+
+/*!
+ \fn QWebElementCollection::const_iterator QWebElementCollection::constEnd() const
+
+ Returns an STL-style iterator pointing to the imaginary element after the
+ last element in the list.
+
+ \sa begin()
+*/
+
+/*!
+ \class QWebElementCollection::iterator
+ \since 4.6
+ \brief The QWebElementCollection::iterator class provides an STL-style iterator for QWebElementCollection.
+
+ QWebElementCollection provides STL style iterators for fast low-level access to the elements.
+
+ QWebElementCollection::iterator allows you to iterate over a QWebElementCollection.
+*/
+
+/*!
+ \fn QWebElementCollection::iterator::iterator(const iterator &other)
+
+ Constructs a copy of \a other.
+*/
+
+/*!
+ \fn QWebElementCollection::iterator::iterator(const QWebElementCollection *collection, int index)
+ \internal
+*/
+
+/*!
+ \fn const QWebElement QWebElementCollection::iterator::operator*() const
+
+ Returns the current element.
+*/
+
+/*!
+ \fn bool QWebElementCollection::iterator::operator==(const iterator &other) const
+
+ Returns true if \a other points to the same item as this iterator;
+ otherwise returns false.
+
+ \sa operator!=()
+*/
+
+/*!
+ \fn bool QWebElementCollection::iterator::operator!=(const iterator &other) const
+
+ Returns true if \a other points to a different element than this;
+ iterator; otherwise returns false.
+
+ \sa operator==()
+*/
+
+/*!
+ \fn QWebElementCollection::iterator &QWebElementCollection::iterator::operator++()
+
+ The prefix ++ operator (\c{++it}) advances the iterator to the next element in the collection
+ and returns an iterator to the new current element.
+
+ Calling this function on QWebElementCollection::end() leads to undefined results.
+
+ \sa operator--()
+*/
+
+/*!
+ \fn QWebElementCollection::iterator QWebElementCollection::iterator::operator++(int)
+
+ \overload
+
+ The postfix ++ operator (\c{it++}) advances the iterator to the next element in the collection
+ and returns an iterator to the previously current element.
+
+ Calling this function on QWebElementCollection::end() leads to undefined results.
+*/
+
+/*!
+ \fn QWebElementCollection::iterator &QWebElementCollection::iterator::operator--()
+
+ The prefix -- operator (\c{--it}) makes the preceding element current and returns an
+ iterator to the new current element.
+
+ Calling this function on QWebElementCollection::begin() leads to undefined results.
+
+ \sa operator++()
+*/
+
+/*!
+ \fn QWebElementCollection::iterator QWebElementCollection::iterator::operator--(int)
+
+ \overload
+
+ The postfix -- operator (\c{it--}) makes the preceding element current and returns
+ an iterator to the previously current element.
+*/
+
+/*!
+ \fn QWebElementCollection::iterator &QWebElementCollection::iterator::operator+=(int j)
+
+ Advances the iterator by \a j elements. If \a j is negative, the iterator goes backward.
+
+ \sa operator-=(), operator+()
+*/
+
+/*!
+ \fn QWebElementCollection::iterator &QWebElementCollection::iterator::operator-=(int j)
+
+ Makes the iterator go back by \a j elements. If \a j is negative, the iterator goes forward.
+
+ \sa operator+=(), operator-()
+*/
+
+/*!
+ \fn QWebElementCollection::iterator QWebElementCollection::iterator::operator+(int j) const
+
+ Returns an iterator to the element at \a j positions forward from this iterator. If \a j
+ is negative, the iterator goes backward.
+
+ \sa operator-(), operator+=()
+*/
+
+/*!
+ \fn QWebElementCollection::iterator QWebElementCollection::iterator::operator-(int j) const
+
+ Returns an iterator to the element at \a j positiosn backward from this iterator.
+ If \a j is negative, the iterator goes forward.
+
+ \sa operator+(), operator-=()
+*/
+
+/*!
+ \fn int QWebElementCollection::iterator::operator-(iterator other) const
+
+ Returns the number of elements between the item point to by \a other
+ and the element pointed to by this iterator.
+*/
+
+/*!
+ \fn bool QWebElementCollection::iterator::operator<(const iterator &other) const
+
+ Returns true if the element pointed to by this iterator is less than the element pointed to
+ by the \a other iterator.
+*/
+
+/*!
+ \fn bool QWebElementCollection::iterator::operator<=(const iterator &other) const
+
+ Returns true if the element pointed to by this iterator is less than or equal to the
+ element pointed to by the \a other iterator.
+*/
+
+/*!
+ \fn bool QWebElementCollection::iterator::operator>(const iterator &other) const
+
+ Returns true if the element pointed to by this iterator is greater than the element pointed to
+ by the \a other iterator.
+*/
+
+/*!
+ \fn bool QWebElementCollection::iterator::operator>=(const iterator &other) const
+
+ Returns true if the element pointed to by this iterator is greater than or equal to the
+ element pointed to by the \a other iterator.
+*/
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebelement.h b/src/3rdparty/webkit/WebKit/qt/Api/qwebelement.h
index 9cb1ea1..3833070 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebelement.h
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebelement.h
@@ -21,6 +21,7 @@
#define QWEBELEMENT_H
#include <QString>
+#include <QStringList>
#include <QRect>
#include <QVariant>
#include <QExplicitlySharedDataPointer>
@@ -72,6 +73,7 @@ public:
void removeAttribute(const QString& name);
void removeAttributeNS(const QString& namespaceUri, const QString& name);
bool hasAttributes() const;
+ QStringList attributeNames(const QString& namespaceUri = QString()) const;
QStringList classes() const;
bool hasClass(const QString& name) const;
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebframe.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebframe.cpp
index 438228c..e84b8df 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebframe.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebframe.cpp
@@ -324,7 +324,7 @@ void QWebFramePrivate::renderPrivate(QPainter *painter, QWebFrame::RenderLayer l
the HTML content readily available, you can use setHtml() instead.
The page() function returns a pointer to the web page object. See
- \l{Elements of QWebView} for an explanation of how web
+ \l{QWebView}{Elements of QWebView} for an explanation of how web
frames are related to a web page and web view.
The QWebFrame class also offers methods to retrieve both the URL currently
@@ -356,6 +356,19 @@ void QWebFramePrivate::renderPrivate(QPainter *painter, QWebFrame::RenderLayer l
\sa QWebPage
*/
+/*!
+ \enum QWebFrame::RenderLayer
+
+ This enum describes the layers available for rendering using \l{QWebFrame::}{render()}.
+ The layers can be OR-ed together from the following list:
+
+ \value ContentsLayer The web content of the frame
+ \value ScrollBarLayer The scrollbars of the frame
+ \value PanIconLayer The icon used when panning the frame
+
+ \value AllLayers Includes all the above layers
+*/
+
QWebFrame::QWebFrame(QWebPage *parent, QWebFrameData *frameData)
: QObject(parent)
, d(new QWebFramePrivate)
@@ -768,6 +781,10 @@ void QWebFrame::load(const QNetworkRequest &req,
The \a html is loaded immediately; external objects are loaded asynchronously.
+ If a script in the \a html runs longer than the default script timeout (currently 10 seconds),
+ for example due to being blocked by a modal JavaScript alert dialog, this method will return
+ as soon as possible after the timeout and any subsequent \a html will be loaded asynchronously.
+
When using this method WebKit assumes that external resources such as JavaScript programs or style
sheets are encoded in UTF-8 unless otherwise specified. For example, the encoding of an external
script can be specified through the charset attribute of the HTML script tag. It is also possible
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp
index d8ead16..aedf95a 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp
@@ -1062,11 +1062,9 @@ void QWebPagePrivate::keyReleaseEvent(QKeyEvent *ev)
void QWebPagePrivate::focusInEvent(QFocusEvent*)
{
FocusController *focusController = page->focusController();
- Frame *frame = focusController->focusedFrame();
focusController->setActive(true);
- if (frame)
- focusController->setFocused(true);
- else
+ focusController->setFocused(true);
+ if (!focusController->focusedFrame())
focusController->setFocusedFrame(QWebFramePrivate::core(mainFrame));
}
@@ -1682,7 +1680,7 @@ InspectorController* QWebPagePrivate::inspectorController()
*/
/*!
- Constructs an empty QWebView with parent \a parent.
+ Constructs an empty QWebPage with parent \a parent.
*/
QWebPage::QWebPage(QObject *parent)
: QObject(parent)
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.cpp
index ff86e1f..b637d04 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.cpp
@@ -62,8 +62,6 @@ public:
QString localStoragePath;
QString offlineWebApplicationCachePath;
qint64 offlineStorageDefaultQuota;
- float printingMinimumShrinkFactor;
- float printingMaximumShrinkFactor;
void apply();
WebCore::Settings* settings;
@@ -176,12 +174,6 @@ void QWebSettingsPrivate::apply()
QString storagePath = !localStoragePath.isEmpty() ? localStoragePath : global->localStoragePath;
settings->setLocalStorageDatabasePath(storagePath);
- float minimumShrinkFactor = printingMinimumShrinkFactor > 0.0f ? printingMinimumShrinkFactor : global->printingMinimumShrinkFactor;
- settings->setPrintingMinimumShrinkFactor(minimumShrinkFactor);
-
- float maximumShrinkFactor = printingMaximumShrinkFactor > 0.0f ? printingMaximumShrinkFactor : global->printingMaximumShrinkFactor;
- settings->setPrintingMaximumShrinkFactor(maximumShrinkFactor);
-
value = attributes.value(QWebSettings::ZoomTextOnly,
global->attributes.value(QWebSettings::ZoomTextOnly));
settings->setZoomsTextOnly(value);
@@ -206,6 +198,7 @@ void QWebSettingsPrivate::apply()
value = attributes.value(QWebSettings::LocalContentCanAccessRemoteUrls,
global->attributes.value(QWebSettings::LocalContentCanAccessRemoteUrls));
settings->setAllowUniversalAccessFromFileURLs(value);
+ settings->setUsesPageCache(WebCore::pageCache()->capacity());
} else {
QList<QWebSettingsPrivate*> settings = *::allSettings();
for (int i = 0; i < settings.count(); ++i)
@@ -269,7 +262,7 @@ QWebSettings* QWebSettings::globalSettings()
setOfflineStoragePath() with an appropriate file path, and can limit the quota
for each application by calling setOfflineStorageDefaultQuota().
- \sa QWebPage::settings(), QWebView::settings(), {Browser}
+ \sa QWebPage::settings(), QWebView::settings(), {Web Browser}
*/
/*!
@@ -346,6 +339,8 @@ QWebSettings* QWebSettings::globalSettings()
web application cache feature is enabled or not. Disabled by default.
\value LocalStorageEnabled Specifies whether support for the HTML 5
local storage feature is enabled or not. Disabled by default.
+ \value LocalStorageDatabaseEnabled \e{This enum value is deprecated.} Use
+ QWebSettings::LocalStorageEnabled instead.
\value LocalContentCanAccessRemoteUrls Specifies whether locally loaded documents are allowed to access remote urls.
*/
@@ -379,8 +374,6 @@ QWebSettings::QWebSettings()
d->attributes.insert(QWebSettings::LocalContentCanAccessRemoteUrls, false);
d->offlineStorageDefaultQuota = 5 * 1024 * 1024;
d->defaultTextEncoding = QLatin1String("iso-8859-1");
- d->printingMinimumShrinkFactor = 0.0f;
- d->printingMaximumShrinkFactor = 0.0f;
}
/*!
@@ -495,60 +488,6 @@ QString QWebSettings::defaultTextEncoding() const
}
/*!
- \since 4.7
- Specifies minimum shrink fator allowed for printing. If set to 0 a
- default value is used.
-
- When printing, content will be shrunk to reduce page usage, it
- will reduced by a factor between printingMinimumShrinkFactor and
- printingMaximumShrinkFactor.
-
- \sa printingMinimumShrinkFactor()
- \sa setPrintingMaximumShrinkFactor()
- \sa printingMaximumShrinkFactor()
-*/
-void QWebSettings::setPrintingMinimumShrinkFactor(float printingMinimumShrinkFactor)
-{
- d->printingMinimumShrinkFactor = printingMinimumShrinkFactor;
- d->apply();
-}
-
-/*!
- \since 4.7
- returns the minimum shrink factor used for printing.
-
- \sa setPrintingMinimumShrinkFactor()
-*/
-float QWebSettings::printingMinimumShrinkFactor() const
-{
- return d->printingMinimumShrinkFactor;
-}
-
-/*!
- \since 4.7
- Specifies maximum shrink fator allowed for printing. If set to 0 a
- default value is used.
-
- \sa setPrintingMinimumShrinkFactor()
-*/
-void QWebSettings::setPrintingMaximumShrinkFactor(float printingMaximumShrinkFactor)
-{
- d->printingMaximumShrinkFactor = printingMaximumShrinkFactor;
- d->apply();
-}
-
-/*!
- \since 4.7
- returns the maximum shrink factor used for printing.
-
- \sa setPrintingMinimumShrinkFactor()
-*/
-float QWebSettings::printingMaximumShrinkFactor() const
-{
- return d->printingMaximumShrinkFactor;
-}
-
-/*!
Sets the path of the icon database to \a path. The icon database is used
to store "favicons" associated with web sites.
@@ -618,7 +557,7 @@ QIcon QWebSettings::iconForUrl(const QUrl& url)
return* icon;
}
-/*!
+/*
Returns the plugin database object.
QWebPluginDatabase *QWebSettings::pluginDatabase()
@@ -704,7 +643,9 @@ void QWebSettings::clearMemoryCaches()
*/
void QWebSettings::setMaximumPagesInCache(int pages)
{
+ QWebSettingsPrivate* global = QWebSettings::globalSettings()->d;
WebCore::pageCache()->setCapacity(qMax(0, pages));
+ global->apply();
}
/*!
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.h b/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.h
index 3b6d1a7..50cf424 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.h
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.h
@@ -102,12 +102,6 @@ public:
void setDefaultTextEncoding(const QString &encoding);
QString defaultTextEncoding() const;
- void setPrintingMinimumShrinkFactor(float printingMinimumShrinkFactor);
- float printingMinimumShrinkFactor() const;
-
- void setPrintingMaximumShrinkFactor(float printingMaximimShrinkFactor);
- float printingMaximumShrinkFactor() const;
-
static void setIconDatabasePath(const QString &location);
static QString iconDatabasePath();
static void clearIconDatabase();
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp
index 65cc761..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()));
@@ -251,7 +251,7 @@ void QWebView::setPage(QWebPage* page)
\note The view remains the same until enough data has arrived to display the new \a url.
- \sa setUrl(), url(), urlChanged(), guessUrlFromString()
+ \sa setUrl(), url(), urlChanged(), QUrl::fromUserInput()
*/
void QWebView::load(const QUrl &url)
{
diff --git a/src/3rdparty/webkit/WebKit/qt/ChangeLog b/src/3rdparty/webkit/WebKit/qt/ChangeLog
index 5765997..457e9c2 100644
--- a/src/3rdparty/webkit/WebKit/qt/ChangeLog
+++ b/src/3rdparty/webkit/WebKit/qt/ChangeLog
@@ -1,4 +1,222 @@
+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.
+
+ API documentation fixes.
+
+ * Api/qgraphicswebview.cpp: Removed duplicate docs.
+ * Api/qwebelement.cpp: Added missing docs.
+ * Api/qwebsettings.cpp: Ditto.
+
+2009-11-14 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Antti Koivisto.
+
+ [Qt] Broken back/forward after using ErrorPageExtension to set error page
+ https://bugs.webkit.org/show_bug.cgi?id=30573
+
+ Implemented autotests for covering the back/forward
+ reset problem involving error pages.
+
+ * tests/qwebpage/tst_qwebpage.cpp:
+ (tst_QWebPage::errorPageExtension):
+
+2009-11-16 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by NOBODY (OOPS!).
+
+ [Qt] Do not show the QWidget when the WebCore::Widget is hidden
+ https://bugs.webkit.org/show_bug.cgi?id=31203
+
+ The clipping code was making a QWidget visible even if the
+ WebCore::Widget was hidden. Fix the bug by calling setVisible
+ only if the WebCore::Widget is shown.
+
+ * WebCoreSupport/FrameLoaderClientQt.cpp:
+ (WebCore::QtPluginWidget::show): Override WebCore::Widget
+ (WebCore::QtPluginWidget::hide): Override WebCore::Widget
+ (WebCore::QtPluginWidget::handleVisibility): New method to call setVisible when we are visible
+ (FrameLoaderClientQt::createPlugin): Hide the QWidget by default
+
+2009-11-09 Benjamin Poulain <benjamin.poulain@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30628
+ Add an API to get all the attributes from a QWebElement.
+
+ * Api/qwebelement.cpp:
+ (QWebElement::attributesName):
+ * Api/qwebelement.h:
+ * tests/qwebelement/tst_qwebelement.cpp:
+ (tst_QWebElement::listAttributes):
+
+2009-11-13 Andras Becsi <becsi.andras@stud.u-szeged.hu>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Enable Page Cache if setMaximumPagesInCache needs it.
+ This fixes https://bugs.webkit.org/show_bug.cgi?id=31266.
+
+ * Api/qwebsettings.cpp:
+ (QWebSettingsPrivate::apply):
+ (QWebSettings::setMaximumPagesInCache):
+
+2009-11-13 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Update documentation for the Qt API
+
+ * Api/qgraphicswebview.cpp:
+ * Api/qwebelement.cpp:
+ * Api/qwebframe.cpp:
+ * Api/qwebsettings.cpp:
+ * Api/qwebview.cpp:
+
+2009-11-13 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Use correct install-path when running qdoc3
+
+ * docs/docs.pri:
+
+2009-11-12 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Jan Alonzo.
+
+ [Qt] Various doc fixes
+ https://bugs.webkit.org/show_bug.cgi?id=31358
+
+ QWebPage's constructor docs are mentioning "QWebView":
+ "Constructs an empty QWebView with parent".
+
+ * Api/qwebpage.cpp:
+
+2009-11-11 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Kenneth Christiansen.
+
+ [Qt] Various doc fixes
+ https://bugs.webkit.org/show_bug.cgi?id=31358
+
+ Fixed wrong documentation: item's dimensions do fit to Web page
+ content by default.
+
+ Kenneth agreed to land this as a followup patch to the
+ just landed documentation patch.
+
+ * Api/qgraphicswebview.cpp:
+
+2009-11-11 David Boddie <dboddie@trolltech.com>
+
+ Reviewed by Kenneth Christiansen.
+
+ [Qt] Various doc fixes
+ https://bugs.webkit.org/show_bug.cgi?id=31323
+
+ Fixed and synchronized QWebView related documentation.
+
+ * Api/qgraphicswebview.cpp:
+ * Api/qwebview.cpp:
+
+2009-11-09 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Few classes have virtual functions but non-virtual destructor
+ https://bugs.webkit.org/show_bug.cgi?id=31269
+
+ * Api/qgraphicswebview.cpp:
+ (QGraphicsWebViewPrivate::~QGraphicsWebViewPrivate): Add virtual
+ destructor.
+
+2009-10-30 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by NOBODY (OOPS!).
+
+ [Qt] Use the default timeout interval for JS as the HTML tokenizer delay for setHtml()
+
+ This ensures that long-running JavaScript (for example due to a modal alert() dialog),
+ will not trigger a deferred load after only 500ms (the default tokenizer delay) while
+ still giving a reasonable timeout (10 seconds) to prevent deadlock.
+
+ https://bugs.webkit.org/show_bug.cgi?id=29381
+
+ * Api/qwebframe.cpp: Document the behaviour
+ * WebCoreSupport/FrameLoaderClientQt.cpp: set the custom tokenizer delay for substitute loads
+ * tests/qwebframe/tst_qwebframe.cpp: Add test
+
+2009-11-13 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Fix initial QWebView focus behavior.
+
+ focusController->setFocused(true) was not always called.
+ https://bugs.webkit.org/show_bug.cgi?id=31466
+
+ * Api/qwebpage.cpp:
+ (QWebPagePrivate::focusInEvent):
+
+2009-11-12 Benjamin Poulain <benjamin.poulain@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Custom printing shrink factors
+ https://bugs.webkit.org/show_bug.cgi?id=29042
+
+ This reverts commit r49769. The public API for this needs to be reviewed
+ before its inclusion in Qt.
+
+ * Api/qwebsettings.cpp:
+ (QWebSettingsPrivate::apply):
+ (QWebSettings::QWebSettings):
+ * Api/qwebsettings.h:
+
2009-11-11 Liang QI <liang.qi@nokia.com>
+ Update documentation for the Qt API
+
+ * Api/qgraphicswebview.cpp:
+ * Api/qwebelement.cpp:
+ * Api/qwebframe.cpp:
+ * Api/qwebsettings.cpp:
+ * Api/qwebview.cpp:
+
+2009-11-13 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
[Qt] Fix tst_qwebpage and tst_qwebframe compilation on Symbian.
diff --git a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
index 97fb3a8..5cabca0 100644
--- a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
@@ -37,6 +37,7 @@
#include "FrameTree.h"
#include "FrameView.h"
#include "DocumentLoader.h"
+#include "JSDOMWindowBase.h"
#include "MIMETypeRegistry.h"
#include "ResourceResponse.h"
#include "Page.h"
@@ -176,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
@@ -770,8 +771,16 @@ bool FrameLoaderClientQt::shouldFallBack(const WebCore::ResourceError&)
WTF::PassRefPtr<WebCore::DocumentLoader> FrameLoaderClientQt::createDocumentLoader(const WebCore::ResourceRequest& request, const SubstituteData& substituteData)
{
RefPtr<DocumentLoader> loader = DocumentLoader::create(request, substituteData);
- if (substituteData.isValid())
+ if (substituteData.isValid()) {
loader->setDeferMainResourceDataLoad(false);
+ // Use the default timeout interval for JS as the HTML tokenizer delay. This ensures
+ // that long-running JavaScript will still allow setHtml() to be synchronous, while
+ // still giving a reasonable timeout to prevent deadlock.
+ double delay = JSDOMWindowBase::commonJSGlobalData()->timeoutChecker.timeoutInterval() / 1000.0f;
+ m_frame->page()->setCustomHTMLTokenizerTimeDelay(delay);
+ } else {
+ m_frame->page()->setCustomHTMLTokenizerTimeDelay(-1);
+ }
return loader.release();
}
@@ -1088,7 +1097,11 @@ const unsigned numqStyleSheetProperties = sizeof(qstyleSheetProperties) / sizeof
class QtPluginWidget: public Widget
{
public:
- QtPluginWidget(QWidget* w = 0): Widget(w) {}
+ QtPluginWidget(QWidget* w = 0)
+ : Widget(w)
+ , m_visible(false)
+ {}
+
~QtPluginWidget()
{
if (platformWidget())
@@ -1119,10 +1132,37 @@ public:
QRegion clipRegion = QRegion(clipRect);
platformWidget()->setMask(clipRegion);
+ handleVisibility();
+ }
+
+ virtual void hide()
+ {
+ m_visible = false;
+ Widget::hide();
+ }
+
+ virtual void show()
+ {
+ m_visible = true;
+ if (!platformWidget())
+ return;
+
+ handleVisibility();
+ }
+
+private:
+ void handleVisibility()
+ {
+ if (!m_visible)
+ return;
+
// if setMask is set with an empty QRegion, no clipping will
// be performed, so in that case we hide the platformWidget
- platformWidget()->setVisible(!clipRegion.isEmpty());
+ QRegion mask = platformWidget()->mask();
+ platformWidget()->setVisible(!mask.isEmpty());
}
+
+ bool m_visible;
};
#if QT_VERSION >= 0x040600
@@ -1238,6 +1278,7 @@ PassRefPtr<Widget> FrameLoaderClientQt::createPlugin(const IntSize& pluginSize,
parentWidget = qobject_cast<QWidget*>(m_webFrame->page()->d->client->pluginParent());
if (parentWidget) // don't reparent to nothing (i.e. keep whatever parent QWebPage::createPlugin() chose.
widget->setParent(parentWidget);
+ widget->hide();
RefPtr<QtPluginWidget> w = adoptRef(new QtPluginWidget());
w->setPlatformWidget(widget);
// Make sure it's invisible until properly placed into the layout
diff --git a/src/3rdparty/webkit/WebKit/qt/docs/docs.pri b/src/3rdparty/webkit/WebKit/qt/docs/docs.pri
index 4a8c165..804817b 100644
--- a/src/3rdparty/webkit/WebKit/qt/docs/docs.pri
+++ b/src/3rdparty/webkit/WebKit/qt/docs/docs.pri
@@ -1,9 +1,9 @@
include(../../../WebKit.pri)
unix {
- QDOC = SRCDIR=$$PWD/../../.. OUTPUT_DIR=$$OUTPUT_DIR $$(QTDIR)/tools/qdoc3/qdoc3
+ QDOC = SRCDIR=$$PWD/../../.. OUTPUT_DIR=$$OUTPUT_DIR $$(QTDIR)/bin/qdoc3
} else {
- QDOC = $$(QTDIR)\tools\qdoc3\release\qdoc3.exe
+ QDOC = $$(QTDIR)\bin\qdoc3.exe
}
unix {
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 bbb676b..e9dae18 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp
@@ -68,6 +68,7 @@ private slots:
void simpleCollection();
void attributes();
void attributesNS();
+ void listAttributes();
void classes();
void namespaceURI();
void iteration();
@@ -187,6 +188,29 @@ void tst_QWebElement::attributesNS()
QCOMPARE(svg.attributeNS("http://www.w3.org/2000/svg", "foobar", "defaultblah"), QString("true"));
}
+void tst_QWebElement::listAttributes()
+{
+ QString content = "<html xmlns=\"http://www.w3.org/1999/xhtml\" "
+ "xmlns:svg=\"http://www.w3.org/2000/svg\">"
+ "<body><svg:svg foo=\"\" svg:bar=\"\">"
+ "</svg:svg></body></html>";
+
+ m_mainFrame->setContent(content.toUtf8(), "application/xhtml+xml");
+
+ QWebElement svg = m_mainFrame->findFirstElement("svg");
+ QVERIFY(!svg.isNull());
+
+ QVERIFY(svg.attributeNames().contains("foo"));
+ QVERIFY(svg.attributeNames("http://www.w3.org/2000/svg").contains("bar"));
+
+ svg.setAttributeNS("http://www.w3.org/2000/svg", "svg:foobar", "true");
+ QVERIFY(svg.attributeNames().contains("foo"));
+ QStringList attributes = svg.attributeNames("http://www.w3.org/2000/svg");
+ QCOMPARE(attributes.size(), 2);
+ QVERIFY(attributes.contains("bar"));
+ QVERIFY(attributes.contains("foobar"));
+}
+
void tst_QWebElement::classes()
{
m_mainFrame->setHtml("<body><p class=\"a b c d a c\">Test");
@@ -971,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 6f07e90..d88d905 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp
@@ -591,6 +591,7 @@ private slots:
void setHtml();
void setHtmlWithResource();
void setHtmlWithBaseURL();
+ void setHtmlWithJSAlert();
void ipv6HostEncoding();
void metaData();
void popupFocus();
@@ -2290,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);
@@ -2398,6 +2399,33 @@ void tst_QWebFrame::setHtmlWithBaseURL()
QCOMPARE(m_view->page()->history()->count(), 0);
}
+class MyPage : public QWebPage
+{
+public:
+ MyPage() : QWebPage(), alerts(0) {}
+ int alerts;
+
+protected:
+ virtual void javaScriptAlert(QWebFrame*, const QString& msg)
+ {
+ alerts++;
+ QCOMPARE(msg, QString("foo"));
+ // Should not be enough to trigger deferred loading, since we've upped the HTML
+ // tokenizer delay in the Qt frameloader. See HTMLTokenizer::continueProcessing()
+ QTest::qWait(1000);
+ }
+};
+
+void tst_QWebFrame::setHtmlWithJSAlert()
+{
+ QString html("<html><head></head><body><script>alert('foo');</script><p>hello world</p></body></html>");
+ MyPage page;
+ m_view->setPage(&page);
+ page.mainFrame()->setHtml(html);
+ QCOMPARE(page.alerts, 1);
+ QCOMPARE(m_view->page()->mainFrame()->toHtml(), html);
+}
+
class TestNetworkManager : public QNetworkAccessManager
{
public:
@@ -2752,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 777c454..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'/>" \
@@ -1406,7 +1407,7 @@ void tst_QWebPage::inputMethods()
//ImFont
variant = page->inputMethodQuery(Qt::ImFont);
QFont font = variant.value<QFont>();
- QCOMPARE(QString("-webkit-serif"), font.family());
+ QCOMPARE(page->settings()->fontFamily(QWebSettings::SerifFont), font.family());
QList<QInputMethodEvent::Attribute> inputAttributes;
@@ -1657,6 +1658,22 @@ void tst_QWebPage::errorPageExtension()
QCOMPARE(page->history()->canGoBack(), true);
QCOMPARE(page->history()->canGoForward(), false);
+ page->triggerAction(QWebPage::Back);
+ QTest::qWait(2000);
+ QCOMPARE(page->history()->canGoBack(), false);
+ QCOMPARE(page->history()->canGoForward(), true);
+
+ page->triggerAction(QWebPage::Forward);
+ QTest::qWait(2000);
+ QCOMPARE(page->history()->canGoBack(), true);
+ QCOMPARE(page->history()->canGoForward(), false);
+
+ page->triggerAction(QWebPage::Back);
+ QTest::qWait(2000);
+ QCOMPARE(page->history()->canGoBack(), false);
+ QCOMPARE(page->history()->canGoForward(), true);
+ QCOMPARE(page->history()->currentItem().url(), QUrl("qrc:///frametest/index.html"));
+
m_view->setPage(0);
}
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/global/qnamespace.qdoc b/src/corelib/global/qnamespace.qdoc
index ae47f13..7ee7a76 100644
--- a/src/corelib/global/qnamespace.qdoc
+++ b/src/corelib/global/qnamespace.qdoc
@@ -884,7 +884,7 @@
\value WA_InputMethodEnabled Enables input methods for Asian languages.
Must be set when creating custom text editing widgets.
- On Windows CE this flag can be used in addition to
+ On Windows CE and Symbian this flag can be used in addition to
QApplication::autoSipEnabled to automatically display the SIP when
entering a widget.
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/qfile.cpp b/src/corelib/io/qfile.cpp
index c9b2603..d4077bc 100644
--- a/src/corelib/io/qfile.cpp
+++ b/src/corelib/io/qfile.cpp
@@ -1339,7 +1339,7 @@ QFile::setPermissions(const QString &fileName, Permissions permissions)
static inline qint64 _qfile_writeData(QAbstractFileEngine *engine, QRingBuffer *buffer)
{
- qint64 ret = engine->write(buffer->readPointer(), buffer->size());
+ qint64 ret = engine->write(buffer->readPointer(), buffer->nextDataBlockSize());
if (ret > 0)
buffer->free(ret);
return ret;
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/qfsfileengine.cpp b/src/corelib/io/qfsfileengine.cpp
index 9ab831f..3cf9b7e 100644
--- a/src/corelib/io/qfsfileengine.cpp
+++ b/src/corelib/io/qfsfileengine.cpp
@@ -762,12 +762,10 @@ qint64 QFSFileEnginePrivate::writeFdFh(const char *data, qint64 len)
// Buffered stdlib mode.
size_t result;
- bool eof;
do {
result = fwrite(data + writtenBytes, 1, size_t(len - writtenBytes), fh);
writtenBytes += result;
- eof = feof(fh);
- } while (!eof && (result == 0 ? errno == EINTR : writtenBytes < len));
+ } while (result == 0 ? errno == EINTR : writtenBytes < len);
} else if (fd != -1) {
// Unbuffered stdio mode.
@@ -783,7 +781,7 @@ qint64 QFSFileEnginePrivate::writeFdFh(const char *data, qint64 len)
|| (result > 0 && (writtenBytes += result) < len));
}
- if (writtenBytes == 0) {
+ if (len && writtenBytes == 0) {
writtenBytes = -1;
q->setError(errno == ENOSPC ? QFile::ResourceError : QFile::WriteError, qt_error_string(errno));
}
diff --git a/src/corelib/io/qiodevice.cpp b/src/corelib/io/qiodevice.cpp
index 4494d2a..b84961f 100644
--- a/src/corelib/io/qiodevice.cpp
+++ b/src/corelib/io/qiodevice.cpp
@@ -619,7 +619,8 @@ qint64 QIODevice::size() const
*/
bool QIODevice::seek(qint64 pos)
{
- if (d_func()->openMode == NotOpen) {
+ Q_D(QIODevice);
+ if (d->openMode == NotOpen) {
qWarning("QIODevice::seek: The device is not open");
return false;
}
@@ -628,7 +629,6 @@ bool QIODevice::seek(qint64 pos)
return false;
}
- Q_D(QIODevice);
#if defined QIODEVICE_DEBUG
printf("%p QIODevice::seek(%d), before: d->pos = %d, d->buffer.size() = %d\n",
this, int(pos), int(d->pos), d->buffer.size());
@@ -640,21 +640,16 @@ bool QIODevice::seek(qint64 pos)
d->devicePos = pos;
}
- if (offset > 0 && !d->buffer.isEmpty()) {
- // When seeking forwards, we need to pop bytes off the front of the
- // buffer.
- do {
- int bytesToSkip = int(qMin<qint64>(offset, INT_MAX));
- d->buffer.skip(bytesToSkip);
- offset -= bytesToSkip;
- } while (offset > 0);
- } else if (offset < 0) {
+ if (offset < 0
+ || offset >= qint64(d->buffer.size()))
// When seeking backwards, an operation that is only allowed for
// random-access devices, the buffer is cleared. The next read
// operation will then refill the buffer. We can optimize this, if we
// find that seeking backwards becomes a significant performance hit.
d->buffer.clear();
- }
+ else if (!d->buffer.isEmpty())
+ d->buffer.skip(int(offset));
+
#if defined QIODEVICE_DEBUG
printf("%p \tafter: d->pos == %d, d->buffer.size() == %d\n", this, int(d->pos),
d->buffer.size());
@@ -762,22 +757,20 @@ qint64 QIODevice::read(char *data, qint64 maxSize)
// Short circuit for getChar()
if (maxSize == 1) {
- int chint = d->buffer.getChar();
- if (chint != -1) {
+ int chint;
+ while ((chint = d->buffer.getChar()) != -1) {
+ if (!sequential)
+ ++d->pos;
+
char c = char(uchar(chint));
- if (c == '\r' && (d->openMode & Text)) {
- d->buffer.ungetChar(c);
- } else {
- if (data)
- *data = c;
- if (!sequential)
- ++d->pos;
+ if (c == '\r' && (d->openMode & Text))
+ continue;
+ *data = c;
#if defined QIODEVICE_DEBUG
- printf("%p \tread 0x%hhx (%c) returning 1 (shortcut)\n", this,
- int(c), isprint(c) ? c : '?');
+ printf("%p \tread 0x%hhx (%c) returning 1 (shortcut)\n", this,
+ int(c), isprint(c) ? c : '?');
#endif
- return qint64(1);
- }
+ return qint64(1);
}
}
@@ -911,10 +904,10 @@ qint64 QIODevice::read(char *data, qint64 maxSize)
QByteArray QIODevice::read(qint64 maxSize)
{
Q_D(QIODevice);
- CHECK_MAXLEN(read, QByteArray());
- QByteArray tmp;
- qint64 readSoFar = 0;
- char buffer[4096];
+ QByteArray result;
+
+ CHECK_MAXLEN(read, result);
+
#if defined QIODEVICE_DEBUG
printf("%p QIODevice::read(%d), d->pos = %d, d->buffer.size() = %d\n",
this, int(maxSize), int(d->pos), int(d->buffer.size()));
@@ -922,16 +915,34 @@ QByteArray QIODevice::read(qint64 maxSize)
Q_UNUSED(d);
#endif
- do {
- qint64 bytesToRead = qMin(int(maxSize - readSoFar), int(sizeof(buffer)));
- qint64 readBytes = read(buffer, bytesToRead);
- if (readBytes <= 0)
- break;
- tmp.append(buffer, (int) readBytes);
- readSoFar += readBytes;
- } while (readSoFar < maxSize && bytesAvailable() > 0);
+ if (maxSize != qint64(int(maxSize))) {
+ qWarning("QIODevice::read: maxSize argument exceeds QByteArray size limit");
+ maxSize = INT_MAX;
+ }
+
+ qint64 readBytes = 0;
+ if (maxSize) {
+ result.resize(int(maxSize));
+ if (!result.size()) {
+ // If resize fails, read incrementally.
+ qint64 readResult;
+ do {
+ result.resize(int(qMin(maxSize, result.size() + QIODEVICE_BUFFERSIZE)));
+ readResult = read(result.data() + readBytes, result.size() - readBytes);
+ if (readResult > 0 || readBytes == 0)
+ readBytes += readResult;
+ } while (readResult == QIODEVICE_BUFFERSIZE);
+ } else {
+ readBytes = read(result.data(), result.size());
+ }
+ }
+
+ if (readBytes <= 0)
+ result.clear();
+ else
+ result.resize(int(readBytes));
- return tmp;
+ return result;
}
/*!
@@ -952,28 +963,30 @@ QByteArray QIODevice::readAll()
this, int(d->pos), int(d->buffer.size()));
#endif
- QByteArray tmp;
- if (d->isSequential() || size() == 0) {
- // Read it in chunks. Use bytesAvailable() as an unreliable hint for
- // sequential devices, but try to read 4K as a minimum.
- int chunkSize = qMax(qint64(4096), bytesAvailable());
- qint64 totalRead = 0;
- forever {
- tmp.resize(tmp.size() + chunkSize);
- qint64 readBytes = read(tmp.data() + totalRead, chunkSize);
- tmp.chop(chunkSize - (readBytes < 0 ? 0 : readBytes));
- if (readBytes <= 0)
- return tmp;
- totalRead += readBytes;
- chunkSize = qMax(qint64(4096), bytesAvailable());
- }
+ QByteArray result;
+ qint64 readBytes = 0;
+ if (d->isSequential() || (readBytes = size()) == 0) {
+ // Size is unknown, read incrementally.
+ qint64 readResult;
+ do {
+ result.resize(result.size() + QIODEVICE_BUFFERSIZE);
+ readResult = read(result.data() + readBytes, result.size() - readBytes);
+ if (readResult > 0 || readBytes == 0)
+ readBytes += readResult;
+ } while (readResult > 0);
} else {
// Read it all in one go.
- tmp.resize(int(bytesAvailable()));
- qint64 readBytes = read(tmp.data(), tmp.size());
- tmp.resize(readBytes < 0 ? 0 : int(readBytes));
+ // If resize fails, don't read anything.
+ result.resize(int(readBytes - d->pos));
+ readBytes = read(result.data(), result.size());
}
- return tmp;
+
+ if (readBytes <= 0)
+ result.clear();
+ else
+ result.resize(int(readBytes));
+
+ return result;
}
/*!
@@ -1122,11 +1135,9 @@ qint64 QIODevice::readLine(char *data, qint64 maxSize)
QByteArray QIODevice::readLine(qint64 maxSize)
{
Q_D(QIODevice);
- CHECK_MAXLEN(readLine, QByteArray());
- QByteArray tmp;
- const int BufferGrowth = 4096;
- qint64 readSoFar = 0;
- qint64 readBytes = 0;
+ QByteArray result;
+
+ CHECK_MAXLEN(readLine, result);
#if defined QIODEVICE_DEBUG
printf("%p QIODevice::readLine(%d), d->pos = %d, d->buffer.size() = %d\n",
@@ -1135,25 +1146,34 @@ QByteArray QIODevice::readLine(qint64 maxSize)
Q_UNUSED(d);
#endif
- do {
- if (maxSize != 0)
- tmp.resize(int(readSoFar + qMin(int(maxSize), BufferGrowth)));
- else
- tmp.resize(int(readSoFar + BufferGrowth));
- readBytes = readLine(tmp.data() + readSoFar, tmp.size() - readSoFar);
- if (readBytes <= 0)
- break;
-
- readSoFar += readBytes;
- } while ((!maxSize || readSoFar < maxSize) &&
- readSoFar + 1 == tmp.size() && // +1 due to the ending null
- tmp.at(readSoFar - 1) != '\n');
+ if (maxSize > INT_MAX) {
+ qWarning("QIODevice::read: maxSize argument exceeds QByteArray size limit");
+ maxSize = INT_MAX;
+ }
- if (readSoFar == 0 && readBytes == -1)
- tmp.clear(); // return Null if we found an error
+ result.resize(int(maxSize));
+ qint64 readBytes = 0;
+ if (!result.size()) {
+ // If resize fails or maxSize == 0, read incrementally
+ if (maxSize == 0)
+ maxSize = INT_MAX;
+ qint64 readResult;
+ do {
+ result.resize(int(qMin(maxSize, result.size() + QIODEVICE_BUFFERSIZE)));
+ readResult = readLine(result.data() + readBytes, result.size() - readBytes);
+ if (readResult > 0 || readBytes == 0)
+ readBytes += readResult;
+ } while (readResult == QIODEVICE_BUFFERSIZE
+ && result[int(readBytes)] != '\n');
+ } else
+ readBytes = readLine(result.data(), result.size());
+
+ if (readBytes <= 0)
+ result.clear();
else
- tmp.resize(int(readSoFar));
- return tmp;
+ result.resize(readBytes);
+
+ return result;
}
/*!
@@ -1385,39 +1405,10 @@ bool QIODevicePrivate::putCharHelper(char c)
bool QIODevice::getChar(char *c)
{
Q_D(QIODevice);
- const OpenMode openMode = d->openMode;
- if (!(openMode & ReadOnly)) {
- if (openMode == NotOpen)
- qWarning("QIODevice::getChar: Closed device");
- else
- qWarning("QIODevice::getChar: WriteOnly device");
- return false;
- }
+ CHECK_READABLE(getChar, false);
- // Shortcut for QIODevice::read(c, 1)
- QRingBuffer *buffer = &d->buffer;
- const int chint = buffer->getChar();
- if (chint != -1) {
- char ch = char(uchar(chint));
- if ((openMode & Text) && ch == '\r') {
- buffer->ungetChar(ch);
- } else {
- if (c)
- *c = ch;
- if (!d->isSequential())
- ++d->pos;
- return true;
- }
- }
-
- // Fall back to read().
char ch;
- if (read(&ch, 1) == 1) {
- if (c)
- *c = ch;
- return true;
- }
- return false;
+ 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 0d8da0c..709f6f3 100644
--- a/src/gui/kernel/qwidget.cpp
+++ b/src/gui/kernel/qwidget.cpp
@@ -4677,8 +4677,10 @@ void QWidgetPrivate::resolveLayoutDirection()
By default, this property is set to Qt::LeftToRight.
When the layout direction is set on a widget, it will propagate to
- the widget's children. Children added after the call to \c
- setLayoutDirection() will not inherit the parent's layout
+ the widget's children, but not to a child that is a window and not
+ to a child for which setLayoutDirection() has been explicitly
+ called. Also, child widgets added \e after setLayoutDirection()
+ has been called for the parent do not inherit the parent's layout
direction.
\sa QApplication::layoutDirection
@@ -11869,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/qscriptable.cpp b/src/script/api/qscriptable.cpp
index c83653c..28e72c8 100644
--- a/src/script/api/qscriptable.cpp
+++ b/src/script/api/qscriptable.cpp
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/api/qscriptable.h b/src/script/api/qscriptable.h
index 7b92f74..697a271 100644
--- a/src/script/api/qscriptable.h
+++ b/src/script/api/qscriptable.h
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/api/qscriptable_p.h b/src/script/api/qscriptable_p.h
index b4e84f0..094950c 100644
--- a/src/script/api/qscriptable_p.h
+++ b/src/script/api/qscriptable_p.h
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/api/qscriptclass.cpp b/src/script/api/qscriptclass.cpp
index ec71d85..c982682 100644
--- a/src/script/api/qscriptclass.cpp
+++ b/src/script/api/qscriptclass.cpp
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/api/qscriptclass.h b/src/script/api/qscriptclass.h
index c416f37..df3b1a9 100644
--- a/src/script/api/qscriptclass.h
+++ b/src/script/api/qscriptclass.h
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/api/qscriptclasspropertyiterator.cpp b/src/script/api/qscriptclasspropertyiterator.cpp
index 14077ce..b8f278a 100644
--- a/src/script/api/qscriptclasspropertyiterator.cpp
+++ b/src/script/api/qscriptclasspropertyiterator.cpp
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/api/qscriptclasspropertyiterator.h b/src/script/api/qscriptclasspropertyiterator.h
index f8ea065..affec81 100644
--- a/src/script/api/qscriptclasspropertyiterator.h
+++ b/src/script/api/qscriptclasspropertyiterator.h
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/api/qscriptcontext.cpp b/src/script/api/qscriptcontext.cpp
index caa4dc2..77bac9b 100644
--- a/src/script/api/qscriptcontext.cpp
+++ b/src/script/api/qscriptcontext.cpp
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/api/qscriptcontext.h b/src/script/api/qscriptcontext.h
index 348ac9b..5284b13 100644
--- a/src/script/api/qscriptcontext.h
+++ b/src/script/api/qscriptcontext.h
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/api/qscriptcontext_p.h b/src/script/api/qscriptcontext_p.h
index a451103..e378b92 100644
--- a/src/script/api/qscriptcontext_p.h
+++ b/src/script/api/qscriptcontext_p.h
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/api/qscriptcontextinfo.cpp b/src/script/api/qscriptcontextinfo.cpp
index 6c34c5e..d3a15ec 100644
--- a/src/script/api/qscriptcontextinfo.cpp
+++ b/src/script/api/qscriptcontextinfo.cpp
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/api/qscriptcontextinfo.h b/src/script/api/qscriptcontextinfo.h
index 778473c..dcc57ad 100644
--- a/src/script/api/qscriptcontextinfo.h
+++ b/src/script/api/qscriptcontextinfo.h
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/api/qscriptengine.cpp b/src/script/api/qscriptengine.cpp
index 216f325..dc0e0d0 100644
--- a/src/script/api/qscriptengine.cpp
+++ b/src/script/api/qscriptengine.cpp
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
@@ -794,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);
@@ -1320,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/script/api/qscriptengine.h b/src/script/api/qscriptengine.h
index 7db61e1..8cacc52 100644
--- a/src/script/api/qscriptengine.h
+++ b/src/script/api/qscriptengine.h
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/api/qscriptengine_p.h b/src/script/api/qscriptengine_p.h
index e7cdcda..68bf8e0 100644
--- a/src/script/api/qscriptengine_p.h
+++ b/src/script/api/qscriptengine_p.h
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/api/qscriptengineagent.cpp b/src/script/api/qscriptengineagent.cpp
index 0ca7ecc..e7998b7 100644
--- a/src/script/api/qscriptengineagent.cpp
+++ b/src/script/api/qscriptengineagent.cpp
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/api/qscriptengineagent.h b/src/script/api/qscriptengineagent.h
index e260f44..37c2534 100644
--- a/src/script/api/qscriptengineagent.h
+++ b/src/script/api/qscriptengineagent.h
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/api/qscriptengineagent_p.h b/src/script/api/qscriptengineagent_p.h
index 86e4378..efbcb4d 100644
--- a/src/script/api/qscriptengineagent_p.h
+++ b/src/script/api/qscriptengineagent_p.h
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/api/qscriptextensioninterface.h b/src/script/api/qscriptextensioninterface.h
index 0084121..9923f4a 100644
--- a/src/script/api/qscriptextensioninterface.h
+++ b/src/script/api/qscriptextensioninterface.h
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/api/qscriptextensionplugin.cpp b/src/script/api/qscriptextensionplugin.cpp
index 782df58..d0c770b 100644
--- a/src/script/api/qscriptextensionplugin.cpp
+++ b/src/script/api/qscriptextensionplugin.cpp
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/api/qscriptextensionplugin.h b/src/script/api/qscriptextensionplugin.h
index 6cc1efb..e4d1da6 100644
--- a/src/script/api/qscriptextensionplugin.h
+++ b/src/script/api/qscriptextensionplugin.h
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/api/qscriptprogram.cpp b/src/script/api/qscriptprogram.cpp
index c30f381..deea582 100644
--- a/src/script/api/qscriptprogram.cpp
+++ b/src/script/api/qscriptprogram.cpp
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/api/qscriptprogram.h b/src/script/api/qscriptprogram.h
index de891cd..54e9f01 100644
--- a/src/script/api/qscriptprogram.h
+++ b/src/script/api/qscriptprogram.h
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/api/qscriptprogram_p.h b/src/script/api/qscriptprogram_p.h
index 5175079..61a5b01 100644
--- a/src/script/api/qscriptprogram_p.h
+++ b/src/script/api/qscriptprogram_p.h
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/api/qscriptstring.cpp b/src/script/api/qscriptstring.cpp
index 10fccd0..65f797d 100644
--- a/src/script/api/qscriptstring.cpp
+++ b/src/script/api/qscriptstring.cpp
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/api/qscriptstring.h b/src/script/api/qscriptstring.h
index bf5d1d5..be99f53 100644
--- a/src/script/api/qscriptstring.h
+++ b/src/script/api/qscriptstring.h
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/api/qscriptstring_p.h b/src/script/api/qscriptstring_p.h
index 8e344e8..cb418ad 100644
--- a/src/script/api/qscriptstring_p.h
+++ b/src/script/api/qscriptstring_p.h
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/api/qscriptvalue.cpp b/src/script/api/qscriptvalue.cpp
index d6cbb41..286230f 100644
--- a/src/script/api/qscriptvalue.cpp
+++ b/src/script/api/qscriptvalue.cpp
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/api/qscriptvalue.h b/src/script/api/qscriptvalue.h
index aba3327..0431ee5 100644
--- a/src/script/api/qscriptvalue.h
+++ b/src/script/api/qscriptvalue.h
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/api/qscriptvalue_p.h b/src/script/api/qscriptvalue_p.h
index c322a37..8211607 100644
--- a/src/script/api/qscriptvalue_p.h
+++ b/src/script/api/qscriptvalue_p.h
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/api/qscriptvalueiterator.cpp b/src/script/api/qscriptvalueiterator.cpp
index cf27af6..03cb695 100644
--- a/src/script/api/qscriptvalueiterator.cpp
+++ b/src/script/api/qscriptvalueiterator.cpp
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/api/qscriptvalueiterator.h b/src/script/api/qscriptvalueiterator.h
index 26ddbed..946a322 100644
--- a/src/script/api/qscriptvalueiterator.h
+++ b/src/script/api/qscriptvalueiterator.h
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/bridge/qscriptactivationobject.cpp b/src/script/bridge/qscriptactivationobject.cpp
index edccb3e..80f4bf1 100644
--- a/src/script/bridge/qscriptactivationobject.cpp
+++ b/src/script/bridge/qscriptactivationobject.cpp
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/bridge/qscriptactivationobject_p.h b/src/script/bridge/qscriptactivationobject_p.h
index f313f90..80d8c1e 100644
--- a/src/script/bridge/qscriptactivationobject_p.h
+++ b/src/script/bridge/qscriptactivationobject_p.h
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/bridge/qscriptclassobject.cpp b/src/script/bridge/qscriptclassobject.cpp
index 1dde98b..43ea5f9 100644
--- a/src/script/bridge/qscriptclassobject.cpp
+++ b/src/script/bridge/qscriptclassobject.cpp
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/bridge/qscriptclassobject_p.h b/src/script/bridge/qscriptclassobject_p.h
index 9b34244..8ebde3a 100644
--- a/src/script/bridge/qscriptclassobject_p.h
+++ b/src/script/bridge/qscriptclassobject_p.h
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/bridge/qscriptdeclarativeclass.cpp b/src/script/bridge/qscriptdeclarativeclass.cpp
index b5d9bf5..df00ce9 100644
--- a/src/script/bridge/qscriptdeclarativeclass.cpp
+++ b/src/script/bridge/qscriptdeclarativeclass.cpp
@@ -6,35 +6,17 @@
**
** This file is part of the QtDeclarative module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
@@ -354,3 +336,4 @@ QScriptContext *QScriptDeclarativeClass::context() const
return d_ptr->context;
}
+QT_END_NAMESPACE
diff --git a/src/script/bridge/qscriptdeclarativeclass_p.h b/src/script/bridge/qscriptdeclarativeclass_p.h
index d0e653d..40e5051 100644
--- a/src/script/bridge/qscriptdeclarativeclass_p.h
+++ b/src/script/bridge/qscriptdeclarativeclass_p.h
@@ -6,35 +6,17 @@
**
** This file is part of the QtDeclarative module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/bridge/qscriptdeclarativeobject.cpp b/src/script/bridge/qscriptdeclarativeobject.cpp
index 1af632d..6b4f5cb 100644
--- a/src/script/bridge/qscriptdeclarativeobject.cpp
+++ b/src/script/bridge/qscriptdeclarativeobject.cpp
@@ -6,35 +6,17 @@
**
** This file is part of the QtDeclarative module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/bridge/qscriptdeclarativeobject_p.h b/src/script/bridge/qscriptdeclarativeobject_p.h
index 73e5527..2aa3fb0 100644
--- a/src/script/bridge/qscriptdeclarativeobject_p.h
+++ b/src/script/bridge/qscriptdeclarativeobject_p.h
@@ -6,35 +6,17 @@
**
** This file is part of the QtDeclarative module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/bridge/qscriptfunction.cpp b/src/script/bridge/qscriptfunction.cpp
index d3767bf..e2e6120 100644
--- a/src/script/bridge/qscriptfunction.cpp
+++ b/src/script/bridge/qscriptfunction.cpp
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/bridge/qscriptfunction_p.h b/src/script/bridge/qscriptfunction_p.h
index bfcd703..10e3f42 100644
--- a/src/script/bridge/qscriptfunction_p.h
+++ b/src/script/bridge/qscriptfunction_p.h
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/bridge/qscriptglobalobject.cpp b/src/script/bridge/qscriptglobalobject.cpp
index c624a31..2217025 100644
--- a/src/script/bridge/qscriptglobalobject.cpp
+++ b/src/script/bridge/qscriptglobalobject.cpp
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/bridge/qscriptglobalobject_p.h b/src/script/bridge/qscriptglobalobject_p.h
index 01784c2..9909afc 100644
--- a/src/script/bridge/qscriptglobalobject_p.h
+++ b/src/script/bridge/qscriptglobalobject_p.h
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/bridge/qscriptobject.cpp b/src/script/bridge/qscriptobject.cpp
index 1fdf0b1..2d71c43 100644
--- a/src/script/bridge/qscriptobject.cpp
+++ b/src/script/bridge/qscriptobject.cpp
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/bridge/qscriptobject_p.h b/src/script/bridge/qscriptobject_p.h
index 0992eec..a4faa06 100644
--- a/src/script/bridge/qscriptobject_p.h
+++ b/src/script/bridge/qscriptobject_p.h
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/bridge/qscriptqobject.cpp b/src/script/bridge/qscriptqobject.cpp
index caf1018..559fcd3 100644
--- a/src/script/bridge/qscriptqobject.cpp
+++ b/src/script/bridge/qscriptqobject.cpp
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/bridge/qscriptqobject_p.h b/src/script/bridge/qscriptqobject_p.h
index 2d482cc..41900b5 100644
--- a/src/script/bridge/qscriptqobject_p.h
+++ b/src/script/bridge/qscriptqobject_p.h
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/bridge/qscriptvariant.cpp b/src/script/bridge/qscriptvariant.cpp
index 725f4e0..cc5df9a 100644
--- a/src/script/bridge/qscriptvariant.cpp
+++ b/src/script/bridge/qscriptvariant.cpp
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/bridge/qscriptvariant_p.h b/src/script/bridge/qscriptvariant_p.h
index 445ca69..81312e8 100644
--- a/src/script/bridge/qscriptvariant_p.h
+++ b/src/script/bridge/qscriptvariant_p.h
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/parser/qscript.g b/src/script/parser/qscript.g
index 7e5568a..2d61713 100644
--- a/src/script/parser/qscript.g
+++ b/src/script/parser/qscript.g
@@ -6,35 +6,17 @@
--
-- This file is part of the QtScript module 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.
---
+-- $QT_BEGIN_LICENSE:LGPL-ONLY$
-- GNU Lesser General Public License Usage
--- Alternatively, this file may be used under the terms of the GNU Lesser
+-- 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$
--
----------------------------------------------------------------------------
diff --git a/src/script/parser/qscriptast.cpp b/src/script/parser/qscriptast.cpp
index 29d3557..c2ba81b 100644
--- a/src/script/parser/qscriptast.cpp
+++ b/src/script/parser/qscriptast.cpp
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/parser/qscriptast_p.h b/src/script/parser/qscriptast_p.h
index 5f687eb..921c9d8 100644
--- a/src/script/parser/qscriptast_p.h
+++ b/src/script/parser/qscriptast_p.h
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/parser/qscriptastfwd_p.h b/src/script/parser/qscriptastfwd_p.h
index 620128d..3b38303 100644
--- a/src/script/parser/qscriptastfwd_p.h
+++ b/src/script/parser/qscriptastfwd_p.h
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/parser/qscriptastvisitor.cpp b/src/script/parser/qscriptastvisitor.cpp
index 1e51178..256d4c3 100644
--- a/src/script/parser/qscriptastvisitor.cpp
+++ b/src/script/parser/qscriptastvisitor.cpp
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/parser/qscriptastvisitor_p.h b/src/script/parser/qscriptastvisitor_p.h
index dc8a76f9..9985485 100644
--- a/src/script/parser/qscriptastvisitor_p.h
+++ b/src/script/parser/qscriptastvisitor_p.h
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/parser/qscriptgrammar.cpp b/src/script/parser/qscriptgrammar.cpp
index c7f661b..03eb526 100644
--- a/src/script/parser/qscriptgrammar.cpp
+++ b/src/script/parser/qscriptgrammar.cpp
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/parser/qscriptgrammar_p.h b/src/script/parser/qscriptgrammar_p.h
index 0cb6d22..b75ee16 100644
--- a/src/script/parser/qscriptgrammar_p.h
+++ b/src/script/parser/qscriptgrammar_p.h
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/parser/qscriptlexer.cpp b/src/script/parser/qscriptlexer.cpp
index 5080d10..e62add1 100644
--- a/src/script/parser/qscriptlexer.cpp
+++ b/src/script/parser/qscriptlexer.cpp
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/parser/qscriptlexer_p.h b/src/script/parser/qscriptlexer_p.h
index b377767..d2096ad 100644
--- a/src/script/parser/qscriptlexer_p.h
+++ b/src/script/parser/qscriptlexer_p.h
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/parser/qscriptparser.cpp b/src/script/parser/qscriptparser.cpp
index 5ea6c17..509c4b1 100644
--- a/src/script/parser/qscriptparser.cpp
+++ b/src/script/parser/qscriptparser.cpp
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/parser/qscriptparser_p.h b/src/script/parser/qscriptparser_p.h
index c940e1e..2a42b41 100644
--- a/src/script/parser/qscriptparser_p.h
+++ b/src/script/parser/qscriptparser_p.h
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/parser/qscriptsyntaxchecker.cpp b/src/script/parser/qscriptsyntaxchecker.cpp
index 9256695..3503b61 100644
--- a/src/script/parser/qscriptsyntaxchecker.cpp
+++ b/src/script/parser/qscriptsyntaxchecker.cpp
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/parser/qscriptsyntaxchecker_p.h b/src/script/parser/qscriptsyntaxchecker_p.h
index edc4b59..1c502e9 100644
--- a/src/script/parser/qscriptsyntaxchecker_p.h
+++ b/src/script/parser/qscriptsyntaxchecker_p.h
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/utils/qscriptdate.cpp b/src/script/utils/qscriptdate.cpp
index 9e402b0..a6106db 100644
--- a/src/script/utils/qscriptdate.cpp
+++ b/src/script/utils/qscriptdate.cpp
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
diff --git a/src/script/utils/qscriptdate_p.h b/src/script/utils/qscriptdate_p.h
index 15bac00..f720527 100644
--- a/src/script/utils/qscriptdate_p.h
+++ b/src/script/utils/qscriptdate_p.h
@@ -6,35 +6,17 @@
**
** This file is part of the QtScript module 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.
-**
+** $QT_BEGIN_LICENSE:LGPL-ONLY$
** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
+** 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$
**
****************************************************************************/
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/headers/tst_headers.cpp b/tests/auto/headers/tst_headers.cpp
index d4f2ff4..36d25fe 100644
--- a/tests/auto/headers/tst_headers.cpp
+++ b/tests/auto/headers/tst_headers.cpp
@@ -77,7 +77,7 @@ private:
tst_Headers::tst_Headers() :
copyrightPattern("\\*\\* Copyright \\(C\\) 20[0-9][0-9] Nokia Corporation and/or its subsidiary\\(-ies\\)."),
- licensePattern("\\*\\* \\$QT_BEGIN_LICENSE:(LGPL|BSD|3RDPARTY)\\$"),
+ licensePattern("\\*\\* \\$QT_BEGIN_LICENSE:(LGPL|BSD|3RDPARTY|LGPL-ONLY)\\$"),
moduleTest(QLatin1String("\\*\\* This file is part of the .+ of the Qt Toolkit."))
{
}
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/qfile/tst_qfile.cpp b/tests/auto/qfile/tst_qfile.cpp
index b3d6fd9..cf46ce1 100644
--- a/tests/auto/qfile/tst_qfile.cpp
+++ b/tests/auto/qfile/tst_qfile.cpp
@@ -210,6 +210,7 @@ private slots:
void task167217();
void openDirectory();
+ void writeNothing();
public:
// disabled this test for the moment... it hangs
@@ -750,6 +751,7 @@ void tst_QFile::readAllStdin()
QProcess process;
process.start("stdinprocess/stdinprocess all");
+ QVERIFY( process.waitForStarted() );
for (int i = 0; i < 5; ++i) {
QTest::qWait(1000);
process.write(lotsOfData);
@@ -2489,13 +2491,13 @@ void tst_QFile::readEof()
}
QByteArray ret = file.read(10);
- QVERIFY(ret.isNull());
+ QVERIFY(ret.isEmpty());
QVERIFY(file.error() == QFile::NoError);
QVERIFY(file.atEnd());
// Do it again to ensure that we get the same result
ret = file.read(10);
- QVERIFY(ret.isNull());
+ QVERIFY(ret.isEmpty());
QVERIFY(file.error() == QFile::NoError);
QVERIFY(file.atEnd());
}
@@ -2840,5 +2842,16 @@ void tst_QFile::openStandardStreams()
}
}
+void tst_QFile::writeNothing()
+{
+ for (int i = 0; i < 3; ++i) {
+ QFile file("file.txt");
+ QVERIFY( openFile(file, QIODevice::WriteOnly | QIODevice::Unbuffered, FileType(i)) );
+ QVERIFY( 0 == file.write((char *)0, 0) );
+ QCOMPARE( file.error(), QFile::NoError );
+ closeFile(file);
+ }
+}
+
QTEST_MAIN(tst_QFile)
#include "tst_qfile.moc"
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 735e030..cd3feec 100644
--- a/tools/configure/configureapp.cpp
+++ b/tools/configure/configureapp.cpp
@@ -2595,7 +2595,7 @@ void Configure::generateOutputVars()
if (!opensslLibs.isEmpty())
qmakeVars += opensslLibs;
else if (dictionary[ "OPENSSL" ] == "linked") {
- if(dictionary[ "XQMAKESPEC" ].startsWith("symbian") )
+ if(dictionary.contains("XQMAKESPEC") && dictionary[ "XQMAKESPEC" ].startsWith("symbian") )
qmakeVars += QString("OPENSSL_LIBS = -llibssl -llibcrypto");
else
qmakeVars += QString("OPENSSL_LIBS = -lssleay32 -llibeay32");
@@ -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/qttracereplay/main.cpp b/tools/qttracereplay/main.cpp
index 7261082..4760c43 100644
--- a/tools/qttracereplay/main.cpp
+++ b/tools/qttracereplay/main.cpp
@@ -177,6 +177,12 @@ int main(int argc, char **argv)
return 1;
}
+ QFile file(argv[1]);
+ if (!file.exists()) {
+ printf("%s does not exist\n", argv[1]);
+ return 1;
+ }
+
ReplayWidget *widget = new ReplayWidget(argv[1]);
if (!widget->updates.isEmpty()) {
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_de.ts b/translations/assistant_de.ts
index 027c566..b020003 100644
--- a/translations/assistant_de.ts
+++ b/translations/assistant_de.ts
@@ -79,7 +79,7 @@
<context>
<name>BookmarkManager</name>
<message>
- <location line="+434"/>
+ <location line="+435"/>
<source>Bookmarks</source>
<translation>Lesezeichen</translation>
</message>
@@ -103,7 +103,7 @@
<context>
<name>BookmarkWidget</name>
<message>
- <location line="-416"/>
+ <location line="-417"/>
<source>Filter:</source>
<translation>Filter:</translation>
</message>
@@ -130,7 +130,7 @@
<message>
<location line="+1"/>
<source>Show Bookmark in New Tab</source>
- <translation>Lesezeichen in neuem Tab öffnen</translation>
+ <translation>Lesezeichen in neuem Reiter öffnen</translation>
</message>
<message>
<location line="+3"/>
@@ -151,7 +151,7 @@
<context>
<name>CentralWidget</name>
<message>
- <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="+238"/>
+ <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="+239"/>
<source>Add new page</source>
<translation>Neue Seite hinzufügen</translation>
</message>
@@ -166,7 +166,7 @@
<translation>Drucken</translation>
</message>
<message>
- <location line="+148"/>
+ <location line="+130"/>
<location line="+2"/>
<source>unknown</source>
<translation>unbekannt</translation>
@@ -192,7 +192,7 @@
<translation>Lesezeichen für diese Seite hinzufügen ...</translation>
</message>
<message>
- <location line="+255"/>
+ <location line="+235"/>
<source>Search</source>
<translation>Suchen</translation>
</message>
@@ -207,7 +207,7 @@
<message>
<location line="+1"/>
<source>Open Link in New Tab</source>
- <translation>Link in neuem Tab öffnen</translation>
+ <translation>Link in neuem Reiter öffnen</translation>
</message>
</context>
<context>
@@ -226,7 +226,7 @@
<context>
<name>FindWidget</name>
<message>
- <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="-955"/>
+ <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="-918"/>
<source>Previous</source>
<translation>Zurück</translation>
</message>
@@ -282,7 +282,7 @@
<context>
<name>HelpViewer</name>
<message>
- <location filename="../tools/assistant/tools/assistant/helpviewer.cpp" line="+492"/>
+ <location filename="../tools/assistant/tools/assistant/helpviewer.cpp" line="+489"/>
<source>Help</source>
<translation>Hilfe</translation>
</message>
@@ -304,12 +304,12 @@
<message>
<location line="+3"/>
<source>Open Link in New Tab Ctrl+LMB</source>
- <translation>Link in neuem Tab öffnen </translation>
+ <translation>Link in neuem Reiter öffnen </translation>
</message>
<message>
<location line="-275"/>
<source>Open Link in New Tab</source>
- <translation>Link in neuem Tab öffnen</translation>
+ <translation>Link in neuem Reiter öffnen</translation>
</message>
<message>
<location line="+209"/>
@@ -334,7 +334,7 @@
<message>
<location line="+1"/>
<source>Open Link in New Tab</source>
- <translation>Link in neuem Tab öffnen</translation>
+ <translation>Link in neuem Reiter öffnen</translation>
</message>
</context>
<context>
@@ -392,7 +392,7 @@
<message>
<location line="+37"/>
<source>Download failed: Downloaded file is corrupted.</source>
- <translation>Herunterladen fehlgeschlagen: Die Datei ist warscheinlich beschädigt.</translation>
+ <translation>Herunterladen fehlgeschlagen: Die Datei ist wahrscheinlich beschädigt.</translation>
</message>
<message>
<location line="+2"/>
@@ -441,19 +441,19 @@
<name>MainWindow</name>
<message>
<location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="+110"/>
- <location line="+391"/>
+ <location line="+383"/>
<source>Index</source>
<translation>Index</translation>
</message>
<message>
- <location line="-385"/>
- <location line="+383"/>
+ <location line="-377"/>
+ <location line="+375"/>
<source>Contents</source>
<translation>Inhalt</translation>
</message>
<message>
- <location line="-378"/>
- <location line="+382"/>
+ <location line="-370"/>
+ <location line="+374"/>
<source>Bookmarks</source>
<translation>Lesezeichen</translation>
</message>
@@ -463,14 +463,14 @@
<translation>Suchen</translation>
</message>
<message>
- <location line="-372"/>
- <location line="+215"/>
- <location line="+512"/>
+ <location line="-364"/>
+ <location line="+207"/>
+ <location line="+514"/>
<source>Qt Assistant</source>
<translation>Qt Assistant</translation>
</message>
<message>
- <location line="-544"/>
+ <location line="-546"/>
<location line="+5"/>
<source>Unfiltered</source>
<translation>Ohne Filter</translation>
@@ -493,12 +493,12 @@
<message>
<location line="+7"/>
<source>New &amp;Tab</source>
- <translation>Neuer &amp;Tab</translation>
+ <translation>Neuer &amp;Reiter</translation>
</message>
<message>
<location line="+3"/>
<source>&amp;Close Tab</source>
- <translation>Tab &amp;schließen</translation>
+ <translation>Reiter &amp;schließen</translation>
</message>
<message>
<location line="+4"/>
@@ -516,7 +516,12 @@
<translation>&amp;Textsuche ...</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+2"/>
+ <source>&amp;Find</source>
+ <translation>&amp;Suchen</translation>
+ </message>
+ <message>
+ <location line="+4"/>
<source>Find &amp;Next</source>
<translation>&amp;Weitersuchen</translation>
</message>
@@ -583,10 +588,15 @@
<message>
<location line="+6"/>
<source>Sync with Table of Contents</source>
- <translation>Seite mit Inhalt-Tab abgleichen</translation>
+ <translation>Seite mit Inhaltsangabe abgleichen</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+2"/>
+ <source>Sync</source>
+ <translation>Synchronisieren</translation>
+ </message>
+ <message>
+ <location line="+5"/>
<source>Next Page</source>
<translation>Nächste Seite</translation>
</message>
@@ -636,7 +646,7 @@
<translation>Filter:</translation>
</message>
<message>
- <location line="+23"/>
+ <location line="+25"/>
<source>Address Toolbar</source>
<translation>Adressleiste</translation>
</message>
@@ -661,7 +671,7 @@
<translation>Suchindex wird aufgebaut</translation>
</message>
<message>
- <location line="-638"/>
+ <location line="-640"/>
<source>Looking for Qt Documentation...</source>
<translation>Suche nach Qt-Dokumentation ...</translation>
</message>
@@ -963,7 +973,7 @@
<translation>Qt Assistant</translation>
</message>
<message>
- <location filename="../tools/assistant/tools/assistant/main.cpp" line="+217"/>
+ <location filename="../tools/assistant/tools/assistant/main.cpp" line="+225"/>
<source>Could not register documentation file
%1
@@ -1023,7 +1033,7 @@ Grund:
<context>
<name>SearchWidget</name>
<message>
- <location filename="../tools/assistant/tools/assistant/searchwidget.cpp" line="+195"/>
+ <location filename="../tools/assistant/tools/assistant/searchwidget.cpp" line="+196"/>
<source>&amp;Copy</source>
<translation>&amp;Kopieren</translation>
</message>
@@ -1035,7 +1045,7 @@ Grund:
<message>
<location line="+4"/>
<source>Open Link in New Tab</source>
- <translation>Link in neuem Tab öffnen</translation>
+ <translation>Link in neuem Reiter öffnen</translation>
</message>
<message>
<location line="+8"/>
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_de.ts b/translations/designer_de.ts
index 638a8b4..76ccbfb 100644
--- a/translations/designer_de.ts
+++ b/translations/designer_de.ts
@@ -702,7 +702,7 @@
<context>
<name>ConnectionDelegate</name>
<message>
- <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp" line="+643"/>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp" line="+644"/>
<source>&lt;object&gt;</source>
<translation>&lt;Objekt&gt;</translation>
</message>
@@ -4446,8 +4446,8 @@ Möchten Sie sie überschreiben?</translation>
<location line="+6"/>
<source>Customized (%n roles)</source>
<translation>
- <numerusform>Angepaßt (eine Rolle)</numerusform>
- <numerusform>Angepaßt (%n Rollen)</numerusform>
+ <numerusform>Angepasst (eine Rolle)</numerusform>
+ <numerusform>Angepasst (%n Rollen)</numerusform>
</translation>
</message>
<message>
@@ -4689,7 +4689,7 @@ Möchten Sie sie überschreiben?</translation>
<message>
<location filename="../tools/designer/src/lib/shared/filterwidget.cpp" line="+185"/>
<source>&lt;Filter&gt;</source>
- <translation>&lt;FIlter&gt;</translation>
+ <translation>&lt;Filter&gt;</translation>
</message>
</context>
<context>
@@ -5550,18 +5550,15 @@ Please select another name.</source>
<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;Suchen...</translation>
- </message>
-</context>
-<context>
- <name>qdesigner_internal::ObjectInspector::ObjectInspectorPrivate</name>
- <message>
- <location line="-438"/>
+ <location filename="../tools/designer/src/components/objectinspector/objectinspector.cpp" line="+316"/>
<source>Change Current Page</source>
<translation>Seite wechseln</translation>
</message>
+ <message>
+ <location line="+438"/>
+ <source>&amp;Find in Text...</source>
+ <translation>&amp;Suchen...</translation>
+ </message>
</context>
<context>
<name>qdesigner_internal::OrderDialog</name>
@@ -5747,7 +5744,7 @@ Please select another name.</source>
<message>
<location line="+55"/>
<source>New custom widget plugins have been found.</source>
- <translation>Es wurden neuinstallierten Plugins mit benutzerdefinierten Widgets gefunden.</translation>
+ <translation>Es wurden neu installierte Plugins mit benutzerdefinierten Widgets gefunden.</translation>
</message>
</context>
<context>
@@ -5775,9 +5772,6 @@ Please select another name.</source>
<source>Browse...</source>
<translation>Durchsuchen...</translation>
</message>
-</context>
-<context>
- <name>qdesigner_internal::PreviewConfigurationWidget::PreviewConfigurationWidgetPrivate</name>
<message>
<location line="+118"/>
<source>Load Custom Device Skin</source>
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/linguist_de.ts b/translations/linguist_de.ts
index 25f35ef..9362811 100644
--- a/translations/linguist_de.ts
+++ b/translations/linguist_de.ts
@@ -4,7 +4,7 @@
<context>
<name>AboutDialog</name>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="+1357"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="+1358"/>
<source>Qt Linguist</source>
<translation>Qt Linguist</translation>
</message>
@@ -109,11 +109,17 @@
</message>
<message>
<location line="+4"/>
+ <location line="+8"/>
<source>&lt;p&gt;[more duplicates omitted]</source>
<translation>&lt;p&gt;[weitere mehrfach vorhandene Nachrichten weggelassen]</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="-5"/>
+ <source>&lt;p&gt;* ID: %1</source>
+ <translation>&lt;p&gt;* ID: %1</translation>
+ </message>
+ <message>
+ <location line="+8"/>
<source>&lt;p&gt;* Context: %1&lt;br&gt;* Source: %2</source>
<translation>&lt;p&gt;* Kontext: %1&lt;br&gt;* Quelle: %2</translation>
</message>
@@ -123,7 +129,7 @@
<translation>&lt;br&gt;* Kommentar: %3</translation>
</message>
<message>
- <location line="+70"/>
+ <location line="+71"/>
<source>Linguist does not know the plural rules for &apos;%1&apos;.
Will assume a single universal form.</source>
<translation>Die Regeln zur Pluralbildung der Sprache &apos;%1&apos; sind in Linguist nicht definiert.
@@ -311,7 +317,7 @@ Es wird mit einer einfachen Universalform gearbeitet.</translation>
<context>
<name>LRelease</name>
<message numerus="yes">
- <location filename="../tools/linguist/shared/qm.cpp" line="+747"/>
+ <location filename="../tools/linguist/shared/qm.cpp" line="+761"/>
<source>Dropped %n message(s) which had no ID.</source>
<translation>
<numerusform>Es wurde ein Eintrag ohne Bezeichner gelöscht.</numerusform>
@@ -908,7 +914,7 @@ Es wird mit einer einfachen Universalform gearbeitet.</translation>
<translation>Freigeben unter ...</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-2004"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-2005"/>
<source></source>
<comment>This is the application&apos;s main window.</comment>
<translation></translation>
@@ -926,17 +932,17 @@ Es wird mit einer einfachen Universalform gearbeitet.</translation>
</message>
<message>
<location line="-2"/>
- <location line="+62"/>
+ <location line="+63"/>
<source>Context</source>
<translation>Kontext</translation>
</message>
<message>
- <location line="-61"/>
+ <location line="-62"/>
<source>Items</source>
<translation>Einträge</translation>
</message>
<message>
- <location line="+78"/>
+ <location line="+79"/>
<source>This panel lists the source contexts.</source>
<translation>Dieser Bereich zeigt die Kontexte an.</translation>
</message>
@@ -1391,7 +1397,7 @@ Alle Dateien (*)</translation>
<message>
<location filename="../tools/linguist/linguist/mainwindow.ui"/>
<source>Open/Refresh Form &amp;Preview</source>
- <translation>Die &amp;Vorschau öffnen/&amp;aktualisieren</translation>
+ <translation>&amp;Vorschau öffnen/aktualisieren</translation>
</message>
<message>
<location/>
@@ -1801,8 +1807,8 @@ Zeile: %2</translation>
<translation>Alle Dateien (*)</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/messagemodel.cpp" line="-1118"/>
- <location line="+18"/>
+ <location filename="../tools/linguist/linguist/messagemodel.cpp" line="-1127"/>
+ <location line="+27"/>
<location line="+67"/>
<location line="+39"/>
<location line="+17"/>
diff --git a/translations/qt_de.ts b/translations/qt_de.ts
index 0d329e5..81968fb 100644
--- a/translations/qt_de.ts
+++ b/translations/qt_de.ts
@@ -4,7 +4,7 @@
<context>
<name>CloseButton</name>
<message>
- <location filename="../src/gui/widgets/qtabbar.cpp" line="+2245"/>
+ <location filename="../src/gui/widgets/qtabbar.cpp" line="+2262"/>
<source>Close Tab</source>
<translation>Schließen</translation>
</message>
@@ -12,7 +12,7 @@
<context>
<name>FakeReply</name>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp" line="+2191"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp" line="+2198"/>
<source>Fake error !</source>
<translation>Fake error !</translation>
</message>
@@ -58,7 +58,7 @@
<context>
<name>Phonon::AudioOutput</name>
<message>
- <location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+377"/>
+ <location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+385"/>
<source>&lt;html&gt;The audio playback device &lt;b&gt;%1&lt;/b&gt; does not work.&lt;br/&gt;Falling back to &lt;b&gt;%2&lt;/b&gt;.&lt;/html&gt;</source>
<translation>&lt;html&gt;Das Audiogerät &lt;b&gt;%1&lt;/b&gt; funktioniert nicht.&lt;br/&gt;Es wird stattdessen &lt;b&gt;%2&lt;/b&gt; verwendet.&lt;/html&gt;</translation>
</message>
@@ -76,7 +76,7 @@
<context>
<name>Phonon::Gstreamer::Backend</name>
<message>
- <location filename="../src/3rdparty/phonon/gstreamer/backend.cpp" line="+171"/>
+ <location filename="../src/3rdparty/phonon/gstreamer/backend.cpp" line="+182"/>
<source>Warning: You do not seem to have the package gstreamer0.10-plugins-good installed.
Some video features have been disabled.</source>
<translation>Achtung: Das Paket gstreamer0.10-plugins-good ist nicht installiert.
@@ -96,10 +96,11 @@ Die Audio- und Video-Unterstützung steht nicht zur Verfügung.</translation>
<location filename="../src/3rdparty/phonon/gstreamer/mediaobject.cpp" line="+90"/>
<source>Cannot start playback.
-Check your Gstreamer installation and make sure you
+Check your GStreamer installation and make sure you
have libgstreamer-plugins-base installed.</source>
- <translation>Die Wiedergabe kann nicht gestartet werden.
-Bitte prüfen Sie die Gstreamer-Installation und stellen Sie sicher, dass das Paket libgstreamer-plugins-base installiert ist.</translation>
+ <translation>Das Abspielen konnte nicht gestartet werden.
+
+Bitte überprüfen Sie Ihre GStreamer-Installation und stellen Sie sicher, dass das Paket libgstreamer-plugins-base installiert ist.</translation>
</message>
<message>
<location line="+113"/>
@@ -107,10 +108,10 @@ Bitte prüfen Sie die Gstreamer-Installation und stellen Sie sicher, dass das Pa
<translation>Es sind nicht alle erforderlichen Codecs installiert. Um diesen Inhalt abzuspielen, muss der folgende Codec installiert werden: %0</translation>
</message>
<message>
- <location line="+681"/>
+ <location line="+702"/>
<location line="+8"/>
<location line="+15"/>
- <location line="+22"/>
+ <location line="+26"/>
<location line="+6"/>
<location line="+19"/>
<location line="+339"/>
@@ -119,12 +120,12 @@ Bitte prüfen Sie die Gstreamer-Installation und stellen Sie sicher, dass das Pa
<translation>Die Medienquelle konnte nicht geöffnet werden.</translation>
</message>
<message>
- <location line="-420"/>
+ <location line="-424"/>
<source>Invalid source type.</source>
<translation>Ungültiger Typ der Medienquelle.</translation>
</message>
<message>
- <location line="+394"/>
+ <location line="+398"/>
<source>Could not locate media source.</source>
<translation>Die Medienquelle konnte nicht gefunden werden.</translation>
</message>
@@ -142,7 +143,7 @@ Bitte prüfen Sie die Gstreamer-Installation und stellen Sie sicher, dass das Pa
<context>
<name>Phonon::MMF</name>
<message>
- <location filename="../src/3rdparty/phonon/mmf/audiooutput.cpp" line="+110"/>
+ <location filename="../src/3rdparty/phonon/mmf/audiooutput.cpp" line="+108"/>
<source>Audio Output</source>
<translation>Audio-Ausgabe</translation>
</message>
@@ -164,13 +165,13 @@ Bitte prüfen Sie die Gstreamer-Installation und stellen Sie sicher, dass das Pa
<name>Phonon::MMF::EffectFactory</name>
<message>
<location filename="../src/3rdparty/phonon/mmf/effectfactory.cpp" line="+65"/>
- <source>audio equalizer</source>
+ <source>Audio Equalizer</source>
<translation>Audio-Equalizer</translation>
</message>
<message>
<location line="+2"/>
- <source>Bass boost</source>
- <translation>Hervorhebung der Bässe</translation>
+ <source>Bass Boost</source>
+ <translation>Bass-Boost</translation>
</message>
<message>
<location line="+2"/>
@@ -200,6 +201,14 @@ Bitte prüfen Sie die Gstreamer-Installation und stellen Sie sicher, dass das Pa
</message>
</context>
<context>
+ <name>Phonon::MMF::MediaObject</name>
+ <message>
+ <location filename="../src/3rdparty/phonon/mmf/mediaobject.cpp" line="+291"/>
+ <source>Media type could not be determined</source>
+ <translation>Der Typ des Mediums konnte nicht bestimmt werden</translation>
+ </message>
+</context>
+<context>
<name>Phonon::VolumeSlider</name>
<message>
<location filename="../src/3rdparty/phonon/phonon/volumeslider.cpp" line="+42"/>
@@ -903,8 +912,8 @@ nach
<context>
<name>QAbstractSocket</name>
<message>
- <location filename="../src/network/socket/qabstractsocket.cpp" line="+890"/>
- <location filename="../src/network/socket/qhttpsocketengine.cpp" line="+633"/>
+ <location filename="../src/network/socket/qabstractsocket.cpp" line="+899"/>
+ <location filename="../src/network/socket/qhttpsocketengine.cpp" line="+643"/>
<location filename="../src/network/socket/qsocks5socketengine.cpp" line="+661"/>
<location line="+26"/>
<source>Host not found</source>
@@ -923,8 +932,8 @@ nach
<translation>Das Zeitlimit für die Verbindung wurde überschritten</translation>
</message>
<message>
- <location line="-548"/>
- <location line="+789"/>
+ <location line="-555"/>
+ <location line="+805"/>
<location line="+208"/>
<source>Operation on socket is not supported</source>
<translation>Diese Socket-Operation wird nicht unterstützt</translation>
@@ -964,9 +973,17 @@ nach
</message>
</context>
<context>
+ <name>QAccessibleButton</name>
+ <message>
+ <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+250"/>
+ <source>Press</source>
+ <translation>Drücken</translation>
+ </message>
+</context>
+<context>
<name>QApplication</name>
<message>
- <location filename="../src/gui/kernel/qapplication.cpp" line="+2290"/>
+ <location filename="../src/gui/kernel/qapplication.cpp" line="+2279"/>
<source>QT_LAYOUT_DIRECTION</source>
<comment>Translate this string to the string &apos;LTR&apos; in left-to-right languages or to &apos;RTL&apos; in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout.</comment>
<translation>LTR</translation>
@@ -1018,7 +1035,7 @@ nach
<context>
<name>QCheckBox</name>
<message>
- <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+114"/>
+ <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="-136"/>
<source>Uncheck</source>
<translation>Löschen</translation>
</message>
@@ -1276,7 +1293,7 @@ nach
<message>
<location filename="../src/gui/dialogs/qmessagebox.cpp" line="+1872"/>
<location line="+464"/>
- <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+606"/>
+ <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+622"/>
<source>OK</source>
<translation>OK</translation>
</message>
@@ -1580,12 +1597,12 @@ nach
<translation>S&amp;peichern</translation>
</message>
<message>
- <location line="+1807"/>
+ <location line="+1801"/>
<source>Recent Places</source>
<translation>Zuletzt besucht</translation>
</message>
<message>
- <location line="-2517"/>
+ <location line="-2511"/>
<source>&amp;Rename</source>
<translation>&amp;Umbenennen</translation>
</message>
@@ -1793,7 +1810,6 @@ Möchten Sie die Datei trotzdem löschen?</translation>
</message>
<message>
<location line="+1"/>
- <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+1"/>
<source>%1 bytes</source>
<translation>%1 Byte</translation>
</message>
@@ -1844,60 +1860,65 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<source>Computer</source>
<translation>Computer</translation>
</message>
+ <message>
+ <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+1"/>
+ <source>%1 byte(s)</source>
+ <translation>%1 byte</translation>
+ </message>
</context>
<context>
<name>QFontDatabase</name>
<message>
<location filename="../src/gui/text/qfontdatabase.cpp" line="+102"/>
- <location line="+1335"/>
+ <location line="+1342"/>
<source>Normal</source>
<translation>Normal</translation>
</message>
<message>
- <location line="-1332"/>
+ <location line="-1339"/>
<location line="+12"/>
- <location line="+1308"/>
+ <location line="+1315"/>
<source>Bold</source>
<translation>Fett</translation>
</message>
<message>
- <location line="-1317"/>
- <location line="+1319"/>
+ <location line="-1324"/>
+ <location line="+1326"/>
<source>Demi Bold</source>
<translation>Halbfett</translation>
</message>
<message>
- <location line="-1316"/>
+ <location line="-1323"/>
<location line="+18"/>
- <location line="+1294"/>
+ <location line="+1301"/>
<source>Black</source>
<translation>Schwarz</translation>
</message>
<message>
- <location line="-1304"/>
+ <location line="-1311"/>
<source>Demi</source>
<translation>Semi</translation>
</message>
<message>
<location line="+6"/>
- <location line="+1304"/>
+ <location line="+1311"/>
<source>Light</source>
<translation>Leicht</translation>
</message>
<message>
- <location line="-1158"/>
- <location line="+1161"/>
+ <location line="-1165"/>
+ <location line="+1168"/>
<source>Italic</source>
<translation>Kursiv</translation>
</message>
<message>
- <location line="-1158"/>
- <location line="+1160"/>
+ <location line="-1165"/>
+ <location line="+1167"/>
<source>Oblique</source>
<translation>Schräggestellt</translation>
</message>
<message>
- <location line="+703"/>
+ <location line="+704"/>
<source>Any</source>
<translation>Alle</translation>
</message>
@@ -2061,6 +2082,11 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<source>Runic</source>
<translation>Runen</translation>
</message>
+ <message>
+ <location line="+3"/>
+ <source>N&apos;Ko</source>
+ <translation>N&apos;Ko</translation>
+ </message>
</context>
<context>
<name>QFontDialog</name>
@@ -2201,7 +2227,7 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/>
<source>Changing directory failed:
%1</source>
- <translation>Ändern des Verzeichnises schlug fehl:
+ <translation>Ändern des Verzeichnisses schlug fehl:
%1</translation>
</message>
<message>
@@ -2233,7 +2259,7 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/>
<source>Creating directory failed:
%1</source>
- <translation>Erstellen des Verzeichnises schlug fehl:
+ <translation>Erstellen des Verzeichnisses schlug fehl:
%1</translation>
</message>
<message>
@@ -2241,7 +2267,7 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/>
<source>Removing directory failed:
%1</source>
- <translation>Löschen des Verzeichnises schlug fehl:
+ <translation>Löschen des Verzeichnisses schlug fehl:
%1</translation>
</message>
<message>
@@ -2260,7 +2286,7 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<context>
<name>QHostInfo</name>
<message>
- <location filename="../src/network/kernel/qhostinfo_p.h" line="+183"/>
+ <location filename="../src/network/kernel/qhostinfo_p.h" line="+185"/>
<source>Unknown error</source>
<translation>Unbekannter Fehler</translation>
</message>
@@ -2304,13 +2330,13 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<context>
<name>QHttp</name>
<message>
- <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+569"/>
+ <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+578"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+1835"/>
<source>Connection refused</source>
<translation>Verbindung verweigert</translation>
</message>
<message>
- <location filename="../src/network/access/qhttp.cpp" line="+2634"/>
+ <location filename="../src/network/access/qhttp.cpp" line="+2639"/>
<location filename="../src/network/access/qhttpnetworkconnection.cpp" line="-4"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+3"/>
<source>Host %1 not found</source>
@@ -2388,7 +2414,7 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<translation>Der Server hat die Verbindung unerwartet geschlossen</translation>
</message>
<message>
- <location line="+151"/>
+ <location line="+172"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+113"/>
<source>Invalid HTTP response header</source>
<translation>Der Kopfteil der HTTP-Antwort ist ungültig</translation>
@@ -2447,7 +2473,7 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<translation>Es wurde ein unbekanntes Protokoll angegeben</translation>
</message>
<message>
- <location filename="../src/network/access/qhttp.cpp" line="-138"/>
+ <location filename="../src/network/access/qhttp.cpp" line="-159"/>
<source>Connection refused (or timed out)</source>
<translation>Verbindung verweigert oder Zeitlimit überschritten</translation>
</message>
@@ -2621,7 +2647,7 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<context>
<name>QIODevice</name>
<message>
- <location filename="../src/corelib/global/qglobal.cpp" line="+2058"/>
+ <location filename="../src/corelib/global/qglobal.cpp" line="+2072"/>
<source>Permission denied</source>
<translation>Zugriff verweigert</translation>
</message>
@@ -2705,7 +2731,7 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<translation>Operation unmap fehlgeschlagen für &apos;%1&apos;: %2</translation>
</message>
<message>
- <location line="+341"/>
+ <location line="+344"/>
<source>The plugin &apos;%1&apos; uses incompatible Qt library. (%2.%3.%4) [%5]</source>
<translation>Das Plugin &apos;%1&apos; verwendet eine inkompatible Qt-Bibliothek. (%2.%3.%4) [%5]</translation>
</message>
@@ -2739,13 +2765,13 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<location filename="../src/corelib/plugin/qlibrary_unix.cpp" line="+236"/>
<location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+87"/>
<source>Cannot load library %1: %2</source>
- <translation>Die Library %1 kann nicht geladen werden: %2</translation>
+ <translation>Die Bibliothek %1 kann nicht geladen werden: %2</translation>
</message>
<message>
<location line="+17"/>
<location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+22"/>
<source>Cannot unload library %1: %2</source>
- <translation>Die Library %1 kann nicht entladen werden: %2</translation>
+ <translation>Die Bibliothek %1 kann nicht entladen werden: %2</translation>
</message>
<message>
<location line="+34"/>
@@ -2757,7 +2783,7 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<context>
<name>QLineEdit</name>
<message>
- <location filename="../src/gui/widgets/qlineedit.cpp" line="+2012"/>
+ <location filename="../src/gui/widgets/qlineedit.cpp" line="+2035"/>
<source>Select All</source>
<translation>Alles auswählen</translation>
</message>
@@ -2796,7 +2822,7 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<name>QLocalServer</name>
<message>
<location filename="../src/network/socket/qlocalserver.cpp" line="+224"/>
- <location filename="../src/network/socket/qlocalserver_unix.cpp" line="+256"/>
+ <location filename="../src/network/socket/qlocalserver_unix.cpp" line="+246"/>
<source>%1: Name error</source>
<translation>%1: Fehlerhafter Name</translation>
</message>
@@ -3101,7 +3127,7 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<context>
<name>QMenuBar</name>
<message>
- <location filename="../src/gui/widgets/qmenu_symbian.cpp" line="+404"/>
+ <location filename="../src/gui/widgets/qmenu_symbian.cpp" line="+410"/>
<source>Actions</source>
<translation>Optionen</translation>
</message>
@@ -3183,7 +3209,7 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<message>
<location line="+3"/>
<source>Out of resources</source>
- <translation>Keine Resourcen verfügbar</translation>
+ <translation>Keine Ressourcen verfügbar</translation>
</message>
<message>
<location line="+3"/>
@@ -3320,27 +3346,30 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<context>
<name>QNetworkAccessFileBackend</name>
<message>
+ <location filename="../src/network/access/qfilenetworkreply.cpp" line="+83"/>
<location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+100"/>
<source>Request for opening non-local file %1</source>
<translation>Anforderung zum Öffnen einer Datei über Netzwerk %1</translation>
</message>
<message>
- <location line="+45"/>
+ <location line="+31"/>
+ <location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+45"/>
<source>Error opening %1: %2</source>
<translation>%1 konnte nicht geöffnet werden: %2</translation>
</message>
<message>
- <location line="+38"/>
+ <location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+38"/>
<source>Write error writing to %1: %2</source>
<translation>Fehler beim Schreiben zur Datei %1: %2</translation>
</message>
<message>
- <location line="+48"/>
+ <location filename="../src/network/access/qfilenetworkreply.cpp" line="-11"/>
+ <location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+48"/>
<source>Cannot open %1: Path is a directory</source>
<translation>%1 kann nicht geöffnet werden: Der Pfad spezifiziert ein Verzeichnis</translation>
</message>
<message>
- <location line="+21"/>
+ <location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+21"/>
<source>Read error reading from %1: %2</source>
<translation>Beim Lesen von der Datei %1 trat ein Fehler auf: %2</translation>
</message>
@@ -3406,7 +3435,7 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<context>
<name>QOCIDriver</name>
<message>
- <location filename="../src/sql/drivers/oci/qsql_oci.cpp" line="+2076"/>
+ <location filename="../src/sql/drivers/oci/qsql_oci.cpp" line="+2083"/>
<source>Unable to logon</source>
<translation>Logon-Vorgang fehlgeschlagen</translation>
</message>
@@ -3435,8 +3464,8 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<context>
<name>QOCIResult</name>
<message>
- <location line="-972"/>
- <location line="+161"/>
+ <location line="-979"/>
+ <location line="+168"/>
<location line="+15"/>
<source>Unable to bind column for batch execute</source>
<translation>Die Spalte konnte nicht für den Stapelverarbeitungs-Befehl gebunden werden</translation>
@@ -3599,7 +3628,7 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<context>
<name>QPPDOptionsModel</name>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+1198"/>
+ <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+1197"/>
<source>Name</source>
<translation>Name</translation>
</message>
@@ -3785,7 +3814,7 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<translation>Alias: %1</translation>
</message>
<message>
- <location line="+223"/>
+ <location line="+225"/>
<location line="+199"/>
<source>unknown</source>
<translation>unbekannt</translation>
@@ -3968,12 +3997,12 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<translation>Drucken</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="-357"/>
+ <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="-359"/>
<source>Print To File ...</source>
<translation>In Datei drucken ...</translation>
</message>
<message>
- <location line="+80"/>
+ <location line="+82"/>
<source>File %1 is not writable.
Please choose a different file name.</source>
<translation>Die Datei %1 ist schreibgeschützt.
@@ -4164,7 +4193,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Benutzerdefiniert</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="-524"/>
+ <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="-523"/>
<location line="+68"/>
<source>&amp;Options &gt;&gt;</source>
<translation>&amp;Einstellungen &gt;&gt;</translation>
@@ -4471,7 +4500,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QProcess</name>
<message>
- <location filename="../src/corelib/io/qprocess_unix.cpp" line="+402"/>
+ <location filename="../src/corelib/io/qprocess_unix.cpp" line="+406"/>
<location filename="../src/corelib/io/qprocess_win.cpp" line="+137"/>
<source>Could not open input redirection for reading</source>
<translation>Die Eingabeumleitung konnte nicht zum Lesen geöffnet werden</translation>
@@ -4488,7 +4517,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Ressourcenproblem (&quot;fork failure&quot;): %1</translation>
</message>
<message>
- <location line="+252"/>
+ <location line="+258"/>
<location line="+52"/>
<location line="+74"/>
<location line="+66"/>
@@ -4652,7 +4681,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QSQLiteDriver</name>
<message>
- <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+544"/>
+ <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+540"/>
<source>Error opening database</source>
<translation>Die Datenbankverbindung konnte nicht geöffnet werden</translation>
</message>
@@ -4680,8 +4709,8 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QSQLiteResult</name>
<message>
- <location line="-408"/>
- <location line="+66"/>
+ <location line="-404"/>
+ <location line="+62"/>
<location line="+8"/>
<source>Unable to fetch row</source>
<translation>Der Datensatz konnte nicht abgeholt werden</translation>
@@ -4707,7 +4736,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Die Anzahl der Parameter ist falsch</translation>
</message>
<message>
- <location line="-204"/>
+ <location line="-200"/>
<source>No query</source>
<translation>Kein Abfrage</translation>
</message>
@@ -5155,7 +5184,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
</message>
<message>
<location filename="../src/corelib/kernel/qsharedmemory_symbian.cpp" line="+83"/>
- <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+80"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+79"/>
<location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+87"/>
<source>%1: permission denied</source>
<translation>%1: Zugriff verweigert</translation>
@@ -5375,7 +5404,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Hilfe</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+5"/>
<source>Back</source>
<translation>Zurück</translation>
</message>
@@ -5570,6 +5599,451 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>(F) starten</translation>
</message>
<message>
+ <location line="+1"/>
+ <source>Monitor Brightness Up</source>
+ <translation>Monitor heller</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Monitor Brightness Down</source>
+ <translation>Monitor dunkler</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Keyboard Light On/Off</source>
+ <translation>Tastaturbeleuchtung Ein/Aus</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Keyboard Brightness Up</source>
+ <translation>Tastaturbeleuchtung heller</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Keyboard Brightness Down</source>
+ <translation>Tastaturbeleuchtung dunkler</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Power Off</source>
+ <translation>Ausschalten</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Wake Up</source>
+ <translation>Aufwecken</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Eject</source>
+ <translation>Auswerfen</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Screensaver</source>
+ <translation>Bildschirmschoner</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>WWW</source>
+ <translation>Internet</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Sleep</source>
+ <translation>Schlafmodus</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>LightBulb</source>
+ <translation>Beleuchtung</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Shop</source>
+ <translation>Shop</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>History</source>
+ <translation>Verlauf</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Add Favorite</source>
+ <translation>Lesezeichen hinzufügen</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hot Links</source>
+ <translation>Empfohlene Verweise</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Adjust Brightness</source>
+ <translation>Helligkeit einstellen</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Finance</source>
+ <translation>Finanzen</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Community</source>
+ <translation>Community</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Audio Rewind</source>
+ <translation>Audio rückspulen</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Back Forward</source>
+ <translation>Hinterstes nach vorn</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Application Left</source>
+ <translation>Anwendung links</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Application Right</source>
+ <translation>Anwendung rechts</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Book</source>
+ <translation>Buch</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>CD</source>
+ <translation>CD</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Calculator</source>
+ <translation>Rechner</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Clear</source>
+ <translation>Löschen</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Clear Grab</source>
+ <translation>Zugriff löschen</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Close</source>
+ <translation>Schließen</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Copy</source>
+ <translation>Kopieren</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Cut</source>
+ <translation>Ausschneiden</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Display</source>
+ <translation>Anzeigen</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>DOS</source>
+ <translation>DOS</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Documents</source>
+ <translation>Dokumente</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Spreadsheet</source>
+ <translation>Spreadsheet</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Browser</source>
+ <translation>Browser</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Game</source>
+ <translation>Spiel</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Go</source>
+ <translation>Los</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>iTouch</source>
+ <translation>iTouch</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Logoff</source>
+ <translation>Logoff</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Market</source>
+ <translation>Markt</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Meeting</source>
+ <translation>Versammlung</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Keyboard Menu</source>
+ <translation>Tastaturmenü</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Menu PB</source>
+ <translation>Menü PB</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>My Sites</source>
+ <translation>Meine Orte</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>News</source>
+ <translation>Nachrichten</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Home Office</source>
+ <translation>Home Office</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Option</source>
+ <translation>Option</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Paste</source>
+ <translation>Einfügen</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Phone</source>
+ <translation>Telefon</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Reply</source>
+ <translation>Antworten</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Reload</source>
+ <translation>Neu laden</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Rotate Windows</source>
+ <translation>Fenster rotieren</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Rotation PB</source>
+ <translation>Rotation PB</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Rotation KB</source>
+ <translation>Rotation KB</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Save</source>
+ <translation>Speichern</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Send</source>
+ <translation>Senden</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Spellchecker</source>
+ <translation>Rechtschreibprüfung</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Split Screen</source>
+ <translation>Bildschirm teilen</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Support</source>
+ <translation>Hilfe</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Task Panel</source>
+ <translation>Task-Leiste</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Terminal</source>
+ <translation>Terminal</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Tools</source>
+ <translation>Werkzeuge</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Travel</source>
+ <translation>Reise</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Video</source>
+ <translation>Video</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Word Processor</source>
+ <translation>Textverarbeitung</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>XFer</source>
+ <translation>XFer</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Zoom In</source>
+ <translation>Vergrößern</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Zoom Out</source>
+ <translation>Verkleinern</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Away</source>
+ <translation>Abwesend</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Messenger</source>
+ <translation>Messenger</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>WebCam</source>
+ <translation>WebCam</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Mail Forward</source>
+ <translation>Weiterleitung</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Pictures</source>
+ <translation>Bilder</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Music</source>
+ <translation>Musik</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Battery</source>
+ <translation>Batterie</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Bluetooth</source>
+ <translation>Bluetooth</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Wireless</source>
+ <translation>Drahtlos</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Ultra Wide Band</source>
+ <translation>Ultra Wide Band</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Audio Forward</source>
+ <translation>Audio vorspulen</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Audio Repeat</source>
+ <translation>Audio wiederholen</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Audio Random Play</source>
+ <translation>Audio zufällige Auswahl spielen</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Subtitle</source>
+ <translation>Untertitel</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Audio Cycle Track</source>
+ <translation>Audiospur wechseln</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Time</source>
+ <translation>Zeit</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>View</source>
+ <translation>Ansicht</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Top Menu</source>
+ <translation>Hauptmenü</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Suspend</source>
+ <translation>Pause</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hibernate</source>
+ <translation>Hibernate</translation>
+ </message>
+ <message>
<location line="+4"/>
<source>Print Screen</source>
<translation>Bildschirm drucken</translation>
@@ -5625,7 +6099,8 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>System Request</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="-18"/>
+ <location line="+22"/>
<source>Select</source>
<translation>Auswählen</translation>
</message>
@@ -5675,7 +6150,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Umdrehen</translation>
</message>
<message>
- <location line="+561"/>
+ <location line="+573"/>
<location line="+135"/>
<source>Ctrl</source>
<translation>Strg</translation>
@@ -5709,7 +6184,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>F%1</translation>
</message>
<message>
- <location line="-767"/>
+ <location line="-869"/>
<source>Home Page</source>
<translation>Startseite</translation>
</message>
@@ -5810,7 +6285,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Unbekannten Fehlercode vom SOCKSv5-Proxy-Server erhalten: 0x%1</translation>
</message>
<message>
- <location line="+685"/>
+ <location line="+689"/>
<source>Network operation timed out</source>
<translation>Das Zeitlimit für die Operation wurde überschritten</translation>
</message>
@@ -5818,7 +6293,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QSoftKeyManager</name>
<message>
- <location filename="../src/gui/kernel/qsoftkeymanager.cpp" line="+78"/>
+ <location filename="../src/gui/kernel/qsoftkeymanager.cpp" line="+79"/>
<source>Ok</source>
<translation>Ok</translation>
</message>
@@ -5843,7 +6318,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Abbrechen</translation>
</message>
<message>
- <location line="+151"/>
+ <location line="+172"/>
<source>Exit</source>
<translation>Beenden</translation>
</message>
@@ -5946,7 +6421,12 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Ungültige oder leere Schlüsselliste (%1)</translation>
</message>
<message>
- <location line="+62"/>
+ <location line="+42"/>
+ <source>Private key does not certify public key, %1</source>
+ <translation>Der private Schlüssel passt nicht zum öffentlichen Schlüssel, %1</translation>
+ </message>
+ <message>
+ <location line="+20"/>
<source>Error creating SSL session, %1</source>
<translation>Es konnte keine SSL-Sitzung erzeugt werden, %1</translation>
</message>
@@ -5971,15 +6451,125 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Der private Schlüssel konnte nicht geladen werden, %1</translation>
</message>
<message>
- <location line="+7"/>
- <source>Private key does not certificate public key, %1</source>
- <translation>Die Zertifizierung des öffentlichen Schlüssels durch den privaten Schlüssel schlug fehl, %1</translation>
+ <location filename="../src/network/ssl/qsslerror.cpp" line="+213"/>
+ <source>No error</source>
+ <translation>Kein Fehler</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>The issuer certificate could not be found</source>
+ <translation>Das Zertifikat des Ausstellers konnte nicht gefunden werden</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>The certificate signature could not be decrypted</source>
+ <translation>Die Signatur des Zertifikats konnte nicht entschlüsselt werden</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>The public key in the certificate could not be read</source>
+ <translation>Der öffentliche Schlüssel konnte nicht gelesen werden</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>The signature of the certificate is invalid</source>
+ <translation>Die Signatur des Zertifikats ist ungültig</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>The certificate is not yet valid</source>
+ <translation>Das Zertifikat ist noch nicht gültig</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>The certificate has expired</source>
+ <translation>Die Gültigkeit des Zertifikats ist abgelaufen</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>The certificate&apos;s notBefore field contains an invalid time</source>
+ <translation>Das Feld &apos;notBefore&apos; des Zertifikats enthält eine ungültige Zeit</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>The certificate&apos;s notAfter field contains an invalid time</source>
+ <translation>Das Feld &apos;notAfter&apos; des Zertifikats enthält eine ungültige Zeit</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>The certificate is self-signed, and untrusted</source>
+ <translation>Das Zertifikat ist selbstsigniert und daher nicht vertrauenswürdig</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>The root certificate of the certificate chain is self-signed, and untrusted</source>
+ <translation>Das oberste Zertifikat der Kette ist selbstsigniert und daher nicht vertrauenswürdig</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>The issuer certificate of a locally looked up certificate could not be found</source>
+ <translation>Das Zertifikat des Ausstellers eines lokal gefundenen Zertifikats konnte nicht gefunden werden</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>No certificates could be verified</source>
+ <translation>Keines der Zertifikate konnte verifiziert werden</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>One of the CA certificates is invalid</source>
+ <translation>Eines der Zertifikate der Zertifizierungsstelle ist ungültig</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>The basicConstraints path length parameter has been exceeded</source>
+ <translation>Die Länge des basicConstraints-Pfades wurde überschritten</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>The supplied certificate is unsuitable for this purpose</source>
+ <translation>Das angegebene Zertifikat kann in diesem Fall nicht verwendet werden</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>The root CA certificate is not trusted for this purpose</source>
+ <translation>Das oberste Zertifikat der Zertifizierungsstelle ist für diesen Fall nicht vertrauenswürdig</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>The root CA certificate is marked to reject the specified purpose</source>
+ <translation>Das oberste Zertifikat der Zertifizierungsstelle weist diesen Fall auf Grund einer speziellen Kennzeichnung zurück</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>The current candidate issuer certificate was rejected because its subject name did not match the issuer name of the current certificate</source>
+ <translation>Das Zertifikat des betrachteten Ausstellers wurde zurückgewiesen da sein Subjektname nicht dem Namen des Austellers des aktuellen Zertifikats entspricht</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>The current candidate issuer certificate was rejected because its issuer name and serial number was present and did not match the authority key identifier of the current certificate</source>
+ <translation>Das Zertifikat des betrachteten Ausstellers wurde zurückgewiesen da Ausstellername und Seriennummer vorhanden sind und nicht dem Bezeichner der Zertifizierungsstelle des aktuellen Zertifikats entsprechen</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>The peer did not present any certificate</source>
+ <translation>Die Gegenstelle hat kein Zertifikat angegeben</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>The host name did not match any of the valid hosts for this certificate</source>
+ <translation>Der Name des Hosts ist keiner aus der Liste der für dieses Zertifikat gültigen Hosts</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Unknown error</source>
+ <translation>Unbekannter Fehler</translation>
</message>
</context>
<context>
<name>QStateMachine</name>
<message>
- <location filename="../src/corelib/statemachine/qstatemachine.cpp" line="+998"/>
+ <location filename="../src/corelib/statemachine/qstatemachine.cpp" line="+1028"/>
<source>Missing initial state in compound state &apos;%1&apos;</source>
<translation>Der Anfangszustand des zusammengesetzten Zustands &apos;%1&apos; fehlt</translation>
</message>
@@ -6033,7 +6623,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QTDSDriver</name>
<message>
- <location filename="../src/sql/drivers/tds/qsql_tds.cpp" line="+584"/>
+ <location filename="../src/sql/drivers/tds/qsql_tds.cpp" line="+595"/>
<source>Unable to open connection</source>
<translation>Die Datenbankverbindung kann nicht geöffnet werden</translation>
</message>
@@ -6067,7 +6657,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QTextControl</name>
<message>
- <location filename="../src/gui/text/qtextcontrol.cpp" line="+2007"/>
+ <location filename="../src/gui/text/qtextcontrol.cpp" line="+2024"/>
<source>&amp;Undo</source>
<translation>&amp;Rückgängig</translation>
</message>
@@ -6110,7 +6700,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QToolButton</name>
<message>
- <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+254"/>
+ <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+310"/>
<location line="+6"/>
<source>Press</source>
<translation>Drücken</translation>
@@ -6167,7 +6757,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QUnicodeControlCharacterMenu</name>
<message>
- <location filename="../src/gui/text/qtextcontrol.cpp" line="+884"/>
+ <location filename="../src/gui/text/qtextcontrol.cpp" line="+899"/>
<source>LRM Left-to-right mark</source>
<translation>LRM Left-to-right mark</translation>
</message>
@@ -6225,7 +6815,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QWebFrame</name>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp" line="+704"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp" line="+712"/>
<source>Request cancelled</source>
<translation>Anfrage wurde abgebrochen</translation>
</message>
@@ -6258,7 +6848,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QWebPage</name>
<message>
- <location filename="../src/3rdparty/webkit/WebCore/platform/qt/Localizations.cpp" line="+41"/>
+ <location filename="../src/3rdparty/webkit/WebCore/platform/qt/Localizations.cpp" line="+42"/>
<source>Submit</source>
<comment>default label for Submit buttons in forms on web pages</comment>
<translation>Senden</translation>
@@ -6276,7 +6866,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Rücksetzen</translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+16"/>
<source>Choose File</source>
<comment>title for file button used in HTML forms</comment>
<translation>Durchsuchen</translation>
@@ -6774,7 +7364,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Unbekannt</translation>
</message>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp" line="+170"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp" line="+167"/>
<source>Web Inspector - %2</source>
<translation>Web Inspector - %2</translation>
</message>
@@ -6785,7 +7375,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>%1 (%2x%3 Pixel)</translation>
</message>
<message>
- <location filename="../src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp" line="+416"/>
+ <location filename="../src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp" line="+412"/>
<source>Bad HTTP request</source>
<translation>Ungültige HTTP-Anforderung</translation>
</message>
@@ -6870,7 +7460,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
</translation>
</message>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+1727"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+1822"/>
<source>JavaScript Alert - %1</source>
<translation>JavaScript-Hinweis - %1</translation>
</message>
@@ -6895,7 +7485,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Das Skript dieser Webseite ist fehlerhaft. Möchten Sie es anhalten?</translation>
</message>
<message>
- <location line="+383"/>
+ <location line="+381"/>
<source>Move the cursor to the next character</source>
<translation>Positionsmarke auf folgendes Zeichen setzen</translation>
</message>
@@ -6972,7 +7562,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<message>
<location line="+3"/>
<source>Select to the next word</source>
- <translation>Bis zum nachsten Wort markieren</translation>
+ <translation>Bis zum nächsten Wort markieren</translation>
</message>
<message>
<location line="+3"/>
@@ -7116,7 +7706,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QWidget</name>
<message>
- <location filename="../src/gui/kernel/qwidget.cpp" line="+5666"/>
+ <location filename="../src/gui/kernel/qwidget.cpp" line="+5720"/>
<source>*</source>
<translation>*</translation>
</message>
@@ -7648,7 +8238,12 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>%1 ist ein unbekannter Schema-Typ.</translation>
</message>
<message>
- <location line="-7041"/>
+ <location line="-7254"/>
+ <source>A template with name %1 has already been declared.</source>
+ <translation>Eine Vorlage des Namens %1 existiert bereits.</translation>
+ </message>
+ <message>
+ <location line="+213"/>
<source>Only one %1 declaration can occur in the query prolog.</source>
<translation>Der Anfrage-Prolog darf nur eine %1-Deklaration enthalten.</translation>
</message>
@@ -7703,12 +8298,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Modul-Import wird nicht unterstützt</translation>
</message>
<message>
- <location line="+52"/>
- <source>No value is available for the external variable by name %1.</source>
- <translation>Für die externe Variable des Namens %1 ist kein Wert verfügbar.</translation>
- </message>
- <message>
- <location line="+126"/>
+ <location line="+178"/>
<source>The namespace of a user defined function in a library module must be equivalent to the module namespace. In other words, it should be %1 instead of %2</source>
<translation>Der Namensraum einer nutzerdefinierten Funktion aus einem Bibliotheksmodul muss dem Namensraum des Moduls entsprechen (%1 anstatt %2) </translation>
</message>
@@ -7723,27 +8313,12 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Externe Funktionen werden nicht unterstützt. Alle unterstützten Funktionen können direkt verwendet werden, ohne sie als extern zu deklarieren</translation>
</message>
<message>
- <location line="+37"/>
- <source>An argument by name %1 has already been declared. Every argument name must be unique.</source>
- <translation>Es existiert bereits ein Argument mit dem Namen %1. Die Namen der Argumente müssen eindeutig sein.</translation>
- </message>
- <message>
- <location line="+1672"/>
+ <location line="+1709"/>
<source>The %1-axis is unsupported in XQuery</source>
<translation>Die %1-Achse wird in XQuery nicht unterstützt</translation>
</message>
<message>
- <location line="-5464"/>
- <source>No variable by name %1 exists</source>
- <translation>Es existiert keine Variable mit dem Namen %1</translation>
- </message>
- <message>
- <location line="+5797"/>
- <source>No function by name %1 is available.</source>
- <translation>Es existiert keine Funktion mit dem Namen %1.</translation>
- </message>
- <message>
- <location line="+102"/>
+ <location line="+435"/>
<source>The namespace URI cannot be the empty string when binding to a prefix, %1.</source>
<translation>Der Namensraum-URI darf nicht leer sein, wenn er an den Präfix %1 gebunden ist.</translation>
</message>
@@ -7760,7 +8335,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<message>
<location line="+30"/>
<source>Two namespace declaration attributes have the same name: %1.</source>
- <translation>Es wurden zwei Namenraum-Deklarationsattribute gleichen Namens (%1) gefunden.</translation>
+ <translation>Es wurden zwei Namensraum-Deklarationsattribute gleichen Namens (%1) gefunden.</translation>
</message>
<message>
<location line="+89"/>
@@ -7768,12 +8343,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Ein Namensraum-URI muss eine Konstante sein und darf keine eingebetteten Ausdrücke verwenden.</translation>
</message>
<message>
- <location line="+16"/>
- <source>An attribute by name %1 has already appeared on this element.</source>
- <translation>Das Element hat bereits ein Attribut mit dem Namen %1.</translation>
- </message>
- <message>
- <location line="+683"/>
+ <location line="+699"/>
<location line="+71"/>
<source>%1 is not in the in-scope attribute declarations. Note that the schema import feature is not supported.</source>
<translation>%1 befindet sich nicht unter den Attributdeklarationen im Bereich. Schema-Import wird nicht unterstützt.</translation>
@@ -7975,7 +8545,12 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Ein positionales Prädikat muss sich als einfacher, numerischer Wert auswerten lassen.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qncnameconstructor_p.h" line="+137"/>
+ <location filename="../src/xmlpatterns/expr/qncnameconstructor_p.h" line="+113"/>
+ <source>The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, %2 is invalid.</source>
+ <translation>Der Zielname einer Processing-Anweisung kann nicht %1 (unabhängig von Groß/Kleinschreibung sein). %2 ist daher ungültig.</translation>
+ </message>
+ <message>
+ <location line="+24"/>
<source>%1 is not a valid target name in a processing instruction. It must be a %2 value, e.g. %3.</source>
<translation>%1 ist kein gültiger Zielname einer Processing-Anweisung, es muss ein %2 Wert wie zum Beispiel %3 sein.</translation>
</message>
@@ -8065,17 +8640,32 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Das Schlüsselwort %1 kann nicht mit einem anderen Modusnamen zusammen verwendet werden.</translation>
</message>
<message>
- <location line="+29"/>
- <source>The value of attribute %1 must of type %2, which %3 isn&apos;t.</source>
- <translation>Der Wert des Attributs %1 muss vom Typ %2 sein. %3 ist kein gültiger Wert.</translation>
+ <location line="-3117"/>
+ <source>No variable with name %1 exists</source>
+ <translation>Es existiert keine Variable des Namens %1</translation>
</message>
<message>
- <location line="+387"/>
- <source>A variable by name %1 has already been declared.</source>
- <translation>Es wurde bereits eine Variable mit dem Namen %1 deklariert.</translation>
+ <location line="+3146"/>
+ <source>The value of attribute %1 must be of type %2, which %3 isn&apos;t.</source>
+ <translation>Der Wert des Attributs %1 muss vom Typ %2 sein, was bei %3 nicht der Fall ist.</translation>
</message>
<message>
- <location line="+135"/>
+ <location line="+75"/>
+ <source>The prefix %1 cannot be bound. By default, it is already bound to the namespace %2.</source>
+ <translation>Der Präfix %1 kann nicht gebunden werden. Er ist bereits per Vorgabe an den Namensraum %2 gebunden.</translation>
+ </message>
+ <message>
+ <location line="+312"/>
+ <source>A variable with name %1 has already been declared.</source>
+ <translation>Eine Variable des Namens %1 wurde bereits deklariert.</translation>
+ </message>
+ <message>
+ <location line="+39"/>
+ <source>No value is available for the external variable with name %1.</source>
+ <translation>Es ist kein Wert für die externe Variable des Namens %1 verfügbar.</translation>
+ </message>
+ <message>
+ <location line="+96"/>
<source>A stylesheet function must have a prefixed name.</source>
<translation>Der Name einer Stylesheet-Funktion muss einen Präfix haben.</translation>
</message>
@@ -8085,14 +8675,19 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Der Namensraum %1 ist reserviert und kann daher von nutzerdefinierten Funktionen nicht verwendet werden (für diesen Zweck gibt es den vordefinierten Präfix %2).</translation>
</message>
<message>
- <location line="+285"/>
+ <location line="+106"/>
+ <source>An argument with name %1 has already been declared. Every argument name must be unique.</source>
+ <translation>Es wurde bereits ein Argument des Namens %1 deklariert. Argumentnamen müssen eindeutig sein.</translation>
+ </message>
+ <message>
+ <location line="+179"/>
<source>When function %1 is used for matching inside a pattern, the argument must be a variable reference or a string literal.</source>
- <translation>Bei der Verwendung der Funktion %1 zur Auswertung innerhalb eines Suchmusters muss das Argument eine Variablenreferenz oder ein String-Literal sein.</translation>
+ <translation>Bei der Verwendung der Funktion %1 zur Auswertung innerhalb eines Suchmusters muss das Argument eine Variablenreferenz oder ein Zeichenketten-Literal sein.</translation>
</message>
<message>
<location line="+11"/>
<source>In an XSL-T pattern, the first argument to function %1 must be a string literal, when used for matching.</source>
- <translation>Bei einem XSL-T-Suchmuster muss das erste Argument zur Funktion %1 bei der Verwendung zur Suche ein String-Literal sein.</translation>
+ <translation>Bei einem XSL-T-Suchmuster muss das erste Argument zur Funktion %1 bei der Verwendung zur Suche ein Zeichenketten-Literal sein.</translation>
</message>
<message>
<location line="+14"/>
@@ -8140,7 +8735,12 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Die Namen von Vorlagenparametern müssen eindeutig sein, %1 existiert bereits.</translation>
</message>
<message>
- <location line="-5773"/>
+ <location line="+462"/>
+ <source>No function with name %1 is available.</source>
+ <translation>Es ist keine Funktion des Namens %1 verfügbar.</translation>
+ </message>
+ <message>
+ <location line="-6235"/>
<source>%1 is not a valid numeric literal.</source>
<translation>%1 ist kein gültiger numerischer Literal.</translation>
</message>
@@ -8160,12 +8760,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Es wurde ein Sprachkonstrukt angetroffen, was in der aktuellen Sprache (%1) nicht erlaubt ist.</translation>
</message>
<message>
- <location line="+3804"/>
- <source>The prefix %1 can not be bound. By default, it is already bound to the namespace %2.</source>
- <translation>Der Präfix %1 kann nicht gebunden werden. Er ist bereits durch Vorgabe an den Namensraum %2 gebunden.</translation>
- </message>
- <message>
- <location line="+2698"/>
+ <location line="+6502"/>
<source>Namespace %1 can only be bound to %2 (and it is, in either case, pre-declared).</source>
<translation>Der Namensraum %1 kann nur an %2 gebunden werden. Dies ist bereits vordeklariert.</translation>
</message>
@@ -8175,7 +8770,12 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Der Präfix %1 kann nur an %2 gebunden werden. Dies ist bereits vordeklariert.</translation>
</message>
<message>
- <location line="+181"/>
+ <location line="+120"/>
+ <source>An attribute with name %1 has already appeared on this element.</source>
+ <translation>Das Element hat bereits ein Attribut des Namens %1.</translation>
+ </message>
+ <message>
+ <location line="+61"/>
<source>A direct element constructor is not well-formed. %1 is ended with %2.</source>
<translation>Es wurde ein fehlerhafter direkter Element-Konstruktor gefunden. %1 endet mit %2.</translation>
</message>
@@ -8197,7 +8797,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<message>
<location line="+76"/>
<source>%1 is not a valid name for a processing-instruction.</source>
- <translation>%1 ist kein gültiger Name für eine Prozessing-Instruktion.</translation>
+ <translation>%1 ist kein gültiger Name für eine Processing-Instruktion.</translation>
</message>
<message>
<location line="+188"/>
@@ -8239,11 +8839,6 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<source>Modulus division (%1) by zero (%2) is undefined.</source>
<translation>Die Modulo-Division (%1) durch Null (%2) ist nicht definiert.</translation>
</message>
- <message>
- <location filename="../src/xmlpatterns/expr/qncnameconstructor_p.h" line="-24"/>
- <source>The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, is %2 invalid.</source>
- <translation>%2 ist kein gültiger Zielname einer Processing-Anweisung, da dieser nicht %1 sein darf (ungeachtet der Groß/Kleinschreibung).</translation>
- </message>
<message numerus="yes">
<location filename="../src/xmlpatterns/functions/qabstractfunctionfactory.cpp" line="+77"/>
<source>%1 takes at most %n argument(s). %2 is therefore invalid.</source>
@@ -8277,19 +8872,14 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Die Deklaration des Default-Namensraums muss vor Funktions-, Variablen- oder Optionsdeklaration erfolgen.</translation>
</message>
<message>
- <location line="-3458"/>
- <source>A template by name %1 has already been declared.</source>
- <translation>Es existiert bereits eine Vorlage des Namens %1.</translation>
- </message>
- <message>
- <location line="+3468"/>
+ <location line="+10"/>
<source>Namespace declarations must occur before function, variable, and option declarations.</source>
<translation>Namensraums-Deklarationen müssen vor Funktions- Variablen- oder Optionsdeklarationen stehen.</translation>
</message>
<message>
<location line="+11"/>
<source>Module imports must occur before function, variable, and option declarations.</source>
- <translation>Modul-Importe müssen vor Funktions- Variablen- oder Optionsdeklarationen stehen.</translation>
+ <translation>Modul-Importe müssen vor Funktions-, Variablen- oder Optionsdeklarationen stehen.</translation>
</message>
<message>
<location filename="../src/xmlpatterns/functions/qtimezonefns.cpp" line="+12"/>
@@ -8429,7 +9019,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<message>
<location line="+31"/>
<source>At least one %1-element must occur inside %2.</source>
- <translation>In %2 muss mindenstens ein %1-Element stehen.</translation>
+ <translation>In %2 muss mindestens ein %1-Element stehen.</translation>
</message>
<message>
<location line="+58"/>
@@ -8887,7 +9477,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<message>
<location line="+18"/>
<source>processContent of base wildcard must be weaker than derived wildcard.</source>
- <translation>Das &apos;processContent&apos;-Attribut des Basisuchmusters muss schwächer sein als das des abgeleiteten Suchmusters.</translation>
+ <translation>Das &apos;processContent&apos;-Attribut des Basissuchmusters muss schwächer sein als das des abgeleiteten Suchmusters.</translation>
</message>
<message>
<location line="+39"/>
@@ -8918,7 +9508,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
</message>
<message>
<location line="+5"/>
- <source>Derived attribute %1 does not exists in the base definition.</source>
+ <source>Derived attribute %1 does not exist in the base definition.</source>
<translation>Das abgeleitete Attribut %1 existiert in der Basisdefinition nicht.</translation>
</message>
<message>
@@ -9011,7 +9601,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<message>
<location line="+279"/>
<source>Content model of complex type %1 contains %2 element so it cannot be derived by extension from a non-empty type.</source>
- <translation>Das Inhaltsmodell des komplexen Typs %1enthält ein Element &apos;%2&apos;; es kann daher nicht durch Erweiterung von einem nichtleeren Typ abgeleitet werden.</translation>
+ <translation>Das Inhaltsmodell des komplexen Typs %1enthält ein Element &apos;%2&apos;; es kann daher nicht durch Erweiterung von einem Typ abgeleitet werden, der nicht leer ist.</translation>
</message>
<message>
<location line="+6"/>
@@ -9116,7 +9706,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<message>
<location filename="../src/xmlpatterns/schema/qxsdparticlechecker.cpp" line="+165"/>
<source>Empty particle cannot be derived from non-empty particle.</source>
- <translation>Von einem nichtleeren Partikel kann kein leerer Partikel abgeleitet werden.</translation>
+ <translation>Es kann kein leerer Partikel von einem Partikel abgeleitet werden, der nicht leer ist.</translation>
</message>
<message>
<location line="+15"/>
@@ -9370,8 +9960,8 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
</message>
<message>
<location line="+131"/>
- <source>Component with id %1 has been defined previously.</source>
- <translation>Die Komponente mit der Id %1 ist bereits definiert.</translation>
+ <source>Component with ID %1 has been defined previously.</source>
+ <translation>Es wurde bereits eine Komponente mit der ID %1 definiert.</translation>
</message>
<message>
<location line="+17"/>
@@ -9775,7 +10365,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<message>
<location line="+8"/>
<source>Attribute %1 contains invalid data: %2</source>
- <translation>Das Attribut %1 enthält ungültigeDaten: %2</translation>
+ <translation>Das Attribut %1 enthält ungültige Daten: %2</translation>
</message>
<message>
<location line="+8"/>
@@ -9784,11 +10374,16 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
</message>
<message>
<location line="+6"/>
- <source>Fixed value constrained not allowed if element is nillable.</source>
- <translation>Eine feste Einschränkung des Werts ist nicht zulässig, wenn das Element &apos;nillable&apos; spezifiert.</translation>
+ <source>Fixed value constraint not allowed if element is nillable.</source>
+ <translation>Eine Beschränkung auf einen festen Wert ist nicht zulässig, wenn das Element &apos;nillable&apos; spezifiziert.</translation>
</message>
<message>
- <location line="+32"/>
+ <location line="+230"/>
+ <source>Element %1 cannot contain other elements, as it has a fixed content.</source>
+ <translation>Das Element %1 kann keine anderen Element enthalten, da sein Inhalt festgelegt ist.</translation>
+ </message>
+ <message>
+ <location line="-198"/>
<source>Specified type %1 is not validly substitutable with element type %2.</source>
<translation>Der angebenene Typ %1 kann nicht durch den Elementtyp %2 substituiert werden.</translation>
</message>
@@ -9832,12 +10427,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Das Element %1 enthält unzulässigen Textinhalt.</translation>
</message>
<message>
- <location line="+18"/>
- <source>Element %1 can not contain other elements, as it has a fixed content.</source>
- <translation>Das Element %1 darf kann keine Unterelemente haben, da es festen Inhalt enthält.</translation>
- </message>
- <message>
- <location line="+43"/>
+ <location line="+61"/>
<source>Element %1 is missing required attribute %2.</source>
<translation>Bei dem Element %1 fehlt ein erforderliches Attribut %2.</translation>
</message>
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/qt_help_de.ts b/translations/qt_help_de.ts
index b1b7c76..f64e741 100644
--- a/translations/qt_help_de.ts
+++ b/translations/qt_help_de.ts
@@ -33,32 +33,52 @@
<name>QHelpCollectionHandler</name>
<message>
<location filename="../tools/assistant/lib/qhelpcollectionhandler.cpp" line="+79"/>
- <source>The collection file is not set up yet!</source>
- <translation>Die Katalogdatei ist noch nicht eingerichtet.</translation>
+ <source>The collection file &apos;%1&apos; is not set up yet!</source>
+ <translation>Die Katalogdatei &apos;%1&apos; ist noch nicht eingerichtet.</translation>
</message>
<message>
- <location line="+22"/>
+ <location line="+23"/>
<source>Cannot load sqlite database driver!</source>
<translation>Der Datenbanktreiber für SQLite kann nicht geladen werden.</translation>
</message>
<message>
<location line="+11"/>
- <location line="+48"/>
+ <location line="+49"/>
<source>Cannot open collection file: %1</source>
<translation>Katalogdatei kann nicht geöffnet werden: %1</translation>
</message>
<message>
- <location line="-39"/>
+ <location line="-40"/>
<source>Cannot create tables in file %1!</source>
<translation>In Datei %1 können keine Tabellen angelegt werden.</translation>
</message>
<message>
<location line="+16"/>
- <source>The specified collection file already exists!</source>
- <translation>Die angegebene Katalogdatei existiert bereits.</translation>
+ <source>The collection file &apos;%1&apos; already exists!</source>
+ <translation>Die Katalogdatei &apos;%1&apos; existiert bereits.</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+148"/>
+ <source>Unknown filter &apos;%1&apos;!</source>
+ <translation>Unbekannter Filter &apos;%1&apos;.</translation>
+ </message>
+ <message>
+ <location line="+105"/>
+ <source>Invalid documentation file &apos;%1&apos;!</source>
+ <translation>Ungültige Dokumentationsdatei &apos;%1&apos;.</translation>
+ </message>
+ <message>
+ <location line="+167"/>
+ <source>Cannot register namespace &apos;%1&apos;!</source>
+ <translation>Der Namensraum &apos;%1&apos; kann nicht registriert werden.</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Cannot open database &apos;%1&apos; to optimize!</source>
+ <translation>Die Datenbank &apos;%1&apos; kann nicht zur Optimierung geöffnet werden.</translation>
+ </message>
+ <message>
+ <location line="-438"/>
<source>Cannot create directory: %1</source>
<translation>Das Verzeichnis kann nicht angelegt werden: %1</translation>
</message>
@@ -68,12 +88,7 @@
<translation>Die Katalogdatei kann nicht kopiert werden: %1</translation>
</message>
<message>
- <location line="+119"/>
- <source>Unknown filter!</source>
- <translation>Unbekannter Filter.</translation>
- </message>
- <message>
- <location line="+55"/>
+ <location line="+174"/>
<source>Cannot register filter %1!</source>
<translation>Der Filter kann nicht registriert werden: %1</translation>
</message>
@@ -83,12 +98,7 @@
<translation>Die Dokumentationsdatei kann nicht geöffnet werden: %1</translation>
</message>
<message>
- <location line="+6"/>
- <source>Invalid documentation file!</source>
- <translation>Ungültige Dokumentationsdatei.</translation>
- </message>
- <message>
- <location line="+34"/>
+ <location line="+40"/>
<source>The namespace %1 was not registered!</source>
<translation>Der Namensraum %1 wurde nicht registriert.</translation>
</message>
@@ -97,16 +107,6 @@
<source>Namespace %1 already exists!</source>
<translation>Der Namensraum %1 existiert bereits.</translation>
</message>
- <message>
- <location line="+13"/>
- <source>Cannot register namespace!</source>
- <translation>Der Namensraum kann nicht registriert werden.</translation>
- </message>
- <message>
- <location line="+24"/>
- <source>Cannot open database to optimize!</source>
- <translation>Die Datenbank kann nicht zur Optimierung geöffnet werden.</translation>
- </message>
</context>
<context>
<name>QHelpDBReader</name>
@@ -120,7 +120,7 @@
<context>
<name>QHelpEngineCore</name>
<message>
- <location filename="../tools/assistant/lib/qhelpenginecore.cpp" line="+524"/>
+ <location filename="../tools/assistant/lib/qhelpenginecore.cpp" line="+523"/>
<source>The specified namespace does not exist!</source>
<translation>Der angegebene Namensraum existiert nicht.</translation>
</message>
@@ -128,7 +128,7 @@
<context>
<name>QHelpEngineCorePrivate</name>
<message>
- <location line="-402"/>
+ <location line="-401"/>
<source>Cannot open documentation file %1: %2!</source>
<translation>Die Dokumentationsdatei %1 kann nicht geöffnet werden: %2.</translation>
</message>
@@ -318,11 +318,6 @@
<context>
<name>QObject</name>
<message>
- <location filename="../tools/assistant/lib/qhelp_global.h" line="+83"/>
- <source>Untitled</source>
- <translation>Ohne Titel</translation>
- </message>
- <message>
<location filename="../tools/assistant/lib/qhelpprojectdata.cpp" line="+85"/>
<source>Unknown token.</source>
<translation>Unbekanntes Token.</translation>
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